月: 2013年11月

ChatWorkのコピーサイトを調べてみました

ChatWorkをまるごとコピーしたコピーサイトが中国に登場で紹介したように、まるごとコピーしたサイトが現れました。こういうコピーサイトが現れると、内部のソースコードが漏洩したのでは?と不安になる方も居ると思います。調べてみたので参考にして下さい。

ChatWorkの画面
chatwork_capture

コピーサイトのWokingIMの画面
workingim

もっと読む

日経Linux12月号

先月の11月号にOSSEC HIDSの記事を書いたので、次の号の日経Linux12月号も頂きました。
100の初心者から上級者向け(OpenStackなど)Tipsが載っています。

GPS将棋サーバーを作る、ownMdm (MDM: Mobile Device Management)でAndroidスマホのロック&位置取得、DAPPサーバー/DLNAサーバーを導入する、など役立つTIPSが載っています。付録のDVDに記事で利用しているUbuntuが入っているようなので初心者でも直ぐ楽しめるが良いですね。

この他にも電子工作で室温を計測し、グラフ化する記事もあります。これは自宅の温度管理(必要なのかは別にしてただ面白い)やサーバールームがある会社さんではサーバールームの温度管理などにも使えます。学生時代以来、電子工作はしていませんでしたが久々にやってみたくなりました。

RailsのJavaScript文字列エスケープ

RailsはJavaScript文字列エスケープメソッドをサポートしています。JavaScript文字列エスケープのエントリで様々な議論があったようです。弊社ではRailsアプリのソースコードも検査しているので、参考としてRailsのソースコードを確認したことを追記をしたました。Rails開発者に直して頂きたいので独立したエントリにしました。

参考:

もっと読む

Webアプリの入力はバリデーションできない、という誤解

Webアプリの入力はバリデーションできない、と誤解している方は少なく無いようです。システム開発に関わる人でなければ誤解していても構わないのですが、システム開発者が誤解していると安全なシステムを作ることは難しいでしょう。

Webアプリの入力はバリデーションできない、と誤解している開発者にも理解できるよう噛み砕いて解説してみます。

もっと読む

PHP逆引きレシピ 第2版

翔泳社さんよりPHP逆引きレシピを献本いただきました。
870ページ以上もある大作です!

PHPを使ってアレがしたい、コレがしたい、といった項目が網羅されています。Webで検索するのも良いですが、私のように詳しく書かない人も多い(?!)ので、PHPでWeb開発している会社さんなら一冊手元に置いておいて損はないと思います。


エンジニア必須の概念 – 契約による設計と信頼境界線

少し設計よりの話を書くとそれに関連する話を書きたくなったので出力の話は後日書きます。

契約による設計(契約プログラミング)(Design by Contract – DbC)は優れた設計・プログラミング手法です。契約による設計と信頼境界線について解説します。
もっと読む

XPathクエリ(2)

XPathクエリ(1)の続きです。

現在のPHPのXPathクエリの問題はXPath 1.0である事です。通常の仕様書であれば特殊文字のある文字列の場合はエスケープ方法やエスケープAPIが定義されています。エスケープ方法が定義されていなければ「特殊文字を入力することができない」からです。エスケープ方法が無い場合は「エスケープが必要ないAPI」を用意すべきです。

しかし、XPath 1.0ではエスケープ方法もエスケープAPI、エスケープが必要ないAPIも定義されていません。このような場合、仕様を実装しているライブラリの実際の挙動を確認して利用することになります。PHPのSimpleXML、XMLXpathクラスの場合はlibxml2を利用しているので、libxml2の動作を確かめる必要があります。

もっと読む