Thursday, June 12, 2008

10数年ぶりのJava

会社の新卒向けのJava研修に参加しています。

実に10数年ぶりのJavaです。
長らくつまづいていた場所からようやく前に進むことができました。

考えてみれば、Javaを触ったのは95年の秋頃でした。Java自体も登場してからまだ半年もたっていない頃。非力なMacで(LC630。CPUのクロックはわずか33MHz)手探りで環境構築をしてみたものの、エラーがでまくったりと四苦八苦したあげく挫折。

当時はネットに参考情報も英語くらいしかなく、それも十分ではなかったということもあり、そのままJavaへの熱はお蔵入り。(ネットへの接続も144モデムだった気がします)

HotJavaの動くコーヒーカップのロゴが目に焼き付いていて、それだけをずっと覚えていました。(苦労して悩まされた思い出しかないなぁ、これには)

hotjava.jpg

(確か、こんな感じの画面とロゴでした。)

以来、ずっとプログラミングからは離れていたのですが(簡単なスクリプトを書いたりはしていましたが)ようやく長年の障害を乗り越えて前に進んだ感じ。

iMacのTerminalからviを立ち上げて、簡単なプログラムを家に帰っても書いてみたりしています。ちょっと感動中です(Macも随分と使いやすくなりましたね)。

Tuesday, June 10, 2008

グーグルのカルチャーとは?:Google Developer Day 2008その2

前回のエントリ「Googleのカルチャーとは?Google Developer Day 2008」の続きです。

google002.jpg

ソフトウェア開発について
全世界に50のオフィス
すべてのオフィスは対等
-全世界でひとつのエンジニアリングチームに自分の近くのオフィスから参加する
複数のオフィスにプロジェクトメンバが分散
単一のオフィスで完結しているプロジェクトは少ない
コミュニケーションが鍵
問題となるのがコミュニケーション
使えるツールはなんでも使う
時差が最大の問題

ほとんどのプロジェクトはボトムアップ的に始まったもの
-アイディアがひらめいたら、20%プロジェクトとして開始する
-認められたら、メインプロジェクトとして発展させる
プロジェクトは小人数のものが多い

オープン
-コード、文書、データはプロジェクトに閉じずに社内に公開・共有
-メンバ構成は柔軟に変化
自分がメインでやっているプロジェクト以外にもちょっとだけ他のプロジェクトをやってみたいということも

エンジニアはよいソフトウェアをつくるために全ての工程にかかわる
アイディア、デザイン、コーディング、テスト/デバッグ、評価/分析、保守/改良
自分のコードのテストは自分で書く

主担当ではないコードを直す場合は、そのコードを直すだけではなく、そのバグのテストケースも記述して担当者に送る

必要な設計文書はしっかりつくる。不要な文書は作らない。
百文書は一デモに如かず
文書の山を作る前にとにかく動くものを。プロトタイプ重視

コーディング
プログラミング言語
-主にC++, Java, Python, JavaScript
読みやすいコード
-プログラム言語ごとにスタイルを全社で統一
-スタイルにあったコードを書ける人を社内認定
コードの共有
-ひとつのソースツリーを全世界で共有
-誰でも、どのコードでも参照・変更できる
・自力で調査、自力で修正/改善
-同僚によるレビューが完了しなければチェックイン不可
・複数の視点から検討


変なコードが入るのを許すと、みんなが困るし自分も困る。良いコードだけにしたい。そのためには時間をかけてでも皆でコードレビューに前向きに取り組む。

