サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
blog.matsumoto-r.jp
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 昨日の記事が1日で多くの方に見て頂けているようでとてもうれしいです。 今回は元々、今日このタイミングで記事にしたいと思っていた内容があったのでそれを書きたいと思います。僕は去年の9月に会社をやめて、今年の4月から大学院に入学しました。「Linuxエンジニアを目指して入社1年目で役に立ったと思う事を書いた本人が、実はLinuxエンジニアをやめていた事を知ると、昨日のはなんだったの?」と思う人もいるかもし れません。なので、少しタイミングが悪いかもしれませんが、とりあえず書こうと思います。話は小学校までさかのぼるので長くなるかもしれません。暇つぶしに読んでやろうか、ぐらいで読んで頂ければと思います。 大学までの自分 僕は、小学校3年ぐらいから中学
1/24 B 2/24 [4] ⇒ ⇒ [4] J. Takeuchi and K. Yamanishi, “A Unifying Framework for Detecting Outliers and Change Points from Time Series,” IEEE transactions on Knowledge and Data Engineering, pp.482-492, 2006. 3/24 � � � ⇒ � � ⇒ ⇒ ⇒ ⇒ ■ 4/24 ⇒ ⇒ ⇒ ⇒ 5/24 � ChangeFinder � 2 � � 6/24 � ChangeFinder � ChangeFinder � 2 � � 7/24 ChangeFinder � � ⇒ � � � � 2 ⇒ DoS ⇒ 8/24 � ChangeFinder � 2 � � � � � � 9/24
Gitのコミット単位で動的にDockerイメージをデプロイするプロキシサーバpoolというソフトウェアがあります。 poolとは poolは、WebアプリとDockerfileをGitで管理している場合に、コミットidをサブドメインとして( http://<commit-id>.pool.dev/ )poolにアクセスするだけで、そのGitレポジトリのコミット時の状態でWebアプリのDockerイメージをデプロイし、Webアプリのポートへとリバースプロキシして、Webアプリのレスポンスを返します。もちろん、コミットidをキーに複数の状態にどんどんアクセスできます。(mod_mrubyのユースケースを調査していてたまたま見つけました)。 このpoolというソフトウェアはシンプルですが、ある種Dockerの差分管理やコンテナ型の利点をうまく利用していて、この構造を利用すると効率の良いDocke
続きはこちらのブログでお楽しみ下さい。 最後なので勢いでスターを沢山付けてしまいました…
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Gitのコミット単位で動的にDockerイメージをデプロイするプロキシサーバpoolというソフトウェアがあります。 poolとは poolは、WebアプリとDockerfileをGitで管理している場合に、コミットidをサブドメインとして( http://<commit-id>.pool.dev/ )poolにアクセスするだけで、そのGitレポジトリのコミット時の状態でWebアプリのDockerイメージをデプロイし、Webアプリのポートへとリバースプロキシして、Webアプリのレスポンスを返します。もちろん、コミットidをキーに複数の状態にどんどんアクセスできます。(mod_mrubyのユースケースを調査していてたまたま見つけました)。 このp
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 前回記事「1冊の技術書と青春18切符を持って一人旅してきた」からの続き(中編)です。 画像の読込に時間がかかるので、 1冊の技術書と青春18切符を持って一人旅してきた 1冊の技術書と青春18切符を持って一人旅してきた(中編) 1冊の技術書と青春18切符を持って一人旅してきた(後編) に分けました。 前半を読んでいない方はまずは上記リンクから前編のエントリを御覧ください。 http://instagram.com/p/rgeq84I7T1/ 今日はその旅の中であったことを時系列に徒然と書いていこうと思います。旅の流れとしては、以下のようになりました。 1日目 大阪から金沢 2日目 金沢から新潟 3日目 新潟から弘前 4日目 弘前から函館 5日目
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 前編「1冊の技術書と青春18切符を持って一人旅してきた」、中編「1冊の技術書と青春18切符を持って一人旅してきた(中編)」からの続きです。 画像の読込に時間がかかるので、 1冊の技術書と青春18切符を持って一人旅してきた 1冊の技術書と青春18切符を持って一人旅してきた(中編) 1冊の技術書と青春18切符を持って一人旅してきた(後編) に分けました。 前半、または、中編を読んでいない方はまずは上記リンクから前半や中編のエントリを御覧ください。 http://instagram.com/p/rhFyAMo7R5/ 今日はその旅の中であったことを時系列に徒然と書いていこうと思います。旅の流れとしては、以下のようになりました。 1日目 大阪から金沢
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 (画像が多いので、一旦データを全て読み込んでからブログエントリを読み始めた方が良いかもしれません…) http://instagram.com/p/rgfgD4I7VE/ 「ちょっと明日から1人でLinuxの旅に行ってくる」エントリに書いた通り、先週Linuxプログラミングインタフェースというとっても重たい技術書と青春18切符と最低限の着替えを持って、北海道目指して鈍行や快速を乗り継ぎ、技術書を電車の中でひたすら読む1人旅をしてきました。 オライリーLinux本の三大凶器(自社調べ)を比較してみたらカーネル本が一番 "薄い"のだな pic.twitter.com/SM26NKSiqh — hiroya ito (@hiboma) August
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mrubyを組み込む事によりRubyで設定を書く事ができるTrusterd HTTP/2 Web ServerのDockerイメージを作成・公開しました。 Docker環境のある方は、以下のコマンドで簡単にHTTP/2を喋るWebサーバTrusterdを動かす事ができます。 [program lang=”bash” escaped=”true”] sudo docker run -d -p 8080:8080 matsumotory/trusterd [/program] その後、HTTP/2クライアントであるnghttp(これはnghttp2をビルドして準備してください)コマンドで以下のようにアクセスすると、 [program lang=”
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 転職エントリが多数見られる8月ですが、これは残念ながら転職エントリではありません。すみません。 前々からずっとやりたいと思っていたのですが、子供が生まれたりと色々バタバタしていて、まとまった時間がどうしても取れず実現できていなかった「Linuxの旅」に、ついに明日から行って参ります!もちろん目的は、技術・研究に対するモチベーションを高める事です! 「Linuxの旅?なにそれ」 と思った方も多いでしょう。簡単に紹介します。 Linuxの旅といっても、持ち物は必要最低限でノートパソコンすら持って行きません。必要最低限の着替えと青春18切符を握りしめ、大阪からJRをひたすら乗り継いで札幌まで5、6日間かけて向かいます。 え?Linuxの旅なのにノー
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 共有Webホスティングを提供している業者の皆様は、シンボリックリンクのTOCTOU問題というかなりクリティカルで必ず対応すべき問題をおそらく様々な方法によって解決されていると思います。 しかし一方で、TOCTOU問題をなんとなく放置されている、あるいは、誤解されている場合もあるかもしれません。この問題は、Apacheでシンボリックリンクを使えない(シンボリックリンクにアクセスがあったら4系エラーを返す)設定にしていたとしても、シンボリックリンクファイルを作る事さえできれば、攻撃プログラムを使う事により、apache権限でアクセス可能なファイルにシンボリックリンク経由でアクセスすることが可能となります。また、Apache本体のコアに直接パッチを
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ab-mrubyとはapache bench(abコマンド)のパラメータ設定や、ベンチマーク結果のテストをRubyで書けるベンチマークツールです。今回はそのab-mrubyコマンドのDockerイメージを作りました。 僕みたいにabコマンドを毎日のように使うエンジニアにとっては、ab-mrubyはそれなりに有用だと思っていたのですが、mrubyをビルドしたりaprを使ってabをビルドしたりいまいち使いにくいなぁと思っていました。しかしそれがDockerの登場によって面倒な所はほとんどラッパーできるようになり、ab-mrubyのDockerイメージを作る事によって必要な部分だけを弄ってすぐにab-mrubyを使えるようにしました。 自身のクライ
卒 業 研 究 報 告 書 題 目 トラフィック特徴量の相関特性を 用いた異常検出 Anomaly Detection by Correlative Characteristic of Internet Traffic Features 研究グループ 第 5 グループ 指導教員 汐崎 陽 教授 平成 19 年 ( 2007 年) 度 卒業 (No. 1031060322 ) 松本 亮介 大 阪 府 立 大 学 工 学 部 情 報 工 学 科 i 大阪府立大学工学部情報工学科 目次 1 はじめに 1 2 ネットワークトラフィックからの異常検出 3 2.1 ネットワークトラフィックの概要 3 2.1.1 TCP ヘッダと IP ヘッダによる特徴 3 2.1.2 3way-handshake 6 2.2 異常事象の特徴 8 2.2.1 Prove 攻撃 8 2.2.2 DoS 攻撃 11 2.3
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 元々ホスティング会社で働いていたので、その特性上ownerやpermissionを色々と弄る事が多く、数年前の社会人時代にchmodやchownをもっと楽に使えないかなぁと調べた時に目から鱗だったのがchmodやchownのreferenceオプションでした。 今回は単にreferenceオプション楽ですよね、という記事なのでご存知の方は退屈な記事だと思いますが、まわりに聞いてみた所意外と知られていなかったりしたので、ブログエントリにしておこうと思います。 referenceオプションを使うと、任意のファイルを指定することで、変更対象のownerやpermissionを指定したファイルと同じ設定にすることができます。 例えば、/bin/pin
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Docker Hubがアナウンスされて以来、焦ってDockerを触っている@matsumotoryです。 今日は早速mod_mrubyとngx_mrubyをdocker buildに対応させました。これによって、Docker環境においてmod_mrubyを組み込んだApache httpdやngx_mrubyを組み込んだnginxを迅速かつ容易に連携させる事ができるようになります。 今日はその一例を紹介したいと思います。 リバースプロキシのnginxの挙動をmrubyで制御する ngx_mrubyのGitHubレポジトリにはすでにDockerに対応させています。ですので、ngx_mrubyをcloneするとDockerfileとdocker/
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Docker Hub公開のアナウンスがあったので、早速Docker HubとGitHubを連携させてmod_mrubyの実行環境をDockerイメージとして作った上で、それをMac上のVagrantで動くCoreOS内のDocker環境にデプロイしてみました。 本エントリではmod_mrubyとしていますがここは重要ではなく、自身が開発しているGitHubのアプリケーションに置き換えて読んで頂けると、便利さが見えてくるかと思います。 試してみると、非常に簡単にDockerイメージを作成できた上に、迅速にmod_mrubyの軽量な実行環境をデプロイできたので、その流れを簡単に紹介したいと思います。 Docker Hubにアカウントを作ってGit
本棚は自分の机のすぐ隣にあるのですが、なんとなく安心感とか勉強してる感とかを含め、思い立った時に手元ですぐ開いて調べたり暇つぶしにふと読みたい本ってありますよね。自分はインターネット、特にWebやインターネット基盤技術に関わる研究・技術者をやっているわけですが、自分の手元に置いておきたい本がやはりあります。 もちろん、手元に置くためのスペースは約20から30センチ程度なので、分厚い本を置くと数冊程度になってしまいますが、今日は「自分が現段階で持っている本のうち、キーボードのすぐ隣に置いておきたい本」8冊をなんとなく紹介したいと思います。 自分が手元に置いておきたい8冊 1. Linuxプログラミングインタフェース(6.5センチ) 分厚さ6.5センチと最強に分厚いですが、Linuxに関わるプログラミングをする際の辞書として手元においておく安心感は半端ないです。自分はミドルウェアの実装やそれに
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 OSvがとても面白いので色々いじっていると、結果的にmruby-simplehttpserverというWebサーバをmrubyで動かすためのmrubyモジュールができてしまいました。 これは、OSvのようにライブラリをがんがん入れられないような環境でも、とりあえずSocketとIOがあれば動くシンプルなWebサーバを動かすためのmrubyモジュールです。 そもそもOSvって何?という方はこの辺りを見るか、syuu1228さんに聞くのが良いと思います。簡単に言うと、これからの時代、ハイパーバイザにがんがん仮想マシンをデプロイする際に、その仮想マシンにリッチなOSがあまり必要ないケースって結構あって(例えばmemcachedだけが動いているVMと
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 先ほど、mod_mrubyとngx_mrubyのそれぞれv1.0.0をリリースしました。 2012年の4月のmrubyのソースコード公開を機に開発をはじめ、今振り返ると色々な事がありながらも2年間続けて研究・開発を行い、ようやくここまで辿り着く事ができました。 mod_mrubyとngx_mrubyを実装していく中で、Matzさんをはじめmrubyに関わるすごいプログラマの皆さんと出会い、多くの事を教えていただきながらここまでやってくることができました。もし、彼らと出会うことがなければここまで続ける事はできなかっただろうと思います。 mrubyに関わりながら研究・開発し、その成果物をOSSとして公開しながらやってきたことで、恐縮ながらも産学両
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Trusterd(トラスタード)と呼んでいるmrubyで設定が書けるHTTP/2 Web Serverを、色々と勉強しながら実装しているのですが、それらに下記機能を試験的に追加しました。 HTTP/1へのリバースプロキシ機能 コンテンツとしてmrubyスクリプトを実行できる機能 これらの機能はまだ実装は甘く、性能・効率面はこれから詰めていきますが、一応動作するという事で簡単に紹介します。Trusterdの設定方法や簡単な紹介は、過去のエントリ「Trusterd: HTTP/2 Web Server scripting with mruby v0.0.1 リリースしました」を御覧ください HTTP/1へのリバースプロキシ機能 これは、フロントを
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 5月からペパボ(敬称略)で仕事をしています。といっても厳密には業務に入るのはもう少ししてからになります。 契約は色々ありまして、子育てや学業がありますので、業務委託という形でインフラ周りを見ることになりそうです。 これまでペパボのエンジニアの皆さんとは何度かお会いしており、ご飯を食べたり、技術論をベースに将来の事をお話したりと、とても仲良くして頂いています。 特に技術基盤チームのメンバーの皆さんとはお話することが多く、皆さん個性的で技術的に幅広い知識を持ちながらもそれぞれ特定の分野においてはより深い知識を持っておられるので、お話していてもすごく楽しいです。 今後、ペパボはチャレンジングな事をどんどんやっていくように見えていますが、限られた時間
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Apache httpdの2.4系を触っていて、面白そうだなーと思う新しいコア機能を幾つか紹介したいと思います。こういうの欲しかった!と思える機能がちらほら見受けられます。 MPMをLoadableに扱える PreforkやWorker、eventのMPM切り替えを、これまではコンパイル時に行う必要がありましたが、それぞれのMPMがモジュール化されLoadableになりました。これによって、MPMを切り替えて試したりする作業が格段にやりやすくなったと思います。 むしろこれになれて2.2系を触ると、うおおおーっめんどくさい!ってなります。 モジュール単位やディレクトリ単位でログレベルを制御 エラーログの出力レベルを、モジュール単位で設定できたり
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 もはやApache httpdのディレクトリ構成やファイル配置はディストリビューションによって全く異なってきているのが現状です。 そういう状況で、システムにインストールされているApacheの設定に対して、なにかアクションを起こしたい場合は、システム依存のパスをスクリプトに直接かいている人もいるかもしれません。 そこで今回は、apxsコマンドさえ特定できれば、Apacheのディレクトリ構成やファイルの配置を動的に取得できるので、それを試してみましょう。 apxsのクエリオプションを使う 動的に構成情報を取得するためには、apxsのクエリーオプションを使えば良いです。クエリオプションは-qで与えられており、例えば以下のコマンドを実行すると、 [
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでの本ブログの趣味とは大きく離れた内容になりそうですが、最近は社内環境を整えるべくIdobataでHubotを活用しています。Idobataについてはこちらを参考に、Hubot on Idobataについてはこの当たりの記事を参考にすると良いと思います。 今回はIdobata環境のHubotでOSS開発の効率を上げるべく色々とHubot scriptsをCoffeeScriptで書いてみたのでそれを紹介したいと思います。現在動かしているHubot scriptはレポジトリで全て公開しているので参考にして下さい。 ちなみにIdobataで動かしていHubotの名前はHiganBotと読んでおり、定期的に行動を起こすBotをHiganCro
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 子育てと家事にいそしんでいてあまり研究ができていない松本です。こんばんは。 今日はmrubyからLinux上で動いているプロセスをサスペンドしてイメージとして保存し、サーバ再起動後や任意のタイミングでサスペンドしたタイミングのプロセスを復帰させてみましょう。 そのために、mruby-criuというmrubyのモジュールを作りました。これはCRIUという技術を使っていて、上記のようなプロセスのサスペンドが可能になります。 今回は簡単なプロセスサスペンドの例を紹介します。 カウンタをインクリメントするプロセスを起動 まずは以下のように1秒毎にsleepしながらカウンタをインクリメントして表示する簡単なスクリプトを用意します。 [program l
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Trusterd: HTTP/2 Web Server scripting with mrubyのバージョン0.0.1をリリースしました。 Trusterdはmrubyで設定を書けたり、振る舞いをプログラムブルに制御できるHTTP/2用のWebサーバです。まだまだ低機能ですが、ベースの機能が大体できたのでv0.0.1としてリリースしました。 現状の機能としては、 設定をmrubyでスクリプティングできる Listenアドレス・ポートの指定 ドキュメントルートの指定 serverヘッダの指定 デバッグオプション Rubyメソッドでリクエスト・レスポンス情報を操作 TLSオプションの有無 有りの場合はkeyとcrtファイルの指定が必要 Rubyブ
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 以前のエントリ「mrubyでSPDYやHTTP2通信」で、mrubyを使ってHTTP/2通信を行うクライアントを作りましたが、機能が最低限でした。 そこで、今回はmrubyで簡単なHTTP/2のサーバを動かせるようにしてみました。 mruby-http2の導入 mrubyでHTTP/2を動かすには、mrubyのbuild_config.rbにmruby-http2の行を追加してrakeするだけで簡単に導入できます。 [program lang=’ruby’ escaped=’true’] MRuby::Build.new do ¦conf¦ # ... (snip) ... conf.gem :github => 'matsumoto-r/m
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 前回のエントリ「軽量な静的コンテンツ配信におけるHTTP/2とSPDYのWebサーバの性能を見てみよう」では、非常に小さな静的コンテンツに対してのレスポンス性能を比較しました。今回はより詳細な比較を見るために、リクエストするコンテンツサイズの変化によって、性能がどのように遷移するかを測定し、それを測定してグラフ化しました。(ローカルホストでベンチかけてるのは環境が十分にないからなので遺憾ながら家の単一VMで評価しています。) ベンチマーク結果 ベンチマーク測定は前回のエントリと同様の環境と設定で行っており、リクエストするコンテンツファイルのサイズを前回の21byteから20000byte(20kbyte)まで遷移させて、それぞれのコンテンツサ
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 既存のHTTPやWebサーバの技術を見ているものとして、新しい技術も調査しておかないといけないなということで、今日はHTTP/2とSPDYでおしゃべり可能なWebサーバの性能を見てみたいと思います。 HTTP/2の実装としては、tatsuhiro-tさんのC言語実装ライブラリであるnghttp2に注目しており、今日はそのライブラリを使って実装されているWebサーバnghttpdを動かし、SPDY/3.1で動作しているnginxとの性能比較をしました。HTTP/2やSPDY/3.1はもちろんクライアント側も既存のベンチマークツールではおしゃべりできないので、nghttp2で実装されているh2loadを使用しました。weighttpと使い方が似て
次のページ
このページを最初にブックマークしてみませんか?
『人間とウェブの未来(旧)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く