タグ

ブックマーク / hb.matsumoto-r.jp (19)

  • 7年目の革靴 - 人間とウェブの未来

    僕はや革全般が好きだ。つまり、革がそのなかでも1番好きで、もうかれこれ10年以上その魅力にはまっている。 大学時代に革の緻密な作り込みと履き心地の良さに魅了されて以来、イギリスの既成革を中心に色々履いてきた。既製は宝探し的な楽しさもあり、その中でいかに自分にあったを探したり、万人に良いとされてる木型がどういうものなのかにも興味があった。リーガルにはじまり、グレンソンやクロケットジョーンズ、時にはイタリアのサントーニにも手を出したりして、しばらく履きつつもなにか履き心地に納得ができずに手放して新しいに再挑戦したりしてきた。その結果、革好きが行き過ぎて、革を買うためにわざわざイギリスのジャーミーストリートやノーザンプトンまで飛行機でむかい、革の工場まで行って片言の英語でコミュニケーションを取りながらを購入したりもした。 これはジャーミーストリートのエドワード・グリーンやフ

    7年目の革靴 - 人間とウェブの未来
  • 技術的アウトプットが必要な時代に求められる心構えと社外発表の頻度を増やす事の副次的効果 - 人間とウェブの未来

    この話については、僕が専門としているWebサービス関連の業界におけるお話だと思って下さい。ただ個人的には、もう少し広範囲でも適用できる話なのではないかなとも思っています。 ということで、早速アウトプットすることのメリットから簡単に今の現状をまとめて今後エンジニアはどういう心構えで取り組んでいけば良いか、その中で、社外発表することのメリット、その社外発表の頻度を高める事の副次的効果についてまとめていきます。 アウトプットすることのメリット アウトプットする事やOSS化する事のメリットは、自分も含めて最近随分と語られるようになってきております。ここではそれについてあまり詳細に語る事は省略して、メリットを箇条書きでまとめると、 自分の技術が整理され、振り返りも容易になる フィードバックが得られる 自分の技術とその他社外のエンジニア技術を足しあわせての技術検討(開発)が可能になる 自社だけでなく

    技術的アウトプットが必要な時代に求められる心構えと社外発表の頻度を増やす事の副次的効果 - 人間とウェブの未来
  • 2016年の抱負 - 悔しさの回収 - 人間とウェブの未来

    あけましておめでとうございます。 2016年になり、早速今日から仕事はじめのところも多いと思います。ということで、今年の抱負でも簡単に書きます。 2016年1月付でシニア・プリンシパルエンジニアになった 参照: エンジニアの働き方 | キャリア採用 | 採用情報 | GMOペパボ株式会社 前回の2015年の記事でも簡単にふれたように、ペパボではエンジニア職位制度が刷新され役職名の変更と、新たな上位の役職が追加されました。 hb.matsumoto-r.jp その新たな上位の役職がシニア・プリンシパルエンジニアと呼ばれており、1月付で僕が初めて就任することになりました。ということで現在はシニア・プリンシパルは僕だけとなります。 外での活動は目立っているが、一緒に会社に入ってエンジニアとして仕事をしてみると意外と思ってたより普通…というような印象を与えてしまうのは避けたいという思いがありました

    2016年の抱負 - 悔しさの回収 - 人間とウェブの未来
  • 2015年振り返り - 福岡という地でペパボに入社した - 人間とウェブの未来

    実績については、いつも通り実績ページにまとめているので、それを参照するとして、 · 松亮介の研究・開発業績ページ 2015年は、2012年に一旦会社をやめて3年間大学院の博士課程で研究をやり直し、大阪から福岡に引っ越ししてペパボという会社に入り直した年でもあります。 ということで、いくつか項目を挙げて振り返ってみたいと思います。 ペパボに入って 4月にアドバンスドシニアと呼ばれる役職で、それこそチーフエンジニアを除くと最も役職の高いエンジニアとして採用していただきました。それもあって、「外から見ると結構色々やっているけど、会社に入るとあんまり仕事できないな...」みたいな事を思われたりしたら申し訳ないので、それなりに自分のやってきた事を共有したり、エンジニアのスキルやモチベーションの底上げ、更には、自分にしかできないような新しい技術の開発と導入を行ったりしていました。 自身が社内外で取り

    2015年振り返り - 福岡という地でペパボに入社した - 人間とウェブの未来
  • コマンド実行時のCPUやIOリソースを簡単に制御するツールrconを作った - 人間とウェブの未来

    CPUやメモリ、IOといったリソースの制限下でとあるコマンドを実行させたい場合に、cgroup上に何かgroupを作ったりしてからcgexecを実行して、実行後はそのgroupを消す、といったような一手間かかる方法がほとんどでした。 実行後のgroupも綺麗にしたい、といった所まで考えるとなかなか手間がかかっていたので、それらを全てワンラインでできるrconというワンバイナリで動くツールを作りました。 github.com 例えば、負荷サーバでの調査ツールを流す際に、CPUとかIOとかを制限しつつドロドロ実行したい場合等に便利です。Linuxcgroup対応した環境でのみ動きます。 使い方 ほぼREADME通りなのですが、オプションは代替以下のようになっています。 --memは変なので--memoryに変更しました!! ./rcon --help Usage: rcon [options

    コマンド実行時のCPUやIOリソースを簡単に制御するツールrconを作った - 人間とウェブの未来
  • ngx_mrubyがnginxのTCPロードバランシング機能に対応しました - 人間とウェブの未来

    nginxのv1.9あたりからOSS版でも使えるTCPロードバランシング機能をmrubyでプログラマブルに制御できるようにngx_mrubyでもサポートしました。 github.com これで、HTTPやHTTP/2だけでなくTCPのロードバランシングでもmrubyによって通信をプログラマブルに制御できるようになったわけです。 nginxのTCPロードバランシング機能は、nginx内部ではstreamモジュールとして、httpモジュールとは別で実装しているため、ngx_mrubyでも一から実装し直す必要がありました。 ということで少し面倒だなぁと思っていたのですが、ちょうど、僕の最近やりたい事としてTCPのロードバランサをもう少しプログラマブルに書きたいというのがあって、色々とTCPロードバランサを探したり、既存のソフトウェアで設定を試行錯誤するよりも、自分でnginxのTCPロードバラン

    ngx_mrubyがnginxのTCPロードバランシング機能に対応しました - 人間とウェブの未来
  • Webサーバの仮想ホスト単位のリソース使用量をFluentd+Norikra+GrowthForecastでグラフ化 - 人間とウェブの未来

    ご存知の通り、ApacheのVirtualHost(以下vhost)、所謂、Webサーバの仮想ホストは単一のApacheで複数のホストを処理しています。そのため、複数のvhostを含めたCPU使用量といったリソース使用量をグラフ化することは簡単なのですが、vhost単位となると各vhostへのリクエスト単位でのリソースを計測しておかないとグラフ化することはできません。そういう意味でvhost単位でリソース使用量をグラフ化しようとすると一気に敷居が上がってしまいます。 また、uid毎に実行プロセスを分離しておけば、pacctといったプロセスアカウンティング機能でuidのカウントはできますが、リアルタイムの計測(秒とか分のオーダー)にはコストが高かったり、vhostで提供しているコンテンツによっては、Apache権限で配信されているものもある(静的コンテンツ)ため、正確に計測することは難しくな

    Webサーバの仮想ホスト単位のリソース使用量をFluentd+Norikra+GrowthForecastでグラフ化 - 人間とウェブの未来
  • ApacheのVirtualHost単位でMaxClientsを設定するApacheモジュールをOSS化 - 人間とウェブの未来

    一つのサーバに多数のホストを収容するような高集積なホスティングサービス(所謂レンタルサーバ)を提供しようとすると、収容しているユーザ単位でいかにリソースをコントロールするかが運用者には求められます。 そういう状況で、これまでApacheには色々なモジュールがあって、それらをうまく組み合わせながらリソースを制御してきたと思います。ですが、意外とシンプルなリソース制御として、VirtualHost(以下vhost)単位で個別にMaxClinetsを制御するだけのモジュールが無かったりします。それと同等の機能を提供するモジュールは幾つかあるのですが、色々と必要の無い機能が沢山盛り込まれていたりとか、特定のバージョン、特定のMPM、特定のOSでしか動かなかったりして微妙に使いにくかったりします。 要件的には単にvhost単位でMaxClinetsを各種MPMやバージョンで制御できれば良いです。こう

    ApacheのVirtualHost単位でMaxClientsを設定するApacheモジュールをOSS化 - 人間とウェブの未来
  • mruby事例を中心に「Middleware Configuration as Code」という発表をした #rubykansai - 人間とウェブの未来

    今日は第68回Ruby関西勉強会にお誘い頂き、ミドルウェアへのmruby組込みの考え方であるMiddleware Configuration as Codeについて、事例を中心にお話しました。 rubykansai.doorkeeper.jp 会場がファーストサーバさんということで、何やら母校にいくような、地元に帰るような不思議な気持ちになり、いつもとは違う新鮮な気分で発表に取り組む事ができた気がします。 内容としては、まさにMiddleware Configuration as Codeであり、 Middleware Configuration as Codeに至る背景 Middleware Configuration as Codeの定義 Middleware Configuration as Codeの実装やメリット ngx_mrubyの簡単なチュートリアル 弊社(ペパボ)における事

    mruby事例を中心に「Middleware Configuration as Code」という発表をした #rubykansai - 人間とウェブの未来
  • 技術者が研究者のように論文を書くメリットはあるか - 人間とウェブの未来

    一度大学・大学院を修了した後に、研究職以外に就職した技術者は論文を書かなくなる事がほとんどだと思います。 僕は、一度インターネットのウェブサービスに関する企業で技術者をした後に、大学院に入りなおして同様の分野で論文を書き、現在再度技術者をやっているわけですが、技術者でも論文を書くメリットが ある と思っています。 以降でメリットについて述べますが、これらのメリットをまとめて手軽に享受できるツールって他にあんまりないんじゃないか(僕が思いつかないだけかも)と思ったので、この記事を書くに至りました。 というわけで、それを簡単にまとめます。 技術者が論文を書くメリット まずはざっと箇条書きします。 自分の考えた技術や既存の技術の調査、比較の試行錯誤を丁度良い分量でまとめられる 良い文章構成になるような書き方の知見が溜まってるので書きやすい 書き方の知見にのっとって文章にまとめることで、頭の中や提

    技術者が研究者のように論文を書くメリットはあるか - 人間とウェブの未来
  • 「たったひとつの教訓」という話をしました - 人間とウェブの未来

    社内での新卒研修を中心になってやってくれている okkunの提案で、キャリア・キーノートという取り組みを行っており、その中でWebオペレーション研修の記念講演ということで、恐縮にも自身のキャリアキーノートについて発表する機会を頂けたのでお話してきました。 研究の内容については、 okkun の以下の記事が参考になるかと思います。 blog.hifumi.info 技術者・研究者という立場から自分の人生を振り返ったような内容になり、これまでの自身の苦悩や絶望、そこからのブレイクスルーなどを振り返り話す事ができる良い機会となりました。 僕が技術者・研究者としてこれまでやってきて得た教訓を、教訓が得られたエピソードと共にまとめました。 話している中で色々な事を思い出し、あの時の葛藤や苦悩、さらには絶望した時の感情が沢山沸き上がってきましたが、それでも今自分はこうやって楽しく技術を学べている事に

    「たったひとつの教訓」という話をしました - 人間とウェブの未来
  • nginxでもapacheでも使えるDoS的アクセスを検知して任意の制御をするWebサーバ拡張をmrubyで作った - 人間とウェブの未来

    github.com 会社の運用メンバーと色々議論していた中で、「カジュアルにWebサーバへのDoSみたいなアクセスが来た時に検知して制御したいよねー」という話が上がったので、http-dos-detectorというnginxでもapacheでも使えるWebサーバ拡張をmrubyで書きました。 もちろんmrubyなので、mod_mrubyとngx_mrubyを使っています。ので、Rubyコードはそのまま同じコードをどちらのミドルウェアでも使えます。mod_mrubyとngx_mrubyを使えば、ちょっとしたWebサーバの拡張は両方で同じ実装に落とし込めるので便利ですね。 使い方 例の如く、GitHubのREADME通りにインストールして下さい。Rubyのコードはmod_mrubyでもngx_mrubyでも有効なので、そのコードを読み込む設定をそれぞれ以下のように記述するだけでよいです。 a

    nginxでもapacheでも使えるDoS的アクセスを検知して任意の制御をするWebサーバ拡張をmrubyで作った - 人間とウェブの未来
  • virtualingを使ってプロセスのメモリ使用量上限値をOoM-Killerのタイミングで自動拡張してみた - 人間とウェブの未来

    virtualingとは、わりとセキュアでCPUやメモリ・IOといったリソースの制御が可能なプロセス実行環境上で、設定や構成を変える事なくミドルウェアのようなプロセスを動作させることができるツールです。実装はmrubyです。 github.com hb.matsumoto-r.jp リソース制御なので、例えばプロセスのメモリ使用量の上限を制限していた場合に、その制限を超えると従来通りOoM-Killerが走るわけですが、virtualingの特徴的な機能として、そのイベントを自動で検知し任意のRubyブロックをコールバックする機能があります。 それを利用して、今回はOoM-Killer判定が下されたイベントを検知したら、メモリ制限値を自動で拡張していくような処理を試してみました。 virtualingの設定 設定はRubyで書く事ができます。今回は、OoM-Killerを検知した時にOoM

    virtualingを使ってプロセスのメモリ使用量上限値をOoM-Killerのタイミングで自動拡張してみた - 人間とウェブの未来
  • virtualingでchroot配下のプロセスを簡単にリソース制御してみよう - 人間とウェブの未来

    virtualingとはkazuhoさんの低コストでchrootするためのjailingと、mruby-virtualingによるリソース制御や必要であればIPアドレスの付与する機能を組み合わせたツールです。virtualingを使うと、Rubyコードによって、リソース制御可能なchroot環境でミドルウェアやコマンドを実行させることができます。 https://github.com/matsumoto-r/mruby-virtualing 例えば、とあるhttpdをvirtualingで動かしたい時は、以下のようなコードを書きます。 Virtual.new({ :resource => { # CPU [msec] exc: 30000 -> 30% :cpu_quota => 30000, # IO [Bytes/sec] 10 Mbyte/sec :blk_dvnd => "202:

    virtualingでchroot配下のプロセスを簡単にリソース制御してみよう - 人間とウェブの未来
  • mrubyでファイルシステムを隔離してリソースを分離しIPも割り当てられるmruby-virtualingを書いた - 人間とウェブの未来

    Kazuho's Weblog: jailing - chroot jailを構築・運用するためのスクリプトを書いた virtuald + ipalias + cgroup + これで快適に「そこそこ隔離したサービス環境」作っていきましょー / “Kazuho's Weblog: jailing - chroot jailを構築・運用するためのス…” http://t.co/aweVwa9kDX— MATSUMOTO, Ryosuke (@matsumotory) 2015, 5月 14 まずは昨日サクッとこういうのを作られたkazuhoさんのjailingを見ていて、こういうのやっぱり面白いなー素晴らしいなーと思いつつ、そういえば僕もmrubyでこういうの書くとか宣言していたなーというの思い出しました。 mruby-cgroup、mruby-capability、mruby-criuがで

    mrubyでファイルシステムを隔離してリソースを分離しIPも割り当てられるmruby-virtualingを書いた - 人間とウェブの未来
  • 特定条件下におけるngx_mrubyのメモリリークを改善してメモリ増加量を半分にした - 人間とウェブの未来

    4月からペパボで働いているわけですが、前々から噂できいていたメモリリークの問題について、ペパボではわりと大規模かつ高負荷な環境でngx_mrubyを使ってくれているのでその環境を見ながらメモリリークを改善してみました。 状況的には、16時間動かしていると導入している環境のngx_mrubyを組み込んだnginxが1GBぐらいメタボっていました。 実装や幾つかの調査情報をみつつ、以下の2点においてメモリリークが発生していました。 mrubyが例外をあげて5xx系のエラーコードを返す時 mruby_set系のディレクティブを使っている時 上記のそれぞれにおいて、C側で生成したオブジェクトをarenaに登録したまま、不要になったにも関わらずarenaからオブジェクトを除外してGCさせるように処理できていなかった事が問題でした。 これらを、ほぼ同等の改修によってmrb_gc_arena_save(

    特定条件下におけるngx_mrubyのメモリリークを改善してメモリ増加量を半分にした - 人間とウェブの未来
  • オライリー・ジャパン Serverspec書評 - Serverspec及びSpecinfraの究極の目標とは - 人間とウェブの未来

    mizzyさんの執筆されたオライリー・ジャパンのServerspecを頂きました。ありがとうございます。そして、執筆お疲れ様でした。 実際の発売日は2015年1月17日です。素晴らしいですので、是非ともご購入されてみてはと思います。 O'Reilly Japan - Serverspec Amazon.co.jp: Serverspec: 宮下 剛輔: Serverspecの感想を書こうかと思ったのですが、技術者目線での素晴らしいレビューは既に幾つか書かれており、僕が同じような内容を書いてもやっぱり似たような感想になってしまうので、このエントリでは、「Serverspecのどこが素晴らしいのか?」について、研究者視点で簡単に紹介したいと思います。 その前に軽く技術者視点で Serverspecは、2章と3章でServerspecの最初の一歩から、より格的に使うための方法につ

    オライリー・ジャパン Serverspec書評 - Serverspec及びSpecinfraの究極の目標とは - 人間とウェブの未来
  • 2015年の抱負 - 福岡で過去最高のエンジニア生活がはじまる - 人間とウェブの未来

    2014年の振り返りを簡単に書いたので、2015年の抱負なるものを書こうと思います。 4月から社会人になる 2008年に会社に入社して、インフラエンジニアとして4年間運用業務を行い、2012年から大学院の博士課程に入学した僕も、ついに2015年4月からは再び会社に入社してインフラエンジニアとして復帰する事になります。 人間とウェブの未来 - Linuxエンジニアを辞めて大学院に入学しました 元々僕自身も好意を寄せていたのに加えて、僕の技術を評価して頂いたこともあって、4月からはペパボ社の福岡支社に勤務します。 RubyKaigi2014でmod_mrubyやngx_mrubyとその応用について発表して、就職も決まりました - 人間とウェブの未来 有名なエンジニアから気になる若手のエンジニアまで、沢山の優秀なエンジニアが在籍していて、今から想像するだけでも一緒に仕事をするのが楽しみです。ペパ

    2015年の抱負 - 福岡で過去最高のエンジニア生活がはじまる - 人間とウェブの未来
  • 最近気になる服装 - 人間とウェブの未来

    僕は元々革や革鞄、革小物さらには伝統のある紳士服が大好きだ。 その辺りについては、旧ブログでも散々言及してきた。IT技術系の記事よりも力が入ってる可能性もある。 人間とウェブの未来 - 革アーカイブ 人間とウェブの未来 - 革鞄 のアーカイブ 人間とウェブの未来 - 革小物 のアーカイブ 人間とウェブの未来 - 紳士服 のアーカイブ というのも、僕は伝統やうんちくのあるモノに対して、一度自分で経験してみたかったり、そのモノの良さがどこにあるのかを知りたいという気持ちが強くある。 そんな流れでここ8年ぐらいに色々な服にも手を出してきた。その間の趣味はある程度一貫していたのだが、つい最近からそれが少し違う方向に変わりだしてきた。 元々の自分の服の趣味としては、綺麗目のテーパードしたデニムにシャツを合わせてハイゲージニットを来てジャケットを着る、これが自分が一番興味のある服装だった。所謂

    最近気になる服装 - 人間とウェブの未来
  • 1