記事一覧
技術記事・日々の学びをまとめています。
ダック・タイピングとは?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の使い方を紹介します。
モダンなJSの話──async function
モダンなJavaScriptにおける非同期処理を解説する記事です。async functionの定義の仕方や、Promiseの完了を待つawait式の使い方を中心に、Promiseベースの非同期処理をより読みやすく書くための仕組みを、具体例とともに紹介します。
ReactとHistory APIを使ってrouterを自作する
ReactとHistory APIのpushState・popstateを使い、ライブラリに頼らずSPAのルーターを自作する方法を解説します。
モダンなJSの話──Promise
モダンなJavaScriptのPromiseを解説。非同期処理、.then()によるチェーン、エラーハンドリング、コールバック地獄の回避を紹介します。
bmfと今年買ってよかったモノ
2017年に買ってよかったモノを振り返った記事。Bluetoothのオーディオ機器やCote&Cielのバッグ、ジムの会員権など、QOL(生活の質)の向上につながったと感じる買い物をピックアップして紹介する。
モダンなJSの話──アロー関数
JavaScriptのアロー関数について解説する記事です。アロー関数の基本的な構文や、通常の関数式との違い、レキシカルに決まるthisのバインドの振る舞いなど、ES2015で追加されたこの関数式の特徴を、具体例を交えて紹介します。
モダンなJSの話──クラス
JavaScriptのES6(ECMAScript 2015)で導入されたクラス構文について解説する記事です。ECMAScript6以前の書き方との違いから、コンストラクタの定義、getter/setterの書き方、クラス内で有効になるstrictモードの振る舞いまでを、具体例を交えて紹介します。