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

chownでsticky bitが壊れる

実際にやってしまった痛い失敗です。root権限で以下のような処理を実行するツールを書き捨てでつくって実行しました。 #!/bin/sh chown -R ${NEW_USER}:${NEW_GROUP} ${TARGET_DIR}/* もし、変数が空だったらどうなるでしょうか。そう、以下のようなコマンド…

sortは引数でファイルパスを受け取れる

sh

タイトルですべてなのですが。この二つは同じ結果になります。 sort sample.txt cat sample.txt | sort 感覚的には↓と同じになってしまいそうなんですが。 [webmaster@localhost sh]$ echo sample.txt | sort sample.txt [webmaster@localhost sh]$ 引数で受…

パイプで受け取った入力をシェルコマンドとして実行

sh

詳解 シェルスクリプト作者: Arnold Robbins,Nelson H. F. Beebe,日向あおい出版社/メーカー: オライリージャパン発売日: 2006/01/16メディア: 大型本購入: 6人 クリック: 193回この商品を含むブログ (39件) を見るパラパラ読んでいたら結構知らないことがあ…

文字列比較でstr.equals()を使う理由の説明テンプレート

「==」でマッチするのは参照先が同じ参照(ポインタ)の場合のみ。まれに「==」で比較ができてしまう場合があるのは、文字列リテラルで同じ値の場合には同じ実体をみる参照となるためであり、リテラルでない場合は文字列として同じ値であっても実体は別物で…

簡易アクセサ実装

CPANの片隅にひっそりとLog::Facileというモジュールがありまして、これは個人ユースを想定した簡易Loggerです。http://search.cpan.org/dist/Log-Facile/ちょっとツールなどつくるときに簡単にログ吐けると楽かなと思い作り始めたのですが、仕事が忙しくな…

Constructorオブジェクトを使ってみる

commons-loggingのソース解析を読んでいて興味がわいたので、Constructorオブジェクトを使ったインスタンス生成を試しました。内部クラスで試してみたら例外発生。デバッグ実行してみるとparameterTypesの配列長が1になっています。 内部クラスの時はnewInst…

Apache連携でAjax4JSFが無効化される事象

現場での事象で詳細なログなど手元にないので説明中心の記事になってしまいますが、SeamアプリをJBoss ASにデプロイ、起動してポート8080から直接アクセスすると正常に動作していたA4Jが、Apache連携してApache経由でアクセスしたところ、まったく動作しなく…

super呼び出し

2chのJavaのスレ読んでて、「superキーワード、クラスメソッドで使えないのなんで?」っていう話題が。 302 :デフォルトの名無しさん :sage :2008/10/25(土) 20:38:46 クラスメソッドの中でthisキーワードを使えないは理解できるんですが、superまで使え…

HHKBのWinキーボードドライバ設定

etc

HHKBに限った話ではないのですが、英語キーボードではドライバ設定をしないとということで。アンダーバー打てないとかだと困っちゃいますよね。すでに2年前にfinalventさんのところで書いてありました。http://finalvent.cocolog-nifty.com/fareastblog/2006…

HHKB Professional2買った

etc

実物を触っているうちにやっぱり欲しくなったのでHHKBを購入しました。今までLiteのヘビーユーザだったのですぐ移行できるかと思ったけど、細かいところで慣れが必要かも。でも、さすが快適です。タイピングが楽しくなりますね。時々手元を見ないとわからな…

Perlでlsコマンド

ワンライナーを作って遊ぶ夜更け。 perl -e 'opendir $d,".";print $_," " for readdir $d;'すぐに思いつくようなのしかひねり出せませんでした。27bytes。 追記:(9/25)コメントで通りすがりさんに教えていただきました。 perl -le 'map{print} glob(".*"),…

入力区切り文字

知らなかったです。ちょっとしたスクリプトを書くときによく"\n"って書いてたから便利。 [webmaster@localhost www]$ perl -e 'print 'hoge'.$/' hoge [webmaster@localhost www]$

Chrome

いいですね。パワーのないPCでもJavaScript使ったページがもっさりしなくて嬉しいです。GMailとかLDRとか。ところで、Googleつながりなだけでまったく関係ないんですが、Google Readerってブログタイトルのキャッシュを全然更新しませんね。頻繁にタイトルを…

Catalystのバージョンアップで継承方法がparent.pmに

Catalyst version5.7014では、helperスクリプトでつくった場合、デフォルトでのクラス継承のシンタックスが「use base」から「use parent」に切り替わっていますね(今更?)。helperスクリプトでcontrollerつくると package MyApp::Controller::Hoge; use s…

Linuxにslコマンドを入れて遊びました

etc

手順です。 #!/bin/sh wget http://www.tkl.iis.u-tokyo.ac.jp/%7Etoyoda/sl/sl.tar tar xvfp sl.tar cd sl make sudo cp -p sl /usr/local/bin/. cd - rm -rf ./sl rm sl.tar こちらで公開されています。ありがとうございました。http://www.tkl.iis.u-toky…

