投稿者アーカイブ
良いデベロッパになる為の13のTIPS
読みやすいTIPSのリストが話題になるのは洋の東西を問わず見られる現象です。ハンガリーのブタペストのデベロッパ、Csaba Okronaさんが書いた記事が話題になっていました。さっそくその項目を見てみましょう。
- レッスン1 全体像を理解せよ
コーディング作業だけに囚われず、ビジネスやプロジェクト等の面からも理解する。 - レッスン2 自分の時間を確保せよ
残業や早出は結局バグを招く。スピードは良いデザインと正しいアーキテクチャから生まれる。 - レッスン3 間違った時は考え方を変えるチャンス
既存の技術で問題が遅くなってきたような場合は新しい技術へ移行する。ただし既存の技術がうまく行っている場合にただトレンドを追ったりはしない - レッスン4 脳を鍛え続けろ
日々のタスク以外の鍛錬を行え。コードゴルフなどはよい例 - レッスン5 人生を大事にする
特に重要。残業が続けば燃え尽きるのも早い。 - レッスン6 集中
マルチタスクを避け、1つの事に集中する。 - レッスン7 自己を貫け
一度や二度の失敗でくじけずに失敗から学ぶ。ずっとうまく行かないならば別の方法を考える機会(レッスン3) - レッスン8 計測せよ
推測だけで方法を決めずにベンチマークなどをとって判断する。人間の感覚は当てにならない - レッスン9 コードのパフォーマンスだけに拘らない
550ミリ秒を500ミリ秒に短縮してもユーザーには分からない - レッスン10 機能を落とす事も考える
どうしても期日に間に合わない場合は必要性が低い部分を切り落として後に回す事もできる。実際この業界では良くある事だ。 - レッスン11 コーディングスタンダードを守れ
たとえチームで開発をしてなくてもコードに一貫性を持たせろ - レッスン12 テストせよ
テストも仕事の一部。テスト用の環境やツールを使えるようにしておく - レッスン13 ユーザビリティ
ユーザーインターフェースを開発する時は常にユーザーの利便性を頭に置く。
Csabaさんの10年の経験の中で感じた経験則だそうですが、とても自然なリストですね。今年現場に入ったような新人のエンジニアにあなたが伝えたいと思う事とかなり共通する部分もあるのでは?遠くハンガリーの地でもこんな事を考えている人(ちなみに漫画好きで仏教徒らしい)が居ると思うのも面白いなと思います。あなたが自分の経験から伝えたい事はなんですか?
美しすぎるギークと行く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
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向けのライブラリやフレームワークがこんなに大量にあるとは。。。。正直知らない物だらけでした。気になるものがあればデモなどをご覧になってみてください。
Bitcoinに乗り遅れそうな人向けわかりやすい説明

ここのところヘッドラインを席巻している仮想通貨Bitcoinですが、個人的に乗り遅れそうだったので見てみた情報をまとめておきます。Bitcoinは新しいオープンなプラットフォームの仮想通貨で、既に流通も始まっています。ですが運営元が存在しているわけではなく誰でもBitCoinを作れるというスーパーな概念で正直、とっつきにくいのでスルーしている方が多いのではと思います。これをサクッと理解するには結論から言うとdrikin.tvの第22回の動画を見るのが一番わかりやすいです。
drikin.tvは@drikinさん@miyagawaさん、@mayumineさんの3人によるポッドキャスト番組でガジェットやテックな話題をサンフランシスコから伝えてくれるとても面白い番組です。今回はちょうど電子通貨系の話という事で@miyagawaさんによるBitcoinの説明を聞く事ができます。他にも面白いネタが毎回出てくるので筆者は毎週楽しみに視聴しています。これをきっかけに宜しければ皆さんもチェックしてみてください!
公式の動画
追記:2014/03/10
上記の動画が消えていますが、音声版が下記に残っています。(この記事を書いた時に筆者は掘ってません。。。)
https://twitter.com/masapong/status/442474811080454144
その他テキストの情報
オープンソースの電子マネー、Bitcoinの実験(TechCrunch)
オープンソース仮想通貨「BitCoin」、電子書籍販売サイトまで登場(itmedia)
海外スタートアップ系ニュースを翻訳する
HackerNewsのアクセスがSlashdotをほぼ凌駕

A-Listersのネタ元としてもお世話になりまくっているHackerNewsですが、古くから知られるギークなコミュニティ、Slashdotにそろそろアクセスが追いつくようです。ネタをウォッチしていてもかつて隆盛を誇ったdiggの過疎っぷりなども感じるので、栄枯盛衰を感じるなぁという一報です。
ところでこのブログのテーマ、A-Listersと一緒ですね。
via:http://markmaunder.com/2011/hn-is-about-to-overtake-slashdot/
5行のコードに7倍の免責事項

OracleのサイトにアップされているHello Wolrdの実装がネタにされていました。Hello Worldですからプログラムは5行しかないのですが、全体像はどうなっているか。(お察しください)
追記:さらに別の指摘がありました
via:http://download.oracle.com/javase/tutorial/getStarted/application/examples/HelloWorldApp.java
成功するスタートアップのパターン

