2013-01-01から1年間の記事一覧

さくらのサーバできつねさんとおぼえるLLVMの環境構築

さくらのサーバに、きつねさんとおぼえるLLVMの勉強をするための環境を構築したのでメモを残します。 OSはCentOSになります。また他に必要なファイルがあるかもしれません。LLVMをインストールするために必要な物をインストール # yum install libtool Packa…

継続的デリバリー-ソフトウェアデリバリーの問題19

Continuous Delivery vs Continuous Deployment - Continuous Delivery 継続的デリバリ vs 継続的デプロイ | Ryuzee.com 本番環境に対しての自動デリバリーについてテスターが何よりもまずやるべきことは、受け入れテストが本当にシステムのふるまいを検証し…

継続的デリバリー-ソフトウェアデリバリーの問題18

コミットステージのステップ ・コードをコンパイルする ・コミットテストを実行する ・後のステージで使うバイナリを生成する ・コードの健全性をチェックするために解析を実行する ・テストデータベースのような成果物を生成する役に立つメトリクス ・テス…

継続的デリバリー-ソフトウェアデリバリーの問題17

・バイナリをビルドするのは1回限りとせよ →コードをコンパイルするたびに何らかの差分が紛れ込むリスクがある。 ・あらゆる環境に対して同じやり方でデプロイせよ →僕のマシンではうまくいくんだけどな症候群を防ぐ ・デプロイメントをスモークテストせよ →…

継続的デリバリー-ソフトウェアデリバリーの問題16

・コミットステージ → システムが動くことを技術レベルで検証する ・自動受け入れテストステージ → システムが動くことを機能及び非機能レベルで検証する ・手動テストステージ → システムが使いやすいか、あるいは要件を満たしているか検証し、自動テストで…

継続的デリバリー-ソフトウェアデリバリーの問題15

インテグレーションテスト →アプリケーション内の独立した各部分が、依存しているサービスとうまく連携できることを保証するテスト外部システムを統合することはリスクが追加される ・使えるテストサービスはあるか、性能は十分か? ・サービスプロバイダー…

継続的デリバリー-ソフトウェアデリバリーの問題14

実際に起こりえる状況と戦略 ・新規プロジェクト ・テクノロジープラットフォームとテストツールを選択する。 ・シンプルな自動ビルドを準備する ・INVEST原則に従ったストーリーを受け入れ基準と合わせて導き出す ・顧客、アナリスト、テスターが受け入れ基…

継続的デリバリー-ソフトウェアデリバリーの問題13

ジェームズ・バッハ 「テスターはテストを実施する際にテストの設計を積極的にコントロールし、そこで得られた情報を使ってよりよいテストを新しく設計する」テストダブル ・ダミーオブジェクトは渡されるが、実際に使われることはない。 ・フェイクオブジェ…

継続的デリバリー-ソフトウェアデリバリーの問題12

受け入れテスト Given-When-ThenモデルCucumver・JBehave・Twist → 機能テスト自動化ツールブライアン・マリックの論文「テストはいつ自動化するべきか」 http://www.exampler.com/testing-com/writings/automate.pdf

継続的デリバリー-ソフトウェアデリバリーの問題11

分散バージョン管理システム ・分散バージョン管理でも継続的インテグレーションを行うことができるが、しっかりとしたルールを定めなければ難しくなる。マーチン・ファウラー → 無差別的なインテグレーションCIシステムを確立する基盤 ・巨大なディスプレイ…

継続的デリバリー-ソフトウェアデリバリーの問題10

やったほうがよいプラクティス ・エクストリームプログラミングの開発プラクティス ・アーキテクチャ上の違反事項があった場合にビルドを失敗させる ・テストが遅い場合にビルドを失敗させる ・警告やコードスタイルの違反があった時にビルドを失敗させる分…

継続的デリバリー-ソフトウェアデリバリーの問題09

継続的インテグレーションの基礎的なプラクティス ・ビルドが壊れているときにはチェックインしない ・コミットする前に、常にローカルでコミットテストを実行せよ。あるいは代わりにCIサーバーにやってもらえ ・次の作業を始める前に、コミットテストが通る…

継続的デリバリー-ソフトウェアデリバリーの問題08

継続的インテグレーションを始めるのに必要なもの ・バージョン管理 ・自動ビルド ・チームの合意継続的インテグレーションはプラクティスであって、ツールではない。James Shore: Continuous Integration on a Dollar a Day継続的インテグレーションの前提…

継続的デリバリー-ソフトウェアデリバリーの問題07

環境を管理する 継続的デリバリーを行う時のサードパーティのアプリケーションを選ぶ際の質問 ・デプロイできるか? ・設定のバージョンを効率的に変えられるか? ・我々の自動デプロイメント戦略と整合するか?適切にデプロイされた状態にある環境→ベースラ…

継続的デリバリー-ソフトウェアデリバリーの問題06

ソフトウェア設定を管理する ・アプリケーションの設定を管理する →設定情報をどのように表現するか →デプロイメントスクリプトからどのようにアクセスするか →環境やアプリケーション、あるいはアプリケーションのバージョンによってどのように変更されるの…

継続的デリバリー-ソフトウェアデリバリーの問題05

依存関係の管理 ・外部ライブラリを管理する →外部ライブラリのコピーをローカルに保存しておくことが推奨 →ただし、バージョン管理は肥大化する。 ・コンポーネントを感知する。ソフトウェア設定を管理する ・設定と柔軟性 →ソースコードを変更するのも、設…

継続的デリバリー-ソフトウェアデリバリーの問題04

構成管理とはプロジェクトに関するあらゆる成果物とそれらの間にある関係性が、保存され、検索され、一意に特定され、修正されるプロセスのことである。バージョン管理の基礎 ・ソフトウェアの特定のバージョンを構成しているものは何か? 本番環境にかつて…

継続的デリバリー-ソフトウェアデリバリーの問題03

ソフトウェアデリバリーの原則 ・ソフトウェアをリリースするための、反復可能で信頼できるプロセスを作り上げよ ・ほとんどすべてを自動化せよ ・すべてバージョン管理に入れよ ・痛みを伴うものはこまめに実施し、痛い思いは早めにしておけ ・品質を作り込…

継続的デリバリー-ソフトウェアデリバリーの問題02

設定情報をすべてバージョン管理システムに登録するべきである。 →設定のことも人間がやるのではなく、システムに行わせるべきである「できるうようになりたければ、練習しろ」デプロイメントのアプローチは同一でなければならない ・特別なテスト環境用デプ…

会社のビアバッシュで話してきました

自社の有望な若手プログラマ達が集まって新年会を行ったので、LTもしてきました。 LTで行った内容を紹介したいと思います。 漏れのある抽象化の法則について 漏れのある抽象化の法則Joel Spolsky氏の漏れのある抽象化の法則についてのスライド Joel ラブの J…

2012年12月の書籍まとめ

【12月に買った本まとめ】 MongoDB イン・アクション Business Model You アジャイルな見積もりと計画づくり【12月に読んだ本まとめ】 Joel on Software MongoDBは気になっていたので買ってみた一冊。 今までDBを触る事をあまりしてきていないので、一度しっ…

Redmine を使うための準備を行ったメモ

知り合いとプロジェクトを始めるように環境整備を行った際のインストール内容について記載。 環境によって下記ではできない場合もあると思いますので注意が必要です。 - すでにインストールされていた環境 # ruby -v ruby 1.9.3p194 (2012-04-20) [x86_64-li…