タグ

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

  • EmacsでJava開発をする @ 2017 - たごもりすメモ

    仕事でそれなりにまとまったJavaのコードを書くので、ちょっと真面目に手元の環境をアップデートしようと思ったらいろいろあったので、メモを兼ねてまとめる。なお手元の環境のアップデートにともない、次のエントリを大きく参考にさせていただきました。多謝。 qiita.com なおそれまでの環境は EmacsでJavaを書く - nekop's blog を元にだいぶ前に整備したもので malabar-mode をずっと使ってたんだけど、Java8 Lambdaでインデントが崩れるとかいろいろあってちょっとストレスフルだったのが主なアップデート動機。 環境は OS X El Capitan *1 + Emacs 25.2 で、全面的に MELPA をつかってパッケージ管理やっている。 結論 最終的には ENSIME (の ENJINEモード) を使っている。これでコンパイルエラーを出すとかメソッド

    EmacsでJava開発をする @ 2017 - たごもりすメモ
  • ネットワークの遅延について真面目に書く - たごもりすメモ

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

    ネットワークの遅延について真面目に書く - たごもりすメモ
  • Fluentd v0.14.0 をリリースした & Fluentd meetup 2016 Summer をやってしゃべってきた - たごもりすメモ

    最近めっきり対外的なアウトプットが減っていたのは、ぜんぶこいつのコードを書きまくってたからです。すごい書いた。 Fluentd v0.14.0 has been released | Fluentd ということで出ました、Fluentd v0.14.0。だいぶいろいろ良くなってるはずだけど、そのあたりはこれからv0.14対応プラグインが増えてきたりすると分かってくるかなと思う。ユーザにとっても嬉しい変更が山盛りです。 で、まずそのことをアピールしなければならんということで、Fluentd meetupではがっつりとしゃべってきた。 Fluentd meetup 2016 Summer - dots. [ドッツ] Fluentd v0.14 Plugin API Details from SATOSHI TAGOMORI 元々45分の予定だったのに90分弱くらいしゃべってしまったらしい。すま

    Fluentd v0.14.0 をリリースした & Fluentd meetup 2016 Summer をやってしゃべってきた - たごもりすメモ
  • LogstashからFluentdにデータを転送する - たごもりすメモ

    このエントリはFluentd Advent Calendar 2015の12月25日分の記事です。4日遅れ! で、題ですが、もうタイトルそのまんま、logstash-output-fluentd を作りました。 logstash-output-fluentd | RubyGems.org | your community gem host tagomoris/logstash-output-fluentd · GitHub How to install / use 先日書いたものと全く一緒ですが、いちおう書いておきます。 とりあえずインストール。 $ bin/plugin install ../logstash-output-fluentd-0.1.0.gem Uninstalling logstash-output-fluentd Validating ../logstash-outp

    LogstashからFluentdにデータを転送する - たごもりすメモ
  • YAPC::Asia Tokyo 2015 にいってきた&しゃべってきた - たごもりすメモ

    毎年おなじみのYAPC::Asia Tokyo 2015が今年も行われたので参加した。いやー、たのしかった。 YAPC::Asia Tokyo 2015 しゃべってきた Talk proposalは出してあって、acceptされたというので話してきた。前夜祭。ビール飲みながら発表ができるぞ! ということで、内容はガチでコードの話というよりはもうちょっとだけふわっとした気分で、OSSをどう開発するか、それをどう継続して広げていくか、みたいな話。 How to create/improve OSS products and its community from SATOSHI TAGOMORI 枠は前夜祭……と思ったら、前夜祭のところにはRejectconと書いてあって、えっそうなの、みたいな感じ。まあいいけど*1。思ったよりだいぶ多くの方に聞いてもらえてよかったです。満席になって立ち見も出て

    YAPC::Asia Tokyo 2015 にいってきた&しゃべってきた - たごもりすメモ
  • #norikra meetup 2 をやってきた - たごもりすメモ

    atnd.org いつもながら会場を :DeNA さんに提供していただいて開催できました。当にありがとうございます。 tagomoris in English — Norikra meetup #2 こっちにも書いたので細かいことは省きますが、今回も100名近く? の人に集まっていただいて、今後の機能どうするかなあとか、実運用こうやってるんだなあとか、一人で開発していると得られない当に様々なフィードバックをもらえました。ありがとうございます。 Norikra Recent Updates from SATOSHI TAGOMORI 自分のスライドはこちらで、最近のアップデートで入った機能などについて話しました。NULLABLEとかは便利だと思いますし、Listener pluginについては簡単なコードで劇的にアーキテクチャが変わる可能性があるので、ぜひ試してみてもらいたいです。 また

    #norikra meetup 2 をやってきた - たごもりすメモ
  • Norikra v1.3.0: 大幅なアップデート - たごもりすメモ

    継続的にあれこれアップデートを続けてきているOSSプロダクト Norikra ですが、このたびあれこれ機能を追加したバージョン v1.3.0 をリリースしました。 tagomoris in English — Norikra v1.3.0, more flexible stream processing v1.0.0を出してからあまり個別のアップデートについてエントリを書いていませんでしたが、1.3.0での変更も含めてあれこれ機能および使い勝手が向上していると思います。 Listener pluginの追加*1 クエリのサスペンドとレジューム NULLABLE(field) 指定の追加、フィールドが存在しない場合も強制的にNULLとして扱えるように HUPシグナルによる新規にインストールされたプラグインのリロード*2 Esper 5.2.0 のバンドル そのほかpull requestをい

    Norikra v1.3.0: 大幅なアップデート - たごもりすメモ
  • fluentd v1 configのチェッカを作った - たごもりすメモ

    tagomoris/fluentd-v1-checker · GitHub fluentd-v1-checker | RubyGems.org | your community gem host Fluentdの設定ファイルについてはv1 config という新書式がある。v0.14からはデフォルトでこちらの書式でパースが行われる予定。 ここに @repeatedly さんが書いてるけど、今のうちから v1 config で書いて --use-v1-config しておくと将来的に困らなくてよいと思う。書式的にも綺麗になっているはず。 ところで v1 config といってもいろいろな経緯から、これまでの書式の設定ファイルをぶちこんでもなんとなくパースできるようになっている。値に # とかを含めたいとかでなければ設定を変更しなくても通る場合も多い。 「場合も多い」これが困る。起動してみて動

    fluentd v1 configのチェッカを作った - たごもりすメモ
  • ISUCON4 いってきた&勝ってきた! #isucon - tagomorisのメモ置き場

    連覇だ! ヒャッホウ!!! #isucon 2014で優勝しました - すぎゃーんメモ ISUCON4 で優勝してきました!!! #isucon - blog.nomadscafe.jp 特にkazeburoさんのエントリに最終的な状況についての詳細が書いてありますので、ぜひそちらもどうぞ。sugyanは自分で力不足とか言ってますが、ISUCON戦という場で、業務でほぼ使ったことがないはずのRedisメインのコード改造をごりごりやってちゃんと動かす人なので、チーム外のみなさんは騙されてはいけません。それできるの超すごいんやで。 主催のLINE株式会社、あれこれ提供いただいていたデータホテル改め株式会社テコラス様、問題作成担当 @mirakui, @rosylilly, @sora_h の3氏、当にありがとうございました。たのしかった! だいたいこんなんで 大雑把に時系列の経緯だけ書くと

    ISUCON4 いってきた&勝ってきた! #isucon - tagomorisのメモ置き場
  • NATやファイアウォールの向こうへデータをお届けする fluent-plugin-pull_forward を書いた - たごもりすメモ

    Fluentdにおけるネットワークごしデータ転送プラグインといえば forward が組み込みであるし、通信路を暗号化したければ secure-forward がある。 しかしこれらFluentdのネットワーク転送プラグインは基的に全て送信元から送信先に対してプッシュする形になっており、ネットワーク接続も送信元から送信先に対して行うことになっている。このため送信先のFluentdがNAT下にある場合やファイアウォールで保護された場所にある場合、もしくはダイヤルアップ接続……は、まあ今は無いだろうけど、例えば移動するデバイス上にある場合など、こういったときにはうまくデータの転送を行う構成がとれない。 なぜこういう状況、つまりプッシュ型で転送を行うプラグインばかりなのかというと、FluentdのBuffer pluginの仕組みによる。細かく設計上の話をあれこれしてもアレだし面倒くさいので省

    NATやファイアウォールの向こうへデータをお届けする fluent-plugin-pull_forward を書いた - たごもりすメモ
  • Norikra meetupやってきた - たごもりすメモ

    Norikra meetup : ATND DeNA Technology Seminar #Norikra meetup Norikra がいい感じになってきたので、ユーザ(とコミッタ)もうちょっと増えないかなーと思い、Norikra meetupという勉強会をやった。会場、Ustream中継および懇親会を:DeNAさんにご提供いただきました。いつもいつも当にお世話になっていますが、すばらしい会場をありがとうございます。 定員80人に対して参加は話す人も含めて60人ちょっとくらい? 自分が最近主催した勉強会はもっと出席率良かった気がするので気にしてなかったら、今回は少し低かった。もうちょっとサバ読んだ定員にしておけばよかった。補欠も含めた申し込み数は結局170人とかのままだったので、もったいなかった。 とはいえ、聞いてみたところこれから試してみる!という人がけっこういそうだったので嬉し

    Norikra meetupやってきた - たごもりすメモ
  • Developers Summit 2014で「社内システムの構造と設計、実装のはなし」という話をした - たごもりすメモ

    登壇の機会をいただけたので、普段技術的なトピックが中心にあるカンファレンスとは違うことだし、普段あまりやらない話をしよう、ということで、そんな話をしてきました。 社内システムの構造と設計、実装のはなし from SATOSHI TAGOMORI 今回はスライドにはトピックだけ出して、あとは壇上でべらべらしゃべる、というスタイルをとったため、このスライドだけではちょっと意味がわからないところが多いだろうなあ、という気がします*1。 と思っていたら id:rx7 さんが内容をすごく丁寧にメモっておいてくださってました。こちらをどうぞ。ありがとうございます。 デブサミ2014「社内システムの構造と設計、実装のはなし」講演メモ #devsumi - 元RX-7乗りの適当な日々 自分でも内容をまとめてみようかと思いましたが、なんか散漫になるなあ、ということでいったん書いたけど削除 >< rx7さんの

    Developers Summit 2014で「社内システムの構造と設計、実装のはなし」という話をした - たごもりすメモ
  • Focuslight v0.1.0 - たごもりすメモ

    グラフツールをひとつ作り、ひととおり動くらしいところまでいったので、とりあえず v0.1.0 としました。Focuslight と名付けています。 https://github.com/tagomoris/focuslight これは何かというと、このblogでも何度も紹介している GrowthForecast のRuby移植版です。同じ機能というだけでなく、内部データの互換性がありますし、HTTP APIの互換性も可能な限り保っています。ビューまわりは丸パクりしてます。 既に日国内ではGrowthForecastは割と知られているだろう、という前提で説明をすると、これは「GrowthForecastの話は聞くが、でもPerlのツールはなー、ちょっとなー」というわがままさんのために作られたものであり、それ以上でもそれ以下でもありません。自分はおそらく今後もGrowthForecastを使

    Focuslight v0.1.0 - たごもりすメモ
  • Fluentdとはどのようなソフトウェアなのか - たごもりすメモ

    Fluentd というソフトウェアがある。日国内ではそこそこ話題になってきたが、何ができるのか、何に使うと嬉しいのか、何に使えるのか、という点について詳細をよく知らないという人もおそらくまだ多いことでしょう。 なので、簡単にまとめる。 http://fluentd.org/ なお以下の個別項目ごとに書いていくが、その手前にまとめを置いておくので忙しい人はそれだけ読むとよい。インストールや設定については導入部分については日語の記事はもう多くあるので、触れない。 概要 できること ログの収集 センサデータ等の収集 汎用データ処理プロセッサとして 頻出ユースケース ログの収集 データの集約 簡単なリアルタイム集計 ソフトウェアとしての特徴 コア プラグイン 安定性 性能 開発体制 コミュニティ ぶっちゃけどうなの? まとめ 現時点で、複数の場所に分散したデータや常に増え続けるデータの安全な転

    Fluentdとはどのようなソフトウェアなのか - たごもりすメモ
  • MySQLにおいて真とされる値を調べた - たごもりすメモ

    このエントリはMySQL Casual Advent Calendar 2013の1日目の記事です。 はじめに SQLを書くとき、普通は where でその処理が対象とする行を絞り込みます。要するに where 以下が真である行が対象になるわけですね。簡単には以下のように書きます。 DELETE FROM tbl WHERE 1=1 さて、もちろん WHERE 以下には実際の各行のデータを用いるわけですが、例えば削除用フラグを各行に持たせておいて、バッチ処理で一気に消したい場合ならこのようにします。 -- delflag TINYINT(1) DELETE FROM tbl WHERE delflag=1 ここで、おっと、と思う人もいると思います。そう、MySQL にはBOOL型がありません。いや、正確にはBOOLという独立の型は存在せず、BOOLといえばTINYINT(1)のことである、

    MySQLにおいて真とされる値を調べた - たごもりすメモ
  • isucon3本戦いってきた&勝ってきた! #isucon - たごもりすメモ

    isucon3の戦にLINE選抜チームとして出た。ガッカリな感じだった予選時の状況はこちら。 isucon3予選参戦の記録 - tagomorisのメモ置き場 引き続き @kazeburo @sugyan @tagomoris の3人チーム。 ざっくりまとめ みんなこれまでこんな楽しいイベントに参加してたのか! ずるい!!!!!! 普段やってることを普段通りやる、と思っていたが焦って普段やらないようなミスを次々連発、社会は厳しい 思いきった構成変更とかできるのがisuconでしょwwww とかドヤ顔していたが、やりきれた。ドヤッ。 これからisuconという名前を口にするときに堂々とドヤ顔しようと思います。嘘です。元出題者のくせに成績出ないとかwwwみたいにならなくて当に安心しました。終わったあとのビールおいしかったです。 ということで、勝ちました。優勝と、あと僅差で特別賞もいただきま

    isucon3本戦いってきた&勝ってきた! #isucon - たごもりすメモ
  • Fluentdでparser用の正規表現を書く・試す - たごもりすメモ

    こんなエントリを目にしたので、なんか書こうかなと思った。 fluentdのformat(正規表現)の作り方について試行錯誤中 #fluentd - Glide Note - グライドノート Fluentd の in_tail や拙作 fluent-plugin-parser ではログのparse用の正規表現を指定することになるが、確かにこれを設定してログを流して試して直して、というのはいささか効率が悪い。ので、簡単に試す方法を書いてみる。 なお irb を使う手順。ruby 1.9系がインストールされていればたぶん入っているけれど td-agent だとちょっとどうだっけ。適当にがんばっていただきたい。 とりあえず以下のようなログをparseしたいとする。 Jul 16 00:45:47 BJA login[58879]: USER_PROCESS: 58879 ttys002irbを起動

    Fluentdでparser用の正規表現を書く・試す - たごもりすメモ
  • #fluentd でアクセスログからメトリクス生成/リアルタイム監視するための設定例 - たごもりすメモ

    このエントリは ウィークリーFluentdユースケースエントリリレー の参加エントリです。 いろいろアレでアレなときに回ってきて新ネタを思い付く余裕がないので、手元の設定を晒して解説しお茶を濁そうと思います。ユースケース! 前提は以下の通り。 アクセスログ このサーバに送られてくる前の段階で適当にparseされている(いちおう in_file の apache 互換の名前のはず?) sampling_filter プラグインにより 1/1, 1/10, 1/100 それぞれの割合でサンプリングされている(基は1/10) いくつかのメトリクス計算を行い、それらをGrowthForecastへグラフ登録、一部のものはリアルタイム監視を行いIRC通知する ping message ping_message プラグイン(および fluent-agent-lite の -P オプション)による p

    #fluentd でアクセスログからメトリクス生成/リアルタイム監視するための設定例 - たごもりすメモ
  • #fluentd の性能・リソースに関する最近のいくつかの傾向の話 - たごもりすメモ

    いくつかそれぞれ違う内容のことについて書きます。また複数の変更をほぼ同時期にやったケースもあり「お前それ分けてやれよ」と言いたくものがあるかもしれません。いや分かってはいるんだけど、そうそう変更ばっかりもしてられないからまとめてやりたいじゃんよ。 前提ですが、今回出てくるサーバはすべて、fluentdのみを8プロセスずつ起動している物理サーバです。fluentd meetupのときに「deliverサーバ」として紹介したやつ。各Webサーバからログを受け、アーカイブサーバにscribeプロトコルで送ると同時にロードバランスしてログ変換サーバに forward で送る配送サーバ。out_forwardのインスタンスが57あります。 ruby 1.9.2 -> 1.9.3 にした 前々から全くトラフィックの流れていないスタンバイ用のサーバでもメモリの使用量が徐々に上がっていって定期的な再起動が

    #fluentd の性能・リソースに関する最近のいくつかの傾向の話 - たごもりすメモ
  • #fluentd meetup in Japan に行ってきた&しゃべってきた - たごもりすメモ

    Fluentd meetup in Japanなるイベントをやるけどしゃべらない? というお誘いがあったのでありがたくお受けして参加し、1セッションしゃべってきた。 まだ世に出て半年足らずのミドルウェアのイベントなのに集いも集ったり120人*1、まるまる半日間ひたすら高濃度な時間だった。話してみると、みんなfluentdがフォーカスしてるあたりにやっぱり問題意識をもっていて、ああやっぱりこれは出るべくして出たのだな、という印象だった。 あとからtogetterのまとめページも見たけど異様に長い。どんだけ盛況だったかがわかる。開催時間中、Twitterの日のトレンドに #fluentd が出てたしな。 会場がほんとにすばらしく、運営もUstreamや無線LAN解放、電源の確保から飲み物提供まで極めて良い状態だった。主催や運営協力の方々およびフューチャーアーキテクト様、ほんとうにありがとうご

    #fluentd meetup in Japan に行ってきた&しゃべってきた - たごもりすメモ