Adobe AIR完全解説
これ欲しいなぁ。
今日本屋に行ったとき見てくれば良かった・・・。
アスキー (2007/09/26)
売り上げランキング: 1686
AIRは来るよ、きっと。
« 2007年8月 | メイン | 2007年10月 »
これ欲しいなぁ。
今日本屋に行ったとき見てくれば良かった・・・。
AIRは来るよ、きっと。
昨日のエントリでDooggleを検索したとき、↓こんな感じで「もしかしてGoogle」のリコメンドリンクが表示されました。

ということで、どんなときに「もしかして Google 」のリンクが表示されるのか気になったので調べてみました。
※Google アカウントにログインしている状態なので、パーソナライズド検索の影響を受けているかもしれません。
※2007/9/29 23:00頃の実験結果です。
まずはベタに "oogle" で検索。

表示されました。
次に "ogle" で検索。

ダメでした。
次に "o" を増やしていきます。
"gooogle" で検索。

出ました。
"gooogle" から順に "o" を増やしていって、"gooooooogle" までは出ましたが、"goooooooogle" ではリコメンドされず。
次の、"gooooooooogle" からは「もしかして」が表示されなかった "goooooooogle" がリコメンドされるようになりました。

これ以降、もっと"o"を増やしてみましたが、最後に「もしかして」が表示されなかった検索ワードがリコメンドされるルールになってました。
次に、Google の "G" を別のアルファベットに置き換えてみます。
↓○は「もしかしてGoogle」が表示されたもの、×は表示されなかったものです。
○ Aoogle

× Boogle
○ Coogle

× Doogle
○ Eoogle

× Foogle
× Hoogle
○ Ioogle

× Joogle
× Koogle
× Loogle
× Moogle
× Noogle
○ Ooogle

× Poogle
× Qoogle
× Roogle
× Soogle
× Toogle
× Uoogle
× Voogle

