記事一覧
技術記事・日々の学びをまとめています。
PHPで学ぶデザインパターン - Adapter ~APIを変更する~
PHPで学ぶデザインパターンの記事です。Adapterパターンは、互換性のないインターフェース同士を適合させるためのパターンで、既存のコードに変更を加えずに再利用しながら新しい機能を提供できるのが特徴です。その仕組みと実装方法を、具体的なコード例を交えて解説します。
最新記事
PHPで学ぶデザインパターン - オブジェクト指向の基礎
PHPで学ぶデザインパターンの前提として、継承・インターフェース・トレイト・静的プロパティ/メソッドといったオブジェクト指向の基礎を解説します。
PHPで学ぶデザインパターン - Singleton ~いくつ作るかを制限~
PHPで学ぶデザインパターン「Singleton」。インスタンス生成数を制限し、アクセスを制御して単一オブジェクトの状態を管理する方法を解説します。
PHPで学ぶデザインパターン - Template Method ~処理の穴埋め~
PHPで学ぶデザインパターン「Template Method」。共通処理を親クラスにまとめ、固有の実装をサブクラスに委ねる設計を解説します。
Reactでrequireしてたら、[BABEL] Note: The code generator has deoptimised the styling of
Reactでrequireした際に出るBabelの「code generator has deoptimised」警告の原因と、ファイルサイズ最適化による解消方法を解説します。
React+react-redux+react-router+ES6+webpackで作るSPAボイラープレート
React・Redux・React-router・webpack・Babelで構成する、モダンなSPAボイラープレートのアーキテクチャを紹介します。
Reactでフォローボタンをつくってみる
Reactを使って、SNSのようなトグル状態とホバー時の挙動を持つフォローボタンのコンポーネントをつくる方法を解説する記事です。ボタンの状態管理や、マウスホバーに応じた表示の切り替えなど、実装のポイントを具体的なコードとともに紹介します。
React+marked+highlight
Reactのマークダウンエディタにmarkedとhighlight.jsを組み合わせ、シンタックスハイライト付きのコードブロックを描画する方法を解説します。
Reactで複数のinputを扱うフォームを実装する
実装するReactマルチ入力フォーム。ネストされたstateオブジェクト、controlled component、複数入力要素の状態管理パターン。
React+Reduxのディレクトリ構成検討
React+Reduxをアプリケーションに導入する際の、ディレクトリ構成について検討した内容を紹介する記事です。構成に悩んでいたときに参考になった「A Better File Structure For React/Redux Applications」という記事をもとに、機能単位でまとめるファイル構成の考え方を整理します。
ReactとReduxでSPAを構築するために参考にした記事
参考にするReact・Redux資源。SPA構築で役立つリポジトリ、記事、ReducerやAction、middleware、Redux Formの実装例集。
React Tag Autocompleteを使ってサジェスト付きタグ機能を実装する
実装するタグオートコンプリート機能。React Tag Autocompleteライブラリ、APIからのサジェスション取得、ハンドラー処理の実例。
redux-formのサーバーサイドバリデーションでpromissをいじってたら「Uncaught (in promise) error」
redux-formのサーバーサイドバリデーションで発生する「Uncaught (in promise) error」を、Promiseを返してSubmissionErrorを正しくthrowすることで解決する方法を解説します。
さくらVPS+CentOS7.3+Ansible
さくらVPSの初期設定を、Ansibleでユーザー作成・SSH強化・SELinux設定などのセキュリティ対策とあわせて自動化する方法を解説します。
Slack+hubot+cron(node-cron)+shell+logwatchでサーバーログを定時報告
hubot、node-cron、logwatch、CoffeeScriptを使い、サーバーログを定時にSlackへ報告する仕組みを自動化する方法を解説します。
単一テーブル継承・クラステーブル継承・具象クラス継承について
リレーショナルデータベースは継承をサポートしていないため、オブジェクト指向における継承関係をどのようにデータベース上へ表現するかを考える必要があります。この記事では、その表現方法である単一テーブル継承・クラステーブル継承・具象クラス継承という3つのパターンの特性と適用場面を、図解を交えて解説します。
Vagrant+CentOS7.3+Ansible
VagrantのCentOS環境で、SSH接続とplaybookの自動デプロイによるAnsibleプロビジョニングを設定する方法を解説します。
VagrantでCentOS6.7の開発環境を構築する
VagrantでCentOSの開発環境を構築する際のワークフローをまとめた記事です。Boxを再構築したのを機に整理したもので、Boxの設定や、ホスト名を自動で管理するvagrant-hostupdaterプラグインの導入など、ローカル開発環境のワークフローを効率化するための手順を紹介します。
Vagrant上のMySQLで"MySQL Daemon failed to start
Vagrant上でMySQLが「MySQL Daemon failed to start」で起動しない問題を、innodb_log_file_sizeなどInnoDB設定の調整で解決する方法を解説します。
Vagrantを1.7.4から1.9.1に一気にアップデートしたら「Bringing up interface eth2: Device eth2 does not seem to be present, delaying initialization.」
Vagrantを古いバージョンから1.9.1へアップデートした際に遭遇したネットワークインターフェース(eth2)エラーへの対処を紹介します。