たごもりすメモ

コードとかその他の話とか。

mrbgemをビルドしてテストを手元で走らせる(2017年版)

mrubyを使っていたところ、あるmrbgemが思った通りに動かなかったとする。あなたはまず真っ先に自分のコードを疑い、次にmrbgemの挙動を疑うであろう。 しかしmrbgemにはテストが十分に書かれていないかもしれない。ので、自分でテストケースを追加して手元…

ISUCON7予選で敗退した

あー、負けたー。「Asakusaの方から来ました」というチーム名で、Asakusa.rbでよくいっしょする @joker1007 さん、および @yancya さんと出た。最終結果は111400くらい? ただし20時*1を過ぎても4〜6万くらいをうろうろしてて、最終的には20:10頃に入れた変更…

Javaのリリースサイクル変更により Oracle JDK が一般ユーザに提供されなくなるのではという話があったけど誤読ではないかという話

雑に書くぞ!Faster and Easier Use and Redistribution of Java SE | Oracle Java Platform Group, Product Management Blogこのエントリを読む限り、Oracle JDKのダウンロードが商用サポート契約者にのみ限られる、という話は書いていない。 The Oracle JDK…

Rubyで try-with-resources (あるいは with/using)をやりたいという話

前のエントリで書いたうちに入っていたが、Rubyでも try-with-resources (あるいはPythonで言う with やC#で言う using)が使いたいなー、という話。Feature #13923: Idiom to release resources safely, with less indentations - Ruby trunk - Ruby Issue T…

RubyKaigi 2017で広島に行ってきた&しゃべってきた

いやー、よかったですね。旅行としても楽しかったし、いいカンファレンスでしたね。rubykaigi.org自分が出したTalk proposalも通ったことだし、わいわいと広島まで行ってきた。非常によくオーガナイズされて会場では快適に面白い話ばかりえんえん聞けるし、…

Stream Processing Casual Talks 2 にいってきた & しゃべってきた

開催されたので参加してきた。 ついでにちょっと前に社内でのやりとりで思い付いてそのまま温めてたアイデアがあったので形にしてしゃべってみた。connpass.com しゃべってきた Perfect Norikra 2nd Season from SATOSHI TAGOMORI 社内でしゃべってたのは、…

System.nanoTime() をJMockitで乗っ取る

Javaでミドルウェアなど書いていると必然的に内部でタイマーを作ったりすることになってその制御に System.nanoTime() とかを使うことになると思うんだけど、じゃあテストどうしよっかと思うと、テストでは、まあ好きなタイミングで時間を進めたり好きなとこ…

okhttpで非同期リクエストを実行するとき実行スレッドはどうなっているのか

複数のホストに並行してHTTPリクエストを送るコードをJavaで書く必要があって、Undertowをサーバに使ってるんでUndertowの http client でもいいかなーと思ってたんだけど、okhttpにも非同期リクエストの機能があるみたい。ただパッと見て実行スレッド数の設…

EmacsでJava開発をする @ 2017

お仕事でそれなりにまとまったJavaのコードを書くので、ちょっと真面目に手元の環境をアップデートしようと思ったらいろいろあったので、メモを兼ねてまとめる。なお手元の環境のアップデートにともない、次のエントリを大きく参考にさせていただきました。…

「そのデータ分析基盤、作るか? 使うか?」という話をしてきた

ファンコミュニケーションズさんが自社オフィスで勉強会をはじめるということで、第1回でしゃべりませんかというお誘いを受けたので参加してきた。お誘いありがとうございました!eventdots.jp内容はどうしようかなと思ったんだけど、相談してみたら過去のこ…

プログラミングを始める動機はどこにあるのか、の話

あるいは「高校生からはじめるプログラミング」の話。こちらの本をKADOKAWA様からいただきました。ありがとうございます。なぜ自分に……*1などと思わなくもなかったけど、ありがたく眺めさせていただきました。今となってはこういうガチ初心者向けの教本を眺…

CloudNativeCon Europe 2017に行ってきた&しゃべってきた

うぎゃあ、これ今年の初エントリなのか。なんてこった。で、FluentdがめでたくCNCF (Cloud Native Computing Foundation)に加わって初めてのCloudNativeConなので、Treasure DataのOSSチームで都合のつく人みんなで参加してきたというやつ。前夜祭的なところ…

2016年を振り返ってみる

2016年のblogエントリを眺めてみたら13本、めっちゃすくなかった……。年の前半くらいで済むかなと思ってたFluentd v0.14のコード書くのにとにかく1年中かかりっきりになっていて、ほとんどそれだけしかやらなかった。コードはめちゃめちゃ書いた*1からアウト…

YAPC::Hokkaido 2016 に行ってきた

いやあ、雪がすごかった……。YAPC::Hokkaido 2016 SAPPORO今年からちょっと趣を変えて復活したYAPCが札幌で行われるとのことで、最近Perl書いてないけど話は面白そうだから旅行ついでに行くかーという感じで。今回は発表もなしで、単純に参加者として楽しんで…

RubyConf Taiwanにいってきた & しゃべってきた

RubyConf Taiwan 2016 https://2016.rubyconf.tw/#Satoshi TagomoriProposalを出したら通ったので台湾まで行って参加してきた。3泊4日。旅費は勤務先の Treasure Data に出してもらいました。 日本から近いし時差もほとんどないし、台北市内は交通の便がよく…

専門用語を並べてしゃべる専門家は許せない、という人は愚かである、という話

ちょっと最近腹に据えかねる記事がネットで散見されるので敢えてアレなタイトルで、よろしくおねがいします。 なおこの記事は、自分はソフトウェアエンジニアリングの専門家であるので、そのような領域を大雑把に想定して書かれております。が、たぶん他の専…

ISUCON6決勝を戦って敗北した

ぼーっとしてたら1週間が経過してしまった。先日のエントリのとおりISUCON6決勝に通ったので戦ってきた。チームはもちろん引き続き @joker1007 と @tnmt との3人、チームJingisukan。そして負けた。6位。やったことは色々あったし、それ以上やれることも、や…

CRuby/JRubyで実行可能かつmrubyでビルド可能なコードを書く

msgpack-inspectを作った話に書いたが、このツールはエントリにも書いたとおり rubygems.org に公開されていて CRuby や JRuby でインストール・実行可能である。その一方でバイナリをダウンロードするだけで使えると便利だよねってことで、mrubyでクロスコ…

msgpack-inspect を作った

MessagePackはJSONぽいけどバイナリでデータサイズが小さく抑えられ、またシリアライズ/デシリアライズが比較的高速であるとして広く使われておるところであります。なんか #linedevday にいるせいで口調がおかしいな。が、バイナリなせいでデータを作ったあ…

#ISUCON 6 予選を戦ってなんとか通過した

今年のISUCONはどうするかなあ、出ないのも寂しいけど同僚や元同僚と出るのもなー……とか考えてたんだけど飲みにいった時に声かけてたらうまい感じのチームが結成できたので @joker1007 @tnmt との3人でチームJingisukan*1として出ることにしました。やった!…

RubyKaigi 2016 に行ってきた & しゃべってきた

今年は京都で開催されたRubyKaigi、トーク募集に応募してたものが1件採択されたので、行ってしゃべってきた。RubyKaigi 2016京都ですよ京都。いいよねー。前日入りして飲みにいったり、最終日も泊まりにして飲みにいったりしていた。たのしい。カンファレン…

TCP serverをSSL/TLS化するのに nginx の stream_ssl_module/stream_proxy_module が便利

最近 Fluentd の通信プロトコルまわりをアップデートするためにあれこれいじっている*1んだけど、これはおおむね fluent-plugin-secure-forward がサポートしていた内容を Fluentd 組込みの forward plugin でもサポートしますよ、というものになる。 んで問…

松江市でOSSの話をした & Fluentd meetup をやった

なんか最近プレゼンテーションやった話しかエントリに書いていない……。。。それはともかく、しまねOSS協議会というところから周年記念講演で話さないかというお誘いがありまして、お受けしたので島根県松江市で話してきた。せっかくRuby City Matsueに行くこ…

Stream Processing Casual Talks #1 に行ってきた&しゃべってきた

なんか、やろうぜー、という話になってそのような勉強会が行われたので、参加してた。connpass.com会場&飲食の提供はYahoo! Japanさん。ありがとうございました。面白かった。 しゃべってきた Norikraそのものの話はさすがに今更感あったので、Norikraの大…

LinuxCon Japan 2016に行ってきた&しゃべってきた

LinuxCon Japan、今回は ContainerCon Japanとの併催。サブトラックみたいなのもいくつかあった。 とにかく普段に自分が行くカンファレンスとぜんぜん空気が違ってて、東京都内で行われてるカンファレンスなのに会場の感じとか食事・飲み物の提供とか冷房の…

YAPC::Asia Hachiojiに行ってきた&しゃべってきた

この週末に開催されていた YAPC::Asia Hachioji に参加してきた。2日目は体調崩してダウンしてたので1日目だけだったのが残念だけど、楽しかったー。 yapcasia8oji-2016mid.hachiojipm.org しゃべってきた 普段あんまりプログラミングテクニックそのものにつ…

Fluentd v0.14.0 をリリースした & Fluentd meetup 2016 Summer をやってしゃべってきた

最近めっきり対外的なアウトプットが減っていたのは、ぜんぶこいつのコードを書きまくってたからです。すごい書いた。Fluentd v0.14.0 has been released | Fluentdということで出ました、Fluentd v0.14.0。だいぶいろいろ良くなってるはずだけど、そのあた…

Fluentdの設定ファイルを快適に記述するたったひとつの正しいやりかた

Emacs で apache-mode を使おう!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Travis CI で目当ての言語バージョンとOSの組合せを指定する

世の中のみんなは今日も頑張ってOSSのミドルウェアを書いていることと思いますが、そんな我々に欠かせないのがTravis CIというサービスでして、OSSならCI環境を無料で使わせてもらえる! マジで最高のサービスだと思います。日本からだとUSの人達が元気な時間…

GradleでMaven Centralにライブラリを公開する

前にこんなエントリを書いたが、このときはmavenから実行してた。今回はgradleから。参考にしたエントリはいくつかあったけど、ずばりというのがなくてつらかった。あれこれ試して組み合わせた。はじめてのmaven central 公開 - たごもりすメモあとMaven Cen…