配下のディレクトリを755, それ以外を644

% chmod -R 644 .
% find . -type d -exec chmod 755 {} \;

Exceptional

Hoptoadと同種の本番環境でのエラーの内容や回数を管理したり通知してくれるサービス。

ドキュメント通りで何の問題も無く動きます。

% gem install exceptional
require 'rubygems'
require 'sinatra'

set :raise_errors, true

require 'exceptional'
use Rack::Exceptional, API_KEY

get '/' do
"Hello World!"
end

get '/error' do
big.problem!
end

Sinatraでの実際のコードはこんな感じです。

一番の利点はHerokuのAddonからだと月9$が無料になること。しかし、Hoptoadの方がeggプランは元々無料だし、機能豊富なので良い気も。Herokuはなるべくシンプルなサービスを選んで組むそうなのでシンプルな方がよかったのかな。それとも連携に機能的・政治的な問題があったのかな?

新しいプロファイルで起動してみる

% /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager

セーフモードで起動

アドオンを全てOFFにして一つずつ有効にしながら再起動する。どのアドオンが問題か確かめる。組み合わせによる問題もある・・・

Optionキーを押しながらFirefox起動(起動するまで押しっぱなし)

参照

コレの回答をtakaakiさんとfunc09さんに教えてもらいました。

% heroku config:add key=value

heroku configでサーバー上の環境変数を設定できるそうです。これはスマート!

ExceptionalなんかAddOn追加した時点でキーがENVに既に設定されてて至れり尽くせり。

% heroku config
EXCEPTIONAL_API_KEY => 7a3ee516cdb490dd...9e10d194fcf48410
RACK_ENV => production
こんな感じで行けちゃいます。
use Rack::Exceptional, ENV['EXCEPTIONAL_API_KEY'] || 'key'

設定ファイルとかも全部コレ。楽だわぁ。

関連:Herokuにアップするアプリの設定ファイル - komagata [p0t]

参照:Heroku | Config vars

イメージ作成

fsutil file createnew home.img 4294967296
ファイル C:\Program Files\coLinux\home.img が作成されました
fsutil file createnew root.img 4294967296
ファイル C:\Program Files\coLinux\root.img が作成されました
fsutil file createnew swap.img 536870912
ファイル C:\Program Files\coLinux\swap.img が作成されました

イメージ拡張

