« 2008年1月 | メイン | 2008年3月 »

2008年2月 アーカイブ

2008年2月29日

CAPTCHA

CAPTCHAの有効性が失われているという2つのエントリ。

bot対策は難しいですよね。

対策を複雑にすればするほど、いたちごっこの末、訳が分からないところに行き着くのは目に見えているので、さすがのGoogleも画像に書いてある文字を入力するCAPTCHAに頼っているのでしょう。

CAPTCHAの抱える問題とは、ようするに「強度を上げれば(読みにくくすれば)人間にも読みにくい」という単純かつ原理的な矛盾です。

そうなんですよね。

確かに、CAPTCHAを利用しているサイトで、画像に何と書いてあるのか分からず、認証に失敗しまくるということがたまにあります。

そのうち、画像に書いてある質問に答える、といった複合的な仕組みがでてきそうですね。

その場合、海外のサービスを使っていたら、質問を英語で理解して英語で答えると言うところにハードルがありそうですが。

 

ちなみに、本ブログのトラックバックやコメントもスパムに悩まされた時期があって、トラックバックは結局閉じてしまいました。ただ、コメントスパム対策は、このエントリで書いた方法が功を奏しました。

2008年2月28日

次男が産まれました。

本日、午前9時前に次男が誕生しました。出産に関するお話はこちらに書いています。

今回、オープンシステムという仕組みを使って、日赤の設備で、個別に契約している助産師さんにとりあげてもらうという方法を取りました。妻が色々と手配していたのですが、結果、成功だったと思います。

で、今日、出産後の妻を病院に残し、助産師さんに自宅まで車で送ってもらったときにしたお話が、なんだかとても印象深かったので書き残しておきます。

 

その助産師さんは、もとは東大病院の産科で助産師として働いていたそうです。

当時は、看護婦の数も助産師の数も足りず、国がお金を出して、授業料も教科書代も無料だったそうです。

生命の誕生の場に立ち会い、助産師にしかできないことをする、という授業のときに教わった志は、実際の現場ではまったく通用しなかったそうです。

昔は、今よりも医者が幅をきかせており、助産師は医者の手駒として良いように使われていたそうです。陣痛で苦しむ妊婦のそばにいて、子どもが産まれるまでフォローしたいという希望は叶えられることはなく、あれやこれやと雑用を押しつけられ、苦しんでいたのだとか。難しいケースがあつまる東大病院では、その傾向がより大きかったそうです。

辞めてタクシー運転手にでもなってやる、と思うことが何度もあったそうですが、ただでさえ人手不足で、並大抵の理由では辞めることができませんでした。「結婚し、引越をして遠くに住むことになるので、働けません」そういう理由で職場を離れても、度々「もう一度働いてみないか」という職場復帰への勧誘の連絡や、引っ越し先の近くの病院からのスカウトもしばらく続いたそうです。

その後、出産、育児を経て、助産師として独立したのだとか。

病院時代に取り上げた子どもは百数十名。助産師になってからは600名を超えるそうです。

一方で、一度助産師になりながらも、もっと多くのケースに触れていたいという理由で、産科の看護婦に戻られた方もいるのだとか。

自分が本当にやりたいこと、喜びを感じることは何か。それを突き詰めて考え、実践することが大事なんですね。

大手SIerで働きながら、プログラミングが好きで、今後のキャリアについて悶々としている僕にとって何かのヒントになる良いお話を聞かせてもらいました。

 

2008年2月27日

gihyo.jp Jaxer の連載第3回公開

aptana_gihyo_jp.png gihyo.jpのAptana Jaxerについての連載第3回が公開されました。

Aptana JaxerでサーバサイドJavaScriptを始めてみよう!:第3回 サンプルアプリ(タスク管理アプリ)の作成 -タスクの登録・表示-|gihyo.jp … 技術評論社


今回は、Aptana Studio を使って、簡易なタスク管理サンプルアプリを構築する内容になっています。実際に動かしながらJaxerを試すことができるので、週末に時間がある方は一度お試しあれ。

昨日AIRが正式リリースされましたが、本家Aptanaのブログでは、下記のようなエントリで、Jaxer on AIRをプッシュしています。

"Jaxer on AIR": Aptana Jaxer and Adobe AIR - Desktop & Server, All Ajax | Aptana

10分程度のスクリーンキャストで、(僕が連載で作っているものよりだいぶ高級な)タスク管理アプリを構築するデモが見られます。これを見てると、AIRアプリはHTML + JavaScriptで作るのもありだなと思えてきました。

2008年2月26日

