ruby

wgetでYouTube等から動画を落とす

Rubyに戻ってみました。selfを書かなくて済むのはいいんですが、Pythonに慣れてきたせいか、endを書くのが少し面倒になってます。後、インスタンスごとにメソッドの振る舞いを変えられるのはいいです。新しくクラスを作らなくて済みますし。 #!ruby require …

libwww-rubyが欲しい

とりあえず、Cookieの管理とリダイレクトへの対応をしてくれて、Responseオブジェクトをブロックで受け取れるメソッドを持つ、PerlでいうところのLWPみたいなのが欲しいんだが、探しても見つからない。ていうかWWW::Mechanizeがあるのに、なんでlibwww-ruby…

トランザクションと更新処理にかかる時間

SQLiteでは明示的にトランザクションを開始しない場合、INSERT、UPDATE、DELETEの前後にBEGIN、COMMITが実行される。ということは data.each {|d| db.execute('insert into test values(?, ?)', *d) } こう書くよりも db.transaction do data.each {…

トランザクション

トランザクションとは、関連のあるデータベースの更新処理を一つにまとめたもの。BEGINでトランザクション処理を開始し、COMMITで一連の更新処理の結果をデータベースに反映する。また途中で問題が生じた場合はROLLBACKでデータベースをトランザクション処理…

SQLに変数を直接埋め込まない

SQLに変数を埋め込むと、エラーになる可能性があるし、セキュリティの点からもよろしくない。 SQLに変数を埋め込む場合は、プレースホルダを使用する。 db.execute("insert into test values ('#{name}, '#{name}')") # × db.execute('inser…

sqlite3-rubyでSQLiteをいじる

sqlite-3-rubyのインストール $ wget http://rubyforge.org/frs/download.php/17097/sqlite3-ruby-1.2.1.tar.gz $ tar xzf sqlite3-ruby-1.2.1.tar.gz $ cd sqlite3-ruby-1.2.1 $ ruby setup.rb config $ ruby setup.rb setup $ ruby setup.rb install デー…