by shigemk2

当面は技術的なことしか書かない

読書ノート

デプロイメントパイプラインの解剖学

デプロイメントパイプラインの目的は、ソフトウェアデリバアリーにかかわる人すべてにとって、チェックインからリリースまでのビルドの進展を見えるようにすることである。 どの変更によってアプリケーションが壊れてしまったのか 手動テストやリリース候補…

継続的インテグレーションについて

継続的インテグレーションを行うことで、ソフトウェア開発チームの生産性が一段上にいく。 CIを行わない場合、アプリケーションが壊れていることをどこかで証明するまで、直されることがない。CIを行えば、アプリケーションは基本的に動く状態になる。 CIを…

構成管理プロセスが徹底していない時のリスク

変更を制御するための戦略を準備することをお勧めする アプリケーションのソースコードやビルドスクリプト、テストドキュメント、要件、データベーススクリプト、ライブラリ、設定ファイル デプロイメントやテスト、運用に使うツールチェーン 開発環境やテス…

デプロイパイプラインにおける構成管理プロセス

構成管理プロセスを徹底しているなら、次の質問に全てYesと答えることができなければならない。 格納しているバージョン管理された資産を使って、本番システムをスクラッチから完全に再構築できるか 正しく動くと分かっている状態にバージョンを戻せるか デ…

ソフトウェアデリバリーの原則

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

継続的デリバリーでどんな恩恵を受けられるか

チームに権限を与える エラーを削減する ストレスを軽減する デプロイを柔軟にする これらを出来るようになりたければ、練習することである。

デプロイについてどうしたら目標を達成出来るか

高品質で価値のあるソフトウェアをデリバリーできる方法を見つけ出す。 モットーは、 サイクルタイムを短く、品質を高く 自動化 こまめなリリース

リリースによくあるアンチパターン

ソフトウェアを手動でデプロイ 開発が終わってから擬似本番環境にデプロイ 本番環境について手作業で構成管理 デプロイをやるためだけに作られるチーム、ステージング環境でさえデプロイに失敗して開発が遅れる、といった事態が発生する これらのアンチパタ…

デプロイメントパイプライン

デプロイメントパイプラインとは、本質的には、アプリケーションのビルド•デプロイ•テスト•リリースといったプロセスを自動化する実装だ。 どの組織も自身の価値の流れひ応じて独自のデプロイメントパイプラインを実装することになる。 あらゆる変更がトリガ…

三値の最大値

あるごりずむのやつ

Socketライブラリ

DNSサーバー IPアドレスを分析する DNSリゾルバ DNSサーバーに問い合わせてメッセージを送り、応答メッセージを受け取る ネームリゾリューション DNSの仕組みを使ってIPアドレスを調べること Socketライブラリ リゾルバの実体。

IPアドレスとドメイン名を使い分ける理由

IPアドレスだと数バイトで済むが、ドメイン名は最大255バイトの文字を扱わないといけない。解析のぶんネットワークが遅くなる。 逆にIPアドレスは数字の羅列なので、人がブラウザでURLを入力するのに不便。

アルゴリズム

アルゴリズムの定義 JIS X0001 問題を解くためのものであって、明確に定義され、順序づけられた有限個の規則からなる集合。 P7 曖昧さのないように記述されていても、変数の値によって、解けたり解けなかったりすることは 正しいアルゴリズムとは言えない。

無料より優れたもの #kevinkelly1

コピーが超大量にあれば、それは無価値になる。コピーが超大量にあれば、コピーできないものは貴重で価値のあるものになる。 コピーが無料であれば、コピーできないものを売る必要がある デジタルの世界で無料のコピーに付加価値を与えられたものが売り物に…

ネットワークはなぜつながるのか1 ネットワークの探検ツアー

流れ webブラウザ OSに組込まれたネットワーク制御用ソフトウェアに依頼してメッセージをサーバー側まで届ける プロトコル スタック LANアダプタ メッセージをパケットの中に格納し、電気信号に変換してLANケーブルに送りだす ハブ スイッチ ルーター 電気信…

やさしいJava 1

まとめ * プログラムはコンピュータに特定の仕事を与える * javaのコードはテキストエディタなどに入力する * Javaのコードは大文字小文字を区別する必要がある * ソースファイルをコンパイルするとクラスファイルが作成される * インタプリタを起動して、プ…