WEB+DB PRESS vol.43

WEB+DB PRESS Vol.43
WEB+DB PRESS Vol.43
posted with amazlet on 08.02.26
WEB+DB PRESS編集部
技術評論社 (2008/02/23)
売り上げランキング: 152

WEB+DB PRESS vol.43を買って、ざっくり読みました。

興味を引いたのは以下の記事。

  • 現場で速攻使えるテクニック Eclipse[開発リズム]向上大作戦
  • 最新[データ交換フォーマット]攻略ガイド JSON/YAML実践入門
  • はじめてのAmazon EC2 & S3 これからの新サービス公開の形

Eclipseの記事は、便利ショートカット系の話や、リズム良く開発を行うためのTipsが書かれていて、すぐに役立つ感じ。

JSON/YAMLの記事は、分かっているつもりで実はちゃんと理解していなかったJSONやYAMLの仕様を理解するのに役立ちました。

Amazon EC2 & S3の記事は、ちょうどaptana JaxerがEC2で動かせるという発表があったばかりだったので、渡りに船とばかりに参考にさせていただきました。早速昨夜EC2を使ってみたし。

 

2008年2月25日

Adobe AIR 1.0 Release

AIR正式リリースキター!

これでようやく本腰入れてAIRに取りかかれるね。

Ajaxianのところの「on AIR」ってのが、こっぱずかしいけどカッコイイネ。

Flex Builder 3 は、30,000円かー。買っちゃおうかなー。どうしようかなー。

まあ、まずはAptanaとかでAS3を勉強してからだな。

うーん。

Jaxer + Amazon EC2 にとりかかるか、AIRにとりかかるか、悩むなぁ。

(子どもが産まれたら、それどころじゃないって話ですが)

2008年2月24日

JaxerがLinuxやamazon EC2で利用可能に

Aptana Jaxerのブログで発表がありましたが、サーバサイドJavaScriptサーバのJaxerが、LinuxとAmazon EC2で利用できるようになったそうです。

現在サポートされているLinuxは以下のとおり。

  • Ubuntu
  • CentOS
  • Fedora

サポートされているってのは、テストされているということなので、上記以外のLinuxでも動作するかもしれません。

レンタルサーバで使いたいけど、無理だろうなぁ。ますます自前サーバ作りたくなってきた・・・。それかEC2試してみようか・・・。

 

最新のエントリではJaxerの今後のロードマップが語られています。

A Jaxer Roadmap | Aptana

  • An even more Ajax-y experience: the callback environment will be made more natural, server-side support for Ajax libraries will expand, mashups will be easier to implement, etc.
  • Scalability and performance: we'll release some interesting benchmarks on current Jaxer performance and stability, illustrate how it scales, and make some significant improvements.
  • More APIs: we'll make database, file, network, and native interfaces more powerful while maintaining clean APIs that feel at home in JavaScript and HTML.
  • More integration: we're creating a true bridge to Java by leveraging DWR (Direct Web Remoting) server-side, in addition to our current support for Tomcat (and other servlet containers); we'll expand the list of supported web servers from the current Apache 2.x and Jetty to IIS, Apache 1.3, and perhaps others; and we'll work on other database drivers.
  • Deployment: we're working on making one-click deployment a reality, so you can develop your Ajax apps in Studio, leveraging Jaxer for the server side, and click to deploy your app to a hosted, managed, monitored, and scalable environment.
  • Tooling: How about seamless end-to-end debugging of your Ajax app — step through your program starting on the server, move to the browser, go back to the server for a callback, then back to the browser for processing the result...
  • Real-world apps: in the spirit of eating our own dog food, and supporting dog food consumption in the community, look for complete applications written on Jaxer and en expansion of our web site and of Studio so you can share your snippets, samples, projects and applications.<.li>

スケーラビリティやパフォーマンスを向上するとか、サポートするWebサーバの種類を増やすとか、結構メジャーにのしあがることを真剣に目指してるんですね(そりゃそうか)。

 

2008年2月23日

作業時間の見積もりでありがちなこと

仕事の中で、メンバーにタスクを割り振りして、それぞれ作業時間を見積もってもらうことがあるんですが、そのときにありがちなワナについて。

 

「やったことがないから分かりません」

こういうこと言う人は、まず確実に、やったことあるタスクでも正確に見積もることはできません。

作業時間を見積もるということは、作業の内容をイメージするわけで。やったことがなければ、作業の内容を想像して、過去にやったことがある似たような作業を参考にすれば良いのです。

それを放棄していると言うことは、つまりやるべき作業のイメージが沸いていないわけで。

