西海岸より

つらつらざつざつと

Linux-HA関連メモ

やりたいことは、EC2二台構成で、ロングセッションのtcpのロードバランシングと冗長化。Active-Standby構成。OSはUbuntuでHeartbeatとHAProxyを利用。切り替えはEIPによって行う。

サーバ運用ネットワーク関連メモ

「ip_conntrack」を監視することのススメ

見落としがちなLinuxのWEBチューニング

中〜大規模サーバーを運用するときの勘所 – iptablesとip_conntrack

2012年を振り返って

今年2012年はアメリカで働くことになった、人生の転機となった年。
大晦日を迎え、ちょうど3ヶ月が過ぎたということもあり、今年を振り返ってみようと思います。
長いです。

アメリカで働くことになった経緯

IT、特にプログラムに夢中になり始めたのは、大学院生の時で、同時にその頃からWebを通して漠然とアメリカへの憧れを持つようになりました。
シリコンバレーに具体的に行きたい、と思うようになったのはJTPAという団体が主催するシリコンバレーで開催されたカンファレンスに参加したことが大きなきっかけでした。


その一つ、当時梅田望夫さんにお会いしたときのブログ
http://d.hatena.ne.jp/mmasashi/20090321/1237620407


当時2009年はリーマンショック後ということもあって、景気が悪いという雰囲気も感じましたけど、現地で出会った多くのエンジニアや起業家からはポジティブで大きなエネルギーを感じたのが印象的でした。
何より現地はほぼ快晴と気候が非常に良く、ここに住んで仕事したいと強く感じたことを覚えています。


では、どうしたらアメリカで働くことができるのか。
実はビザの関係で、これは非常に困難です。
詳細は省略しますが、アメリカの会社がスポンサーとなって就労ビザを取得してもらう必要があり、コスト、法律などの面でハードルが非常に高いです。


アメリカのビザについてはこの記事が詳しく書かれてます。
http://www.jtpa.org/sv_info/column/000212.html


そん中、私の場合は就労ビザでは無くいきなりグリーンカードを取得することができました。
実は毎年抽選でグリーンカードを配布するという仕組みがあり、JTPAカンファレンスで渡辺千賀さんが出さないよりは出しておいた方がいいよ、と言われたのをきっかけに、とりあえず出し始めたら2回目で当選。
あっけなくビザの問題をクリアすることができました。


