人間とウェブの未来

「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。

技術的アウトプットが必要な時代に求められる心構えと社外発表の頻度を増やす事の副次的効果

この話については、僕が専門としているWebサービス関連の業界におけるお話だと思って下さい。ただ個人的には、もう少し広範囲でも適用できる話なのではないかなとも思っています。 ということで、早速アウトプットすることのメリットから簡単に今の現状をま…

IPSJ-ONE 2016で登壇してきた - 確実に時代は変わってきている #ipsjone

先日、慶応義塾大学で開催された情報処理学会全国大会のトリのビッグイベントであるIPSJ-ONE2016で登壇してきました。 IPSJ-ONEとは、 IPSJ-ONEは、時流に乗る日本の若手トップ研究者19名によるライトニングトーク形式の登壇を俯瞰することで、 今後の情報社…

ペパボ福岡の技術的強みと働くメリット

について、先日イベントで講演してきました。 ちょうど自分自身、福岡にきて1年程度で、講演時に福岡出身の方に手を上げていただくとほぼ9割以上が福岡、または、九州の方だったので、いきなり自分が福岡の良さを語って良いのかピンチに陥りましたが、なんと…

ngx_mrubyがHomebrewで超簡単にインストールできるようになった

タイトルの通りなのですが、つい先日Homebrewでngx_mrubyがインストールできるようになりました。

HTTP/2へのmruby活用やこれからのTLS設定と大量証明書設定の効率化について

Webサービス事業者として僕が先行して調査したり研究・開発している技術の中で、Webサーバ設定におけるHTTP/2とそのmruby活用についてや、PFS(Perfect Foward Secrecy)を考慮したTLS設定と大量証明書設定の効率化について、社内のインフラエンジニア向けに…

nginx実践入門はまさに今が買いの素晴らしい本だ

nginx実践入門を読みました。 www.amazon.co.jp なぜか福岡で @kazeburo さんとお会いし、その際にkazeburoさん経由でnginx実践入門の献本を頂きました。この本は、nginxについて調べていると必ずといって良い程お見かけし、素晴らしい情報を発信している久…

Webサーバのベンチマークツールはh2loadが便利

Webサーバのベンチマークをとるのが趣味になりつつあるmatsumotoryです。 Webサーバのベンチマークについては、abからはじまりwrk等を使っていたのですが、最近ではほぼh2loadを使っています。

2016年の抱負 - 悔しさの回収

あけましておめでとうございます。 2016年になり、早速今日から仕事はじめのところも多いと思います。ということで、今年の抱負でも簡単に書きます。 2016年1月付でシニア・プリンシパルエンジニアになった 参照: エンジニアの働き方 | キャリア採用 | 採用…

2015年まとめ - 福岡という地でペパボに入社した

実績については、いつも通り実績ページにまとめているので、それを参照するとして、 松本亮介の研究・開発業績ページ by matsumoto-r 2015年は、2012年に一旦会社をやめて3年間大学院の博士課程で研究をやり直し、大阪から福岡に引っ越ししてペパボという会…

mrubyのRedisクライアントのPipelining対応とDisqueクライアント

この記事はmruby adevent calendar 24日目の記事です。 mrubyでRedisを操作するmruby-redisは以前から開発していたのですが、最近Pipelining対応のPRを頂きPipelining対応したのでそれの性能を確認してみました。また、その結果簡単に作れるようになった分散…

mrubyでHTTP/2の画像変換サーバを作った

この記事は、mruby advent calendar 2015の16日目の記事です。 画像やstaticコンテンツ配信系はHTTP/2が有利な状況が幾つかあるので、ついでにHTTP/2を喋る画像変換サーバのプロトタイプをmrubyで作ってみました。ベースはもちろんtrusterdです。なんていっ…

コマンド実行時のCPUやIOリソースを簡単に制御するツールrconを作った

CPUやメモリ、IOといったリソースの制限下でとあるコマンドを実行させたい場合に、cgroup上に何かgroupを作ったりしてからcgexecを実行して、実行後はそのgroupを消す、といったような一手間かかる方法がほとんどでした。 実行後のgroupも綺麗にしたい、とい…

ngx_mrubyのTCPロードバランシングを使ってFluentdのTCP通信とグラフ画像へのHTTP通信を動的に集約する

昨日、ngx_mrubyのTCPロードバランシング機能に対応した記事を書きました。 hb.matsumoto-r.jp というのも、実は以下に説明するようなFluetnd+Norika+GrowthForecastを利用したスケールアウト型のシステムを簡単に作りたかったからです。 ということで、まず…

ngx_mrubyがnginxのTCPロードバランシング機能に対応しました

nginxのv1.9あたりからOSS版でも使えるTCPロードバランシング機能をmrubyでプログラマブルに制御できるようにngx_mrubyでもサポートしました。 github.com これで、HTTPやHTTP/2だけでなくTCPのロードバランシングでもmrubyによって通信をプログラマブルに制…

mrubyのmrbgemをもっと簡単に作れるようにした

といっても、既存のmruby-mrbgem-templateをもう少し使いやすくしただけですが。

mrubyのmrbgemの依存関係とmgem-listの登録について

