Ruby

UTF-8のベトナム語から声調記号を落す

概要 ベトナム語の文字コードは、最近は UTF-8 へ収束しつつあるようだ。ベトナム語の正書法は、アルファベット+声調記号である。だが、携帯電話やチャットなどの非公式の文章では、声調記号を省略することも多い。このプログラムは、声調記号付きのベトナ…

ベトナムの Ruby コミュニティ

ベトナムには Ruby コミュニティがあるのか?ネットを検索してみたところ、非常に興味ぶかいスレッドに遭遇した。http://cntt.tv/nodes/show/388cntt.tv (CCTT = Công nghệ thông tin, 情報工学)というサイトでの議論である。このサイトの主催者は、Ngoc Da…

Windows 1258 から UTF-8への変換

概要 この話題はあまりにマニアックすぎて、どれほどの人によって有用かわからないが、自分のためのメモとして書いてみる。ベトナム語は、日本語同様、さまざまな文字コードが使われていることで悪名高い。最近は UTF-8 へ収束しつつあるようだが、数年前ま…

openssl 拡張ライブラリのインストール

携帯電話のエミュレーターとして使える ssb のインストールを試みた。 % svn co http://svn.coderepos.org/share/lang/ruby/ssb/trunk ssb % ruby ssb-webrick.rbこれでとりあえず ssb は動く。・・・はずなのだが、実はエラーが出て動かなかった。どうやら …

UCS-2 UTF-8 変換

UCS-2 というのは2バイトの Unicode の文字集合(およびそのコード表)のことである。 UTF-8 というのは、「ASCII と互換性のある多バイト Unicode の符号化」のことである。Linux の man page http://www.linux.or.jp/JM/html/LDP_man-pages/man7/utf-8.7.ht…

Ruby会議 2008 雑感

昨日・今日と茨城県つくば市で開催された Ruby 会議 2008 に参加した。 スピーカーの方々はみな優秀で情熱にあふれ、楽しいイベントであった。 高橋さん・角谷さんをはじめとした運営の方々には本当に頭が下がる。 楽しいイベントを本当にありがとうございま…

らくらく BASIC 認証 on Rails

趣旨 Rails アプリでプロトタイプを作ったときに、BASIC 認証を掛けて限定公開したいと思うときがあるかもしれない。ところが Rails ではそれが案外難しい。Apache をかませないと BASIC 認証ができないからだ。そこで WEBrick を使って BASIC 認証を行うよ…

楽しい GETA はお好きですか?(GETA-Ruby ブリッジ公開)

趣旨 GETA を Ruby を使って操作する GETA-Ruby ブリッジを作ってみた。Ruby の拡張ライブラリの勉強も兼ねてのことだ。久しぶりの C プログラミングだったが、Ruby の拡張ライブラリの書きやすさは異常。まつもとさんのプログラミングしやすさへのこだわり…

漢字だけを抜き出す Ruby の正規表現

すべての漢字を取り出す正規表現がとても参考になった。結局次のような単純なコードでよいらしい。 (文字コードは UTF-8 を仮定) $KCODE = 'u' require 'jcode' puts 'aA0&!漢字です'.gsub(/[^一-龠]/, '') # => "漢字" ミソは、$KCODE = 'u' して require…

dRuby を使って Excel ファイルの中身を配信

趣旨 私は Windows (ホストOS) + VWMare 上の Linux(ゲストOS) という構成で開発を行っているのだが、どうしても Linux 側から Excel ファイルを読みたくなった。そこで、dRuby を使って Windows 側から Excel ファイルの中身を読み出す Ruby プログラムを書…

dRuby ではサーバ側のホスト指定をしないほうがいい

Java の RMI みたいな分散コンピューティング技術である dRuby。これを使おうとしてはまったポイントがあったのでメモ。 dRuby 自体は涙が出るほど使うのが簡単。たとえば、同じマシンの上で、server.rb と client.rb と2つ実行ファイルを用意しよう。 # ser…

添付ライブラリの CSV クラスで標準入力からデータを受け付けるようにする

趣旨 Ruby 標準添付ライブラリの CSVクラス は CSV ファイルの読み書きに便利である。ただ残念なことに標準入力からデータを受け付けてくれない。UNIX のフィルタ的コマンドを作ろうというときには、不便だ。 そこで、標準入力からデータを受け付けるような…

