記事一覧
技術記事・日々の学びをまとめています。
Atom×TidalCycles×SuperColliderでライブコーディングをはじめる
AtomエディタとTidalCycles、Haskell、SuperColliderの音響合成エンジンを使って、ライブコーディングで音楽をつくる方法を解説します。
最新記事
さくらVPSでDocker環境を構築する
さくらVPS上にDocker環境構築を解説。yumリポジトリセットアップ、CE版インストール、バージョン指定で本番環境を安定構築する実装手順を紹介します。
SPAを構築したときにハマったこと
SPAで History API を使う際のnginx設定、try_filesでindex.htmlへルーティングしながらjsファイルのパス管理を実装する方法
DIとサービスロケーター
DI(依存性注入)の実装パターンを解説。DIとサービスロケーターをコンストラクタインジェクションの例で比較し、疎結合なコードの書き方を紹介します。
シンボリックリンク vs ハードリンク:Linuxでの本質的な違い
シンボリックリンクとハードリンクの違いを Linux の仕組みから解説。inode・参照カウント・用途の使い分けを具体例で学べます。
tmuxコトハジメ
ターミナルマルチプレクサtmuxの基本を解説。セッション・ウィンドウ・ペイン・コピーモードのキーバインドを紹介します。
開発環境を見直してvimライクにした
Vimを取り入れて開発環境を見直し、開発効率を高めた取り組みを紹介します。
UNIXという考え方
UNIXという考え方
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
GUIに頼らず、vimのカーソル移動・編集・テキスト操作コマンドを習得し、ターミナル上で効率的にテキスト編集する方法を解説します。
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鍵認証の設定から仮想環境の立ち上げまで。
テストケースの種類と洗い出し
テストケースの基本的な種類と、その洗い出し方をコンパクトにまとめます。