PhantomJSはWebKitを利用したヘッドレスHTTPクライアントです。Webアプリのテストのみでなく、WebページをPDFや画像に変換する為に利用している方も多いと思います。手元のFedora19を載せているマシンでは動作せず、原因と思われる物も分ったのでエントリを作りました。
 (さらに…)
- 
日経Linux12月号先月の11月号にOSSEC HIDSの記事を書いたので、次の号の日経Linux12月号も頂きました。 
 100の初心者から上級者向け(OpenStackなど)Tipsが載っています。GPS将棋サーバーを作る、ownMdm (MDM: Mobile Device Management)でAndroidスマホのロック&位置取得、DAPPサーバー/DLNAサーバーを導入する、など役立つTIPSが載っています。付録のDVDに記事で利用しているUbuntuが入っているようなので初心者でも直ぐ楽しめるが良いですね。 この他にも電子工作で室温を計測し、グラフ化する記事もあります。これは自宅の温度管理(必要なのかは別にしてただ面白い)やサーバールームがある会社さんではサーバールームの温度管理などにも使えます。学生時代以来、電子工作はしていませんでしたが久々にやってみたくなりました。 
- 
PHPのスクリプトを色々な環境で試すサービスPHPで開発したり、記事を執筆する時には色々な環境で試したい場合があります。自分の環境で試すのも良いですが、Webサイトにコピー&ペーストで試せると便利です。あまり知られていない(?)ようなので紹介します。 
- 
RailsのJavaScript文字列エスケープRailsはJavaScript文字列エスケープメソッドをサポートしています。JavaScript文字列エスケープのエントリで様々な議論があったようです。弊社ではRailsアプリのソースコードも検査しているので、参考としてRailsのソースコードを確認したことを追記をしたました。Rails開発者に直して頂きたいので独立したエントリにしました。 参考: 
- 
Webアプリの入力はバリデーションできない、という誤解Webアプリの入力はバリデーションできない、と誤解している方は少なく無いようです。システム開発に関わる人でなければ誤解していても構わないのですが、システム開発者が誤解していると安全なシステムを作ることは難しいでしょう。 Webアプリの入力はバリデーションできない、と誤解している開発者にも理解できるよう噛み砕いて解説してみます。 
- 
JavaScript文字列のエスケープを回避する方法JavaScriptの文字列をエスケープのエントリでJavaScript文字列をエスケープ後に直接出力するより、DOMから取得してはどうか?という提案があったのでエントリを作成しました。 
- 
出力先のシステムが同じでも、出力先が異なる、を意識する出力先のシステムが同じでも、出力先が異なる場合はよくあります。これを意識していないとセキュリティ問題の原因になります。 
 (さらに…)
- 
JavaScript文字列エスケープの解説JavaScript文字列のエスケープの解説というか補足です。 
- 
エンジニア必須の概念 – 契約による設計と信頼境界線少し設計よりの話を書くとそれに関連する話を書きたくなったので出力の話は後日書きます。 契約による設計(契約プログラミング)(Design by Contract – DbC)は優れた設計・プログラミング手法です。契約による設計と信頼境界線について解説します。 
 (さらに…)
- 
JavaScript文字列のエスケープサーバー側のプログラムでJavaScriptの文字列にデータを出力するケースはよくあります。このような場合、エスケープ処理を行うことが必須です。 (さらに…)
 JavaScript文字リテラルは次のように定義されています。(ECMAScript 5.1)
- 
XPathクエリ(2)XPathクエリ(1)の続きです。 現在のPHPのXPathクエリの問題はXPath 1.0である事です。通常の仕様書であれば特殊文字のある文字列の場合はエスケープ方法やエスケープAPIが定義されています。エスケープ方法が定義されていなければ「特殊文字を入力することができない」からです。エスケープ方法が無い場合は「エスケープが必要ないAPI」を用意すべきです。 (さらに…)
 しかし、XPath 1.0ではエスケープ方法もエスケープAPI、エスケープが必要ないAPIも定義されていません。このような場合、仕様を実装しているライブラリの実際の挙動を確認して利用することになります。PHPのSimpleXML、XMLXpathクラスの場合はlibxml2を利用しているので、libxml2の動作を確かめる必要があります。
- 
秘密保護法案が政府の秘密を永遠に秘密にする?!秘密保護法案(特定秘密保護法案、秘密保全法案)が話題になっていますが、どうも議論の論点がズレている。数面にわたる新聞の記事を読んで、随分おかしな議論だと感じたのでエントリを作りました。 
 (さらに…)
- 
XPathクエリ(1)XPathはXML文書をクエリして要素を取り出す仕組みです。XML文書を検索して結果を返します。 SimpleXMLにはxpathメソッドが用意されています。 
 SimpleXMLElement::xpath<?php $result = $simple_xml_obj->query('my/x/path'); ?>