アプリケーション

execコマンドによるリダイレクト

アプリケーション

概要execコマンドは現在のプロセスを実行するコマンドで置き換えるコマンドだが、引数無しで使うとリダイレクトの動的変更ができる。 ちょうどmaster直プッシュの際にプロンプトで確認するようにするで #!/bin/sh exec < /dev/tty read ANSWER というコードが出てきてよくわからなかったので調べてみたのがきっかけ。 使い方#!/bin/sh echo "Outp...

bash shellscript exec

master直プッシュの際にプロンプトで確認するようにする

アプリケーション

概要gitでmasterブランチへの直pushを未然に防ぐためのセーフーティネットの作り方。github上でmasterブランチへのpushを禁止すれば良いのだが、DevOpsの都合上でgithubの設定では問題があったのでhooksを使う方向で設定した。 導入グローバルに設定したいので~/.git_template/hooks配下にpre-pushファイルを作成する。.git_templateデ...

Git shellscript

PHPで学ぶデザインパターン - Stateパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Stateパターンとは状態をクラスで用意することで振る舞いを切り替えることができるようなパターン。 実装スイッチのオンオフの状態を切り替えるような例を想定した。シングルトンを使ったほうが良い気がする。 <?php class OnState { public function get...

GoF PHP デザインパターン ステートパターン

ゴリラで学ぶソフトウェアの法則10選

アプリケーション

概要以前書いたソフトウェア開発の法則 の雑メモをベースにLTをしたのでスライド内容を補足する形でまとめる。 スライドは↓ゴリラで学ぶソフトウェアの法則10選 ゴリラで学ぶには無理があったのでスクリプトを書き残しておく。 ソフトウェア開発の法則ソフトウェアの文脈で語られる法則に縛らず、他分野での法則でもソフトウェアに当てはまるであろうものを”ソフトウェア開発の法則”としている。 経験則に基づく...

ソフトウェア開発

Laravelでの機能テストの始め方雑メモ

アプリケーション

概要 Laravelでの機能テストの始め方と簡単な使い方について紹介する。 入門レベルに限るのでより実践的な内容については触れない。 ※LTの元ネタ程度でメモくらいの内容。 対象 テストを書いたことがない人向け。 テストを書いたことがなくても機能テストであればアプリケーションの仕様さえわかっていれば比較的に誰にでも楽に何を書くのかわかりやすいと思う。 特にLaravelは機能テストで使える便利なA...

Laravel 機能テスト テスト

Goでmysqldumpツールをつくる

アプリケーション

概要このブログのDBバックアップを原始人のごとく手動でやっていたのでコマンド一発でバックアップをリモートからローカルにバックアップを取れるツールをgoでつくってみた。 パッケージ "net" ネットワークI/O、TCP/IP、UDP、ドメイン名前解決、Unixドメインソケットなどのインターフェースを提供してくれるやつ "time" 時間の計算や表示のため...

Golang MySQL ssh mysqldump

PHPで学ぶデザインパターン - Bridgeパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Bridgeパターンとは機能拡張のためのスーパークラスと実装拡張のためのサブクラスを用意し、機能の橋渡しをするようなパターン。 実装<?php interface Connector { public function __construct(Converter $converter)...

GoF PHP デザインパターン ブリッジパターン

PHPで学ぶデザインパターン - Adapterパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Adaperパターンとは元となるクラスに修正を加えることなくインターフェースを変更することができるパターン。 異なるインターフェース間の互換性を調整するようなAdapterクラスを用意することで実現する。 実装<?php interface Bird { public function...

アダプターパターン GoF PHP デザインパターン

PHPで学ぶデザインパターン - Mediatorパターン

アプリケーション

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Mediatorパターンとは仲介者・調停者の意味。 オブジェクトの振る舞いに関するデザインパターンで、オブジェクト間のやりとり調整するためのパターン。 オブジェクト同士のやり取りが複雑化し、関係性が見えにくくなるような時に有用かもしれない。 実装<?php // Mediator class...

PHP デザインパターン メディエーターパターン GoF