yamicha.com's Blog - Presented by yamicha.com
Blog yamicha.com's Blog - 2017/09 の記事
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30]

yamicha.com's Blog
 諸事情により、現在更新休止中。ご了承ください。もし今後ブログを再開することがあるとすれば、その際にはこのブログスクリプトではなく、新しく開発したものによるかもしれません。
 当ブログ管理者についてはこちらをご参照。
開発魔法(737)
社会問題(733)
お知らせ(11)
質問・バトン回答(15)
ゲスト出演(8)
経済・知的財産(150)
ゲーム開発(182)
[Ada] 勝手に補足
- Note
- 金配りの次の一手


- Endless Ultimate Diary
- 銃世界

漢字バトン
- うるる雑記帳
- 漢字接力棒

ツキアイゲノムバトン
- ブログ@うにうに画像倉庫
- あぶ内閣

縺イ縺セ縺、縺カ縺励ヰ繝医Φ
- 月夜のボヤキ
- 騎士サーラバトン
パスワードを使う
名無し (2012/02/27)


開発者解放裁判
yamicha.com (2010/03/14)
Winnyに関しては、私も「純白」とまでは考えておりませんし、使用し..

開発者解放裁判
通りすがり (2010/03/08)
winnyに関しては「ダウンロードソフト板」なんてところを拠点に開発..

新型インフルエンザの恐怖
いげ太 (2009/11/03)
> C#などの「int Some(int , int)」は、F#では「(int * int) ->..

