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

DOS で日付を整形して出力する

DOS

>set now=%date% >echo %now% 2008/12/15 >set today=%now:~0,4%-%now:~5,2%-%now:~8,2% >echo %today% 2008-12-15

証明書の種類について

key 公開鍵と対になる秘密鍵。 csr Certificate Signing Request の略で CA に署名要求するもの。中身は公開鍵等。 crt (Certificate) csr に署名が行われた公開鍵証明書。 pem (Privacy Enhanced Mail) DER 形式(Distinguished Encoding Rules バイナリ)公…

WWW::Mechanize

WWW::Mechanize - Perlオブジェクト中のハンディWebブラウザ Perlモジュール/WWW::Mechanize WWW::Mechanize::Plugin::Web::Scraperでスクレイピングをもっと簡単に スクレイピングツールを使って自動化テスト:WWW::Mechanizeの利用 use WWW::Mechanize;

YAML::Syck を使う

YAML の中身 host: http://www.yaoo.co.jp/ port: 80 users: - name: yourname pass: yourpass - name: yourname1 pass: yourpass1 テストコードの内容 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use YAML::Syck; use Data::Dumper;…

require 'rubygems' #=> false

% irb > require 'rubygems' => false false が帰ってくる。 % sudo gem update --system Password: Updating RubyGems Nothing to update % gem -v 1.3.1 % irb > require 'rubygems' => false ということなので、 % sudo gem update Password: Updating in…

Ruby で Amazon ECS

始める前に ruby-amazon(ECS 3.0 まで対応。現行の ECS 4.0 には非対応) ruby-aws(ECS 4.0 に対応) gem で ruby-aws をインストールする # gem search -r ruby-aws *** REMOTE GEMS *** ruby-aws (1.2.0) # gem install ruby-aws Successfully installed rub…

net/https の証明局の取り扱いについて

証明書の取得 rubyでssl通信 HTTPSでサーバーに接続 Rubyでnet/httpsで通信 OpenSSL::SSL::SSLSocket で証明書を取得する SSL通信にてCA証明書を取得する方法 OpenSSL::SSL::SSLSocket

OpenSSL で https に接続をする

$ openssl s_client -connect www.example.com:443 -state HEAD / HTTP/1.0 HOST: www.example.com HOST: www.example.com まで入力をしたら、Enter キーを 2回押せば接続ができる。

Net::HTTPS と URI の動作確認

簡単な備忘録。 require 'net/https' require 'uri' url = 'https://mail.google.com/' uri = URI(url) p uri.host p uri.port p uri.request_uri 実行結果。 "mail.google.com" 443 "/"

ソースから deb パッケージ化してインストールしたパッケージをアップグレードする。

基本的にはインストール時の作業と同じ。 # apt-get build-dep git # apt-get -b source git # apt-get -i dpkg -i git_4.3.20-10_i386.deb 他のインストール/アップグレードのオプション dpkg -E パッケージ名| --skip-same-version Don't install the pack…

プログラムを CPU に最適化してコンパイルする

最適化のオプションとその種類について オプション 対応CPU i386 i386およびその互換CPU i486 i486およびその互換CPU i586 Pentium、MMX Pentiumおよびその互換CPU i686 Pentium Pro、Pentium II、Pentium III、Pentium4、Celeronなど k6 K6、K6-2、K6-III a…

Ruby コミュニティ

Ruby は日本人の手で誕生した言語なのに、日本語の公式リファレンスがこうも貧弱なのだろうか…。 [日本語] net/http - Rubyリファレンスマニュアル [英語] net/http: Ruby Standard Library Documentation [英語] RUBY-DOC.ORG

apt-get を使ってソースから deb パッケージを作成してインストールする

大まかな流れ build-essential のインストール(初回のみ) 依存関係の確認 依存関係にあるパッケージの用意 インストールするパッケージのソースを取得する ソースコードから生成された deb パッケージをインストールする という作業になる。 前準備 # mkdir …

Net::Amazon をインストールする

# cd /usr/ports/net/p5-Net-Amazon # make fetch-recursive # make install clean

リテラルの %記法について

忘れぬうちにメモをする。 # やっぱり文字列のArray定義は %w が便利 counter = %w(zero first second third forth fifth) の「%w」について。 リテラル - Rubyリファレンスマニュアル %記法について 人のコードにはできるだけ目を通すべき。

Net::Amazon の Perldoc

冗長的だけれど。

Wide character in print at