「こんなサービスを運営するスタートアップを企業したら、どうなる?」という脳内起業に日々忙しい皆さんに面白い情報です。先日公開されたStartup Genome Reportが複数の媒体(TechCrunch, GigaOM)で話題になっていました。この記事ではスタートアップについていくつかの視点からみた面白い考察を提示しています。いくつか面白そうな所を抜粋します。
業種別、ステージ別の収益の推移パターン

発見期、確認期、効率期、拡大期の4つのステージでの収益のパターンを業種別に示した図です。たとえば購読モデルの場合、サービスの拡大の時期に大きく収益の成長が望めることになります。
企業の動機の内訳

企業のマインドにはいろいろな性質があるという分析のチャートです。4時間労働ライフスタイルだけバランスが突出しているのが気がかりですが、性質の具体例は下記のような感じ。
- 自動化推進家(手作業が必要だったものを自動化して提供する)
Google, Dropbox, Eventbrite, Slideshare, Mint, Pandora, Kickstarter, Hunch, Zynga, Playdom, Modcloth, Box.net, Basecamp, Hipmunk. - 社会変革家(一般多数のユーザにリーチし、寡占になりやすい)
eBay, OkCupid, Skype, Airbnb, Craigslist, Etsy, IMVU, Flickr, LinkedIn, Yelp, Aardvark, Facebook, Twitter, Foursquare, YouTube, Mechanical Turk, MyYearbook, Prosper, PayPal, Quora - 構築家(スモールエンタープライズ向けに成功例のあるプロダクトをリビルド等)
PBworks, Uservoice, Mixpanel, Dimdim, HubSpot, Marketo, Xignite, Zendesk, GetSatisfaction, Flowtown - 野心家(エンタープライズでの売上を注視)
Oracle, Salesforce, MySQL, Red Hat, Jive, Ariba, Rapleaf, Involver, BazaarVoice, Atlassian, BuddyMedia, Palantir, NetSuite, Passkey, WorkDay, Apptio, Zuora, Cloudera, Splunk, SuccessFactor, Yammer, Postini
その他、リポートからピックアップされていた5つのポイント。
- 変化を恐れない
- 師匠を探せ
- 投資家を気にしすぎるな
- 技術サポートを受けろ
- ふさわしく計画する
なんというかあまたの星になっていったスタートアップ達の事が考慮されていない気もしますが、夢を描く時に参考にする事ができそうです。また列挙されている具体例ひとつひとつについて調べてみても新たな発見がありそうですね。他にも面白そうなチャートがありますので原文をご覧になってみてください。
同じレポートの記事の和訳記事
http://www.startup-dating.com/2011/05/startup-genome/
SOAPは死なずエンタープライズ界のゾンビ化

外部のシステムや内部のシステムを繋ぐ際に利用される事が多いのがAPIです。そのインターフェースにどういったフォーマットが使われているかについて気になる考え提起した記事が話題になっていました。きっかけはglueconで行われたAPIのカタログサイト、ProgrammableWebのJohn Musser氏によるセッション内での言及です。
ProgrammableWebの情報を元に観測したと思われる傾向は下記のようだったようです。
- 73%のAPIがRESTを使用
- 17%のAPIがSOAPを使用
- 以降、JavaScript XML−RPCが続く

APIのインターフェースを決める際に迷った際にこういった客観的な数字は役に立ちそうです。
via:http://www.readwriteweb.com/enterprise/2011/05/soap-is-not-dead—its-undead.php
Rosetta Code – 各プログラミング言語の実装例集

プログラマなら1つでも多くの言語をマスターしたいと思いますよね?同一の文章を3種類の文字で刻んだロゼッタストーンにあやかったプログラミング言語の実装集が話題になっていました。自分で知っている言語を元に読めば各言語の特徴がわかります。またWikiで運用されているのでまだ実装がない部分に実装例を寄付する事もできます。

現在、登録されている課題は498種類。定番のFizzBuzzなら107の言語で実装されています。
Ruby

BASIC

都度、検索するよりもまとめてみれる事であまり触らない言語を読む時などに役に立つかもしれませんね。RubyとPython、Cあたりは大抵実装例がありそうな気がします。
データ=富の時代

Stephen O’Gradyさんによるデータこそが重要であるという主旨のセッションの資料が話題になっていました。IBM、マイクロソフト、グーグル、FacebookといったIT界のトッププレイヤーの移り変わりを4つの段階に分類しています。曰く。
- 第一世代(IBM) ハードウェアが富であり、ソフトウェアではない
- 第二世代(マイクロソフト) ソフトウェアが富である
- 第三世代(グーグル) 富はソフトウェアの中にはないが、差異を作っている
- 第四世代(Facebook Twitter) ソフトウェアは差異ですらなく、価値はデータである
ソーシャルグラフの重要性などは広く知られていますし、たしかにサービスやソフトウェアの機能の差というのは少なくなって来ている気がしますね。スライドにはグラフなどもあります。