採用活動
基本的にはソフトウェアエンジニアは開発に集中
重量な例外は、採用活動への協力
-電話面接、オフィスでの面接
面接の内容
-コンピュータサイエンスの基礎
-ホワイトボードを使ったコーディング
-Googleの社風に合うか(お互いにHappyになるか?
メリット
-一緒に働きたいと思える人に加わってもらえる
-自分自身にとっても勉強になる
デメリット
-時間がかかる

遊び
遊びは重要
-遊びと仕事は両立するという社風
-リフレッシュ
-コミュニケーションの強化
オフサイトイベント
年に数回、オフィスを離れてチームビルディング
-ラフティング、カートレース
クラブ
-ラーメン部、カメラ部、マリオカート部www

最後に藤島さん本人にとってのGoogleと、心がけていることが紹介されました。

Googleってどんなところ?
入社動機
-優秀な人たちと一緒に、世界中の人に向けて、ソフトウェア開発をしたいなぁ
入ってみたら
-優秀なだけでなく人間的にも魅力のある人が本当に多い
-想像以上に動きが速い
やった仕事がすぐに世界に出て行く
ソフトウェア/ツールがどんどん改善されていく
-正論が通りやすい
誰がいった意見かどうかではなく、その意見が正しいかどうか
Pythonの作者に対しても反論できる雰囲気
-エンジニアは尊重/信頼されている
-良いソフトウェアを開発するために、真剣に仕事に取り組んでいる。必要なら泥臭いことも厭わない。

これが藤島さんの一日の例:
google03.jpg

心がけていること
分かりやすいコードを書く
-コードを書く時間よりも読む時間のほうが長い
他人のコードを尊重する
-全体としての生産性を重視する
-必要ならリファクタリング/改良する
正確かつ簡潔なコミュニケーションをする
-文化が異なる人と、お互いの母国語以外でのやりとり
-受けての負担を考える
Easier to ask forgiveness than permission
フラットでボトムアップの構造/承認待ち、指示間地では動かない
→仮説立て/仮決定してとにかく進めてみる
目先の仕事以外にも目を向ける
-TechTalk(Google社内の専門家などによる講演)などにできるだけ参加する
良き仲間たれ
-結局これが一番重要

周りにとって良い仲間に自分はなれているのか?
 相手に良い仲間とおもわれるように頑張るのが大事

最後の、良き仲間たれ、というのがグーグルのカルチャーを現していて面白いなぁ、と思いました。まずは仲間にとって役立つことを私も心がけたいと思います。

Googleを支える技術

グーグルのカルチャーとは?:Google Developer Day 2008

横浜パシフィコで行われたGoogle Developer Day 2008に途中から参加してきました。

google001.jpg 

イベントの最後に行われた藤島氏によるGoogleのソフトウェアエンジニアの日常がグーグルのカルチャーを紹介する例としてよくまとまっていましたのでご紹介したいと思います。

google002.jpg

LIfe of a Google Engineer
グーグルのカルチャーについて
グーグルでは日々の生活にもカルチャーが反映されている
Googleらしさとは?それをキーワードにまとめてみた

Clarify
-目標を明瞭に述べ他人の協力を得る
Transparency
-情報を可能な限り共有する
-判断の経緯を明確にする
判断の基準になったデータは?論理的な検討の根拠に
Democracy
上からの命令で動くのではない
-命令の連鎖ではなく、総意に基づいて判断する
例:オフィスの移転先を決めるのに壁に地図を貼り、社員の住んでいるところにピンをたてて社員の家の分布を見て皆で移転先を判断した→いまはGoogle Mapを使って行っている
Faciliate
-他人の仕事がやりやすくなるように障害物を取り除く
Lend a hand
-他の人が仕事に慣れるのを助ける
メンター制度:新しく入ってきた人を助けるための制度
Respect
-誰しもがよいアイディアを持っている
-問題の解決に集中する
どんなに議論が白熱しても個人攻撃にならない
Initiate
-問題があれば、自ら直す
責任者を探し出すのではなく、見つけた人が自ら直す
Iterate
-完璧になるのを待つのではなく試してみる
繰り返しできるまでやってみる。まずはTry&Error
-結果には柔軟かつ迅速に対処する
Scrappy
-今使えるものを使って目標を実現する
-安く効率的に実現する方法を考える

非効率的な作業をみつけたらツールをつくる
エラーは起こるという前提でシステムを設計する

Party
-周囲の人を楽しませる
Celebrate
-地味な仕事、泥臭い仕事にも光を当てる
Passion
-世界を変えられることを忘れない

グーグルが利益がでていなかった頃、創業者が利益がでたらプールをつくる!と宣言していた→利益がでてたときにビニールプールを買ってきて、駐車場に設置した

こちらがGoogleをあらわす上記キーワード一覧
google004.jpg 

次のエントリでは、ソフトウェア開発の進め方などを紹介します。
グーグルのカルチャーとは?:Google Developer Day 2008その2


Googleを支える技術

Thursday, June 5, 2008

楽天食堂で寿司ランチ

楽天には無料の社員食堂があるのですが、その中に有料のプレムアムメニューというものもあります。今日は、250円で丼を注文してみました。

sa380042(2).jpg

マグロとカンパチにイクラ添えの丼です。

ランチが無料だと財布にもありがたいのですが、社内なので時間のロスが無いのもいいですね。気がつくと、外に出ないまま一日終わっていた・・・なんてこともありますが。
 

Wednesday, June 4, 2008

ブロガーのSEO対策に:Yahoo!サイトエクスプローラーにフィードを登録してみ ました

日本のYahoo!が提供しているウェブマスター向けツール、Yahoo!サイトエクスプローラーにこちらのブログのフィードを登録してみました。

Yahoo!サイトエクスプローラー 
site_explorer2.jpg 

類似のサービスでより有名なものにGoogle Webmaster Toolsがあります。

Google Webmaster Tools
google_webmaster.jpg 

どちらのサービスにも「サイト認証」という機能があり、これを行うことで検索エンジンからサイトに対してどのようなクエリでトラフィックが来ていて、そのクエリでの検索順位は何位か?などをチェックすることができます。

ですが、サイト認証には、特定の名前のURLやメタタグをアップする必要があり、無料ブログなどのユーザーは当然ながら自分のブログのURLでサイト認証を行うことはできません。

一般のASPのブログサービスを利用しているブロガーとは無縁の機能なわけです。

しかしフィードの登録はサイト認証が行えなくても誰でも登録可能になっています。Google Webmaster Toolsでもサイトマップの代わりにフィードを登録することができます。

site_explorer.jpg

こちらがフィードを登録した様子。

ブログの記事がより確実に検索エンジンにインデックスされるのを期待できますし、検索エンジンでのインデックス数、どの記事がインデックスされているか、自分のブログが他のどのブログで言及されており、どんな記事があるかをチェックすることが可能です。

サイト認証することによってできることとして、下記の5つがあげられているのですが、

  • あなたのサイトのフィードURLをYahoo!の検索エンジン(YST=Yahoo! Search Technology)に送信する。
  • Yahoo!の検索エンジンにインデックスされているあなたのサイトのページを、Yahoo!検索の検索結果で非表示にする。
  • コンテンツに影響を与えないURL中のパラメータを非表示にしたり、パラメータに固定値を与える。
  • あなたのサイトのページが最後にクロールされた日の確認。
  • インデックスされているページデータのエクスポート。

このうち2つめと3つめ以外は、実はサイト認証ができなくても行える訳です。

手軽にできるSEO対策として使ってみると良いかもしれません。

離島取材のコラム開始しました!

以前からブログなどでお伝えしていた離島取材ですが、いよいよコラムのほうの掲載が開始しましたので、お知らせです。

bokunari_20080516_002_450.jpg僕らの島生活

ネットによってどこにいても情報発信ができ、暮らしの選択肢が広がった中で、30代の島での生活とネットの関わりがどうなっているのかを中心に取材中です。

【僕らの島生活】僕らが島に惹かれる理由

【僕らの島生活】三重県答志島編(1)「島選びはシマダスで」

【僕らの島生活】三重県答志島編(2)「夕暮れの街と海の味」

こちらのコラムはgooニュースの中のボクナリ(β)というメディア内のひとつとして参加しています。

ボクナリ(β)
bokunari.jpg

今後、ほぼ?定期的に掲載されていく予定 です。ぜひ、いろいろとご意見をください。写真やテンプレートなどにも制約がある中、編集作業は試行錯誤のようです。編集担当のスタッフも探されているようですので、ご興味があるかたは連絡をとっていただけるとよいかも。

答志島での写真はこちらにもアップしています。
答志島-tinyalbum
tinyalbum.jpg

Tuesday, June 3, 2008

データでは見えなかったものが見えるようになる!驚きのプリンタPX-5600

前回のエントリの続きです。
エプソンのプロ仕様プリンタPX-5600の体験会に参加してきました


プロ仕様プリンタPX-5600のお話を伺った後、実際に家から持ってきた画像データをプリント体験してみました。
 

epson3.jpg

プリントされた画像をみてみると・・・
epson4.jpg

画像だとわからないのですが、す、すごい!の一言。

モニターでは見られなかったディテールがしっかりと目に見えるようになり、細かな階調の違いもはっきりと出ています

プリンタってこんなに奇麗なんだっけ?というレベルではなく、プリントしてみて初めて見えなかったものが見えてくる感じです。例えでいえば、 iPodの純正のイヤホンをshureのイヤホンやBoseのヘッドホンに交換した感じといえばわかりやすいかもしれません。

美術館で本物の絵画を目にしたときに、印刷では絶対にみれなかった色の違い、鮮やかさに驚かされることがありますが、そんな目にすることができない世界を目にできる喜びというものがこのプリンタにはありました。

最初は、邪魔くさくて大きなプリンタだなぁ、と思っていたのですが(笑)。

出てきたプリントが頭の中にあったプリントや紙とは全く別次元のものでただただその凄さに納得する他なかったです。

モニタとして家でチェックをさせて頂きますので、その間、愛機のPENTAX K100Dと一緒にフォトライフを満喫してみようと思っています。


PX-P/K3インク搭載、プロも納得の本格派モデル【6月5日発売予定】 EPSON マックスアート PX-5600

発表会の関連記事はコチラ:エプソンプロセレクションブログ