Google Chrome DevにExtensionを入れた時のメモ(Chrome Keyconfig等)
AutoPatchWork
URL: http://ss-o.net/chrome_extension/#AutoPatchWork
インストールしたバージョン: 0.20.1
Chrome Keyconfig
URL: http://ss-o.net/chrome_extension/#ChromeKeyconfig
インストールしたバージョン: 1.5.5
- Google ChromeでLDRize
- Google ChromeでHit a hint
- カスタムショートカットキーが設定できる
行った設定
Advancedタブのテキストエリアに以下のファイルの文字列をペーストしてImport。
http://github.com/tester7/dotFiles/raw/master/chrome/ChromeKeyconfig
vimperatorっぽい?ショートカットキー設定です(自分好みに変えている部分があります)。
Gmail Checker
URL: http://www.chromeextensions.org/alerts-updates/gmail-checker/
インストールしたバージョン: 1.9
- Google Appsに対応しているGmailチェッカー
行った設定
Google Appsで使うには、Custom Google Apps Domain項目に対して以下のように入力。
https://mail.google.com/a/example.com/
RSS Subscription Extension
URL: http://code.google.com/chrome/extensions/samples.html
インストールしたバージョン: 1.6.5
SBM Counter
URL: http://ss-o.net/chrome_extension/#SBMCounter
インストールしたバージョン: 4.2.8
行った設定
デフォルトでGoogle検索結果等Webページ内のブクマ数が表示される。
Google検索結果にはいらないので、フィルタに以下の正規表現を追加することで抑制。
^http://www\.google\.co(m|\.jp/)/
Windows 7 上に Rails 2.3.4(Ruby 1.9.1 MySQL 5.4.3-beta) 開発環境を構築した時のメモ
環境構築のスピードを重視しています。
環境
Windows 7 Professional 64bit
Rubyインストール
ActiveScriptRuby and Other packages の Ruby-1.9.1-p243 をダウンロードしインストール。
インストールパスは C:\bin\ruby にした。
gemをアップデート
gem update --system
MySQLインストール
MySQL :: Download MySQL Community Server の Windows(x64ではない) の Without installer をダウンロードし展開。
展開フォルダ名を mysql に変更して C:\bin 配下に配置し、C:\bin\mysql にパスを通す。
my-medium.ini をコピーしてファイル名を my.ini にして以下の部分を編集。
初期の設定ファイルはぐちゃぐちゃなので最低限の修正を加えて後でじっくり編集する方向で。
[client] #socket = /tmp/mysql.sock : [mysqld] #socket = /tmp/mysql.sock character_set_server = utf8 collation_server = utf8_general_ci : [mysql] default_character_set = cp932
サービス登録してスタート
mysqld --install mysql --defaults-file="--defaults-file=C:\bin\mysql\my.ini" net start mysql
発生した問題への対応
MySQL/RubyがM17Nに対応していない問題の対応
以下のファイルを編集することで対応
C:\bin\ruby\lib\ruby\gems\1.9.1\gems\activerecord-2.3.4\lib\active_record\attribute_methods.rb
- 148行目を以下の文字列に置換
access_code = cast_code ? "(v=@attributes['#{attr_name}']) && #{cast_code}" : "(@attributes['#{attr_name}'].class == String) ? @attributes['#{attr_name}'].force_encoding('UTF-8') : @attributes['#{attr_name}']"
- 273行目を以下の文字列に置換
(column.type_cast(value).class == String) ? column.type_cast(value).force_encoding("UTF-8") : column.type_cast(value)
Ruby 1.9からString[n]の解釈が変わった問題の対応
以下のファイルを編集することで対応
C:\bin\ruby\lib\ruby\gems\1.9.1\gems\activesupport-2.3.4\lib\active_support\message_verifier.rb
- 43行目から51行目を以下の内容に置換
if a.respond_to?(:bytesize) # 1.9 if a.bytesize == b.bytesize result = 0 j = b.each_byte a.each_byte { |i| result |= i ^ j.next } result == 0 else false end else # 1.8 if a.size == b.size result = 0 for i in 0..(a.length - 1) result |= a[i] ^ b[i] end result == 0 else false end end
db:create時にRubyがSEGVしてしまう場合
以下のファイルをダウンロードして C:\bin\ruby\bin に置く
http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll
終焉
あとは適当なRailsアプリを作って動作確認して完了。
複雑なアプリで試したわけじゃないので、まだ問題があるかもしれない。
Passenger 2.2.5で rewindable_input.rb:86:in `make_rewindable' みたいなエラーが出る問題
解決方法
# vi /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.5/vendor/rack-1.0.0-git/lib/rack/rewindable_input.rb - if filesystem_has_posix_semantics? + if filesystem_has_posix_semantics? && "#{RUBY_VERSION}.#{RUBY_PATCHLEVEL}" < "1.9.1.152"
Phusion Passenger for NginxでRailsをdevelopmentモードにしたいときは
nginx.confのserverディレクティブに以下を追加。
rails_env development;
Ruby 1.9.1p243 & Rails 2.3.4 で undefined method `^' for "0":String みたいなエラーが出る問題
結構ハマった。
これは何
Ruby1.9ではString[n]は文字そのものを返します。この動作はRuby1.8の動作(キャラクターコードを返す)とは異なります。
その問題を解決するPatchです。
感謝。
Railsを始めて一番最初にハマったこと
[tester@localhost]~% rails rails /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/options.rb:32:in `default_options': undefined method `write_inheritable_attribute' for Rails::Generator::Base:Class (NoMethodError) from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/base.rb:90:in `<class:Base>' from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/base.rb:85:in `<module:Generator>' from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/base.rb:48:in `<module:Rails>' from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/base.rb:6:in `<top (required)>' from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator.rb:34:in `require' from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator.rb:34:in `<top (required)>' from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/bin/rails:14:in `require' from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/bin/rails:14:in `<top (required)>' from /usr/local/bin/rails:19:in `load' from /usr/local/bin/rails:19:in `<main>' [tester@localhost]~%
!?
調べたらirbでactivesupportをrequireしてみろとのことだったのでやる。
[tester@localhost]~% irb irb(main):001:0> require 'activesupport' LoadError: no such file to load -- activesupport from (irb):2:in `require' from (irb):2 from /usr/local/bin/irb:12:in `<main>' irb(main):002:0>
oh...
原因
[tester@localhost]~% gem install rails
これによって、ユーザディレクトリ配下の.gemディレクトリに諸々がインストールされてしまっていた。
これではrequireにパスが明示されていない限り読めない。
解決方法
[tester@localhost]~% sudo gem uninstall actionmailer actionpack activerecord activeresource activesupport rack rails #アンインストール中いろいろ流れる [tester@localhost]~% sudo gem install rails
幸福実現
[tester@localhost]~% rails rails create create app/controllers ・ ・ ・ create log/test.log [tester@localhost]~%
Rubyのstring[0]の解釈についてメモ
僕は運用なのですが、先日またしてもコードを書くお仕事が来まして、今回は1からスクリプトを書くことになったのでRubyを使うことにしました。
初業務Rubyコーディングです。
今回はそのスクリプトを作成するにあたってはまったところをメモします。
環境はCentOS 5.3、Ruby 1.8.5(yum)、1.8.7、1.9.1です。
string[0]の解釈
if RUBY_VERSION >= "1.9.0" str = "7" p str[0] # => "f" elsif RUBY_VERSION >= "1.8.0" str = "7" p str[0] # => 55 end
Ruby 1.8だとstring[0]はASCIIですが、Ruby 1.9のstring[0]は文字列ということが分かりました。
普段は全く困らないのですが、今回はこの1.8の挙動を利用したものを利用していたため困りました。
正しいかどうか分からないですが、以下の方法で解決しました。
if RUBY_VERSION >= "1.9.0" str = "7" p str[0].unpack("c")[0] # => 55 elsif RUBY_VERSION >= "1.8.0" str = "7" p str[0] # => 55 end
おわり。
実はもうひとつはまったところがあり、IO#eof?の解釈が1.8.5と1.8.7で違うことがあったことを書いていたのですが、
記事を書いている時に試したら再現せず…。家には実スクリプトが無いので、またの機会に。