CentOSでの簡単なPerlバージョンアップ方法

うちの自宅のサーバはもっぱらCentOSなのですが*1、CentOS4.5を入れた直後のまっさらな状態だとPerlのバージョンは5.8.5です。いろいろ不都合なので新しいサーバの環境を整えるときはまずは5.8.8にバージョンアップします。せっかくyumがあるのでできればyum…

iptablesをつい忘れてしまう

久しぶりに自宅にメールサーバを構築していたらまた忘れていました。iptablesの存在・・netstat -an --tcpでportがlistenになっているのにLAN内からport指定してアクセスできなければ、まずは確認ですね。

クラス名やメソッド名に日本語を使えるの知らなかった

素でミスして全角の混じったメソッドをcommitしてた酔狂なメンバーがいて、それがコンパイルエラーにならない事から初めて知りました。きっと私が今まで知らなかっただけで、有名な話なのだとは思うのですが、面白いですね。 package cx.ath.seratch; public…

予約語のテーブル

以下のようなSQLファイルを与えてテーブルを作ると「order」という予約語であってもテーブルは作成されます。 CREATE TABLE `order` ( `id` int(11) NOT NULL auto_increment, `title` text, `express` text, `client_name` text default NULL, `client_mail…

反面教師

もし以下のようなコードを書いてしまうと、#{exA.doSomething()}を呼んでも全く意味がなくなってしまいます。 @Stateless @Name("exA") public class ExampleABean implements ExampleA { @In @Out private ExampleEntity exEntity; @In private ExampleB ex…

Weak references are not implemented in the version of perlが出た

朝起きるとApacheが死んでいて、なんだろうと思ってログをみると再起動がうながされて起動しようとしたらPerlのモジュール読込できずに死んでしまったようです。以下のログにもあるようにPerlのバージョンは5.8.8です。 [Sun Jul 06 04:02:45 2008] [notice]…

少し控えます

etc

最近、Seamに関する記事をいくつか書いていましたが、正直自分自身でも理解不足を感じていたところ、コメントにて適切なご指摘をいただきました。ありがとうございました。ビジネスロジックを完全に分離した他のサービス層から呼び出さなければならない要件…

DVI-I

etc

新しい自鯖をつくるために中古のOSなしPCを買ってきました。HPのDX6100STです。 梱包をといてコンセントにつないで電源ボタンを押しました。起動音があり、キーボードも認識されているようです。 が、ディスプレイへの出力が一切ありません。ディスプレイ自…

Seamからのインジェクション

追記(6/25):この記事は理解不足なまま書かれたものですので、参考にしないで下さい。 前にMVCをきっちり分けたフレームワークを作って開発していくつもり、みたいな事を書いたのですが、実際に検討していくうちにキレイに分けていくのはなかなか難しいな…

JSF1.2以降ってinput buttonサポートしてないのか

表題の通りなのですが、具体的には <h:commandButton type="button" value="hogehoge">みたいに書いても、変換されたHTMLをみるとバッチリsubmit化しているよ、というような事です。 ネット上での話題が少ないJSFにあって結構有名なトピックのようで「JSF input button」あたりでググると英語で普通にいろいろ</h:commandbutton>…

(削除済)

追記(6/25):この記事は理解不足なまま書かれたものですので、参考にしないで下さい。 追記(2009/6/6):今になって読み返すとあまりにも理解していないまま書いている文章で、これがウェブ上に残り続けるのは恥ずかしすぎるので、、、削除させて下さい。…

Google Readerは今も大量のフィードを読む人を想定してない

「Google Readerの検索が便利そう」みたいな事を書いたのですが、実際に運用し始めてみるとなかなか厳しいものを感じています。それはGoogle Readerは未読記事1000件以上になると「1000+」という表示になるように、登録フィード数だけで1000を超えるようなユ…

Google Readerが進化している件

久しぶりにGoogle Reader使ってみたら激しく進化してて使いやすくなっていました。出てきたときはLDRと比べると全然使う気が起きなかったけど、さすが着々と開発が続けられていたのですね。特にGMailと同じようなUIに切り替えることができるようになってて、…

deploy時の***-ds.xmlの配置

EJB3連携のSeamウェブプロジェクトをつくって、IDE上からJBoss ASにdeployするときに***-ds.xmlが管理されていません。そのままASを起動してもEntityManagerFactoryが読めない的エラーになってdeployは失敗してしまいます。ds.xmlを右クリック→「Deploy To S…

JBoss Toolsのインストーラ

「Seamはじめました」と書いたところ、早速コメントをいただいてJBoss Toolsのインストーラを自宅の開発PCに入れてみました。これで家でもサクサクやれそうです。しかし、all-in-oneで入れられるインストーラって便利ですね。 http://journal.mycom.co.jp/co…