原因 Wide character in print at というエラーは UTF-8 フラグが付いた文字列を print しようとしているからである。 http://www.ksknet.net/perl/wide_character.html 対策 UTF-8 フラグを取り外してから print すればエラーがでなくなります。 判別方法 U…

ファイル入出力記号について

読取 書込 追加 新規作成 上書 < filename ○ × × × × > filename × ○ × ○ ○ >> filename × ○ ○ ○ × +< filename ○ ○ × × × +> filenames ○ ○ × ○ ○ +>> filename ○ ○ ○ ○ × command | command を実行し、その出力をパイプ経由でファイルハンドルを渡す | c…

Net::Amazon を使ってみる

#!/usr/bin/perl use strict; use warnings; use utf8; use Net::Amazon; use Encode; my $query = shift; # DOS プロンプトからの入力のため # Shift-JIS から UTF-8に変換している $query = decode('shiftjis', $query); my $client = Net::Amazon->new( t…

Perl と Windows

なぜ,Perl でプログラムを組むのが,こうも苦痛を伴う作業になったのだろうか。そもそも Perl の国際化サポートということ自体が,日本語 Windows のためでなかったのだ。Internationalization (国際化)とは汎用的なインターフェースの構築である一方,Loca…

Ruby/DBI でデータベース操作の記述を抽象化する

Ruby/DBI をインストールする すでに MySQL/Ruby がインストールされているものとする。 #gem search --remote dbi *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org/ dbi (0.4.0) dbi-dbrc (1.1.4, 1.1.3, 1.1.2, 1.1.1…

Ruby/MySQL の利用例

require 'rubygems' require 'mysql' hostname = 'localhost' username = 'yourname' passowrd = 'password' database = 'mysql' begin # データベースに接続 # 接続が確立されれば、MySQL オブジェクトが返される db = Mysql::connect(hostname, username, …

Windows で Ruby/MySQL を利用する

利用時に libmysql.dll がないと警告された場合対処方法。 libmysql.dll について MySQL サーバーに接続するために必要。通常、MySQL をインストールしている場合、$MYSQL_HOME/bin 下に libmysql.dll はある。ローカルに MySQL Server をインストールしたく…

Ruby/MySQL をインストールする

RubyGems を利用する。 # gem search --remote mysql *** REMOTE GEMS *** Bulk updating Gem source index for: http://gems.rubyforge.org/ activerecord-jdbcmysql-adapter (0.8.2, 0.8.1, 0.8, 0.7.2, 0.7.1, 0.7, 0.6) dbd-mysql (0.4.2, 0.4.1, 0.4.0,…

Ruby で MySQL に接続をするには

MySQL に接続するには、下記のライブラリのどちらかが必要になる。 MySQL/Ruby C言語で書かれているので高速。ただし、コンパイル作業が必要。 Ruby/MySQL Ruby で記述されている。コンパイル作業は不要だが、低速。 ただし、両ライブラリを利用して記述した…

全角ハイフンを含む文字列の文字コードを UTF-8 に変換すると文字化けする

Unicode には似た記号が多い おそらく原因は、Unicode に記号が多いため、全角ハイフンなのか全角のマイナス記号なのか区別がついていないからではないかと思われる。 Jcode Respect UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ Unicode …

Ruby の日本語の取り扱い

備忘録として。 FAQ::日本語の取り扱い - Rubyリファレンスマニュアル オプション-K と $KCODE の違いはなんですか? ひらがなをソートするにはどうしますか いわゆる全角文字と半角文字の変換を行うにはどうするのがよいですか? いわゆる半角カナの扱い

warning: parenthesize argument(s) for future version

ちょいと検索しても同様の話題が見当たらなかったので聞いちゃいます。 warning: parenthesize argument(s) for future version というワーニングメッセージが 1.7 で出ることがありますが、意 図がよくわかりません。「将来のバージョンのために括弧をつき…

制御構造内で配列からキーと値を抜き出す

配列からキーと値を抜き出すの解決例。 Enumerable - Rubyリファレンスマニュアル Integer - Rubyリファレンスマニュアル ソース array_sample.rb として保存。 counter = ['zero', 'first', 'second', 'third', 'forth', 'fifth'] # Enumerable クラスの ea…

配列からキーと値を抜き出す

制御構造だけで済ませる方法はないのだろうか? サンプル counter = ['zero', 'first', 'second', 'third', 'forth', 'fifth'] max_length = counter.length - 1 for i in 0..max_length puts "#{i}: #{counter[i]}\n" end 実行結果 % ./sample.rb 0: zero 1…