電柱日報

日々の由無し事

Ruby

プログラミング遍歴と Crystal

BASICを齧った小・中学期 以前も書いたような気もしますが,自分のプログラミング経験は小学生の頃MSX-BASICから始まりました。 当時,両親はゲームしかできないファミコンは買ってくれませんでしたが,曲がりなりにも「パソコン」という看板を背負っていたM…

さくらのVPSにRuby1.9.1を導入

yumで導入できるrubyは1.8.5だったりするので,1.9系を利用するためにソースからのコンパイルを行ないました。 一般的な手順(configure,make,make install)で何のエラーも起きずrubyコマンドはインストールされ,実際に使えるようになるんですが,なぜかzl…

IronRubyでLDAP検索

なんだか,ゴソゴソと弄ってLDAPサーバからエントリの情報を拾えるようになりましたので,そこまでの流れを簡単にご紹介。 使用環境は32bit版Windows7上で,.Net Framework 4.0版のIronRuby 1.0v4です。 なにはともあれ,サンプルコード。 # ldap_test.rb re…

趣味の世界

ここ2〜3日,仕事が終わってからそのままIronRubyで遊んでいて,帰宅が22時過ぎとかになっております。 今日は一度大学の夜ゼミへ行ってから職場へ戻って試行錯誤してました。 期待のLDAP周りについては,使えそうな雰囲気はあるものの,System.DirectoryS…

IronRubyと戯れる

何度かGUIアプリのテストをしておるのですが,ボタンやメニューを1つ1つ手打ちで指定していくのは,正直かなり面倒です。 メニューやボタンなどは決まり切った構文がありますんで,その辺の繰り返し部分をラップして,多少なりともお手軽にGUIアプリが作れ…

IronRubyでGUI

さすがIronRubyといいますか,.Netのクラスを使って,基本的なWindowsフォームアプリがちゃちゃっと書けちゃいますね。 メソッド類が.Net本来のPascal形式でも,Rubyスタイルの全部小文字アンダースコア(_)連結でも呼び出せたり,ブロックを利用したイベント…

IronRuby

Microsoftの.Netフレームワーク上で動作するRubyインタプリタであるIronRubyの正式版v1.0が公開されたようなので早速インストール。 IronRubyと.Net Framework 4.0をインストールすると,特に面倒な手順もなく,Pathも張られてirコマンドが使えるようになり…

Prawn

前々から、利用者への通知を印刷するのにRubyからPDFを作れないものかと考え、イロイロと試しては見たのですが、日本語フォントの埋め込み関係が巧くゆかず、しばらくペンディングになっていました。 先だってRGhostが良いらしいという記事を読んだものの、G…

Fotolifeも追加

現状、はてな系サービス3種「はてなブックマーク(はてブ)」、「はてなハイク(ハイク)」、「はてなフォトライフ(フォトライフ)」のエントリ情報を日次でまとめ投稿しています。 「はてブ」と同様に「フォトライフ」もJSONデータを吐いてくれないので、これを…

Haikuまとめ送り

昨日からチョコチョコと手を入れて、日次のまとめ送りスクリプトをはてなハイクに対応させました。 JASONでデータが取り出せると、扱いが楽で良いですね*1。 少し面倒だったのは、Twitterとの互換制を考慮した結果だとは思いますが、取得エントリの日次によ…

Haikuも

はてなハイクには、Twitter互換のJSON取得APIがあるそうで。 はてブだと個人のエントリ一覧をJSONで直接取得できないので、一旦Yahoo Pipesを通してJSONデータを引き出していますが、こちらは直接JSONデータで個人のタイムラインを拾えるらしいです。 という…

本日のはてブ復活

はてなブックマークがバージョンアップした際、RSS取得APIで日付での絞り込みがうまく動いてなくて一時的に止めたまま、ずっと放置されてた「本日のピックアップ」を復活させました。 バージョンアップに伴ってフィードの構成も変わっていたようで、ちょいち…

Ruby/AWSその後