安全なログローテーション

ログローテーションの落とし穴 Rails でのデフォルトのロガーは、Ruby 標準添付の Logger クラスを少し変えたものである。ログのサイズが大きくなったとき、サイズやら日付やらを基準にログのアーカイブ化を行う(ログローテーション)することが多い。一番…

Excel ファイルの内容を Ruby を使って高速取得する

Rails には直接関係ない小ネタをひとつ。Excel の中身を Ruby のプログラムから参照したいことがある。これは、次のように実現できる。win32/clipboard と win32ole という2つのライブラリを使う。 require 'rubygems' require "win32/clipboard" require 'w…

形態素分析エンジン「茶筌(ChaSen)」の導入

日本語の文章を形態素分析すると何が起きるだろう?というふとした好奇心より、形態素分析エンジン「茶筌(ChaSen)」を導入する。 元ネタは、Yet Another 仕事のツール(45) 日本語形態素解析ツール「ChaSen」。 ソフトウェアのインストール まずは、Darts と…

緯度経度表示された2つの地点の距離を計算

緯度・経度から距離を求める方法に基づいて2点の距離を求めてみる。 次の2点を考えてみる。座標系は10進数の世界測地系である。 駅名 緯度 経度 東京駅(1) 35.680737 139.767044 神田駅(2) 35.691569 139.770654 東京駅と神田駅との距離は? 経度の差 Δλ = (…

首都圏の鉄道駅の緯度経度を世界測地系に変換

首都圏の鉄道駅について、Google Maps で使用可能な世界測地系の緯度経度を取得することを目標とする。 1. 鉄道駅の緯度経度を取得 鉄道網の分析: 研究概要: 篠田 孝祐 から 駅情報データ を取得。篠田さん、ありがとう! 2. 世界測地系に変換 上のデータは…

Ruby の革新性

Ruby の革新性はプログラマにとっての気持ちよさに最適化されているという点にある。プログラミング言語は、問題を解決するために設計されてきた。しかし、プログラマ自身のことを考慮にいれてこなかったのではないか?それを前面に打ち出している Ruby の革…

Ruby 会議 2007

現在 Ruby 会議 2007@東京に参加している。実に多彩なスピーカーがいろんな話をしてくれる。それでも、特に面白いスピーチというのがあるが、退屈なスピーチとの違いはどこにあるのか?それはユーモアがあるかどうか、らしい。ではユーモアを持たせるにはど…

Fizz-Buzz 問題

Fizz-Buzz 問題というのがちょっとまえネットで流行っていたらしい。どうしてプログラマに・・・プログラムが書けないのか?問題はこうだ。 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Bu…

RMagick インストール

RMagick をインストールするのあれこれ前後して大変だった。しかし、さもさくっと終了したかのように書く。RMagick は ImageMagick の Ruby インターフェイスであるから、まずは ImageMagic をインストールする必要がある。yum や aptitude などを使ってパッ…

Rubyの呼び出し可能オブジェクトの比較

Ruby 界隈では青木峰郎氏もすごいが、この Yugui 氏も本当にすごい。数学・社会科学・コンピュータの知識を縦横無尽に駆使する博覧強記の人。 Yugui 氏による「Rubyの呼び出し可能オブジェクトの比較」3回シリーズがまた非常によい。 http://idm.s9.xrea.com…

Rubyソースコード完全解説

天才の名にふさわしい人物。「Rubyソースコード完全解説」の青木峰郎氏である。青木氏はこの著者として、Ruby の内部構造について全19章、まさに渾身の解説を加えている。青木氏の頭脳の汗が飛び散るような迫力にみちた作品である。私は、この本の落ち着いた…

Ruby 勉強会に参加

予想以上に楽しかった。やはり Ruby 関係者はレベルの高い人が多いなあ。 これは最近買ったWZero3 es の上で書いてます。 ・・・と家に帰ってパソコンで続きを書いています。 やはり W03es に比べるとこっちで書くのは天国のように楽です。 まあ、あっちもそ…

「分裂勘違い君劇場」における考察について

ブログ界のすごい人をまた一人発見。fromdusktildawn 氏だ。 「Rubyの生産性の高さはどこまで本当か?」というエントリで、元ネタの「Part1 なぜ仕事で使うとうれしいのか」 をこれでもか、これでもか、といたぶっている。私は、はっきり言って、氏の言うこ…