Skip to content

Instantly share code, notes, and snippets.

Kazunori Otani katzchang

Block or report user

Report or block katzchang

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View auth.md

Web Auth講座 Treasure 2019

背景

@katzchang
katzchang / Makefile
Created Jul 26, 2019
make sbt-shell
View Makefile
#SBT:=docker run -p 8080:8080 -v ~/.ivy2:/root/.ivy2 -v ~/.sbt:/root/.sbt -v `pwd`:/workspace -w /workspace -it --rm hseeberger/scala-sbt sbt
SBT=./sbt
.PHONY: test-continuous sbt-shell sbt-assembly
test-continuous: sbt
$(SBT) ~test
sbt-shell: sbt
$(SBT)
@katzchang
katzchang / about-auto-scaling-termination-poricy.md
Last active Jan 13, 2019
EC2 Auto Scalingを使ったときのインスタンス破棄のポリシーについての覚書 @katzchang.gist
View about-auto-scaling-termination-poricy.md

EC2 Auto Scalingを使ったときのインスタンス破棄のポリシーについての覚書

http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-termination-policy.html より。Auto Scalingがインスタンスを破棄(terminate)するとき、どのインスタンスを選ぶかのポリシーがある。無指定であればdefaultポリシーが適用されているが、選ぶこともできる。

どんなポリシーが用意されているか?

Default

  • Availability Zone毎にインスタンス数を取り、多いAZを特定する。
  • 同数ならランダムに選ぶ。
@katzchang
katzchang / sleep-well.md
Last active Nov 12, 2018
処理が成功するまで実行しつづける - @katzchang.gist
View sleep-well.md

処理が成功するまで実行しつづける

インスタンスの起動スクリプトとかを書いてるときによく欲しいと思うやつです。

例えば、 service nginx start が実行されたあとに curl -i localhost | grep "200 OK" とかをすると、サービスがそれなりに動いていることが確認できてよかったりするのですが、あまりにも直後だとサーバの起動が間に合わず、curl が失敗してしまいます。nginxだとまだましだけど、アプリケーションサーバだとそれなりに時間がかかったりする。

古典的な解決方法は、 sleep 30 です。簡単だけど、アプリケーションが巨大になってくると30秒では起動しないこともある。じゃぁ sleep 60 が妥当か?でも、サーバインスタンスの起動スクリプト全体はできるだけ早く立ち上がってほしい。困った。

なので、curlが成功するまで叩き続ける、みたいなスクリプトに仕上げたくなるわけです。

@katzchang
katzchang / surize-ad-2017.md
Last active Nov 24, 2017
今日から使えるアドテクサービス構築プラクティス
View surize-ad-2017.md

今日から使えるアドテクサービス構築プラクティス

(このドキュメントは Sunrise 2017 アドテクノロジーコース でのお話の内容です)

  • 仮実装で始める
  • 計測する
  • すばやくデプロイする

誰よ?

@katzchang
katzchang / README.md
Last active Aug 15, 2017
Steve Freeman氏とのペアプロ雑感 #tddbc
View README.md

Steve Freeman氏とのペアプロ雑感

http://tddbc.doorkeeper.jp TDD Boot Camp 2013-07 -- TDDBC で、偶然にもロンドンから来日していたSteve Freeman氏を招くことができた。ちなみに本当に偶然の来日で、その日の夕方にご家族と隅田川の花火を見る予定だったらしい。貴重な時間である。

20分ほど講演していただき、さらに参加者と一緒にペアプロ課題に挑戦してもらった。しかもペアプロでっていう貴重な体験をさせてもらったので、そのことについてまとめたい。

Steve Freeman氏は書籍 "Growing Object-Oriented Software, Guided by Tests" (邦訳「実戦テスト駆動開発」)の共著者の一人で、Javaのモックフレームワーク "JMock"の開発者の一人。当然、自動販売機の課題にもJMockを駆使してモデリングしていただくことになった。

Start from the outside

View lambda-function.mk
HANDLERS = Hello \
my.LogAggregator \
my.CountDaily \
my.CountHourly \
supecial.LogCollector
BRANCH=$(shell git rev-parse --abbrev-ref @)
JAR=$(BRANCH)/myproject-assembly-0.1.jar
all:
@katzchang
katzchang / rule.md
Last active Sep 15, 2016
新社会人が守るべきだがほとんど誰も教えてくれない社会のルール
View rule.md

新社会人が守るべきだがほとんど誰も教えてくれない社会のルール

  • トイレットペーパーホルダーが二つあるトイレでは、紙が少ないほうを先に使いましょう
@katzchang
katzchang / gist:4126092
Created Nov 21, 2012
rebaseはコミットグラフを綺麗にするためじゃなくてffマージをするためにあるのであった
View gist:4126092

ということで、ffマージはなぜ優れているかというと、マージ操作の際に機械的な構成変更が一切行われず、ブランチの移動が起こるのみなので、マージ後のブランチは、 必ず あなたが入念にテストしただろうマージしたブランチと全く同じ構成であることが保証されるわけである。これが大きい。

衝突検知をくぐり抜けて機械的マージが構成を壊してしまう例は他をご参照いただくとして、no-ffマージの場合にそういう面倒に対応する手段として次のようなものがあると思うが、いずれも確実性でffマージには劣る:

  • マージ前にバックマージを行い、マージ時の際をなくする
  • バックマージからマージまでの間に誰かのコミットが入るかもしれないので、たまに衝突したときのことも考えないとね
  • マージ後のテストで問題を発見し、修正をコミットする
  • 修正って場合によっては時間がかかる仕事でそのあいだmasterは不安定だし、マージ権限を持つ人が少数だとしたら負担でかいよね

ということで、どちらもffマージの恩恵を考えると、なかなか悩ましい。

View gateau_au_chocolat.md

ガトーショコラ

  • 調理時間70分

材料 (18cm 丸形1台分)

  • チョコレート (製菓用でも板チョコでも) 150g
  • バター (無塩) 100g
  • 砂糖 70g
  • 卵 3個
You can’t perform that action at this time.