たごもりすメモ

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

2013-01-01から1年間の記事一覧

2013年を振り返ってみる

今年はよくコードを書いたなあ、という気がする。OSSな年だった。個人の感想です。 Fluentd 今年はプラグイン等を書いた数はさすがに落ち着いた、けどpullreqをよくもらうようになって、人のコードを見る機会が増えた気はする。 今年新規に作ったのはこれだ…

hiveserver2 使いはじめのハマりどころの話

いくつかメモる。盛大にハマった。 metastore hiveserverとmetastore serverとhiveserver2で設定分けられないんだけど、というケース。単に以下の設定があればなんとなく動く。 <property> <name>hive.metastore.uris</name> <value>thrift://hiveserver.local:9083</value> </property> これがあれば hiveserv…

serverspecのアーキテクチャ

serverspecは以下のようなソフトウェアですね。 サーバがどのような状態かをRuby DSL(RSpec記法)で記述する 記述されたspecの状態になっているかどうかをチェックする チェックはローカルマシンに対して行われるか、もしくはSSHを経由してリモートサーバに対…

RPCメソッド一覧から見るhiveserverとhiveserver2の違い (と、ついでにPresto)

手元でいいかげんhiveserver2に移行しようと思いまして、移行するためには shib をhiveserver2に対応させなきゃならん、ということになるわけです。 で、実装する前にどうせ調べるから、ということでhiveserverとhivesever2は何が違うのかをRPC APIメソッド…

自家製 td-agent のrpmをつくる

自社サービスの運営のために fluentd を使っているとrpmでインストールできる td-agent が大変便利だ。便利だが、自社内で使うんだから、もう最初から自社用の設定とかその設定に必要なプラグインとか入っててほしい。そんで yum install td-agent をサーバ…

tagomorisとDMM.comのはなし

前にこんなblogエントリを書いた。 dmmのエンジニアと話をしてみたいという話(追記あり) - たごもりすメモこのエントリ、Cassandra Casualという勉強会でCassandraのようなそうでないような話を聞きながら、しかもビール2本飲んだ状態で書いたものだった。書…

Fluentd Casual Talks #3 開催してきた&しゃべってきた

Fluentd Casual Talks #3 : ATND開催しました。いつもながら会場を :DeNA さんにお借りしまして、いつもいつも大変お世話になっております。ありがとうございました。160人の募集に対して応募が最終的には200人弱、会場には定員の7割を超えるくらいは来てた…

scalar context において sort の挙動は未定義

この問題についてなんですがね。 http://search.cpan.org/dist/Perl-Critic/lib/Perl/Critic/Policy/Subroutines/ProhibitReturnSort.pmまあ未定義っつってもどうせリストの要素数返すんだろ! そう思っていた時期が俺にもありました。 試す とりあえずこう…

カスタマイズ済みのApacheログ書式もパースする Apache::Log::Parser の話

さて、Perlといえばテキスト処理、テキスト処理といえばPerlですね。そしてこのビッグでデータな現代においてテキスト処理といえばログの処理に決まっています。 ログの処理といってもいろいろですが、もちろん強く逞しく生きる現代っ子の我々は以下のような…

実行中のRubyプログラム中で自分自身を動かしているrubyのパスを取得する

何が嬉しいんだそれって言われると、うーん、rbenv/rvmなんかの影響を無理矢理外すために環境変数とかをいじった上で自分自身を起動しなおしたかったからんだけど、あっやめて石を投げないで、そんなマイナーケース知るかって、あっ、 RbConfig モジュール …

Fluentdとはどのようなソフトウェアなのか

Fluentd というソフトウェアがある。日本国内ではそこそこ話題になってきたが、何ができるのか、何に使うと嬉しいのか、何に使えるのか、という点について詳細をよく知らないという人もおそらくまだ多いことでしょう。 なので、簡単にまとめる。http://fluen…

Monitoring Casual Talks in Kyotoいってきた&しゃべってきた

京都でモニカジが行われるらしい、と聞いたときにたぶんあんまりクルマ乗ってなくて、ひさびさにロングドライブがてら行くのもいいか、とつい思ってしまい参加登録してたので、いってきました。紅葉シーズンの京都で宿が取れなかったときはどうしようかと思…

MySQLにおいて真とされる値を調べた

このエントリはMySQL Casual Advent Calendar 2013の1日目の記事です。 はじめに SQLを書くとき、普通は where でその処理が対象とする行を絞り込みます。要するに where 以下が真である行が対象になるわけですね。簡単には以下のように書きます。 DELETE FR…

Ruby 2.1.0-preview2 で #fluentd (というかmsgpack)は動きません

このチケット(既にclosed)の関連なんだけど。http://bugs.ruby-lang.org/issues/9106Ruby 2.1.0-preview2 で gem install msgpack すると、ビルド&インストールされたgemのディレクトリにおいて lib 以下にビルド済みバイナリファイル(*.so や *.bundle)が…

Ruby World Conference 2013いってきた

毎年島根県松江市で行われているらしいとかねてより聞いてはいたイベント、聞きたいセッションがあったので参加してきた。実家が松江市で、ちょっと帰省しておきたい事情が重なったのも決定を後押しした感あったけど。かなり後になって参加を決めたので特に…

