2010年2月4日木曜日

[Linux] SSHでプロキシ経由でアクセス

会社や学校など、直接インターネットにアクセスできない環境で、SSHを使って外部サーバーにアクセスしたい。

1. ~/.ssh/config を編集

 Host hoge.example.com
 HostName hoge.example.com
 ProxyCommand /usr/bin/nc -X 5 -x socks.poge.com:1080 %h %p
 Compression yes
 ServerAliveInterval 15

  -X 4: SOCKS v.4
  -X 5: SOCKS v.5
  -X connect: HTTPS proxy

 ※nc(netcat)の他にconnectでもいい
 ※http://www.unixuser.org/~euske/doc/openssh/jman/ssh_config.html

2. # chmod 600 ~/.ssh/config

[Wikipedia] WikipediaのデータをMySQLに読み込む

□リンク
 −Data dumps 詳細
  http://meta.wikimedia.org/wiki/Data_dumps

 −データダウンロード
  http://download.wikimedia.org/

  例えば、下記をダウンロード
   jawiki-2010xxxx-pages-articles.xml.bz2
   jawiki-2010xxxx-category.sql.gz
   jawiki-2010xxxx-categorylinks.sql.gz

□MediaWikiを使ってMySQLに読み込む
 −MediaWiki
  http://www.mediawiki.org/wiki/Manual:importing_XML_dumps

 −MySQLの設定
  /etc/my.cnf を編集
   max_allowed_packet = 32M

 −MySQLの再起動
  /etc/rc.d/init.d/mysqld stop
  /etc/rc.d/init.d/mysqld start

 −MySQLの設定の確認
  mysql> show variables like 'max_allowed_packet';

 −データベースとテーブルの作成
  mysql> ceate database wikipedia;
  mysql> use wikipedia
  mysql> source mediawiki-1.15.1/maintenance/tables.sql;

  ※tables.sql はmediawikiに含まれる
   mediawiki-1.15.1/maintenace/tables.sql

 −データのインポート
  $ gunzip jawiki-2010xxxx-category.sql.gz
  $ gunzip jawiki-2010xxxx-categorylinks.sql.gz

  $ mysql -u root -p wikipedia < jawiki-20090707-category.sql
  $ mysql -u root -p wikipedia < jawiki-20090707-categorylinks.sql

  $ java -jar mwdumper.jar --format=sql:1.5 jawiki-2010xxxx-pages-articles.xml.bz2 | mysql -u login_name -p wikipedia

2009年12月18日金曜日

[Rails] ActiveRecord で MySQL の auto_increment を設定する

MySQL の auto_increment を設定するには、
 ActiveRecord::Base.connection.execute('ALTER TABLE table_name AUTO_INCREMENT = 1000')
とする。

また、MySQLで確認するには、
 mysql> show table status like 'テーブル名'
 mysql> show table status from DB名 like 'テーブル名'
と入力する。

[Rake] タスクに引数を渡す

コマンド
 rake タスク名 hoge='poge'

Rakefile
 task タスク名 do
  puts ENV['hoge']
 end

2009年12月16日水曜日

[jQuery] htmlをparseする

$("セレクター", 文字列)
文字列の中で、マッチする要素を持つjQueryオブジェクトを抽出する
ただし、文字列の子からマッチするセレクターを抽出する。
例えば、

str = "<img src='hogehoge.jpg' />";
$("img", str) は null になる

str = "<div><img src='hogehoge.jpg' /></div>";
$("img", str) は img が抽出される

2009年12月15日火曜日

[Ruby] 少数の表示(桁数を指定)

num = 1.12345
sprintf('%.3f', num)

2009年12月1日火曜日

[CSS] セレクタ

ユニバーサルセレクタ
 * { margin: 0; }
 すべての要素に対してスタイルを指定

要素セレクタ
 body { margin: 0; }
 記述した要素にスタイルを指定

クラスセレクタ
 .class_name { margin: 0; }
 class_nameというクラスを持つ要素にスタイルを指定

ユニバーサルセレクタ
 #id_name { margin: 0; }
 id_nameというIDを持つ要素にスタイルを指定

子孫セレクタ
 #id_name div span a { color: blue; }
 id_nameというIDを持つ要素の中のdivの中のspanの中のaにスタイルを指定