新人が言うならまだしも、そこそこ経験を積んでいるはずの人からこういう発言を聞くとちょっとがっかりしちゃいます。

 

残業時間込みで人日を計算

あるタスクAを終えるのに、朝から終電ギリギリまでかかったとき、

「一日仕事だったなぁ」と振り返るか、「13時間かかったなぁ」と振り返るかでは大きな違いがあります。

普通に定時まで働いたとき、一日は大体7.5時間、メールチェック等々の時間を考慮すると、「一日」の作業時間は最大でも「7時間」程度です。

前者の「一日仕事だったなぁ」と振り返った人は、後にタスクAと同じようなタスクを見積もるときに「一日」と見積もってしまいます。そしてそのまま終電コースになること必至。

作業時間を時間単位で把握出来ない人がプロジェクトのスケジュールとか引いちゃうと悲劇ですよ。

送れたときに残業でリカバリ、のはずが最初から残業時間込みのパツパツスケジュールをひいているわけですから。

 

要は惰性で仕事しちゃだめってことですね。

2008年2月22日

Matz in Google TechTalk

Rubyの作者まつもとゆきひろさんが、Google のTechTalkで講演されたようです。

Google TechTalk - Matzにっき(2008-02-20)

GoogleってRubyには興味ないのかと思ってましたが、そうじゃないんですね。

1.9のM17Nの実装について突っ込んだ質問をしてくるどこかで見たような人がいたが、 Guido van Rossumその人であった。

その後、Google Lunchをいただいた。Guidoも一緒に。

なんと!Rubyの作者とPythonの作者がGoogleでランチとはおもしろそう。ustream.tvでストリーミングして欲しい顔合わせですね。

MatzのTechTalkはGoogle Videoにアップされるのかな?

2008年2月21日

iGoogle Gadget勉強会

今日は定時後に会社でiGoogle Gadgetの勉強会を開きました。

Webカメラとかでustreamすりゃーよかったかも。

内容は、"Gadgetって簡単に作れるよー"、"世界デビュー簡単だよ"みたいな話。iGoogle Gadget自体の解説は、コンパクトに必要最低限にまとめてるので、目新しいことは特に書いてないです。

大半をしゃべりでカバーしたので、資料だけ見てもおもしろくないとは思いますが、公開しときます。

2008年2月20日

GoogleアカウントにGoogle Adsenseが統合

今朝、Google Adsenseにログインしたら、Googleアカウントへの統合ウィザードが表示されました。

いくつかのStepを経て、無事統合。これで、都度ログインの手間が省けます。

そういえば、1年以上前に、Google AdsenseのサポートセンターにログインIDのメールアドレスをYahoo!メールからGmailのアドレスに変えたいという問い合わせをしたのですが、そのときは「Google AdsenseはGoogleアカウントに対応しておりません」的な回答で実現できなかったんですよね。

その後、統合の気配がなかったので、裏のデータの整合性の問題とかでてっきり対応できないものかと思っていたんですが、そんなことありませんでした。

他のサービスは割と早い時期にGoogleアカウントに統合されているので、Google Adsenseの統合の遅れが何に起因するものなのか気になりますね。

そういう需要がなかっただけなのか、データ量が他のサービスと比較して相当多いからなのか。

ま、便利になったからその辺の事情はどうでも良いんですが。

2008年2月19日

最適化力

フレームワークの辿る道の話。

機能を強化するというと聞こえはいいのですが、悪い言い方をすると、どんどん肥大化していきます。
肥大化していく中で、あるポイントを過ぎるとユーザは、重い、あるいは、機能過剰と感じ、離れていく。

「肥大化するフレームワークは衰退する」2008-02-19 - ひがやすを blog

jQueryの作者であるJohn Resigさんも小飼弾さんとの対談で↓こんなことを言ってました。

弾:ただのエンジニアとすごいエンジニアを分けるものは何でしょう?

Resig:あえて機能を追加しないことができる人がすごいエンジニアだ思います。すなわち具体的に何が重要であり,かつ何が重要でないかということを理解したうえで,その理解のもとで最適化ができる人。

小飼弾のアルファギークに逢いたい♥:#10 jQuery/Mozilla John Resig|gihyo.jp … 技術評論社

最適化って大事です。

Less is More.

やっぱりよく使われるシステムって、シンプルで飽きが来ない、白米のような存在なんだと思います。

2008年2月18日

ガンダム名セリフ

バンダイチャンネルに「ビジネスでも使える!? ガンダム名セリフ集」ってのがありました。

