開発合宿でDevOps界隈やモニタリング界隈で流行りのツールを組み合わせてBlue Green Deploymentできる何かを作りました。 同じチームで開発したid:shiba_yu36 先生やid:wtatsuru 先生が既にブログを書いてますが、自分の視点で書いてみます。(13/12/24追記: より詳細な内容が新規に書かれたのでリンク先を入れ替えました) Docker, Mesos, Sensu等を利用したBlue-Green Deploymentの仕組み - $shibayu36->blog; Docker コンテナにアプリケーションを立てて Graphite でいい感じに可視化するまで - wtatsuru's blog 僕は主に、各ツールから得られる情報をまとめて管理し、デプロイを実行するデプロイ管理ツールを作成していましたので、それについて書きます。 普段は運用の修行をして
続きを書きました。 Ruby Advent Calendar 22日目の記事です RroongaというRubyで使える全文検索エンジンがあって愛用しているのですが、使う前の準備でカラム指定やデータ型を指定したり、全文検索のためのインデックステーブルを作るのが少し大変でした(大規模なアプリケーションの時はしっかり定義出来るので便利なのですが)。 普段使いで全文検索するために、実験的にRubyのArrayのように使えるようにしてみました。 インストール Rroongaを使うにはgemのインストールが必要です。他の全文検索エンジンと違ってそれ以外のソフトウェアのインストールが不要なのがいい所です。Windowsでも問題なく動きます。 $ gem install rroonga 今回書いたコードは以下にまとめてあります。 ongaeshi/grn_array - GitHub $ git clon
前回、ブラックリスト型ファイヤーウォールとしてネットワークACL(NetworkACL)を紹介しました。セキュリティグループとの役割の違いが解り難いところがあるので、改めて整理してみたいと思います。 ネットワークACL(NetworkACL)とセキュリティグループ(SecurityGroup)の違い まずセキュリティグループとネットワーク ACLの違いは何でしょうか?これは、公式のドキュメントに表形式でまとめられていて非常に解りやすいので、是非一度見て頂ければと思います。表を転載すると以下の通りです。 セキュリティグループ ネットワーク ACL インスタンスレベルで動作します(第 1 保護レイヤー) サブネットレベルで動作します(第 2 保護レイヤー) ルールの許可のみがサポートされます ルールの許可と拒否がサポートされます ステートフル: ルールに関係なく、返されたトラフィックが自動的に
複数バージョンの PHP を入れようと思ったら有名な phpenv + php-build とか、phpbrew とかありますが、php-nabe ってものもあるよってことでひとつ。 php-nabe ってどこが良いの? PHP をビルドするのに PHP が不要 RBENV_ なんちゃらみたいに ruby っぽいのがでてこない シンプル! ただ、php-nabe という名前の PHP version manager を作った « Ooharabucyou に理由が書いてある通り、インストール可能な PHP のバージョンリストを内部で持ってないので、インストールする際には自分でバージョンを調べてインストールする必要があります。 この辺は自動で最新のバージョンリストを取得できるような仕組みがあれば本体に取り込まれるんじゃないかと思うので誰か詳しい人は pullreq でも送ればいいんじゃないか
今年3月に入門Chef Soloを書いた時点では、Chef Solo は Environments の機能をサポートしてなかったため解説は省略しました。 その後、Chef はバージョン 11.6.0 (現在は 11.8.2) で Chef Solo での Environments をサポートし、入門Chef Solo で推薦している knife-solo も 10月末にリリースされた 0.4.0 から Environments をサポートしました。というわけで、現状 Chef と knife-solo が最新版であれば Environments を利用することができます。 たまたま今手をつけている仕事で Environments のことを調べたので備忘録的に記しておきます。 Environments とは Chef の Environments は、例えば development や pr
こんにちは、インフラストラクチャ本部の大山です。 このエントリはGREE Advent Calendar 2013 22日目の記事です。 はじめに "ネットワークプログラミング" という言葉は、恐らくシステム屋さんにとって TCP/UDP あるいは IP といった L4, L3 の世界のプログラミングを想起させるのではないかと思います。ですが OpenFlow によって、そのレイヤが一気に L1 まで落ちました。つまり Layer-1 (物理層)までがプログラマブルに扱える領域になったということです。 これは主に Ethernet と IP に限定されるものの、従来 L1 から L3 の領域はネットワーク屋さんの領分で L4 以上がシステム屋さん、あるいはアプリケーション屋さんの領分という暗黙の了解を OpenFlow が無くしてしまいました。 今日は OpenFlow ネットワークを制御
これ、GitHubでタスク管理をする上でかなり便利そうです。 個人的にも仕事のプロジェクトでもタスク管理をGitHubで行うようにしています。イシューの汎用性が高いので便利なのですが、それでも数が多くなってくるとなかなか管理がうまくいかなくなります。 どうにか解決したいなと思っていたのですが、まさにそのためのツールがありました。それがHuboardです。 まずはGitHubアカウントと繋げます。オープンなプロジェクトだけが一覧されます。 幾つかのラベルが自動で生成されます。これで準備は完了です。 これが一覧画面。左側にフィルタが並び、右側にタスクのステータスが確認できます。 ここで詳細も分かります。 バックログです。 さらにイテレーションとして表示もさせられます。これがいい感じに見やすいですね。 HuboardはGitHubの課題管理をカンバン化するソフトウェアとのことですが、まさにカンバ
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist
この記事は tech.kayac.com Advent Calendar 2013 21日目の記事です。 こんばんは。13新卒の @m0t0k1ch1 です。 @mackee_w さんに立てていただいた scala フラグを倒させていただきまして、、ここ1週間くらい1人でこそこそやっていたことについて書きたいと思います。内容は表題そのままの感じです。 soundcloud について soundcloud 有名な無料音楽クラウドサービス イケてる remix が多いので、ここで音楽を聴きながらコードを書くことが大半 ローカルに音楽ファイルを持ちたくないのでうれしい soundcloud に対して最近感じていた不満 本家ではリピート再生が(曲単位・プレイリスト単位ともに)できないのでつらい SoundCloudRepeat.com もあるけど、決め打ちでリピート再生というよりかは、お気に入りの
こんにちは。Androidライブラリおじさんです。Android Advent Calendar 2013 21日目の担当です。TransfuseというAndroid向けの凶悪なDIコンテナがあったので人柱がてら触ってみました。使い方や出来る事などを簡単にまとめます。 サンプルコードはhttps://github.com/sys1yagi/TransfuseSampleで公開してます。Android Studio用です。 宣伝 本出たり出そうだったりしてます。どっちもいい感じです。年末年始に是非! Androidオープンソースライブラリ徹底活用 Effective Android 結論 TransfuseはPOJOにアノテーションベースでDIするので設計がだいぶ縛られるけど、これこそDIの正しい設計なのかもしれないと思いました。Transfuseすごい。こわい。ただアノテーションと普通のク
Shin x blog Advent Calendar 2013 の 21 日目です。 第 12 回関西 PHP 勉強会 にて、PHP 5.6 に採用予定の phpdbg をひと足先に PHP 5.5.7 で触ってみました。 phpdbg phpdbg は、gdb ライクな PHP 用のデバッガです。ブレークポイントを設定して、その時点のコンテキストを確認したり、ステップ実行などができます。 phpdbg | php debugger インストール PHP 5.6 から同梱される予定の phpdbg ですが、これ自体はすでにリリースされており、PHP 5.4 から利用することが可能です。インストールには、PHP のソースコードが必要になるので、PHP も ソースからインストールします。 $ sudo yum -y groupinstall "Development Tools" $ sud
一日に数回 MySQL が詰まるような現象があったので原因を調べたところ、そのサーバだけ innodb_stats_on_metadata=1 になっていたのが原因だったという話デス。 innodb_stats_on_metadata は、テーブルのメタデータにアクセスしたときに InnoDB の統計情報を更新するかどうかのフラグで、今回問題が起こっていたサーバのようにデータ量が多いサーバなどでは無効にしておく必要があります。例えば、公式ドキュメント の innodb_stats_on_metadata の部分にはこのように書いてあります。 この変数が有効 (この変数が作成される前からのデフォルト) な場合、SHOW TABLE STATUS や SHOW INDEX などのメタデータステートメントの実行時や、INFORMATION_SCHEMA テーブル TABLES または STATI
このエントリは Java EE Advent Calendar 2013 の3日目です。 昨日は @matsumana さんのご担当で JAX-RS + mustache - @matsumana の技術メモ でした。 今回はBeanValidationの自分なりの使い方をご紹介します。 その前に BeanValidationてなんや?という方は JSR 349 の仕様を読むと良いでしょう。 200ページ超えてますが半分以上コードっぽいのでそんなにしんどくないんじゃないかと思わなくもないけどどうでしょうか? もしくは「BeanValidation しんさん」でググると良いですよ。 本題 BeanValidationではフィールドやgetterに@NotNullとか@Sizeとかアノテーションをモリモリ付けてバリデーションするわけですが、調子に乗ってるとすぐアノテーション地獄になってキツいの
3月19日(月)に要求開発アライアンスのセッション『Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標』を行いましたが、説明を端折ったところを中心にスライドの回顧をしています。 今回は「Data Context Interaction (DCI)」として用意した以下のスライドを説明します。 オブジェクト・モデリングの問題点の一つに、ユースケースからドメイン・オブジェクトへ真面目に責務の分散配備をしていくと、ドメイン・オブジェクトの実現が非常に重たくなってしまうという問題があります。 ドメイン・モデルそのものに由来するドメイン・ロジックをドメイン・オブジェクトで実現するのは、本来のオブジェクト指向の趣旨にも則っており問題ありません。 論点となるのはユースケース由来のアプリケーション・ロジック。このアプリケーション・ロジックを、(1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く