時効に関する思考
yamicha.com (2009/08/31)
>いげ太さんコメントありがとうございます。手元にドキュメントが少..
Homepage
Blog Top
Normal View
List View
Search
Calendar
Comment List
Trackback List
Blog RSS
Send Trackback
Phone Mode
Administrator
yamicha.com
Blog
るううるる。
Source
法令データ提供システム
FindLaw
Development
Java2 Platform SE 6
Java EE 6 API
MySQL Developer Zone
PHP Reference
MSDN Library
Ada Reference Manual
Objective Caml
Python Documentation
Erlang
Prolog Documents
財政構造改革を財政健全化の推進に変更する世論調査
2010/08/08(Sun)07:20:26
 7日、内閣府は「国民生活に関する世論調査」の結果を発表しました。その結果によると、「景気対策」を望む声は昨年から6.8%増の69.3%にのぼり、不況によるダメージを裏付けるものとなっています。「医療・年金等の社会保障の整備」は69.6%でした。また、「財政健全化の推進」(昨年までの選択肢名は「財政構造改革」)は昨年調査の16.9%から急増して25.5%となり、借金やバラマキが続く財政問題への関心の高さもうかがわせます。
 まず、この世論調査では「財政健全化の推進」を選んだ人が大幅に増えていますが、確かに25.5%という数字自体は国民の財政への関心を表すものです。しかし、「16.9%であった前回調査から10%近くも増えているから、選挙での争点化やバラマキなどによって関心が大幅に高まっている」と結論するのは早計に過ぎます。
 この選択肢は、前回までは「財政構造改革」と呼称されていました。「財政構造改革」と「財政健全化の推進」は広義には同じものですが、言葉の意味合いは微妙に異なります。財政構造改革が必ずしも財政健全化であるとは限りませんし、財政が健全であっても財政構造改革は可能です。また、財政健全化が直ちに財政の構造を改革するものであるとも限りません。現状日本での財政健全化といえば、借金を返したりプライマリーバランスを立て直したりといった意味合いが強くなりますが、財政構造改革はその点があいまいです。したがって、受ける印象はかなり違ってきます。
 また、「財政構造改革」は規制緩和などの構造改革のニュアンスを含む印象を受けるのに比べ、「財政健全化」はそれほどでもありません(「財政構造改革」とは別に、調査項目には「規制緩和などの経済構造改革」の選択肢もありますが、「経済構造改革」と「財政構造改革」は完全に切り離せるものではありませんし、受ける印象を払拭できるものでもありません)。派遣やタクシーなどの規制緩和がもたらした結果や、安部政権下の無賃残業合法化騒ぎなどを見せつけられ、これ以上の規制緩和は逆に大きな被害をもたらすと考える人が相当数存在することは想像に難くありません。つまり、これ以上の規制緩和は国民や国家のためにならないと考える一方、借金を返したりバラマキをやめたりはしなければならないと考えている人は、「財政構造改革」は選ばず「財政健全化の推進」なら選ぶ可能性があります。
 すなわち、「財政健全化の推進」への関心が国民の間にある程度存在するのは事実ですが、果たしてそれが昨年に比べて有意に増加しているのか、またどの程度増加しているのかは不明です。もしかしたら選挙などの影響で本当に大きく増えているのかもしれませんし、実際には全く増えていないのかもしれません。これでは統計のやり方としてあまりにまずいと言わざるを得ません。
 そのような当てにならない統計であるにもかかわらず、一部マスコミなどは「民主党のバラマキに危機感を覚える人が増えた」などという結論を強引に導き出していますが、恣意的にもほどがあります。なぜなら、「財政構造改革」を選んだ人の数は2007年の調査で15.9%、2008年で19.2%、2009年で16.9%と推移しており、麻生政権の金配り後の調査である2009年ではむしろ数が減っているためです。もしバラマキに対して国民が「財政構造改革」を選択するならば、この推移には説明がつきません。他方、国民はバラマキに対して「財政構造改革」はあまり選択しないものの、「財政健全化の推進」は選択するならば、2009年の調査と比べるという行為自体が意味を成しません。仮にもマスコミを名乗るなら、もう少し正当・正確に分析すべきでしょう。
 しかし、昨年に比べた結果はどうあれ、バラマキなどに対する問題意識を持っていたり、国の財政に危機感を持っている人は少なくないのは確かです。景気対策や社会保障など優先順位が高いであろう政策が並ぶ中で、「財政健全化の推進」を1/4もの国民が選んだことを無視するわけにはいきません。財政健全化のためには増税や歳出削減が必要ですが、景気対策を7割もの人が要望する中で、財政健全化の要望がこれだけあるのは、決して少ないとはいえません。
 そして、民主党の政策にせよ自民党の金配りにせよ、バラマキ政策が財政健全化に悪影響を与えるのは事実です。この不況下にありながら、財政健全化を望む声が一定数あることに真摯に耳を傾けるならば、財政を悪化させる割に意味のないバラマキは当然ながら回避すべきです。
 特に子ども手当は槍玉に上がることが多い政策ですが、民主党は満額支給こそ困難と見ているものの、11年度からの増額は検討しているようです。子ども手当に伴って児童手当などが廃止されるため、児童手当を受けていた家庭の負担増を避けるには増額が必要との判断のようです。増額幅はまだ決まっていないようですが、1兆円単位の財源が必要になると予想されています。
 しかし、この増額策は言うまでもなく矛盾しています。何しろ、児童手当などを受けている人は今後はそれを受けられなくなり、一方であらゆる対象世帯に対して同一額が増額されるのです。これで児童手当受給世帯の収支がほぼゼロになるのは良いとしても、一切の手当や控除を受ける必要がなかった余裕ある世帯の収支はどうでしょうか。帳尻合わせの方法としては最悪と評価せざるを得ません。
 子ども手当は理念だけを見れば極めて優れた政策です。子どもへの財源割り当てが極めて乏しいとされる日本において、配偶者控除など矛盾に満ちた不公平な支出を廃し、それを子どもに対して振り向けるという理念は、高く評価されてしかるべきです。唯一かつ最大の汚点は、それを配るという意味も理念もない方法を用いてしまったことに他なりません。
 子どもへの支出としてまず行うべきは、何を置いても教育の充実以外にありません。教育自体が国の礎である上、最近は貧富の差によってろくな教育が受けられないという悲劇も多く発生しています。格差を埋め合わせる意味でも、教育の充実は極めて重要です。他にも子育て支援や保育所の充実など、子どもへの財源でできることは数多くあります。また、直接給付が必要な家庭に対して直接給付を行うのに反対する気はありませんが、全部の家庭に対してそれを行う必要はどこにもありません。
 ちなみに、先の世論調査には「教育改革・青少年対策」や「少子化対策」という選択肢もあり、近年では毎年30%前後の人がこれを選択しています。政府が何をすべきかは明白というものです。

 Java EE上で簡単にPHPが動いてしまうQuercusですが、さすがはPHP 5に準拠しているだけはあり、mysql_などの関数の他にPDOを使用したデータベースへのアクセスさえ可能です。しかも、単にデータベースを使用できるだけなら普通のPHPと変わりませんが、(関数とPDOのどちらの方法を用いる場合でも)JNDIから接続を取って使用できるというすさまじい機能を備えています。
 やり方はすべてQuercusのREADMEに書いてあり、これに従って作業を行っていけば、かなり容易にデータベースを使用できます。ただし、このREADMEには間違っている箇所があるため、実際に作業する際には注意が必要です。
 以下、READMEより"IV) JDBC Connections"のセクションを引用しておきます。
