starseekerのフィード見てて、 ・・・えっ? ・・・え?・・・・え!? ・・・・・・・・・・・・・・・・。
starseekerのフィード見てて、 ・・・えっ? ・・・え?・・・・え!? ・・・・・・・・・・・・・・・・。
ここ数年、PHP でシグナルを使う機会が多かったので、気づいた点などを整理してみます。 本当のシグナルハンドラと PHP のシグナルハンドラ pcntl_signal() で登録する PHP のシグナルハンドラは、本当の意味でのシグナルハンドラではありません。なので、シグナルハンドラから非同期シグナルで安全では無い関数でも呼び出すことが出来ます。 <?php declare (ticks = 1); pcntl_signal(SIGTERM, function ($signo) { printf("%d -> %s\n", $signo, "だが断る"); }); posix_kill(posix_getpid(), SIGTERM); exit(0); 本当のシグナルハンドラは次の箇所で定義されており、所謂リンクドリストに受信したシグナル番号を記録しています。 pcntl.c:1216
マカーです。 2回に分けてPHPによるUNIXデーモンの作成方法について説明します。 PHPは他のLightweight Languageに比べてWeb開発言語という印象が強いですが、PHPでもデーモンを作ることもできます。 デーモンってなんだ? メモリに常駐しバックグラウンドで様々なサービスを提供するプログラムです。 PHPで作ると何がうれしい? C言語ではなくPHPで開発する事で、開発期間を短縮することが出来ます。 デーモンを開発する上で押さえるべきポイント デーモンを開発する上で押さえるべきポイントは以下の通りです。 どんな言語を使う場合であっても共通です。 セッションを現在のプロセスから独立させる。 デーモンはバックグラウンドで動作する為、制御端末から切り離します。 setsidにより行いますが、setsidは親プロセスで呼ぶと失敗するため、 forkで子プロセス生成し、
Tiarra を monit 配下で動かしてみた。ありそうなのになぜかぐぐっても例が見つからなかったのでメモ。環境はさくらの VPS (CentOS 5.5)。 Tiarra は Perl で書かれた IRC Proxy で、 monit はプロセス監視ツール。 Tiarra の導入と設定 CodeRepos から落としてきて適当に tiarra.conf を書き換える。 ./tiarra --make-password とかも忘れずに。 $ svn co http://svn.coderepos.org/share/lang/perl/tiarra/trunk/ tiarra $ cp tiarra/sample.conf tiarra/tiarra.conf $ editor tiarra/tiarra.conf $ perl tiarra/tiarra --config=tiarra
In my humble opinion Silex is great. It’s perfect to create prototypes, but when our application grows up it turns into a mess. That was what I thought until the last month, when I attended to a great talk about Silex with Javier Eguiluz. OK. Scaling Silex it’s not the same than with a Symfony application, but it’s possible. It’s pretty straightforward to create a Silex application with composer:
タイトルは釣りです。 まずおおざっぱに用語の整理をさせていただくと、ここで「トレイト」は、シェルリ(Nathanael Schärli)らが2002年頃に発表したTraitsやそれ用のエンティティ(trait)を指し、「ミクスイン(Mixin, mixin)」は従来からある実装の多重継承方法のひとつ、具体的には継承機構を使ってメソッドを定義したクラス様エンティティ(クラスでも構わない)を継承パスに差し込むことで対象となるクラスにメソッドを追加する機構(特別な機構を要しないときは単なるクラスの運用方法)、そのときに用いるクラスあるいはクラス様エンティティ(例えばRubyならモジュールとか)を指すことにします。 トレイトやその機構について説明すべきことはいろいろありそうですが、詳しくはシェルリらの論文(Traits: Composable Units of Behaviour など)を読んでい
hubコマンドは、MacやLinuxのターミナルからGitHubの操作をおこなうためのコマンドです。通常はブラウザを通しておこなっているような操作をCLIでおこなうことができます。 これがURLを渡すだけで、利用シーンがあるので、紹介します。 インストール公式サイトを確認する限りgemでインストールするのは、動作が遅くなるので非推奨とのこと。よって、Mac環境はHomebrewかMacPortsで入れた方が良い。 gitコマンドのエイリアスとしてhubを設定してしまうことが推奨されてますが、あえて今回はしません。 MacPortsの場合 $ sudo port install hub Homebrewの場合 $ brew install hub 動作確認$ hub --version git version 1.7.12.4 hub version 1.10.2GitHubへの初回アクセス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く