>>  Main > Diary > 0709

日記

2007年09月

2007年10月

2007/10/01(月) 地球規模でいろいろ考察してみる

現在我々日本人が対処しなければならない問題は非常に多い。
たとえば具体的には以下のものが挙げられる。
  • 少子高齢社会
  • 地球温暖化
  • エネルギー問題

少子高齢社会について

日本は世界で唯一の「超高齢社会」となる。(超高齢社会とは、総人口の21%以上が65歳以上の高齢者である状態を指す。 傾向を見ればすでに超えているはずである。 今回の内閣府の調査結果が楽しみっつーかなんつーか。)
平成19年度版 高齢社会白書(内閣府)によると2035年には総人口の1/3が高齢者で、それ以降も高齢化率は増加を続けるという異常な社会が築かれる予測だ。
つまり、このままの状態が続けばもはや年金がどうのこうの言ってられる場合ではないのである。
(個人的予測だと確実に年金制度は破綻する。 65歳以上の人間すべて死刑に処すればこの問題は解決するだろうけどハッピーにはなれそうもない…)

少子化についても問題性は大きいものと思われる。
ご存じのとおり合計特殊出生率は2を大幅に下回っており、人口はどんどん減少していく。
人口増加率からみる人口の推移は総務省の統計によると100年後には約0.4倍になっている。
現在の人口を130,000,000人として、100年につき0.4倍の比率で計算していって3000年ほどまで計算してみると、日本の総人口は15000人くらいになる。独りぼっちになるのは西暦4100ほどだ。
このサイトを見ると、実際には人口の減少はより急激に起こる可能性も示唆されている。 西暦3000年で14人とのことだ。
国を挙げて何かしらの対策を取らなければ大変なことになるのは想像に難くない。
(個人的には、見込みのない年金云々について議論するよりも少子化の対策を行ったほうがよほど未来につながるのではないかと思う。)

地球温暖化について

地球温暖化の影響についてはすでに世界各地でその被害の報告が相次いでいる。
身近な例として、大雨の増加やそれに伴う土砂災害など異常気象の増加や酷暑や暖冬など気候の極端化が以前にまして頻繁に起こるようになっている。
すでに「異常気象」が「異常」ではなくなってきているのが現状である。
そのような状況下で生体への影響も少なからず存在し、生態系の破壊などが危惧される。
(もうすでに取り返しのつかない領域に一歩踏み込んでいるのではないかと思う)
地球温暖化の主要な原因として二酸化炭素などの温室効果ガスが挙げられる。
我が国でも東京電力をはじめ多くの団体が精力的に運動を行っているが、全国地球温暖化防止活動推進センターの調べによると日本の二酸化炭素排出量は、10年前の京都議定書策定の年からみても4.6%増加しているなど効果的な成果が出ているとは言い難い。
(二酸化炭素税とか作って税金の取り立てでもすれば多少改善するのではないかと思うが…)
後述のエネルギー問題ともかかわってくるが、日本の家庭では二酸化炭素を13.5%排出しているというデータが存在する。

参考までに具体的な話をすると、パソコンを1台1日8時間した場合1か月での二酸化炭素排出量は…
家庭の平均的な消費電力は一か月あたり 301.6[kWh][1]
PCの電力 (約150[W]/1000) * 1[h] * 31 = 37.2[kWh][2]
(ただし情報ソースは2005年時のインターネットブラウジングの際の平均的な消費電力)
家庭の電力消費量における1台のPCの占める割合は 37.2/301.6*100 = 12.3[%]
家庭における二酸化炭素排出量の電力における割合は 38.7[%][3]
一世帯当たり二酸化炭素は一か月につき 5457.4[kg]/12 = 454.8[kg][3]
家庭が一か月に電気を消費することで排出する二酸化炭素は 405.8[kg]*0.387 = 56.1[kg]
家庭が一か月にPCを使用することで排出する二酸化炭素は 51.6[kg]*0.123 = 6.9[kg]
約7[kg]と計算される。
参考文献は下記のとおり
  1. 電気事業連合会
  2. 日経パソコン
  3. 全国地球温暖化防止活動推進センター

