Monthly Archives: 11月 2010

神楽坂一丁目通信局(TBN)のこと

今日は出身の東京理科大学の学祭に顔を出してきました。もっぱら、現役時代僕が所属していたサークル、神楽坂一丁目通信局の後輩たちに逢うことが目的でした。僕が卒業してからはや4年が経過し、メンバーはすっかり一巡してしまいましたが、それでも昔と雰囲気が変わらず、いきなり訪れた僕のうるさい技術トーク全開も嫌がらずに聞いてくれて、楽しく過ごすことができました。ありがとう。そしてごめんね!

このサークルと、そこで出会った仲間のおかげで今の自分があると思っています。そんな神楽坂一丁目通信局、通称かぐちょについて書こうと思います。

パソコン好きな高校生のみなさん、理科大の神楽坂キャンパスを受験予定のみなさん、理科大生でパソコン大好きでゲームとかWebとか大好きな人、入るサークルに検討したらいいんじゃないかと思います。

内部では、プログラミング、CG、DTM、パソコン自作の組に分かれていて、それぞれで活動しています。が、僕がいた頃は、それぞれの部門の垣根もあまりなく、部室に行けば、PCとゲームとWebが好きな人たちが集まっていて、技術トークで盛り上がっていました。きっと今もそうでしょう。

僕が1年生の頃、3、4年生の先輩方の技術力がとにかくすごく、その人たちと話がしたくて、授業をさぼったりすらしましたw
今は部員が増えた分、技術力は落ちたと聞きますが、ちゃんと、FPSライクな3Dゲームを作れる程度の能力はあるようですよ(←注:僕は作れなかった)

色々、現況の問題とかもろもろ聞きましたが、新人が入ると、1年間かけてC言語の基礎を教えることが精一杯で、なかなかレベルの高いことができないという、僕の頃と同じような悩みを抱えていました。

僕も2回プログラミング部門のリーダーをやりました。1年目、2年目を通じて僕が取った方針は「機会を与えるが、なるべく教えない」でした。hello, worldから、scanfを覚えたあたりで、「今まで覚えたことを使って何でも良いからゲームを作って」と課題を与えて、上がってきた作品に対してコードレビューやら、アドバイスやらをして、だんだん育ってもらうという方針を取りました。まず最初の課題を提出できるのが、10人入ってきて1人か2人、最終的にだいたい毎年1人しか残りませんでした。その一人に、「数当てゲーム」と称して、「200の話術を作ってあの娘を口説け」というゲームを作った奴もいましたが、彼には、printf、scanfベースで作ったCのプログラムを元に動くノベルゲームの簡易的なフロント的なものを作ってあげて、最終的に僕と彼でギャルゲ(とも言えない恥ずかしいゲーム)を作ってしまったのもネタとしてはよい思い出です。僕も僕で、Swingを覚えることができたし
、無駄にデザインパターンを試すことができたので良かったです。

このやり方こそ王道だと思っていたのですが、裏返しとして、少なすぎる部員に毎年存続の危機になづいました。この状況を打破してくれたのが、僕の次の部長でした。彼は10人くらいいる新入生をほとんど残し、それぞれが、当初は特出したレベルではないにせよ(うち一人は、その後急成長して、プログラマーとして活躍しているらしい)、みんながプログラミングを楽しんでいる、そういう状況を作ったことには驚きました。考えてみると、僕が反面教師?

その後部員の数は僕がいた頃の倍くらいになりましたが、みんながそれぞれ楽しみながらプログラミングなどの活動をする伝統は顕在しているように見えました。

部長のタイプとしては、僕みたいなスパルタタイプと、みんなでやろうなタイプとが、その後も出てきたみたいですが、良いじゃないか!楽しければ

そして、つい、OBとして、差し出がましいとは思いつつ、「これからは、こういうゲームをWeb上で、JavaScriptとCanvasでやるんだ!サーバはクラウドに置くんだ!僕はそのあたりを勉強しているけど、アイディアも、作業時間も限られている。もしよかったらその辺のノウハウについて情報交換の場を持とうじゃないか」なんてことを提案してしまいました。僕そんなに教えるほどできないじゃんwww

それはさておき、今日はまるで現役大学生の時みたいに、全力でハイテンションで技術トークができて楽しかったです。ああ、自分はこんな学生時代を過ごしたのだと思うと、嬉しくなりました。

完全に回顧ネタ、ともすれば自慢話にも読める今日のエントリですいません。また、現役のみんなには、いきなり来て迷惑だった上、こんな記事を書いて恥ずかしい思いをさせてしまってたらごめんね!

