Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

いまさらながら らくちん Sinatra 環境構築メモ

久しぶりにちょこっと Web アプリでも書いてみよっかな、と調べていたら浦島太郎状態だったのでメモ。環境は、MacOSX 10.7.5 + XCode 4.6.1 です。

環境の構築

Homebrew + Command Line Tools for Xcode

パッケージマネージャーです。結構面倒ですが入ってなかったら入れときましょう。

rbenv

rvm と似たようなもんだけど、bundler を使う場合に便利そうなので rvm から乗り換えることにしました。

$ rvm seppuku

として、rvm アンインストール後、~/.zshrc に書いていた rvm 関連のスクリプトを削除します。

続いて rbenv その他もろもろをインストールします*1

$ brew install rbenv ruby-build readline openssl
$ echo 'eval "$(rbenv init -)"' >> ~/.zshenv

インストール可能な Ruby のバージョンを確認します。

$ ruby-build --definitions # or rbenv install -l

とりあえず ruby 1.9.3 と 2.0.0のインストール。

$ RUBY_CONFIGURE_OPTS="--enable-shared --with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)"  rbenv install 1.9.3-p392
$ RUBY_CONFIGURE_OPTS="--enable-shared --with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)"  rbenv install 2.0.0-p0
$ rbenv global 1.9.3-p392 # 1.9.3 を使う
$ rbenv rehash; ruby -v # バージョン確認
Sinatra などなどのインストール*2
$ gem install sinatra shotgun bundler guard-livereload

スクリプトひな形

Gemfile
source :rubygems
 
gem 'sinatra'
gem 'haml'
 
group :development do
  gem 'guard'
  gem 'rb-fsevent' # OSX固有のもの
  gem 'guard-livereload' # ブラウザ自動リロード
  gem 'guard-ego' # Guardfile を変更した際に Guard が再起動される
end
config.ru
require "bundler"
Bundler.require
require File.dirname( __FILE__ ) + '/app'

run Sinatra::Application
app.rb
get '/' do
  'Hello, World'
end

使い方

作業ディレクトリで

$ guard init livereload

して、Guardfile に sinatra 用の設定を追加↓

guard 'livereload' do
 # sinatra
  watch(%r{.+\.rb})
  watch(%r{views/.+\.(haml|sass|css)})
end
$ guard

↑で起動後、Chrome ブラウザの Livereload アイコンクリックして

$ shotgun

を立ち上げます。こんな感じなこと↓が無事できました!

どうぞおためしください

*1: openssl を入れるのは、ruby 2.0 が システムデフォルトのものより新しいバージョンを必要とするため、readline はシステムデフォルトのものを使ってしまうと、irb や pry で日本語が打てなくなるため。

*2:shotgun は自動スクリプトリロードウェブサーバー、guard-livereload はブラウザの自動リロードのパッケージです。

Google Nexus 7 SIMフリー3G版 買いました

「ついカッとしてやった、SIM フリーなタブレット端末なら iPad mini でも何でも良かった。今は反省している。」

と、id:kenkitii は意味不明な供述をしており、当局は余罪について追及していく方針である。iOS を絶賛しておきながら、Android にも何らかの関与がある可能性もあるとみて、慎重に捜査を進めている。

写真は、自宅で25日記者会見した id:kenkitii(ロイター)

扇風機モンクでアルカイザールート

日記を書いても記事下のアドセンスが消えないと知ってからすっかり日記書くきがなくなってふと気がついたら半年近く放置してました。はてなさんなんとかしてください。

年末も押し迫り今年を軽く振り返ってみると、やんごとなき事情でやりたい事がまったく出来なかった一年でした。来年はなんとか軌道修正をしたいと思っております。という感じで色々と思うようにいかない一年ではありましたが、ヒマをみてディアブロだけは細々と続けてます。


細々ととかいいつつ、そこはかとない廃人のカホリのするスクリーンショット

さて最近になって友人が Diablo 3 を新規で遊び始め、「どこいけば効率的に稼げるの?」とよく聞かれるので、有名なアルカイザールートを紹介してみたいと思います。

アルカイザールートとは?

Diablo 3 Ver 1.04 でリリースされたパラゴンレベルを、わずか2週間たらずで(世界最速) Level100 まで上げたキチガイアルカイザーさんが発見したルートのことです。このルートをサブキャラの無限扇風機モンクで回った動画を撮ってみました↓