(ちなみに、ここをみると京都議定書とか無視してるアメリカと中国だけで40%超えてたりして日本だけ頑張ったって焼け石に水的な面もあるといえばある気もしてくる。)

エネルギー問題について

前述のように湯水のように使用して地球環境の悪化を招いているエネルギー自体も危機的な状況にある。
ここを見ると世界のエネルギー可採年数は最も長い石炭でも155年後には枯渇してしまう可能性がある。
(ウランは85年。生きているうちに原子力発電所が停止する日がやってくるかもしれませんね。)
エネルギーの枯渇や温室効果ガス発生の問題を抱えたエネルギー事情により、新エネルギーの開発が望まれている。

風力発電について、クリーンな再生可能なエネルギー供給源となりうるが
  • 天候によるムラが多い
  • 設置条件が非常に厳い
  • 騒音や美観などから近隣住民の理解を得にくい
などといった問題がある。

太陽光発電について、クリーンな再生可能なエネルギー供給源となりうるが
  • 天候によるムラが多い
  • 多くの土地面積を要する
  • 設置のためのコストが高く、二酸化炭素排出量も採算が合うまでにかかる時間が長い
などといった問題がある。

燃料電池については、効率の良いエネルギー供給源となりうるが
  • 水素の保存が難しい
  • 水素生成のために多くのエネルギーを消費する
  • 容器が大きく、重い
  • 容器と燃料のコストが高くつくため導入が困難
などといった問題がある。
詳しくはWikipediaの各項などを参考にするとよいだろう。
これら新エネルギーの問題は開発しだいで改善されると思われるが、現在子供の理科離れや少子化が進み、技術の継承を行うための十分な環境が整っていないのが現状である。



たどると教育問題やらなにやらに発展しそうだが…要は、福田頑張れよと。
まぁそんなことを考えつつ、夜が明けたぜ…でも何となく有意義な夜だった気がする。

2007/10/07(日) そろそろTangoに2.0対応版が出てほしいなぁ

D言語の2.005が出ましたね。
C++のクラスをインターフェースとして使えるっていうのはほかのプログラム言語にはない進歩なんじゃないかと思います。いやよくわからんけど。
もうそろそろ2.0への移行をどんどん進めていくべきかもしれませんね。
…そんな中Tangoはいまだ1.021対応とか言ってますけどそろそろ…ね、お願いしますよ、旦那…

最近、Tangoを使ってCGIプログラミングなんぞをしております。
簡単なライブラリを作ってみているので、それなりに成果が出たら公開しようかと思っています。
ほとんどTangoに機能として備わっていたりするのでかなり楽にできます。Perlより楽かもしれません。
まずは基本のカウンターでも作ってみましょうか…
…現在構想中のカウンター
  1. バイナリファイルに記録
  2. 総合カウントにくわえ、X日前やX週間前、Xか月前などの情報も記録
  3. 生ログの記録
  4. IPによる二重カウント防止
  5. Cookieによる訪問後一定時間カウント停止
とった統計は別のアナライザによって解析でもしてみたら面白いかもしれませんね。
ちなみに現在の進捗状況は1,3,4が大雑把に完了してて、現在2のX週間前のXを取得するあたり。

2007/10/10(水) ひどく遠回りな設計

ちょっとわしのHPのアクセス数がウナギ登りでちょっとビビってます。<挨拶
あ、ちょっとって2回使っちゃった。 SHOOです。

なにやら2chやk.inabaさんで取り上げられたみたいです。 感謝感謝です。
そんなわけで、どう考えてもよくわからん第一回目の宿題の回答例です。
問題は「混じっても平気」この情報だけではわかるはずありません。 なんか真剣に解こうとしてくれた人すみません。
この宿題の問題書いたやつは馬鹿です。

import std.stdio;