バンダイチャンネル ガンダム名セリフ集|機動戦士ガンダム特集

仕事で成功したとき

「ザクとは違うのだよ! ザクとは!」

なんてベタなやつから、

無理して人前で発表したとき

「これでは道化だよ」

とか

突っ張った主張をしたいとき

「ガンダムにおひげはありますか!? ありません!」

なんてマニアックなものまで。

シーンを変えて僕が使うとしたら、

新しいPCが来たとき

「ザクとは違うのだよ! ザクとは!」

とか

共有ネットワークフォルダのファイルを消してしまったとき

「僕は・・・取り返しのつかないことをしてしまった・・・」

とか

プログラミングのタスクを取り上げられたとき

「やらせはせん、やらせはせん、やらせはせんぞ!」

とかかなぁ。

最近の若い子は微妙にガンダムのこと知らなくて、こういうセリフ使っても「何です、それ」みたいにしらけること多いんだけどね。

JOJOのセリフとかの方が使いやすかったりするのかな。

デプロイ中にバグが見つかったとき

「時よ、止まれ!」

とか

ブレークポイント入れてデバッグ実行して、解除するとき

「そして時は動き出す!」

とか。

プログラミングに特化したスタンドとか欲しいなぁ。

2008年2月17日

Google Apps Hacks

先日、Philippなる人物からメールがありました。

外人からの英語メールだったんで、どうせスパムだろと思いつつ文面を読んでみると、「オライリーでGoogle Apps Hacksなる本を書いてるんだけど、あんたの作ったiGoogle theme editor bookmarkletがすげーHackだから、紹介しても良い? できればファースト・ネーム教えて欲しいんだけど」みたいなことが書いてあるじゃないですか。

そっこう返事しましたよ。

本当に紹介してくれるならすごいなー。まあ、一行だけのさらっとした紹介だとは思いますが。

本の出版は3月(米)。

日本語に訳されるのか分からないけど、オライリーの本に名前が載るってちょっとテンション上がりますわ。

英語ブログ書いてみるもんです。

2008年2月16日

協力会社との信頼関係

最近のSeaser2のひがさんのブログがおもしろい(まあ、おもしろいのは前からおもしろいんだけど)。

特に、以下のエントリ。

SIerの方なら、こう思う方もいるかもしれません。「甘いな。社員を教育するならともかく、パートナー会社を教育する必要ないじゃん。」甘いのはそう思ったあなたのほうです。今は、一社が利益を独占する時代ではなく、「ともに繁栄」していく時代です。自分たちがよければいい的な企業は、社会のエコシステムから取り残されていくはずです。少なくとも私はそう信じています。

私、SIerですが、まったくその通りだと思いますよ。

いつかのがっちりマンデーで、コマツが特集されたときのことをふと思い出しました。

こちらのページに書いてありますが、コマツは重機の各部品を製作している協力会社を大切にしているというお話。

「コマツが協力会社に丸投げをしない」

例えば、新たな部品を発注する場合、コマツは協力会社を徹底的に支援します。まず初めに、数名のコマツ社員を発注先の協力会社へ出向させます。そこでコマツ社員がコマツの最新技術やノウハウを協力会社に伝え、一緒に新しい部品を作ります。そして、協力会社の生産体制が軌道に乗ったところで社員はコマツへ戻っていくという仕組みなのです。

「出向」までさせちゃうんですね。

確かに、普通に協力会社に丸投げしてしまうと、契約内容にもよりますが、普通はその協力会社での開発内容に発注元が口出しすることができません。

「もっとこうしたら効率的なのに」「こういう風に開発進めたら良いのに」と思っていても、がっつりそこに入っていくことができないんですね。

コマツのように、協力会社と一丸となって成長していければ良いなぁと思います。

そのためには、会社間の信頼、現場のメンバー同士の信頼関係は必須。目先のちょっとした利益を追ってしまって、大切な信頼関係を失うことがないようにしたいものです。 

2008年2月15日

アジャイルプラクティス・ガジェット

先日読んだ「アジャイルプラクティス」があまりにも心に響いたので、ガジェット作ってみました。

目次の内容をランダムで表示します。

iGoogleに飾るもよし、Googleデスクトップに飾るもよし、です。

iGoogleに入れるには、上記「+Google」のボタンをクリックしてください。

ガジェットの中の「アジャイルプラクティス」のリンク先はAmazon.co.jpで、アフィリエイトリンクになってます。

まあ、このガジェット使おうかなと思う人は、そもそも本持っているでしょうから、非常に役立たずなアフィリエイトですが。

