タグ

ブックマーク / lowreal.net (4)

  • Server::Starter を node.js のサーバ起動に使う | tech - 氾濫原

    Server::Starter は hot deploy 用の汎用スーパーデーモンで、Perl で書かれています。h2o の起動にも使われているのでみなさんおなじみでしょう! Server::Starter がやってることは、Server::Starter 側で listen したソケットの fd を環境変数につっこんで子プロセスを起動というものです。子プロセス側では渡ってきた環境変数を読んで、fd について accept すれば良いことになります。 これを node.js でやるには以下のようにすれば良いようです。 //#!/usr/bin/env node "use strict"; const http = require('http'); const server_starter_port = process.env['SERVER_STARTER_PORT']; if (!ser

  • YAPC::Asia で「ウェブエンジニアのローレベルプログラミング」という発表をしました | tech - 氾濫原

    ちょっと時間に対して話したいことが多すぎて、各分野での掘り下げが足りなかったとは思いますが、一通り下のほうまで盛りこみました。 電子工学について:自分は学校で電子工学を体系的に学んだことはありません。 YAPC 会期中はそこらへん歩いてます。

    YAPC::Asia で「ウェブエンジニアのローレベルプログラミング」という発表をしました | tech - 氾濫原
    y_uuki
    y_uuki 2014/08/30
  • Teng 0.19 | tech - 氾濫原

    メンテナになってからしばらくパッチあてたりしつつ放っておいたのですが、0.19 として出しました。 Teng::Row が結構書き変えられているので、そのへんちょっと気をつけて使ったほうがいいかもしれないです。inflate/deflate まわりの挙動をまともにしたつもりです。今までなんとなく動いていた感じだったので…… それにともなって set/get というメソッドが追加されています また、kazeburo さんのパッチにより is_changed メソッドが追加されています。これにより実際は update しなくてもいいケースを簡単に判定しやすくなっています。デフォルトでは今まで通りなので実際にそうするには呼び出し側で判定をする必要があります。 0.19 には入れず、今後やろうとか思っていること 自分で書いたのは以下あたり。ちょっと冷却期間中です。 https://github.c

  • プログラムが書けない人に「仕様変更」について説明するには | tech - 氾濫原

    「仕様変更」という言葉はプログラム書く人じゃないと、そのイメージが掴めないと思う。イメージが掴めない人に対してそれを説明するとしたら何がいいだろう? と思った。 とりあえず、料理に例えたらいいのではないかと思ったので、それに例えて考えてみる。 仕様とはレシピのことであり、最終的には具体的に「べることができる美味しい料理」すなわち「うまく動くプログラム」を作ることを目的としている。 仕様というのは、最初は「イタリア料理」「日料理」「中華料理」程度しか示されない。当然この時点では方針程度しか考えることができない。材を買うこともできない。せいぜい使う調味料を揃えるぐらいしかできない。 もう少し進むと、料理名まで具体化される。スパゲティを作りましょうとか、ピザを作りましょうとかだ。とりあえずここまできたら小麦粉を買おうとかまではできるかもしれない。でも実際に作りはじめることはできない。 さら

    y_uuki
    y_uuki 2013/03/02
  • 1