タグ

2014年3月24日のブックマーク (16件)

  • Etsyはいかにして1日に50回ものデプロイをしているのか

    Daniel Schauenberg氏は先日のQCon Londonで、DevOpsや継続的インテグレーションを実践していることで有名なEtsyが、いかにして1日に50回ものデプロイをしているのかについて語った。リスクを最小限に抑えながらこのペースの変更を実現するためには、完全に自動化されたデプロイメントパイプライン、徹底的なアプリケーションのモニタリング、IRCベースの共同作業、これらすべてが重要なのだ。 Etsyの開発への取り組みは、いくつもの小さくて途切れることのない変更を中心に回っている。直接影響するのは、一日に何度もデプロイする必要性だ。Daniel Schauenberg氏の言葉を借りれば、Etsyの開発者はいつどんなときでも「今すぐこの変更をデプロイするゆとりが自分にはあるか?」という質問の答えを知っていなければいけない。常にゆとりを持てるように、Etsyはさまざまなツールや

    Etsyはいかにして1日に50回ものデプロイをしているのか
    sonots
    sonots 2014/03/24
    あとで読む
  • 分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ

    技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの

    分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ
    sonots
    sonots 2014/03/24
    素晴らしいなぁ〜
  • Go言語での構造体実装パターン

    Go言語での構造体実装は、埋込や独自コンセプトのインターフェースといったGo言語独自の機能を理解して行う必要があります。 今年からGo言語を始めましたが理解が曖昧なままだと実装に迷うことが何度かありました。今回よい機会なので、Go言語での構造体実装パターンとしてまとめてみることにしました。 構造体実装パターン 実装パターンの洗い出しとして、GoFデザインパターンをGo言語で実装する手法をとりました。 その中で繰り返し現れる実装をGo言語での構造体実装パターンとしてまとめてみました。 コンストラクタ関数 エクスポートによるアクセス許可 インターフェースによるポリモフィズム 構造体によるポリモフィズム 構造体によるサブクラス・レスポンシビリティ 構造体による移譲 関数による移譲 以下、それぞれのパターンを解説していきます。 コンストラクタ関数 Go言語には構造体のコンストラクタがないため、構造

    Go言語での構造体実装パターン
    sonots
    sonots 2014/03/24
    あとで読む
  • LINE Serverの開発とリリースプロセス « LINE Engineers' Blog

    皆さんお元気ですか?LINEサーバー開発室でサーバ開発を担当している崔珉秀と申します。 この記事ではLINEのサーバーの開発とリリースプロセスについて述べたいと思います。 LINEの開発者はどんな形で開発しているのか、サービスに変更事項をどのように適用しているのか、お互い協力してより良い開発環境を得るためにどんな努力をしているのかをお伝えする機会になったらいいなと思います。 ここで述べるリリースプロセスは、LINEのサーバ開発の流れとソース管理システムの運用方法、そして番環境に変更事項を適用するまでの過程です。 LINEのServer Applicationはその役割とシステムの構成によって複数のServer Applicationに分かれて構成されています。 例えばNetwork通信及びProtocolなどを担当するApplication、messagingやsocial graph

    LINE Serverの開発とリリースプロセス « LINE Engineers' Blog
    sonots
    sonots 2014/03/24
  • なぜ html の form は PUT / DELETE をサポートしないのか?

    なんで html の from は PUT / DELETE ができないのか、「セキュリティ的理由」とか「歴史的経緯」とか、わかったような分からないような説明はよく聞くけど、実際なんでなのか調べてたら色々教えてもらった話。 ここまでわかったことを blog にまとめました。 / “なぜ html の form は PUT / DELETE をサポートしないのか? - Block Rockin’ Codes” http://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete

    なぜ html の form は PUT / DELETE をサポートしないのか?
    sonots
    sonots 2014/03/24
    読んでる
  • ムック「データベース徹底攻略」 - MySQL/Redis/MongoDB/Redshift

    最近発売された技術評論社のムック「データベース徹底攻略」に寄稿しました。 このは、データベースのためのということで、データベース設計、SQLMySQL、Redis、MongoDB、Redshiftという代表的な要素技術についてのまとめとなっています。各プロダクト(MySQL、Redis、MongoDB、Redshift)については、現場で実際に格的に使われている方々による記事なので大いに参考になると思います。 私は冒頭のまとめ記事を寄稿しました。詳細はぜひお手に取って読んでくださればと思います。ここでも自分が各技術を現時点でどのようにとらえているか、ではいささか書きづらい内容について、最近流行りの言葉でもある「技術的負債」という観点も踏まえて書いておこうと思います。 ・MySQL (RDBMS) 私はMySQLの中の人でもありましたし、これまで至るところで話してきたので省略します

    sonots
    sonots 2014/03/24
    営業は売ったもの勝ちなのでw
  • KAIZEN platformが伊藤直也氏とやってきた、開発現場の暗黙知をなくすチーム運営術【連載:エンジニアの幸せな職場】 - エンジニアtype | 転職type

    2014.03.24 働き方 エンジニアにとって、当に「働きやすい環境」ってどんなのだろう? という疑問を解消すべく、組織づくりや職場環境に秀でたTech企業にインタビューを敢行するこの企画。インタビュアーは、エンジニアのためのポートフォリオサイト『Forkwell』や、エンジニア目線の求人・転職サイト『Forkwell Jobs』を運営する株式会社garbs取締役おおかゆかさん。エンジニアが「幸せに働ける職場」のあり方を探る! 株式会社garbs 取締役 Forkwellプロダクトマネージャー おおか ゆかさん 関西学院大学経済学部を卒業後、独立系SIerを経てインフォシーク社に入社。楽天による買収後も含めて、インフォシークのログイン周辺機能や各種コミュニティサービスの開発を担当。その後フリーランスとして活動、業務委託で入ったgarbsで提案したエンジニアのスキルマッチングの企画が採用

    KAIZEN platformが伊藤直也氏とやってきた、開発現場の暗黙知をなくすチーム運営術【連載:エンジニアの幸せな職場】 - エンジニアtype | 転職type
    sonots
    sonots 2014/03/24
  • Ruby 2.0.0 のメンテナンス申し送り

    2013年2月の Ruby 20周年にリリースされた安定版 2.0.0 のブランチメンテナとしてここ1年あまり活動してきましたが、Rubyアソシエーション様の 2014年度「Ruby安定版保守委託」の内容が 2.0.0 のメンテナンスとなっていますので[1]、4月からは 2.0.0 のメンテナを交代することになるかもしれません。わたしはRubyアソシエーションの中のひとではないので募集状況などどうなりそうなのか知らないので、たぶん、ですが。先日リリースした 2.0.0-p451 がわたしの手による 2.0.0 のパッチレベルリリースとしては最後のものになるかもしれません。その後もバックポートは続けてるのでまだ活動はしてますけどね。 またそうした状況は置いておくとしても、Ruby 2.0.0 のメンテナンスにおけるポリシーや、個々の事例についてわたしがどう考えて判断したのかについて書き残して

    Ruby 2.0.0 のメンテナンス申し送り
    sonots
    sonots 2014/03/24
  • 完全オープンソースの分散型ファイル同期ソフト「Syncthing」に期待大 | ソフトアンテナ

    最近Dropboxや、BitTorrent Syncのようなファイル同期ソフトが大流行しています。「Syncthing」もそのようなファイル共有ソフトの一つ。中央サーバーを持たない分散型のファイル同期ソフトで、BitTorrent Syncと似ていますが、完全なオープンソース(MITライセンス)で開発されているところが大きな特徴です(GitHub)。 Windows / Mac / Linux /FreeBSD / Solaris といった各種OS向けのクライアントがすでに準備されているので、すぐに試すことができます。さっそくMac版を動かして同期させてみました。 Syncthingの使用方法 「Getting Started」が公式ドキュメントです。最初に目を通すことをオススメします。 ダウンロード まず「releases」から実行ファイルをダウンロードします。今回はMacの最新版「sy

    完全オープンソースの分散型ファイル同期ソフト「Syncthing」に期待大 | ソフトアンテナ
    sonots
    sonots 2014/03/24
  • 1人でよいコードを書く - 鳩舎

    1人でよいコードを書くのは、3人でよいコードを書くことの3倍難しい。悪いコードを書くときに説得する人間が 1/3 でよいので、つまり自分に向かって『まぁいいじゃん今回は』と言えば事が済む。続けているといつの間にか引き返せないところまできていて、適当に書いた個人プロジェクトは設計的破綻を起こし、コーディング規約もなにもあったもんじゃないという破滅が待っている。 ということで、1人でよいコードを書くために。今回は Rails プロダクトを1人で書くとして。 rubocop コーディング規約と、あまりに長すぎるメソッドやあまりに長いクラス定義などを見つけてくれる。全てに従うと厳しすぎて死ぬので、適宜各チェッカを無効にするのがよい。 僕はこんな感じの設定で使っている。 AllCops: Includes: - Rakefile - Gemfile - config.ru Excludes: - b

    1人でよいコードを書く - 鳩舎
    sonots
    sonots 2014/03/24
  • DockerfileのONBUILD| SOTA

    DockerfileのONBUILD Docker 0.8においてONBUILDというDockerfile用のコマンドが導入された.0.8ではOSXdocker clientが脚光を浴びたが,このONBUILDはかなり強力な機能.リリースノートはこちら.ONBUILDの公式ドキュメントはこちら. ONBUILDを使うと,次のビルドで実行するコマンドをイメージに仕込むことができるようになる.つまり,ベースイメージにONBUILDによるコマンドを仕込み,別のDockerfileでそのベースイメージを読み込みビルドした際に,そのコマンドを実行させるということが可能になる.要するに,親DockerfileのDockerfileコマンドを子Dockerfileのビルド時に実行させることができる機能. これは,アプリケーション用のイメージを作るときや,ユーザ特有の設定を組み込んだデーモン用のイメージ

    sonots
    sonots 2014/03/24
  • Perlリファクタリングツール作ってる - hitode909の日記

    こんにちは,まずはこのGIFをご覧ください. Perlのソースコードをリファクタリングするツールまともなのがないから自作することにした.perl-refactoring-toolsっていうそのままの名前. GitHub - hitode909/App-PRT: Command line tool for Perl code refactoring いろいろあってApp::PRTになった GitHub - hitode909/App-PRT: Command line tool for Perl code refactoring いまのところ,トークンの置き換えと,クラスのリネームができる. テストのカバレッジ100%で意識高い. hitode909/App-PRT | Coveralls - Test Coverage History & Statistics トークンの置き換え トークン

    Perlリファクタリングツール作ってる - hitode909の日記
    sonots
    sonots 2014/03/24
  • Ruby on Rails Hacking Guide

    Slides for RubyConf India 2014 talk "Ruby on Rails Hacking Guide" http://rubyconfindia.org/2014/

    Ruby on Rails Hacking Guide
    sonots
    sonots 2014/03/24
  • Facebook元役員「プログラミングを学ぶのなら、生涯仕事に困らないことを私が保証しよう。」 / リーディング&カンパニー株式会社

    1990年代後半から2000年代前半辺りまで、プログラミング言語を学ぶなど一部のコンピューターオタクがすることであって、10代や20代の好奇心旺盛な若者が学ぶことにはとても思えませんでした。 当時ちょうどグローバル化が格的にスタートした時期でもあり、プログラミング言語なんかを学ぶをよりも、英語を学ぶことに力を入れる学生の方が圧倒的に多かったように思います。 ↑1990年代、プログラミングはまだまだオタクの領域だった。 当時、僕の周りでも多くの人がサッカーや野球に夢中になる中で、コンピューターに夢中だった友達は「オタク」、「性格が暗い」など言われ、とても女の子にモテたり、学校で人気者になる存在ではなかったように思います。 そんな中、もし僕がこのビル・ゲイツ氏の言葉を聞いていたらコンピューターに夢中になる友達の視線も変わっていたのかもしれません。 「オタクには親切に。あなたたちは、いつか、彼

    Facebook元役員「プログラミングを学ぶのなら、生涯仕事に困らないことを私が保証しよう。」 / リーディング&カンパニー株式会社
    sonots
    sonots 2014/03/24
  • bitly: 監視ポイントに追加して役に立ったもの - ワザノバ | wazanova

    http://word.bitly.com/post/74839060954/ten-things-to-monitor 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約5時間前 bitlyはしばらくぶりに名前を聞いたのですが、まだ頑張ってるのですね。(失礼) 同社のHead of EngineeringのJehiah Czebotarが、サイトの運営の現場で学んで追加してきた監視ポイントについて紹介しています。 1. Fork Rate かつて、IPv6を意図的に無効(/etc/modprobe.confにおけるoptions ipv6 disable=1とalias ipv6 off)にしていた箇所があったため、新しいcurlオブジェクトが生成されるたびに、IPv6のステータスを確認するためにnet-pf-

  • 新言語Hackで最強PHPerになろう! - Qiita

    新言語 Hack とは こんにちは、新言語 Hack が Facebook より OSS としてリリースされましたね。 詳細は以下の通り。 https://code.facebook.com/posts/264544830379293/hack-a-new-programming-language-for-hhvm/ 新言語 Hack は HHVM 向けの開発言語で静的型付き言語の性質を取り入れ PHP での素早い開発を実施し、PHPとの互換性があります http://hacklang.org/ http://hhvm.com/ HHVM (HipHop Virtual Machine for PHP) とは、Facebook が OSS で開発している PHP 用の JIT コンパイラです。 HHVM は PHP のコードをダイナミックにバイナリコードへと変換することで高速実行の実現を目

    新言語Hackで最強PHPerになろう! - Qiita
    sonots
    sonots 2014/03/24