Archive for 2007年11月

はてなダイアリーキーワード連想語APIのサンプルにPythonだけないのでPython版を書いてみた。

■ソース

できるだけ簡潔に、これっぽっちで済んだ。Rubyに負けず劣らずPythonの実力もなかなかでしょ。

■実行結果

これを雛形として色々機能を追加していけばちょっと遊べるようなものが作れると思います。このソースのポイントはfor文の使い方です。

夏ごろに公開されたニフティのAPIを試してみようと思ったのですが、情報なさすぎです。

エレガントな方法がもう確立されているんだろうと思ったら、APIのサンプルコードがさっぱりない。もう、どうしようもないのでPythonに託した。自力Pythonに。

一応、任意のキーワードを入力し、そのキーワードと合致するタグを持つトピックのXMLを吸い出すというものを作った。トピックイットAPIを使う。簡潔にしたいのでAjax的な手法にはしなかった。つまりただのCGI。というか現段階ではXMLを吸い出すというだけだからね。汗。

■XHTML

■Python

これを実行するとXMLに対応しているブラウザなら、XML文書が表示される(IE7、Firefox2で確認)。

Ajax的な手法にするなら、JavascriptからこのPyを呼び出してコールバックでXMLを扱えばいいと思う。もちろん、熱狂的なPythonista(またはコードを隠蔽したい人)はPythonでXMLの処理をしてあとは出力するだけみたいにしてもいいと思う。

CSSとJavaScriptを組み込むだけでコードのハイライト表示ができるSyntaxHighLighterを使ってみました.クライアントサイドで処理をするので見る側のマシンスペックによっては表示に時間がかかる場合もありますが、おそらくそこまで支障はないでしょう.

専用のCSSを読み込んで、ページの最後でJavaScriptを実行するだけです.スマートなやり方だったら、onloadで実行するように自分で書けばすべてhead内でおさまることになります.でもそれは面倒臭いという場合は、ページの最後のほうにコードを入れてあげればいいだけです.

head内に……

最後に……

スクリプトの読み込みは別に先頭でもいいんですが、自分は実行と一緒にしてます.

で、実際に使うときは……

「~~」がハイライトされます.classの指定をcss, python, jsなどと変えればそれに対応したハイライトが適用されます.

……ですが、MT3.35ではtextarea内の改行が変換されてしまい、とんでもないことになりますので対策が必要です.

便利なプラグインがあります.ModTextFilterを使えばtextarea内の改行が表示されなくなります.

参考:Movable Type備忘録

いまさらですが、以前のエントリーのデータがすべて消えました.

今までブログのエントリーを何度かリセットしてしまっているので、なるべく避けたかったのですが、MT4をカスタマイズしているうちにMT4がバグったと言いますか、パーマリンクがすべてホームへのリンクになったり、あり得ないことが起こって、原因も突き止められず結局バックアップだけとってリセットしました.

リセットしたついでにMT3.35にダウングレード.

3.3には3.3なりのいいところがあって、4にあんまりこだわっていないです.

最近は、休みの日はほとんど家にいて、SPIだとかWEBテストだとかその他色々、就職活動という謎多きものと向き合っています.でもそろそろ逆に外に出て行くことが多くなりそうです.

就職活動で自分と向き合うとよく聞きますが、今のところは不条理と向き合っている気がしますね汗.性格適性検査の対策とか、なにもかも、すべてが対策.対策=潜在能力を引き出す、とはとても思えない.対策=演じる、そう感じてしまう.これはなんだか不条理な世の中との戦いのような気がします.自然に生きたい、でも自然に生きているだけじゃ目標を達成できない.なんなのだろうこの感じは…….

でも周りはみんな意外とタフだから、そういう不条理は「そういうもんでしょ」という感じで、あんまり疑問を持たないのか持たないようにしているのかわかりませんが、みんな強いなぁと思います.

いま、唯一の心の休息がプログラミングをしているときです.これはもう自分なりの心のケアですね.ギターを弾くや、歌を歌うや、音楽を作るや、テレビを見るなどより今はちょうどいいです.でもこれは自分にとってなので、他の人にとっては逆に苦痛で発狂するかもしれませんが、プログラミングはほかのことを忘れてすごく集中できるからいいのかもなぁと思います.音楽を作るのとはまた違うし.