IV) JDBC Connections
--------------------
Quercus is able to use database connections from a DataSource configured
using JNDI.  Application servers typically provide a mechanism for making a
connection pool DataSource available with JNDI.

Quercus database connection methods accept the JNDI name directly:

  $conn = mysql_connect("java:comp/env/jdbc/myDatabaseName")

  OR

  $pdo = new PDO("java:comp/env/jdbc/myDatabaseName");

If the web.xml contains a configuration for a JDBC database, then Quercus will
ignore the arguments to PHP database functions and will connect directly to
the preconfigured database.

    <init-param>
      <param-name>database</param-name>
      <param-value>jdbc/myDatabaseName</param-value>
    </init-param>

Quercus will use the above database for all calls to the database like the
ones below:

  $conn = mysql_connect("localhost", "user", "pass");

  OR

  $pdo = new PDO("mysql:host=localhost", "user", "pass");

Consult the documentation for your application server for instructions on
configuring a database and making it available with a JNDI name.
 どうやらweb.xmlを編集しなければならないようです。
 そこでweb.xmlを開いてみると、ご丁寧にも書き方の例がコメントアウトされた状態で用意されています。以下のコメントがある部分です。
    <!--
      Tells Quercus to use the following JDBC database and to ignore the
      arguments of mysql_connect().
    -->
 これの下にあるinit-paramのコメントアウトを解除し、以下のようにJNDI名に書き換えます。
    <init-param>
      <param-name>database</param-name>
      <param-value>jdbc/MySQL</param-value>
    </init-param>
 サンプルが用意されていたおかげで、簡単に下準備が終了しました。
 後は実際に使ってみるだけですが、ここで注意点があります。READMEの次の部分には誤りがあり、実際に私も引っかかってしまいました。もしPDOの使用経験がなかったら、おそらく修正方法も分からないままになっていたでしょう。
Quercus database connection methods accept the JNDI name directly:

  $conn = mysql_connect("java:comp/env/jdbc/myDatabaseName")

  OR

  $pdo = new PDO("java:comp/env/jdbc/myDatabaseName");
 通常、PDOは"DB名:場所"の形式で接続先を指定します。localhostのMySQLに接続するなら、"mysql:host=localhost"といった具合です。そもそもPDOは様々なRDBMSに対して使用できるのですから、接続の際の情報にRDBMS名が含まれていなければ、使用するRDBMSがMySQLか、PostgreSQLか、はたまたOracleかmssqlかDB2か分からないのですから、接続できるわけがありません。したがって、"mysql:java:comp/env/jdbc/myDatabaseName"のようにデータベース名を記述しなければ接続ができません。mysql_connectを使用する場合には、READMEの書き方のままで問題なく接続できます。
 それでは実際に使用してみます。まずは適当なテーブルを作成し、データを登録します。
