2015-08-01から1ヶ月間の記事一覧

Embulk.batのハックについて

WindowsでEmbulkを使う場合はJavaをインストールした上で、Quick startにあるように以下のコマンドでファイルをダウンロードしたものを実行する > PowerShell -Command "& {Invoke-WebRequest http://dl.embulk.org/embulk-latest.jar -OutFile embulk.bat}"…

ConsulのDNSインターフェースから学ぶDNSの基本

ConsulはDNSインターフェースを通してノードとサービスの死活監視の状況を提供することができる e.g. ロードバランスのためラウンドロビンしているノード群を問い合わせ結果として提供するとき、問い合わせ結果からダウンしたノード・サービスを動的に外す D…

YAPC::Asia Tokyo 2015 に参加しました

自分が聞いた2日間の中で良かったトークと、見るべきだったけど見れなかったトークについても載せておいて、次回の教訓にする 単純だけど重要なことは、「直感で見たいと思ったものを優先して見る(なんやかんや深く考え過ぎない)」、「良い人のトークは良…

Rubyブロック・メソッド呼び出し

b2args(1,&pr)というように、実引数のProcオブジェクトに&を付けてb2argsに渡している理由は、b2argsの仮引数に&をつけているため。Procオブジェクトをブロックに変換したものが、b2argsに渡した時点で再度Procオブジェクトに変換される。 yieldは、仮引数の…

Rubyメタプログラミング

ゴーストメソッドを追加。(8/18) オープンクラス、名前無しクラスを追加。(8/15) extend、sendを追加。(8/31) TL;DR classはClassクラスのオブジェクト、moduleはModuleクラスのオブジェクト、である 特異クラスはclass << objectで、あるobjectに特異…

オブジェクト指向におけるポリモーフィズムについて

ポリモーフィズムに関する動作をどうすれば機械的に理解できるのかを考えていて何度も失敗して今に至るのだが、今回こそはと絵を作成してみた。JavaとC++(ほぼ同じ)でコードは絵と対応付けて実装している。 Javaであれば、private関数以外はサブクラスにオ…

ヒープ領域におけるメモリ管理について

プログラマによるマニュアル操作 mallocやnewによってヒープ領域のメモリを割り当てたり、freeやdeleteによってそのメモリを解放したり、といった操作を指す。Cではヒープ領域を扱うために必須の操作となる。 これらの関数や演算子で割り当てたメモリは、そ…