タグ

ブックマーク / blog.matsumoto-r.jp (48)

  • 人間とウェブの未来 - Linuxエンジニアを辞めて大学院に入学しました

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 昨日の記事が1日で多くの方に見て頂けているようでとてもうれしいです。 今回は元々、今日このタイミングで記事にしたいと思っていた内容があったのでそれを書きたいと思います。僕は去年の9月に会社をやめて、今年の4月から大学院に入学しました。「Linuxエンジニアを目指して入社1年目で役に立ったと思う事を書いた人が、実はLinuxエンジニアをやめていた事を知ると、昨日のはなんだったの?」と思う人もいるかもし れません。なので、少しタイミングが悪いかもしれませんが、とりあえず書こうと思います。話は小学校までさかのぼるので長くなるかもしれません。暇つぶしに読んでやろうか、ぐらいで読んで頂ければと思います。 大学までの自分 僕は、小学校3年ぐらいから中学

    人間とウェブの未来 - Linuxエンジニアを辞めて大学院に入学しました
    yuiseki
    yuiseki 2012/04/09
  • 非同期I/OやノンブロッキングI/O及びI/Oの多重化について

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 2017年5月20日追記 エントリはI/OのOperationとCompletionおよびデータ整合性を混ぜてまとめた一部誤った定義になっているので、正確な定義を日語で知りたい方は下記にリンクしたエントリを読むことをおすすめします。 非同期とノンブロッキングとあと何か Apache2.4.1のevent_mpmnginx及びnodde.jsのアーキテクチャを考える上で、非同期I/OやノンブロッキングI/O、I/Oの多重化に関してある程度正確な理解が必要だと思ったのでまとめておく。 ここで「ある程度」といったのは、非同期を表すAsynchronousとノンブロッキングのnon-blockingは曖昧に使われる場合が多いからだ。まず、英語

    非同期I/OやノンブロッキングI/O及びI/Oの多重化について
  • Linuxエンジニアを目指して入社一年目にやって役にたったと思う事

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 自分がLinuxエンジニアになりたくて、入社一年目にやってよかった事をまとめておこうと思う。一年目にどれだけやるかが、勝負の別れめといっても過言ではない。それは技術を学ぶだけではない。いっぱいあるんだけど、最低限やって良かったなと思う項目を列挙する。 それがぼくには楽しかったからを読む Amazonとかで買う。出来れば原著がいいけど無理しなくて良い。 Just for Fun. Linuxがどうやってできたか、なぜそれをしようと思ったのかが分かり、今後自分がLinuxエンジニアとしてどういう動機で仕事をしていきたいかを考えさせてくれる。このを読めば、自分が仕事でオープンソースを扱っていることに自信を持てると思う。 「なんでその仕事してる

    Linuxエンジニアを目指して入社一年目にやって役にたったと思う事
    yuiseki
    yuiseki 2012/04/06
  • 変化点検出エンジン

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ※春に行った京都の玄武岩 さて、久々の研究報告です。 NECさんの開発している変化点検出エンジン「ChangeFinder」を、プログラムで実装してみました。 「ChangeFinder」は、これまでの従来の手法による変化点検出にかかる計算コストを大幅に削減した独自のアルゴリズムによって開発されています。 データマイニングの観点から、外れ値と変化点を区別して、変化点を検出することに成功しています。 このように、変化点と外れ値は同一のアルゴリズム内で扱うのは難しいとされてきた中で、計算量を削減した上で同一に扱えるというのは、かなり画期的な手法です。 それでは、実験的にデータを発生させたりすることで、適当な時系列データを作成し、どの程度の精度と計

    変化点検出エンジン
  • 汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 「汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善」というネタで2011年の12月にIOTシンポジウムで発表してきた。 大規模なユーザーを処理するWebホスティングの構築方法についての発表だ。論文はこちら。 概要としては、以下のようになっている。 近年,AmazonEC2 に代表されるクラウドの台頭に伴い,ホスティングサービスの低価格化が進んでいる.そこで,我々は限られたリソースから大多数のホスト (約 12000 ホスト) を処理するための Web ホスティング基盤を開発した.リソースを必要最小限に抑えるために Apache の VirtualHost 機能を用いて,アクセスのあったホスト名でコンテンツ

    汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
    yuiseki
    yuiseki 2012/04/01
  • Apache2.4.1のmod_luaをいきなり弄ってフックできる箇所を増やしてみたよ

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_lua、色々触ってみた所、すごい簡単にモジュールっぽい動きが実装できて、可読性も良くて便利。 ソース しかし、個人的にモジュール実装する時に良く使うのは、アクセスログ出力時のフック箇所(ap_hook_log_transaction)である。例えば、リクエスト毎にレスポンス処理前の最終段階であるap_hook_fixupsの段階でrusage()等でリソースの計測始めて、ap_hook_log_transactionの段階で差分を算出し、動的コンテンツ実行に利用したCPU使用時間等を計測する、といった使い方ができる。また、処理始めでカウンターを上げておいて、処理終わってログ書き込む段階でカウンター下げるといった使い方にもap_hook

    Apache2.4.1のmod_luaをいきなり弄ってフックできる箇所を増やしてみたよ
    yuiseki
    yuiseki 2012/03/31
  • nginxの非同期I/Oとキャッシュ周りの実装について

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 nginx-1.0.14のソースを見ていく。非同期I/Oをどのようにくししているのか非常に興味がある。まずは、リクエストを受け取った後、どのようにファイルを非同期で読み込みそれをキャッシュとして扱っていくのか、また、非同期であることの優位性をどのように実装しているのかを紐解いていった。 まずは以下の「ngx_http_file_cache_read()」関数でキャッシュの読み込みや更新を行っている。 [program lang=’c’ escaped=’true’] static ngx_int_t ngx_http_file_cache_read(ngx_http_request_t *r, ngx_http_cache_t *c) { t

    nginxの非同期I/Oとキャッシュ周りの実装について
    yuiseki
    yuiseki 2012/03/31
  • Apache 2.4.1のmod_luaでApacheに介入する(mod_rewriteの終焉?)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 といいつつも、そこまで大したことはしていない。 luaという高速に動作する組み込み系のスクリプト言語で遊んでみたかったのと、それだったmod_luaで遊んでみればいいなと思っただけである。で、実際にmod_luaをコンパイルして遊んでみた。コンパイルオプションは以下。 ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --enable-modules=all --enable-mods-shared=all --enable-mpms-shared='prefork worker event' -

    Apache 2.4.1のmod_luaでApacheに介入する(mod_rewriteの終焉?)
    yuiseki
    yuiseki 2012/03/28