僕は、iGoogleとGoogleデスクトップに入れて、日々の開発のスパイスにしようと思います。

※こういうガジェットを作るのは著作権的にどうなのかなと思いましたが、目次の文言をブログに書いて、アフィリエイトリンク貼るのとそんなに変わらないんじゃないかなぁと思ったので、公開してみました。

↓ちなみに、GoogleデスクトップにGoogleガジェットをURLから追加する方法を書いておきます。

Googleデスクトップ上部の「+」ボタンを押すと以下のようなウィンドウが出てきます。

20080215_01.png

右上の検索ウィンドウにガジェットのXMLのURLを入れて検索ボタンを押します。(今回のURLは、http://www.chrisryu.com/gadget/agile_practice/gadget.xml です)

すると、検索結果にガジェットが出てくるので、追加ボタンを押すと追加されます。

20080215_02.png

2008年2月14日

gihyo.jp Jaxer の連載第2回公開

aptana_gihyo_jp.png gihyo.jpのAptana Jaxerについての連載第2回が公開されました。

Aptana JaxerでサーバサイドJavaScriptを始めてみよう!:第2回 Jaxerの環境構築/サンプルアプリ解説|gihyo.jp … 技術評論社

今回は、Jaxerを利用する環境構築や、Aptana Studioでプロジェクトを作成する手順、及び、サンプルの紹介などを割と丁寧に解説しています。

次回からは、いよいよサンプルアプリケーションの作成に入っていきますので、サーバサイドJavaScriptに興味がある方は是非読んでみてください。

Aptana JaxerでサーバサイドJavaScriptを始めてみよう!:第1回 Aptana Jaxerとは?/Jaxerのここが素敵|gihyo.jp … 技術評論社

2008年2月13日

アジアのiGoogle Gadget

Google Code Blog でアジアのガジェットが紹介されていました。

Google Code Blog: Go Go Gadgets in Asia

ガジェットコンテストってアジア各地で開催されていたんですね。

ってか、↓このガジェット渋すぎ!

http://www.google.com.tw/ig/directory?url=bawbaw.deep.tw/online_beatitude/online_beatitude.xml

僕もこういうの作れば良かったな。

もっとこうオリエンタルを全面に打ち出したデザインとか考えてみようかな。

2008年2月12日

システム開発版ビフォー・アフター

全力でプログラマーを「人気の職業」に押し上げたい - Attribute=51

  • 顔や名前を出してもいいと思う人は、もっと出したらいいと思う。ハンドルネームでもいい。開発ブログと作ったアプリをリンクさせる。※これは結構やってる人がいる!ステキだ! でも足りない気もする。あと一押し欲しい。
  • Webサイトを立ち上げたら、「このサイトを作った人」というページを1枚作るべき。オレが知りたい。

システム開発って建築によく例えられるけど、有名建築士が設計した建物とかは書籍にまとめられたりするのに、システム開発者はそういうのがないわけですよ。

せめて、システム開発版「ビフォー・アフター」があっても良いじゃないかとか思ったりして。

Case.1 問題だらけのシステム

依頼人(以下、依) 「サイトのアクセス数が増えてきたのでそろそろサイトを作り替えようと思いまして」

匠 「なるほど。どういうサイトに作り替えたいかというイメージはありますか?」

依 「ぱっと、サイトを訪れた人が明るくなるような、夢のあるサイトにしたいです」

匠 「分かりました。やってみましょう」

ナレーション(以下、ナ) 「匠は、早速ソースコードを見てみることにしました」

匠 「これは・・・酷いな・・・」

ナ 「そこで匠が見たものは、バージョン管理されずただWindowsの共有フォルダに入れられているだけのソースコードでした」

匠 「・・・Subversionを導入しましょう」

ナ 「匠が取り寄せたのは、昨今バージョン管理ソフトウェアとして注目を浴びているSubversionでした」

匠 「よし。これでバージョン管理はOKだな」

ナ 「一安心してソースコードを眺める匠。しかし、そこにも大きな問題が」

匠 「これは・・・セキュリティ対策が全然なされてない・・・」

ナ 「なんということでしょう。今動いているシステムは、セキュリティ対策がまったく施されていなかったのです」

匠 「Aさん、ちょっとこれ、見てよ。ここの入力フォームに、こうやって入力して、送信すると・・・」

依 「あ!」

ナ 「Aさんの目の前に現れたのは、画面いっぱいの顧客情報でした」

匠 「これまでにハッキングされていないかどうか、チェックする必要がありますね・・・」

(中略)

ナ 「完成後、初めてサイトを訪れるAさん」

依 「どきどきしますね(と、画面をクリック)。おお!」

ナ 「Aさんの目の前に広がったのは、画面一面に広がった白。その真ん中に、ぽつんとたたずむ一組の入力フォーム。日本人のわびさびを表現した匠の傑作デザインです」

依 「いやー、シンプルで美しいですねー」

ナ 「ログインすると、一転、そこには極彩色の楽しげな商品一覧画面が広がります。Ajaxを駆使して動的で広がりのある一覧画面を表現しました。Ajaxで利用されているフレームワークは、匠の特注品です」

依 「楽しいですねー」

ナ 「時が経つのを忘れて夢中で一覧画面を眺めるAさん。今回のリニューアルには満足していただけたようです」

依 「ほんと、匠にお願いして良かったです」

 

こんな感じ。

 

システム自体のビフォー・アフターじゃなくても、開発現場そのものに対してのビフォー・アフターでもおもしろいかも。

Case.2 どんよりした開発現場

依 「ほんと、困ってるんです」

ナ 「今回の依頼者は、開発現場が暗くどんよりしていて、開発効率が上がらないと言うBさん」

匠 「分かりました。お任せください」

ナ 「早速開発現場に向かう匠」

匠 「これは・・・酷いな・・・」

ナ 「そこで匠が見たものは、目がどんよりと曇り、数日間入浴したようすもなく、黙々とモニタに向かってキーボードを打ち続ける開発者の姿でした」

匠 「まずは、これを使いましょう」

ナ 「匠が取り出したのは、カレンダーと赤・青・黄のシールでした。これを一体何に使うのでしょう」

匠 「気分が良い日には青、普通の日は黄、悪い日には赤のシールを貼って帰ってください」

ナ 「なんということでしょう。匠はカレンダーにシールを貼ることで、開発者の気持ちを可視化することに成功したのです」

(中略)

ナ 「改善後、初めて開発現場を訪れるBさん」

依 「緊張しますね(ガチャ、とドアを開ける)。おお!」

ナ 「扉を開けたBさんが見たものは、ミーティングスペースで立ち朝ミーティングを開いている開発者達でした。どの開発者も皆すっきりした顔をしています」

開1 「じゃあ、このタスクを○さん、このタスクを×さん」

ナ 「モニタに映し出されたプロジェクト管理ツールのタスクを適切に割り振る開発リーダー」

開2 「了解。ぱぱーっと終わらせて、今日はさくっと飲みにいっちゃいますか」

開3 「おー、いーねー」

ナ 「なんと開発者達はタスクを適切に割り振り、定時に帰ることができるようになっていました。定時後にはみnなで飲みに行ける余裕まであります」

依 「ここまで、変わるものなんですね」

ナ 「こうしてまた、匠によって不毛な開発現場が一つ救われたのでした」

 

なんか自分で書いていて見てみたくなったよ。

2008年2月11日

関係者多数の開発でのソースコード管理とか情報共有とか

デザイナが作成したHTMLファイルを、JSPなりrhtmlなりにプログラマが変換して、いざ画面を表示してみたらデザインが崩れてしまった、というのは昔からよくある話。

これに加えて、デザインFIXのタイミングがプログラミング開始の後になってしまうとか、デザインFIX後も何らかの問題が生じてデザイン変更をお願いするも、デザイナがオリジナルのHTMLファイルを編集するから、変更点の反映が大変だとか、まあそんなこともよく言われてます。

そういうのを受けて、JavaならTapestryとかWicketとか、テンプレートが.htmlという拡張子で終わるから、デザイナがオリジナルのファイルを普段使っているツールで開けるみたいなフレームワークが登場してきました(もちろんそれだけがうりじゃないですが)。

先日、Wicket-jaの矢野さんにちょっと話を聞いたときは、Wicketは、イテレートでぐるぐる回すようなところも、デザイナが書いてきた部分は「サンプル」的な扱いにできて、そのまま残しておいても、Wicketのフレームワークと通してページ出力されるときは、その部分は無視されるとかできるそうで。

それを聞いたときは「おー、便利便利!」とか思ったわけです。

でもその便利さを、僕らSIerの開発の中で活かすためには、超えなきゃいけない壁が2つほどあります。

1つは、デザイナさんにもバージョン管理システムを使ってもらうということ。

いくらHTMLのテンプレートを直接利用できても、

開発者「すみません、デザインのここを直して欲しいのですが」

デザイナ「はーい。じゃあ、メールで送っておいてください」

だと、結局修正後のファイルをいちいちdiffとって比較したりしなきゃいけないし、地味に面倒な作業になっちゃいます。

こんなとき、デザイナさんが、

「じゃあ、リポジトリからチェックアウトして修正しておきます」

なんて言ってくれたら良いのにと。

で、もう1つは、上にも関連する話ですが、ソース管理リポジトリをインターネットに公開できないかなぁと。

まあ、インターネットに公開といっても、https通信、ID/Password認証、WebサーバでのIP制限等々セキュリティは万全にしてのことなのですが。

SIerで大規模開発となると、結構パートナーさんに一括で持ち帰ってもらうというケースが最近増えてきてるんですよね。その方が、元請け的にも偽装請負の問題とかクリアになるし、パートナーさん的にも一括受託の方が利幅を多く取る余地ができて、お互いにメリットがあったりするわけです。とはいえ、そんなメリットがあっても、システム開発自体がうまく行かなければまったく意味がないわけで。

個人的には、Redmineみたいなプロジェクト管理ツールやSVNを先に書いたように、セキュリティを万全にしてインターネットに公開して、そこを通じてパートナーさんとかデザイナさん、顧客等々と情報共有ができたらなぁと思っているわけです。

プロジェクトの中で、意外と時間を取られるのが、MTGの準備だったりするわけで。いちいち、資料を「綺麗に」整えたり、紙を人数分印刷してホッチキス止めしたり、MTG資料を何度も印刷→レビュー→修正したり。この辺の作業が簡略化されて、MTGのときにはredmineのレポートの画面を見るとかしたら、良いのになぁと。

もしかすると、他の会社だったらこういうこと普通にやられているのかもしれないですね。

2008年2月10日

3年前のはてなブックマーク

はてなブックマークがサービスインしたのが、2005年2月10日。

今日は3歳のお誕生日だったりします(たぶん)。

以前作った、過去のはてブホッテントリを表示するガジェットも、今日からタブが3つ表示されるようになりました。

20080210_01.png

2005年2月10日のホッテントリを見てみると、トップエントリが、ITmediaのはてブリリースニュースですよ。しかも12usersだって。

初期の頃は、ブックマーク的に利用している人が多かったっぽく、各サイトのTOPページがブックマークされているようですね。

人に歴史あり、サービスに歴史ありって感じです。

[PR]過去のホッテントリを眺めてみるのも結構楽しいので、当ガジェットも是非一度登録してみてください。

2008年2月 9日

rosy.js 0.3.1 リリース

rosy.jsを超マイナーバージョンアップ。

start rosy window (0.3.1)

上記Bookmarkletを実行すると、コンソールウィンドウが表示されますが、そこで

#lib prototype

#lib jquery

が使えるようになりました。

このコマンドを入力すると、ページ中にそれぞれprototype.jsとjquery.jsを読み込む仕様になっています。

ページを閲覧中に、ページ内でライブラリを使いたくなったときにどうぞ。

表示されたコンソールは、

#exit

で消せるので、

#lib jquery
#exit

とかやると良いと思います。

 

ってか、このjsファイルをどうしていこうか検討中。

思い切ってjQueryのプラグインにしちゃった方が良いのかなぁとか思ったり。うーむ。

2008年2月 8日

アジャイルプラクティス

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣
Venkat Subramaniam Andy Hunt 木下 史彦 角谷 信太郎
オーム社 (2007/12/22)
売り上げランキング: 257
おすすめ度の平均: 5.0
5 幹部研修講師です
5 アジャイルに興味がない人も、ぜひ手に取ってほしい一冊
5 ソフトウェア開発以外の現場にも

「アジャイルプラクティス」読みました。
発売以来あちこちで人気沸騰だったので、少々出遅れた感がありますが。
訳本とは思えないくらい、とにかく読みやすいです。

章の始めに悪魔が「○○しちゃえば良いんだよ」と甘言で惑わしてきて、それに対して天使が優しく諭してくれる、というスタイルもGood。
悪魔のささやきは、「あー、あるある」「あー、こんな時代もあったあった」とうなづいてしまうものばかりです。

全体的に、「これをこうしろ!」と強く押し付けるものではなく、「こうした方が良いよ。でもやりすぎはよくないからほどほどにね」というトーンが、とっつきにくさをなくしてくれていますね。

今後何度も読み直すことになりそうです。

2008年2月 7日

gihyo.jpでJaxerの連載開始

aptana_gihyo_jp.png gihyo.jpにてAptana Jaxerの連載を始めました。

Aptana JaxerでサーバサイドJavaScriptを始めてみよう!:第1回 Aptana Jaxerとは?/Jaxerのここが素敵|gihyo.jp … 技術評論社

第1回目は、Jaxerの簡単な紹介とJaxerのすごいポイントを紹介しています。

今後、簡単なサンプルアプリケーションの構築等々も予定していますので、興味のある方はどうぞ。

2008年2月 6日

サーバ移動

今週の月曜日、MovableTypeのログイン画面がInernal Server Errorとなってログインできなくなる現象に遭遇しました。
これまでにもたまにあったので、そのうち直るだろうと思っていたのですが、1日経っても状況は改善せず。
レンタルサーバ会社に問い合わせたところ、ホスティングしているサーバが古く、最近は常に負荷が高い状況にあるとのこと。
最近増強した別のサーバに移動することが可能ですよ、みたいな案内をうけたので、サーバを移動することにしました。
まあ、サーバ移動と言っても、レンタルサーバ会社内での話なので、そこまで煩雑な手続きはなかったのですが、ファイルの移動や、DBの移行等々面倒なことがたくさんありました。
案の定、初回の移動では文字化けしちゃうし。

これを機にはてなダイアリーに移行するか、WordPressに移行するかもちょっと考えましたが、もう少しMovableTypeと付き合ってみたいと思います。

2008年2月 5日

ヤフーのCEOが全従業員に送ったメール

第2に、この状況を巡る雑音によって当社の中核事業がおろそかになるようなことがあってはならない。今後とも業務を進め戦略を遂行しすべての利用者、広告主、パブリッシャーに価値を届けていくべく注力することが絶対的に必要である。
重要ですよね、これ。
サービスレベルが落ちたら買収の意味なしですから。その点、YouTubeを買収したGoogleはうまいことやっている気がします。

さて、全世界が注目する買収劇の行方はどうなるんでしょうか。
個人的には、マイクロソフトとヤフーが合体しちゃうのはつまらないので、買収は失敗に終わって欲しいと思っていますが。

2008年2月 4日

FONユーザがLivedoor wirelessのネットワークを利用可能に!

FONキター!
FONのID/Passwordでライブドアのアクセスポイントが利用できるって!
いやー、これでようやく外でネットに繋げられるよ。PSPとmyloだけど。
こりゃノートPCを買えってことかなぁ。
これはほんとうれしいニュースです。

2008年2月 3日

オフィス・スナップショット

色んな会社のオフィスの写真を集めているサイトです。
もはや有名になったGoogleのオフィスはもちろんのこと、Pixarとか、Mozillaとか、働いているところが気になる会社が目白押しです。
働くなら、自由でカジュアルな雰囲気のところが良いなぁ。
あ、あと、椅子が良いところね。これ重要。

2008年2月 2日

"迷惑退社"ランキング

Tech総研の"迷惑退社"ランキングです。

最後の1カ月で嫌われちゃった“迷惑退社”ランキング/Tech総研

退社する場合、円満退社を目指したいものですが、なかなかうまくいかない場合もあるんですね。

気まずい思いをしないためには、

「基本的には、自分の口からは伝えないほうがベター。引き継ぎなどで迷惑がかからないよう、仕事でかかわっている人には上司を通じて知らせ、滞りなく引き継ぎをすませましょう」(上田氏)

だそうです。

そうかー。僕なんかは自分の口から伝えてもらった方が良いような気もするんですが、そんなもんなんですね。

あと、「上司のしつこい引き留めに合い、人間関係が悪化した」ってのは、良く聞く話です。

「辞めようと思っています」と切り出したら、あの手この手で攻めてくるそうで。

僕も「その日」が来たら、ちゃんと"円満"退社できるように頑張らないと。

2008年2月 1日

Yahoo! ASTRA Flash and Flex components リリース

Yahoo! がFlashやFlex用のライブラリASTRA (ActionScript Toolkit for Rich Applications)をリリースしました。

Yahoo! Developer Network - Flash Developer Center

大きく、ASTRA Flash Components 、ASTRA Flex Components、Badge Kit、Web APIs Libraryと4つのKitが公開されています。

プルダウンメニュー表示とかチャートグラフ表示とか、カラーピッカーに時間入力を簡易化するものなど、うまく使うと便利な者が揃ってます。

YUIのActionScript版ってところでしょうか。

こちらで、ASTRAを利用して作られたAquarium(水槽)が公開されています。

魚の追加とか、水槽の昼夜の切り替えとかにASTRAが使われており、どのように使うかまで解説されています(英語ですが)。