開発

シェルスクリプトのtest

[[ EXPRESSION ]] って書く理由は何なのでしょうか? [ EXPRESSION ] と何が違うのでしょうか? ちなみに自分は敢えて if test EXPRESSION と書きます。 $ [ $foo = "" ] -bash: [: =: unary operator expected $ [[ $foo = "" ]] $

zsh の vcs_info が神!のごとく重かったのですが…

zsh の vcs_info が神 - HsbtDiary vcs_info で Subversion のリビジョン番号が出ない問題 - 永遠に未完成 Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法 - mollifier delta blog Cygwin1.7.1,zsh4.3.9の環境でや…

shared libraryのパス(ld.so.conf)

最後に ln -s /usr/local/lib/****.so.3 /usr/lib/****.so.3 をいくつかしないと ffmpege エラーがでるどうせroot権限持ってるんだったら、リンク張るんじゃなくて/etc/ld.so.confに/usr/local/libを追加した方がいいと思うけどな。 おまけ root権限が無けれ…

Re: lsコマンドをハックしてみよう (Yahoo! JAPAN Tech Blog)

lsコマンドをハックしてみよう - Yahoo! JAPAN Tech Blog 勉強用ならGNU Helloもオススメです。 GNU標準のディレクトリ構成 autoconf,automakeなどAutotoolsの使い方 メッセージ国際化libintl(gettext) オプション処理getoptの使い方 マルチプラットフォーム…

xargsの-iオプションはdeprecated

find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編 (4/4):CodeZine(コードジン) ※注4のところで-i使ってますが、xargs (GNU findutils) 4.4.0では -i[replace-str] This option is a synonym for -Ireplace-str if re…

殺すぞ

プロセスを。 SIGSTOP や SIGTSTP(^Z) で停止された process は、 基本的には SIGCONT を送って再開させてやらない限りは止まったままです。 死ぬことすらままなりません。 なので、一般には kill -TERM && kill -CONT で終了させます。 この順番にするのは…

make heredoc

shellのheredocがGNU makeで書きにくい。ってか無理なんじゃないかと思う。

分散型バージョン管理システム

GitよりMercurialの方が良いとか言っちゃう俺ド素人

findとxargsの組み合わせ

http://hirkaz.blogspot.com/2008/09/blog-post_01.html こういうのを見るとどうしても $ find ~/dev/php -name '*.php' -a -print0 | xargs -0 nkf --overwrite -w -Lu と書き直したくなる。元のままだとスペースを含んだファイル名を扱えないからね。一応…

screenでCtrl-Alt-を使いたい

Ctrl-Alt-n=next Ctrl-Alt-p=prev Ctrl-Tab=other となるようにしたかった。Alt-ぐらいだったら ^[ や \033 を使って書けたんだけど、Ctrl-Alt-の書き方が分からなかった。 今のところscreen単体でやる方法を見つけられていないので、窓使いの憂鬱にやら…

Re: ps auxww | grep httpdでgrep httpdをgrepしない方法(常識?)

#でもpsかgrep自体に、これと同等のことができるオプションがあったような記憶もあるんだけど思い違いかなぁpgrepのことですかね? 動作中の pgerp と pkill プロセスは、自分自身には決してマッチしない。

Trac + Mercurial + Lighttpdの文字化け対策

どうもこんにちわ。最近やっと"Mercurial"をスペルミスしなくなったid:holidays-lです。 全部UTF-8に統一してTrac + Mercurial + Lighttpdを作ったら、Timelineとかが文字化けしてた。 mercurial自体はHGENCODINGを設定しなくてもUTF-8で動いていたので良か…

MySQLのお知らせ

technobahn.com - このウェブサイトは販売用です! - 株価検索 株価チャート 株価 銘柄 終値 リソースおよび情報 昔から基本的にSunは嫌い。

「HTTPエラーメッセージを簡易表示する」を無効にする

IE7だと、エラーページを512バイト以上にしてても「HTTPエラーメッセージを簡易表示する」が無効にならないんだけど、誰か回避方法教えて(><)

trunkだけ欲しいの(><)

Subversionリポジトリがこういう形をしているとき、 ┬A┬trunk │ ├tags │ └branches └B┬trunk ├tags └branches根っこからcheckout,update,...したいけど、trunkだけを対象にしたい場合はどうすれば? A,B,...が多いから一つ一つcheckoutするのは面倒なんだけ…

ちょっと話は違うけど、キャッシュ生成のタイミング2

cronでぶん回すとき、 some-program > /var/cache/some-cache より some-program > /tmp/some-cache && mv /tmp/some-cache /var/cache/some-cache の方が良くない?

キャッシュ生成のタイミング

Cacheを更新するときのお話。 Cache削除 ↓ 処理 ↓ Cache保存 の順番だと、処理に時間がかかる場合はキャッシュにヒットしないリクエストがどんどんできてしまう。だから、 処理 ↓ Cache削除 ↓ Cache保存 じゃないとダメだと思うんだよね。さらに、削除→保存…

Lighttpdでどこでもどきゅめんとるーと

適当なディレクトリでっち上げてHTMLとかJSとかFlashとかごにょごにょやってて「あーfileプロトコルで動かねー」って、動いてるサーバーのドキュメントルートに移動させるのが面倒(><) ツール入れたり、Perlでサーバー書いても良いんだけど、APIのstubと…

良いバグレポートフォーム

GoogleCode上のIssuesタブからnew issueをクリックするとバグレポートフォームが開くのですが、そこに What steps will reproduce the problem? 1. 2. 3. What is the expected output? What do you see instead? What version of the product are you using…

minijsanがうまく動かんので無理やりやってみた。

JSANが入ってなかったら入れる。 % cpan JSAN ミラーを作成する。 % jsan index && perl -MDBI -MFile::Path -MLWP::Simple -e '$h=DBI->connect(qq{dbi:SQLite:$ENV{HOME}/.jsan.index.sqlite});foreach $dist (@{$h->selectall_arrayref(q{select source,l…

minijsanがうまく動かん

まっさらな状態で、minijsanを実行しても何故か13個しかミラーしてくれなかった。ナンデダヽ(`Д´)ノ

wxWidgetsで音を鳴らす、のドキュメント

wxWidgetsにはwxSoundが標準で付いています。(昔からですが)wxWidgetsのマニュアルはちょっと変で、 http://www.wxwidgets.org/manuals/stable/wx_contents.htmlの「Classes by category」の方には載っていませんが、「Alphabetical class reference」の方…

Perl::Criticでコーディングスタイルを統一

Perl::Critic - Critique Perl source code for best-practices. - metacpan.orgをコーディングスタイルを統一するために使っています。 (実際には字面としてのコーディングスタイル(コードレイアウト?)はPerl::Tidy - metacpan.orgが担当しているわけで…

*lint

昨日のエントリに出てきたyamldumpの話です。実体はこんなaliasです。 alias yamldump="\perl -MYAML -MData::Dumper -e '"'print Dumper(YAML::LoadFile(shift))'"'" 標準入力から読めるようにはなっていませんが、そういう使い方はしなさそうなので別にい…

Acceptヘッダによるコンテンツ切り替え

フォーマットの指定はクエリパラメータでできるんですが、別の方法として、Acceptヘッダを使った指定ができるようにしてあります。 自分も実際に「同じURLに対してAcceptで指定したMIME-Typeによって返すコンテンツを切り替える」なんてことをやっているわけ…

lighttpdのドキュメントがreStructuredTextだった

lighttpdのドキュメントが.txtなテキストファイルだったので普通に読んでいたのですが、よく見たら記法がreStructuredTextだったので興奮してしまいました。 読み手に気付かせずにプレーンなテキストファイルとして読ませるとは( ´_ゝ`)(´

zshのperldoc補完って重過ぎじゃね?

というわけで compdef -d perldocなんだけども。statが遅いCygwin使ってるお前が悪いという話もちらほら。 軽く使える裏技あったら教えてください。

IEのCookie送信は厳しい

IE6でセキュリティレベルが中以上だと、scriptやiframeで外部ドメインのホストにアクセスしてもCookieが送られてこない。Firefoxでは送られてくるからはまってしまった。 APIでCookieを使ったセッション管理ってできないものだろうか。

location.hashデバッグ(小ネタ)

DECONでmalaさんが言っていたJavaScriptのデバッグ方法 alert debug window.status debug document.title debug に追加でlocation.hash debug。 <script type="text/javascript"> location.hash = 'DEBUG'; </script>それなりに使えるかも。と思ったらIEでは無限ループになっちゃいました。使えねー。

zshに移行中

zshの設定をする暇が無くてbashとzshを併用していたのだけれども、ぼちぼちzshにシフトできてきた。一番困っていたのが、補完候補を表示してくれるだけで良いのに勝手に入力までされちゃう機能。シーケンシャルな選択は( ゚Д゚)マンドクセー。これは unsetopt AUTO_…