記事

MySQLでテストデータを生成するSQL

データベース

概要MySQLだけでテストデータを生成するSQLについてメモしておく。テストデータをスクリプトで生成する方法は柔軟性が高く、上等手段な気がするが、数万件のレコードを用いてパフォーマンステストをしたい時などはSQLだけでも十分かもしれない。 SQLクエリはこんな感じ。 DROP TABLE IF EXISTS `tests`; CREATE TABLE `tests` ( `id` int(...

MySQL sql cross join

PHPカンファレンス福岡2019に参加・登壇してきました

ポエム

PHPカンファレンス福岡2019に参加・登壇してきましたPHPカンファレンス福岡に初めて参加してきました。 今までCFPに落ち続けていたのですが、今年度は無事採択されることができたのでスピーカーとして参加しました。 東京以外のカンファレンスに参加するのはPHPカンファレンス仙台に続いて2回目でした。 登壇資料はこちら。PHPでURLルーティングを自作する PHPerKaigiでトークをしたネタでし...

PHP PHPカンファレンス

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

dockerでイメージとコンテナを削除してもボリュームが消えていなかったときのメモ

インフラストラクチャ

概要dockerでコンテナとイメージを削除してもvolumeが削除されていなくてちょいちょい忘れてハマるのでメモっておく。 普段は、docker-composeを使っている。 docker-compose builddocker-compose up -d して、 docker rm **docker rmi ** という感じにお片付けしているのだが、どうやらマウントしているvolumeを削除する...

Docker Docker Compose

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

アプリケーション

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

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

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

アプリケーション

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

ソフトウェア開発

PHPerKaigi2019に参加・登壇してきました

ポエム

PHPerKaigi2019に参加・登壇してきましたPHPerKaigiに初参加&登壇してきました。 fortee - PHPでURLルーティングをつくるSpeaker Deck - PHPでURLルーティングをつくる 過去登壇した会場よりも客席が近い・スライドが大きい!で結構緊張しました... 登壇を終えてcfpを提出した段階ではまだネタが仕上がっていなくて実装を焦っていました..採択されてから...

PHP PHPカンファレンス PHPerKaigi

GoogleChromeでBurp Suiteを使う手順

ツール

概要Burp SuiteをChormeで使う際の諸々の設定について。脆弱性診断や対応時にburpをchromeで使えるようにしたかった。 環境Mac OS 準備 burpsuite chrome extension - proxy switchsharp 手順プロキシを設定するchrome extension - proxy switchsharpでProxy Profilesを設定する。 Pr...

Burp Suite セキュリティ 脆弱性