まぁ、自然体で生きれたら一番いいんでしょうけど.いつしか母が言いました「お父さんが若いころ、仕事から帰ってきて、『会社は人格まで変えるんだよ』って言ってたんだよ」と.

だから、やっぱり適応.適応しなければ生き残れない.のんびりした性格だって変えなきゃ生きていけない.

夏に○○○東日本の説明を聞いたとき、「私たちは通信技術で距離を限りなくゼロにしようと思っています.通信が高速になれば仕事にも空き時間ができ、豊かな社会になります.」みたいなことを言っていたけど、これは詭弁だと思った.空き時間ができればそこにまた仕事をねじ込むんだろう.新幹線が速くなればなるだけそこに仕事をねじ込むんだろう.それだったら時間がかかったほうが全然いい.

競争だから、速くしなければ金にならないのは分かる.だけど、人間の体が持たないから戦闘機の速度をこれ以上上げられないのと同じように、通信や情報の速度だってこれ以上上げたら人間の体が持たないんじゃないかと、自分は思っています.でもこんなこと嘆く人はまだいないみたいです.

なんだか無駄に熱くなってしまったけど、まぁそういうもんなのかな.そんなふうにそういうもんだからしょうがないで割り切って暮らしていけばいいのかな.

けっこう寒くなってきた.

寒いんだけれど、朝起きると寝汗がひどい.

相変わらずなにもない、なにも起きない.収穫もない.そういう毎日.

そういえば、この前バスで小中学校のころの友達に会った.

意外とよく遭遇する人.

昼間は働いて、夜間の高校に通っているんだそうだ.

それは初めて聞いた.

中学までさかのぼると色んな人生がある.もう働いている人、親になっている人、現在高校生の人.

ごく普通に大学生をしている人たちばかり見ていると、自分の年代が全員そうであるかのように錯覚してしまう.

……

またこんなこと語ってる、寒気がするわ.

毎日なにもなさ過ぎて書くことがない.しょうがないからプログラミングしてプログラミングの話.

できればこのオジサン化の波から早く抜け出したいと思う.が、それはずっと先のことになりそうだ.

Pythonでまたアプリを作った.入力したキーワードの連想語をはてな連想語APIで取得して、そのそれぞれの連想語に対してニフティのTimeLine APIで検索し、TimeLineのXML情報を取得して表示するもの.一応Ajax.簡単に言うと、入力したキーワードから連想される語句でTimeLineを検索できる.

ただでさえつまらないものなのに、文字で書くと余計につまらなくなる.こんなことでわくわくできる人間はたぶんこの世界に俺だけだろう.

それはいいんだけど、いざ外部サーバにアップしてみると容赦なくInternal Server Error.もう見飽きた.CGI始めたばかりの人がパーミッションを変更してなくてなったりするエラー.でもそれなりのFTPを使っていれば自動でパーミッションは設定してくれるものです.

で、なにが原因だったかというと文字コード.

AptanaでUTF-8で作り、諸事情によりFrontPageにインポートしてからそれをアップロードするんだけど、そこで勝手にFrontPageがJISかなんかに変えてる(みたい).

まだまだわからないことだらけ.

そもそも大学で習うプログラミングはプログラミングとは言えないらしい.プログラミング作法・流儀も含めて仕事では通用しないとか.

プログラミングは趣味が一番いいんじゃないかと思う.サンデープログラマーというのかな.日曜大工.仕事にしたくないです.

つーか、関係ないけど大工さんって楽しそうに仕事してていいなぁと思う.

071120 連想TimeLine

昨日のAjaxアプリ、連想TimeLine.というか、アプリとは言わないのかな.連想語でTimeLineを検索するもの.作り方を書く、だれかのために.

用意するものは……

これらはダウンロードする必要あり.prototype.jsはAjax開発におけるメジャーなライブラリなので……というか、説明するのも逆に失礼かな.

■XHTML

resultに結果が入る.

■JavaScript

