こせきの技術日記

2007-01-30

引っ越しました。

新しい記事はこちら↑から。

2006-12-18

[] ActionWebServiceでreturnsにActiveRecordをそのまま使いたくない場合

AWSで独自の戻り値の型を定義したい場合は、ActionWebService::Structを使う。

  class Person < ActionWebService::Struct
    member :id,         :int
    member :firstnames, [:string]
    member :lastname,   :string
    member :email,      :string
  end
  person = Person.new(:id => 5, :firstname => 'john', :lastname => 'doe')

ActiveRecordをメンバに指定することもできるみたい。

member :blog_entry, BlogEntry

2006-12-11

[][] OpenSSL使い方メモ

RSA秘密鍵の生成

openssl genrsa -aes256 1044 > private.pem

RSA公開鍵の生成

openssl rsa -in private.pem -pubout -out public.pem

公開鍵で暗号化してbase64エンコード

echo -n "aaaa" | openssl rsautl -encrypt -pubin -inkey public.pem | openssl base64
man rsautl

base64デコードして秘密鍵で復号化

cat cryptfile.txt | openssl base64 -d | openssl rsautl -decrypt -inkey private.pem

2006-12-04

[][] 実行中のスクリプトが置かれたディレクトリを取得する

PerlはFindBinモジュールを使う。Rubyは__FILE__を使って取得する。

# perl
use FindBin qw($Bin);

# ruby
dir = File.dirname(__FILE__)
dir = File.expand_path(__FILE__)

2006-11-30

[] CVS版のemacsインストールメモ

$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
$ cd emacs
$ ./configure --prefix /usr/local/emacs-22.0.91
$ make bootstrap
$ make install

失敗したら

$ make clean
$ make distclean

[] 文字列→Booleanの型変換では、空文字列だけでなく"0"もFALSEになる

ことに注意。当たり前のようで忘れがち。

if (strlen(trim($str)) <= 0) {
  // ↑みたいなほうが安心
}