mabots' blog

知のレバレッジを最大化せよ (旧はてなダイアリーから移転しました。)

テクノロジー

PHPで携帯のUser Agentを自動判別するPEARライブラリ

モバイル版を作りたい、そんな要望にこたえるため、フロントコントローラーの修正をする場合に携帯のUser Agentを自動判別する便利なPEARライブラリがあります。(CPANにも同様の本家のものがあり、そちらがベースになってます)http://pear.php.net/package/N…

PEAR::Authで、任意の情報をユーザ追加時に認証テーブルに書き込んだり、引き出したりしたい

PEAR::Authモジュールでは、ユーザー認証につかうテーブル(id,とhash化されたpassを格納する。idはプライマリキーである必要がある)に対して、任意のカラムを付与してあげて、その情報を認証クラスから引き出してあげたりすることができます。例えば、PEAR::…

smartyでUNIX TIMEがはいってる変数にDate format

したかったんですが、どうも中身がunix timeの変数に対してdate_formatのフィルタをかけようとすると、ブール型だからだめとかごねられます。(できてもいいのにな。。。smartyのバージョン古いとかあるのかもしれません)ので、assignする段階で、php側でdate…

FAQサイトを実現するphpmyfaqをインストール

よくある質問をWEBにのせて管理画面から更新したい、みんなから募って教えてgoo!的なページを作りたい、そんな要望を実現させてくれるのがこのphpmyfaqというOSSです。 さっそくインストールしてみました。 取得 (2系と1系がありますが、2系はバギーだったの…

パスワードで安全に使える「記号」って何だ?

前提として 最近セキュリティー監査がなかなか厳しいご時世になってきてますが、パスワードを厳格化することをシステム要件として組み込んでくれ、という要件が多くなってきています。まぁ、一言、メールとかで連絡しておけばよいわけですが、システム側でも…

PHPフレームワーク比較とサンプルアプリ @ IBMdw

私はibmのまわしものではありませんが、ibm developerworksにて、zend, symfony, cakePHPのフレームワークの紹介とサンプルソースの記事が載っていました。 いくつかフレームワーク比較されたい方には、参考になるかと思います。(脚注のまとめかたのさじ加減…

Pligg(ソーシャルブックマークのOSS)をインストール

ソーシャルブックマークサイトを構築することができる、Pligg Beta 9.8.2をインストールしてみたのでメモ。 資源の取得 http://www.pligg.com/ でユーザ登録をして取得する必要があった。微妙にダウンロードがわかりにくいが、なんとかダウンロード。 DBの作…

PuTTYの秘密鍵をLinuxのsshや他のsshクライアントソフト(Poderosaとか)で使えない

という質問をよく聞くのですが、PuTTYの秘密鍵はPuTTY独自の鍵保存形式をとっています。下記のような違いがあります。 PUTTY秘密鍵形式 PuTTY-User-Key-File-2: ssh-dss から始まる・・・ OpenSSH鍵形式 BEGIN DSA PRIVATE KEY----- から始まる・・・ そして…

SimpleXML simplexml_load_string()で文字コードが原因でエラーになる件

XMLをObjectベースで取り扱えるSimple XMLですが、parseしようしとしたときに、 Cannot use string offset as an array でfatal errorになっていいて、どうもsimplexml_load_string()の時点で、Wariningになってしまうような現象がなかなか解決できませんで…

携帯かどうかをIPからみて判断する

とりあえずまとめてみました。 CPAN IPアドレスからモバイルキャリアを判定するモジュール http://search.cpan.org/dist/Net-CIDR-MobileJP/lib/Net/CIDR/MobileJP.pm →IPはYAMLでおいておく WEBアプリでhtacessを自動生成してくれるページ(!) http://www.ds…

PostgreSQLからMySQLへ移行するポイント

PostgreSQL 7.4.x系からMySQL 5.0.x系(storage engine = innodb)へ移行する案件があって、かつ、社内勉強会の講師をしていたときに移行ポイントの質問がでたので、ポイントをまとめてみました。 Point INSERT, UPDATEを内包するサブクエリで失敗する トラン…

DBDesignerでERモデリングから簡単DB設計

先日取り上げたDBDesignerですが、使い方になれればすごく便利です。▼日本語化 http://dbdesigner.iimp.jp/ ▼本家 http://fabforce.net/dbdesigner4/何がいいかというとまるでパズルを組み立てるごとくER図を作っていくと、DB設計からDB接続してCREATE TABLE…

ERモデリングツール DBDesignerの日本語化

ERモデリングツールでOSSの、「DBDesigner」の日本語化をyossyさんがされていたので紹介です。http://dbdesigner.iimp.jp/このソフトER図つくりながら、そのままクエリ発行してDBに反映させることができるので、論理設計レベルであればこのソフトだけで完結…

WEBサービスの死

私が、WEBサービスを作ろうとおもって、構築PMをやりはじめて、三年近くがたとうとしている。 それまでは、SIPベースのソフトフォンを開発していたのだが、なんだか一般ユーザーに叱咤激励されながらサービスをつくっていかんとあかんなぁという思いから、た…

パラメータ(QUERY_STRING)を削除しながらapacheでrewriteするには

マニアックといえばマニアックなんですが、サイトの移転時にURLリダイレクトする際通常はパラメータを維持しながら、リダイレクトするんですが、あえて、?移行のパラメータがはいっているとまずいパターンがある。たとえばaaa.jp/hogeに移転するとき下記のよ…

WindowsとLinuxでのApacheの挙動の違い

もう当たり前っちゃあたりまえですが、環境移行に際して、いくつか気づいた点をメモ include_pathなどの指定において、.;がwindowsだが、.:が本来のlinux ディレクティブとかの設定終端の/は指定できない。例 Windowsでは".;C:\apache\myapp\;C:\hoge\moge\"…

PHP5でSingletonを用いたDAOを作ってDBへのアクセスを合理化する

WEBアプリケーションを作っていて、「SQLをまとめたclass」(下記例ではtestEntity)を作っていたとしよう。そして、そのclassをエンティティごとに切り分けたり、機能系ごとに切り分けていたりしたとき、たとえばトップページなどでありもののいろいろなファ…

アート・オブ・プロジェクトマネジメント

オライリーから出版されている「アート・オブ・プロジェクトマネジメント」という本を読んだ。マイクロソフトでのプロダクトマネージャ経験をもつ著者によってSEと比べあまりフォーカスされることのないPMという世界でうまくやっていくTIPSを紹介している。…

はてなに移住

ブログを移住してみました。というかブログやらSNSやらで飯を食っているのであんまこう、本来の目的に使っていなかったんですね・・・このブログでは、 主に技術関連のTIPS (php,perl, linux, mysql, pgsql) 投資関連情報(デリバティブとインデックスを中心…