int main(){
    writef("文字列の出力マスター : ");
    writefln("hello, world");
    writef("整数の出力マスター : ");
    writefln(123);
    writef("実数の出力マスター : ");
    writefln(3.21);
    writefln("混じっても平気 : #34;, 654);
    writefln("%s : %f", "もじもじ文字", 4.56);
    return 0;
}

たぶんこういうことをさせたかったんじゃないかなぁと思います。
たぶんですが。
この筆者バカだ、と思った人は更新時間を見てみるといいのです。 ページの一番下のところにちんまりとあったりするから。

2007/05/14(月)[06:07:33]

朝早くから御苦労さまなんて思っちゃいけませんよ。

ちょっと寝てないだけです。

しかも月曜日の朝ってことは学校があったりしてるはずです。
おそらく眠い目をこすりながら入門記事を書いてちょっとだけ寝てから学校に行って眠い目をこすって研究してたに違いありません。
…この記事書いた筆者は何を考えているんでしょうか。
半年前の自分が僕にはもう理解できません。
いやでも今でもたいして変わらない生活を送ってるな。 自分が理解できません。
どちらにしろ筆者は馬鹿でした。 いや、すみません… そのうち書き直します。

あー、なんかまだほかにもこういう意味不明な部分が多そうだなぁ…



そういえば、D言語の標準ライブラリのPhobosの文字出力がおかしなことになることについて。
これは文字コードがUTF-8の文字列を無理やりコンソールで吐き出しているためこのようになるらしいのです。
これについては perl でも同じ現象が起こるため、何も特別なことではありません。

例) perl でUTF-8の出力をコンソールで見てみる
# --- test.pl (charset=UTF-8)---
print "あいうえお";

実行結果はこちら↓

> perl test.pl
縺ゅ>縺・∴縺

まぁ、どちらにしろ日本語が表示できないのは問題なので、何かしら対策が必要なのは間違いないでしょう。
というわけで、こんな感じにするといいと思います。

> main.exe>output.txt

内容をすべてoutput.txtに書き出してしまいます。
このテキストファイルをUTF-8に対応したエディタで見れば普通に日本語が表示されるはずです。

それでも俺はコンソールに日本語が表示したいんだ!
って言う人はTangoを使うなりk.inabaさんのtxライブラリを使いましょう。
ほかに方法があるとすれば、 import std.windows.charset; として toMBSz("UTF-8の文字列"); で得た文字列をprintfで吐き出すくらいでしょうか…
Windows依存になっちゃいますが…
なんかこのバグっぽいものは本家では改善される気配がないので、あきらめて対処法で処理するのがいいと思います。

2007/10/14(日) DでCGI

DでCGIを作ってみて、一応動くものができました。



CookieとIPのチェックをして、多重カウントを防止します。
画像を読み込んだりします。
バリエーションとしては

  • 読み取り専用→
  • 画像を変えてみる→
  • 桁数を変えてみる→
  • テキスト表示→[link]

などなど。
よく検証していないからファイルロックのあたりで誤作動するかも。
todoってことで。
リファラとかも取得できるようになってるけど、表示するのをまだ作ってないからやってもしょうがないか…ということで割愛。
画像は32bit Bitmapで表示しています。 それなら楽だから。 PNGとかGIFとか無理…

まぁ、このカウンタの特徴としては
  • D言語で書かれています。
  • ネイティブなのでさすがに高速だと思います。
  • CookieとIPで多重カウントを防止できます。
  • 画像カウンターに使えます。
  • SSIを用いてテキストカウンターとしても動作します。
  • カウントした時間、IP、ホスト名、リファラ(画像カウンターの際にはJavascriptで取得)、画面解像度(Javascriptで取得)、使用しているブラウザ、初めてのアクセス日時(Cookieで取得)、最後にアクセスした日時(Cookieで取得)を取得します。
  • ただし生ログは増え続けるので適当にカウントしたらローカルに保存するなりしないと大変なことになります。
  • エラーの際の処理も正しく行い、表示する
って感じですか…

この程度のものならば1週間毎日3時間くらいのコーディングで完成しました。
ノウハウがたまればもっと開発時間は短縮できるんじゃないかと思います。
Perl程度の機能であればそのほとんどがTangoには含まれているようで、かなり簡単に作ることができるようです。

う~ん、Tangoにflock相当の機能ってあるのかなぁ… 自分で作るしかないのかな…

2007年11月

Copyright©SHOO All rights reserved. / LastModified : 2007/10/01(月)[05:41:32]