Ruby/AWSのデータ構造が独特、という話は昨日も書きましたが、ようやく全体像が見えてきました。 AWSObjectがXMLのノードと対応しているらしいことはすぐに判ったんですが、AWSObjectがプロパティとしてAWSArrayを持ち、AWSArrayに別のAWSObjectが収まってい…

Ruby/AWS

というわけで、RubyからAWS(Amazon Web Service)を使う手段を模索しておりました。 以前、自前のブログ用にAmazon連携機能を作ったときは、自分でAWSのAPIを直接叩いて処理していたんですが、チョイとググールさんにお伺いを立てたところ、RubyからAWSを利用…

ruby週間

今週は、ずっとrubyの環境を整えてたような気がします。 Ruby Net::LDAP pure rubyなLDAPクライアントライブラリ。 すでに、Ruby/LDAPというクライアントライブラリもあるのですが、Net::LDAPの良い所はpure rubyなのでほかに外部のライブラリを必要としない…

RDT(Ruby Development Tools)

ここ数年、Rubyのお手軽さにドップリとはまり込んでおりまして、仕事周りで細々としたRubyスクリプトを書き散らしてきました。 とは言っても、大半はUNIX系サーバのコマンド自動化など規模が小さいこともあり、プログラミング言語の色分け表示に定評のあるフ…

PDF操作

TSV形式*1のログから送付書類を作るのが面倒になり、ここ2日ほどRubyで直接PDFファイルを作れんものかと格闘中。 欲しい機能としては Windows環境のRuby(mswin32、cygwin、mingwは問わず)から利用できる 日本語のテキストを記述できる TrueTypeフォントを埋…

Amazon E-Commerce Service 4.0

一つ前の規格であるAWS3(Amazon Web Service 3.0)を利用していたAmazonアソシエイトリンク生成用のRubyスクリプトを、新しいECS4(E-Commerce Service 4.0)へ対応させるために書き直しました。 AWS3からECS4になりAmazonから返される情報が量、質共に大幅に強…

Amazon Web Service

はてなダイアリーで便利だと思ったのが、ISBNやASIN指定で書籍などのタイトル画像を埋め込める機能でした。 個人でアマゾンアソシエイトにも登録してみたのですが、アソシエイトプログラムでは基本的に画像をローカルにコピーして使う必要があるようで、一々…

スクリプトからの利用

Rubyスクリプト(特にCGIなど)から拡張ライブラリを利用するには、 ロードファイルの検索パスを格納している配列"$:"(もしくは"$LOAD_PATH")に拡張ライブラリをコピーしたディレクトリパスを追加してから読み込むか、 $: << "/home/hoge/lib/" require "mysql…

Ruby/GD

Ruby/GDに関しても手順はほとんど変わりません。さくらのレンタルサーバでは、libpgやlibgdだけでなくlibjpegやlibfreetypeが用意されていますので、extconf.rb実行時にそれらの機能を利用するためのオプションをつける程度です。 RAAのRuby/GDページから最…

MySQL/Ruby

MySQLを利用するためののMySQL/Rubyの導入も非常に簡単。 公式ページから最新版*1のアーカイブを入手し、FTPなどでさくらのサーバに転送します。 あとは、 (以下 % はプロンプト記号) 1:% tar zxvf mysql-ruby-2.5.tar.gz 2:% cd mysql-ruby-2.5 3:% ruby ex…

一般ユーザで拡張ライブラリ

Rubyの拡張ライブラリを導入する作業は、 前提条件となるライブラリの導入 拡張ライブラリのソースを展開 extconf.rbでMakefileの作成 コンパイル インストール という流れになります。 この中で一番面倒なのが、一番最初の必要なライブラリの依存関係を解決…

さくらでRuby

コストパフォーマンスの高さから、さくらのレンタルサーバを選択して半月ほど経過しました。 SSHでShellが利用できるので、ディレクトリツリーを遡ってサーバ環境を色々調べています。 その中で少し見えてきたのは、PHPやPerlに比べてRubyの環境(特に拡張ラ…