あっさりと

ソフトウェアや技術話など諸々

エリック・エヴァンスのドメイン駆動設計 を読んで

全体の感想 理解の難易度が高めで分量が多い。 難しい理由の一つはコードを交えた具体例がほぼ無い事かと思われる。 実践ドメイン本やDDDやってみた系のリポジトリを参考にしつつ読むと良いかもしれない。 継続的なリファクタリングやドメインエキスパートと…

Clean Architecture 達人に学ぶソフトウェアの構造と設計 を読んで

全体の感想 事前の予想ではもっとテクニカルな内容かと思っていたが、大部分は筆者の50年に及ぶ経験(!)に基づく良いアーキテクチャの原則が語られている。 ちょっと昔話が多い気もするが体験談形式なので技術面のハードルが高い訳ではなく読みやすい。 ・重…

Dockerで開発環境構築 Ruby on Rails編

目的 気軽に使えるローカル開発環境としてDockerでRuby on Railsをセットアップしてみた。 設定ポイントや気になった事を書き留める。 後学の為にMySQLユーザー権限変更やDB文字コード指定したり環境変数ファイル切り出したりしている。 環境 macOS High Sie…

Dockerで開発環境構築 MySQL編

目的 気軽に使えるローカル開発環境としてDockerでMySQLをセットアップしてみた。 設定ポイントや気になった事を書き留める。 環境 macOS High Sierra Docker for Mac (18.06.1-ce) 作成内容はGitHubにアップしておいた。 github.com docker-compose.yml ver…

リファクタリング―既存のコードを安全に改善する― を読んで

はじめに 継続的にソフトウェアを改善するにはリファクタリングは欠かせないタスクである。 自分でも意識してリファクタリング作業は行っているが改めて体系的に纏まった情報を確認する事にした。 全体の感想 リファクタリングは多岐にわたる条件や構成の元…

データベーススペシャリスト試験対策(主に午後2など)

はじめに 情報処理技術者試験のデータベーススペシャリストに合格した。 前回は不合格(午後1が85点, 午後2が51点)で2回目の受験で合格となった。 落ちたパターンと受かったパターン両方体験する事となった。 前回、今回と別のアプローチ(設問選択)で試験に…

ファイル削除してもサーバー容量が増えない場合の対処例

現象 Linuxサーバーの容量が著しく減少しているので調査すると某検索システムプロセスのログファイルが大きいのが原因だった。 しかし、単純に当該ファイルを削除してもサーバー容量は増加しなかった。 問題点 ログファイルに対してプロセスからの処理(書き…

MySQL デッドロック回避パターン

目的 SELECT実行 ↓ (結果行が無ければ)INSERT (結果行が有れば)UPDATE 上記の様なパターンでクエリを発行しているシステムでDBのエラーが稀に出ていた。 解決過程の備忘録。 前提 MySQL 5.6 INNODB (REPEATABLE READ) 対象処理回数は約5〜10万回/日(秒…

Gitでの一括切り戻し方法

Git

目的 プロダクション環境への適用後に障害が発生した場合に備えて速やかに切り戻しを行える方法を確保したい。 Gitでデプロイ直前の状態に戻す方法の備忘録。 前提 ・commit, pushした後に本番デプロイする手順を採用している。 ・commit量が多い。(数百コ…

業務システムのための上流工程入門 を読んで

目的 良いアウトプットをする為にコーディング能力は必要だがチームで動く場合は要件、仕様を固めて関係各所に共有するという能力が更に重要となってくる。 そのあたりの内容についてヒントとなる事が書かれていた。 全体の感想 入門というだけあり、前提知…

PHPのtraitを使ってラク出来た件

はじめに traitを使って既存の動作にほぼ影響を与えず機能追加出来たパターンが有った。 使い方例をメモ。 元々有ったコード ClassBase.php class ClassBase { private $value; static function getBody(){ return ""; } static function getObjcet() { $cla…

グラス片手にデータベース設計~販売管理システム編を読んで

全体の感想 販売管理システムを構築する時に基本的に網羅すべき事がわかる。 要求される事が多いパターンに応じた仕様構築や設計方針が詳しく記載してある。 要望 → 仕様 → データベース構成 と前後関係から理解しやすい内容となっている。 読者層 ・販売管…

gettextでセットした翻訳情報を同一プロセス内でクリアする方法

前提 ・日本語がデフォルトの情報 ・英語の翻訳リソースが用意されている。 ・PHPにて実行。 問題点 バッチのループ処理等でgettextで翻訳情報をセットすると連続する次処理の時もセットした情報を引き継いでしまう。 <ループ1回目>日本語 ↓ <ループ2回目…

SQLアンチパターンを読んで

説明不要なほど有名な技術書籍ですが自分なりの感想。 「良いと思った点」 具体例がわかりやすい 各章でそのアンチパターンが発生する背景となる具体例から説明が開始されておりかなり読みやすい。 具体的背景 → アンチパターンの見つけ方 → アンチパターン…

スタート

fukuyama012です。 よろしくお願いします。 主にWeb系開発をやってます。 技術話を中心にあっさりと書き留めていく予定です。