Entries

スポンサーサイト

ajax+rubyでRSA

Ajax.Requestで投げるpostBodyを暗号化してみる。基本的に、こちらのページを参考に、<form>で送ってるものをAjax.Requestに改造しただけ。#!/usr/local/bin/rubyrequire "openssl"require "base64"require "cgi"require "erb"KEY_FILE = "private_key.pem"rsa = OpenSSL::PKey::RSA.new(File.read(KEY_FILE))cgi = CGI.new()cgi.out(){ if cgi.has_key?("password") then rsa.private_decrypt(Base64.decode64(cgi["passwo...

ruby flock

マルチプロセスで一つのファイルに対して書き込みを実行すると、タイミングによっては、問題が発生する。例えば、プロセスAで、以下を実行し、f=open('./hoge.txt','w')f.puts 'aaa'; f.flushf.puts 'aaa'; f.flushf.closeプロセスBで以下を実行したとする。f=open('./hoge.txt','w')f.puts 'bbb'; f.flushf.close時系列的な各行の実行が以下に示す???の順番だった場合、?f=open('./hoge.txt','w') #@プロセスA?f.puts 'aaa';...

シンプルなアップローダの作り方

ruby+sqlite3で、シンプルなアップローダを作ってみよう!!?ファイルをアップロードするhtmlフォームを返すcgiを作ってみる。#!/usr/local/bin/rubyrequire 'cgi'cgi=CGI.new('html3')cgi.out('status'=>'OK'){DATA.read}__END__<html><body><form enctype="multipart/form-data"><input type="file" name="data" size="60"><input type="submit" value="Upload"/></form></body>?フォームのボタンが押され...

out of memory (SQLite3::SQLException)

sqlite3に500MByte越えのバイナリデータを突っ込んでみると、out of memory (SQLite3::SQLException)がでた。こちらの方法ではダメなようなので、SQLite3::Blob.new(val) を捨てて、Amalgalite::Blobを使ってみた。Amalgalite::Blobのマニュアルによると、:io => "something with .read and .length methods",とあるが、readとlengthをサポートするクラスなんて、知らないなぁ・・・なので、そんなクラスを作ってやる。#!/us...

Amalgalite::SQLite3::Blob

Amalgalite::SQLite3::Blobマニュアルによると、Blob.new( database, table_name, column_name, row_id, flag ) → Blobとあるが、このマニュアル、超テキトウである。補足すると、rowid = db.execute('select rowid from table01 where col1=?', 'hoge')[0][0]column = db.schema.tables['table01'].columns['col1']b=Amalgalite::SQLite3::Blob.new( column.schema.db.api, column....

Appendix

プロフィール

kovayashi

Author:kovayashi
・嫌いなもの
 →好きなもの

・インストール
 →バンドル
・バックアップ
 →アップロード
・努力
 →チート

最近のトラックバック

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。