記事一覧

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

PHPで学ぶデザインパターン - Adapter ~APIを変更する~
アプリケーション 2017-10-01

PHPで学ぶデザインパターン - Adapter ~APIを変更する~

PHPで学ぶデザインパターンの記事です。Adapterパターンは、互換性のないインターフェース同士を適合させるためのパターンで、既存のコードに変更を加えずに再利用しながら新しい機能を提供できるのが特徴です。その仕組みと実装方法を、具体的なコード例を交えて解説します。

#PHP#デザインパターン

最新記事

PHPで学ぶデザインパターン - オブジェクト指向の基礎
アプリケーション 2017-10-01

PHPで学ぶデザインパターン - オブジェクト指向の基礎

PHPで学ぶデザインパターンの前提として、継承・インターフェース・トレイト・静的プロパティ/メソッドといったオブジェクト指向の基礎を解説します。

#デザインパターン#PHP#OOP
PHPで学ぶデザインパターン - Singleton ~いくつ作るかを制限~
アプリケーション 2017-10-01

PHPで学ぶデザインパターン - Singleton ~いくつ作るかを制限~

PHPで学ぶデザインパターン「Singleton」。インスタンス生成数を制限し、アクセスを制御して単一オブジェクトの状態を管理する方法を解説します。

#デザインパターン#PHP
PHPで学ぶデザインパターン - Template Method ~処理の穴埋め~
アプリケーション 2017-10-01

PHPで学ぶデザインパターン - Template Method ~処理の穴埋め~

PHPで学ぶデザインパターン「Template Method」。共通処理を親クラスにまとめ、固有の実装をサブクラスに委ねる設計を解説します。

#デザインパターン#PHP
Reactでrequireしてたら、[BABEL] Note: The code generator has deoptimised the styling of
アプリケーション 2017-10-01

Reactでrequireしてたら、[BABEL] Note: The code generator has deoptimised the styling of

Reactでrequireした際に出るBabelの「code generator has deoptimised」警告の原因と、ファイルサイズ最適化による解消方法を解説します。

#React#Tips
React+react-redux+react-router+ES6+webpackで作るSPAボイラープレート
アプリケーション 2017-10-01

React+react-redux+react-router+ES6+webpackで作るSPAボイラープレート

React・Redux・React-router・webpack・Babelで構成する、モダンなSPAボイラープレートのアーキテクチャを紹介します。

#boilerplate#ES6#React#react-router#Redux#webpack
Reactでフォローボタンをつくってみる
アプリケーション 2017-10-01

Reactでフォローボタンをつくってみる

Reactを使って、SNSのようなトグル状態とホバー時の挙動を持つフォローボタンのコンポーネントをつくる方法を解説する記事です。ボタンの状態管理や、マウスホバーに応じた表示の切り替えなど、実装のポイントを具体的なコードとともに紹介します。

#React
React+marked+highlight
アプリケーション 2017-10-01

React+marked+highlight

Reactのマークダウンエディタにmarkedとhighlight.jsを組み合わせ、シンタックスハイライト付きのコードブロックを描画する方法を解説します。

#ES6#React#highlightjs#markdown#marked
Reactで複数のinputを扱うフォームを実装する
アプリケーション 2017-10-01

Reactで複数のinputを扱うフォームを実装する

実装するReactマルチ入力フォーム。ネストされたstateオブジェクト、controlled component、複数入力要素の状態管理パターン。

#React
React+Reduxのディレクトリ構成検討
アプリケーション 2017-10-01

React+Reduxのディレクトリ構成検討

React+Reduxをアプリケーションに導入する際の、ディレクトリ構成について検討した内容を紹介する記事です。構成に悩んでいたときに参考になった「A Better File Structure For React/Redux Applications」という記事をもとに、機能単位でまとめるファイル構成の考え方を整理します。

#ES6#React#Redux
ReactとReduxでSPAを構築するために参考にした記事
アプリケーション 2017-10-01

