Archive for 6月 2011
インターネットは女子禁制なのか
インターネットとギークの世界といえば若干男臭いのが通例ですが、実際の所はどうなのでしょうか。Royal Pingdomに英語のテックブログのビジターの男女比率のデータが出ていました。

これによるとslashdotはほぼ9割が男性とかなりの男性率。逆にMashableやTechCrunchは比較的女性が多いようです。(といっても過半数は男性ですが)これらのテックブログを見る際はこの辺りの比率も頭に入れて読むと記事の狙いが分かりやすいかもしれませんね。
via:http://royal.pingdom.com/2011/05/31/online-tech-dominated-by-men/
先週のA-Listersまとめ #5

Photo by Lan Bui
6月も2週目に入りました。先週公開された11本の記事を駆け足でご紹介してみます。
美しすぎるギークと行くEngine Yardのオフィス
先週一番人気の記事はこちら。Engine Yard、注目されているなあ…と思いきや、アンケートの結果やツイートのコメントを見ると実はみなさんのツボはそこではなかったのかもと思わせられました。

ベロニカのドヤ顔、大人気。
世界のIT業界で活躍する人たちをもっと身近に感じさせてくれる彼女のインタビューですが、日本でもじわじわと認知されてきたようです。
ベロニカのいきいきとした表情を見ていると、彼女が面白いと思っているものに対しても興味が湧いてきて、英語の動画でもそんなに苦労せず最後まで視聴できるという効果も期待できますよ。見逃した人はぜひ動画も見てみてください。
2万5千行のpull requestが話題
次に注目された記事はこちら。こちらも、pull requestの量に言及したメインのニュースに加え、32個のJavaScriptライブラリを挙げたリストに対する「こんなにあったんだ」という反応が数多くありました。
JQuery使ってる?というアンケートには、100%の方が「はい」と答えるという結果となりました。
良いデベロッパになる為の13のTIPS
みんな大好きTIPSリスト。ハンガリーでも開発者は似たような事を考えているんだなと共感を持つことができた記事でした。
Twitter のコメントを見ると「人生を大事にする」「間違った時は考え方を変えるチャンス」などなど人によってそれぞれ刺さったポイントの項目は違ったようでしたが、こんなひとこともありました。
仕事をうまくやっていくためのTIPSは世の中にたくさん溢れていますが、いろんな場所、立場、職業の人に共通する考え方を知って経験と照らし合わせることで自分なりのコツを確立していける気がします。
その他の記事
さらに、「5行のコードに7倍の免責事項」、「デザイナーがスタートアップで生き抜くための5つのスキル」といった記事にもアクセスが集まっていました。その他、見逃した記事で気になるものがあったらチェックしてみてください。
良いデベロッパになる為の13のTIPS
読みやすいTIPSのリストが話題になるのは洋の東西を問わず見られる現象です。ハンガリーのブタペストのデベロッパ、Csaba Okronaさんが書いた記事が話題になっていました。さっそくその項目を見てみましょう。
- レッスン1 全体像を理解せよ
コーディング作業だけに囚われず、ビジネスやプロジェクト等の面からも理解する。 - レッスン2 自分の時間を確保せよ
残業や早出は結局バグを招く。スピードは良いデザインと正しいアーキテクチャから生まれる。 - レッスン3 間違った時は考え方を変えるチャンス
既存の技術で問題が遅くなってきたような場合は新しい技術へ移行する。ただし既存の技術がうまく行っている場合にただトレンドを追ったりはしない - レッスン4 脳を鍛え続けろ
日々のタスク以外の鍛錬を行え。コードゴルフなどはよい例 - レッスン5 人生を大事にする
特に重要。残業が続けば燃え尽きるのも早い。 - レッスン6 集中
マルチタスクを避け、1つの事に集中する。 - レッスン7 自己を貫け
一度や二度の失敗でくじけずに失敗から学ぶ。ずっとうまく行かないならば別の方法を考える機会(レッスン3) - レッスン8 計測せよ
推測だけで方法を決めずにベンチマークなどをとって判断する。人間の感覚は当てにならない - レッスン9 コードのパフォーマンスだけに拘らない
550ミリ秒を500ミリ秒に短縮してもユーザーには分からない - レッスン10 機能を落とす事も考える
どうしても期日に間に合わない場合は必要性が低い部分を切り落として後に回す事もできる。実際この業界では良くある事だ。 - レッスン11 コーディングスタンダードを守れ
たとえチームで開発をしてなくてもコードに一貫性を持たせろ - レッスン12 テストせよ
テストも仕事の一部。テスト用の環境やツールを使えるようにしておく - レッスン13 ユーザビリティ
ユーザーインターフェースを開発する時は常にユーザーの利便性を頭に置く。
Csabaさんの10年の経験の中で感じた経験則だそうですが、とても自然なリストですね。今年現場に入ったような新人のエンジニアにあなたが伝えたいと思う事とかなり共通する部分もあるのでは?遠くハンガリーの地でもこんな事を考えている人(ちなみに漫画好きで仏教徒らしい)が居ると思うのも面白いなと思います。あなたが自分の経験から伝えたい事はなんですか?
ニューヨークがシリコンバレーになれない理由(cc: ブルームバーグ市長)

