Feature Flagを用いたサーバーサイドリリースの実装と柔軟な運用について/implementation_and_operation_of_server_side_release_with_feature_flag
![テレビ・レコーダーのバックエンドにおけるCI/CDへの取り組み](https://cdn-ak-scissors.b.st-hatena.com/image/square/8a0ec13a7b3d6de5c6174407afe86b57e5012336/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F22d79fe615484b26a7de116b19948fec%2Fslide_0.jpg%3F11351613)
えっらそうに大規模開発を語るような立場じゃないんだけど、何かと話題のこのへんの記事を読んでいろいろと日ごろ思うところがふつふつとわいてきたので……。 Life is beautiful: 特許庁のシステム開発が破綻した本当の理由 Fumi's Travelblog: "費やした55億円、水の泡に 特許庁がシステム開発中断"って一体何だったのか、報告書を読んでみた 特許庁システムのことはそれなりに話題で、日本についてから何度も話にあがってきている。まあ不祥事だのなんだのって話もあるがそれはおいとくとしても、設計段階で60人体制ってだけでも多すぎるのに、増員で1300人体制とか……。設計を穴掘りかなにかと勘違いしてるとしか思えない対策でそりゃまあ破綻するよなあと。 それからね、中嶋さんの記事のコメント欄に書き込まれてた、よく言われる大規模開発でのこのへんの話。 SIerが開発を行う場合、この1
Sentryはシステムのエラーを集約して管理するソフトウェアです。 システムで問題が起こった時にどのように対応すればいいでしょうか。まずそのデータを収集し、管理できる状態する必要があります。そのためのライブラリがSentryです。 サイトのトップです。 新規プロジェクトを作成します。 そうするとURLが生成されます。これが重要です。 後はRuby/Python/PHP/JavaScriptなどでAPIをコールします。 プロジェクトの詳細画面です。 プロジェクトのダッシュボードです。ここにアクションのログが出ます。 こちらは公式サイトのスクリーンショット。 グラフです。 Sentryは様々なプログラミング言語向けにライブラリを提供しています。Web APIもあるので任意のプログラミング言語で組み込むこともできるでしょう。エラーをトレースして飛ばせば良いだけです。後はその回数によって優先順位が
BarkeepはGitリポジトリに対応したユーザビリティ高いコードレビューシステムです。 会社でプログラミングを行っているとそのコードの品質はばらつきが出てきます。そうするとバグが多くなったり、予期しない問題に直面したりします。それを防ぐのに有効なのがコードレビューです。Barkeepはユーザフレンドリーなコードレビューシステムになっています。 メイン画面です。コミットログが並んでいます。 詳細です。差分が表示されています。 サイドバイサイド。アニメーションしながら表示されて格好いいです。 コードをダブルクリックするとコメントできます。 コメントしました。 一つにまとまっている場合もコメントできます。 レビュー依頼もできます。 ステータスです。レビューされている、されていないといった情報が一目で分かります。 検索結果です。 こちらはプロフィール。 Barkeepは検索における入力補完やフィ
先週、1月25日と26日に都内で行われたソフトウェアテストに関するシンポジウム「ソフトウェアテストシンポジウム JaSST'12 Tokyo」。会場には、参加者が自分の知っているテストの種類を付箋に書いて、自由に貼ることができるポスターが掲示されていました。 独自のテストの種類を貼っていく ポスターの下地になったのが「テスト技法ポジショニングマップ」です。さまざまなテスト技法が表示されています。 この上に、さらに自由にテスト技法、テスト手法の名前が付箋で貼られました。例えば、右上には「ZERO テスト(テストしない)」、右下の方には「血みどろテスト」、中央下には「書いてあるとおりテスト」、左下には「がまの油いぶり出しテスト」、左上には「カン」(勘ですね)、図のど真ん中には「たぬきの皮算用テスト」などなど。名前だけではどんな内容のテストなのか分かりませんけれど……
マイクロソフトの責任者が語る「われわれはどのようにソフトウェアをテストしているか?」 JaSST'12 Tokyo ソフトウェアのテストに関わるエンジニアが集まる国内最大のイベント「ソフトウェアテストシンポジウム JaSST'12 Tokyo」が1月25日、26日の2日間、都内で開催されました。 10周年を迎えた今回のイベントの基調講演を行ったのが、開発しているソフトウェアの規模、分野、種類において世界最大の企業、マイクロソフトのプリンシパル テストリードのBj Rollison氏。 「How We Test At Microsoft(マイクロソフトでどのようにテストをしているのか?)」という題で、同社がどのようなソフトウェアテストを行っているのかを中心に講演を行いました。講演の内容をダイジェストで紹介しましょう。 開発者とテスターはほぼ同数 マイクロソフト プリンシパル テストリードのB
このエントリーは「Software Test & Quality Advent Calendar 2011」における12/18分として書いています。 12/17は @NoriyukiMizuno さんによる 「ソフトウェアテストの勉強会。1年目。」 というエントリでした。 今回は、以前から感じている矛盾について、私なりの考えをまとめたものです。 特に、マネージャーや経営層と呼ばれる人に読んでもらいたいと思っているのですが、このブログの読者層を、考えると、あまり多くはなさそうなので、以下に示す問題について、悩んでいる/苦しんでいるような人から、うまく伝われば良いと思っています。 矛盾する問題 私は、SEPG(Software Engineering Process Group)という役割上、いろいろなソフトウェア開発のプロジェクトや組織に関わってきました。 絶対数で言えば、そんなに多くはない
JSONpadはJSONデータのビューワー/エディター。WebベースまたはAdobe AIR版がある。 JSONpadはJavaScript/PHP製のオープンソース・ソフトウェア。最近のWeb APIはRESTfulなものが多くなった。URLとメソッドを組み合わせてデータのCRUD操作ができる。使っているプロトコルがHTTPなので、JavaScriptとの親和性が高いのも魅力だ。 エディタ画面 そんなRESTfulのデータやり取りの際に使われるフォーマットはJSONが多い。こちらもJavaScriptとの親和性がもちろん高い。受け取った、または送信するJSONデータの構造を確認したい時に使うのがJSONpadだ。 JSONpadはWebアプリケーション風のUIで作られたソフトウェアで、JSONデータをツリー構造で確認したり、さらにデータのメンテナンスができるようになっている。データタイプ
sventonはJava製WebベースのSubversionリポジトリブラウザ。 sventonはJava製のオープンソース・ソフトウェア。個人の間ではGitやMercurialといったバージョン管理システムがもてはやされているが、企業においてはまだまだSubversionが強い。機能的にも十分であり、社内開発であればあえて乗り換える理由がない場合も多いだろう。 そんなSubversionの管理ではTortoiseSVNが使われているだろうが、非開発者が使うならばWebベースのが良いと思うはずだ。そこで使ってみたいのがsventonになる。 sventonはWebベースのSubversionリポジトリブラウザだ。階層をそのまま表示してフォルダを辿りながらファイルを閲覧していくことができる。またコミットログを閲覧してファイルの差分を確認することも可能だ。差分はDiffとして表示することもサイ
2012年3月26日 更新 2011年4月7日 公開 独立行政法人情報処理推進機構 ソフトウェア・エンジニアリング・センター 概要 最近のソフトウェア開発では、ビジネス環境の変化への対応、これに伴う要求の変更、ソフトウェアの市場投入や投資効果の確認の迅速化が、以前にも増して厳しく求められています。このような状況において、要件を最初に決めずに開発に着手できるアジャイル型を中心とする非ウォーターフォール型の開発手法が注目されています。 IPA(独立行政法人情報処理推進機構)ソフトウェア・エンジニアリング・センター(SEC)では、ウォーターフォール型開発及び、アジャイル型開発の経験が豊富な実務者、契約に詳しい専門家など、産学官の有識者をメンバーとした「非ウォーターフォール型開発ワーキンググループ」を設置し、これらの課題について検討してきました。 この度、日本におけるアジャイル型開発に適したモデル
EclipseユーザのためのNetBeans入門記事です。NetBeans 5.0は、非常にシンプルでありながら高機能の開発環境であり、特にJavaをこれから始める人にお勧めです。上級者にとっても、重宝する機能が付いています。本稿では、まず最初に、NetBeansの機能面をユーザーの立場でEclipseと比較し、順々にNetBeansのプラグインの作り方にせまっていきたいと思います。 はじめに この記事は、Eclipseのプラグイン開発を行った経験のある人が、NetBeansでも同じようなプラグインを開発しようと思ったときに、一番最初に読んでもらえると良い内容を書いています。 NetBeansのPluginモジュールは、http://platform.netbeans.org/から入手可能です。 お勧めの読み方は、まずは、いろいろとPluginモジュールのサンプルソースコードのチュートリア
グーグルは検索エンジンだけではなく、メールソフトのGmail、オフィス系ソフトのGoogle Apps、WebブラウザのChromeやOSのAndroidなど、さまざまな種類と規模のソフトウェアを開発しています。 それらはどのようにテストされ品質管理されているのでしょうか? グーグルのブログGoogle Testing Blogに、Test Engineering DirectorのJames A Whittaker氏による「How Google Tests Software」がポストされ、その概要を伝えています。 3つのチームからなるEngineering Productivity Whittaker氏はまず、グーグルにはテストの専門部隊はいないのだ、という組織構造の説明から始めます。 There isn't an actual testing organization at Googl
Sammy.jsはJavaScriptによるRESTfulをサポートしたWebフレームワーク。 Sammy.jsはJavaScript製のオープンソース・ソフトウェア。Webアプリケーションを開発する際には、サーバサイドとクライアントサイドの二つを開発する必要がある。クライアントサイドにはJavaScriptやFlash、HTMLなどが使われているだろう。 フォームのハンドリングも可 しかしJavaScriptはどんどん高度化し、機能が増している。JavaScriptだけで解決できることは日々増えているのだ。もはやサーバサイドを必要とせず、Webアプリケーションを構築できてしまう。そのためのフレームワークがSammy.jsだ。 Sammy.jsはごく小さなWebフレームワークで、ルーティングを備えている。クライアントサイド内でRESTfulをルーティングで定義し、アクションを受け取ることが
MeeGo for IVIをLive USBで体験する:IVIシステムの標準化を目指す「GENIVI」【後編】(1/2 ページ) GENIVI AllianceがIVIの次期リファレンスのソフトウェア基盤に採用したMeeGo。Live USBで「MeeGo for IVI」を実際に動かしてみよう IVIシステムの標準化を目指す「GENIVI」 前編「車載インフォテインメントシステムとは?」で説明したように、IVI(In-Vehicle Infotainment:車載インフォテインメント)向けにオープンなインフォテインメントプラットフォームの幅広い採用を目指し発足された非営利団体が「GENIVI Alliance」です。 GENIVI Allianceは、2009年3月に自動車メーカーなどが中心となり設立されました。オープンソースのIVIリファレンスプラットフォームを開発し、その普及・促進を
DoxはJSDocに対応したソースファイルからドキュメントを生成するライブラリ。 DoxはJavaScript/node.js製のオープンソース・ソフトウェア。JavaScriptがWebアプリケーション構築の際のメイン言語として使われるようになっている。その結果起こっているのがJavaScriptのコードの大規模化だ。 トップページ 大規模になれば当然、複数人での開発体制になる。そうなれば情報の共有やコーディングスタイルの統一などが必須になる。その一端を担うのがAPIドキュメントだ。ソースコードからドキュメントを生成するソフトウェアがDoxだ。 DoxはJSDocもサポートしたソフトウェアで、コンソールからコマンドを実行するだけでHTMLベースのドキュメントを生成する。ドキュメントにはMarkdownの記法が利用できる。システムとしてはnode.jsを使っており、npmを使ってインストー
「コードの読まれ方が分かった」、工数見積もり精度向上に寄与:奈良先端科学技術大学院大学 森崎修司氏らが発表 「ソースコードの読まれ方の傾向がまた1つ明らかになった。これで派生開発、保守開発の工数見積もりの精度が向上する」――奈良先端科学技術大学院大学 森崎修司助教らの研究グループは、2009年9月~11月にかけて行ったソースコードリーディングのオンライン・ハンズオン、2010年1月、2月に行ったイベント「ソースコードリーディングワークショップ」、ほか3回におけるハンズオンの分析結果を発表した。 総計126人に、保守/派生開発プロジェクトを模した形式で複数のソースコードを読んでもらい、それぞれにかかった時間を計測、分析したところ、「ソースコードの読解時間はソースコードの行数だけで予測することは難しい」「大規模な変更の場合、コードレビューの経験があるとソースコードの読解時間を短縮できる」ことな
KnockoutはMVVM(Model-View-View Model)を実現するJavaScriptライブラリ。 MOONGIFTはこう見る MVVMの概念についてはこちらの記事を参照のこと。それをJavaScriptで実現したのがKnockoutと言える。WebアプリケーションとMVVMを組み合わせると非常にデータ操作が便利に使いやすくなりそうだ。data-bindの書き方は最初は慣れないかも知れないが、見た目の理解はしやすいと思う。 ショッピンカートのようなシステムの他、Twitterクライアントのサンプルもある。何よりデータの追加、削除がリアルタイムに反映されるのが便利で良い。 KnockoutはJavaScript製のオープンソース・ソフトウェア。MVVMとはModel-View-View Modelの略で、ViewとModelの間にView Modelというものを挟み込む。Vi
openid-realselectorはjQuery/JavaScript製のオープンソース・ソフトウェア。最近ではWebサイトの認証にOpenIDを利用するケースも増えている。かつGoogleやYahoo!など大手のWebサービスでもOpenIDプロバイダーとして使えるようになっている。 選択すれば良いだけ GoogleやmixiといったOpenID 2.0に対応したサービスではURLが共通化されたために入力する手間も省けるようになっている。そうした対応サービスを個々に並べるのが面倒という人はopenid-realselectorを使ってみよう。 openid-realselectorはGoogleやYahoo!、AOLなど主立ったWebサービスをアイコンで並べてOpenID認証をしやすくするライブラリだ。さらにユーザ名を入れる必要がある場合も、FlickrやWordPress、Blog
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く