最近はRailsあまり追いきれていない日比です。
ひょんなことから、AkitaOnRai
秋田さんには以前ブログを読んで参考にさせていただいたことがあって、ちょっと感激なので、エントリにさせて頂きまっす。
秋田さんは日系三世なんだそうで、日本でのRailsの状況について興味をもたれているらしく、自身のブログでエントリで「日本でのRailsの状況」の情報提供を呼びかけておられます。Railsな方、ぜひぜひコメントくださいませー!
http://www
.akitaonra ils.com/20 09/07/15/r ails-devel opers-in-j apan
Endless Ruby
HAMLを使うようになってから、endの無いrubyが欲しい今日この頃。 あわや自作する直前、先人の仕事を見つけました。
endless.rb
is a pre-proces sor for ruby which allows you to use python-ish indentatio n to delimit scopes, instead of having to type 'end' every time.
良いですね。残念ながら、現時点ではrubylexerのrequireでエラーが出るようですが、一定の制約付きでもかまわないので動くようになるとありがたいです。 JRubyのCharles Nutterも割と 肯定的なコメント を寄せていますね。
Oh dear god no!
Seriously though...n
eat :) -- Charlie
JRubyのオプションに--endlessがつく?
Merbの開発がなかなか進展しないのでSinatraをちょっと触ってみたところ、
DataMapper
blog.rb
1 require "rubygems" 2 require "sinatra" 3 require "dm-core" 4 require "haml" 5 6 DataMapper::setup(:default, ENV['DATABASE_U RL'] || 'sqlite3:db .sqlite3') 7 8 class Post 9 include DataMapper ::Resource 10 property :id, Serial 11 property :content, Text 12 auto_upgra de! 13 end 14 15 get "/" do 16 @posts = Post.all(:order => [:id.desc]) 17 haml :index 18 end 19 20 post "/" do 21 Post.create(params) 22 redirect "/" 23 end 24 25 __END__ 26 @@ index 27 %h1 Hello, Sinatra! 28 %ul 29 - @posts.each do |post| 30 %li= post.conte nt 31 %form{:method => :post} 32 %textarea{:name => :content} 33 %input{:type => :submit, :value => "Post"}
config.ru
1 require "blog.rb" 2 run Sinatra::Application
ローカルで起動するには
1 % ruby blog.rb
もしくは
1 % rack
でok. rubyの場合はhttp://loc
これをHerokuにデプロイすると、
http://sin
CocoaでNSView間のTab移動を無効にする
Tabキーを押すと、Window上に配置されているNSViewのnextKeyVie
- NSWindowのinitialFir
stResponde rを適当なView(contentVie wなど)に設定する - subviewsのnextKeyVie
wをself(view自身)にする
これでひとまず目的を実現できるようです。 きっともっと簡単な方法がありそうな気がするのですが、とりあえず。
It's just a demo of Formula :-)
このブログではデフォルトでeqnarray*環境なので、こんな感じに書けます。
1 [math] 2 a & = & a + 1 \\ 3 1 & = & 1 + \frac{1}{a} \\ 4 0 & = & \frac{1}{a} \\ 5 a & = & \pm\infty 6 [/math]
GentooにRuby1.9をインストールした
Portageツリー(パッケージ管理のリポジトリみたいなの)をstableにしてもtestingにしてもRuby1.8系しか出なくて、昼間にTwitterでこんなことをつぶやいていました。
「あー、くそー、ebuild作るか―」と、Ruby1.8系のebuildを参考にしようと思いPortageツリー(/usr/porta
1 $ ls -l /usr/portage/dev-lan g/ruby/ 2 total 116 3 -rw-r--r-- 1 portage portage 64001 Jun 29 06:40 ChangeLog 4 -rw-r--r-- 1 portage portage 4479 Jun 29 06:40 Manifest 5 drwxr-xr-x 2 portage portage 4096 Jun 14 20:05 files 6 -rw-r--r-- 1 portage portage 262 Aug 23 2008 metadata.x ml 7 -rw-r--r-- 1 portage portage 5427 Jun 21 23:35 ruby-1.8.6 _p369.ebui ld 8 -rw-r--r-- 1 portage portage 5364 Jun 18 22:12 ruby-1.8.7 _p174.ebui ld 9 -rw-r--r-- 1 portage portage 5716 Jun 21 02:35 ruby-1.9.1 _p129-r1.e build 10 -rw-r--r-- 1 portage portage 5538 May 24 21:35 ruby-1.9.1 _p129.ebui ld
気が抜けて思わずTwit
追記 09/07/11 以下は非推奨
「ebuildがあるってことは、マスクされてるのか!」というGentooユーザの直感により、/usr/porta
1 # Alex Legler <a3li@gentoo.org> (20 Mar 2009) 2 # Ruby 1.9.1 for preliminary testing of libraries depending on it, bug 203706. 3 # Expect (many) breakages and incompatib ilities. 4 # Want to help testing? #gentoo-rub y on Freenode 5 >=dev-lang/ ruby-1.9.1 6 =dev-ruby/ rubygems-1 .3.1-r30
を以下のようにコメントアウトする。
1 # Alex Legler <a3li@gentoo.org> (20 Mar 2009) 2 # Ruby 1.9.1 for preliminary testing of libraries depending on it, bug 203706. 3 # Expect (many) breakages and incompatib ilities. 4 # Want to help testing? #gentoo-rub y on Freenode 5 #>=dev-lang/ ruby-1.9.1 6 #=dev-ruby/ rubygems-1 .3.1-r30
編集が終了すれば、インストールします。
追記 09/07/11 こっちが推奨. thanks, ursmさん!
/usr/porta
1 >=dev-lang/ruby-1.9.1
1 # ACCEPT_KEYWORDS="~x86" emerge ruby
インストールが終了したら、標準でRuby1.8ではなく1.9を使うようにします。
1 # eselect ruby set ruby19 2 Successfully switched to profile: 3 ruby19 4 5 # eselect ruby list 6 Available Ruby profiles: 7 [1] ruby18 (with Rubygems) 8 [2] ruby19 (with Rubygems) * 9 10 # ruby -v 11 ruby 1.9.1p129 (2009-05-12 revision 23412) [i686-linux ]
以上でインストール完了。
Gentooすばらしい。
GentooにScalaをインストールしてみた
最近、こういう理由で(?)Scalaがアツイと僕の周りの人が騒いでいたので僕もその流れに乗ってみました。
周りがMacばっかりなので、Gentooにインストールしてみたいと思います。
Scalaをインストール
まず、このような操作をしてみました。
1 # emerge scala -pv 2 3 These are the packages that would be merged, in order: 4 5 Calculating dependenci es... done! 6 7 !!! All ebuilds that could satisfy "dev-lang/s cala" have been masked. 8 !!! One of the following masked packages is required to complete your request: 9 - dev-lang/s cala-2.7.5 (masked by: ~x86 keyword) 10 - dev-lang/s cala-2.7.4 -r1 (masked by: ~x86 keyword) 11 - dev-lang/s cala-2.7.4 (masked by: ~x86 keyword) 12 - dev-lang/s cala-2.7.3 -r1 (masked by: ~x86 keyword) 13 - dev-lang/s cala-2.7.3 (masked by: ~x86 keyword) 14 - dev-lang/s cala-2.7.2 (masked by: ~x86 keyword)
maskedパッケージでした。
なので、ACCEPT_KEY
1 # ACCEPT_KEYWORDS="~x86" emerge scala
これでOKかと思いきや、scalaのコンパイルでエラーという悲しい状況になりました。
Gentooではソースからコンパイルする以外にバイナリをインストールすることが可能なので、そちらで試してみます。
1 # USE="binary" ACCEPT_KEYWORDS="~x86" emerge scala
これでscalaのバイナリがインストールされます。
ScalaでHello, World!
インストールが済んだら、早速使ってみましょう。まず、インタラクティブシェルを立ち上げます。
1 $ scala 2 Welcome to Scala version 2.7.5.r0-b2009060519 1508 (Java HotSpot(TM) Client VM, Java 1.6.0_13). 3 Type in expression s to have them evaluated. 4 Type :help for more informatio n. 5 6 scala>
よくわからず、書いてみました
1 scala> object HelloWorld{ 2 | def main( arg : Array[String] ) = { 3 | println("Hello, World!") 4 | } 5 | } 6 defined module HelloWorld 7 8 scala> HelloWorld .main(null) 9 Hello, World!
真面目に勉強するなら、Scala By Example(英語/PDF)とかを読むと良いのかも知れません。
とりあえず、今回はこれだけで。
面白そうなのは、ScalaのコードをAndroidで動かすとかですかね。
Android携帯ほしい><
RGB値と三刺激値(tristimulu
1 def xyz2rgb(x, y, z) 2 r = 3.240479 * x - 1.53715 * y - 0.498535 * z; 3 g = -0.969256 * x + 1.875991 * y + 0.041556 * z; 4 b = 0.055648 * x - 0.204043 * y + 1.057311 * z; 5 [r, g, b] 6 end 7 8 def rgb2xyz(r, g, b) 9 x = 0.412453 * r + 0.35758 * g + 0.180423 * b; 10 y = 0.212671 * r + 0.71516 * g + 0.072169 * b; 11 z = 0.019334 * r + 0.119193 * g + 0.950227 * b; 12 [x, y, z] 13 end
MacOSで共有ライブラリの依存関係を調べる
Linuxとかではlddコマンドが使えますが、MacOSでは
1 % otool -L <executable>
とすれば良いようです。
- BACK
- NEXT