sendDataにフォームで入力したキーワードが入ってくる.if文はresult内の子ノードをすべて消すためのもの(理由は、連続で検索するときに前の結果を消去するため).キーワードをmain.pyに送る.

getKeysにmain.pyからキーワードの連想語が入ってくる.連想語はコロンで区切った文字列なので分解して配列にする.その配列ひとつひとつをgetxml.pyに送る.

xml2jsonに個々の連想語に対するxmlが入ってくる.Json形式に展開する.resultに表示する.

■main.py

コメント文にあるとおりです.『連想語を配列化』ですが、正確に言うとPythonなのでリスト化です.C言語から習い始めたのでつい配列と言ってしまいます.あとここではPython特有のリスト内包表記を使っています.これちょっと難しいので、理解に苦しむかもしれませんが、こういうものなんだと理解してください.

■getxml.py

受け取ったもので検索をかけて、返ってきたXMLデータを送出.

検索結果とキーワードのあいだにあまり関係性がないのが特徴.まぁこれはしょうがないです.

071122 チーマイ6

チーム・マイナス6%に参加した.考えてみると省エネ的な暮らししてないなぁ.せめてゴミの分別だけでももっと意識しよう.

ネットの倫理的問題がまた.

ブログ炎上を幇助するようなサービス『炎ジョイ』というものが公開された.『炎ジョイ』自体が炎上しているのは、言うまでもないですが、これは企業として社会に貢献していると言えるのでしょうか.企業の社会貢献って本当に基本的なものでしょ?

炎上っていうのは自然に発生するものだっていうのがわかってない.かなりナンセンス.

今日は就職活動っぽいことをやってきた.

色々な人事の人と話し、たぶん今までの人生でこんなに見知らぬオトナと話したのは初めてだ.どの企業も懇切丁寧だった.「わたくしども」とへりくだる.オトナはどこまでもへりくだる.学生に対してそこまでへりくだらなくていいと思う.皆さんいい人たちだったと思います.

で、家に帰ってきてから親と話し、なんだか自分の会社選びって間違ってたなぁと今さら気づきました.でも、いま気づけてよかったです.ちょっと考えが堅くなっていたような気がしますな.自分の専攻なんて二の次で考えたほうがよろしいかもしれない.しかしそうなると今度は視界がばぁーと広がってまた困惑.人生とはそんなもの.

小田急のヘビーユーザーだから都心に行くときはたいてい新宿で乗り換え.帰りに新宿に寄った.街はこれでもかというくらいに人がいて、ムスカじゃないけど、本当に人がまるでゴミ……っていうのはまあいいとして、クリスピー・クリーム・ドーナツの店に長蛇の列ができていた.あそこのドーナツはとても柔らかくて、とても甘くて、まるで砂糖を食べているみたい.

色々な人がイルミネーションを写真に収めていました.イルミネーションを写真に撮るなんてセンス悪いなぁ.過ぎ去る季節の楽しみを、のちにも楽しもうだなんて.

そんな毒ばっかり吐いてもいられませぬ.

都会にはあまり執着心がありません.東京に行かずにことが足りるならできるだけ東京には行きたくないくらいです.友達には東京以外で働くのは嫌だと言っている人がいますが、自分は東京でも群馬でも新潟でも青森でも.ロサンゼルスでもいい.

勤労感謝の日はやはり、電車がすいていました.けれど、働いている人もいました.うちの父.

071125 N/A

気づけばもう11月も終わりです.

ぽーっと考えるときがあります.家族が寝静まって居間で一人でいるときとか.腕組んで目瞑って、ぽーっと考えます.たいていネガティブなことです.

考えすぎるとネガティブなことを考えてしまい、考えないと事故る.

思考が飛躍しますが、誰しもがそうなのだろうと思いますが、自分はやはりよこしまな男なんだと.思うわけですよ(ってサンボマスターも言ってた).ときにはいい人ぶる、ときには意地悪いことをする.ときにはがんばる、しかしときには不真面目になる.人によって態度を変える.先入観の塊だ.差別を嫌いながら、ときには差別をしたりする.陰口を嫌いながら、ときには陰口を言ったりする.

