アーカイブ 2018
62 件の記事
tmuxコトハジメ
端末多重化ソフトウェア(ターミナルマルチプレクサ)であるtmuxの基本について解説する、入門者向けの記事です。tmuxの起動から、セッション・ウィンドウ・ペインの操作、コピーモードといった基本的な機能まで、よく使うキーバインドを交えて紹介します。
開発環境を見直してvimライクにした
開発の効率化を図るためにVimを取り入れ、開発環境を諸々刷新した取り組みをまとめた記事です。メインエディタでVimのキーバインドを使えるようにするなど、Vim的な操作感を取り入れることで開発効率を高めた工夫について紹介します。
UNIXという考え方
『UNIXという考え方』の書評。UNIXの背後にある思想と哲学を、わずか150ページに凝縮した一冊。「スモール・イズ・ビューティフル」など、コーディングや設計に普遍的に活かせる考え方が詰まっており、設計に立ち向かうときに折に触れて振り返りたくなる。
N+1問題とは?Go/Railsでの検出と解決方法
N+1 問題とは何か、なぜ発生するのか、Go や Rails での検出方法と Eager Loading・JOIN を使った解決策を解説します。
OSメモ
理解するOS仕組み。スワップメモリ、ページキャッシュ、slabキャッシュ、dentry/inode構造、ハードリンク、シンボリックリンク知識
ソフトウェア開発の法則
ポステルの法則、パーキンソンの法則、パレートの法則など、より良いアーキテクチャや設計判断に役立つソフトウェア開発の法則を紹介する記事です。「送信するものには厳密に、受信するものには寛容に」というポステルの法則をはじめ、それぞれの法則の由来や考え方を整理します。
ダック・タイピングとは?Python・Ruby・Goの動的型付けを解説
ダック・タイピングとは何かについてまとめた記事です。オブジェクトができることはその型ではなくオブジェクト自身が決めるという考え方を軸に、PythonやRuby、Goといった言語での動的型付け(構造的型付け)の動作原理やメリット・デメリットを、実例を交えて解説します。
ポリモーフィズムとは?オブジェクト指向コードを柔軟にする方法
ポリモーフィズムとは何かについてまとめた記事です。「複数の形状」を意味するこの言葉のとおり、複数の異なる型に対して共通のインターフェースを提供する仕組みを、オーバーライドやインターフェース、ダックタイピングといった手法を使ってオブジェクト指向のコードを柔軟に保つ方法とあわせて解説します。
はじめて学ぶソフトウェアのテスト技法
『はじめて学ぶソフトウェアのテスト技法』の書評。同値分割や境界値分析といった、ソフトウェアテストの基本的な技法を学べる一冊。テストコードを書いたことがない人が、最初に手に取るのに適した入門書。
Road to Vimmer
Vimを使いこなす「Vimmer」になるために覚えていったコマンドを書き連ねた記事です。GUIエディタのショートカットへの依存から抜け出すことを動機に、カーソル移動や編集、テキスト操作のコマンドを習得し、ターミナル上で効率的にテキスト編集できるようになる方法を解説します。
O記法(オーダー記法)とは|アルゴリズムの計算量の求め方
O(オーダー)記法を使って、アルゴリズムの計算量を見積もる基礎を整理した記事。データ量の増加に対して実行時間がどれだけ増えるかを表す時間計算量や空間計算量の考え方を、具体例とともにわかりやすく解説する。
HTTPとSSL/TLS
HTTPSの仕組みを解説。TCP後のTLSハンドシェイク、機密性・完全性・真正性、SSLの脆弱性からTLS 1.2/1.3への歴史、常時HTTPS化が進んだ理由を紹介します。
ステートレスとステートフル
ステートレスとステートフルなプロトコルの違いを解説。HTTP・UDP・IPはステートレス、FTP・TCP・SMTPはステートフルであることや、セッションによる状態管理への影響を整理します。
Laravel Homesteadを使ったLaravelの環境構築
構築するHomesteadによるLaravel環境。Vagarant、VirtualBox、composer、SSH鍵認証の設定から仮想環境の立ち上げまで。
テストケースの種類と洗い出し
テストケースの基本的な種類と、その洗い出し方についてコンパクトにまとめた記事です。バグの発見や品質保証・品質改善といったテストの目的を整理したうえで、ユニットテストをはじめとするテストの種類や、どのような観点でテストケースを洗い出していくかを紹介します。
Golangの開発環境を構築
Goの開発環境を構築する手順を解説し、GOPATHの設定・bin/pkg/srcのディレクトリ構成・パッケージ作成の流れを実装ガイドとして提示。
Dockerとは?コンテナ入門の完全ガイド
Docker とは何か、コンテナ・イメージ・Dockerfile・コンテナランタイムの仕組みをはじめて学ぶ人向けに完全ガイドとして解説します。
Golangの勉強で参考にした資料
Goの学習をする際に参考にした書籍やWebサイトなどのリソースをまとめた記事です。『プログラミング言語Go』などのおすすめ書籍から、公式のチュートリアルやコミュニティのガイドまで、レベルを問わず役立つ資料を紹介します。
スターティングGo言語
『スターティングGo言語』の書評。Goの入門書として比較的平易にまとめられた一冊。文法や基本的な使い方を一通りたどれるので、これからGoに触れる人が最初の一歩を踏み出すのに向いている。
モダンなJSの話──Proxy
JavaScriptのProxyオブジェクトを解説。トラップハンドラ、対象のラップ、値のバリデーションといったES2015の使い方を紹介します。