アーカイブ 2018

62 件の記事

tmuxコトハジメ
ツール 2018-05-22

tmuxコトハジメ

端末多重化ソフトウェア(ターミナルマルチプレクサ)であるtmuxの基本について解説する、入門者向けの記事です。tmuxの起動から、セッション・ウィンドウ・ペインの操作、コピーモードといった基本的な機能まで、よく使うキーバインドを交えて紹介します。

#tmux
開発環境を見直してvimライクにした
ツール 2018-05-22

開発環境を見直してvimライクにした

開発の効率化を図るためにVimを取り入れ、開発環境を諸々刷新した取り組みをまとめた記事です。メインエディタでVimのキーバインドを使えるようにするなど、Vim的な操作感を取り入れることで開発効率を高めた工夫について紹介します。

#tmux#vim#Atom#iTerm
UNIXという考え方
アーキテクチャ 2018-05-18

UNIXという考え方

『UNIXという考え方』の書評。UNIXの背後にある思想と哲学を、わずか150ページに凝縮した一冊。「スモール・イズ・ビューティフル」など、コーディングや設計に普遍的に活かせる考え方が詰まっており、設計に立ち向かうときに折に触れて振り返りたくなる。

#UNIX#書評
N+1問題とは?Go/Railsでの検出と解決方法
データベース 2018-05-12

N+1問題とは?Go/Railsでの検出と解決方法

N+1 問題とは何か、なぜ発生するのか、Go や Rails での検出方法と Eager Loading・JOIN を使った解決策を解説します。

#N+1
OSメモ
OS 2018-05-11

OSメモ

理解するOS仕組み。スワップメモリ、ページキャッシュ、slabキャッシュ、dentry/inode構造、ハードリンク、シンボリックリンク知識

#OS
ソフトウェア開発の法則
アプリケーション 2018-05-07

ソフトウェア開発の法則

ポステルの法則、パーキンソンの法則、パレートの法則など、より良いアーキテクチャや設計判断に役立つソフトウェア開発の法則を紹介する記事です。「送信するものには厳密に、受信するものには寛容に」というポステルの法則をはじめ、それぞれの法則の由来や考え方を整理します。

#ソフトウェア開発
ダック・タイピングとは?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