kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

2019-01-01から1年間の記事一覧

dockerfileのARGの使い方おぼえがき

ARGとは build実行時にオプション --build-arg として渡せる可変の値 使いみち 環境毎になにかを変える時に使用する ビルド時に使用する環境変数 entrypoint.sh COPY元 など Dockerfileでの定義方法 ARG hoge="fuga" 解説 上記は、変数 hoge を時環境変数 HO…

Amazon Aurora serverless を知らなかった人が 2019/07 現在の Aurora serverless の最新状況を分かる範囲でまとめた

これの続編 blog.kasei-san.com Amazon Aurora serverless って何? インスタンスの管理が不要な Amazon Aurora 決して、serverless 専用の Aurora ではない サポートしているエンジンは? MySQL 5.6 互換の Amazon Aurora PostgreSQL 10.7+ 互換の Amazon Aur…

AWS Systems Manager パラメータストアを使って、ECSのtaskで環境変数を安全に運用する方法

AWS

概要 DBのパスワードとかの機密情報をECSのtask実行時の環境変数に入れたい場合、AWS Systems Manager パラメータストアを使うとかんたん&安全 AWS Systems Manager パラメータストア is 何? AWS Systems Manager パラメータストア は、設定データ管理と機密…

dockerfileのCMDやENTRYPOINTでの変数展開について

前提 dockerfileの CMD や ENTRYPOINT でコマンドを定義する方法は2通りある exec form(推奨) : JSONの配列で定義する ["echo", "${HOGE}"] 直接コマンドが実行される(変数展開が行われない ) shell form : 文字列で定義する "echo ${HOGE}" /bin/sh -c を介…

CMDとENTRYPOINT違いおぼえがき

きちんと理解したら全然意味が異なるものだった ENTRYPOINTとは docker run 時に実行されるコマンドを定義 例 apacheを起動させるコンテナ(オフィシャルじゃないけど、説明に最適だった) の ENTRYPOINT ENTRYPOINT ["/usr/sbin/apache2"] docker run した場…

herokuのビルドをキャンセルする方法

heroku.yml の設定を間違えたりすると、デプロイ後、以下のエラーが出てタイムアウトするまで待たされて困るので、キャンセル方法を調べた remote: Compressing source files... done. remote: Building source: remote: === Fetching app code remote: remo…

AWS cli で アカウントに紐づいたロールの切り替えをする方法

aws

課題 セキュリティ上の理由等で、普段管理画面上でロールの切り替えを行っているけれど、それをCLI上でやる場合どうするの? 解決方法 ロール切り替え用のprofileを設定して、それを指定してあげれば良い ~/.aws/config [default] output = json region = ap-…

Varnish4.1 では最初の `Set-Cookie` しか read/write できない

先に結論 Varnish4.1 では最初の Set-Cookie しか read/write できないし、writeすると他の Set-Cookie は消える varnish-modulesのcookieやheaderを使えば、他の Set-Cookie もread/writeできる サンプルコード vcl vcl 4.0; import std; import directors;…

Rubyでインクリメンタルする Quine AA を書いた

デモ 実行するごとにAAの白抜きの数字が増えていきます コード http://github.com/kasei-san/quine/blob/master/incremental/main.rb コードジェネレータ 前回解説したように、Quine AA は、AAを作るコード自身をAAに変換するジェネレータを作って作成します…

Rubyで書く! Quine AA!

こちらの記事を元に自分で作ってみた時の記録です mickey24.hatenablog.com ソースコード eval$s=%w' b="BAhsK2Lgf4 D/D/7/8/9///j/B/9 /8P8H/3/w/wf/f/7/7/ ///+//P/ j/Af5/AOA PAPwAAM CHH3z4wY cffPjBh x98+MGHH /z/wf8/ /P+D/z/g nwMAAAA PAPgBAA8 AAADA…

Rubyで書く! Quineのサンプルと解説

Quine ってなに? クワイン(英: Quine)は、コンピュータプログラムの一種で、自身のソースコードと完全に同じ文字列を出力するプログラムである。 クワイン (プログラミング) - Wikipedia 基本の Ruby Quine eval s="puts'eval s='+s.inspect" 解説 eval s=…

PostgreSQL93でのレプリケーション確認方法

プライマリ側 SELECT * FROM pg_stat_replication psql -x -c "SELECT * FROM pg_stat_replication" -[ RECORD 1 ]----+------------------------------ pid | 2167 usesysid | 42700 usename | repl_user application_name | walreceiver client_addr | 10.…

バックグラウンドジョブおぼえがき

概要 job を用いて複数のコマンドを1つのシェルで平行して実行することができる 普通にコマンドを実行すると始まって、入力を受け付けるのが フォアグラウンドジョブ 入力を受け付けずに、CUIの後ろで実行されるのが バックグラウンドジョブ バックグラウン…

MySQL でテーブルをロックせずに index を貼る方法いろいろ

indexを張った場合の処理の基本的な流れ ALTER TABLE でindexを追加すると、indexを貼り終わるまでテーブルがロックされる 内部的には テーブルをロック→テーブルをコピー→コピーしたテーブルにindexを貼る→元のテーブルと入れ替える→ロック解除 という処理…

InnoDBのバッフアプールとMyISAMのキーバッファについて

概要 InnoDBとMyISAMの違いについて解説 その上で、それぞれのキャッシュの取り扱いと、キャッシュに関する値の最適化について解説 そもそも、InnoDBとMyISAMの違い どちらも ストレージエンジン MySQLは、リクエストから以下のような流れで、データのread/w…

Rubyでは真偽とtrue/falseは別物だよ! というお話

今日は、Rubyの true, false と、真偽は別物だよというお話をします これは何? 会社blogで公開しようとした直前に、上位互換の記事が出てお蔵入りしてしまった可愛そうなblog記事です techracho.bpsinc.jp 供養と自分の学習記録も兼ねて、個人ブログにupいた…

いまさら MacBook Air mid 2011 をサクサクにするためにやった3つのこと

Mac

これはなに やたら重くなった MacBook Air mid 2011 (memory 4GB, strage 250GB) をサクサクにするまでの苦闘の記録です 古いMacBookに発生した、つらみあふれる現象 ログイン画面を開いてからパスワードを入力するまで1分ほど待たされる 起動してからブラウ…

Varnish 2.1のサブルーチンの流れ

こちらの続き blog.kasei-san.com VarnishのSaaSであるfastlyでは、VCLがVarnish2.1準拠 そのため、Varnish2.1での処理の流れを改めて把握して、図に書いた Varnish 2.1のサブルーチンの流れ エラーやrestatなど、正常処理以外の流れは端折っているので注意 …

VarnishとVCLおぼえがき

Varnish とは 正式名 Varnish HTTP Cache cache機能を持つリバースプロキシ 基本的にはcacheサーバとして使われる VCL - Varnish Configuration Language という独自言語で設定を行う 最新バージョンは6.0.2 (2018/11/12 Release) VCLについて 手続き型言語 …

PostgreSQL9.3で同期レプリケーションしてみる

これの続き blog.kasei-san.com やったこと EC2環境を2台構築 マスタの環境構築 スタンバイの環境構築 マスタでレプリケーションステータスを確認 マスタが更新されるとスタンバイが更新されることを確認 EC2環境を2台構築 web UI から Amazon linux の t2.s…