× Woogle
× Xoogle
× Yoogle
× Zoogle
意外と表示されないものですね。
犬専用検索エンジン Dooggle が期間限定(2007/11/14まで)で公開されています。
といっても、犬だけを検索してくれたり、あるいは犬語で検索できたりするわけじゃありません。
先日サービスが開始された、au の au one サービスのプロモーション用サイトです。
ほら、one → ワン だから、犬、ね。
入力したキーワードによって隠しページが見られるという仕様で、僕は↓こんなページを見つけました。
↓「猫」で検索
http://www.dooggle.jp/search?hl=ja&q=%E7%8C%AB
↓「おすわり」で検索
http://images.dooggle.jp/images?hl=ja&hl=ja&q=%E3%81%8A%E3%81%99%E3%82%8F%E3%82%8A
↓「おて」で検索
http://images.dooggle.jp/images?hl=ja&hl=ja&q=%E3%81%8A%E3%81%A6
↓「ふせ」で検索
http://images.dooggle.jp/images?hl=ja&q=%E3%81%B5%E3%81%9B
↓「ほね」で検索
http://images.dooggle.jp/images?hl=ja&hl=ja&q=%E3%81%BB%E3%81%AD
↓「!」で検索
http://images.dooggle.jp/images?hl=en&hl=en&q=%EF%BC%81
時間のある方は他のページも探してみてください。
Mash up award 3rd の結果発表の前ですが、Tech総研にMash up award にAPIを提供している企業の記事が掲載されました。
MashツꀀupツꀀAward発!Webの裏ワザ大公開/Tech総研
紹介されているのは、SAGOOL、kakaku.com、Place engine の3つ。
それぞれのサービスのおもしろさが紹介されてます。
あと、MA2で最優秀賞を取った黒田さん、独立されてたんですね。公務員を辞めて独立とはおどろき。
そんでもって未踏プロジェクトに選ばれてるんだものなぁ。流石ですね。
YouTube 上にあるGoogle Japan の公式チャンネルです↓。
YouTube - Google Channel Japan
最近、そこかしこのブログで見かける↓この動画は、ここから配信されていました。
iGoogle の魅力を伝えるシンプルでおもしろい動画になっています。
脱力系のキャラが良い味出してますね。
「チャンネル登録」をクリックすると、動画が追加されたタイミングでメールが来るようになるので便利です。
↓このロゴモーションも面白いです。なんとなくピクサーっぽさを感じてしまうのは僕だけでしょうか。
↓こちらは宇宙を舞台にしたロゴモーションがダイナミックです。
↓ロゴピク編は、そのうちGoogleのTopページに採用されそうな気がします。ある日突然ロゴがこんな風に動いたらびっくりしますよね。
Mashupedia にて第3回マッシュアップ・カフェの様子が公開されました。
・第5回 マッシュアップカフェ・第3回 「ブログ検索」前半 : マッシュアップカフェ : 記事 : MASHUPEDIA - マッシュペディア - : Web API x Mashup
・第6回 マッシュアップカフェ・第3回 「ブログ検索」後半 : マッシュアップカフェ : 記事 : MASHUPEDIA - マッシュペディア - : Web API x Mashup
僕が登場するのは後半の方ですね。
↓こちらではアンケートの結果も公開されています。
第三回 ブログ検索 : アンケート : マッシュアップカフェ : Wiki : MASHUPEDIA - マッシュペディア - : Web API x Mashup
僕の発表もそれなりに楽しんでいただけたようで、良かったです。
MA3で受賞した人には24日までに受賞の報告があるということでしたが、その類の連絡がなかったので、今回は受賞できなかったようです。残念。
まあ世の中そんなに甘くないってことで(MA2で受賞してだいぶ良い思いさせていただきましたからね)。
とりあえずは受賞作の発表を楽しみにすることにします。
これで2007年上期は一区切りついたので、しばらくはこれまで作ったモノの整理・メンテナンスや、勉強に注力しようかなぁと思ったり。
Javaを古くしたのは、頭の固いおやじたちさ。Javaだってもっと良いものがあるけど、理解しようともおもわないんだ。不幸なのは、頭の固いおやじたちの下で働いている俺たちさ。よいものがあるといってもおやじたちは聞く耳を持たないんだ。
そうだそうだ!と言いたいんだけど、気が付けばもう30歳。
自分では「頭の柔らかい」「最新の動向に詳しい」「下に理解のある」人間だと思いこんでいても、いつの間にか「頭の固いオヤジ」になっている可能性があるから、注意が必要だなぁ。
↓この辺のエントリを読んでいて思ったこと(決してこれらのエントリに対する意見ではないです)。
・Yoshioriの日記: だったら Java でも良いじゃないか!!
・ひがやすを blog - 2007-09-22
・技術日記@kiwanami - 2007-08-27
RoR が良い良いと言われる割に、表だった成功事例が少ないなぁと思っていたら、ぽつぽつ見るようになった「Rails やめといた方が良いよ」という意見。
どれも結局、「Rails」とか「アジャイル」とか言葉に踊らされた人が、よく調査せずに導入して失敗しているだけのような話だから、そんなに気にしないでおこうと思っているんだけど、Rails 人気の反動でこういう意見がどんどん増えてきて、「RoR使えねー」とかなったら嫌だなぁ。
「あの子超サイコーだぜ」と聞いて、いざ付き合ってみたら案外普通の女の子だった、みたいな。
でもって、学校で仲間に自慢げに「あいつ付き合ってみたんだけど、たいしたことなかったわ」と言って、その娘と付き合うことすら出来ない連中は、ほぞをかみつつも「たいしたことないんだ」と溜飲を下げてみたり。そんな感じ。
RoRと何かと一緒に話題にされることがあるstruts だけど、これも登場した頃は絶賛だけじゃなく、火を噴いたプロジェクトはたくさんあったはず。それでも地道に実績を積んで、かなり使われるフレームワークになったわけで、最初のいくつかの失敗PJのせいでRoRがすたれる心配はないと思っているんだけど、どうなんだろ。
Railsは確かに簡単に"簡単な"Webアプリが作れるフレームワークだとは思うけれど、"どんな"Webアプリでもそこにはまるわけじゃないし、"誰でも"そうなれるわけじゃないですよね。
本とかネットとかで「Rails 良さそう」と思った人は、まず自分でアプリを作ってみることだよね。サンプルアプリでも作らないよりましだけど、できればそこそこ本気のアプリを。
じゃないとさ、分からないと思うけどね、RoRを実際の開発に適用するメリット・デメリットなんて。特にデメリットの部分は。RoR人気でデメリット部分はあまりフューチャーされないから、そこは是非自分の身で知っておく必要があると思うな。
Java だろうが、PHPだろうが、Rails だろうが、デスマにするやつはデスマにするし、しないやつはしないですよ。
それは言語やフレームワークに依存するものじゃなくて、完全に「人」だと思うね。
今回のWEB+DB PRESS で面白かったところをメモ(引用箇所は目次)。
■特集1 GoF/J2EE/PofEAA/DIコンテナ [現代]パターンの基礎知識 第1章:ソフトウェアパターン概論 歴史、メリット、ソフトウェア開発のさまざまなパターン……後藤 章一 第2章:[基本]GoFのデザインパターン Singleton、Facade、Observer、Adapter、Template Method……竹端 進 第3章:必須のJ2EEパターン レイヤ、Service to Worker、Service Locator、DAO……江川 崇 第4章:ステップアップPofEAA ドメインモデル、トランザクションスクリプト……長谷川 裕一 第5章:Spring(DIコンテナ)のインタフェースに関するパターン インターフェースベースの設計とは何か……日本Springユーザー会(JSUG)
パターンって大事なんだけど、ちゃんと知っている人って意外と少ないんですよね。
僕自身、同期からは「勉強しろ」と言われつつ、ちゃんと本を読んだことないのです。
この特集は、勉強への第一歩につながる良い特集でした。
■一般記事
サーバの消費電力問題とは何か
データセンターに学ぶ……田中 邦裕
こっちの記事はセンターの消費電力に関するお話。
仕事はアプリ系だし、プライベートではレンタルサーバなので、この辺の問題については知らないことが多すぎました。
センターでの消費電力を押さえるハイテク、ローテクの数々、すごくおもしろかったです。
JavaScriptわくわく開発道
【第2回】ソースコードで学ぶJavaScript入門 ……データ、オブジェクト、関数……天野仁史
PHPベストプラクティス探検隊
id:amachang の記事。
読んでいるとJavaScript が書きたくてうずうずしてきます。
今回はprototype 周りのことが分かりやすく解説してありました。
[大規模&高速化]MySQL&RDBMSラボ
【第2回】レプリケーションの基礎と実践+SQLチューニング……池邉智洋
最近の興味は、Web サイトのスケーラビリティの確保にあるので、こういう記事はためになります。
ちょっと前、mixiのスケールアウトの記事がはてブで取り上げられていましたが、あれもおもしろかったなぁ。
「Excel で タスク管理シートを作る」に引き続きExcel シリーズ第2弾。
Excel のシートでスケジュールを管理してみます。
縦軸にタスク、横軸に日にちを取ったシンプルな作りですが、開始日・終了日を入力すると、前回紹介した「条件付き書式」を利用してスケジュールの線表っぽいものが書けます。

