Ubuntu11.04の日本語変換でGoogle日本語入力のオープンソースMozcを使う方法
はじめに
Linuxに変更するときのデメリットは日本語変換の貧弱さだと言われています。
もはや日本語変換さえなんとかなればみんなLinuxに乗り換えるのに!といった状況です。
そこで、Google日本語入力のオープンソース版、Mozcを使いましょう。
もずくとかめかぶとか、日本語関係は海鮮三昧ですね。
photo by Error 404 (Not Found)!!1
やりかた
Mozcのインストール
まずパッケージをダウンロード&インストールします。
全自動なので、楽ちんです。
Ubuntu11.04でCapsLockをCtrlにする方法
ある大学の研究では、「a」の隣がCtrlでないと気が狂う人種がいるそうです。
なので、CapsLockをCtrlに変更しましょう。そのまま使うと命に関わります。
- システム>設定>キーボードで「キーボードの設定」画面を開く
- レイアウトタブ>オプションボタン押下>Ctrlキーの位置をクリック>Make Caps Lock an additional Ctrlにチェックを入れる
Ubuntu11.04 のUnityで「システム」ってどこよ?
Unityだと「システム」云々がどこにあるかよくわかりません。
なので、ログイン時に(パスワード入力する段階)、画面下のセレクトボックスで「Ubuntu クラシック」を選択してくださいね。
これで今までどおりのGnome2系のデスクトップになります。
新卒さんのための人気Vimカラースキーマランキング5+1(vim.org & github調べ)
これといって新卒向けではありませんが、最近の新卒さんはVimでプログラミングを覚えるらしいので。
むしろ特に意味もなくVimのカラースキーマを変更したい人向けですかね。
プログラマにとってエディタはほぼ一日向きあうものなので、なるべく長時間見ていても疲れないだとか、楽しくなるだとか、主眼をどこに置くかによってカラースキーマが変わってくるでしょうね。
ということで。
第二位 pyte
pyte - A clean, light (nearly white) theme : vim online
とてもアッサリしたカラースキーマといった印象。
私はゴテゴテしたのが良いですが、たしかに、目の負担軽減にはなるかも。
この画像の他、全部で4種類ほど同梱されています。
詳細は以下を参照のこと。
http://leetless.de/vim.html
第三位 dw_colors
dw_colors - Set of black color schemes with some highlight variations : vim online
単色ベースのカラースキーマですね。
青の他にも、7色用意されております。
第四位 Zenburn
Zenburn - Low contrast colour scheme for low light conditions : vim online
なんだか柔らかい印象を受けますね。
ただ、だんだん眠くなってきました。やる気が。。。
第五位 desert.vim
第五位ですがダウンロード数で見ると結構上位なのがこのdesert.vimです。
目にやさしいし、けど、カッコイイし、結構好きです。
以上、ここまでVimマーケティング調べでした。
で、vim.org以外でもgithubにもカラースキーマってあるもので、、しかも相当ゴージャス。
それが、次のこちらです。
Rails3をCapistranoでdeployする上でのbundlerの注意点 on Windows
はじめに
rails3でもcapistrano使いたいですよね。
でもそのままだとbundlerが動かないので、わざわざ本番環境でbundle installとかやらなきゃいけない。
しかもwindows環境で作られたGemfile.lockが邪魔で、削除してから、本番環境用のGemfile.lockを作らないといけない。
なんとかならないかなぁと、思って四苦八苦したメモ。
失敗すると、こうなります。
結論
- Windows開発環境で作られたGemfile.lockはあくまでWindows環境のもの。
- Ubuntu(その他の)環境では使えませんよね(だからbundle_flags --deploymentはダメですよ)
- その環境用にGemfile.lockつくるようなcapistranoのdeploy.rbを書きましょう
deploy.rb
# デフォルトで設定されている --deployment を消す set :bundle_flags, "--quiet"
前提条件
- Windowsの開発環境
- Ubuntuに本番環境
- Rails3 (もちろんBundler使う)
- capistrano使ってデプロイしたい
環境は以下のとおり
$ ruby -v ruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mswin32] $ rails -v Rails 3.0.3 $ gem list capistrano *** LOCAL GEMS *** capistrano (2.5.19) capistrano-ext (1.2.1) capistrano_colors (0.5.3) $ gem list bundler *** LOCAL GEMS *** bundler (1.0.7, 1.0.0)
Rails3でもcapistrano使いたいよね
ということで、rails3 capistranoでググるとすぐ見つかる。
capistranoでbundle installする - 床のトルストイ、ゲイとするとのこと
Bundler: The best way to manage Ruby applications
つまるところ、config/deploy.rbに一行追加するだけでよいとのこと。
これだけで、capistrano実行時にbundle installが実行されますって。
require "bundler/capistrano"
capistranoのタスク一覧にbundle:installが追加される
$ cap -T cap bundle:install # Install the current Bundler environment. cap deploy # Deploys your project. cap deploy:check # Test deployment dependencies. cap deploy:cleanup # Clean up old releases. cap deploy:cold # Deploys and starts a `cold' application. cap deploy:migrate # Run the migrate rake task. cap deploy:migrations # Deploy and run pending migrations. cap deploy:pending # Displays the commits since your last deploy. cap deploy:pending:diff # Displays the `diff' since your last deploy. cap deploy:rollback # Rolls back to a previous version and restarts. cap deploy:rollback:code # Rolls back to the previously deployed version. cap deploy:setup # Prepares one or more servers for deployment. cap deploy:symlink # Updates the symlink to the most recently deployed ... cap deploy:update # Copies your project and updates the symlink. cap deploy:update_code # Copies your project to the remote servers. cap deploy:upload # Copy files to the currently deployed version. cap deploy:web:disable # Present a maintenance page to visitors. cap deploy:web:enable # Makes the application web-accessible again. cap invoke # Invoke a single command on the remote servers. cap multistage:prepare # Stub out the staging config files. cap production # Set the target stage to `production'. cap shell # Begin an interactive Capistrano session. cap staging # Set the target stage to `staging'.
ここで説明したいのは、最初の一行だけ。
そのほかはまた今度。
つぎに、そのレシピの使い方
$ cap -e bundle:install ------------------------------------------------------------ cap bundle:install ------------------------------------------------------------ Install the current Bundler environment. By default, gems will be installed to the shared/bundle path. Gems in the development and test group will not be installed. The install command is executed with the --deployment and --quiet flags. If the bundle cmd cannot be found then you can override the bundle_cmd variable to specifiy which one it should use. You can override any of these defaults by setting the variables shown below. N.B. bundle_roles must be defined before you require 'bundler/capistrano' in your deploy.rb file. set :bundle_gemfile, "Gemfile" set :bundle_dir, File.join(fetch(:shared_path), 'bundle') set :bundle_flags, "--deployment --quiet" set :bundle_without, [:development, :test] set :bundle_cmd, "bundle" # e.g. "/opt/ruby/bin/bundle" set :bundle_roles, {:except => {:no_release => true}} # e.g. [:app, :batch]
いろいろ設定できますね。
で、bundle_flagsの値がまずい。--deploymentとするのがまずかった。
おわりに
ということで、それを排除したらうまくいきましたよ、というお話でした。
たったそれだけですねぇ。
それがわかるまでは、いろいろとエラーを出されてました。
Twitter / katton: !!! Missing the mysql2 gem
!!! Missing the mysql2 gem. Add it to your Gemfile: gem 'mysql2'
Twitter / katton: Please install the mysql2
Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter`
まだまだRails3には人柱が必要みたいです。
rails3でmysql2が必要と言われた時の対処法
本日、突然以下のエラーに遭遇した。
!!! Missing the mysql2 gem. Add it to your Gemfile: gem 'mysql2'
まあ、gem install mysql2で終わりかと思っていたら、そんなことでは終わらず。
Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load ― active_record/connection_adapters/mysql2_adapter)
とか言われる羽目に。しかもgem install activerecord-mysql2-adapter無いし。
自力での回復を早々に諦めて、ぐぐる先生に聞くことにした。
そしたら案の定、先に遭遇している人たちがチラホラ。
API Only - Stack Exchange
Windows上で Ruby1.9.2 + Rails3 + SQLite or MySQL 環境を構築 - Everyleaf Lab
解決法
結局、上のリンク先の通りに修正した結果、動きました。とりあえずは。
問題は、なぜ、今日突然爆発したかなぁ。Gemfileで全ファイルバージョン指定しなきゃだめかな。
cap bundle:install が悪さしたかな、などと、今後原因を解明してみたい。
database.yml
production: # ... host: 127.0.0.1 # ...
2011/01/18(追記)
犯人は、不用意にdeploy.rbに追加した"bundler/capistrano"でした。
解決すれば、mysql2が必要とか言われません。
それについてはまた後日。
Rails3とjQueryを使ってAjaxのloadingとかcompleteを表示する方法
はじめに
Railsが3になってしばらく経ちました。
数々の新機能や大幅な機能拡張があり、その中にはjavascriptに関する変更もありました。
いままでデフォルトでprototype.jsを基本としたJavascriptフレームワークを使用していたのを、Rails3からはシンプルに(jrailsを使うことなく)jQueryを使うことができるようになりました。*1
正確には、特定のjavascriptフレームワークに囚われない、ですかね。
それで、link_to_remote が link_to hoge_url, :remote => true に変更になったとかは割と文献があるんですが、次のステップで必ずぶち当たるであろう「じゃあloadingとかどうすんだよ」という文献があまり見当たらなかったので書いてみようと思います。
結論
rails.jsをちょっと改造
2011/01/6現在のjquery-ujsをすこし改造します(ここでダメな気もするが)pull requestもでてるからきっと平気。気にしない。
2011/01/07に取り込まれたので割愛。
jqueryのlive関数で引っ掛ける
= link_to "Ajaxなリンク", hoge_url, remote: true, method: :post, id: "hoge_id"
$(function(){ $("#hoge_id") .live("ajax:beforeSend", function(){ alert("loading"); }) .live("ajax:success", function(){ alert("success"); }) .live("ajax:error", function(){ alert("error"); }) .live("ajax:complete", function(){ alert("complete"); }); });
おわりに
Railsを触り始めて、かれこれ3年目になりますが、進歩が早くて、最近では、とても本なんか買っていられないですねぇ。
The Pragmatic Bookshelf のように電子書籍で随時更新がかかるものを買うというのは良い選択肢だと思います。
また周辺知識も量も膨大になってきていて、Rackから始まり、REST、Mongodb、テスト(Rspec)、セキュリティ、キャッシュなどなど、「どこまでおぼえることがあるんじゃクソがっ」と若干キレ気味ではあります。
ただ、最新技術を突っ走るあたりは技術者冥利に尽きるの一言です。やっぱりRailsって楽しいですよ。お試しあれ。
Railsを2.3.5から2.3.10にあげたときのメモ
つまづきポイント
edgeが動かない
以下を施したら動いた(気がする)
- rakeを更新
- 空のvendor/railsディレクトリを削除した
$ gem install rake Temporarily enhancing PATH to include DevKit... Successfully installed rake-0.8.7 1 gem installed Installing ri documentation for rake-0.8.7... Installing RDoc documentation for rake-0.8.7... $ gem list rake *** LOCAL GEMS *** rake (0.8.7, 0.8.3, 0.8.1) $ rm -rf vendor/rails
Rackが
経験的に、Rackが悪さをしなかったことがない。
とりあえず、environmentを以下に変更したら動きました。
config.gem "rack", :version => "1.1.0"
経過観察中
更新したばかりなので、他のgemなり影響がでるかどうか、経過観察中です。