2011-05-01から1ヶ月間の記事一覧

optopus 0.1.4

https://rubygems.org/gems/optopus https://bitbucket.org/winebarrel/optopus これは何? optparseのラッパーです。µ-optparseみたいなものです。µ-optparseとの違いは… オプションの説明をオプションの前の行に書ける(横にも書ける) ハッシュのキーと引…

主にEC2内部用のDNSサーバ - ddns

※後継のMurakumoを開発中です。 https://bitbucket.org/winebarrel/murakumo/ http://d.hatena.ne.jp/winebarrel/20111202/p1某勉強会でddnsのことを話したのですが、ほっとくと忘れ去られそうなので記事にまとめたいと思います。 https://bitbucket.org/win…

rgossip 0.1.0

rgossip 0.1.0をリリースしました。 https://rubygems.org/gems/rgossip https://bitbucket.org/winebarrel/rgossip これは何? Gossipプロトコルのライブラリです。Cassandraみたいに「サーバを起動したら勝手にクラスタに追加される」みたいなことが可能に…

制御文字をエスケープするスクリプト

MySQLでtsvにダンプしたりすると制御文字が \<制御文字>とエスケープされる。テキストファイルでは、なるべく1行を1レコードをして扱いたいので、Perlで制御文字をエスケープ文字に変換するスクリプトを書いてみた。 #!/usr/bin/env perl use strict; use …

文字列をステートメントとして評価する

mysql> SET @sql = CONCAT('SELECT ', DATE_FORMAT(NOW(), '\'>\'')); Query OK, 0 rows affected (0.00 sec)mysql> SELECT @sql; + @sql + SELECT '>' + 1 row in set (0.00 sec)mysql> PREPARE stmt FROM @sql; Query OK, 0 rows affected (0.00 sec) Stat…

バイナリログのメモ

マスタでとあるクエリを実行した時のステータス。 mysql> create database hogehoge; Query OK, 1 row affected (0.00 sec) mysql> show master status; +-------------------+----------+--------------+------------------+ | File | Position | Binlog_Do…

単純なDNSのプロキシを書いてみた

クエリの最大長っていくつだろう? require 'socket' HOST = '8.8.8.8' # Google DNS Server sock = UDPSocket.open sock.bind('', 53) def proxy(msg) s = UDPSocket.open s.send(msg, 0, HOST, 53) msg = s.recvfrom(1024)[0] s.close return msg end loop…