記事一覧

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

anyenvでインストールしたrbenvでbundlerをinstallしたときにパスでハマった
アプリケーション 2018-12-04

anyenvでインストールしたrbenvでbundlerをinstallしたときにパスでハマった

anyenvでインストールしたrbenvでbundlerを入れた際の/usr/local/binパス問題を、rbenv exec gem installで解決する方法を解説します。

#anyenv#gem#rbenv#Ruby#Tips

最新記事

正規表現の基本
アプリケーション 2018-12-01

正規表現の基本

正規表現の基本を整理した記事。拡張正規表現(ERE)で扱える記法のうちよく使うものを対象に、文字クラスやアンカー、量指定子、グループ化といったパターンマッチングの構文を、具体例とともにまとめる。

#ERE#正規表現
PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factory
アプリケーション 2018-12-01

PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factory

PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factoryについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。

#デザインパターン#GoF#PHP
Goならわかるシステムプログラミング
アプリケーション 2018-11-30

Goならわかるシステムプログラミング

『Goならわかるシステムプログラミング』の書評。Goを通じて、低レイヤーに近いシステムプログラミングを学べる一冊。標準パッケージの内部的な仕様にも触れながら、OSとやり取りする仕組みを手を動かして理解できる。

#Golang#書評
メモリ管理に関する用語まとめ
OS 2018-11-30

メモリ管理に関する用語まとめ

書籍『試して理解 Linuxの仕組み』のメモリ管理の章を読む中で、理解の乏しかった用語をいくつかピックアップしてまとめた記事です。OOM Killerや仮想記憶、ページテーブル、ページフォルト、コピーオンライト、スワップといった、Linuxのメモリ管理にまつわる用語を解説します。

#Linux#メモリ
2進数、10進数、16進数の変換について
数学 2018-11-27

2進数、10進数、16進数の変換について

2進数・10進数・16進数といった基数の変換方法を整理した記事。重みや基数という概念から始め、それぞれの進数を相互に変換する計算の手順や、8進数を交えた数値表現の本質を、初級者向けにわかりやすく解説する。

#基数変換#離散数学
Goのインターフェースを解説:柔軟でテスタブルなコードの書き方
アプリケーション 2018-11-15

Goのインターフェースを解説:柔軟でテスタブルなコードの書き方

Goのインターフェースについて実践的にまとめた記事です。特定のメソッドの型を列挙する仕組みや暗黙的な実装、インターフェースの合成、依存性の注入への活用、そしてよくある設計上の落とし穴までを、具体例を交えて解説します。

#Golang
Goのポインタを解説:使うべき場面とよくある落とし穴
アプリケーション 2018-11-13

Goのポインタを解説:使うべき場面とよくある落とし穴

Goのポインタについて解説する記事です。値型とポインタ型の使い分けや、ポインタがメモリとパフォーマンスに与える影響、nilポインタやポインタレシーバの扱いなど、実務でつまずきやすいよくある落とし穴を具体例とともに学べる内容にまとめています。

#Golang
Golangでの変数定義・宣言のパターンまとめ
アプリケーション 2018-11-13

Golangでの変数定義・宣言のパターンまとめ

Goにおける変数の定義・宣言のパターンを、var宣言や短縮形式(:=)といった書き方ごとに整理した記事です。型推論や複数変数の同時宣言、識別子の1文字目の大小による可視性制御のルールまで、実際のコード例を交えて網羅的に解説します。

#Golang
DockerでElasticsearchとKibanaの環境構築
インフラストラクチャ 2018-10-22

DockerでElasticsearchとKibanaの環境構築

DockerでElasticsearch・Kibana環境構築を解説。分散型検索エンジン、RESTful API、全文検索・分析機能をdocker-composeで迅速に構築するガイドです。

#Elasticsearch#Kibana
Google Analyticsのカスタムレポートをつくってみた
ツール 2018-10-12