次にどうやって転職したか。
少ない人脈を通し、wantedly(https://www.wantedly.com/)というサービス上で、シリコンバレーにある日本人がファウンダーのスタートアップがエンジニアを募集していることを聞き、これに応募してみました。
求められる技術要素は異なるものの、挑戦的で面白そうだったのでskype面接の後、すぐに渡米して一週間ほどトライアルで働かせてもらい、最終日にオファーをもらえました。
(当時はもちろんサラリーマンであった訳で、急に無理矢理休ませてもらいました)
このとき、オファーしてもらえた理由は、何よりもビザの問題をクリアしてた点が大きかったそうです。


オファーの返答についてはその場で即答。もちろんYes。
前職の職場でもとても挑戦的なことをしていて、非常に面白く満足していましたが、
人生を通してシリコンバレーで働くことを一つの目標としていたので、全く迷いがありませんでした。また、会社に入る前からアメリカでは働きたいということを自分や妻の家族に伝えており、家族にはすぐに了承を得られ、障害はほとんどありませんでした。
振り返れば、最初に応募してからオファーをもらう日まで3週間程度という短期間で決まりました。


ただ、会社に関して、当時の上司はこれから自分やチームの将来のことを色々と考えて下さっていたので、その点については本当に申し訳無いですとしか言いようがありません。この先、別の形で還元でできればと思います。


こうして職が決まり、9月からアメリカに移住することになりました。
家族の助けもあり、日本での資産や年金などの管理は全て家族にお願いし、安心して渡米することができました。
この点、家族には本当に感謝しています。もし日本に信頼できる人がいなければ非常に面倒なことになっていました。

アメリカでの生活

現地では、最初の二週間はホテル住まいで車と家探しから始めました。
以前から聞いていた通り、シリコンバレーでは、人の移り変わりが非常に激しく(ダメだったら本国へ帰ってしまう)、家賃の相場が月2,000USD(1LDK)と非常に高い!
だからといって大体安いところには穴があるので、家賃と条件のバランスをみつつ治安が良いのを優先して物件を探しまわり、なんとかリーズナブルな物件に巡りあうことができました。
元住人のレビューとどこでどういう犯罪が発生したかを表示する犯罪マップの活用するのがオススメです。

Apartment ratings - http://www.apartmentratings.com/

Crime repors(San Jose) - http://www.sjpd.org/crimestats/CrimeReports.html


車も日本に比べて中古車が高く、ディーラーも不親切(口だけ)なことが多く難しい買い物でした。大手ディーラーで試乗したときにはシートベルトが締まらないといったこともあり、このディーラー自体への信頼性がほぼゼロ。
結局日系のガリバーさんが一番車がメンテされてそうで、あと色々親切に教えてもらえたので、そこで購入することになりました。車の決めての一つは前のオーナーが日本人の奥さんであったことで、きれいにメンテされていて、走行距離も非常に少なかったことがありました。
そんなこんなで、一番心配していた家、車ともに一週間で決まり、仕事にスムーズに入ることができました。


10月から仕事が始まりましたが、Ruby, Rails, Hadoopといった直接はあまり触ってこなかった技術ばかりで、技術本をつまみつつなんとかこなしていきました。
時間、リソースの効率が重要であるベンチャーにとって、Railsは必須だなと感じる日々です。
使う技術は変わったものの、伝える言語が英語になる以外、今までの開発と特に変わったことはありません。
つたない英語ですが、今ではアメリカ人のエンジニアとペアで開発を進め、自分なりですがなんとかチームで進めていけるようになりました。


アメリカ生活で前職と比べて一番変わったことは勤務時間で、大体が10AM - 6PM。
家族で晩ご飯を食べることが当たり前の文化なので、6時ごろに帰り家で夕食を食べます。
スタートアップではもちろん仕事はたくさんあるので、夕食後にまた仕事をしなければなりませんが、くたくたで終電で帰る、といったようなことは無くなりました。
この一日の過ごし方は家族を大事にでき、アメリカに来てよかったと思うことの一つです。


食事については、西海岸には日系スーパーが多く、そこそこリーズナブルな値段で日本の食材を手に入れることができるので、家ではほぼ日本食を食べてます。
シリコンバレーで働くエンジニアの半数以上がアジア人(http://chihouban.com/?p=8496)ということもあり、東海岸に比べてアジア系の店も非常に多く、アジア人にとっては住み良い町だと思います。

総括

今年はとにかく運でチャンスを勝ち取ったとしか言いようが無い一年。
そして、思い返せば何年も前から行きたいと思っていた、その夢が叶ったというのは感慨深いです。
アメリカに来てこれまで3ヶ月ですが、仕事、プライベートともに刺激的で、本当来て良かったと思う日々です。


ただ、運だけでは無く前職で培った経験が無ければその土俵にも上がれていない訳で、お世話になった方々には大変感謝しています。今でも多くの場面で、当時携わった仕事がしっかりと糧になっていると感じています。


まだまだ成功はしていない訳で、スタートアップなのでこの先どうなるかどうかわかりません。
アメリカでは2日から仕事初め。
本当これからが勝負で、来年も家族を大事にしつつ突っ走っていきたいと思います。


良いお年を。

「1秒!」で財務諸表を読む方法

1秒とは言わないまでも、1章を読むだけで目から鱗

この本を読む前に、個人的に簿記二級をとってて、そのレベルの知識はあったのだけれど、実際にどのように役に立つのか、特に財務諸表を読んでどのように会社の経営状況を判断するのか、そういう実務的な知識はさっぱりだった。
たぶん、実際の業務上で使うことにより、また先人の方々と共に仕事することにより身につけていくものだと思うけど、一般のサラリーマンだと中々機会が無い。そんな中、この本のAmazonで「あまり知識が無くても理解できた」というレビューがあり、よくわからなかった財務諸表の実務について興味を持とうと思ったのがきっかけ。結果、この本を1章を読むだけで、財務諸表の見方についてすんなり入ってきて結構感動。

簿記の勉強の時にはあまりにもルールが多くて非常にしんどかったけど、この本ではそれぞれしっかりと理由を添えながら説明されていて、しっくり感が得られる。こういう目的ベースで取り組めば、それぞれの必要性も理解でき、もっと興味を持って取り組めばと。まぁ遅いけど。

個人的には簿記を勉強していてしっくり来ない方におすすめ。

大規模サービス技術入門

学生にとって最高の授業

本書は、元はてなのCTOだった伊藤直也さんによる、はてなでのインターンシップの内容をセッションごとにまとめたもの。学生を相手ということもあって、内容はかなり噛み砕いて説明されており、ある程度の基礎知識(プログラム含む)があれば、読みやすい内容だと思う。

内容は、フレームワーク等の使い方ではなく、はてなでサービスを運用し続けるために必要とし、実践してきた技術を解説、課題という流れで講義が進んで行く。このような中、結果では無くきちんと、最初考えたこと、失敗したこと、考えた解決案、そして試した結果までとプロセスをしっかりと解説されており、読み手は納得しながら読み進められる。

こういう本を読んでつくづく感じるのは、最初から完璧なシステムは作れず、その状況に応じて最適なシステムの形をとりうること、またいかなるエンジニアでもトライアンドエラーを繰り返し、システムを改善していくことが必要であることである。

本書を通じて、naoyaさんの思考プロセスを少しでも共感をできれば、自分の仕事にも生かせるはず。
課題もしっかりやらないと。。

XCode4系での正規表現検索

XCode4系で、検索sや置換(Find, Replace)を正規表現でする方法のメモ。
少しわかりにくいけど、XCode3系とほぼ同じように利用可能

1. 左ナビゲーションカラムの検索ボタンをクリックして検索画面を開く
2. 検索マークの▼をクリックして、「Show Find Options」を選択

3. Styleを「Regular Expression」に変更

置換する場合は、置換前にpreviewを見て変更点を確認できるなど便利。