記事一覧

技術記事・日々の学びをまとめています。

ダック・タイピングとは?Python・Ruby・Goの動的型付けを解説
アプリケーション 2018-05-07

ダック・タイピングとは?Python・Ruby・Goの動的型付けを解説

ダック・タイピングとは何かについてまとめた記事です。オブジェクトができることはその型ではなくオブジェクト自身が決めるという考え方を軸に、PythonやRuby、Goといった言語での動的型付け(構造的型付け)の動作原理やメリット・デメリットを、実例を交えて解説します。

#ダック・タイピング

最新記事

ポリモーフィズムとは?オブジェクト指向コードを柔軟にする方法
アプリケーション 2018-05-07

ポリモーフィズムとは?オブジェクト指向コードを柔軟にする方法

ポリモーフィズムとは何かについてまとめた記事です。「複数の形状」を意味するこの言葉のとおり、複数の異なる型に対して共通のインターフェースを提供する仕組みを、オーバーライドやインターフェース、ダックタイピングといった手法を使ってオブジェクト指向のコードを柔軟に保つ方法とあわせて解説します。

#ポリモーフィズム
はじめて学ぶソフトウェアのテスト技法
テスト 2018-05-04

はじめて学ぶソフトウェアのテスト技法

『はじめて学ぶソフトウェアのテスト技法』の書評。同値分割や境界値分析といった、ソフトウェアテストの基本的な技法を学べる一冊。テストコードを書いたことがない人が、最初に手に取るのに適した入門書。

#書評
Road to Vimmer
ツール 2018-04-22

Road to Vimmer

Vimを使いこなす「Vimmer」になるために覚えていったコマンドを書き連ねた記事です。GUIエディタのショートカットへの依存から抜け出すことを動機に、カーソル移動や編集、テキスト操作のコマンドを習得し、ターミナル上で効率的にテキスト編集できるようになる方法を解説します。

#vim#エディタ
O記法(オーダー記法)とは|アルゴリズムの計算量の求め方
アルゴリズムとデータ構造 2018-04-18

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

O(オーダー)記法を使って、アルゴリズムの計算量を見積もる基礎を整理した記事。データ量の増加に対して実行時間がどれだけ増えるかを表す時間計算量や空間計算量の考え方を、具体例とともにわかりやすく解説する。

#O記法
HTTPとSSL/TLS
ネットワーク 2018-04-18

HTTPとSSL/TLS

HTTPSの仕組みを解説。TCP後のTLSハンドシェイク、機密性・完全性・真正性、SSLの脆弱性からTLS 1.2/1.3への歴史、常時HTTPS化が進んだ理由を紹介します。

#HTTP#HTTPS#SSL#TLS
ステートレスとステートフル
ネットワーク 2018-04-17

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

ステートレスとステートフルなプロトコルの違いを解説。HTTP・UDP・IPはステートレス、FTP・TCP・SMTPはステートフルであることや、セッションによる状態管理への影響を整理します。

#ステートフル#ステートレス#認証
Laravel Homesteadを使ったLaravelの環境構築
アプリケーション 2018-04-11

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

構築するHomesteadによるLaravel環境。Vagarant、VirtualBox、composer、SSH鍵認証の設定から仮想環境の立ち上げまで。

#Laravel#Vagrant#VirtualBox#composer#homestead
テストケースの種類と洗い出し
テスト 2018-04-11

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

テストケースの基本的な種類と、その洗い出し方についてコンパクトにまとめた記事です。バグの発見や品質保証・品質改善といったテストの目的を整理したうえで、ユニットテストをはじめとするテストの種類や、どのような観点でテストケースを洗い出していくかを紹介します。

#設計
Golangの開発環境を構築
アプリケーション 2018-04-07

Golangの開発環境を構築

Goの開発環境を構築する手順を解説し、GOPATHの設定・bin/pkg/srcのディレクトリ構成・パッケージ作成の流れを実装ガイドとして提示。

#Golang
Dockerとは?コンテナ入門の完全ガイド
インフラストラクチャ 2018-04-01

Dockerとは?コンテナ入門の完全ガイド

Docker とは何か、コンテナ・イメージ・Dockerfile・コンテナランタイムの仕組みをはじめて学ぶ人向けに完全ガイドとして解説します。

#Docker#仮想環境
Golangの勉強で参考にした資料
アプリケーション 2018-03-01

Golangの勉強で参考にした資料

Goの学習をする際に参考にした書籍やWebサイトなどのリソースをまとめた記事です。『プログラミング言語Go』などのおすすめ書籍から、公式のチュートリアルやコミュニティのガイドまで、レベルを問わず役立つ資料を紹介します。

#Golang#リンク集
スターティングGo言語
アプリケーション 2018-03-01

スターティングGo言語

『スターティングGo言語』の書評。Goの入門書として比較的平易にまとめられた一冊。文法や基本的な使い方を一通りたどれるので、これからGoに触れる人が最初の一歩を踏み出すのに向いている。

#Golang#書評
モダンなJSの話──Proxy
アプリケーション 2018-02-28

モダンなJSの話──Proxy

JavaScriptのProxyオブジェクトを解説。トラップハンドラ、対象のラップ、値のバリデーションといったES2015の使い方を紹介します。

#ES5#ES6#JavaScript
モダンなJSの話──async function
アプリケーション 2018-01-29

モダンなJSの話──async function

モダンなJavaScriptにおける非同期処理を解説する記事です。async functionの定義の仕方や、Promiseの完了を待つawait式の使い方を中心に、Promiseベースの非同期処理をより読みやすく書くための仕組みを、具体例とともに紹介します。

#ES5#ES6#JavaScript
ReactとHistory APIを使ってrouterを自作する
アプリケーション 2018-01-03

ReactとHistory APIを使ってrouterを自作する

ReactとHistory APIのpushState・popstateを使い、ライブラリに頼らずSPAのルーターを自作する方法を解説します。

#ES6#JavaScript#React#history-api#router
モダンなJSの話──Promise
アプリケーション 2017-12-29

モダンなJSの話──Promise

モダンなJavaScriptのPromiseを解説。非同期処理、.then()によるチェーン、エラーハンドリング、コールバック地獄の回避を紹介します。

#ES5#ES6#JavaScript
bmfと今年買ってよかったモノ
ポエム 2017-12-25

bmfと今年買ってよかったモノ

2017年に買ってよかったモノを振り返った記事。Bluetoothのオーディオ機器やCote&Cielのバッグ、ジムの会員権など、QOL(生活の質)の向上につながったと感じる買い物をピックアップして紹介する。

#ライフスタイル#ガジェット
モダンなJSの話──アロー関数
アプリケーション 2017-12-25

モダンなJSの話──アロー関数

JavaScriptのアロー関数について解説する記事です。アロー関数の基本的な構文や、通常の関数式との違い、レキシカルに決まるthisのバインドの振る舞いなど、ES2015で追加されたこの関数式の特徴を、具体例を交えて紹介します。

#ES5#ES6#JavaScript
モダンなJSの話──クラス
アプリケーション 2017-12-25

モダンなJSの話──クラス

JavaScriptのES6(ECMAScript 2015)で導入されたクラス構文について解説する記事です。ECMAScript6以前の書き方との違いから、コンストラクタの定義、getter/setterの書き方、クラス内で有効になるstrictモードの振る舞いまでを、具体例を交えて紹介します。

#ES5#ES6#JavaScript