- 薄力粉 56g
- 強力粉 20g
- バター 56g
- 卵液 117g
- 卵黄 95g
- バニラ原液 1g
- 牛乳 200ml
- 卵白 186g
(define (deriv exp var) | |
(cond ((number? exp) 0) | |
((variable? exp) | |
(if (same-variable? exp var) 1 0)) | |
((sum? exp) | |
(make-sum (deriv (addend exp) var) | |
(deriv (augend exp) var))) | |
((product? exp) | |
(make-sum | |
(make-product (multiplier exp) |
.* | |
!.git* | |
<?php | |
/* | |
* $ php sexp_encode.php | gosh -E"begin (write (read)) (write (read))" -E"exit" | |
*/ | |
// TODO: symbolエスケープ? | |
function sexp_str_escape($str) { | |
return addcslashes($str, "\"\\\n\r\f\t\0"); | |
} |
#!/usr/bin/env gosh | |
(use gauche.parseopt) | |
(use file.util) | |
(define (main args) | |
(let-args (cdr args) | |
((help "h|help" => usage) | |
(quiet "q|quiet" #f) | |
(lag "l|lag=n" 600) |
; 3.3.5 | |
(define false #f) | |
(define true #t) | |
(define (celsius-fahrenheit-converter c f) | |
(let ((u (make-connector)) | |
(v (make-connector)) | |
(w (make-connector)) | |
(x (make-connector)) |
ユニットテストが継続的に回るようなベースの上で、アプリケーションを書き始める。
「ユニットテストが継続的に回るようなベース」って仰々しいけど、ようするにmavenとかsbt, composer, rubistじゃないからわからんけどbundlerみたいな、実に一般的なアレです。当然、それら単体ではテスティングフレームワークも依存ライブラリの一つでしかなく、ようするにそのへんの依存性が定義されていればそれでよい。それに加え、テストコードのサンプルがあるとすぐに始めることができる。その辺のベースは、 TDDBC コミュニティによっていくつか紹介されているので、使ってみてもいいかもしれない。
あとはテストファーストでもよいし、アプリケーションコードから書いてもいいし、好きにやればよい。意外と良いのは、アプリケーションコードとなる関数やクラスをテストコード側のディレクトリに書き始め、ある程度書いたら、プロダクションコード側のディレクトリに移動するやり方。やったことない人はお試しください。場合によっては print デバッグも使うし、デバッガも使う。print はプロダクションコードを汚すやり方ではあるけど、どうせ後で消すし、消したあとの動作がいい感じであることを確認できれば(当然自動テストによって!)、特に問題にはならない。消し忘れが怖いやつは何やってもダメ。
一般的なベースを使っていればテスト実行もIDE等に依存することなく、CIサーバに組み込むこともそれほど難しくないはず。なので、「CIを先に構築すべき」という制約がなくなるし、外部のCIサービスを使うこともすぐに使えるようになるはず。
ワイワイ!これはFluentd Advent Calendar 12日目の記事です。
私は現在、VOYAGE GROUPの子会社であるZucksというところで、Zucks Adnetworkという広告配信サービスを作っています。で、その中でFluentdが活躍しているよーという話をしてみます。事例紹介ってやつです。
Zucks Adnetworkは、いわゆる広告配信サービスです。
広告配信サービスは配信した結果を何らかの形で集約して、よーするにお金がどうチャリンチャリンしてるかを確かめる必要があるわけです。その一つのやり方として、「配信結果を1件ずつ行分割したテキストファイルの出力しておいて、そいつをいい感じにまとめて、数え上げる」みたいな方式があって、つまるところ、私たちはそうやってます。
2年経ったらなんとなくまとめる流れがあったので、それに習い、2年間を振り返ってみます。
入社当時の配属先。当時は@ajiyoshiがリード、1ヶ月前に入社していた@brtriverがグリーンバンドをしていたのが印象的だった。
管理系はPHPで書かれており、まともに触るのは初。最初はWindows上でなんとかしようとしたが、すぐに諦めてUbuntu on VMWareにした。本番サーバはCentだったけど。「共通の開発環境」みたいなのを用意してくれていて、アプリケーションはそれぞれ独立していたがDBは共用していて(これもそのうち解消したはず)、隣の人のデータを壊したりしていた。まーそれでも、聞けば答えてくれる人たちが周りにいたので、とりあえず仕事をすることが出来た気がする。立ち上がりはかなりゆっくりで、初回のコミットは4週間後だった記憶がある。