タグ sonots
人気順 10 users 50 users 100 users 500 users 1000 usersDeNAからZOZOテクノロジーズに転職しました – そのっつ (Naotoshi Seo) – Medium
2018年12月に株式会社DeNAを退職し、2019年01月に株式会社ZOZOテクノロジーズに入社しました。 誰?瀬尾と言います。インターネット上では sonots (そのっつ) というIDで活動しています。 著名どころでは CRuby, Fluentd, Chainer といったOSSのコミッタをしています。 DeNAには2012年10月に入社し、6年弱勤めたことにな... 続きを読む
DeNAからZOZOテクノロジーズに転職しました – そのっつ (Naotoshi Seo) – Medium
2018年12月に株式会社DeNAを退職し、2019年01月に株式会社ZOZOテクノロジーズに入社しました。 誰?瀬尾と言います。インターネット上では sonots (そのっつ) というIDで活動しています。 著名どころでは CRuby, Fluentd, Chainer といったOSSのコミッタをしています。 DeNAには2012年10月に入社し、6年弱勤めたことにな... 続きを読む
perf でアプリケーションのプロファイリング - sonots:blog
CアプリケーションからRubyスクリプトを呼び出す方法 - sonots:blog
Cアプリケーションから libruby を使ってRubyコードに定義されている関数を呼び出す方法について記載する。 対象の Ruby バージョンは 2.4.1。 libruby の生成 libruby は rbenv で ruby をインストールすると、実はすでにできているのでご利用いただける。 ~/.rbenv/versions/2.4.1/lib ~/.rbenv/versions/2.4.1... 続きを読む
ptraceとELFとLinuxレジスタ - sonots:blog
ptrace(2)に入門。ptrace(2) は Linux を含む Unix 系OS にあるシステムコールで、実行中のプロセスに対して、メモリ上のデータやレジスタの値を抜き出したり、書き換えたりすることができる。 これを使ってごにょごにょすると、実行中の関数とその引数を取り出して、実行中のプロセスを止めずにスタックトレースを取得したり、 デバッガを作ったり 、 標準出力を横取りして audit ... 続きを読む
DeNA TechCon 2017 と Developers Summit 2017 で講演しました - sonots:blog
2/10 に開かれた DeNA Technology Conference 2017 と 2/17 に開かれた Developers Summit 2017 で講演をしてきたので資料をおいておきます。 DeNA TechCon では、AIレーンでのトークということで、AIに関わりのある機械学習基盤の話にだけ絞って「DeNA AIシステム部におけるクラウドを活用した機械学習基盤の構築」という... 続きを読む
CloudFrontをかますとキャッシュなしのAPIコールでも速くなるようだ - sonots:blog
Slack 社の Secured API Acceleration with Engineers from Amazon CloudFront and Slack という資料を読んでいたら、「CloudFront をはさんだらキャッシュしないAPIアクセスでも速くなった :D」 と書いてあったが、CloudFront (例えばjp)から ELB (例えばus) までは依然として latency... 続きを読む
Itamae meetup #1 で「ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 板前の献立 〜」というトークをしてきた - sonots:blog
記念すべき Itamae meetup 第1回の開催!ということで参加して発表してきました。 各社での Itamae 事例を聞きたいとのことだったので、うちではこうしてるよ、という話しをしてきました。全社的には Chef や Ansible を使っているが、自己責任で Itamae を使っている、という事例の話が多かったですね。うちもそうなんですがw あと、itamae のロゴできてサイコー╭( ... 続きを読む
sonots/kondate · GitHub
README.md Kondate Kondate is yet another nodes management framework for Itamae/Serverspec. Kondate provides nodes/roles/attributes/run_lists management feature for Itamae/Serverspec. Installation Add ... 続きを読む
embulk-output-vertica プラグインのご紹介 - Qiita
Embulk Advent Calendar 2015の8日目の記事です。 こんにちは @sonots です。昨日に引き続き、淡々と拙作のプラグインの紹介をしようと思います。 本日紹介するのは embulk-output-vertica プラグインです。 URL: https://github.com/eratostennis/embulk-output-vertica (erastotennis... 続きを読む
Ruby コミッターになりました - sonots:blog
きちんと書いていなかったので、RubyKaigi 2015 の前に報告しておきます。2015/11/17 にTreasure Data 方面の Ruby Committer の推薦で、 Ruby Committer 権限を取得しておりました。 @frsyuki @nahi さんと相談した結果、 @sonotsさんがloggerのメンテなになって入れればいいという結論になりました— 成瀬 (@na... 続きを読む
はじめての Ruby コミット - sonots:blog
ref. https://twitter.com/yukihiro_matz/status/666167419652714496 shyouhei さんの古の記事が参考になる > Rubyのパッチ袋 - 卜部昌平のあまりreblogしないtumblrgit clone git://github.com/ruby/ruby.git cd ruby git svn init -s --prefix=o... 続きを読む
「ISUCON4 予選でアプリケーションを変更せずに予選通過ラインを突破するの術」Elixir 版.md · GitHub
「ISUCON4 予選でアプリケーションを変更せずに予選通過ラインを突破するの術」Elixir 版.md 前置き elixir が結局速いのかそうでもないのか検証してみたいから、誰か isucon4 qual のアプリを elixir で。— そのっつ (SEO Naotoshi) (@sonots) 2015, 9月 5 とかてきとうなことをつぶやいていたら、なんと @ma2ge さんが実装して... 続きを読む
革命の日々! Linuxカーネルの「TCP_TIMEWAIT_LEN」変更は無意味? の件について
なんかスラドにあげられてしまったので、備忘録てきにちょっとまとめますかね。 きっかけは先月帰国したときに sonots がDeNAをはじめとして、Web企業では広く TCP_TIMEWAIT_LEN を変更してカーネルをリコンパイルして使っているという話を聞いたというもの。以下の様な議論を twitterで行い Togetter: Linuxカーネルの「TCP_TIMEWAIT_LEN」変更は無意... 続きを読む
cron でのコマンド実行が失敗したときにアラートを飛ばすための alerty というツール - sonots:blog
ひと月ほど前に、必要にかられて cron でのコマンド実行が失敗した時に通知を飛ばすために使う alerty というツールを ruby でさくっと書いた。社内には同様の perl で書かれたツールがすでにあったが(自分が知ってるだけで2つあった)、Amazon SNS を使うという新しい要件もあったので、ruby でさくっと書き直した。プラグイン機構に対応していて、プラグインとして実装することで通... 続きを読む
簡易的に tcp リバースプロキシする - sonots:blog
たとえば rack アプリを 9292 ポートで動かしたのは良いとして、80 番ポートしかあけちゃダメと言われているようなサーバに対して、次の作業で nginx を立ててリバプロの設定をするのだけど、そのまえにまずその rack アプリがちゃんと動いているのかを動作確認したいので、簡易的にリバプロしたい。 socat というコマンドを使うと簡単に tcp ポートフォワーディングできるのでお使いいた... 続きを読む
fluentdでログが欠損する可能性を考える - sonots:blog
out_forward => in_forward の通信においてログが欠損する可能性を考える。 前提としてまともに動いている分にはまず欠損しないはず。TCPだし。=> 実験例あり 続きを読む
embulk で pure java と jruby でプラグインを作ったときの速度比較 - Qiita
Embulk のプラグインを作るにあたって、pure java と jruby でどれぐらい速度差が出るのか気になったので、それぞれ同じ動作をする簡単なプラグインを作って速度比較してみた。 java版 https://github.com/sonots/embulk-filter-java_pass ruby版 https://github.com/sonots/embulk-filter-rub... 続きを読む
運用を楽にするためのアプリケーションコードを書くということ - sonots:blog
4/1付けで Hadoop やらなんやらを運用している部署に異動してから、ひたすら新しいツールの実装をしていた。 この度、そのツールの最初の機能要件は実装し終わって最初のデプロイをするフェーズに入ったので、そのツールを運用に載せるためのアプリケーションコードを書いていた。運用に載せるためのアプリケーションコードは、機能要件とは別の所にある非機能要件であって運用の肌感がわかっていないと要件を出すのは... 続きを読む
Slack の通知にまつわる知見 - sonots:blog
daioikachan開発で得た知見を、コードのコメントにしか書いてなかったので、目の届きやすい場所にまとめておく。通知が飛ぶ条件表textattachmentstext (link_names=1)attachments (link_names=1)Slack Web API @メンション××○×Slack Web API ハイライトワード××××Incoming Webhook @メンシ... 続きを読む
Effective Ruby を読んだ - sonots:blog
Effective Ruby を読んだメモをこっそり。メモなのでてきとうなことを言っている場合があります。 Effective Rubyposted with amazlet at 15.03.29Peter J. Jones 翔泳社 売り上げランキング: 114,152 Amazon.co.jpで詳細を見る 感想良い本だった。知ってることもそりゃあったけれど、それも含めて勉強になった。 ただ、M... 続きを読む
Daioikachan - 複数のバックエンド(IRC, Slack, etc)に対応する Ikachan 互換サーバを書いた - sonots:blog
最近、弊社でも Slack が使われはじめている。 弊社のアラート通知は今まで IRC (とメール)にだけ流していたが、Slack にも流せるように Ikachan 互換 API を持ち、IRC, Slack 両方に流せるサーバとしてDaioikachan というものを作った。要件以下のような要件を満たすIkachan 互換 API複数バックエンド対応Slack だけではなく、IRCにも流す(移行... 続きを読む
Server::Starter を使って複数の Fluentd で1つのポートを待ち受ける - sonots:blog
課題Fluentd は GVL のある CRuby でしか(まだ)動かないので、マルチコアを有効に使うためには1つのホストで複数のプロセスを同時に立ち上げる必要がある。また現在の Fluentd では、それぞれのプロセスで別のポートをそれぞれ listen(2) して待ち受けることしかできない。データ送信側では送信先に複数のポートを指定して、クライアント側でラウンドロビンして負荷分散してもらう形に... 続きを読む
yohoushi (rails) + h2o 1.0.1 でHTTP2有効にしたときのバッドノウハウ - sonots:blog
yohoushi というグラフツールがある。 小ネタ: kurado + h2o 0.9.1 でHTTP2有効にしたときのバッドノウハウ にインスパイアされて、yohoushi でも h2o 使いたい!と思って試してみた。HTTP2 の特徴HTTP2 には以下のような特徴があるバイナリでの通信リクエストとレスポンスの多重化によるレイテンシの削減ヘッダの圧縮によるプロトコルオーバーヘッドの最小化リク... 続きを読む
sudo をつけると SIgnal.trap がおかしくなる件 - sonots:blog
結論からいうと sudo が悪かった。2012 年に直ってる。発生状況こんなかんじの Ruby コードを書く(最初、ruby の問題かと思っていた)Signal.trap('INT') { puts 'foo' } 10.times do sleep 1 end普通に実行すると期待通りに trap される$ ruby test.rb [Ctrl-c] foo [Ctrl-c] foo sudo を... 続きを読む