シートは2枚用意してあって、1枚目は予定の線だけですが、2枚目は実績の線も出るようになっています(その分若干もっさりしてますが)。
こんなのはMS-PROJECT のお仕事だよ!という声も聞こえてきそうですが、小規模なプロジェクトならこっちの方がシンプルで簡単に管理できるかと。
↓ダウンロードはこちらから
気が向いたらバージョンアップしていきますので、不具合・ご要望ありましたら、よろしくお願いいたします。
pop×popより、YouTubeを大画面で見る方法。
YouTubeの動画を大画面でみるための裏技 | P O P * P O P
誰かがブックマークレットとか作ってくれそうな・・・。
ってことで、作ってみました。(はてぶコメントに答え書いたけど一応エントリ化)
↓ドメイン判定しない簡易版はこんなかんじ
javascript:window.location.href=window.location.href.split(/[?=]/).join('/');void(0);
?と=のところで文字列を分割して、それを/でつなげるというシンプルな実装です。
ただ、これだとyoutube.com以外のページでも動いちゃうし、jp.youtube.comだとNG。
そもそも、v以外のパラメータが付いてきたときにあまり美しくないですね。
なので、ちょっと長いけど↓こんな感じが良いかも。
javascript:var u=window.location.href;if(u.match(/^http:\/\/www.youtube.com/)||u.match(/^http:\/\/jp.youtube.com/)){var ar=u.split("?v=");window.location.href='http://www.youtube.com/v/'+ar[1];}
YouTube大画面化 ←右クリックから「お気に入りに追加」(IE)
ドメインの判定をして、http://www.youtube.com か、もしくはhttp://jp.youtube.com のときのみ動作します。
ただ、これもURL を ?v= のところでぶったぎってるので、v パラメータが2番目以降のパラメータになったときに上手く動きません。パッと見た感じ通常はv パラメータが1番目に来てるので問題ないでしょう。
↓こちらでも同様のブックマークレットが紹介されています。
I am Cruby! - Youtubeの動画を大画面で見るブックマークレット
フルスクリーンボタンで良いのでは?という意見もありましたが、この方法だと大画面といってもブラウザ内での最大化なので、感覚としてはRimo.tvを見るような感じに近いんだと思います。
パソコンのモニタ全体に表示するのは嫌だけど、ブラウザの範囲内で大きくしたい、というときに便利です。
Google Docs & Spreadsheets にプレゼンテーション作成機能が加わり、Google ドキュメントに名称を変更しました。
Google Japan Blog: Google ドキュメントにプレゼンテーション機能を追加しました
待ってましたよ、この機能!
もう少し早かったら、先週のマッシュアップ・カフェでの発表に使ったのになぁ。
と、ぼやいても仕方ないので、公開も兼ねて、マッシュアップ・カフェでの発表資料を公開します(内容はたいしたこと書いてませんが・・・)。
プレゼンの右側にチャット欄があって、オンライン上でプレゼンできるようになってるんですね。
ページ送りも共有できるみたいです。
まだ公開したてってことで、パワポと比べると機能的に劣る面もありますが、これからのバージョンアップに期待しましょう。
Googleドキュメントにプレゼンテーション機能追加 - ITmedia Biz.ID
CodeZine:Googleドキュメントに「プレゼンテーション」追加(グーグル)
「Googleドキュメント」公開、プレゼンテーションも共有可能に:ニュース - CNET Japan
Japan.internet.com Webビジネス - Google ドキュメントがプレゼンテーションの共有に対応
余談ですが、そういえば今日、しれっとGoogle Reader が日本語化されてました。
今まで英語で見慣れてきたので、急に日本語になるとなんか違和感ありますね。
デザインも、ヘッダ部分にラインが入って他のアプリ(英語版)と同期を取っているので、そのうち主要サービス(moreのページで紹介されているやつ)に格上げされるのでしょう。
Movable Type 4 の正式版が出荷され、1ヶ月ほど経ったので、そろそろ僕もと思い、アップグレードにチャレンジしてみました。
といっても、方法は簡単で、
1.バックアップを取る。
2.ファイルを上書き。
3.mt.cgiへアクセス
のステップで簡単にできる、はずだったのですが・・・。
まず、ファイルのアップロードで一苦労。FFFTP が悪いのか、サーバが悪いのか、大量のファイルをアップロードしていると、途中で止まっちゃうんですよね。
なんだかなぁと思いつつ、せっせとアップして、今度はmt.cgiを実行しようとしたら、Internal Server Errorでちゃいました。どうやら、かなり重ための処理だったらしく、サーバのCGI 実行プロセスの制限になんかひっかかっちゃったみたいです。こういうときレンタルサーバは辛いなぁ。
ってことで、何度トライしてもInternal Server Error になってしまったので、断念。
実はこの作業の間、ブログが参照できない(ダイナミック・パブリッシングに設定していたので)現象が発生していたのでした。スタティック・パブリッシングにしてファイルを生成してから作業したら良かったです。
また今度時間があるときにチャレンジしよ。
「起業か転職か…SE、30歳の決断!」という記事に釣られて買ってしまいました。
やっぱり同じ年代の人は似たようなことで悩むんですね。
あと、「楽天発!企業エンジニアの新しい可能性」という記事もなかなか良かったです。
ベンチャーが成長していって大企業になったとき、いかにしてエンジニアにとって魅力ある会社であることを保っておくかというのはすごく大事なテーマだと思います。
たまにはSIerっぽいエントリ。
タスク管理と言えば、最近ではRemember The Milkとかcheckpadとか使うのが一般的になってきた気がしますが、会社の中でのタスク管理となると、外部のサービスNGってこともよくある話なので、手軽にExcelとかでタスク管理しちゃいましょうと。
作るのは↓こんな感じのタスク一覧。
まあ、このままベタに表形式で作っても良いのですが、「入力規則」と「条件付き書式」を活用するともう少し便利になります。
まずは「入力規則」。
これを使って、一覧左端の「□」「■」のプルダウンを作ります。
メニューの「データ」→「入力規則」を選択します。
表示されるポップアップで↓こんな感じで設定します。