NYC Mayor Mike Bloomberg and NYC Chief Digital Officer Rachel Sterne.
May 16, 2011 (Photo Credit: Spencer T Tucker)
Ajay Chainani のブログ @ajayjapan’s blog で以下のような持論を展開します。
New York 市の IT業界ではいろんなことが起こってるよ:
- たくさんの有望なスタートアップ(foursquare, tumblr, groupme… などなど)
- 多様な産業(そして技術への投資をしている)
- 才能が集まっている(一番エキサイティングなところ)
- お金を持ってる投資家(明らか)
同じ IT業界で働く者として Silicon Valley への賞賛はあるのだけれど、なぜ Silicon Valley の成功モデルを New York 市は繰り返せないのかを考えていた。そして一番大きな理由を思いついた。それは法律。
例えばスタートアップで働いてて、週末のサイドプロジェクトをやってるとするよね。そのときに書いたコードは(会社との契約に明晰な合意がない場合)誰のもの?
カリフォルニアでは自分のもの。ニューヨークでは自分のものではない、会社が所有。
原文では、スタートアップのコミュニティフォーラムでのディスカッションを引用しつつ、賛成するなら tweet してね、とまとめています。コメント欄ではニューヨーク州知事を名乗る人が法律を指摘していたりもするので原文にもあたってみてください。
New York 市は伝統的に金融と広告業界が強い街なので、才能のあるプログラマはそのどちらかに吸い取られている、というのを前によく聞いていたように思います。でも最近では New York 市をあげて foursquare や tumblr のプロモーションをしていたり、それとは全く別に、Gap の広告に foursquare の founder 2人が登場していたり、New York Magazine がスタートアップの特集をしたり、Tumblr の CEO が David Karp もメディアに引っ張りだこだったりします。本論に関しては僕自身はやや疑問だなと思いますが、 IT 業界に関しては Ajay の指摘するように、実際盛り上がりつつあると思います。
via Why NYC is not Palo Alto cc: @MikeBloomberg
1日1つ、スタートアップ向けの書籍から印象的なフレーズを紹介するThe Startup Daily
The Startup Dailyというサイトでは、起業家やスタートアップ向けの書籍から、1日1つ印象的なフレーズを紹介しています。これまでに取り上げられている書籍は、
- REWORK(邦訳:小さなチーム、大きな仕事―37シグナルズ成功の法則)
- Behind the Cloud(邦訳:クラウド誕生 セールスフォース・ドットコム物語)
- The Presentation Secrets of Steve Jobs(邦訳:スティーブ・ジョブズ 驚異のプレゼン)
などなど。
簡潔だけど力強い言葉が多いので、仕事に煮詰まった時にアクセスしてみてはいかがでしょうか。
美しすぎるギークと行くEngine Yardのオフィス

