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

Envoy vs Nginx: HTTP/1.1 Reverse Proxy Performance

HTTP/1.1のリバースプロキシとして、EnvoyとNginxとの軽めのベンチマークを取りました. しっかりとしたベンチマークとはいえませんが、少しは参考になる結果かもしれません. TL; DR リバースプロキシコンテナは、CPU・Memoryともにリソースの制限をする リバ…

EnvoyでHTTP/1.1の通信をプロキシする

EnvoyはHTTP/1.1とHTTP/2ともにサポートしているということで、HTTP/1.1のFront Proxyができるのか試してみました. TL; DR front-envoy.ymlのcodec_typeをHTTP1に変更すれば、HTTP/1.1で通信するようになる corrupt952/surveyに今回の記事の元となるコードを…

転職しました

転職してから少し経ったので、今更ですが転職エントリを書いていこうと思います. 前職について 前職は新宿にあるSIerでした. そこの会社は学生時だからアルバイトでお世話になっていたところで、約5年も働いていました. 前職では業務としてのプログラミング…

Japan Container Daysに参加してきた

参加してきた時のメモを残しておきます. ※ 写真を撮りたかったのですが準備ができてなかったのでテキストデータのみです. まず最初にJapan Container Daysを開催・運営してくださった方々、登壇してくださった方々に感謝を. とても刺激的な2日間でよい時間を…

Cookpad Tech Kitchen参加してきた

Coopad Tech Kitchen#20に参加してきました. その時のメモを書いておきます. 開催・運営してくださった方々、スピーカーの方々ありがとうございました. どういった構成でCookpadのマイクロサービスを支えてるのかが、よく分かる資料でした. クックパッドでの…

tmux上のzshでPATHがおかしいので修正する

12月になりましたね. もうすぐAmazonのサイバーマンデーがあるので、カメラ関連でいいものがあるといいなぁと期待しながら待っています. さて、今回はtmuxセッション上のzshのパスがおかしくなり、タブ補完がエラーが出るようになった話と、それを抑制する話…

GO GLOBALに参加してきた

今週の月曜日にGO GLOBAL meetupに参加してきました. その時のメモを備忘録代わりに記事として登録しておきます. コーディング試験運用の実態と実績 コーディング試験とは コンピュータ・サイエンスの基本理解度を見るためのもの として定義している. スポー…

Googleカレンダーを同期するGASを書いた

最近は、イベントに参加することも多く、複数のGoogleアカウント感でスケジュールを手動コピーすることが多くなってきました. さすがに手動コピーは面倒なので、複数のGoogleカレンダーから1つのカレンダーへ同期するようなスクリプトを書きました. 前提 Goo…

オンボーディングの終了とこれから

転職エントリを書き終える前に、こちらの記事を書き終えてしまいまって、何とも言えない気分に陥っています. オンボーディングを終えてに書いてある通り、私は10月にオンボーディングを受けていました. そのブログで書ききれなかった事を、書いておきます. …

セキュリティ自己学習 2018/11/05

今日もとりあえずハニーポッタースライドを読みます. AWS + T-Pot + ELK + WOWHoneypot でWeb攻撃を観察してみようを読む graneed氏が公開しているスライド. 所感 これから構築しようとしている人向けに対して、AWSの料金がどれぐらいかかるのか、自宅で運用…

自己署名証明書サイトに対してHeadless Chromeでスクリーンショットを撮る

11月からT-Potを個人で運用を始めており、日々の攻撃傾向などが表示されるダッシュボードのスクリーンショットを自動で送ってくれる仕組みを構築中です. そこでHeadless Chromeが必要なダッシュボードにアクセスし、スクリーンショットを撮る仕組みを構築中…

セキュリティ自己学習 2018/11/04

転職してからSREエンジニアに必要なことを勉強する必要性がかなり高まりました. 通常業務の間や、それ以外の時間で勉強するほかないこともあるので、1日15分程度軽く情報を集めてみます. ハニーポットログの読み方(初級編)を読む S-Owl氏が公開しているス…

ラッパースクリプトを作る時に気をつけていること

特定のコマンドをラップースクリプトを作る時に気をつけている時のメモ。 TL;DR PATHで解決できる場所の配置する ラップするコマンドと同じ名前で作成しない functionで定義しない 気をつけていること 普段気をつけていることは3つあります。 1. PATHで解決…

rbenvのラッパースクリプトを作る

今回は軽めのrbenvラッパースクリプトを作成します。 TL;DR updateしたいだけなら、rbenv-updateを使った方が良いよ。 rbenv-wrapper PATHで参照できるディレクトリにrbenv-wrapperという実行権限付きのファイルを作成します #!/bin/bash -eu case "$1" in u…

接続先ごとにプロンプトを切り替える

開発(or テスト)、ステージング、本番環境のサーバ内で作業する必要がある場合、シェルでホスト名を表示して環境を見分けていますが、どうしても限界があります. そのため、接続先にごとにプロンプトを切り替えて、環境ごとに色を変更してみようと思います…

