tmux + iTerm2とクリップボード
重い腰を上げてついにLionにアップデート。せっかくなので設定周りもちょっと見直した。そこでゆろよろさんの日記を参考に設定をしていたんだけれども、もうすこしショートカット出来るようなのでその手順をば。
tmuxのインストール
何はともあれtmuxのインストール
$ brew install tmux
reattach-to-user-namespaceのインストール
どうも今はHomebrewで用意されてるようなので、こちらもさくっと入れられる。
$ brew install reattach-to-user-namespace
.tmux.confの編集
あとは↓を.tmux.confに書くだけ。
素朴な疑問
viバインドでコピーモード時に選択モードに入るにはSpaceなんだけどこれをvに当てる方法ないのかなぁ?
viバインド時のコマンドをごにょごにょする方法が分からん・・・。
Geminaboxをhttpsなnginxプロキシ+apacheで使う
備忘録的にクイックメモ
こんな構成
user -(https)-> nginx -(http)-> apache(passenger)
nginxのconf
location /geminabox { proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; # これがないとgeminaboxがhttpとしてハンドリングしちゃう。 proxy_pass http://host/geminabox; }
apachのconf
<VirtualHost *:80> DocumentRoot /u/apps <Directory /u/apps> Allow from all </Directory> LogLevel info CustomLog ${APACHE_LOG_DIR}/apps_access.log combined ErrorLog ${APACHE_LOG_DIR}/apps_error.log RackBaseURI /geminabox <Directory /u/apps/geminabox> Options -MultiViews </Directory> </VirtualHost>
Geminaboxはgemじゃなくてリポジトリのそのまま使った。
$ git clone https://github.com/cwninja/geminabox
RakBaseURIに合わせるためにconfig.ruをちょこっと編集。SCRIPT_NAMEにRackBaseURIに指定したものを入れる。
diff --git a/config.ru b/config.ru index 397ff92..6700f83 100644 --- a/config.ru +++ b/config.ru @@ -1,4 +1,6 @@ $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "lib"))) require "geminabox" +ENV['SCRIPT_NAME'] = 'geminabox' +Geminabox.data = '/var/geminabox-data' run Geminabox
rvmでreadline, zlib, openssl付きでrubyをインストール
毎回忘れるのでメモ
# RVMからいれるなら $ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) $ rvm pkg install readline $ rvm pkg install zlib $ rvm pkg install openssl $ rvm install 1.8.7 -C --with-openssl-dir=$HOME/.rvm/usr --with-readline-dir=$HOME/.rvm/usr --with-zlib-dir=$HOME/.rvm/usr
zshでmavenの補完まとめ
他人の褌なのだけどハマる人いるかもなんて思ったのでまとめてみた。
zshでmavenコマンドの補完 - Togetter
ちなみに自分のはこんな感じ。教えていただいたsetopt complete_aliasesはrcの方に書いた。
ちなみに
togetterからTwitter記法で引用するのにid:amachangのブックマークレットをちょろっと弄って使ってみた。forkして直せばいいんだろうけどなんかInternalErrorになっちゃってforkできなかったので手元で修正。修正箇所はセレクタのとこだけ。
ポトペタ用はこちら。
Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集
- 作者: Srirangan,長尾高弘
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2012/03/02
- メディア: 大型本
- 購入: 4人 クリック: 50回
- この商品を含むブログ (4件) を見る
Apache Maven 2.0入門 Java・オープンソース・ビルドツール
- 作者: 野瀬直樹,横田健彦
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/13
- メディア: 大型本
- 購入: 7人 クリック: 139回
- この商品を含むブログ (96件) を見る
30になってしまったので20代を振り返ってみる
25日でついに30になってしまったので、20代を振り返ってみる。
20歳
プログレやるんだぜ!と息巻いて音大に行く直前。歌舞伎町などで遊び歩く。
当時好きだったのはDream Theaterというプログレメタルバンド。
21歳
音大に入ってJazzとか古臭くてやってらんないぜ!と息巻いて2バスの練習などに明け暮れる。Mike ManginiのPrivate Lessonを取ってみたもののこの人はPlayerであってTeacherではないなぁなどと思う。
ちなみにこの頃に生涯彼を超える趣味の合う男には出会わないだろうというやつ細谷紀彰に出会う。
22歳
warr guitarなる楽器を弾くKai Kurosawaに出会ってコンテンポラリジャズの良さに気づく。Ben Monder, Keith Jarret, Peter Erskine, Brad Mehldauなどを聞くようになり、ECMいいじゃん!ってなる。
反面、レガート4分打ちの深淵さに衝撃を受け、この世界には辿りつけないんじゃと思い始める。ちなみに挫折のきっかけとなった曲はPeter ErskineはAs it is収録のGelebe Ascending。
23歳
完全なる挫折。某MMOに現実逃避。ゲーム以外のやる気は起きず、好きな音楽も聞かない生活をする。このときのMMOで生涯の友人と言える人たちに出会う。
24歳
当時ホリエモンなどがブイブイ言わせてた時代。これではいかんと思い、ホリエモンを見て時代はITだろ!と息巻いて、2chで調べて特に噂のなかった専門学校に入学する。しかしこの年の専門の授業はバカでも勝手に出来るだろレベルでしかなくて、失望し、自習しつつMMO楽しいなー毎日を送る。
25歳
専門でオブジェクト指向5原則をベースに設計手法、JSF、JPAなどを習いJavaの楽しさに目覚める。リフレクションを覚えて俺々フレームワークを作ってみたり、OracleのPL/SQLに目覚めてBlobに画像つっこんでヒャッホイしたりと兎に角プログラム三昧の日々。どれだけプログラム三昧だったかというと寝ぼけて当時の相方様といたそうとしだした挙句、なんでこんななってんの?呼び出すメソッド順がちがくない?そんな設計だからこんななっちゃってるんだろ!という暴言を吐いたくらい。
反面就職活動するくらいなら勉強してたいぜ!となった挙句、当時天狗だったため豆蔵くらい余裕だろ!と思い面接に向かい壁の厚さを知るも、俺のことがわかってねーんだなと中二病を患う。その後2つほどの会社を受けるも内定をもらえず。当時専門の臨時講師だった方に今の会社を紹介してもらい、初対面でほとんど何も話していないのに"君ならやれる"とお墨付き?を貰い初の内定をゲットし、ここに決める。
ちなみにこの時教わっていた先生は現在は日本電子専門学校で教鞭を取っておられます。
26歳
天狗になっていたのだけども入社して3日でこの会社ではやっていけないレベルが高すぎると再度挫折しかける。出来ない自分に嫌気が刺し、若干鬱々とした日々を送る。ちなみにMaven,Jenkins(当時Hudson)に出会ったのはこの頃で、先輩のスパルタ教育のお陰もあってか今では社内一のmavenist、jenkinistとなる*1。当時はSQLパズルを解くような仕事をしていて、 @ashigeru にSQLNativeな人とからかわれる*2。
27歳
念願の初AshikunepプロジェクトであるYukara Wisdomに参画する。当時TF/IDFやらなんやらと全く勉学に勤しんでいなかった自分には意味不明なアルゴリズムを @ashigeru に尻を叩かれつつもSQLでなんとか実装してみたりなどする。楽しい1年だった。ちなみに当時 @ashigeru に言われてたことがここ1-2年ほどでぼちぼちと理解出来るようになってきた。
ちなみに冬のスノボで腕を折って大目玉を食らうその1。
28歳
AppEngineがリリースされた年。いきなりAppEngineで案件!とかやった挙句本の執筆など想像だにできない日々を送る。本の執筆に至ってはこれであってるの?ほんとに大丈夫?など世に出版されてしまうという恐怖に怯えつつも、 @ashigeru に色々とアドバイスをいただきなんとかかんとか・・・。この1年はAppEngine一色?だった気がする。とはいえやっぱりMavener。27-28辺りはMavenの暗黒面に落ちてたように思う。
この年から登山なども始めるようになり、自然大好き!になる。確かtaicoclub初参戦でSquarepusherを見たりしたのもこの年。
ちなみに冬のスノボで腕を折って大々目玉を食らうその2。
iPhoneをスノボでなくす。
29歳
登山に割と没頭した年。自然綺麗!仕事は普通のSIっぽいことをやりつつ、AppEngineちょっと触りつつ。ビルド構成周りについてあーだこーだ考えてみたりなどした年。会社からMacBookProを与えられ、Linux?Unix?文化の素晴らしさに遅まきながら気づき、CUIに走り始める。
30直前で比較的本格的にRubyを学び始めてLLの素晴らしさ、Rubyの素晴らしさに目覚める。そんなこんなでRuby三昧。
お客様のところではあるもののB2Cな開発に携わる*3開発サイクルをくるくる回せそうな感じの職場で非常にやりがいを感じているなど。
ちなみに冬のスノボで腕はおらなかった!
iPhoneを会社のビルのトイレに置き忘れてパクられる。
30歳
今ここ。
今年は今年で公私ともに凄く転機になりそうな1年。Jenkinsに貢献できそうな糸口も見つけたりで技術的にも色々頑張りたい。
まとめ
波乱万丈な20代だった。これでもかというほどの挫折とそこからの復活。友人たちには感謝してもしきれないくらい。今現在、この環境に立てているのはそれら友人達、専門学校時代の恩師、会社の方々のお陰。この方々には本当に足を向けて眠れない。
これから始まる30代頑張っていきたいと思います。
RVMでJRuby on Rails3
仕事でREST APIっぽいものを持ちつつ、スクレイピングしつつなサポートアプリを作ることになったのでRails使ってみようかなぁとか思い中。ただ運用面でRuby周りのAPサーバが云々とかになると監視だったりが若干厳しいので*1TomcatやらGlassfishやらで動かしたいなーということでJRubyでトライ。
構築して思ったけどやっぱりJVMの起動がある分コマンドが遅い。開発時はrubyで、本番はJRubyでなんてのもやればできるのかな?ちょっとテストを手厚く書くなどしてみて試してみようかな。以下、構築めも。
2011/6/25 追記
- railsのインストール方法が間違ってたので修正。rvm install rails -v 3.0.7 -> gem install rails -v 3.0.7
- rails-3.0.9があったでござる。
- チュートリアルを読むといいでござる -> http://ruby.railstutorial.org/ruby-on-rails-tutorial-book
$ rvm install jruby-1.6.1
1.9.2APIを利用する為に環境変数を定義。rvm useした際のhookに仕掛けとく。
$HOME/.rvm/hooks/after_useを以下の内容で作成。
case "$GEM_HOME" in *jruby*) JRUBY_OPTS="--1.9" ; export JRUBY_OPTS ;; esac
お試し用のgemsetを用意。
$ rvm use --create jruby-1.6.1@rails3-try
railsをインストール。3.0.7が最新っぽい?*2
$ gem install rails -v=3.0.7 Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 Fetching: activesupport-3.0.7.gem (100%) Fetching: builder-2.1.2.gem (100%) Fetching: i18n-0.5.0.gem (100%) Fetching: activemodel-3.0.7.gem (100%) Fetching: rack-1.2.3.gem (100%) Fetching: rack-test-0.5.7.gem (100%) Fetching: rack-mount-0.6.14.gem (100%) Fetching: tzinfo-0.3.28.gem (100%) Fetching: abstract-1.0.0.gem (100%) Fetching: erubis-2.6.6.gem (100%) Fetching: actionpack-3.0.7.gem (100%) Fetching: arel-2.0.10.gem (100%) Fetching: activerecord-3.0.7.gem (100%) Fetching: activeresource-3.0.7.gem (100%) Fetching: mime-types-1.16.gem (100%) Fetching: polyglot-0.3.1.gem (100%) Fetching: treetop-1.4.9.gem (100%) Fetching: mail-2.2.19.gem (100%) Fetching: actionmailer-3.0.7.gem (100%) Fetching: rake-0.9.2.gem (100%) Fetching: thor-0.14.6.gem (100%) Fetching: railties-3.0.7.gem (100%) Fetching: bundler-1.0.15.gem (100%) Fetching: rails-3.0.7.gem (100%) Successfully installed activesupport-3.0.7 Successfully installed builder-2.1.2 Successfully installed i18n-0.5.0 Successfully installed activemodel-3.0.7 Successfully installed rack-1.2.3 Successfully installed rack-test-0.5.7 Successfully installed rack-mount-0.6.14 Successfully installed tzinfo-0.3.28 Successfully installed abstract-1.0.0 Successfully installed erubis-2.6.6 Successfully installed actionpack-3.0.7 Successfully installed arel-2.0.10 Successfully installed activerecord-3.0.7 Successfully installed activeresource-3.0.7 Successfully installed mime-types-1.16 Successfully installed polyglot-0.3.1 Successfully installed treetop-1.4.9 Successfully installed mail-2.2.19 Successfully installed actionmailer-3.0.7 Successfully installed rake-0.9.2 Successfully installed thor-0.14.6 Successfully installed railties-3.0.7 Successfully installed bundler-1.0.15 Successfully installed rails-3.0.7 24 gems installed
sqlite辺りもいれておくのが良さそうなのでいれとく。
$ gem install activerecord-jdbcsqlite3-adapter Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 Fetching: activerecord-jdbc-adapter-1.1.2.gem (100%) Fetching: jdbc-sqlite3-3.7.2.gem (100%) Fetching: activerecord-jdbcsqlite3-adapter-1.1.2.gem (100%) Successfully installed activerecord-jdbc-adapter-1.1.2 Successfully installed jdbc-sqlite3-3.7.2 Successfully installed activerecord-jdbcsqlite3-adapter-1.1.2 3 gems installed
railsのお試しアプリを作る。JRubyで使う場合はhttp://jruby.org/rails3.rbを指定しないといけないらしい。
$ rails new rails3-try -m http://jruby.org/rails3.rb Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 create create README create Rakefile create config.ru create .gitignore create Gemfile create app create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/mailers create app/models create app/views/layouts/application.html.erb create config create config/routes.rb create config/application.rb create config/environment.rb create config/environments create config/environments/development.rb create config/environments/production.rb create config/environments/test.rb create config/initializers create config/initializers/backtrace_silencers.rb create config/initializers/inflections.rb create config/initializers/mime_types.rb create config/initializers/secret_token.rb create config/initializers/session_store.rb create config/locales create config/locales/en.yml create config/boot.rb create config/database.yml create db create db/seeds.rb create doc create doc/README_FOR_APP create lib create lib/tasks create lib/tasks/.gitkeep create log create log/server.log create log/production.log create log/development.log create log/test.log create public create public/404.html create public/422.html create public/500.html create public/favicon.ico create public/index.html create public/robots.txt create public/images create public/images/rails.png create public/stylesheets create public/stylesheets/.gitkeep create public/javascripts create public/javascripts/application.js create public/javascripts/controls.js create public/javascripts/dragdrop.js create public/javascripts/effects.js create public/javascripts/prototype.js create public/javascripts/rails.js create script create script/rails create test create test/fixtures create test/functional create test/integration create test/performance/browsing_test.rb create test/test_helper.rb create test/unit create tmp create tmp/sessions create tmp/sockets create tmp/cache create tmp/pids create vendor/plugins create vendor/plugins/.gitkeep apply http://jruby.org/rails3.rb apply http://jruby.org/templates/default.rb gsub Gemfile
起動してみる。
$ cd rails3-try $ script/rails server Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 => Booting WEBrick => Rails 3.0.7 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2011-06-23 19:44:04] INFO WEBrick 1.3.1 [2011-06-23 19:44:04] INFO ruby 1.9.2 (2011-04-12) [java] [2011-06-23 19:44:04] INFO WEBrick::HTTPServer#start: pid=9236 port=3000
http://localhost:3000 にアクセス。して見えたらOK!