全世界160万人のベロニカファンのみなさん、こんばんは。今回は美しすぎるギーク、ベロニカがRailsによるPaaSの先駆者であるEngine Yardのオフィスを紹介する動画を見てみたいと思います。こちらも前回までと同じようにDice.com提供の番組、「Best Job Ever」からの動画です。

今更説明の必要も無いかもしれませんが、Enigine YardはRuby On RailsによるWEBアプリケーション開発に特化したサービスやトレーニングを提供しており、Java上でRubyを動かすJRubyの開発にも貢献している非常に技術力優れた企業です。オフィス内は天井も高く、広々としていますが人影もまばら。その理由はみんなパブに行ってしまっているから(笑)。といってもそこでは毎週の達成した事項などのディスカッションを(ビールの助けを借りて)行っているそうです。※アジャイルのプラクティスである「回顧(retrospectives)」だと思われます。

「どうしてRailsが他のRubyの実装よりも優れているんですか?」とのベロニカに質問に回答者のNic Williamsさんが「素晴らしい質問!」と一気にヒートアップ。(ベロニカはこのドヤ顔)Railsによる高速開発がいかにプロジェクトにとって有用かや、オープンソース活動、ドキュメントの重要性と非常にデペロッパにとって身近な話題が次から次へと出てきます。

その他にもアプリケーションが大きくなった際のテスト駆動開発の利点や、エンジニアが犯しがちな失敗などについても話題もテンポよく出てきます。このシリーズの動画を見るのは4本目くらいですが、今回は特にインタビューのテンションが高くテクノロジーへの愛が感じられる面白いインタビューでした。Rails、クラウド、TDD、アジャイルとやはりサンフランシスコにはITの最前線が存在しているのかなと感じさせられました。
今回はベロニカの衣装も3パターンもあるのでぜひ動画をご覧になってみてください。
via:http://www.youtube.com/watch?v=PQx6FKkQXMs
HerokuがNode.jsのサポートを開始
RubyアプリケーションのPaaSとして知られるHerokuが、Node.jsで書かれたアプリケーションへの対応を開始しました。現時点ではパブリックベータという位置付けですが、これまでと同様の使い勝手で簡単にNode.jsアプリケーションをデプロイすることが可能となっています。
Herokuでは、アプリケーションが稼働するOSとRubyインタプリタの組み合わせをスタックと呼び、これまでは2種類のスタックが用意されていました。そこに、今回新たにRuby 1.9.2とNode.jsをインタプリタとして含んだCeladon Cedarというスタックが追加され、これを使うとRails3アプリケーション、Sinatraアプリケーションなどのほかに、Node.jsを使ったアプリケーションにも対応するという形です。
HerokuでNode.jsアプリケーションを動かす手順については、Getting started with Node.js on Heroku/Cedarが詳しいので、興味のある方はぜひ試してみてください。各種パッケージもインストール可能なので、expressフレームワークやPostgreSQL(Herokuが標準提供するデータベース)を利用した本格的なアプリケーションも運用できそうです。
これまでもHerokuはNode.jsの試験的なサポートを行なっており、クローズドなベータテストが続けられていましたが、今回突然パブリックベータとして公開された背景には、このところ新しいPaaSプレイヤーが続々と登場していることも大きく影響しているのでしょうね。
via: Heroku Gets Node.js and More in New Beta Version – ReadWriteCloud
デザイナーがスタートアップで生き抜くための5つのスキル
- 情報アーキテクチャ (IA)
IA とはユーザにとってわかりやすい情報の秩序を作り出すこと。デザイナーは積極的に情報の発見しやすさを改善することが出来るべきであり、するべき。 - ユーザーエクスペリエンスデザイン (UX)
UX とはユーザの製品(あるいは製品のデザイン)への愛着を作り出す能力。スタートアップの成功は口コミやバイラル効果に依るところが大きいので、あなたの製品がよりユーザに気に入ってもらえることは非常に重要。 - ユーザビリティ
ユーザビリティは、デザイナーがアプリの使い方を学ぶプロセスを改善できるところ。スタートアップのビジネスモデルはユーザに便利さを提供すること。特にスタートアップでは、ユーザビリティが時とともに改善されることがとても重要。それにユーザビリティを知っていることは、新機能を追加する際に非常に有用。 - JavaScript
ここにあるのがちょっと変な感じがすると思うけれど、スタートアップのデザイナーは、インターフェイスの実験や変更を他の誰かに頼ることが出来ない。それが多くのスタートアップの募集要項でマストなスキルである理由。もしインターフェイスを素早く作り上げ、改善することが自身で出来ないなら、開発のボトルネックとなる。 - データ駆動な考え方
最後に一番重要なスキルは、データ駆動な考え方。これがなければ他に挙げたスキルは全く意味をなさない。成功する UX や IA を予言する方法なんてないので、データを見てテストを繰り返し繰り返し繰り返し続けることが必要。
2万5千行のpull requestが話題