RubyでLTSVをHashに変換する

RubyでLTSV形式のファイルをライブラリを使わずにHashに変換する時のメモです. TL;DR 細かいケースの考慮が足りていないかもしれませんが、以下で十分だと思います. lines = File.readlines('file.ltsv') lines.map(&:strip).map do |l| l.split("\t").each_…

dry-configurableを運用してみて

リリースしてからしばらく経ったので、dry-configurableを使用してみたどうだったかという話を書きます. github.com TL;DR YAMLを使った定数管理ができるGemでもERBが使えるならdry-configuableである必要はない 結論としては使いたいGemを使えばいい dry-co…

Let's SplitでLEDをオフにする

nillpo.hatenablog.com 上記の記事を参考にしただけなんですが、keymap.cに以下のコードを追加しました. #include "pro_micro.h" void matrix_init_user(void) { TXLED0; RXLED0; } void matrix_scan_user(void) { TXLED0; RXLED0; } 確かにdrivers/avr/pro_…

現在開いているタブを閉じる

TL;DR 現在のタブを閉じるアクションでwindow.open('about:blank','_self').close(); を実行する 現在のタブを閉じる シンプルに考えるとwindow.close();で動きそうです. ただ、この方法で動かない場合は「開いているウィンドウに対して新しいウィンドウ(ド…

Terraformでファイルを圧縮する

Terraformでファイルを圧縮するにはarchive_fileを使って、ファイルを圧縮します. 対応している圧縮フォーマットはzip形式のみのようです. https://www.terraform.io/docs/providers/archive/d/archive_file.html TL; DR ドキュメント通りに指定すれば問題は…

Amazon Lightsailでサーバーを立ち上げる

Lightsailがちょっと気になっていたので触ってみる. インスタンスの作成 インスタンスロケーションの選択 ロケーションは選択可能なリージョンのどこに作成するのかを選びます. 東京(ap-northeast-1)リージョン以外に作成する理由はないので、東京リージョン…

個人ブログをHugoに移行しました

www.khasegawa.netとblog.khasegawa.netを統一するために、Hugoに移行しました. 他にも、WordpressやJekyllなどの選択肢もあったんですが何となくHugoにしてみました. Blogger自体に大きな不満はなかったんですが、 Markdownで下書きを書いている以上、絶対…

新生活始まります

4月になり、新生活を始める方も多いと思います. 私は特に変わらない生活が続いているので、新生活といった感じではないですが、今年度もできる限り体調が崩れないようにしていきたいなと思います. 皆さんも体調には気をつけてくださいね. 特に若い人達は一度…

Amazon RDSのMulti AZについて

Amazon RDS Multi-AZ 配備という公式のドキュメントに書いてあることだが、 RDSのインスタンスをMulti-AZ 配備という項目を設定するだけで、簡単にMulti-AZ構成にすることができる. ただし、DB Instanceが所属するDB Subnet Groupに設定するSubnetが複数AZで…

Postfixでsasl_passwdを変更するときの作業メモ

PostfixでSESにリレーしてメールを配信する仕組みを作っている時の作業を忘れがちなため、メモ書きを残しておきます. sasl_passwdの編集 大体の場合は、/etc/postfix/sasl_passwdにあると思うので、これを適切な内容に変更します. DBファイルを作成しないと…

タスクの実行結果をwhenで指定するならcheck_modeつける

Ansibleでコマンドの実行結果をwhenで指定するなら、そのコマンドにcheck_modeをつけましょう. Ansibleの公式ドキュメントに書いてあることだが、cehck_mode: no をつけないと、dryrunでコマンドが実行されずにエラーになります. Ansibleのバージョンが2.2未…

ActionMailerで配信前にメールの宛先を変更する

Railsガイドを読んだことある人であれば知っていると思いますが、ActionMailerにはregister_interceptorというメソッドがあり、これに特定のクラスを登録することで、メール配信前のフックを実現することができます. railsguides.jp 配信前に宛先を変更する …

Elastic IPを利用する時は上限を確認しておく

複数のElasticIPを利用しようと思った時のメモ. ElasticIPが確保できない? Terraformを利用してAWS上のリソースを管理しているのだが、terraform applyが失敗しました. その時のエラーの一部を抜粋したの以下. Error creating EIP: AddressLimitExceeded: T…

人を動かすを読んで

帰省中に読んだ本の中の1冊である「人を動かす」を読んだ感想です. 人を動かす 新装版作者:D・カーネギー発売日: 2015/03/20メディア: Kindle版 人を動かす この本は、アメリカ出身のデール・カーネギー氏の著書です. 割りと有名な本だとは思いますが、今回…

Terraform経由で作成したEC2にNameをつける

AWSを利用している方なら基本中の基本だと思いますが、EC2の管理画面を見ているとNameという列があり、Terraformで作成していると空になっています. これは何故でしょうか? TL;DR Nameタグを設定すれば表示される 何故、表示されないのか? AWSの公式ドキュ…