D-7 <altijd in beweging>

Day to day life of a Perl/Go/C/C++/whatever hacker. May include anything from tech, food, and family.

2015年09月

初めてISUCONに参加してきた。ちなみに初めて櫛井さんが主催するイベントに参加してみた。

チームメイト達は何回も素振りという名の練習をしていたのだけど、こちらは家族サービスで鴨川シーワールドに行ってたりして一回練習しただけ。GCPは普段から慣れ親しんでるのでその辺りもあって余裕ぶちかましてましたね!

当日は朝からdotsに陣取り、自分は黙々とコード書いてた。最後に会心の一撃で1400点台から6000点にあげた以外は特にすごい事はできなかったなぁ。トップページが重いのはわかってたけど「その前にやることあるだろ」精神で他のところチューニングし始めたの、時間配分的には間違ってたね。

実装はPerlでデータセットを先にmmapファイルに展開する方式でがんばってやってみました。最終的に会心の一撃はSQLをチューンするより「リクエストごとにKVS的にデータをがっともってきてオンメモリ展開した上でSQLの結果をPerlでフィルタするほうが効果がある」という面白い感じだった。絶対仕事だったら書かないコード書いたぜ…

基本1台のサーバーでデータをシェアすることを考えるとGoで書けばもう少し楽だった気もした。node.jsもだけど、これらの実装がなかったり不完全な形で提供されていたのは楽なプラットフォームを最初から潰しておいたのではないか?という邪推が働いたりもした(多分手が足りなかっただけと思うけど!)

反省点としては実装云々より、やっぱり勝ちを狙いにいくなら鬼の司令塔(fujiwara氏とかkazeburo氏的な)人が一人いるほうがよさそうだなー。「どう実装するか」より、「ここを集中的に、こういう方式を避けつつ調整しましょう」と断定してくれる人がいると時間制限のある作業には良い。ちなみに最後の会心の一撃もuzullaさんが残り1時間半くらいでそういう感じの事言ってくれて「なるほど!言われてみればそうだ」という事で実装したら結果が出たという感じだった。

また参加するとしたら とにかく8時間とか1台とかの制限がきついので、二泊三日で500台くらいのサーバーかコンテナを使う大会だったらもっといいな(やー、むちゃくちゃ言う参加者がいるし、イベントの主催って大変だなー!w)

というわけで初参加、楽しかったです。
    このエントリーをはてなブックマークに追加 mixiチェック Share on Tumblr

大分迷ってしまったのでメモ。
 
type Foo interface { ... }
type Bar struct {...} // implements Foo
type Quux struct {
    A int
    B string
    C Foo
}

これをjson.Unmarshalでデコードしようと思うとするとQuux.Cをデコードするところで「どうやってGo Valueにするのかわからん!」ってGoに文句言われた。ちなみにgo 1.5
続きを読む
    このエントリーをはてなブックマークに追加 mixiチェック Share on Tumblr

今回YAPC::EUに行き、実に24年ぶりに スペインの地を踏んだ。スペイン最高だった。ありがとう、HDE Inc!

で、今回流れで自分はスペイン語わかっている人w という形で参加してきたのだけど、そのあたりについて思う事をつらつらと書いてみたい。イベントレポート的なのはこちらからどうぞ

DSC_0073


前提条件として自分はポルトガル語は最初ネイティブとして喋れていたが、小学校低学年で一度全てを忘れ、そのあとは中学校くらいでアメリカンスクールに行きながら第2外国語としてポルトガル語を学ばせられつつ高校卒業までその調子だった。つまりポルトガル語はまぁぼちぼち喋れるし、多分生活はできるけどそこまで喋れない、という感じ。

そういう状態で今回スペインに行き、せっかくなので可能な限りスペイン語を喋って見ようと試みてみた。さらにいえば
、最終的に英語に戻ってしまうとしても、とりあえずは現地語でコミュニケーションを試みているという事は相手の懐に入るのによい方法だと思っているので頑張ってみた次第。日本で海外の人に「ありがとう!」って言われると「サンキュー!」より若干だけどいいと思うのです。それと同じでとにかくスペイン語でやれるだけやってみた

DSC_0086


で、結果的にはだいたいコミュニケーションはとれてたと思う。もちろん行った先がグラナダという観光都市だったので向こうが外国人に慣れていた事もあるとは思う。

日本から来ていた他の参加者達には「ボチボチわかるよー」と言っていたわけですが… もちろん言われている事もだいたいわかるし、まぁ一通り伝えたい事は伝えられる。だけど、これは「意思疎通ができる」という意味であって、「ちゃんと喋れる」というのとは違う。ポルトガル語を理解している身からするとスペイン語は日本の標準語とズーズー弁くらいの差なんだけど、別にポルトガル語でさえ現時点ではネイティブレベルでは喋れないし。

というわけでポルトガル語がネイティブレベルじゃないのでかなりあやふやなのに、それをさらにスペイン語に変換するという作業をしながら話すわけなので決してみなさんの思ってるレベルで会話できてるわけじゃないんですよね。だいたいこの辺だろ、という言葉(動詞だったら原型)をひねり出して、適当に活用したりスペイン語っぽい発音で言うと相手が反応をくれるからあとはそれに対応する、ということをしてるだけ。相手が理解してくれたら理解した顔してくれるし、分からなければ「むむ〜?」という対応が来るからその場合はもう一回同じことを繰り返したり何か関連しそうな言葉をひっぱりだしてきてもう一回トライしている、というのが真相です。

でも仕事をするとか、哲学の議論をするとか言うレベルでなければ こんなもんでいいんですよ。買い物やレストランのオーダーだったら「どれが欲しい」「個数」「値段」がわかればいいだけだし。あとは堂々としてればなんとかなる。

ちなみに最後の最後に午前5時台に乗ったタクシーにパスポートを忘れるという大失態を犯しましたが、そのあと来たタクシーの運転手さんに「今285番のタクシーに忘れ物したから呼び出してくれ!」ってブロークンスパニッシュで訴えたら呼び出してくれて10分後くらいに運転手さんが戻ってきてくれてことなきを得た。戻ってきた運転手さんには"Eu te amo!"とポルトガル語(ははは)で喜びを伝えたがわかっていただけました。やばい事態でブロークンな言葉しか喋れなくとも意外となんとかなります。

とりあえず欧米文化圏でぼちぼち意思疎通できるようになるにはとにかく「二つ」言葉を覚えると良いと思いますよ。ラテン語系の言葉とゲルマン系の言葉知ってると最強だと思う。どこ行ってもなんとなく生きていけるはず。

DSC_0057


おまけ:ちなみに今回日本からのみなさんと夕飯を食べていてひとつだけ不満だったのはおいしいご飯のあとデザートとコーヒーを最後に嗜むという文化が日本に存在しなかった という点であったw や、日本だったら俺もそうなんだけど、スペインだからなーーーーー! 

とは言え、みなさんを付き合わせるのもあれなので、みんなが↓お土産店を見ている間にこの店の向かいにあるCafeteria Lisbonという店に一人でさっと入り、さっとエスプレッソを頼み(そして砂糖をたっぷり入れ)、さっと飲んで帰ってきたので最終的には満足した。

DSC_0082


 また近いうちにイベリア半島に行きたいなぁ。やっぱり自分のルーツの何分の一かはあそこにある。
    このエントリーをはてなブックマークに追加 mixiチェック Share on Tumblr

このページのトップヘ