入力の種類を「リスト」、元の値を「□,■, ,」にします。
これで、□=未実施、■=実施 としてタスクを管理できます。
続いて「条件付き書式」。
これを利用して、
・左端を■に替えたら、その行がグレーになる。
という機能を実現。
A3 から C3 までを選択して、メニューの「書式」→「条件付き書式」を選択します。
で、表示されるポップアップで↓こんな感じで設定します。
条件は「=IF($A3="■",TRUE,FALSE)」、書式は「書式」ボタンをクリックして↓セルの色を設定すればOK。

これで完成。
↓ファイルはこちら。
応用次第で、期限が近づいたら色を赤くするとかできたりします。
Mashupedia が企画・運営するオフラインの勉強会「マッシュアップ・カフェ」に行ってきました。
第3回のテーマは「ブログ検索」。僕はasso-ball.net でmash up 側のスピーカとしての参加です。
当日の進行は↓こんな感じ。
18:30-18:35 はじめに(中津川、リクルートMTL 八木様)
18:35-18:50 kizapi / 株式会社きざしカンパニー様
18:50-19:05 Technorati api / 株式会社テクノラティジャパン様
19:05-19:20 BLOGRANGER API / NTT、NTTレゾナント(goo)様
19:20-19:30 休憩
19:30-19:45 asso-ball / 栗栖
19:45-20:00 Zakuraいい幹事 / 株式会社ザクラ様
20:00-20:10 休憩、バー準備
20:10-21:30 マッシュアップバー
参照:オフラインイベント「マッシュアップカフェ 第三回」開催のお知らせ : お知らせ一覧 : MASHUPEDIA - マッシュペディア - : Web API x Mashup
発表資料は近々、Mashupedia のサイトで公開されるそうです。
ということで、各発表について思ったことなどを。
kizapi / 株式会社きざしカンパニー様
僕が、asso-ball.net や wordarium.net 、蝉とかでお世話になっている Kizapi。
発表の内容はKizasi.jpのサービス内容から、API の簡単な紹介まで。
Kizasi.jp は、「ブログ検索」ではなく、「ブログから、話題を知る、きざしを見つける」サービスであることを強調されてました。
Kizasiのサービスは、かなりおもしろいと思うんですが、ユーザがサイトに見に来るタイミングが良く見えないんですよね。
話題を見つけたいときはみんなヤフーやはてブに行くだろうし、話題になりそうなキーワードのきざしを見つけるには、それなりに苦労が必要だし。
voxの「今日の質問」やmixi のmixiニュースのように、各ブログサービスに話題を提供するインターフェースがあっても良いかもとか思ったり。あるかもしれないけど。
あと、Google trends がAPI を公開しだしたら、おもしろいmash up が作れそうだなぁ。trends は「検索された数」が出て、kizasi で「ブログで実際に書かれている数」とか取れたら、そのギャップが需要と供給の差になるわけで、そこから何かおもしろいものが作れそうかも。
発表の後、「スパムエントリをどうやって排除してるか?」という質問が出て、苦労しながらもそれなりに対応しているようでした。対応方法は当然企業秘密ってことで。
Technorati api / 株式会社テクノラティジャパン様
ブログ検索で有名なテクノラティジャパンの発表は、シンプルにTechonorati api に関するものでした。
その他のブログ検索エンジンとは違い、巨人Googleに対して、切り口の違うデータやAPIを提供して差別化を図ろうとしている印象でした。
API の事例として、アメリカの法律トラッキングサイトが紹介されて、このサービスはかなり面白いなぁと思いました(URLをメモるのを忘れちゃう失態。発表資料のupを待つか・・・)。
議会に提出された法律に対して、一般の人が意見を書いたりできるサイトらしく、アメリカで法律に関するサイトのデファクトスタンダードになっているのだとか。
日本でもこの手のサイト作ってみたら意外と流行るかもね。
質問コーナーでは、API の利用制限についての質問が出てました。
今、technorati の API は一日に500回までという制限がかけられているので、ちょっと大きめのサイトで利用しようと思ってもすぐに上限が来てしまうらしいのです。
この点については、サイトの内容や主旨を個別に相談すれば、便宜を図ってもらえると担当の方が言っていました。
API に利用回数の制限をかけているのは、スパムとして利用される(悪用される)のがとても多いからだそうで、利用回数制限のないRSSフィードは一日に相当な数アクセスされているそうです。業者は、それらのデータから、Adsenseを貼り付けたスパムエントリを自動生成します。すると、スパムフィルタをすりぬけて、それがTechnorati のランキング等々のデータに影響を与えて負のフィードバックサイクルができあがる(できあがっている)そうなのです。恐るべしスパム。
やはりこの世界はスパムとの戦いなのですね。
BLOGRANGER API / NTT、NTTレゾナント(goo)様
API側最後の発表はgoo のBLOGRANGER API 。
このAPI を僕は知らなかったのですが、特徴としては、JavaScript が提供されて、そのJavaScriptをりようしてAPI にアクセスするのだそうです。
一見便利そうですが、Mash up として利用するには癖がありすぎるなぁと思いました(そういう意見の人が結構たくさんいました)。
なんでJavaScript なのかというと、これまたスパム的にAPI にアクセスされるのを防ぐためらしいです。
うーん、とはいえ、結局はhttpのアクセスが発生するわけで、どんなリクエストが発生しているかは、割と簡単に見ることができますからねぇ。スパム的に利用しようと思ったとき、JavaScriptでラップしているからってのはあまり効果がないような気もします。むしろ、普通の人たちに利用されないという不都合を生み出すかも。
BLOGRANGER API はもうすぐサービスが終わって、その後新しいサービスが始まる予定らしいので、そのAPI はもう少し使い勝手が良い形にして欲しいですね。
さて、ここまでがAPI 側の発表。休憩を挟んでmash up 側の発表へ。
僕の発表は、そのうち発表資料を貼ります。
過去のマッシュアップ・カフェの内容を見ても、僕みたいな日曜プログラマ的なmash up が発表した回がなく、ちょっと浮いてたかもしれません。
でも、後のマッシュアップ・バー(懇親会)では、何名かの人に「おもしろいUIですね」と褒めていただけて嬉しかったです。
Zakuraいい幹事 / 株式会社ザクラ様
最後の発表はZakuraいい幹事様。
前半はサイトの説明で、飲み会をやるときのスケジュール管理からお店選び、投票、チャットなど便利機能が紹介されました。
僕が普段利用している「ちょー助」は、ログイン不要ってところが魅力なんですが、お店は別途選ばなきゃいけないんですよね。
いい幹事はその点を大きくクリアしていて魅力的。乗り換えたいんですが、ログインが必要ってのがちょっとなぁ。まあユーザ登録すれば良いんですけどね。あと、ケータイのインターフェースは用意されてるのかな(未調査)。
お店選びの部分を、ホットペッパーとぐるなびのAPIで実装しているそうなのですが、やっぱりそれなりに苦労が多いそうで。
データの絞り込み条件や登録件数にそれぞれくせがあって、使い勝手が良いとは言い切れないみたいです。
確かにその点は激しく同意。とりあえずAPI公開すればいいや的なところが最近増えてますからね。厳しく利用制限を設けていたりして、使ってほしんか使ってほしくないのか、どっちなんだい!(by なかやまきんに君)と突っ込みたくなります。
ここまでの発表で、前半のマッシュアップ・カフェが終了。この後、懇親会のマッシュアップ・バーへ。
マッシュアップ・バーの食べ物飲み物は、API提供会社の方からの差し入れ。ビールにワインにケータリングにと結構たくさんありました。参加費が無料ってことを考えると、飲み食いできて、他の開発者と交流できてとほんと良いイベントですね。
マッシュアップ・バーの間、飛び入りで自作のサイトを紹介することができて、何名かの方がプレゼンしてました。
僕もみんなが酔っぱらってきたころを見計らって、蝉をプレゼン。反応が心配でしたが、ZAKURA の方々を中心に楽しんでいただけたようです。
また来月あたりに企画されるそうなので、興味がある方は是非参加してみてください。
Mash up Award 3rd の出品作一覧が公開されました。
Mash up Award 3rd - 全応募作品 - サン・マイクロシステムズ
今回は193作品応募されたそうですよ。すげーなぁ。
やっぱ会社として取り組んでいたりするところは作りがしっかりしてそうだし、友達同士で集まってわいわいがやがや作ったのは楽しげな雰囲気が出ていて良い感じですね。
↓僕も今回以下の5作品を出品しているので、是非ともお試しください。楽天トラベルホテル検索Mappletとかベタに便利ですよ。
・U.T. (Unique Translator) --- 英和・和英辞書サイト
・age-surfin'
・timer gadget
・楽天トラベルホテル検索Mapplet
・蝉
あと、会社の同期や知り合いが出品しているのが↓こちら。
それぞれ、特徴ある面白いアプリなので、こちらも是非お試し下さい。
CodeZineでPythonに関する連載が始まりました。
CodeZine:Pythonを始めよう(入門, Python)
日本では、Ruby の人気に押されて若干陰が薄くなっているPython 君ですが、Google の3大オフィシャルプログラミング言語に入っているなど、世界的に見ると人気も実績もそれなりにある言語です。
Pythonの特徴と言えば、まず挙げられるのが、ブロックをインデントで表現する、というところでしょう。
{ とか end とか使わないので、コードがすっきりしますし、慣れると結構見やすいです。
あと、Python 2.5からはDB(SQLite)が標準のAPIとして盛り込まれている点も、是非プッシュしたいところ。
DBアクセスのあるちょっとしたアプリを作りたいとき、かなり力を発揮します。
ただ、Python 2.5が使えるレンタルサーバが少ないので、Python2.5で何かアプリを作って公開したいときは、専用サーバを借りるか自前サーバをたてるかしか道がないので、お気軽お手軽にってわけにはいかないんですよね。
あ、あと、Python の名前の由来が、イギリスが産んだコメディグループ「モンティ・パイソン」に由来しているってのも、僕的にポイント高いです。
職業プログラマはマシン語を知っておくべき、という↓このエントリと。
それに対して、無理して知っておく必要はない、という↓このエントリ。
404 Blog Not Found:マシン語読みの言語知らず
難しいですね。
僕は、6年前に仕事で Java を触ったのが初めてのプログラミング体験で、それ以来仕事では Java ばかり。言語の下にあるマシン語の世界は当然知らないです。
(Java も、こないだ同期のコジマ氏に「もっとちゃんと勉強してくれ」と言われたばかりだし)
そんなんでも最初の頃は良かったんですが、経験を積んで、自分の下に後輩が入ってくるようになると、アプリのトラブルシューティングでは自分が主役にならないといけないシーンも出てくるわけで。
そういうときは、やっぱりもっと下の階層の知識が必要だなと思うことがしばしばあります。
ただ、プログラムを書く人全員が知っている必要があるかと言えば、そうじゃないかなと。
組織で仕事をしているのであれば、それぞれの分野で知識を持った人がいて、そこで持っている知識の交流があれば良いんじゃないでしょうか。
gihyo.jp でフルフラッシュサイトに関する連載が始まりました。
価値を生むために知っておくべき,フルフラッシュサイト制作のあらすじ:第1回 はじめに ―なぜフルフラッシュサイトか―|gihyo.jp
第1回目は、「なぜフルフラッシュサイトなのか」というところから、今後、企画、デザイン、コーディングという流れが解説されるようです。
仕事でフラッシュのサイトやフラッシュのモジュールを発注するとき、どのように話を進めていけばよいのかというノウハウって、あまり知られていないと思うので、こういう連載は結構貴重ですね。
僕も昔、仕事でFlash アプリの設計・発注をしたことがありますが、普通のWebアプリと違ってドキュメントを書くのが難しかったのを覚えています。
そういえば、Ajax の仕様もドキュメントにするの難しいなぁ。
ああいう動的な表現が入るアプリって、ドキュメントを介しての大人数での開発は向かないのかもしれません。少人数でアジャイル開発がフィットするのかな。
GIGAZINE にGoogle の面接試験の質問が公開されてました。
Googleの面接試験、一体どのような質問をされるのか? - GIGAZINE
全部で17問紹介されていますが、どれも難しいですね。
ぱっと考えて分かるのは、
6.時計の長針と短針は一日に何回重なりますか?
9.この村には100組の夫婦がいて、夫は全員浮気しています。妻は全員、自分の夫以外が浮気していることは知っています。そしてこの村の掟では浮気や姦通は許されていません。また、どの妻も自分の夫が浮気していると知ればすぐに自分の夫を殺すという掟があります。この村の女達は掟には背きません。ある日、村の女王が言いました。この村には浮気をしている男が少なくとも1人はいる。さて、この村に何が起きますか?
12.時計を見ると3時15分でした。長針と短針の間の確度は?(ゼロではありません)
14.あなたは友人たちなどとパーティをしており、全員であなたを含めて10人います。友人の一人が賭を提案してきました。あなたと同じ誕生日の人がこの中にいればあなたは1ドルもらえます。あなたと同じ誕生日の人がいない場合には友人が2ドルもらいます。あなたはこの賭を受け入れますか?
16.あなたは同じサイズのボールを8つもっています。そのうち7つは同じ重さですが、1つはほかのものよりもわずかに重いです。秤を2回だけ使ってこのわずかに重いボールを見つけるにはどうすればいいですか?
この辺かなぁ。
6、12は計算すれば答えは出ますよね。
9の答えは、「何も怒らない」かな。これは間違っているかも・・・。
14は、「受け入れる」。
16は、まず3個ずつ計って、同じであれば、残った2個を比較。同じでなければ重たかった方の3個のうち、1個ずつ比較。これまた同じであれば残した1個がそれだし、重さが違えば重い方が該当のボール。
↓この問題とか手が出なさすぎて、IQサプリ的な解法しか考えつかないもんあぁ。
3.シアトルのすべての窓ガラスを洗浄するとして、あなたはいくら請求しますか?
やっぱりGoogleへの入社は敷居が高そうです。
Ruby まつもとゆきひろさんの、「X-over Development Conference 2007」の講演内容。
【XDev】「とりあえず作って,後から作り直せ」,Rubyのまつもと氏が語るエンタープライズ開発:ITpro
「結局のところ,顧客に何が必要かは,顧客にも開発者にも理解は不可能だ。そうならば,まずアプリケーションを作って,それを使ってもらい,顧客に合うように直すしかない。これからのエンタープライズ開発も,とにかく速く安く作って,直すことが重要になる」
そうなんですよね。激しく同意。
ただ仕事の上でこれを実践するには、顧客、上司の説得、意識改革が必須。そこが一番の壁だったり。
あと、利用者やデータが増えたときのことを考えてスケールアウトできるような設計にしておくとか、ちゃんと先を見据えた設計にしておかないといけませんよね。「とりあえず」にもレベルがあるってことで。
情報処理技術者試験がてこ入れされるみたいですね。
「初級シスアド」消える――情報処理技術者試験が大改革へ - @IT
会社からは試験受けろと言われているけれど、個人的に資格より優先させたいことがいくつかあるから、ついつい後回しになっちゃうんですよね。
これを機に考えを改めるか。どうしようかな。
新試験は最終決定をした後、平成20年度秋期にまずはエントリ試験を実施する。ただ、CBTではなくペーパー方式で実施。初級システムアドミニストレータ試験は実施しない。そのほかの試験は現行の試験制度で行う。全面的に新試験に移行するのは平成21年度春期からを予定している。
ペーパー試験なのは変わらないんだー。
論文書かせたりするのもよいけれど、鉛筆よりもキーボード使わせて欲しいな。
試験対策で、あらかじめ書くことを決めて、当日は書くだけ、みたいなメソッドが紹介されているけれど、それはそれでどうなんだろ。
本日Google Reader のバージョンアップがありまして、ついに念願の検索機能が付きました!
Official Google Reader Blog: "We found it!"

Google の代名詞である「検索」機能が今までなかったのが不思議なくらい。
これで、「Reader でフィードを確認しながら、タグやスターを付けて気になるエントリをチェック」して、その後ブログを書いたり、何か情報をひっぱりたいときに、そこから検索できちゃうわけです。
いやー、快適快適。
ただ、フィードの中身からのみの検索になるので、フィードで全文配信していないサイトはちょっと辛いかも。
その他のバージョンアップした点は(僕が気づいたところで)以下の通り。
・未読フィードの数が999までカウントアップされるようになった。1000を超えると1000+に。
(これまでは、99までカウントアップされ、100を超えると100+になってました。
・左のメニューをメニューとフィードエリアの間をクリックすることで消せるようになった。
(ショートカットキー「u」と同じ扱い)
ほんと嬉しいなー。
アジャイルな環境作りについてのプレゼン資料が公開されています。
masuidrive on rails ≫ Blog Archive ≫ アジャイルな環境作り - そんなに急いでどこへ行く
アイデアとコーディングの間に立ちふさがる「テンション」という高い壁は、確かに存在しますね。
何か作ろうと思っても、あれもしなきゃ、これもしなきゃ・・・。確かに面倒です。
格安レンタルサーバはいっぱいあるし、ネットワーク環境も日本は世界一だって話ですから、気軽に色々試している人がもっといても良いと思うんですが、なかなか。
スクリプト組んで、自動でなんでもできるようになるってのは素敵ですね。
やっぱ自由に使えるレンタルサーバがもっと増えて欲しいなぁ。
Perl や PHP だけじゃなく RoRも動いて欲しいし、もっと言えば Java のサーバサイドアプリが動作する環境が欲しいですね。
先ほど Mash up award 3rd に作品を応募しました。
今回応募したのは全部で5アプリ。全般的に小振りの作品ばかりなので、入賞は難しいかもしれませんね。
でもまあ、実用的なものから「これ何に使うの?」的なものまで幅広く作れたので、良い経験になったと思います。
応募したのは以下の作品達。
・U.T. (Unique Translator) --- 英和・和英辞書サイト
・age-surfin'
・timer gadget
・楽天トラベルホテル検索Mapplet
・蝉
一番最後の「蝉」が、「これ何に使うの?」的なバカアプリです。
Kizasi.jpで取得したキーワードランキングの言葉を、音声変換APIを使ってmp3に変換し、蝉の声っぽく表現「しようとした」アプリ。
wordarium.net同様、何をするでもなくぼーっと見てもらえたら良いかなぁ。
ただ、wordarium.netが癒し系なのに対して、今回はちょっと攻撃的。なんか騒々しい感じとか、人混みの喧噪っぽくもあります。
一週間で死んでしまう蝉のはかなさとBuzz wordのはかなさをだぶらせて切ない気持ちになったりとか、音声を聞き分けようとしてみたりとか、ね。
これで特に何かできるわけじゃないので、アプリというよりアートに近いかも。
mash up art 。
なんかタランティーノのプロダクション band apart みたいだね。
先日の「コメント・スパム対策 (でぃべろっぱーず・さいど)」でコメントスパム対策を施してみましたが、今のところ順調にスパムを弾いているようです。
はてブでは↓こういうフェイクの投稿エリアとかを用意してやる方法が紹介されています。
≫ ロボット投稿型スパムをさくっと防ぐ超簡単な方法 | ひとり開発ブログ
ただ、うちのサイトのようにMovableTypeを利用しているサイトだと、CGIのパスが分かったら、MT標準のパラメータでリクエストを送られてしまうので、上記対策はあまり効果がなさそう。
最近のスパムは、ページをクロールして、スクレイピングしてCGIのパスを取得、そしてリクエスト送信、なんてことをしていそうなので・・・。あくまで推測ですが。
さて、この平和な日々はいつまで続くことやら・・・。
age-surfin'のリンク作成ページに、検索結果のページング処理を追加しました。
ってか、最初から付けておけよ的な機能ですが・・・。
先ほどテストデータを消したので、データ数はまだ14件ほど。僕と会社の同期がほそぼそと使っている感じですね。
(これから自分のブログを過去にさかのぼって、リンク貼っていこ・・・)
一応、mash up award 3rd 出品に向けて作ったんですが、やはりCGM系のサービスってユーザが利用してなんぼのところありますからねー。
今回のage-surfin'の仕組みって、利用者が増えれば増えるほど面白くなるけれど、少なければ逆に意味分からない仕組みなので、最初にどうやって使ってもらうかが重要だなぁと思ったり。
前回同様、今回も、「no ユーザID、no パスワード」なアプリなので、もっと使ってくれる人増えると良いなぁ。
さて、MA3 締め切りまであと1週間。どの辺をブラッシュアップしようかな。
ここ数日コメントスパムの数が増えてます。
以前はトラックバックスパムの方が酷く、結局トラックバックを閉じることにしたのですが、コメント欄を閉じるのはちょっとやだなぁということで、下記対策を取ってみました。
コメントスパムの書込の内容を見ると、エントリのタイトルから日本語を抜き取って、それをコメント欄に入れているっぽいんですね。
つまり、最近のスパム判定のルールとして、「日本語が含まれないコメントはすべてスパムと判定する」というルールがメジャーになっており、それに対応するためにページをスクレイピングして、タイトルとコメント投稿CGIのアドレスを抜き出しているっぽいのです。あくまで「っぽい」ですけど。
なので、MovableTypeで、mt-comment.cgiの名称を変更して、設定ファイルを書き換えるというやり方は、あまり効果があがらないように思えます。
ということで、今回取った対策は、コメント欄のformのactionにはダミーのパスを記述しておき、onsubmitのイベントで、actionを動的に書き換えてやるという方法。
MT3.xだったら、「テンプレート」→「アーカイブ」→「エントリー・アーカイブ」で、コメントの投稿フォームのところが↓こんな風になっているところを、
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
↓こんな感じに書き換えたらOK。
<form method="post" action="<$MTCGIPath$>mt-comm.cgi" name="comments_form" onsubmit="this.action='<$MTCGIPath$><$MTCommentScript$>';if (this.bakecookie.checked) rememberMe(this)">
変更後は、コメントを投稿してみて、ちゃんとJavaScriptが動作することを要確認。
さて、効果あると良いなぁ。