# colinux.conf
cobd0="C:\Program Files\coLinux\Debian-4.0r0-etch.ext3.1gb" 
cobd1="C:\Program Files\coLinux\Debian-4.0r0-etch.ext3.1gb2" 
cobd2="C:\Program Files\coLinux\root.img" 
mkdir /mnt/src
mount /dev/cobd1 /mnt/src
mkdir /mnt/dst
mkfs.ext3 /dev/cobd2
mount /dev/cobd2 /mnt/dst
cp -Rap /mnt/src/* /mnt/dst/
halt

swap作成

mkswap /dev/cobd1

cofs

colinux設定ファイル

cofs0="C:\Documents and Settings\komagata\My Documents" 

/etc/fstab

/dev/cofs0    /mnt/win    cofs    uid=komagata,gid=komagata,dmask=0755,fmask=0644    0    0

シングルユーザーモード

root=/dev/cobd0 ro single

サービス削除

sc delete "Cooperative Linux"

NATの削除

netsh routing ip nat uninstall
Ruby on Rails携帯サイト開発技法

事実上、Railsでの携帯開発本は他に無いので携わる人は必携であります。

個人的に感じたのは俺の様に「Rails使ってるけど携帯開発から逃げ回っている人」に特にオススメです。携帯案件やることになったら買うしか無いです。

  • 携帯の絵文字をPCでも表示する。(jpmobileの機能には無い)
  • 位置情報の利用
  • ActionMailerで絵文字やデコメ
  • リファラーからセッションIDが漏れることに対する対策
  • Flash Lite
  • jpmobileを使わない一からの実装

どうよコレ。俺の様な携帯弱者のRails厨が震え上がる内容ばっかりでしょう。頭痛いわー、俺・・・・。(大抵の携帯サイトの仕様には全部含まれてそうだし・・・)

そういう方にはとてもいいんじゃないでしょうか。基本、携帯はPHPの本ばっかりなので。

取り敢えず3冊買った・・・。

Ruby on Rails携帯サイト開発技法

1冊は俺用なので欲しい方は@komagataまで住所をDM頂ければ郵送しますー。ブログにでも本の感想を書いていただけると本が沢山売れるかもしれません!

稀有なプログラマー

著者のひとり、@yoshukiさんは非常に珍しいプログラマー兼業農家(米農家)です。

ちょっとした畑とかじゃなくてガチの水田。晴耕雨読を地で行ってる方です。

過去2年も三上米収穫祭と称してお米食べる会が模様されており、今年も楽しみです。

ネタとかじゃなくてマジで

OKOME

「お米食べろ!」

@yoshukiさんといえば電気屋(兼農家)の息子だけあってか、道具にこだわりがある印象が強いです。学生時代はTSUKUMOの店員としてアキバネイティブの自作野郎でCANOPUS信者(ビデオカード)。ノートはThinkPad。キーボードはRealforce以外認めない!そんでRubyに詳しいっつーんだから面白い。

@yoshukiさん支援で無断でプロモーション活動をしています・・・。

komagata [p0t]

どうしても1カラムで行きたかったんだけど、このブログの見た目を2カラムに変更。苦渋の選択・・・。

# lib/tasks/app.rake
namespace :app do
desc 'Set database.'
task :set => %w(db:migrate db:seed)

desc 'Reset database.'
task :reset => %w(db:migrate:reset db:seed)
end

dpkgやrpmのメタパッケージみたいにそれ自身は何もしないメタタスクを定義しておくとちょっと便利。

これまたRailsじゃなくてRake Tips・・・。

Cacooスクリーンショット

Backlogは素晴らしい。」

そもそもBacklogの素晴らしさに嫉妬の炎を燃やしていたところにCacooというサービスが出てきた。それ以降、僕ら自分達の仕事にCacooを使っている。(Webアプリのワイヤーフレームを書くため)

これも株式会社ヌーラボのサービスだという。

僕は別にヌーラボの回し者でも知り合いでも何でもない。「Web+DB Pressでヌーラボって名前をちょっと見たことあるなー」ぐらい。

個人やSOHO、LLCといった小さなグループがインターネットを使って共同作業する機会がこれからさらに増えてくのは間違いない。ローカルアプリよりWebアプリ。社内サーバーより社外サーバー。社外サーバーよりASP/SaaSの方が管理が楽。

数年前から海外のITベンチャーがGithubスタックと呼ばれる複数の外部サービスを組み合わせて仕事をするというスタイルが広まってるらしい。しかもそれは個人で使うには無料だが会社で使うと有料というしっかり儲けるモデルらしい。国内にももっとそういうサービスが必要だ。

そんなことは分かる。全くもって正論だ。でもそれを上手にやるのは簡単じゃない。

自分の作った製品、もし全く平等に見てはてブ経由で知って、他の製品群の中から本当にそれを選ぶ?

自分さえ使わない製品は犬も食わない。

よく「そういうソフト/サービスありましたよ。」という話しを聞くけど、それ、使ったんかい。毎日の仕事で使ってるんかい。

機能要件さえ満たしてればいいなら、XOOPSがあれば全てのサイトが作れる。OpenPNEがあれば全てのSNSが作れる。もうサイトの成功は約束された。

でも違うでしょ?

デザインが違うだけでもそのサイトのカラーは全く違うものになり、出来上がるコミュニティも違う。それに伴って必要とされる機能も値段も全然違う。

ユーザーのフィードバックを元に、自分で使ってみた感触を元に、細かい改良を積み重ねていって、かゆいところに手が届く、心地良いものにして始めてユーザーが使ってくれる。

ユーザーが製品を自分のツールボックスに加えてくれるかどうかはそういった細部にかかっている。

オープンソースを中身も見ずにカスタマイズした奇形児のようなサービスを使ったかい?

「バイクが2台無料だからこれをつなげて車を作れば安く出来るはずだ」といった方法論で作られた道具を自分のツールボックスに入れておきたいかい?

株式会社ヌーラボは確実にドックフードを食べている。繰り返される改良に耐えられる地に足の付いた確かな技術がある。(想像)

勿論Cacooには個人的に足りない機能もあるし、ここがこうだったらいいなという点もある。しかし、着実に良いものになっていくだろうという期待と自分のツールボックスに入れておきたい魅力がある。