2009-01-01から1年間の記事一覧

.vimrc/.gvimrc晒し

vim

以前にも何度か書いてるんだけど、あれから色々設定が変わったので久しぶりに晒してみる。 Windows(香り屋版)とLinux等の環境で共通して使っている。 フォントとかパスとか違いがある部分だけif文で分岐させてる。 TODO: 香り屋版についてるvimrc/gvimrc(…

PHP用のプロファイラXHProf

PHP

今までPHPのプロファイリングはXdebugとWinCacheGrindを使っていたんだけど、XHProfとかいうのが便利らしい。 ※画像撮るのが面倒だったので、画面は参考サイトなどを参照w まだbetaみたいだけどPECLのプロジェクトになっていて簡単にインストールできる。逆…

一時ディレクトリ

etc

自分は普段何かの作業をするときはC:\tempとか/home/pasela/tmpとかで作業しているんだけど、最近このtempディレクトリがいっぱいになってきた。 tempディレクトリというと一般的にはある作業や処理のために一時的に使用する領域で、用が済んだら消してしま…

iPhoneに入れてるアプリケーション自分まとめ

特に意味はないけど、なんとなく自分が入れてるiPhoneアプリを並べてみる。 ライフ Todo(Appigo)(有料) 名前のまんまToDo管理系のアプリ。 ToDo系はたくさんあるけどAppigo Todoが評判良かったのとスクリーンショットを見た感じでも自分に合ってそうだった…

PerlIOのレイヤについてまとめてみた

PerlIOがいつまでたってもきちんと理解できず、毎回試行錯誤しながら適当に指定してしまうのできちんと調べてみた。 調べてみて一番の収穫だったのは、レイヤは主に三種類に分けられる、ということ。 ドキュメントでは順不同で出てくるのでごっちゃになって…

エラー抑制演算子を使わざるを得ないとき

PHP

PHP プログラマが "@" を使うべきでない 5 つの理由 - 肉とご飯と甘いもの @ sotarok http://d.hatena.ne.jp/sotarok/20090721/1248112106PHPでエラー抑制演算子@を正当に使ってるなぁと思ったケース - それ図解で。・・・tohokuaikiのチラシの裏 http://d.…

call_user_func_arrayとparent

PHP

可変長引数のメソッドがあって、それをオーバーライドしつつ親クラスの同メソッドを呼び出したかったんだけど、一瞬どうやればよいのか迷ったのでメモ。

str_replaceを配列で使うときの注意

PHP

PHP: str_replace - Manualstr_replace - 検索文字列に一致したすべての文字列を置換する 説明 mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )この関数は、subject の中の search を全て replace に置換します。…

自然順ソートを行うPerlワンライナー

2009-06-22 PHPの豊富すぎる組み込みの関数の中でも、natsort関数はかなり高機能な関数の一つだと思います。他の言語なら本体に組み込まれることは有り得ないのではないでしょうか。 今回のお題は、このnatsortを使ったワンライナーです。(from hnwの日記)…

お気に入りソフトウェア(Windows編)

愛用フリーソフトまとめ - Akinekoの日記 なにやら波に乗らないといけないようなので書いてみる。 俺はフリーに限定しないぜ! ちなみにLinux編とかOSX編とかはない。たぶん。 ネット ブラウザ・メーラー Firefox 昔はSleipnir使ってたけど、今はこれじゃな…

LC_CTYPEをJapanese_Japan.65001(UTF-8)にできない

ロケールに依存する文字列処理があるので、UTF-8にしたくて setlocale(LC_CTYPE, "Japanese_Japan.65001"); とかやってみたんだけど失敗する。 ちなみにLC_ALLに対して指定するとこんな感じになる。 LC_COLLATE=Japanese_Japan.65001 LC_CTYPE=Japanese_Japa…

下位互換、上位互換、前方互換、後方互換がわからない

etc

たとえば下位互換の場合、下位のものが上位に対して互換性があるのか、上位のものが下位に対して互換性があるのか、いつもわからなくなる。 誤用も多いようなので、この単語だけからでは実際のところどうなのかは判断できないようだ。 上位互換 機能やグレー…

GNU toolsのWindows版GnuWin32を使う

WindowsでUNIXライクな環境といえばCygwinやMinGW/MSYSがあるわけだけど、そこまでは必要ない、ちょっとコマンドが使えればいいだけ、という場合にはGnuWin32がお手軽で便利。おすすめ。もう後の文は読まなくていいから黙って入れちゃえよ! GnuWin32 GnuWin…

sqlite関数とPDO SQLite

なんかsqlite関数とPDOのSQLiteドライバはSQLiteのバージョン違うのね。 sqlite関数はSQLite2でPDOはSQLite2とSQLite3が使える。 同じ環境で動かしてるのになんでファイルフォーマットがおかしいとか言われるのかと思ったよ。 そしてCakePHPのSQLite DBOはSQ…

自分の開発環境

というかWindowsで開発していてeclipseとか使わない人はバージョン管理とかそういったのどうしてるんだろう?という発言がTwitterで流れていたので、Windowsで開発していてEclipseとか使わない自分の開発環境を書いてみるてすつ。 ちなみに自分はWebシステム…

