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…

PostgreSQLのバックアップ覚えがき

PostgreSQLのバックアップは3種類 コールドバックアップ ホットバックアップ オンラインバックアップとポイントインタイムリカバリ(PITR) コールドバックアップ 特徴 物理バックアップとも言われる $PG_DATA のファイルをまるまるコピーする方法 メリット 方…

PostgreSQLのレプリケーション覚えがき

PostgreSQL のレプリケーション 現在は以下の2種類をサポート ストリーミングレプリケーション(9.0〜 ロジカルレプリケーション(10〜 どちらもWALをスタンバイに渡すことでレプリケーションが行われている 今回はストリーミングレプリケーションについて詳し…

Amazon linux に PostgreSQL 9.3の環境を構築してみる

諸事情あって、EC2 on PostgreSQL 9.3 を知る必要があるので、ひとまず環境を作成してみる やったこと EC2環境構築 PostgreSQL 9.3 のインストール PostgreSQL 9.3 の起動 ユーザとDB、tableを作成して、select を実行 EC2環境構築 適当に web UI から Amazo…

WEB+DB PRESS Vol.108 詳解PostgreSQL 読書メモ

自分が知らなかったことや興味があったことだけをメモしているので、全体が知りたい人は WEB+DB PRESS を買って読みましょう WEB+DB PRESS Vol.108作者: 中野暁人,山本浩平,大和田純,曽根壮大,ZOZOTOWNリプレースチーム,権守健嗣,茨木暢仁,松井菜穂子,新多真…

将太の寿司について

この記事は沼アドベントカレンダーの22日目です 私が起きている間は22日ってことにしてください。本当にごめんなさい adventar.org 20,21 日目がまだ更新されていないですが、それぞれ興味深い沼ですので更新を楽しみにしております...! で、なんで将太の寿…

AWS DMS おぼえがき

これはなに? AWS DMSについてざっくり概要を理解したので、忘れないように書いたメモです AWS Database Migration Service(簡単、安全なデータベース移行)|AWS 先にまとめ AWS DMSは、最小のダウンタイムでデーターベースの移行をしてくれるサービス テー…

社内LT大会(FFLT)で、転職活動のふりかえりについて話してきました

FFLTとは 弊社フィードフォースが不定期に行っているLT大会です くわしくはこちら developer.feedforce.jp 先日退職エントリを書いたので、それに合わせて転職活動のふりかえりについて話してきました 発表資料 転職活動ふりかえり from 誠 小林誠 参考資料 …

株式会社フィードフォースを2018年いっぱいで退職いたします

feedforceアドベントカレンダー8日目! まさかの退職エントリで参加です! adventar.org 7日目はマスタカさんの健康的な記事でした! 私も最近ジムサボりがちなので、そろそろ再開したいですね... masutaka.net なんでフィードフォースに来たの? 2009年9月。web…

Amazon Auroraへの移行事例をまとめて知見を抽出してみた

先に知見まとめ 急いでる人はここだけ読めば良いと思う 移行方法 以下の3つの方法のどれかで移行している RDSの場合、Auroraリードレプリカを作成して、同期完了後、昇格 Amazon DMSでAuroraにデータを移行。同期完了後、切替 DMSにはいくつか制限があるので…

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

主にMySQLについて調査 Amazon Aurora って何? MySQL/PostgreSQL 互換のリレーショナル・データベース サポートしているエンジンは? MySQL 5.7 MySQL 5.6 PostgreSQL 9.6 RDSと何が違うの? 高パフォーマンス スケーラブル 低運用コスト(人もお金も) 耐障害性…

javascript の generator おぼえがき

ECMAScript 6 にて実装された generator って? generatorそのものの解説はこちらが詳しい → Pythonのジェネレーターってなんのためにあるのかをなるべく分かりやすく説明しようと試みた - Qiita 要するに、ステートを持ち、呼ばれるたびにそのステートを…

ディスク容量が足りなすぎて growpart でエラーが出た時にやったこと

概要 あまりにもディスク容量が無いと、growpart に失敗する その時にディスク容量を減らすために、何を削除したのかの記録 growpartのエラー $ sudo growpart /dev/nvme0n1 1 mkdir: cannot create directory '/tmp/growpart.7531': No space left on devic…

EC2にてubuntuのEBSの容量が不足した時にやったこと

概要 AWS EC2 でストレージ(EBS)の容量が不足した EBSの管理画面から設定変更すればすぐ変更可能かと思ったらやることがまだあったので、忘れない内にまとめる OS Ubuntu 16.04.2 LTS (GNU/Linux 4.15.0-36-generic x86_64) やったこと EBSの管理画面からス…

javascript の Promise おぼえがき

AWS lambda で Node.js と向きう合う必要が出てきたので、最近のモダンな JS を理解する 最近は async/await が使えるらしいが、内部的には Promise を使っているらしいので、まずは Promise から理解する Promise とは? 非同期処理の実行結果(成功 or 失敗)…

初心者向けNoSQLおぼえがき

RDBとの違いとかあんまりわかっていなかったのでメモ RDBの限界 スキーマの限界 多種仕様なデータや、ネストが深いデータのテーブルを設計するの大変 最近の高ベロシティの要望で、それを高頻度に変更していくのはもっと大変 そもそもJSONやXMLでもらったデ…

Amazon S3 ストレージクラスおぼえがき

概要 以下の4つのストレージクラスがある (下に行くほど制限があるが安くなる) 標準 標準 – 低頻度アクセス 1 ゾーン – 低頻度アクセス Amazon Glacier 向いているデータ一覧 標準 以下のいずれかのデータ アクセス頻度高 SLAやデータの耐久性が重要 超細か…

Amazon CloudFront おぼえがき

AWS 認定ソリューションアーキテクト – プロフェッショナル 対策 Amazon CloudFront って何? Amazon CloudFront は、データ、動画、アプリケーション、および API を、低レイテンシーの高速転送により視聴者に安全に配信する、グローバルコンテンツ配信ネッ…