Ruby

SDカード領域でbundlerからthinを起動する時のはまりポイント

bundleでインストールしたgemsファイルは下記のように実行できるわけですが bundle exec thin startSDカード領域に保存した場合、thin実行時にthin_parser.soのアクセスに失敗するというケースがありました。 root@microserver:/media/sdcard/app# bundle ex…

quickrun.vimで日本語(UTF8)を出力させる時

忘れそうなのでメモ。 puts "日本" p "日本" を実行するとOUTPUTに 日本 "\346\227\245\346\234\254"と表示されます。 pの結果を日本語で表示したい場合は $KCOCE = 'utf8' p "日本"としてあげれば良いようです。 $KCODEについてはリファレンスマニュアルを…

Rubykaigi2010のvimkaigiでLTで発表してきました

Yokohama.vimView more presentations from gu4.Rubykaigi2010で行われたvimkaigiでLT発表をしてきました。 大舞台で発表したのは初めてでもっと緊張するかと思っていましたが楽しんで発表できて良かったです。 発表とイベントの感想 朝からSinatraとDataMap…

RMagickより軽量なmini_magickを使って画像を操作

簡単な画像操作を行いたかったのですが、以前にRMagickがインストールとか設定が面倒だった覚えもあったので、他に何かライブラリないのかな〜?と調べた所、mini_magickという軽くて設定も楽なgemがあったので、こいつを使う事にしました。エフェクトかけた…

iPhoneのi.softbank.jpメールで着信音と振動をさせる事について

先週から家族でiPhoneに乗り換えたのですが、メール時の着信音と振動がしない事にカルチャーショックを受けつつも、プッシュ形式のメールアカウントを絡める事で、実現できる事がわかりました。gmailで転送してyahoo mailで受信し着信音と振動をさせ、送信し…

livedoorクリップのタグを一括リネームするRubyスクリプトを自分用にカスタマイズした

Livedoorクリップのタグ名を一括置換したくてLDCのヘルプを見たのですが、機能は提供していませんでした。ちょっと調べてみたら livedoorクリップのタグをまとめてリネームする方法 - Macの手書き説明書 http://veadardiary.blog29.fc2.com/blog-entry-1396.…

玄箱の底力

gem install mechanizeを実行したら、何分経っても完了しない。 Tasks: 38 total, 3 running, 35 sleeping, 0 stopped, 0 zombie Cpu(s): 96.1% user, 3.9% system, 0.0% nice, 0.0% idle Mem: 127088k total, 112200k used, 14888k free, 4148k buffers Swa…

Mechanizeでファイルアップロード

Mechanizeを使ってファイルの一括アップロードをしたかったのでコードを書いたら10行以内できた。 アドレスのURLエンコードだけ気をつければ、他に落とし穴はあまりなかった。 【アップロード操作例】 require 'rubygems' require 'mechanize' UPLOAD_URL = …

Ruby Kaigi 2008の会場についた。一日目体験談

着いたらタイミング良く、休憩タイムに入ったばかり。 午後一番の基調講演を聞く予定。無線LAN環境が充実してて良い感じ。 12:45 大ホールのBGMがしぶい。IRCにログインした。会場近くの金券ショップ自販機でつくばエクスプレスの回数券が安く売っているらし…

.irbrcでirbの設定が書けるらしい

調べものしていた時に、irbrcというファイルをホームディレクトリに作成するとirbの設定をカスタマイズできる事を知りました。【参考にした.irbrc】 http://dotfiles.org/~lattice/.irbrc依存するパッケージをgemに入れて、あとはコピペで。 シンプルだけど…

仕事での活用

今まで社内ツールではRubyを使用していましたが、仕事のプロジェクトとして初めてRubyに関わる事になりました。 RailsなどのWebフレームワークではないという所もポイントかも。楽しみ。 こうやって実体験すると、世の中の流れとしてRubyが採用されてきてい…

vimScriptでIMEの状態を取得できる関数を書いた

Schemeの学習メモを書いている時に、autocomplpop.vimで日本語まで補完されるのでSchemeから脱線してvimScriptをぱっと書きました。前から気になっていた事なのですが、vimはCursorIMというIMEの状態でカーソル色を変更するオプションはあるのに、状態を取得…

RubyKaigi2008のチケットゲット

Loppiでチケットをゲットしました。 つくばエクスプレスに乗って行きます。

イディオム

RailsによるアジャイルWebアプリケーション開発 第2版作者: Dave Thomas,David Heinemeier Hansson,Leon Breedt,Mike Clark,Andreas Schwarz,James Duncan Davidson,Justin Gehtland,前田修吾出版社/メーカー: オーム社発売日: 2007/10/26メディア: 大型本購…

UnfuddleAPIのラッパーとSVNバックアップ機能をRubyで書いてみた

UnfuddleのSVNバックアップを自動化したかったので、UnfuddleAPIのラッパーとSVNバックアップをRubyで書きました。 晒したコードは自分の記憶のためとメモを兼ねてます。 かなり中途実装なので、突っ込みどころがたくさんあると思います。 最低限自分がした…