最近の多言語対応User-Agentパーサライブラリ woothee について

User-Agent文字列を parse メソッドに食わせるとparse結果がハッシュで返ってくる、というたいへん単純なライブラリ woothee を作って細々とメンテナンスしてましたが、最近たまに使っているという話を目にするようになりました。嬉しいなあ。使ってる人は教…

isucon3本戦いってきた&勝ってきた! #isucon

isucon3の本戦にLINE選抜チームとして出た。ガッカリな感じだった予選時の状況はこちら。isucon3予選参戦の記録 - tagomorisのメモ置き場引き続き @kazeburo @sugyan @tagomoris の3人チーム。 ざっくりまとめ みんなこれまでこんな楽しいイベントに参加して…

Cloudera World Tokyo 2013 行ってきた&しゃべってきた

Cloudera World Tokyo 2013で登壇する機会をいただいたので行ってきた。Cloudera World Tokyo 2013 | Cloudera Japan しゃべってきた しゃべる方は最近作ってるNorikra……の話だけだとなんでCloudera World Tokyoだということになるので、集計処理をSQLに一本…

Norikra v0.1.0 released!

RubyKaigiから5ヶ月くらい経ってますが、ついにというか、Norikra v0.1.0 をリリースしました。http://norikra.github.io/ https://rubygems.org/gems/norikra https://github.com/norikra/norikra知らない人向けのソフトウェアの詳しい紹介はまた後日に別途…

isucon3予選参戦の記録

isucon3の予選に参加してきた。本戦には共催の1社、LINEの選抜枠として参加が決まっているんだけど、なにしろこれまでisuconというイベントに参加したことがない! ということで、最終結果から除外されるのはわかってたんだけど練習として参加してみよう、と…

最速でisucon3本戦への出場を確定しました!

共催の会社勤務なので選抜枠もらって本戦への出場が誰よりも早く確定しております。やったー! ※ この記事は言うまでもなく冗談です

Review: Instant Apache Hive Essentials How-to

突然英語でメールがやってきてレビューしてくれないかと頼まれ、面白そうだから引き受けて読んでみた。日本語でしかレビュー記事書かないけど大丈夫? と確認したら大丈夫だといって電子書籍データをもらいました。すごいことやってる会社があるなあ。イギリ…

ruby 2.1.0-preview1 を fluentd で試してみた (追記あり) (再度追記あり)

2.1.0-preview1 が出た。RGenGCはそのロジックがいかにもFluentdにジャストフィットしそうなので期待していた。あとGCまわりも含めあれこれ変わってるので、使うと事故るなら早めに確認しておこうかな、という感じ。 確認したノードは以下の2種類で1台ずつ。…

YAPC::Asia Tokyo 2013 にいってきた

今回は自分のトークは無し、LTも応募するつもりなくそのまま参加してきた。いやー自分のトーク無いとあんなに開放感に満ちたイベントだったとは……。 前夜祭 冗談はともかく、前夜祭でたいへん良い気分で酔っぱらってた*1ので、そのままえいやと Norikra の話…

Fluentd Config DSLについての話

Fluentd に Config DSL を導入しろや! つまり設定をRubyのコードで書かせろや! という声は前から多かった。が、なんかいろいろ面倒な思惑が交錯し、あと「設定ファイルにrubyのコードでcallbackとか書いてプラグインの挙動を制御したい!」とか更に面倒な…

JRuby+Thorで-Xmx指定したりdaemonizeしたりする

JRuby 1.7.4でのお話。JRubyでなんらかのサーバプログラムを作ろうと思うと、やることはいろいろあるが、とにかくヒープ容量 -Xmx2g みたいなのを指定できるようにしないとお話にならないし、だいたいデフォルトだと client VM になってしまう。普通のjavaだ…

他人より優秀でありたい自分にとって大切なことのすべて:読書感想文「シークレット・レース」

「シークレット・レース」という本がある。日本語で文庫で読める。本当にすばらしい本だ。自転車ロードレースが題材のノンフィクションだが、自転車を趣味にしていなくても、おそらく物凄く楽しめると思う。自転車で走っていて、あるいはちょっとした坂を登…

Fluentd v11移行を前に自分がAuthorのFluentd pluginについて

ぶっちゃけ一人で全部移行とか無理!!!!!!!あと自分で使ってないのとかもあるので、メンテナ(&v11へのポーティング)を引き受けてくれる人を絶賛募集中です。v10の今から持っていっていただいて全く構いません。どうかよろしくお願いします。 まあ単純…

Javaの Class.forName() メソッドを経由してJRubyで定義したclassを取得する方法は無いものか(追記あり)

JRuby経由でEsperを使ってるんだけど、そこにこんなコードがある。 String className = desc.getFunctionClassName(); Class clazz; try { ClassLoader cl = Thread.currentThread().getContextClassLoader(); clazz = Class.forName(className, true, cl); …

fluent-plugin-secure-forward v0.1系のお話

前に作ってえいやでリリースしてから「メンテナ募集!」で放置されていた fluent-plugin-secure-forward ですが。#fluentd Casual Talks #2 やってきた&fluent-plugin-secure-forwardの話 - tagomorisのメモ置き場手元で用途無いからもうこれ以上やらないよ…