CREATE TABLE quercus_runtime(
id INT , name VARCHAR(32) , PRIMARY KEY(id));

CREATE TABLE quercus_lang(
id INT , name VARCHAR(32) ,
base VARCHAR(32) , runtime INT ,
PRIMARY KEY(id) ,
FOREIGN KEY(runtime) REFERENCES quercus_runtime(id) 
ON UPDATE CASCADE ON DELETE CASCADE);

INSERT INTO quercus_runtime VALUES
(1 , 'Java') ,
(2 , 'Parrot') ,
(3 , '.NET');

INSERT INTO quercus_lang VALUES
(1 , 'Quercus' , 'PHP' , 1) ,
(2 , 'Groovy' , 'Groovy' , 1) ,
(3 , 'Jython' , 'Python' , 1) ,
(4 , 'JRuby' , 'Ruby' , 1) ,
(5 , 'Rakudo' , 'Perl 6' , 2) ,
(6 , 'A#' , 'Ada' , 3) ,
(7 , 'IronRuby' , 'Ruby' , 3) ,
(8 , 'IronPython' , 'Python' , 3);
 後はこれをPHPから読み込んでみます。
 まずはmysql_...を使用してアクセスしてみます。前述の通り、mysql_connectを使用する場合であれば、そのままJNDI名を書くだけで接続できました。
<html>
<head>
<title>Quercus Database</title>
</head>
<body>

<table border="1">
<tr>
<td bgcolor="#CCDDFF">ID</td>
<td bgcolor="#CCDDFF">実装名</td>
<td bgcolor="#CCDDFF">元の言語</td>
<td bgcolor="#CCDDFF">動作環境</td>
</tr>

<?php
$c = mysql_connect("java:comp/env/jdbc/MySQL");

$q = mysql_query("SELECT l.id AS 'id' , l.name AS 'name' , " .
	"l.base AS 'base' , r.name AS 'runtime' FROM quercus_lang l " .
	"INNER JOIN quercus_runtime r ON l.runtime = r.id " .
	"ORDER BY l.id");

while($result = mysql_fetch_row($q)){
	print "<tr>";
	foreach($result as $r){
		print "<td>$r</td>";
	}
	print "</tr>";
}

mysql_close($c);
?>

</body>
</html>
 以下は同じものをPDOで書いた場合の記述です。こちらはRDBMS名を省略するとエラーとなりました。当初はREADMEの通りに書き、動かずに困り果てましたが、プリペアドステートメントなどが平気で使えるPDOが何とか動作するのは助かります。
<html>
<head>
<title>Quercus Database</title>
</head>
<body>

<table border="1">
<tr>
<td bgcolor="#CCDDFF">ID</td>
<td bgcolor="#CCDDFF">実装名</td>
<td bgcolor="#CCDDFF">元の言語</td>
<td bgcolor="#CCDDFF">動作環境</td>
</tr>

<?php
$c = new PDO("mysql:java:comp/env/jdbc/MySQL");

$s = $c->prepare("SELECT l.id AS 'id' , l.name AS 'name' , " .
	"l.base AS 'base' , r.name AS 'runtime' FROM quercus_lang l " .
	"INNER JOIN quercus_runtime r ON l.runtime = r.id " .
	"ORDER BY l.id");
$s->execute();

while($result = $s->fetch(PDO::FETCH_NUM)){
	print "<tr>";
	foreach($result as $r){
		print "<td>$r</td>";
	}
	print "</tr>";
}

$c = null;
?>

</body>
</html>
 無事にデータが取得できれば成功です。
カテゴリ [開発魔法][社会問題] [トラックバック 0][コメント 0]
<- 前の記事を参照 次の記事を参照 ->

- Blog by yamicha.com -