Mechanizeとnet/ftpを使ったスクリプトを作った

WWW:MechanizeでWebの管理画面から処理を実行し、 net/ftpで出力されたファイルをダウンロードするというもの。Rubyの好きなところは、こんな感じの事をしたいと思った時に書きやすいところ。 コードを書いている時の書きやすさと、「あ〜、あれだったらXXで…

vimで選択しているcsvカラム列をハイライトするスクリプトを書いた

昨日の続きでもあるんですけど、csvファイルを閲覧・編集する時はエディタで見ます。 私の場合はもちろんvimでvimwiki*1にて紹介されているCSVハイライト表示機能をよく使います。使い方は簡単で列index値を指定するだけです。 :Csv 2 そうするとこんな感じ…

ちょっとしたコード

ちょっとしたコードを書くのに、バージョン管理を行わずがしがし書いてしまっている。 自分の中でバージョン管理をする対象のファイルが明確になっていないことが駄目だと思った。決めておこう【バージョン管理をするソース】 1時間を超えて書くコード 再利…

続UnfuddleのSVNリポジトリの自動バックアップ

今日も続きを書いた。 クラス化 処理をメソッドに分割 JSON使用の検証 今は、初期設定情報のあたりを改良中。 YAMLでファイルから読み取りと、コンストラクタで設定の両方に対応したい。この2点とログ出力の整理ができたら、コードを晒してみます。

UnfuddleのSVNリポジトリの自動バックアップ書いた

完成した。 まだソースの最適化ができていないのでこれからする。機能はこんな感じ UnfuddleのAPI利用 Projectの情報を取得 リポジトリの情報を取得 SVNコマンド実行 バックアップリポジトリの作成 初期化 同期 エラー対策 メールで報告 ロガーでログ出力

RESTfulなAPIを使ってSVNリポジトリのバックアップ

UnfuddleのSubversionリポジトリを使っているのですが、リポジトリのバックアップを気が向いた時にしかとっていません。 いきなりサービス終了とかはないとは思いますが、気にしなくてもいいように「定期バッチを走らせて自動化」したいので、今Rubyでバッチ…

次の解くお題は「コインを減らす払い方」

問題を読んでみた。どうやって書くというよりも、まず解く方法を考えないといけない。目標 まずはできる方法を考える 動く事が最低条件 ロジックは妥協しない がんばるぞー。

再帰系処理の取り組み

あとはクロージャだな。 もちろんRubyで。まだ、どう書く?orgで他の方の回答を見ていないので終わったら見てみたい。 すごい実装方法が山盛りなんだろうなー。

お題を解く。再帰系処理

Rubyでやった。とりあえず、シンプルにfindモジュールを使ってみた。 違う書き方もあとで考えて書く。 お題 指定したフォルダ以下にある、ファイル名が"~"で終わるファイルを削除するプログラムを作ってください。指定したフォルダの中にあるフォルダのさら…

今年を振り返る

今年は飛躍の年だった。 色んな事をとりいれて、自分の中で確立させることができた! GTD&アジャイル アジャイルに開発をする楽しさがわかった一年だった。これから自分がシステム開発に関わっていく姿勢や目標などがはっきりと見えた。 自分の参加するプロ…

リファクタリング

昨日書いた、tar圧縮するプログラムをリファクタリングしました。 特にコマンドの出力結果を欲しいわけでもなく、成功を判断できれば十分だった・・・ open関数からsystem関数に変更。 コマンドを実行できる組み込み関数 system関数 exec関数 open関数 の3…

RubyでTarを実行するプログラムを作った

Shellが使えない環境で、ファイルをアーカイブする為のツールをRubyで作りました。 パーミッションとかバックアップとかFTPでするの面倒くさいし・・・ そんな環境だから、もちろんcgiで実行です。(^^; デフォルトでインストールされているモジュール以外使…

WWW::MechanizeとQueryString

今日、WWW::Mechanizeを使ってみた。 ページ遷移とか、HTMLパースとかデフォルトでできるのでとても使いやすかったです。 でも、pukiwikiのページをパースして取得した、QeeryStringを日本語名のページ名を URLエンコードしてGetでパラメータを渡しているリ…

autocomplpop.vimでRubyのオムニ補完も対象になった

新しいバージョンがリリースされて、早速インストールしました。 キーワード補完に加えて下記補完も対象とできるようになったようです。 ファイル名補完 rubyのomni補完 omni補完は他の辞書ファイルやファイルタイプをオプションで追加できるみたい。 あと既…

挿入モードで一行消し

昨日の続きです。 挿入モードでまとめて一行列を消せるように、こんな感じでキーマッピングしてみた。 サンプルコード*1 " 挿入モード時に《CTRL+D》で一行消し imap <silent> <c-d> \<c-r>=RubyEval("VIM::Buffer.current.line = ''")<cr><home> これで、FuzzyFinderDirの初期値を変更し</home></cr></c-r></c-d></silent>…