Hatena::ブログ(Diary)

honeniqの三日坊主日記 このページをアンテナに追加 RSSフィード

2012-04-14

これからRubyを始めるためにやったことメモ2(エディタの環境を整える)

前回に引き続き、こちらの記事を参考にRubyのお勉強です。

これからRubyを始める人たちへ

今回は、エディタを入れてRubyプログラムを実行出来る環境を作るところまで持っていきます。


エディタどうしよう

元記事ではTextMateというシェアウェアが推奨です。

Rubyistエディタを使います。IDEは使いません。VimEmacsを使っている人もいますが、8割のRubyistTextMateを使っています。3 なぜならTextMateは「間口が広くて奥が深い」エディタだからです。€39(≒4000yen)しますが、30日の試用期間があるので気に入ったら購入します。まあ気に入りますよ。日本語がダメですが。

が、約4,000円と高価なので、ハードルが高めです。エディタに凝るのはもっと慣れてから、ということにしておいて、今回はフリーウェアの「mi」というエディタを使ってみることにしました。


miをインストール

mi - テキストエディタ

インストールはかんたん。

f:id:honeniq:20120414223955p:image:w360


rubyモードを導入

初期状態のmiにはRubyに対応したモードがありませんので、こちらのページからダウンロードして追加します。

no title

dmgファイルをマウントした中にインストール方法が書かれたテキストファイルがありますので、素直に従います。


miのメニューから「モード設定」を選びます。

f:id:honeniq:20120414223953p:image


「モード設定フォルダを開く」

f:id:honeniq:20120414223954p:image:w360


Rubyフォルダをコピーします。

f:id:honeniq:20120414223952p:image:w360


miを一度終了すると反映されて使えるようになります。


コードを実行してみる

書いてみたコードの動作を確認したいとき、通常はターミナルから実行しないといけないんですが、miモードにはそこのところを省略してくれるツールもついてきます。便利です。

コマンド+1キーでも実行できます。

f:id:honeniq:20120414223956p:image:w360


実行結果が別のタブでこんな感じで表示されます。

f:id:honeniq:20120414231447p:image:w360


これで準備はできたようだ!

2012-04-13

これからRubyを始めるためにやったことメモ1(Rubyのインストール)

早速ですが、こちらの記事に触発されてRubyをこれから始めてみます。偶然MacBook Airも手元にありますし。

これからRubyを始める人たちへ

知らないことが多すぎて壁にぶち当たりまくりですが、なんとかインストールまで終わりましたので丸ごと載せておきます。

気がついたら日付が変わっていましたので、残りの部分は明日やります。


まずルートになる

ターミナルを沢山使うので、とりあえずルートになれるようにしておきます。

あとでsudoするときに必要になると思われます。*1

honeniq$ su

Password:

え?パスワード?ルートのパスワードとか設定したっけ??

色々思いつくパスワードを入れてみるも、ぜんぜん受け付けてくれません。

調べてみると、どうやら初期状態では設定されていないらしい。


Mac でルートユーザを有効にする方法やルートパスワードを変更する方法 - Apple サポート

自分のための日記: Mac OS Xでrootのパスワードを変更する

せっかくターミナルを開いていたので、今回はそちらで。

honeniq$ sudo passwd root

Homebrewを入れるところから

sh-3.2# ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]

元記事によるとバージョン1.9.2以上が必要らしいので、アップデートします。


まずはHomebrewという、UNIXツールパッケージマネージャをinstallしてください。次にhomebrewでrbenvという、RubyのVersionマネージャをinstallします。readlineもinstallします。めんどくせーなんて言わずに。

めんどくせーなんて言わずにやります。

sh-3.2# brew update
sh: brew: command not found

あれ?入ってない。

先にHomebrewってのをインストールするんですね。



404 Error - FC2ブログ

こちらのページを参考にやってみます。

sh-3.2# ruby -e "$(curl -fsSL https://gist.github.com/raw/323731/install_homebrew.rb)"
curl: (22) The requested URL returned error: 404

おや、見当たりませんか。


no title

公式サイトを見てみると、URLが古いみたいですね。

あと、インストールにルート権限はいらないらしいです。ルートだと怒られます。

sh-3.2# su honeniq
bash-3.2$ /usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/Formula/...
/usr/local/Library/Homebrew/...

