RubyKaigi 三日目[rubygems][ruby]
本日も参加してきました
メモです
あらためて仕事で使うRuby
- スピーカー
- 後藤 謙太郎さん
- ちょっとしたプログラムの特長
- 動けばよい
- パフォーマンスいらない
- 出力pp等
- 既存Webサイトの構成調査
- 調査したいこと
- ファイル名
- タイトル
- meta
- 使うライブラリ等
- wget -m
- hpricot
- nokogiri
- 調査したいこと
Haml and Sass: Solution for you who get tired of ugly markup
- スピーカー
- 浦嶌 啓太さん
- 株式会社永和システムマネジメント
- http://twitter.com/ursm
- rhtmlとcssを手で書く時代は終わり
- rhtml問題点
- HTMLは冗長
- rhtmlを手助けしてくれない
- Hamlとは?
- htmlをきれいにかつシンプルに記述
- demoでは55%文字列を削減できた
- markupは美しく
- DRY
- indent
- http://Haml.hamptoncatlin.com/docs/rdoc/classes/Haml.html
- http://labs.unoh.net/2009/05/5Haml.html
rhtml | Haml |
hello world |
%h1 hello world |
=rond-border border-radius:16px -webkit-border-radius:16px -moz-borderradius:16px .navigation a +round-border
↓
.navigation a{ border-radius:16px; -webkit-border-radius:16px; -moz-borderradius:16px; }
=clearfix display: inline-block &:after content: "" display:block height:0 clear : both visibility:hidden * html & height:1px ul.menu +clearfix li float:left
-
- Mixingに引数が取れるようになった
=sexi-border(!color,!width = lin) border = !color width = !width style : dashed p +sexi-borr("blue")
- 質問
- デザイナーと一緒にやってるがhamlとsassはつかえるの?
- 難しそう、やめたほうがいいかも
- rhtmlをでつくっちゃってるが
- ひとつのテンプレート毎に移行できるSassも
- css2sass,html2hamlがある(変換制度は期待しないほうが..)
- パフォーマンス
- erbの2.5倍遅い
- :uglyオプションをつけると2%早い(Railsのproduction環境だとデフォルトで:uglyがonになる)
- :uglyモードはどれくらい汚い出力になるのか?
- インデントがされない
- endを書かないのが良いというのはrubyよりpythonの方が優れている?
- html特化だとデフォルトescapeすればよいのでは?
- hamlでオプションを渡せばできる
- デザイナーと一緒にやってるがhamlとsassはつかえるの?
require 'rubyems' require 'hpricot' #ARGV[0]配下のファイルを全部 file = (Dir"#{ARGV[0]}/**/*.htlm"]).sort file.each_with_idex(|fn,n| doc = Hpricot(File.read(fn)) tmp = doc.search("title")first title = tmp ? tmp.inner_html : "<empty>" put [fnmtitle].join("\t") }
require "tempfile" f= "/var/db/dhcpd/dhcp.leases" a = File.read . .
3秒毎に調査する
- 世の中で使われているfeedの調査
- ブログのアクティブユーザ数をサービス毎に
- http://www.blogfan.orgで提供されていた
- スクレイピング
- ブログのアクティブユーザ数をサービス毎に
rubygemsのおとしあな
- スピーカー
- 西山 和広さん
- rescue LoadError
- rubygemsがrequireを置き換えてしまう
- gettext
require 'gettext' begin require 'gettext/rgettext' #1.95.8 rescue require 'gettext/tools/rgettext' #2.0.4 end
-
- poファイル関連の部分を2.0.4に対応して発生
- reliable-msg
begin
require "mysql"
recue LoadError
requre 'active_record/vendor/mysql'
end
- インストールが遅い場合
- gem install --no-ri --no-rdoc [gemname]
- $HOME/.gemrc
- gem: --no-ri --no-rdoc ---format-executable
- Debian rubygemsの場合
- gemが/var/lib/gemsに入る
- 実行パスが通ってない
- /usr/local/binにsymlinkを作る
- gem update --systemは危険
- apt-pinningを使う
- gemが/var/lib/gemsに入る
- gemのインストール場所
- GEM_HOMEが設定されていればそこに
- sudoをつけないと ~/.gem配下にインストールされる
- ~/.gemにインストールしたとき
- gem uninstall GEMNMEだけだと消せない
- gem uninstall [gemname] -i =$hOME=
- http://d.hatena.ne.jp/Sixeight/20090618
- gem cleanupでも消えない
- $GEM_HOMEを設定汁
- gem uninstall GEMNMEだけだと消せない
- gemと実行ファイル
- パッケージDirに bin/lsとか作ると
- なんと/usr/bin/lsが上書きされる(ひどい仕様)
- 複数ruby verがある場合
- 質問
Ruby製アプリケーションを配布するn個の方法
- スピーカ
- Webアプリは初心者に優しくない
- サーバが必要
- Desktop
- RubyScript2Exe
- 2003-07まで開発されていた
- 現状開発はとまっている
- 色々なOSに対応している
- Rubyのinterpreterのsoとかlib配下のものまとめてexeにする
- 起動が遅い
- ruby 1.8.6以降では動かない
- Exerb
- Window用のexeを作るライブラリ
- requireを書き換えてextファイルからrubyのライブラリを呼び出す
- 速度が速い
- Ocra
- Crate
- RubyStationが今日リリース
tDiary の Ruby 1.9 対応の過程と今後のロードマップ
- スピーカー
- 柴田 博志さん
- hsbt
- 北海道在住
- tDiary
- 1.9対応の問題点
- magic comment
- 1.8->1.9への非互換
- 1.9対応詳細1.互換性対応
- compatible.rb
- machuさんが作成
- for 1.9 String.each_line ,String.to_aが1.8っぽく動くように
- for 1.8 String.force_encoding,String.bytesizeが1.9っぽく動くように
- compatible.rb
- magic comment
- 1行目を任意の文字列を挿入するone liner
gsed -i "ls/.*/# -\* - coding: utf- \*- ..
- ruby --encoding=utf-8
- Encoding::default_external = 'UTF-8'を使う!!
- 細かい修正
- ひとまず動作確認
- eval実行時にSecurityError
- $SAFE=1の時にevalすると起こる[BUG]
- 修正されるまでは例外捕獲して対応
- $SAFE=1の時にevalすると起こる[BUG]
- tDiary-2.3.2リリース 2009/05/08
- tDiaryの未来
- rspec
- pluginをテスト
- 単体テスト
- cucumber
- シナリオをテスト
- testablee_tdiaryをマージ
- http://kakutani.com/20081025.html
- http://github.com/hsbt/tdiary/tree/testable_merge
- ユーザ/こみったの声
- 質問