KMC春合宿2018での発表資料です
リトライを肴に一晩酒が飲める古橋です。 大規模なデータに触れることが日常茶飯事になっている今日この頃。この分野のおもしろいところは、いつまで経っても終わらないプログラムを簡単に作れてしまうことかもしれません。エラー処理、リトライそして冪等性*1の3つを抑えていないプログラムは、小規模なデータなら問題ないが、データ量が多くなると使い物にならなくなる可能性が大です。 大規模データをバッチ処理するケース以外でも、リトライは一般にプログラムの信頼性に関わる重要な問題です。 そんなわけで、リトライに関わるいくつかのデザインパターンを、連載でまとめておこうと思います*2。 では、第1回は背景から: なぜリトライが必要なのか プログラムは色々な理由で失敗する。例えば、 A) 通信先のプログラムが高負荷すぎて応答できなかった B) メモリを消費しすぎてメモリ確保に失敗した。またはOOM KIllerに殺さ
C や C# そして Ruby や Java などでは、実数を整数に丸める際、 単純にキャストしますと切り捨てますが、 round 関数で丸める際に、挙動が異なります。 Python: Ruby: C#: (自作のシェル経由でごめんなさい) C や Ruby, Java では四捨五入がデフォルトで行われますが、 C# では、銀行丸めがデフォルトで行われます。 正式名称は 「最近接偶数への丸め」と言いますが、 「銀行丸め」のほか、「JIS丸め」「ISO丸め」とも言われます。 [Wikipedia の解説記事] JIS丸めとは? http://homepage1.nifty.com/s_miyake/hp/jisround.htm JIS Z 8401 http://www.jisc.go.jp/app/pager?id=94037 上の記事の文章を用いて、簡単に説明すれば、 N桁で丸める場合
Kyoto.pm町家ハッカソンの懇親会のときに id:hitode909 に音を出すプログラムを書くときに参考にしている本について聞かれた。だいたいネットの情報で済ませているのでネットで済ませていると答えたのだけど、本屋に行くとすぐに本を買ってしまう癖があって、持ってはいるので書きます。下にいくほどプログラムと関係なくなっていきます。ほとんど読んでいないです。適当に列挙してみたら思ったより多かった。 C言語ではじめる音のプログラミング http://www.amazon.co.jp/dp/4274206505 ディレイとかコーラスとかのエフェクター本。プログラムが書いてあるので分かりやすい。でもwavファイルを読み込んで加工して書き出すみたいな感じなのでリアルタイムに連続的に入力を加工したいときは工夫が必要。アルゴリズムは低速な感じ。 C/C++によるディジタル信号処理入門 http://
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く