Press enter to continue
==> Downloading and Installing Homebrew...
==> Installation successful!
You should run `brew doctor' *before* you install anything.
Now type: brew help
bash-3.2$ brew doctor

Warning: Your compilers are different from the standard versions for your Xcode.
If you have Xcode 4.3 or newer, you should install the Command Line Tools for
Xcode from within Xcode's Download preferences.
Otherwise, you should reinstall Xcode.

コンパイラが古いですか。

brew doctorのおっしゃる通り、Xcodeからダウンロードします。

f:id:honeniq:20120413222932p:image:w360



これでどうだ!

bash-3.2$ brew doctor

Warning: Your Xcode is configured with an invalid path.
You should change it to the correct path. Please note that there is no correct
path at this time if you have *only* installed the Command Line Tools for Xcode.
If your Xcode is pre-4.3 or you installed the whole of Xcode 4.3 then one of
these is (probably) what you want:

    sudo xcode-select -switch /Developer
    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

DO NOT SET / OR EVERYTHING BREAKS!

まだ文句ありますか。


古いバージョンのXcodeからバージョンアップすると、パスが古いままになるみたいです。

bash-3.2$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
bash-3.2$ 
bash-3.2$ xcode-select -print-path
/Applications/Xcode.app/Contents/Developer

ようやく元記事の手順の流れに戻ってきました。


Rubyバージョンアップ

bash-3.2$ brew update
Initialized empty Git repository in /usr/local/.git/
remote: Counting objects: 63619, done.
remote: Compressing objects: 100% (27018/27018), done.
remote: Total 63619 (delta 42033), reused 54355 (delta 35811)
Receiving objects: 100% (63619/63619), 9.58 MiB | 422 KiB/s, done.
Resolving deltas: 100% (42033/42033), done.
From https://github.com/mxcl/homebrew
 * [new branch]      gh-pages   -> origin/gh-pages
 * [new branch]      master     -> origin/master
HEAD is now at da29cdc Synergy 1.3.8 and 1.4.8
Already up-to-date.
bash-3.2$ brew install rbenv
==> Downloading https://github.com/sstephenson/rbenv/tarball/v0.3.0
######################################################################## 100.0%
==> Caveats
To enable shims and autocompletion, add rbenv init to your profile:
  eval "$(rbenv init -)"
==> Summary
/usr/local/Cellar/rbenv/0.3.0: 32 files, 160K, built in 3 seconds
bash-3.2$ brew install ruby-build
==> Downloading https://github.com/sstephenson/ruby-build/tarball/v20120216
######################################################################## 100.0%
==> ./install.sh
/usr/local/Cellar/ruby-build/20120216: 38 files, 160K, built in 3 seconds
bash-3.2$ brew install readline
==> Downloading http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz
######################################################################## 100.0%
==> Downloading patches
######################################################################## 100.0%
######################################################################## 100.0%
==> Patching
patching file vi_mode.c
patching file callback.c
patching file support/shobj-conf
patching file patchlevel
==> ./configure --prefix=/usr/local/Cellar/readline/6.2.2 --mandir=/usr/local/Ce
==> make install
==> Caveats
This formula is keg-only, so it was not symlinked into /usr/local.

OS X provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.

Generally there are no consequences of this for you.
If you build your own software and it requires this formula, you'll need
to add its lib & include paths to your build variables:

    LDFLAGS  -L/usr/local/Cellar/readline/6.2.2/lib
    CPPFLAGS -I/usr/local/Cellar/readline/6.2.2/include
==> Summary
/usr/local/Cellar/readline/6.2.2: 30 files, 1.5M, built in 20 seconds
bash-3.2$ brew link readline
Linking /usr/local/Cellar/readline/6.2.2... 13 symlinks created

.zshrcなどに以下を追記します。

とありますが、うちのMacbookシェルbashらしいので、~/.bashrcに書き込むといいみたいです。

bash-3.2$ cat > ~/.bashrc
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

最後にCTRL+Dを押して入力を終わります。


bash-3.2$ rbenv install
usage: rbenv install VERSION
       rbenv install /path/to/definition

Available versions:
  1.8.6-p383
  1.8.6-p420
〜中略〜
  1.9.3-p0
  1.9.3-p125
  1.9.3-preview1
〜中略〜
  ree-1.8.7-2012.01

bash-3.2$ CONFIGURE_OPTS="--with-readline-dir=/usr/local" rbenv install 1.9.3-p125
Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /Users/honeniq/.rbenv/versions/1.9.3-p125
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz...
Installing ruby-1.9.3-p125...
Installed ruby-1.9.3-p125 to /Users/honeniq/.rbenv/versions/1.9.3-p125
bash-3.2$ rbenv rehash
bash-3.2$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
bash-3.2$ 

あれ??変わってない。


Mac(Lion)にRuby on Rails3の環境を作るメモ – RainbowDevilsLand

こちらのページを参考に、rbenvにバージョンを変えてもらいます。

rbenvはRubyのバージョン管理をするツールだったみたいです。何て読んだらいいのかわからない。

bash-3.2$ rbenv global 1.9.3-p125
bash-3.2$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]

変わった!

ようやくインストールできたようだ!長かった!

*1:あんまり必要なかった

2012-01-15

MacでSkulltag(DOOMポート)

今日どうしようもなくDOOMがしたくなったので、Macで出来るようにしました。といっても、DOOMそのままではなく「Skulltag」っていうDOOMポートエンジンを使います。

製品版のWADファイルを使用しますので、DOOM.WADかDOOM2.WADが必要です。

  1. 公式サイトからダウンロードしてくる
  2. ダウンロードしてきたDMGファイルでインストール
  3. インストール先のパッケージを開いて、WADファイルを入れる
    1. WADファイルを開いてf:id:honeniq:20120115181901j:image:w360
    2. Contents/MacOS/の下に入れるf:id:honeniq:20120115181902j:image:w360
  4. DOOMする

f:id:honeniq:20120115181903p:image:w640

2011-12-06

Macにおけるマウスのスクロール方向について思うこと

今どきのマウスにはホイールがついていて、クルクルすると直感的にスクロールできて便利ですよね。

Macの一推しマウスであるMagicMouseにも、マウスの表面を指でなぞることでホイール的な動作をする機能があります。トラックパッドも同様。

このホイールでスクロールさせたときに動く方向が、Macはのデフォルト設定は普通と逆なんです。

これまで私が使ったことのあるOS(WindowsといくつかのLinuxディストリ)は全て「ホイールを下に回すとページも下に動く」という動作でした。しかしMacだとこの逆で、「ホイールを上に回すとページは下に動く」なんです。

今はもう慣れましたが、最初はかなり戸惑いました。

どうして普通じゃないの?と考えてたんですが、答えがわかったような気がします。


f:id:honeniq:20111206225758p:image

マウスの設定画面で、スクロールの方向を「ナチュラル」って表現していますよね。このナチュラルというのは何にとってのナチュラルなのかというと、もちろん人間にとってです。

机に置いた紙を指で押さえてつつーっと動かすと、当然紙は指についてくるように動きます。ウィンドウという「窓」の向こう側にはその窓に収まりきらないくらいの大きさの紙があって、その紙自体を動かしながら読むようなイメージですね。


対して従来のスクロール方向は、スクロールバーをホイールで操作しているようなイメージです。スクロールバーは「ページの中で現在どの部分を表示しているか」を表すものです。これだと、動いているのは紙じゃなくて窓の方です。漁師さんがよく使ってる「桶の底が透明になってるアレ」で海の中を覗いているような感じです。


従来のスクロール方向だと動くのは「窓」であり「自分」の側ですが、Macの場合は「窓」の向こう側にある紙が動いて「自分」は動かないんです。

この違いって結構大きいと思いませんか?


追記

と、ここまで書いて、iPadもスクロール方向が同じなことに気付きました。

あれ?もしかして、iPadに合わせただけ?

今のスクロール方向になったのも最近みたいだし、合わせただけかも。

2011-11-30

GoogleカレンダーのサブカレンダーをiCalで表示する

iCalを使うとすごい簡単にGoogleカレンダーを取り込むことができたんですが、ひとつ困っていることがありました。

Googleカレンダーは1つのアカウントで複数のカレンダーを作成できるんですが、iCalに同期されるのは1個目のカレンダーだけなんです。

この1個目をメインカレンダー、それ以外をサブカレンダーと呼ぶようにします。

私の使い方では、メインカレンダーで予定を管理。サブカレンダーは1つだけで、iPhoneの「domo Todo+」っていうアプリと同期させて、Todo管理に使っています。

GoogleカレンダーをWebから使うときはメインもサブも両方表示させて、予定とTodoが一覧できる状態にしています。

MacにGoogleアカウントを登録させただけだと、このメインカレンダーのみが表示されていました。


対処法

f:id:honeniq:20111130072249p:image:medium:right

iCalのメニュー→環境設定をクリック。

アカウントタブに切り替えて、Googleアカウントを選択。

委任を押したらサブカレンダーの一覧が出ます。


参考→Googleカレンダーと、SnowLeopardのiCalで複数のカレンダーをシンクする。SpaningSyncもmobileMeも要らないよ