なんだかね、誰しもがそうなのだろうと思うのですが、自分にはそういう矛盾がたくさんあります.

で、今まで、そういう矛盾を気持ちの中で受け入れたくなかったみたいなんですね.絶対にどっちかなんだと.どっちもなんてないと.1か0、0か1.

いやしかし、両方あって自分自身なんだなぁと気づいた.他人に当てはまるのは知っていたけど、自分にも当てはまるということを忘れていた.気づくの遅いわなぁ…….

不器用なので無駄な哲学が増えていくばかりです.不器用バンバンザイ!!

071126 N/A

今日はTOEICを受けた.もちろん惨敗.

人は頑張ったぶんだけ、詰めも細かい.基本情報技術者に受かったときは、最後まで気を抜かず準備を万端にして行った.ちゃんと時計を持っていった(必要なかったけど).

今回のTOEICは全然頑張っていなかったので時計を持っていくことを気にせず、持っていかなかったので時間が分からず、突然終了を告げられ後悔した.

頑張って勉強していればちゃんと時計も持っていったはず.

『運も実力のうち』とはちょっと違うかもしれないけれど、頑張りっていうのはそういうところで出るんだろう、少なくとも自分は.

もう、忙しい時期に入り始めた気がする.12月のカレンダーを見るとかなり予定で埋まっている.休みがあってもどんどんシュウカツで潰れていく.とうとう3年連続で学園祭には行かなかったし.年が明ければ多忙を極めることは大体想像できる.が、たいてい現実は想像を超えるものなので、現実は干からびちゃうだろう.

バイトもサークルもほぼやっていなかった人間は.

そう、同年代の人たちを見ていて思うのは”バイタリティーに満ちている”ということ.ああいうのを若さっていうんだろうなっておじさんは思うよ.

でもね、そういうもうすでに年老いたような若者が果たしてどんな人生を送るのか、自分を実験台にしているようでエキサイティングです.こんな人間でもまっとうに生きれたら、若いやつらに両手広げて「ほーらこれでも生きてるよー」って笑ってやりたいし、落ちぶれたら……おとなしく後悔したいと思います.汗.

そんなこと言いながらも一番びびっているのが自分自身.結局は自分が一番大事なのか.いやになっちゃうね.

071130 N/A

お疲れさんです.全人類に.

今日もちょっと友達とセミナーに行ってきました.知れば知るほど、困惑するというか、知れば知るほど自信がなくなるというか、あんまりすっきりしていません.憂うつです.

体全体が憂うつです.ちょっと目のあたりが強めかな.謎.

芸術をやっている人たちを見ると、確かに売れなければかなり生活は辛いのかもしれないけれど、心の中は豊かなんだろうなと思います.ミュージシャンとか俳優とか.

芸術っていうのは、趣味とは異質なものだと思うんですね.芸術はその人の思想だとか生き方だとか、すべてがにじみ出たものだと思う.内面のものが.

今日、中二病という言葉を初めて知りました.実際に医学的な病気ではないのですが、中学生がとりがちな痛い行動のことを言うらしいです.まさに自分がこれにいくつか当てはまり、確かに、自分の中学2年っていうのは存在しないも同然の時代だったのでそれを今でも引きずっているのかなぁとか大げさに考えてしまいました.中2はひどかった.中2ってある意味、本当に大事な時期だと思うんですよね(思い返せば).そのとき自分は友達ほぼゼロでしたから笑.

まぁそんな時代もあっていいじゃないかと思っておしまいにして.

なんかそうですね.鍛えられますね.社会というサバンナに思いを馳せるとまことに自分の今いる世界が甘ったれでくそったれな世界なんだと思い知らされますね.

ちょうど、パンク小僧の頭を「そうかそうか」と言ってなでている感じですね.モヒカンなのでなでれないかもしれませんが.

かなり自己完結の話なので意味不明だと思いますが.そんな感じなのです.

でもあまり思いつめずに、なりゆきでよろしくで考えようと思います.拾われるべきところに拾われるだろう.Let it beがあんなに有名になったのはメロディーだけじゃなく、歌詞にも多くの人が共感したからだと思います.