プログラマにとって欠かせないコミュニティになったgithubで話題になっているpull requestがありました。話題になっているのは正しい仕事の為の正しいツールという触れ込みのJavaScriptフレームワーク集「EveryJS」のリポジトリでそこに送られて来たプルリクエストの差分の量が驚きの426行追加、24623行削除。不必要にJavaScriptを使って表示を行っている部分をhtmlに変える事で動作の速度を向上させる狙いのようです。
またこのEveryJS.comの日本語の情報が無かったので掲載されているライブラリの全32個のリストも紹介しておきます。このリストもなかなか有用そうですしEveryJS.comをブックマークしてみようと思います。
- Backbone.js イベントとKVSを結ぶ構造を提供
- Benchmark.js 高解像度タイマ対応のベンチマーク
- Cappuccino デスクトップライクなアプリ用のライブラリ
- Closure Tools GoogleがGmailやGoogle Mapなどで使用しているライブラリ
- Dojo Toolkit クロスプラットフォームAJAXライブラリ
- Ender マイクロAPIライブラリ
- environ 動作環境検出ライブラリ
- functools 関数操作のミニマルライブラリ
- Grafico 図表ライブラリ
- Handlebars セマンティックテンプレートエンジン
- JavaScriptMVC JQueryによるMVC
- jQuery 定番ライブラリ
- jQuery UI イベントとインターフェースを提供
- Knockout データモデルに応じたリッチなエディタなどのインタフェースを実現するライブラリ
- LABjs ダイナミックなローダーライブラリ
- Milk CoffeeScriptで書いたテンプレートエンジン
- MochiKit JavaScriptを改善する
- Modernizr HTML5とCSS3を非対応ブラウザで扱う
- MooTools コンパクトなフレームワーク
- Morpheus トゥイーンを提供
- oCanvas オブジェクト型キャンバスツール
- OpenLayers マップをブラウザで扱うためのライブラリ
- qooxdoo ユニバーサルなプラットフォームの為のフレームワーク
- Raphael ベクターグラフィックの為のライブラリ
- scaleApp スケーラブルな1ページアプリケーションフレームワーク
- Spine 軽量MVCフレームワーク
- SproutCore ビューを自動で更新するMVCフレームワーク
- Uki シンプルなインターフェースツールキット
- Underscore 関数プログラミングライブラリ
- xui モバイルHTML5対応超マイクロDOMライブラリ
- YUI 3 ヤフーのJS&CSSライブラリ
- Zepto モバイルWEBKit向けのJQuery互換ライブラリ
JavaScript向けのライブラリやフレームワークがこんなに大量にあるとは。。。。正直知らない物だらけでした。気になるものがあればデモなどをご覧になってみてください。





