2011-01-01から1年間の記事一覧

ターミナルエミュレータ「ck」を入れる

新しいマシンが来た!ということで、 今頃になってようやくWindows7を触れることになった。 なにはともあれ、まずはcygwinをセットアップ。 こちらは難なくインストール完了。 そして、次はターミナルのckを入れる。cygwin ck terminal emulator http://www.…

XMLHttpRequestとクロスドメイン

MooToolsのRequestを試そうと、 ローカルにすべてのファイルを置いて試していたがどうもうまくいかない。 よくよく考えたら、HTTPのリクエストを投げるんだから、WEBサーバがないと動くわけない。 で、WEBサーバに向けてリクエストを投げてみたが、それでも…

プレースホルダ

HTML5って既存のタグもいろいろと細かいところで強化されてるんだなぁ。HTML5 placeholder attribute tests http://html5accessibility.com/tests/placeholder-labelling.html

続:テンプレートエンジンTenjinを使ってみる

Tenjin::ContextHelperを使ったら、いちいち値を渡さなくてよいのでちょっと便利。main.rb: require 'sinatra/base' require 'tenjin' class MyEngine < Tenjin::Engine def initialize(path, line, options) @template_path = path super({}) end def rend…

テンプレートエンジンTenjinを使ってみる

ふと、Sinatraで標準対応していないテンプレートエンジンのTenjinを使ってみようと思い、 いろいろ試してみたところ、なんとかいけそうな感じにはなってきた。 Sinatraは内部でTiltという汎用的なテンプレートのインターフェースを使っているが、 それに合わ…

フリーのHTMLエディタ:BlueGriffon

WYSIWYGのHTMLエディタで、Windows、MacOSX、Linuxの各OSに対応している。 HTML5やCSS3の編集もできるよう。 http://bluegriffon.org/

MemoryCard Utility (Canon) を無効にする

mac

Canonのデジカメに付属しているユーティリティをインストールすると、 メディアを挿したときに自動でMemoryCard Utilityが起動して、ImageBrowserの画像取り込みメニューが表示される。 ImageBrowserを使っていればこれでよいのだが、写真管理はLightroomで…

jrubyからApache POIを使う超手抜きモジュール

rubyからExcelファイルを読み書きするのは、Spreadsheet(pure ruby)とかwin32oleを使う方法がある。 たまたま、とあるExcelテンプレートファイルを読んで、ごにょごにょ編集して、別ファイルに出力するという機会があった。 この処理をLinux上で動かしたかっ…

drubyで作る超適当なRackセッション

Rack::Session::Memcacheを参考にdrubyで同じようなことをやってみたら、意外と簡単にできてしまった。 あとは、セッション管理側に適切な排他制御を実装すれば、それなりに使えるかな。セッションを保持するdrubyサーバ drb_session_manager.rb: require 'd…

マルチプロセスとマルチスレッド

unicornを使ったときのセッション管理をいろいろ調べていたが、 よくよく考えるとunicornはマルチプロセスなわけで…。 じゃ、Rack::Session::Poolは使えないのかと思って、 起動プロセス数を増やして試してみたら案の定、うまく動かなかった。 プロセスが違…

Rackとミドルウェア

ここしばらく、Rackのソースと格闘している。 インスタンス化されたRack::Session::Poolはどのようにして参照するのかと思い、 server.rbとかbuilder.rbらへんをつらつらと読んでいたが、 おそらくアプリケーション側からは参照できないんじゃないかという気…

jrubyからJavaのクラスを扱う

jrubyでJavaのクラスを扱うときはどうしたらよいのか? 最初、ドキュメントがぱっと見つけられなくてちょっと困った。 https://github.com/jruby/jruby/wiki/CallingJavaFromJRubyまず最初のおまじない、require 'java' しておく。・Jarファイルの読み込み r…

Sinatra::Baseのインスタンス

Sinatra::Baseはcallメソッド内でdupされているから、リクエスト毎にインスタンスが作成されるということか。 リクエスト毎に毎回hashの値が異なるから、config.ruでuseしているクラスはリクエスト毎にインスタンスが生成されると思っていたけど違うのか。 …

rubyとjrubyのエンコーディング

hiro@Mac-mini% cat a.rb p File.read('foo.txt').encoding hiro@Mac-mini% cat foo.txt foo hiro@Mac-mini% jruby --1.9 -E UTF-8 a.rb #<Encoding:ASCII-8BIT> hiro@Mac-mini% ruby -E UTF-8 a.rb #<Encoding:UTF-8>rubyとjrubyって挙動はいっしょと思っていたけど、エンコーディングで微妙に動</encoding:utf-8></encoding:ascii-8bit>…

初めての guard-shell

とりあえず、やりたいことはできた。 これ、いろんなことに応用できそう。まずは、サンプルの設定ファイルを作成。カレントディレクトリにGuardfileが作成される。 hiro@Mac-mini% guard init shell Writing new Guardfile to /Users/hiro/devel/ruby/sandbo…

unicornでリロードを

unicornで設定ファイルやら、スクリプトなんかをリロードさせようと思うとちょっと面倒。 3段階でシグナルを送ってやらないといけない。 http://unicorn.bogomips.org/SIGNALS.html #まずは、サンプルのスクリプト hiro@Mac-mini% cat main.rb require 'sin…

hamlを試す

sinatraのマニュアルを見ていると、いろんなテンプレートシステムがあるのに気づく。 この手のものはerbしか知らなかったけど、しばらく離れているうちにいっぱい出てきているんだな。 この中で、hamlを試してみた。 haml http://haml-lang.com/ざっと見てみ…

ファイルシステム監視

ああ、ついによさげなのを見つけてしまった。 guard https://github.com/guard/guard説明を見る限り、これ1本でMacOSXもLinuxも対応できる。 DSLでやりたいことが柔軟に書けるから、かなり使い勝手はよさそう。 このページにあるguard-shellを使えば、ファ…

vim-users.jp

日本の Vim ユーザのためのハブサイト http://vim-users.jp/いつの間に…

JDK1.6 Soylatte インストール

Soylatte Download for the JDK 1.6 on Mac Install Tutorial http://blog.adsdevshop.com/2009/11/13/soylatte-download-for-the-jdk-1-6-on-mac-install-tutorial/システムにインストールされているJDKはバージョン1.5。ちょっと古い。 1.6の機能を使いた…

てすと

いつまで続くかわからないけど、とりあえず記録をつけ始めてみる。

shotgunとRack::Session::Poolではまる

sinatraで自動リロードが効かないためshotgunを使ってみたが、これはうまく動いた。 しかし、Rack::Session::Poolを使うと、どうもうまく動作しない。 envの中身を調べてみると、リクエスト毎にcookieの値が変化する。 使い方が悪いのかといろいろコードをい…