Google Analyticsのカスタムレポートをつくってみた

Google Analyticsのカスタムレポートを作り、サイトに合った指標を計測してデータに基づきマーケティング戦略を磨く方法を解説します。

#Google Analytics
Golangの関数についてー関数値/コールバック関数/無名関数
アプリケーション 2018-10-04

Golangの関数についてー関数値/コールバック関数/無名関数

Goの関数について、関数値として扱う場合の関数、関数を引数として渡すコールバック関数、無名関数とクロージャの3つを中心にまとめます。それぞれの定義や仕組みを、具体的なコード例を交えて実践的に解説する記事です。

#Golang#コールバック#関数#無名関数
Jestで始めるJavaScriptのテスト
テスト 2018-09-20

Jestで始めるJavaScriptのテスト

JestでJavaScriptのテストを始める方法を解説。ESモジュール設定、babelのセットアップ、実践的なテストファイルの書き方を紹介します。

#ES5#JavaScript#babel#babel-jest#ESModules#Jest
ssh接続セットアップメモ
インフラストラクチャ 2018-09-18

ssh接続セットアップメモ

SSH接続のセットアップ方法についてのメモです。ssh-keygenによる公開鍵認証の設定を軸に、鍵ペアの作成からauthorized_keysの権限管理、sshd_configによるセキュリティの調整までを、リモートサーバーへ安全に接続できるようにする手順として段階的に解説します。

#SSH#sshd
PrometheusとGrafanaでリソース監視環境を整える
インフラストラクチャ 2018-09-15

PrometheusとGrafanaでリソース監視環境を整える

PrometheusとGrafana、node_exporterを使ってリソース監視環境を構築し、インフラのダッシュボードを整える方法を解説します。

#Prometheus#Grafana
Golangのポインタの基本
アプリケーション 2018-09-03

Golangのポインタの基本

Goのポインタの基本についてまとめた記事です。変数とメモリの関係をイメージできる程度の前提知識から出発し、ポインタとは何か、アドレス演算子やデリファレンス、呼び出し元の変数の値を変更する仕組みまでを、具体例を交えてわかりやすく解説します。

#Golang#ポインタ#値渡し#参照
進化的アーキテクチャ 絶え間ない変化を支える
アーキテクチャ 2018-08-23

進化的アーキテクチャ 絶え間ない変化を支える

『進化的アーキテクチャ 絶え間ない変化を支える』の書評。変化に継続的に適応できる進化可能なアーキテクチャをつくるアプローチを学べる一冊。適応度関数によって望ましい特性を守る考え方が中心で、実際にうまく機能する関数を用意するハードルの高さも実感させられる。

#書評
Docker for Macのマウントが遅い問題の対応
インフラストラクチャ 2018-08-19

Docker for Macのマウントが遅い問題の対応

Docker for Macでボリュームマウントが遅く、npmなどの動作が実用的でないほど重くなる問題への対応メモです。macOSのファイルシステムまわりに起因する原因を整理し、マウントオプションの調整などで改善するための方法を紹介します。

#Docker#Tips
CircleCI2.0でPHPUnitのコードカバレッジを出力する
テスト 2018-08-13

CircleCI2.0でPHPUnitのコードカバレッジを出力する

CircleCI 2.0でphpdbgとDockerを使い、PHPUnitのコードカバレッジをHTMLレポートとして出力する方法を解説します。

#Docker#CircleCI#CircleCI2.0#phpunit
複数のテーブルに多対1で紐づく時のテーブル設計のアプローチについて
データベース 2018-08-06

複数のテーブルに多対1で紐づく時のテーブル設計のアプローチについて

複数のテーブルに対して多対1でテーブルが関係付くときの、テーブル設計のパターンについてまとめた記事です。issuesやpullrequestsといった例を題材に、SQLアンチパターンとされるポリモーフィック関連と、それを避ける設計とを、実装面から比較しながら整理します。

#ポリモーフィック#sql