アルカイザールートは Inferno ACT 3 を逆走するようなルートで、ACT3 ラスボスの Azmodan 直前から Core of Arreat の WayPoint まで行き、 Tower of Damned Level 1 へ移動しグルっと回って、Arreat Crater Level 2 へいって出口を通って、Tower of Cursed Level 1 の WayPoint へ行くってのが定番です。上の動画では、その後、Rakkis Crossing を逆走し、Bridge of Korsikk のWayPoint まで行き、The Keep Depth Level 1 を逆走して街に戻り、Stornfortへ行って鍵ボス(Keywarden) を倒すところまでです。

参考までにどーぞ。

今週のお題「私のふるさと」

「韓国MFが・・・」なんてニュース記事のタイトルを見ると、Diablo III やりすぎなせいで「装備落とさずに Magic Find 上げるのお金かかるよね」なんて思う。※当日記とふるさととは関係がありません。

Dropbox もどきの ownCloud を試してみました

Dropbox もどきの ownCloud を試したので備忘録代わりに日記にまとめておきます。

準備

apt-get で一発インストールしたかったのだけど、apt にあるバージョンは古いので最新のものを自分で入れました。Ubuntu インストール時「LAMPサーバーを追加」しておくと時間節約になると思います。

インストール

apt-get install apache2 php5 php5-json php-xml php-mbstring php5-zip php5-gd
apt-get install php5-sqlite curl libcurl3 libcurl3-dev php5-curl php-pdo
wget http://download.owncloud.org/releases/owncloud-4.0.4.tar.bz2
tar -xvf owncloud-4.0.4.tar.bz2
sudo mv owncloud/ /var/www/
sudo chown -R www-data:www-data /var/www

php.ini を編集して、アップロードファイルサイズの制限値を適当に修正します。

sudo vi /etc/php5/apache2/php.ini

upload_max_filesize = 2M # 2000M などに変更
(snip)
post_max_size= 8M # 同上

設定ファイルの編集が終ったら、apache2 を再起動します。

sudo /etc/init.d/apache2 restart

専用クライアントについて

WindowsMac では問題なく同期できてます。日本語ファイル名も問題なし。でも残念ながら、スマフォ 向け専用クライアントの「ownCloud for Android」は起動するものの同期するところで強制終了。ちなみに動作検証した機種は、初代 Galaxy S + Android 2.3.3 です。

で、専用クライアントはさくっと諦めて、WebDAV クライアントアプリをインストールして ownCloud につなげました。

WebDAVアプリなら iPhone/iPad 用もあるだろうし、しばらく ownCloud 使ってみようと思います。

7/25 追記

いつのまにか Syncing Error で止まってた。サーバーとクライアントの時刻が 2分以上ずれてる場合、同期を停止するようだ。ということで ntp の設定。

~$ cat /etc/default/ntpdate 
NTPDATE_USE_NTP_CONF=no
NTPSERVERS="clock.nc.fukuoka-u.ac.jp"
NTPOPTIONS=""
~$ sudo /etc/network/if-up.d/ntpdate
~$ date # 時刻チェック
~$ sudo ln -s /etc/network/if-up.d/ntpdate /etc/cron.daily/ntpdate

Diablo III アカウントロックされた場合の解除方法

はてなからのメールは全拒否にしてるせいだろうけど、コメントついてるの今気がついたわ。ちなみに悪魔の道に引きずり込む意図はございません。Diablo 3 なんてそんなハマらずに片手間の暇つぶしとして朝飯前に赤子の手をひねるように遊べますって、いやほんと。

さて、前回日記から翌々日くらいに無事ロック解除できて、元通り遊べるようになりました。で、2ちゃん見てると自分と同様「ロックされて秘密の質問の答え忘れてログインできなくなって詰んだわ・・・」という人をちらほらみかけるので、自分が解除してもらったときの手順を参考用に公開しておきます。

  1. Battle.net の Account Recovery ページ(https://us.battle.net/account/support/account-recovery.html)へ行き、必要事項入力して次へ。
  2. 「I don't have any of this information」にチェックして次へ。
  3. パスポートもしくは運転免許証の写真を撮ってアップロード&必要事項入力。自分の場合、運転免許でいけました。

ちなみに Additional Comment には、

Dear Blizzard,

My account has been locked when game client updates to ver1.03. 
Since I can't log in to Battle.net, the reply of a ticket cannot be seen. 
I have forgotten the answer of a secret question. 

Please send the link which reset the password for my Batte.net account. 

I believe Blizzard is currently very busy, and I hate to bother you
with this, but I appreciate if you could check about this and recover
my account.

Regards, 
Kenkiti(←自分の名前)

て感じで書いて送りました。理由などは適当に書き換えてください。それでは快適な Diablo III ライフをおおくりくださいませ!!