どうぞ、かぐちょこと、神楽坂一丁目通信局をよろしくお願いします。

現役の子一人が、このブログを検索で見つけて読んでくれていたみたい。名刺にいつもの似顔絵が書いてあるのを見て教えてくれました。嬉しいです。今後ともよろしくお願いします。

追記

調べてみると、Canvasの3D APIはWebGLが本命だけど、「まだ」だから、2Dベースに3D化するのが今のところはベターなんだね。正直WebGLのサンプル見てもう……て感じです。これでも昔Managed DirectXなんて地雷を踏んで(ry
まあ、あと1,2年もしたら、書店で本がワンサカ出たりするんじゃないかな?そしてから手をつけるだけでも良さそう。
とはいえ、Windowを表示するだけでWin32APIを(今更)覚えるのも大変だから、いきなりブラウザがあれば2Dでもグラフィックが書ける環境というのも悪くないんじゃないか?

岳人

岳人 2010年 12月号

久しぶりに買って読んでみたら、そのまま引きこまれてしまって一気に読みきってしまいました。

道具一式を現役山岳部に譲り渡し、一切の登山活動をやめて3年経つのに、僕の中にこの手の遺伝子が残っているらしい。一度関わってしまったら一生どこかしら繋がっているのか。大学で山岳部に4年間所属するということはそれだけ強烈な体験だったのだろうか、なんて自嘲的に書いてもウザイっすね!(笑)

内容は、2010年山岳遭難特集で、重い内容です。もし、ちょっとでも、山に興味を持っている人は読んでほしいと思います。いつもみたいにメタファーを使ってシステムと山を比べようと思ったのですが、今回はやめることにしました。ただしひとつだけ、僕の経験に基づく個人的な意見を述べておきます(上記雑誌の引用ではありません)

  • 山で体力をつけようとしない。体力をつけて山に登れ。
  • 知識も装備も準備も大事だけど、体力と体調管理が一番大切。(準備で前日に徹夜するな)

注:両方とも自分の失敗に基づく。

フロントエンドをJavaScript化してるページを検索してみた

 昨日アップしたテストページがGoogleで検索できるようになっていました。(現時点でbingにはまだインデックスされていませんでした。)

 残念ながら、JavaScriptによって挿入された動的な部分では検索できませんでした。枠として出力した静的なHTMLの部分では表示されますが、そりゃそうですね。となると、metaタグのkeywordとかdescriptionで頑張る方式しかないです。

 例えば、ECショップの商品ページを一個のHTMLで作成して、商品情報は後からJSONPで動的に取得して表示するといったアプローチは取れない、取っても商品ごとに検索にヒットさせられないということです。商品一つ一つに静的ページを作るのは無理(それが大変だからシステム化するのだから)なので、結局サーバーサイドテンプレートエンジンが必要になってくるのかな。で、それを使うとappengineでは遅いという。

 プレビューはできてるんだから、ページ表示後一定時間以内に動的出力された文言はキーワード化するとかしてくれたらいいのに。もう少し、現代のサーチエンジンには頑張って欲しいです。(笑)

 「もはや検索の時代じゃない、Likeボタンだ」

という向きもあるかもしれませんね。だけど、

Googleの提供するプラットフォーム(appengine)上で最適なアーキテクチャ(→http://d.hatena.ne.jp/higayasuo/20101109/1289290143)でページを作ると、Googleの主役の検索エンジンでヒットしないページが出来る

などということは、冗談も厳しいのではなかと思うのですが。

サーチエンジン頑張ってください

代替案

検索エンジン用のページを作って、それをクロールさせるとかそういった逃げがあるかもしれませんね。Rhinoかなんかを裏で走らせたら重いだろうと思ったけど、単なるプレーンテキストに近いページをpythonかなんかでデータだけ並べて取ってくればいいかも。
しかし、完全に静的なHTMLだとリダイレクト(それもmetaタグによる)しか遷移する方法がないので、どうやって検索エンジンをそっちを誘導するかが結局問題になることに気がついた。

appengine 1.4pr が出てた

おおぉぉぉ!
http://blog.virtual-tech.net/2010/11/google-app-engine-prerelease-sdk-140-is.html

これで、インスタンスを常に維持してればいいってこと?



↑ちなみに、これができても僕の仕事上(なぜ数日間にわたって一連のエントリを書いていたのかのワケ)はあんまりメリットがない。