タグ

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

  • Apache 2.4系でのモダンなアクセス制御の書き方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。 過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。 こせきの技術日記 – Apacheのアクセス制御をちゃんと理解する。 ここで、以下のように言及されています。 こんなバッドノウハウ、当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。 ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比

    Apache 2.4系でのモダンなアクセス制御の書き方
  • Apache 2.4.1まとめ – リリース後2週間を迎えて | 人間とウェブの未来

    Apache2.4.1がリリースしてから、約2週間たった。 自分が思っていた以上に、世の中の人はApacheやWebサーバに関心があるようで、この2週間でもかなりの検証や調査が行われていた。僕自身も、自分の記事をここまで見て頂けて光栄である。 ということで、2週間たったのでApache2.4.1に関して注目された(個人的に)9つの記事をまとめておきたいと思う。

  • Linuxで3万(10万)プロセスを同時に起動させてみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 といっても、きちんとした検証をしたわけではないので、あくまで「こういう環境でこういう事をやるとこうなる」という参考程度のものと理解してい頂ければ幸いです。 Linux上でプロセスは同時に何個起動できるのか 数年前にC10K問題が流行りました。これは、簡単に言うと、万のオーダーでプロセスを立ち上げる事になると、現状のOSではそれを想定した設計になっていないためまともに動かなくなる、といった問題でした。 だったら、「10万プロセス位を同時に立ち上げてみて、どうなるか試してみようぜ!」と思い、会社のエンジニアと一緒に試してみました。検証環境は、メモリ48GでCPUはHyperThreading込で24コアです。そこで動いていたOSはDebianでL

    Linuxで3万(10万)プロセスを同時に起動させてみた
  • なぜApacheにmrubyを組み込もうと思ったか

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 なぜWebサーバソフトウェアであるApacheやNginx等にmrubyを組み込もうと思ったのかを整理しておきたいと思いました。 目的はWebサーバの開発支援 Webサーバの開発支援をしたい という壮大な目的が以前からありました。 それがどういうことかは後述するとして、ここでいうWebサーバの開発とは、Webサーバの内部機能拡張を指しています。それを行うにはどうしたら良いかをまず簡単に説明したいと思います。(スクラッチでWebサーバを1から実装するのもよいですが、ここではスコープ外とします) 例えば、Apacheを例にあげると、Webサーバの内部機能拡張はモジュール単位で組み込むという方法が取られています。ApacheやNginxはWebサー

    なぜApacheにmrubyを組み込もうと思ったか
  • 非同期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の多重化について
  • 大規模監視システムの冗長構成を設計するための9つのポイント

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 インターネットにおいて、素晴らしいサービスが沢山生まれてきている一方で、実はそれらを後ろで目立つことなく支えている人達がいます。 はい、それが皆さんご存知の所謂インフラエンジニアと呼ばれる人達です。素晴らしいサービスやアプリケーションがリリースされ、そらを開発したプログラマーが世間からの脚光を浴びている中、インフラエンジニアはその陰に身をひそめ、リリース後からこそ真の地獄が始まる、と言わんばかりに、サーバやネットワークのリソースのグラフを昼夜問わず眺めたり、監視アラートにビクビク怯えながら日々すごしています。 しかし、彼らはシステムを安定稼働させるために、自ら進んで後ろに立ち、常にシステムを最適化するためにはどうしたら良いかを考えてくれている

    大規模監視システムの冗長構成を設計するための9つのポイント
  • chmodやchownのreferenceオプションを知った時は目から鱗だった話

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 元々ホスティング会社で働いていたので、その特性上ownerやpermissionを色々と弄る事が多く、数年前の社会人時代にchmodやchownをもっと楽に使えないかなぁと調べた時に目から鱗だったのがchmodやchownのreferenceオプションでした。 今回は単にreferenceオプション楽ですよね、という記事なのでご存知の方は退屈な記事だと思いますが、まわりに聞いてみた所意外と知られていなかったりしたので、ブログエントリにしておこうと思います。 referenceオプションを使うと、任意のファイルを指定することで、変更対象のownerやpermissionを指定したファイルと同じ設定にすることができます。 例えば、/bin/pin

    chmodやchownのreferenceオプションを知った時は目から鱗だった話
  • Docker HubとGitHubを連携させてmod_mruby実行環境をDockerで簡単にデプロイ

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Docker Hub公開のアナウンスがあったので、早速Docker HubとGitHubを連携させてmod_mrubyの実行環境をDockerイメージとして作った上で、それをMac上のVagrantで動くCoreOS内のDocker環境にデプロイしてみました。 エントリではmod_mrubyとしていますがここは重要ではなく、自身が開発しているGitHubのアプリケーションに置き換えて読んで頂けると、便利さが見えてくるかと思います。 試してみると、非常に簡単にDockerイメージを作成できた上に、迅速にmod_mrubyの軽量な実行環境をデプロイできたので、その流れを簡単に紹介したいと思います。 Docker Hubにアカウントを作ってGit

    Docker HubとGitHubを連携させてmod_mruby実行環境をDockerで簡単にデプロイ
  • Linuxエンジニアを目指して入社一年目にやって役にたったと思う事

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

    Linuxエンジニアを目指して入社一年目にやって役にたったと思う事
    fumikony
    fumikony 2014/08/19
  • Gitのコミット単位で動的にDockerイメージをデプロイするプロキシサーバpool

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。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

    Gitのコミット単位で動的にDockerイメージをデプロイするプロキシサーバpool
  • 1冊の技術書と青春18切符を持って一人旅してきた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 (画像が多いので、一旦データを全て読み込んでからブログエントリを読み始めた方が良いかもしれません…) http://instagram.com/p/rgfgD4I7VE/ 「ちょっと明日から1人でLinuxの旅に行ってくる」エントリに書いた通り、先週Linuxプログラミングインタフェースというとっても重たい技術書と青春18切符と最低限の着替えを持って、北海道目指して鈍行や快速を乗り継ぎ、技術書を電車の中でひたすら読む1人旅をしてきました。 オライリーLinuxの三大凶器(自社調べ)を比較してみたらカーネルが一番 "薄い"のだな pic.twitter.com/SM26NKSiqh — hiroya ito (@hiboma) August

    1冊の技術書と青春18切符を持って一人旅してきた
    fumikony
    fumikony 2014/08/10
    いいな
  • csshXが素晴らしすぎる件

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 複数のホストに対して、同時にコマンドを実行するツールはpssh等いくつかあると思うのですが、もっと自由度高く、viで編集したり、さらにはsshでログインしている状態でやれるような作業を全部同時にやりたいと思っていました。 そんな都合の良いツールはなかなかなくて、会社の人がLinuxでCluster SSHを使っていて、Linux限定かぁと諦めていたところ、なんとMacで使えるcluster SSHのcsshXがあるようだと教えてもらいました。これがあまりに素晴らし過ぎるので簡単に紹介します。 インストール brew環境を入れている人は以下のコマンド一発で使えるようになります。 [program lang=’bash’ escaped=’tru

    fumikony
    fumikony 2013/01/10
  • 1