タグ

ブックマーク / tagomoris.hatenablog.com (34)

  • 最近の多言語対応User-Agentパーサライブラリ woothee について - たごもりすメモ

    User-Agent文字列を parse メソッドにわせるとparse結果がハッシュで返ってくる、というたいへん単純なライブラリ woothee を作って細々とメンテナンスしてましたが、最近たまに使っているという話を目にするようになりました。嬉しいなあ。使ってる人は教えてくれると作者が嬉しがります。 wootheeの最大の特徴は多言語対応*1ですが、多言語実装をひとつのリポジトリに埋めてたところ管理がたいへん面倒くさくなったので、最近分離して整理しました。 整理したリポジトリの現在の場所はこちらです。 https://github.com/woothee/woothee そこから各言語のライブラリに向けてリンクがあります。適当にご利用ください。また対応していないUser-Agentなどに心当たりがおありの方はissueなどにご連絡いただけると嬉しいです。 今回、あわせて一部のコード生成部

    最近の多言語対応User-Agentパーサライブラリ woothee について - たごもりすメモ
    mickn
    mickn 2013/11/19
  • 本番環境でのperl/ruby/nodeのセットアップ - たごもりすメモ

    番環境にperlとかrubyとかnodeを入れるんだけど、もちろん system perl じゃやってられないので指定したバージョンのものを一般ユーザの管理下に突っ込みたい。 で、そういうのをこれまで perlbrew とか rvm とか rbenv とか nvm とか nodebrew とかでやってたんだけど、さすがに色々疑問が湧いてきた。バッチで単発実行するために eval "$(rbenv init -)" とかさすがにおかしくね? みたいな。 ということで tokuhirom method 的にインストール用の簡単コマンドを使って実行、あとはパスを通せばいいじゃん、ということにしようかと思う。 参考: サーバーのセットアップは perlbrew とかじゃなくてよくね? という時のライフハック - blog.64p.org これ、今朝までは Perl::Build をどうにかしてC

    本番環境でのperl/ruby/nodeのセットアップ - たごもりすメモ
    mickn
    mickn 2013/03/26
  • MessagePackのIETFへの提案に関する困惑 - たごもりすメモ

    MessagePackというオープンソースプロジェクトの現状と IETF による標準化について、それが果たして正しいのか、と困惑せざるをえない事態が起きているので、それについて簡単に書く。何が起きているのか知らない人々に少しでも知ってもらえたら嬉しい。 なお、自分はMessagePackのユーザであって開発者ではない。MessagePackを使ったコードを書いて動かしているが、MessagePackそのもののデータフォーマットについて詳細まで知っているわけではないし、MessagePackの改善については特にいいアイデアを出せる気もしない。 現バージョンのMessagePackについてとりたてて不満はなかったが、最近文字列型を加えよう、あるいはもっと楽に文字列を扱えるようにしよう、という話が出てきた。JSON的に楽に扱えて更にバイナリデータを投入できるフォーマットの需要そのものは理解できる

    MessagePackのIETFへの提案に関する困惑 - たごもりすメモ
    mickn
    mickn 2013/03/01
  • fluent-plugin-parser supports LTSV! - たごもりすメモ

    乗るしかない、このビッグウェーブに! Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog LTSVフォーマットなログを fluentd + GrowthForecast で料理 - naoyaのはてなダイアリー Text::LTSV - naoyaのはてなダイアリー LTSV が行指向な Key-Value フォーマットで捗る話 - naoyaのはてなダイアリー ということで fluent-plugin-parser で 'format ltsv' をサポートし v0.2.0 としてリリースいたしました。 fluent-plugin-parser | RubyGems.org | your community gem host tagomoris/fluent-plugin-parser · GitHub あるキーがLTSVな

    fluent-plugin-parser supports LTSV! - たごもりすメモ
  • Operation Engineers' Casual Talks にいってきた&しゃべってきた - たごもりすメモ

    主にOperationをやっている人達もコード書かないといけないのかな? というあたりについて話さないかというお誘いがあったので受けてしゃべってきた。 http://atnd.org/event/operationcasual 「おぺかじ」まとめ - Togetterまとめ 慣れないハイ意識トークだったが、いちおう遺漏なく終えられた。ストレスなくやれたし聞けたし、大変良かったと思います。主催の @studio3104 さん、会場提供のニフティさま、ありがとうございました。 個人的には、反応が見られたのは要するにいつもの人達ばっかりで、その他の人々がどう思ってたのかがまったく分からないのがちょっとさびしい。どう思ったか、少しでもTwitterBlogで見られるといいんだけどなあ。とにかく多くの人に聞かせたい、というところはクリアできているので、あとは待つしかないんだけど。なむなむ。 しゃべ

    Operation Engineers' Casual Talks にいってきた&しゃべってきた - たごもりすメモ
    mickn
    mickn 2012/12/17
  • さくら石狩DC見学ツアーに参加してきた - たごもりすメモ

    聞いたところによると40名の枠に150名の応募があったらしいが、幸いにも参加できたのでいってきた。 最新鋭データセンターの施設に萌えるべき! さくら石狩DC見学ツアー - はてなニュース 人生で初めて北海道に行ったんだが、正直に申し上げてめちゃくちゃ楽しかった。ありとあらゆるものに価値があった。見たものも聞いたこともべたものもすべてすばらしかった。DC見学もその前後もすばらしく丁寧にご案内をいただいた。 さくらインターネット様、特に社長の田中さんと広報の櫻井さん、またはてなやJTBの皆さん、当にありがとうございました。 と、忘れないうちに御礼まで書いたので、あとは適当に見たものや聞いたことについて書く。こと細かなことは誰かが書くだろうからそれを見てもらうとして、印象に残ったことをあれこれ。写真は自分で撮ったものと、ツアー主催側から提供いただいたもの。 石狩DCまわったあれこれ 着いたら

    さくら石狩DC見学ツアーに参加してきた - たごもりすメモ
    mickn
    mickn 2012/11/20
  • DeNA x livedoor 合同勉強会でしゃべった - たごもりすメモ

    なんか新宿を離れる前にやっとこうぜ! という話があったらしくて昨年末に企画が立った*1合同勉強会に参加してた。 聞いた内容と懇親会の内容については社内イベント的なものなので詳細は省くとしてスゲー楽しかった。またやりたいですね! しゃべってきた で、そこでしゃべるがよいと水を向けられたので、ここのところやってきたことについて話してきた。 LDeNA 峠とログ収集・集計の話 View more presentations from tagomoris いま絶賛稼動中(でいろいろ問題あって調整中)のfluentdクラスタの話、というよりは、そこに至るまでの試行錯誤について。こういう話はもう外でする機会もあんまりなさそうだったので簡単にまとめた。峠の話は社内システム(自分が作ったものには峠の名前がついている)の由来についての前振り! Fluentdクラスタの話は今週末のFluentd meetup

    DeNA x livedoor 合同勉強会でしゃべった - たごもりすメモ
    mickn
    mickn 2012/01/30
  • ネットワークの遅延について真面目に書く - たごもりすメモ

    遅延(レイテンシ)とはなにか? - はてなポイント3万を使い切るまで死なない日記 この記事に果てしなくテキトーなことが書いてあってこれを真っ向から信じられると大変迷惑なので、こと細かに真面目に書くことにする。 ……つもりだったが、なんか果てしなくめんどくさくなったのでテキトーに書き散らすことにした。大学の教科書にそのへん詳しいのがいくらでもあったのに、見付からねーし。どこいったんだ。 信号の伝送速度について まず光速度 3.0*10^8 m/s というのは真空中の値*1であって、光ファイバや電線の信号伝送速度はもっと遅い。一般的には光ファイバが 2.0*10^8 m/s 程度とか言われていて、電線についてもモノによってあれこれある。詳しくは波長短縮率とかの単語でググれ。ざっくりとでも30万キロとか恥ずかしいことは言うな。 またどんな距離の都市間でも直接接続できるわけではない。500kmくら

    ネットワークの遅延について真面目に書く - たごもりすメモ
    mickn
    mickn 2011/01/12
  • 追記型O/R Mapper "Stratum" を公開した(公開しただけ) - たごもりすメモ

    仕事で作っているアプリ用に書いたO/Rマッパのライブラリ、隠してても何の嬉しいこともないので、社内に置いてたgitのリポジトリをgithubに移した。さすがにもう機能追加の必要もなくなってきたなーという段階になったので。 https://github.com/tagomoris/Stratum ライセンスは Apache License v2.0 としました。なにかしたい方はお好きにどうぞ。READMEとか書き中。 何のためのもの? 世の中にORMなんていくらでもあるのになんで書きはじめたんだ、ということですが、要するに以下の理由です。 誰が、いつ、どのようにデータを追加・更新・削除したのかをすべて残す そのような履歴データに簡易にアクセスする 最近監査とかなんだとかうるさいですからね。 で、こういう条件をきっちり満たしたアプリケーションを普通のORMを使って書くというのは存外に面倒。全デ

    追記型O/R Mapper "Stratum" を公開した(公開しただけ) - たごもりすメモ
    mickn
    mickn 2010/11/15
    なるほど、こういうのを作ってたのか
  • ソースコードビューア GlassDolphin for iPad/iPhone 本当に完成!(しかしreject) - たごもりすメモ

    前々から作成していたソースコードビューア "GlassDolphin" ですが、先週の土曜(8月21日)に完成の末、AppStoreの審査についに提出いたしました! 以下並べるのがAppStore用のスクリーンショットです! ですがrejectされました! もうしばらくお待ちください。 orz まあそれだけではなんなので、まず簡単に。 rejectの理由になったのは、調査したところSDKに含まれる libarchive.dylib の使用によるもののようです。これはSDKに含まれるがOS APIマニュアルには載っていないもので、まあアウト判定されたら文句の言えない範疇のものではありました。zip/tar.gz/tar.bz2の展開はこのライブラリに頼っていたため、アプリの基機能の動作に問題が出ました。このままリリースしても、展開できないアーカイブファイルをダウンロードするだけの面白アプリ

    ソースコードビューア GlassDolphin for iPad/iPhone 本当に完成!(しかしreject) - たごもりすメモ
    mickn
    mickn 2010/08/25
  • テストケースのベースクラス GAETestBase を作った - たごもりすメモ

    前に書いた記事からはやくも半月たってしまったが、やっと出してもいいかなという状態になったので公開します。ファイルそのものはこちら。 GAETestBaseはPython標準のunittest.TestCase継承クラスとなってます。ユニットテストを書く際に、通常のTestCaseのかわりにGAETestBaseを継承してユニットテスト用のクラスを作り、あとは普通にテストコードが記述できます。 PythonおよびAppEngine SDK以外への依存がゼロで環境を選ばない、はず、なのが売りかな? ところで出来上がったあと公開用の準備をやってたら、GAE/J側ではslim3がkotoriを組み込んだという話が。おおお。 できること CLIでのテスト実行 開発中のテスト実行が、Python標準のunittestと全く同じようにCLIから実行できます テストケース側で指定があれば各サービスはrem

    テストケースのベースクラス GAETestBase を作った - たごもりすメモ
  • GAE/Pythonテスト環境に欲しいもの - たごもりすメモ

    いまPython on GAEのテスト環境の貧弱さをなんとかするべく、あれこれやってる。とにかくテスト環境がショボいんだよね。 App Engine/Pythonはローカルのデータストアのstubの出来が良くないので、ローカルとプロダクションで動きが違うことが結構あり、ローカルでテストできることが限られてしまいます。Javaの方は、Statisticsの機能を除いては、ローカルとプロダクションの動きはほとんど同じです。stubレベルでは、ローカルでプロダクションと違う部分もあったりしますが、Slim3でおなじになるように実装してたりするので、ほとんど違いがないのです。 プロが仕事で使う場合にApp Engineでどの言語を選べばいいのか - ひがやすを blog ぐうの音も出ない! 事実だ! じゃ、プロならJavaを使った方がいいかというとそんなこともありません。好きで慣れている方を使った

    GAE/Pythonテスト環境に欲しいもの - たごもりすメモ
    mickn
    mickn 2010/04/26
  • AppEngine ja night #7に行ってきた - たごもりすメモ

    昨夜のappengine ja night #7 : ATNDに行ってきた。AppEngineいじりはじめてからでは前回の#6は申し込みが間に合わず参加できなかったので、今回が初めて。参加者にはhackathonに参加したりそれ以降Twitterであれこれやりとりした人が大勢。 セッション1: appengineアプリケーションの自動テスト - 最新java sdk版 - ひとことで言うと「Javaばっかりいろいろ揃っててずるい!」。なんでPythonは全く無いのにJavaばっかり……。*1 GAE/J sdkのEnvironmentという仕組みはいいなーと思った。データセットをさくさく切り替えて実行できるのはストレスなくていいよね。ちなみにPython版のdatastore_file_stubでもデータを読み込むファイルを切り替えれば同じことはできる。みんなやってるのかなあ。 あとsli

    AppEngine ja night #7に行ってきた - たごもりすメモ
    mickn
    mickn 2010/04/26
  • 間違ったworkerに配送されるバグの確認 - たごもりすメモ

    とりあえずはてなの中の人が見付けたバグの再現をとってみた。 焦点はBugzillaの40910に該当する問題なのかどうか。 試した設定は以下の通り。全てのバージョンのApacheで(ServerRoot以外)全く同じものを用いている。 以下関係するホスト。 balancer0(192.168.50.10), worker1(192.168.50.11), worker2(192.168.50.12), worker11(192.168.50.111) 各々のホストのDocumentRootには hostname.txt が置いてあって、中身はホスト名が書かれているだけ。 ProxyPass /r1/ balancer://testcluster1/ stickysession=SESSID ProxyPass /r2/ balancer://testcluster2/ stickysess

    間違ったworkerに配送されるバグの確認 - たごもりすメモ
    mickn
    mickn 2007/07/02