明滅するプログラマの思索

WEBエンジニアとして勤務している一介の男が、日々気づいたことをまとめるブログです

ps ax|grep コマンドで自分自身を除く

ps コマンドと grep コマンドを使って、実行中のプロセスを確認するとき、結果にその実行コマンドも含まれてしまいます。
たとえば、httpd プロセスを確認するとき、以下のように書きますが、

$ ps ax|grep httpd
 1468 ?        Sl     1:11 /usr/sbin/httpd
 1469 ?        Sl     1:05 /usr/sbin/httpd
 1470 ?        Sl     1:13 /usr/sbin/httpd
 1471 ?        Sl     1:05 /usr/sbin/httpd
 1472 ?        Sl     1:06 /usr/sbin/httpd
 1473 ?        Sl     1:04 /usr/sbin/httpd
 1474 ?        Sl     1:07 /usr/sbin/httpd
 1475 ?        Sl     1:13 /usr/sbin/httpd
 6760 pts/7    S+     0:00 grep httpd      ←実行コマンドが含まれる
19200 ?        Sl     1:09 /usr/sbin/httpd
19201 ?        Sl     1:09 /usr/sbin/httpd
19271 ?        Sl     1:07 /usr/sbin/httpd
19272 ?        Sl     1:06 /usr/sbin/httpd
20058 ?        Sl     1:04 /usr/sbin/httpd
22555 ?        Ss     5:04 /usr/sbin/httpd
22600 ?        Sl     1:02 /usr/sbin/httpd
22602 ?        Sl     1:02 /usr/sbin/httpd
22603 ?        Sl     1:05 /usr/sbin/httpd
24020 ?        Sl     1:00 /usr/sbin/httpd
24029 ?        Sl     0:59 /usr/sbin/httpd
続きを読む

HLS(HTTP Live Streaming) を構築する

HLS とは

  • Apple が開発した動画ストリーミングのためのロジックです。
  • 主にSmartphone向け、iPhone / Android3.0 以上で動作します。PCではデフォルトでは再生できませんが、Javascriptベースの再生可能なプレイヤーは開発されています。
  • 特別なサーバを必要とせず、Webサーバがあれば実装可能です。
  • 要はお手軽なストリーミングサーバ!

導入環境

ソフトウェア バージョン
CentOS 6.8
Apache 2.2.15
続きを読む

jQuery における context の役割

jQuery には context という名のプロパティ、オプションがあります。
今回はこれの役割についてまとめてみます。

context とは

日本語にすると「文脈」とか「前後関係」なんて訳されます。
jQuery の中では、「関連付け」というような意味の役割を持っています。

続きを読む

クラス内 static プロパティについてまとめ

PHP のクラスが持つプロパティ(メンバ変数)には、static 修飾子を付けることができます。

<?php
class A
{
    public static $HOGE = 'hoge';
}

static 修飾子をつけたプロパティとそうでないプロパティは、何が違うのでしょうか。

実装条件

ソフトウェア バージョン
PHP 5.6.30
続きを読む

画像をHTMLに直接埋め込む方法

HTMLで画像を表示する場合、<img />タグを使用します。
このとき、画像のバイナリデータが取得できるなら、以下のように書くことができます。

<?php
$mime_type = 'image/jpeg';
$image_data = base64_encode(file_get_contents("request-t.jpg"));
$img_tag = <<< EOF
<img src="data:$mime_type;base64,$image_data" />
EOF;
続きを読む

PHPで require_once / require を使わずにクラスをロードする

PHP でファイルを読み込む際 require_once や require を使うことになりますが、読み込むファイルが膨大になると大量の require_once / require を記述しなくてはいけなくなります。
spl_autoload_register() を使うと、読み込まれていないクラスをコールした際にこちらに登録されているメソッドが呼ばれるので、救済的なロジックを記述することができます。
さらに名前空間を最適に運用することで、少ない労力でクラスファイルのオートロードが実現できます。

名前空間について

PHP名前空間はバージョン5.3で追加されました。
クラスファイルに名前空間を設定することで、別の名前空間に同じクラス名のファイルを作成することができるようになります。

続きを読む