Archive for the ‘PG’ Category

C, C++用テストフレームワーク「Cutter」を使ってみた

最近、仕事で使ってみたCutterというテストフレームワークが使いやすかったのでメモっておきたいと思います。

2014-03-19 14:04:35 · Tatsuya Fukata · No Comments
Tags: , , ,  · Posted in: PG

写真のRAWデータ用にバックアップスクリプトを書いた

カメラで撮影したRAWデータを自宅のファイルサーバに/nas/photos/yyyy/mm/dd/みたいな感じで日付別で保存しているのですが、いつHDDが吹っ飛ぶか分からないのでS3へも日単位でtarでまとめてアップロードしていました。 手動で固めてアップロードしていたんですが面倒になったのでバックアップスクリプトを書きました。

2013-12-27 00:51:48 · Tatsuya Fukata · No Comments
Tags: ,  · Posted in: Perl, PG

Hello Golang cgo c++ World

fukata/golang-cgo_cpp_examples ちょっとgolangからc++のモジュールを呼ぶ必要があったのでメモとしてHello Worldを書いてみた。 また何か必要があったら追加するかも。

2013-12-16 20:47:11 · Tatsuya Fukata · No Comments
Tags:  · Posted in: Golang, PG

EMRのmapper,reducerに引数を渡す

ふと、mapperに引数を渡したくなってどうやって渡すんだろうと考えていてあれこれ考えては試していなかったんですが、何のことはない、普通にいつも通り指定するだけでした。 $ elastic-mapreduce … –mapper "s3n://bucket/path/to/mapper arg1 arg2" これだけのことです。ただ、意外と情報が無かったのでメモっておきます。まぁ、通常は引数なんて渡すことほとんどないでしょうけど。

2013-08-27 23:55:55 · Tatsuya Fukata · No Comments
Tags:  · Posted in: PG

CIUnit-for-CI2のメンテをNEKOGETさんがやってくれることになりました

皆さん、CodeIgniter(以下、CI)覚えていますか?FuelPHPに変わられた終わったFWと思っている方も多いかもしれませんが、使われているところには使われています。(私自身は業務で使用する言語がphpからperlに変わったので使っていません) 自分で使っていないのでPull Requestとか来てもそれが有効なものなのか判断がすぐにつかず、取り込むのが遅れてしまったり大丈夫だろうという軽い気持ちで取り込んでしまったりする恐れがあるため、誰かCIを現役で使っていてメンテやってくれる人いないかな〜とtwitterでつぶやいてみたところ、@NEKOGETさんが快くやってくれることになりました。

2013-08-01 00:58:28 · Tatsuya Fukata · No Comments
Tags: ,  · Posted in: PG, PHP

3日で既存のバッチをEMRに移行した話

先週末から急激にトラフィックが増えて既存の集計バッチ、サーバでは処理できなくなってしまっていたので今週頭から急遽EMRに移すことを決意しました。

2013-07-12 02:08:52 · Tatsuya Fukata · No Comments
Tags:  · Posted in: PG

elastic-mapreduce-rubyで–inputを複数指定する方法

最近、仕事でEMRを使うようになって調べていたことがあったのでメモっておきます。 タイトルの通りなんですけど、elastic-mapreduce-rubyで–inputを複数指定する方法が分からなかったんですが、解決しました。まぁ、こんな感じで単純にカンマ区切りに指定すればよかったというオチでした。 elastic-mapreduce –create –stream \ –mapper s3n://bucket/path/to/mapper \ –reducer s3n://bucket/path/to/reducer \ –master-instance-type m1.small \ –slave-instance-type m1.small \ –num-instances 3 \ –input s3n://bucket/path/to/dir1/*,s3n://bucket/path/to/dir2/*

2013-07-11 06:20:30 · Tatsuya Fukata · No Comments
Tags: ,  · Posted in: PG

Perlでパッケージ名を取得する

社内で使用しているFWに機能追加をする際にパッケージ名を取得する必要があったので、調べてみたところrefで取れるらしい。実際のコードはgistにアップしたので、下記に貼っておきます。

2013-06-19 01:18:41 · Tatsuya Fukata · No Comments
Posted in: Perl, PG

lua-hiredisでcloseしているのにnetstatで確認するとTIME_WAITが大量発生していた件

lua-hiredisを使っていてcloseしているのにabで30000以上アクセスさせてみるとredisに接続出来なくなるということが発生しました。また、netstatで確認するとredisへのコネクションがTIME_WAITが大量に表示されていました。

2013-05-13 03:45:40 · Tatsuya Fukata · No Comments
Tags: ,  · Posted in: PG

luaでのjsonデコードのオーバーヘッドが無視できないレベルだったのでMessagePackを採用したらスループットが3.6倍になった

とあるAPIサーバをluaで実装していたら思うようにスループットが伸びなかったので、デバッグしてみたところ、jsonデコードの部分で遅くなっていた模様。 結果、json4lua -> lua-cjson -> mpluaという風にライブラリを変えてデバッグしてみたところ、mpluaを使った場合が一番スループットが高かったのでjsonを止めてMessagePackを採用したところリファクタリング始める前に比べると3.6倍までスループットが向上した。

2013-05-10 11:07:29 · Tatsuya Fukata · No Comments
Tags: ,  · Posted in: PG