骨のダイスを転がそう

2009|01|02|03|04|05|06|07|10|12|
2010|01|02|03|04|05|06|07|08|09|10|11|
2011|02|03|05|06|07|08|09|10|11|12|
2012|01|02|04|05|09|10|11|12|
2013|01|02|04|
2014|11|
2015|01|04|05|
2016|06|07|08|09|11|
2017|01|02|03|04|
2018|03|

2010-10-10

_ [Ruby][Windows] Jruby と Windows でカラー端末

nanoc3 という静的HTMLを生成するCMSがある。面白そうなので手元のWindows上で、jruby で試してみたら……

C:\home\hoge\sample>nanoc3 create_site test
[1m [32m      create [0m  config.yaml
[1m [32m      create [0m  Rakefile
[1m [32m      create [0m  Rules
[1m [32m      create [0m  content/index.html
[1m [32m      create [0m  content/stylesheet.css
[1m [32m      create [0m  layouts/default.html
Created a blank nanoc site at 'test'. Enjoy!

化けた。これは、cmd.exe が、ANSI端末のカラー化に対応していないためだ。では、win32console を入れると良いらしい。ところが、win32console は、Cの拡張ライブラリを使ってるので、jruby では使えない。困った。

で、いろいろとググったところ ansicolor というのを発見。

ANSI color support for Java/JRuby on Windows

これじゃあ!! というわけで

jgem sources -a http://gems.github.com
jgem install aslakhellesoy-ansicolor

で導入。jruby 1.5.3 で起動したところテストスクリプトが落ちる。ライブラリに

require 'java'

を追記してやる必要があった。で、nanoc3 で、端末に出力してる部分に

vi nanoc3/cli/logger.rb
     begin
       #require 'Win32/Console/ANSI' if RUBY_PLATFORM =~/mswin|mingw/
       require 'ansicolor'
     rescue LoadError
       @color = false
     end

としたらカラー出力成功!!せっかくだから本家にも報告したいんだがどうすりゃ良いんだろう。


2010-10-23

_ [.Net] ClickOnce のインストール、更新時の認証の制限は異常

  • 会社で、ユーザーにアプリケーションを配布する手段として ClickOnce を研究しているんだけど、ともかくアプリは無制限で配布する、という前提になっていて驚く。
  • 厳密には、Windows認証での認証と承認は可能みたいなんだけど、その他の認証は、Basic認証だろうが、Form認証だろうが、果ては、クライアント証明書での認証もダメ。
  • とりあえず、アプリケーションはダウンロードしてもらって、起動時に好きな方法で認証かければいいじゃん? ってな感じらしい。
  • ユーザーのPCに悪影響を及ぼさないための工夫はかなりあるんだけど……。
  • それに全体的になんか情報が少ない。みんな、RIAやクラウドの方に行ってしまっているんだろうか。

2010-10-27

_ [Net] IMAP4 で ML のログを公開してほしい

 技術情報を検索していると、MLのログに行きあたるとがよくある。ML のログは、Webベースで閲覧しやすくなっているけど、細かい使用方法は結構違う。

 もともとメールボックスの情報なんだから、メーラで閲覧できたほうが良いような気がするんだけどどうだろう?httpでアクセスしたら Web向けのインターフェースに、imapでアクセスしたら imap向けのインターフェースに、みたいな感じ。

 現状、メーラの方でもアカウント登録だけで結構大変だし公開IMAPサーバの登録なんて考え方が存在しないからすぐには実現しないだろうけど。 


2010-10-28

_ [ruby] ruby 1.8.5 と、rack 1.2.1 で

/home/hoge/usr/gems/rack-1.2.1/lib/rack/utils.rb:138:in `union': can't convert Array into String (TypeError)
       from /home/hoge/usr/gems/rack-1.2.1/lib/rack/utils.rb:138

てなエラーが出る。

ESCAPE_HTML_PATTERN = Regexp.union(ESCAPE_HTML.keys)

   ↓

ESCAPE_HTML_PATTERN = Regexp.union(*ESCAPE_HTML.keys)

と手で修正した。

参考 http://osdir.com/ml/lang.ruby.japanese/2007-10/msg00029.html

_ [ruby] ruby 1.8.5 と gem 1.3.5

 gem をユーザー権限でインストールし、環境変数 GEM_HOME を設定したが CGI がうまく動かない。コマンドラインでは、反映するんだがどういう理屈なんだろう?  結局、こんな風に書いたんだが、バグなんだろうか?

Gem.path.unshift("/home/hoge/usr/")
Gem.source_index.spec_dirs = Gem::SourceIndex.installed_spec_directories
Gem.refresh

_ [ruby] sinatra 1.1.0

#!/usr/bin/ruby

$LOAD_PATH << '/home/hoge/usr/lib'

require 'rubygems'

Gem.path.unshift("/home/hoge/usr/")
Gem.source_index.spec_dirs = Gem::SourceIndex.installed_spec_directories
Gem.refresh

require 'sinatra'

set :run, false
set :environment, :cgi

get '/' do
  'Hello world!'
end

Rack::Handler::CGI.run Sinatra::Application