アーカイブ 2017
75 件の記事
Let'sEncryptの証明書自動更新に失敗し続けていたけど何とかした話
以前書いたLet's Encrypt証明書の自動更新スクリプトが、手動では成功するのにcronで実行すると毎回失敗する、という問題に悩まされていました。この記事では、その原因を探ってスクリプトを見直し、cronでも正しく自動更新が動くようにするまでの過程をまとめます。
Letsencryptの証明書自動更新スクリプト
Let's Encryptの証明書を毎月自動で更新するシェルスクリプトを紹介する記事です。以前から作っていたものの、不具合やサーバー環境の変化で完全版を残せていなかったため、改めてまとめました。シェルスクリプトの自動実行とSlack通知の連携までを解説します。
php7をインストールした時にmysqlドライバーがなかった
PHP7をインストールした際にMySQLドライバーがない問題を、REMI yumリポジトリからphp-mysqlndを入れて解決する方法を解説します。
Nginxをリバースプロキシとして設定する
Apacheで運用していたさくらVPSに、Nginxをリバースプロキシとして設定した際のメモです。ApacheとNginxを併用する構成やポート番号の変更、バーチャルホストの設定、ロードバランシングなど、リバースプロキシを構築するうえでのポイントをまとめます。
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つのパターンの特性と適用場面を、図解を交えて解説します。