KVM+libvirt な仮想化ホストに、ブリッジ I/F で固定IPな Docker ホストを RancherOS で作るメモ。 # RancherOS の ISO をダウンロード wget https://releases.rancher.com/os/latest/rancheros.iso # SSH鍵をダウンロード curl -s https://github.com/ngyuk…
KVM+libvirt な仮想化ホストに、ブリッジ I/F で固定IPな docker ホストを boot2docker で作る試行錯誤のメモ。 なお boot2docker は新しい Docker のリリースや kernel の更新以外では更新されないメンテナンスモードになっているようです。 userdata.tar …
Amazon EC2 Auto Scaling を ユーザーガイド を読みながら Terraform で素振りしたメモ。残骸はこちら。 Launch Configuration と Launch Template Auto Scaling で起動する EC2 インスタンスを定義する方法は下記の複数があります。 Launch Configuration L…
少し前に EKS が Tokyo リージョンで使えるようになったので素振りしたメモ。残骸はこちら。 なお、てっきり EKS も Fargate が使えるものだと思っていたのですが、そうでもなかったので(将来的にはできるようになる?)、EC2 でワーカーノード作ってます。…
ECS を Terraform で素振りしたメモ。Fargate 前提です。残骸はこちら。 Fargate の費用 ECS は EC2 でクラスタを作るか Fargate かを選択できます。Fargate の方がマネージドなので楽ですが割高です。 ざっくりと EC2 の t3 インスタンスを比べてみます。Fa…
だいぶ前に Qiita で virt-builder でゲストを作って virt-resize でリサイズして virt-customize でカスタマイズ という記事を書いていて。 virt-builder ふむふむ便利そう、だがしかしなんか気に入らないので普通にゲスト作るときはやっぱ Kickstart だわ …
いわゆる請求データみたいなやつで請求年月のような yyyy/mm の値を表すために DATE 側を使うか整数型で yyyymm みたいにするか。 DATE 型で日付を 1 固定で持っていたとして、例えば請求年月が 2018/01 という条件で検索するとき 請求年月 = 2018/01/01 だ…
Doctrine や Eloquent や CakePHP などの ORM でDBからフェッチしたエンティティの一部の属性だけ変更して保存したとき、テーブルの行全体が更新されるわけではなく、変更した一部の属性だけが更新されますが、それがどう実装されているか気になったので調べ…
MRP(Meal RePlacement:食事代替品)をいくつか食してみたメモ。 COMP POWDER COMP GUMI COMP DRINK BASE PASTA quick Myoplex (EAS) RAW MEAL (Garden of Life) 自宅での食事ではこの類のものは食しておらず、職場で昼飯や晩飯を食べるときだけ食していま…
1年ぐらい前に諸事情により調べたメモ。 監視ツールでリソース情報とかのメトリクスに対して、○○を超えたら、みたいな閾値のチェックを設ける場合、元の値がディスク使用率とかロードアベレージのようなそのままの値が取れるものなら良いのですが(いわゆる…
公式のドキュメントを読みながら素振りしました。 MySQL :: MySQL 8.0 Reference Manual :: 18 Group Replication グループレプリケーションでは、グループのメンバシップ管理、ノードの障害検出、追加ノードの同期、などが自動で行われます。一方でアプリケ…
とある MySQL のダンプファイルをインポートしようとしたところ、次のような警告が表示されました。 Warning (Code 1300): Invalid utf8 character string: 'FFFFFF' インポートに失敗しているわけではないですがやや気持ち悪いです。 原因 blob とかのバイ…
スレーブ側で--replicate-do-や--replicate-ignore-などのルールを使ってフィルタリングをすると、GTIDに欠番ができて、連番が連続しなくなるため、SHOW SLAVE STATUSの出力が大変なことになってしまう。GTIDを用いるときは、フィルタリングしないのほうが無…
従来のレプリケーションとの違いをざっくりと。 ノードに UUID が付与されて「UUID+連番」ですべてのトランザクションに一意なID(GTID)がつく 各ノードが「適用済の GTID」を持っているので循環レプリケーションやマスター切り替えが容易にできる 「適用済の…
AWS Code Deploy で EC2 インスタンスにコードを雑にデプロイしてみた。 IAM ロールの準備 Code Deploy がインスタンスとかを操作するために必要なロール(サービスロール)を作成します。 # ロールを作成 aws iam create-role --role-name CodeDeployServic…
かつて EC2 Systems Manager(SSM) と呼ばれていたものの機能拡張版。 いろいろ機能はあるもののざっと見た感じ、下記あたりは使えなくもないような気がしました。 Run Command State Manager Parameter Store Run Command SSM でいちばん有名なやつ、EC2 イ…
https://github.com/gitlabhq/gitlabhq/tree/v8.17.2/doc/ci/yaml#cache 8.17.2 ではデフォルトではジョブごとブランチごとに有効になっている。つまり・・・ 異なるジョブ同士では共有されない 異なるブランチでは共有されない 同じブランチの同じジョブで…
例えばプロジェクト直下の ore-no-special/ ディレクトリを無視したい場合、リポジトリルートの .gitignore で下記のように記述すれば無視できますが、 /ore-no-special/ 次のような .gitignore を ore-no-special/ の中に入れておくだけでも無視できます。 …
例えば CentOS 6 で下記のようなディスク構成だった場合、 zerombr bootloader --location=mbr --driveorder=vda,vdb clearpart --all --initlabel part raid.11 --ondrive=sda --asprimary --size 500 part raid.12 --ondrive=sdb --asprimary --size 500 p…
半年くらい前に社内の勉強会っぽい何かで話すために書いていたけど結局やらずにお蔵入りしたメモ。 半年くらい前なのでわりと古いです Prometheus は単体だとダウンサンプリングができないので長期のデータ保持には向いていません。デフォルトだと 15 日しか…
9ヶ月ぐらい前?に社内の勉強会っぽいなにかで話そうと思ってたけど結局やらなくてお蔵入りになっていたメモ。 このとき試した Prometheus はだいぶ古いです・・・たぶん 1.5 ぐらいです。今が 2.0 とかなので色々変わっていると思います メモ 監視対象でエ…
jQuery の Deferred といわゆる Promise/A+ について、ごっちゃになってたのでメモ。 then/catch で発生した例外は reject された Promise になる jQuery 3 から? Promise/A+ 互換になったため then/catch で発生した例外は reject された Promise として次…
jQuery の DOM とは関係のない Deferred の動きを確認するために jQuery を Node.js で動かしたかったのだけど、下記によるとそういう場合でも window オブジェクトが必要とのこと。 https://www.npmjs.com/package/jquery ただ、この通りにやってもなんか動…
PHP から JS に値を渡したいとき、PHP から適当な要素の data アトリビュートに書き出して jQuery の .data() メソッドで取り出していたんですけど・・・ http://api.jquery.com/data/ ... When the data attribute is an object (starts with '{') or array…
手元にあった PHP 7.1.10 で試してます。 PHP の配列で、連想配列なのかいわゆる添字が順序通りのただの配列なのかを調べるには、下記の方法が一番手っ取り早いと思います。 array_values($arr) === $arr; がしかし、配列の === は配列の要素の値の比較も行…
アプリケーションにテーブルゲートウェイがあったとして、もちろんDB接続に依存している。 class UserTable { private $connection; public function __construct(Connection $connection) { $this->connection = $connection; } // select/insert/update/de…
久しぶりに Terraform を使ってたらちょこちょこ変わってたのでメモ。多分前は v0.8 とかを使ってたと思う。 Initialization 以前は terraform をインストールすると AWS とかのプロバイダのプラグインも一緒に入っていて、すぐに使えていたと思うんですが、…
アプリケーションの流れとして、 コンテナを構築 アプリを実行するなにか(パイプラインとかディスパッチャとか)をコンテナから取り出す リクエストオブジェクトを作成してアプリを実行 みたいな流れかなと思う。順番的にDIコンテナが先に作られるのでリク…
下記↓の記事のコメントの通り、 PHPUnitの$this->assertXXXX() の別記法 - Qiita PHPUnit には Functions.php というファイルが含まれていて、これを require するとアサーションなどがグローバル関数に登録されるので、次のようにテストを書くことができま…
MySQL の sql_mode で NO_ZERO_IN_DATE,NO_ZERO_DATE とかを指定すると 0000-00-00 や、月や日が 00 などの日時の挿入を禁止できます。 MySQL の NO_ZERO_DATE と NO_ZERO_IN_DATE で無効な日時を禁止 がしかし、年が 0000 の場合の動きが謎いです。 MySQL …