生のPOSTデータが取れない

PHP

別に今まさに困っているというわけではないんだけど、PHPで生のPOSTデータが取れなくてどうしたもんだろうと思ったのでメモ。 正確にはContent-Typeがmultipart/form-dataの時に取れない。 まずは$HTTP_RAW_POST_DATAについて。 PHP: $HTTP_RAW_POST_DATA - …

途中で階層を上がるパスでハマる

とある事情により特定のディレクトリからしかファイルを読み込めない機能で、別のディレクトリから読み込みたいという要求が出てきたので../bar/data.txtのような指定をして誤魔化していたのだが、Windows環境からLinux環境に移してみるとうまく動かない。 …

TracのシンタックスハイライトでPHPのタグを省略可能にしてみた

TracのWikiはWikiプロセッサという機能を利用することでソースコードのシンタックスハイライト表示ができるんだけど、PHPのソースコードはで括ってあげないとハイライトしてくれない。 PHP的にはPHPタグ(?)外の部分は標準出力される部分になるので、それ…

Allow, Denyの順番とデフォルト状態

Apacheでアクセス制限をかけるときに Order Allow,Deny Allow from 192.168.10.0/24 みたいにAllowとDenyの片方を省略して書いたりするんだけど、省略した場合デフォルトはどうなるのかがOrderによって異なるのでいつも混乱する。 混乱するなら省略せずに書…

PerlIOで混乱した

perlでちょっとしたテキスト処理なんかをする時に while (<>) { # code for each line } みたいなコードをよく書くんだけど、ちょっと格好つけて(?)use utf8とかuse encodingとかuse openとかつけてみたら*1途端に文字化けしまくって、しかもどうやったら…

タイムゾーンを変更する方法

Linuxのタイムゾーンを変更するにはtzconfigとやらを使うと対話的に設定できるらしい。 というわけで、Ubuntuで試してみたらdeprecatedとか言われた。 $ sudo tzconfig WARNING: the tzconfig command is deprecated, please use: dpkg-reconfigure tzdata …

extensionの読み込み順でハマった

PHP

php_exifエクステンションを有効にしたら、また昨日みたいに動かなくなった。 しかも今度はコマンドラインですらエラーが出る始末。 php_mbstring.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストール…

指定されたモジュールが見つからないとか言われる

Windows上に開発環境なんて作ったこと無かったので微妙にはまった。 PHP自体はWindowsでもコマンドライン上で使ってはいたんだけど、Apache入れてMySQL入れて、なんてのはLinuxでやるもんなぁ。 構成 各インストール場所はこんな感じ。C:\Program Filesとか…

vimプラグイン改造ネタ2本+α

vim

普段から愛用しているvimプラグインにわずかながら不満点があったので、現実逃避に暇を見つけてカスタマイズしてみた。 svn.vim http://www.vim.org/scripts/script.php?script_id=978 これはsvnのコメント編集時に自動的に画面を分割してコミット内容とリポ…

PHPのソートとかarray_uniqueの挙動

PHP

少し前にPHP 5.2.9でarray_uniqueの仕様が変更されてアレだって話が話題になっていたが、今のプロジェクトでもそれが問題に上がった。悩ましい。 array_unique関数がPHP5.2.9から後方互換性を失いました - hnwの日記 http://d.hatena.ne.jp/hnw/20090228 上…

Ubuntuのsyslogにcannot initialize libpolkitとかいうエラーが出ている件

会社のVMware上で使っているUbuntu 8.10 Serverの調子が悪かったのでsyslogを見てみたらCRITICALとかいうい物騒なエラーが出ていた。 Feb 23 10:00:01 ubuntu-vm console-kit-daemon[6321]: CRITICAL: cannot initialize libpolkit こんなのが10分おきに出て…

Excelのセル参照形式

電卓代わりにExcelで計算しようと思ったら妙な違和感が。 値段と数をセルに入れて数式でかけ算しただけなんだけど、なんか数式が=RC[-3]*RC[-2]*RC[-1]とかなってる。 あれ、普通は=A3*B3*C3みたいな感じじゃないっけ? なんだこれ? 列もABCじゃなくて123に…

SSHのDynamic ForwardでSOCKS Proxyしてみる

お客さんのサーバにアクセスするのに踏み台サーバを経由しなきゃいけないんだけど、いちいち2回ログインするのが面倒くさかったので、PuTTY付属のpfwdでDynamic Forwardしてみたら便利になった。 やべーこれは便利だと一人で盛り上がってたら「社内Wikiにや…

URL形式のストリームフィルタで文字コード変換ができない

PHP

以前、ストリームフィルタで文字コード変換してみるというエントリを書いたんだけど、今回別の方法でフィルタを使おうと思ったらハマったのでメモ。 前回はstream_filter_prepend/append関数でストリームのリソース(ハンドル)に対してフィルタを追加したん…

Thunderbirdでアドレス帳から入力するときに名前を付けないようにする

Thunderbirdでメールの宛先を入力するとき、アドレス帳から選択すると「名前 <メールアドレス>」という形式で挿入される。 この「名前」の部分はアドレス帳でいう「表示名」に該当する項目で、ここが空欄の場合は単純にメールアドレスだけが挿入される。「姓…