mrubyの機能拡張には、mrbgem(以下mgem)という所謂CRubyでのgemのような拡張モジュールを使います。mgemを開発していくと、もちろん以前作ったmgemの機能を再利用したい場合や、すでに存在する優れたmgemを使ってさらなる機能を実装したい場合が多くなるは…

mruby-cliを使ってプロセスのfdをリソース使用率を元に解析するワンバイナリなツールpfdsを作った

タイトルのままなのですが、pidから対象プロセスがopenしてるファイルとそのownerを解析し、CPU使用率やMemory使用率と合わせてレポートするワンバイナリなツールを作りました。 というのも、ホスティングにおいては負荷をかけているプロセスについて、リソ…

Webサーバの仮想ホスト単位のリソース使用量をFluentd+Norikra+GrowthForecastでグラフ化

ご存知の通り、ApacheのVirtualHost(以下vhost)、所謂、Webサーバの仮想ホストは単一のApacheで複数のホストを処理しています。そのため、複数のvhostを含めたCPU使用量といったリソース使用量をグラフ化することは簡単なのですが、vhost単位となると各vho…

HTTP/2とmrubyの可能性についてお話してきた

福岡の博多で開催されたHacker Tackleという技術イベントで、「HTTP/1.xとHTTP/2が混在する時代のウェブサイト設計とmruby in HTTP serverの可能性」というタイトルでお話をしてきました。

ApacheのVirtualHost単位でMaxClientsを設定するApacheモジュールをOSS化

一つのサーバに多数のホストを収容するような高集積なホスティングサービス(所謂レンタルサーバ)を提供しようとすると、収容しているユーザ単位でいかにリソースをコントロールするかが運用者には求められます。 そういう状況で、これまでApacheには色々な…

技術者が研究者のように論文を書くメリットはあるか

一度大学・大学院を修了した後に、研究職以外に就職した技術者は論文を書かなくなる事がほとんどだと思います。 僕は、一度インターネットのウェブサービスに関する企業で技術者をした後に、大学院に入りなおして同様の分野で論文を書き、現在再度技術者をや…

mruby事例を中心に「Middleware Configuration as Code」という発表をした #rubykansai

今日は第68回Ruby関西勉強会にお誘い頂き、ミドルウェアへのmruby組込みの考え方であるMiddleware Configuration as Codeについて、事例を中心にお話しました。

H2Oとmrubyを使ってIPアドレスベースでアクセス制御しつつリバースプロキシとして動かしてWebサイトをHTTP/2化しよう

弊社インフラチームが使っているmuninをh2oのHTTP/2で高速化して、諸々の制御はmrubyでコントロールした。チームから「はやーい!」「スクロールで勝てない!」「こんな早い表示最近みたことなかったですよ!」と喜びの声が多数届いております。— MATSUMOTO,…

mvコマンドの--strip-trailing-slashesをデフォルト有効にして大丈夫か?

mvに--strip-trailing-slashesというGNUオプションがあるのは皆さんご存知だと思います。 指定された全ての引き数について、 後ろに付いているスラッシュを取り除く。 これは mkdir a; ln -s a la; mv la/ b' のような場合に役立つ。 この場合 POSIX の要求…

ファイルパスの/で結構ハマってしまったメモ

Linuxでとあるコードを書いていたのですが、例えば、 mkdir hoge ln -s hoge hoge_link

「たったひとつの教訓」という話をしました

社内での新卒研修を中心になってやってくれている okkunの提案で、キャリア・キーノートという取り組みを行っており、その中でWebオペレーション研修の記念講演ということで、恐縮にも自身のキャリアキーノートについて発表する機会を頂けたのでお話してきま…

H2Oのmruby拡張が実用的になってきた件

H2Oにmruby拡張の提案を行いmergeされてから幾つかのPRを経て、少しずつ実用的になってきました。 h2o/h2ogithub.com 今日は簡単にその使い方を紹介しようと思います。

Mac上でCentOS6用のkernel{3,4}系イメージのrpmを一発でビルドするビルドシステム作った

Kernelの新しい機能をフルに使おうとすると、新しいkernelを使う必要があるのですが、例えばCentOS6系でシステムを運用していた場合に、新しいKernelを使うべくCentOS7とかにあげるとsystemd含め運用が大きく変わってしまうため中々踏み出せないという状況が…

Apacheやnginxの同時接続状況における各リクエストの任意の属性をカウントする拡張を作った

先日、ApacheやnginxといったWebサーバにおいてDoS的アクセスを検知して任意の制御を行うhttp-dos-detectorを公開しました。 nginxでもapacheでも使用可能なDoS的アクセスを検知して任意の制御をするWebサーバ拡張をmrubyで作った - 人間とウェブの未来hb.ma…

「ペパボのインターネット基盤技術研究・開発の活動」についてペパボテックカンファレンス福岡で発表しました #pbtech

ブログ書くまでがペパボテックカンファレンス!ということで、昨日無事福岡支社で第二回ペパボテックカンファレンスが開催されました。参加して下さった皆さん、弊社までお越し頂きありがとうございました。 第2回ペパボテックカンファレンス【福岡】 (2015/…