ReactとReduxでSPAを構築するために参考にした記事

参考にするReact・Redux資源。SPA構築で役立つリポジトリ、記事、ReducerやAction、middleware、Redux Formの実装例集。

#React#Redux#SPA
React Tag Autocompleteを使ってサジェスト付きタグ機能を実装する
アプリケーション 2017-10-01

React Tag Autocompleteを使ってサジェスト付きタグ機能を実装する

実装するタグオートコンプリート機能。React Tag Autocompleteライブラリ、APIからのサジェスション取得、ハンドラー処理の実例。

#React
redux-formのサーバーサイドバリデーションでpromissをいじってたら「Uncaught (in promise) error」
アプリケーション 2017-10-01

redux-formのサーバーサイドバリデーションでpromissをいじってたら「Uncaught (in promise) error」

redux-formのサーバーサイドバリデーションで発生する「Uncaught (in promise) error」を、Promiseを返してSubmissionErrorを正しくthrowすることで解決する方法を解説します。

#React#Redux#redux-form#Tips
さくらVPS+CentOS7.3+Ansible
インフラストラクチャ 2017-10-01

さくらVPS+CentOS7.3+Ansible

さくらVPSの初期設定を、Ansibleでユーザー作成・SSH強化・SELinux設定などのセキュリティ対策とあわせて自動化する方法を解説します。

#Ansible#CentOS#さくらのVPS#Iaas
Slack+hubot+cron(node-cron)+shell+logwatchでサーバーログを定時報告
インフラストラクチャ 2017-10-01

Slack+hubot+cron(node-cron)+shell+logwatchでサーバーログを定時報告

hubot、node-cron、logwatch、CoffeeScriptを使い、サーバーログを定時にSlackへ報告する仕組みを自動化する方法を解説します。

#cron#CentOS#Slack#さくらのVPS#CoffeScript#hubot#logwatch#shell
単一テーブル継承・クラステーブル継承・具象クラス継承について
アプリケーション 2017-10-01

単一テーブル継承・クラステーブル継承・具象クラス継承について

リレーショナルデータベースは継承をサポートしていないため、オブジェクト指向における継承関係をどのようにデータベース上へ表現するかを考える必要があります。この記事では、その表現方法である単一テーブル継承・クラステーブル継承・具象クラス継承という3つのパターンの特性と適用場面を、図解を交えて解説します。

#PofEAA
Vagrant+CentOS7.3+Ansible
インフラストラクチャ 2017-10-01

Vagrant+CentOS7.3+Ansible

VagrantのCentOS環境で、SSH接続とplaybookの自動デプロイによるAnsibleプロビジョニングを設定する方法を解説します。

#Ansible#CentOS#Vagrant
VagrantでCentOS6.7の開発環境を構築する
インフラストラクチャ 2017-10-01

VagrantでCentOS6.7の開発環境を構築する

VagrantでCentOSの開発環境を構築する際のワークフローをまとめた記事です。Boxを再構築したのを機に整理したもので、Boxの設定や、ホスト名を自動で管理するvagrant-hostupdaterプラグインの導入など、ローカル開発環境のワークフローを効率化するための手順を紹介します。

#Apache#CentOS#Vagrant
Vagrant上のMySQLで"MySQL Daemon failed to start
インフラストラクチャ 2017-10-01

Vagrant上のMySQLで"MySQL Daemon failed to start

Vagrant上でMySQLが「MySQL Daemon failed to start」で起動しない問題を、innodb_log_file_sizeなどInnoDB設定の調整で解決する方法を解説します。

#MySQL#Vagrant#Tips
Vagrantを1.7.4から1.9.1に一気にアップデートしたら「Bringing up interface eth2:  Device eth2 does not seem to be present, delaying initialization.」
アプリケーション 2017-10-01

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)エラーへの対処を紹介します。

#Apache#Vagrant#VirtualBox#Tips