サムライエピソード 5

## 菊千代は刀を取った、戦場はSIer ### 現場でうまくいったこと * 味方を作る * 事前に自分で試す * クライアントの理解を得る ### つまづいたこと * 社内プロセスの存在 * 組織の文化的障壁サムライ・エピソード【電子書籍】26人のサムライ達達人出版会発…

サムライエピソード 4

## 小さな現場からコミュニティに参加、それから ### 現場の悩み 作るものの価値を高めていたわけではなく、 意を汲み、要件をまとめ、困らないタイミングで困らない程度の出力を出せていたという話に過ぎなくて、人間関係を滑らかにするほうが重要だったり…

サムライエピソード 3

## TDDとかCIとか導入できていなくてもアジャイル開発は少しなら導入できる ### はじめに 今動いている開発手法を捨てて新しい方法を導入するのは難しい →エッセンスを取り入れることで開発者の作業、納期の遵守を考える ### 一人で始められる範囲でやってみ…

サムライエピソード 2

## 逃げの戦略 - 逃げちゃダメだ、なんてことはない ### 上から来るぞ、気をつけろ!! 謎発注、技術に触れることは殆どない どうするか 周囲にアジャイルの魅力を伝え、変革を促す 社内でアジャイルなところに移る 会社をやめる 社内でアジャイルを導入しても…

サムライエピソード 1

小さいことからコツコツと、というのは、たぶんどこでも基本だと思われる サムライエピソード メモ 新人がアジャイルな会社に入社して学んだこと 上流工程で仕様を如何に固めるかということが大切? バグが起きてもいつ、どこで、なぜ起こったのかすぐには分…

実践Sass/Compass

sassはもうバリバリ(?)使っていたので… 導入とかは省きますやたらめっかしmixinとか継承とか多様したら コンパイルしたCSSのコード量が増えてしまう。 CSSの読み込みにも通信は発生するし、webアプリケーションにおいては webパフォーマンスは非常に重要なの…

スマートフォンテスト最前線

スマートフォンテストの基礎知識 スマートフォン向けアプリの種類 ネイティブアプリ(デバイス寄り) webアプリケーション(HTML5ベース) ハイブリッド(webview + webアプリ=ガチャ) 開発工程によるテストの分類 単体テスト 結合テスト(モジュールやコンポーネ…

SICP第1章 その1

SICP第1章読書ノートやっぱ難しいGistでまとめているけど、 cloneするのにすこし手間取る。 $ git clone git@gist.github.com:7133070.git SICP-1.1.1

魔法のおなべ 8 販売価値の困るところ

オープンソース開発をささえている社会的な契約のほうが難しい。 主要なオープンソースライセンスは、直接の販売収入獲得に役立つような、利用や再配布に 関する制限の殆どを禁止している。理由は3つ。オープンソース開発者は他人が自分の贈り物で儲けても反…

魔法のおなべ 7 利用価値による開発費用手当

クローズドからossに移行したときに脅かされるのは販売価値であり、利用価値はまったく影響を受けない。

魔法のおなべ 6 ソース非公開にする理由

ソフトの販売価値を守るためとしても、95パーセントが内部使用のためこれは当てはまらないソフトをオープンソースにして、競合他社がただ乗りし始めたら、開発者は損をするのではないか?これは当てはまるかもしれないし、当てはまらないかもしれない。しか…

魔法のおなべ 5 逆転した共有地

LinuxとかApacheあたりのOSSでの協力を維持する経済的な力「共有地の悲劇」(ギャレット ハーディン)百姓が農業のために共有地を無秩序に使うと、 土壌が痩せ細って使い物にならなくなってしまうから、 そうなる前に最大の価値をそこから引き出さなければなら…

魔法のおなべ 4 「情報はフリーになりたがっている」というのはウソだ

「情報はフリーになりたがっている」というウソについて。 →ふつうはデジタル情報の複製にかかる限界費用はゼロだから、その市場価格もゼロになるべきだ、という主張利害を持つ情報はコストゼロで複製できるけど、利害そのものはコストゼロでは複製できない…

リニアサーチ

探し物をするアルゴリズムの一種で、数列のなかに、特定の数があるかどうかを順番に探す方法である