ミッションクリティカルなシステムをOpenStackに移行する

約4年前

OpenStackはクラウドインフラのオープンソースプロジェクトで、200社以上が参加していますが、ホスティングサービス大手のRackspace社とNASAの共同プロジェクトが母体になってます。


クラウドサービスが複数立ち上がる中、AWSが停電によりサービスの一時中断に追い込まれた事件を受けて、各クラウドサービス間の互換性の議論が盛り上がっているようです。


クラウド向けのソリューションを提供するGigaspaceのFounderであるNati Shalomは、クラウドへの移行基本ステップである、1)DevOpsプロセスの自動化、2) システムの既存インフラから抽象化する、3) 複数インフラ環境をカバーする管理ツールの利用、を経て、ミッションクリティカルなシステムも段階的にOpenStackに移行する(かつ必要な機能のみAWSを利用する)ことで、...

Twitterの上場とJOBS Act

約4年前

JOBSといってもSteve Jobsではありません。JOBS Actは昨年春にオバマ大統領が署名したことにより、米国において株の取得を前提としたクラウドファンディングが実質解禁になったことで知りましたが、今回のTwitter上場のニュースで、「売上が$1Bに満たない会社は、IPO申請を公表せずに秘密裏に上場準備できる。」という新ルールもJOBS Actにのっとったものだとわかりました。Jumpstart Our Business Startups Actという正式名称もわかりやすくてよいですね。

Etsy "log everything" : iOSでのログ取得の取り組み

約4年前

Etsyの開発チームは “log-everthing” の方針をもってますが、同社のスマホアプリ開発ではまだウェブほどノウハウ/インフラが蓄積できてない中、どのようにiOSで適切なログ取得をするか試行錯誤してきた過程を、エンジニアブログで紹介しています。


  • アプリがクラッシュのは最悪のケースだが、Cocoaでは検知できないことも多い。

  • Cocoaにおいて、array out-of-boundsエラーやディクショナリにnilキーがセットされた場合にエクセプションを投げるcollection classはフェイルファストとして知られているが、サーバの不具合に起因する場合もあるので、切り分けが必要。

  • 解決法として、これらのパターンを一連のラッパーメソッドに抽象化し、各collection classのSafeカテゴリとした。

  • その後、Appleがsubscripted...

閾値テスト導入のお勧め

約4年前

アジャイル開発などのテーマでの著作も多いMartin Fowlerが閾値テストの話をしています。


前提としては、ビルドとテストの自動化を進める際に、網羅的なテストをするのは時間がかかるので、段階的にビルドをテストして成果物の精度を上げていこうという彼の考えに基づいてます。ビルドの特定の動作に対して目標値を決めておき、クリアできなければビルドは不合格とする手法です。データが肝のアプリをつくっているときに、イケてないクエリを書いたり、インデックスの扱いが不適切だと、目標とするパフォーマンスがでないときがあります。この手の問題を早期に発見することで、当然その場では即修正ができますが、開発が進んだ後に見つかって、原因究明に時間がかかるリスクを下げられるとしています。


また、目標値を段階的に厳しくしていき、開発が進むにしたがって、...

Square: ペアプログラミングでインタビュー

約4年前

モバイル決済端末を提供するSquareのエンジニアブログ。同社は、Twitterを創業したJack Dorseyの次のプロジェクトです。


インターンのインタビュープロセスが紹介されてます。まずはマシンを好きな環境にセットして、それからペアプログラミングを名とこなすというスタイルのようです。

開発言語ランキング

約4年前

Google searchでの


"implemented in <language>"
"written in <language>"
"developed in <language>"
"programmed in <language>"

検索結果をもとにした開発言語のランキングが発表されてます。


ネットで話題になると数が増える構造でしょうから、開発者数/開発案件数とは必ずしも比例しないとは思いますが、どの言語が伸びてるか / 伸びそうかというざっくりした指標にはなると思います。


PHP / C / Pythonがトップ、Goが順位をあげてきてます。

Helios (naoyaのはてなダイアリー)

約4年前

Heliosについてのまとめ。Baasの概要についてまとめた資料も紹介されてます。

Wingify: Redis + RabbitMQ でのアーキテクチャ再構築

約4年前

Wingifyは、コーディングができない人でもウェブサイトのデザインを変更し、A/Bテストができるツールを提供しているインドのスタートアップです。同社のエンジニアブログで、webサイトのデータを取得するアーキテクチャをLua/Redis/agentredrabbit/RabbitMQの組み合わせで再構築した取り組みについて紹介してます。


同社のサービスでは、ツール上で表示されたウェブサイトに変更をかけるとその結果を遅延なく画面に反映させるることに注力してます。そのため、書き込み速度の早いRedisを利用し、信頼性 & スケーラビリティのためにRabbitMQも使うようになったのが経緯です。


Redisを間に入れることでRedis / RabbitMQ間でのデータ消失のリスクが発生しているという指摘に対しては、Rabbit MQサーバ / クラスタを複数用意 &...

ChefとPuppetとAnsible

約4年前

ChefもPuppetも機能的にパワフルだけど、Ansibleが簡単だよという話。


  • Puppet / Chef / Salt / Ansibleの比較本 ($39: 払ったお金の5倍の価値を感じなければ返金するそうです。)

  • Vagrant + Ansible + Githubの組み合わせがシンプルな環境設定に最適

などの話題も紹介されてます。


On Ansible
https://news.ycombinator.com/item?id=6351144

Eloquent JavaScript 第2版 のクラウドファンディング

約4年前

Eloquent JavaScriptは2007年にウェブで無料版が公開され、JavaScriptの教本としては最も人気のあるものです。今回、続編の制作のために、作者が自らのサイトでクラウドファンディングを始めています。


Kickstarterのルールに縛られたくないというのが、自分のサイトではじめた理由のようです。「クラウドファンディングのサイトやプロセスは自分でコントロールしたい。」「ビデオは嫌。」「寄付額ごとにお礼のメニューを用意(Kickstarterのルールです。)し、対応するくらいなら、その時間を執筆のクオリティをあげることに使いたい。」というのは同意ですね。


このようなかたちで、ある程度以上の知名度があれば、クラウドファンディングは自分でやるのがトレンドになるのでしょうね。集める金額が大きければプラットフォームに頼るというシナリオもありますが。


...

[iOS]UIScrollViewでエンドレスなスライドを作る (Seesaa京都スタッフブログ)

約4年前

UIScrollViewを使ってエンドレスなスライドを作る方法が紹介されてます。

話題のGittipがY-combinatorにアプライしたこと

約4年前

このChad Whitacreの方針はかなり風変わりで、同社のことを「open company」と称し、売上は運営経費(サードパーティへの決済手数料など)をまかなう最低限のレベルに設定し、一切給与をもらわないと宣言してます。


Y-combinatorが出資したことで話題になったWatsiは非営利団体で、ユーザからの寄付は100%同社が運営する途上国援助のクラウドファンディング取引に充当され(明細をGoogle Docsで公開してます。)、会社の運営資金は別途寄付を集めて経営されてます。このWatsiの方針も立派ですが、非営利団体でも堂々と給与は受け取れます。Gittipは給与をもらわないというかたちで更に上をいってます。


今回更に驚かされたのは、Y-combinatorのインキュベーションプログラムへの申込書類をGithub上で公開して、Hacker News上でオープンに議論してます。...