記事

ソフトウェアのテスト技法の基本まとめ

アプリケーション

概要はじめて学ぶソフトウェアのテスト技法の第1章を要約します。参考ページをサブタイトル横にメモします。 テストのプロセステストとは何か?(p.12)「ソフトウェアの品質の測定・改善を目的とし、テストウェアの開発・利用・保守と平行しながら進めるライフサイクルプロセスのこと」 Bories Beizerはテストを成熟度別に5段階のレベルに分けている。 レベル 成熟度 0 デバッグとテスト...

テスト

Road to Vimmer

ツール

概要Vimmerになるために覚えていったコマンドを書き連ねていく。 動機 GUIエディタのショートカットには慣れたもののテキスト編集の速度が頭打ちになった気がする 脱GUIエディタ依存(GUIエディタに依存したショートカットキーを覚えることと枯れたエディタであるVIMのショートカットキーを覚えることのどちらがコスパが良いか。viはあらゆるOSの標準エディタとして搭載されている) ショートカットや矢...

vim エディタ

Indexとはなにか

データベース

インデックスとは テーブルに格納されているレコードを高速に取り出すための仕組み 以下のようなO(n)問題を抱えたクエリがあるとする。 SELECT * FROM users WHERE first_name = ‘Tom’ このクエリのパフォーマンスを上げるためには、以下のようにIndexを貼る。 ALTER TABLE users ADD INDEX (first_name) メリット・デメリッ...

DB インデックス MySQL

O(オーダー)記法とアルゴリズムの計算量の求め方

アルゴリズムとデータ構造

概要アルゴリズムの演算性能をざっくりと計算するO記法と計算量の求め方についての前提知識をまとめる。 計算量(オーダー)とは アルゴリズムの演算性能をデータ量の増加に対し、実行時間がどれくらい増加するかの割合で表した指標。 時間計算量 処理時間 空間計算量 メモリ使用量 Big O/Big θ/Big Ωそれぞれ計算時間を記述するものだが、学術的な意味の違いについてまとめる。 Big...

O記法

Golangの勉強で参考にした本とリンク

アプリケーション

概要 golangの勉強をする時に参考にした本とリンクのまとめ。 本 プログラミング言語Go 教典 スターティングGo言語 読みやすい。わかりやすい。プログラミングの素養が高い人には平易すぎる内容かもしれない。 Go言語によるWebアプリケーション開発 Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る リンク golang.jp A Tour of Go ast...

Golang リンク集

HTTPとSSL/TLS

ネットワーク

HTTPSとは HTTP(Hyper Transfer Protocol) over TLS(Transport Layer Security) TCPハンドシェイクの後にTLSハンドシェイクを行う 完了後、暗号通信のままHTTPリクエストとレスポンスを交換 TLSの機能TLSというプロトコルが提供する機能 機密性 ネットワーク経路上でデータの中身が見れない 完全性 通信データの改ざん...

HTTP HTTPS SSL TLS

ステートレスとステートフル

ネットワーク

前提 セッション HTTPは状態を持たないプロトコル リクエストが同一のクライアントからの通信かどうか判断しない 接続確立から切断までの一連の通信 ステートフル サーバーがクライアントのセッション状態を保持している システムが状態やデータを保持している プロトコルの例 FTP, TCP, BGP, OSPF, EIGRP, SMTP, SSH ステートレス サーバーがクライアントの...

ステートフル ステートレス セッション

Laravel Homesteadを使ったLaravelの環境構築

アプリケーション

概要Homesteadを触る機会があったのでざっくりまとめる。 準備以下のツールは用意しておきましょう。 composer vagrant virtualbox ssh key 鍵つくっておいてください 手順Laravelをインストールlaravelのインストールとcomposer installを実行しましょう。 composer create-project "larave...

Laravel Vagrant VirtualBox composer homestead

テストケースの種類と洗い出し

アプリケーション

概要テストケースの基本的な種類と洗い出し方についてのざっくりまとめ。 テストの目的 バグを発見する 品質保証 品質改善(リファクタリング) テストの種類 ユニットテスト メソッドの仕様を確認するテスト ドメイン層のpublicメソッドが対象とする インテグレーションテスト ユースケース(一連の処理)に基づいたテスト ビジネス的に重要なケースを優先的に対象とする テストケースの洗い出...

テスト

Golangの開発環境を構築

アプリケーション

概要Goの環境を構築します。 Goの環境構築Goをインストールするインストール手段は省略します。私はanyenvというツールでインストールしています。 GOPATHを指定する.bashrcまたは.bash_profileにGOPATHを指定します。 export GOPATH=$HOME/localdev/project/go_dev // 好きなように設定してください PATH=$PATH:$G...

Golang