次のソース: http://help-me-hackers-production/

railsのproductionでhamlのインデントが効いてない?

File: HAML_CHANGELOG

2.2.0

New Options

:ugly

The :ugly option is not technically new; it was introduced in Haml 2.0 to make rendering deeply nested templates less painful. However, it’s been greatly empowered in Haml 2.2. It now does all sorts of performance optimizations that couldn’t be done before, and its use increases Haml’s performance dramatically. It’s enabled by default in production in Rails, and it’s highly recommended for production environments in other frameworks.

新しいSyntaxが加わった2.2.0から深いネストが遅くなったのでproductionではデフォルトで:uglyオプション有効でインデント無しだそうです。

・・・・・・・・・。

こんな多数派の迫害にもう我慢ならないっ!

少数派の諸君!今すぐ下記のように:uglyオプションをぶち壊して政府転覆の恐ろしい計画を練ろうじゃないか!

# config/initializers/haml.rb
Haml::Template::options[:ugly] = false

何だかんだ言ってもdevelopmentとproductionで挙動の違いの問題は出る。

# /etc/hosts
127.0.0.1 foo foo-production
<VirtualHost *:80>
ServerName foo
DocumentRoot "/Users/komagata/Sites/foo/public"
RailsEnv development
</VirtualHost>

<VirtualHost *:80>
ServerName foo-production
DocumentRoot "/Users/komagata/Sites/foo/public"
</VirtualHost>

こうしておくと便利。

直読み(いつも忘れる・・・)

<script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

実際には大した種類のルーティングは無いのでデフォルトのルーティングは外しといた方がトラブルが少ない。(無名のルートは持たないように気を付ける感じ?)

ActionController::Routing::Routes.draw do |map|
#  map.connect ':controller/:action/:id'
#  map.connect ':controller/:action/:id.:format'
end

/index.htmlも設定しとかないとYahooにインデクスされない。

ActionController::Routing::Routes.draw do |map|
  map.root :controller => 'top'
  map.root_for_yahoo 'index.html', :controller => 'top'
end

持ってることすら忘れてたPSPを発掘。

初めて知ったんですが、昔のゲームとかがPSPだけでダウンロード購入できるんですね。昔のゲーム(といっても初代PSのゲームとかですが)の方が最近の難しいやつよりなじみやすく、わざわざ買いに行くのも億劫なおっさんにはちょうどいい感じです。値段も300円や600円が主で、Amazonで数千円の本をポコポコ買ってるのに比べれば大分安いですね。

PSPの無線LANはWPA2には対応してなかったのでワザワザ自宅のアクセスポイントをWPAに弱めて接続しました・・・。

最近ニコニコ動画でプレイ動画や実況を見ていてた、「クーロンズゲート」や「俺の屍を越えてゆけ」も600円と安いのでちょっと気になります。買ってみようかな~。

ARTDINK BEST CHOICE クーロンズ・ゲート-九龍風水傅-
俺の屍を越えてゆけ PlayStation the Best
class Tag < ActiveRecord::Base
validates_format_of :name, :with => /^\S+$/
validates_uniqueness_of :name, :case_sensitive => false

def before_validation
self.name.downcase!
end
end

小文字のみ、空白とか禁止。acts_as_taggableなんちゃら系なら多分共通。

これ危険!productionではmodelの読み込み順が違うのでエラー!とりあえず、pluginを直接書き換えて対応中・・・。

cucumberがtwitter-authの中でコケる。
You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[] (NoMethodError)
/Users/komagata/Sites/help-me-hackers/vendor/plugins/twitter-auth/lib/twitter_auth.rb:42:in `strategy'
/Users/komagata/Sites/help-me-hackers/vendor/plugins/twitter-auth/lib/twitter_auth.rb:50:in `oauth?'
/Users/komagata/Sites/help-me-hackers/vendor/plugins/twitter-auth/app/models/twitter_auth/generic_user.rb:69

modelだけ簡単なのでrspecで書いて、他をcucumberと思いきやoauthでコケるのでテストが後回しになってしまうといていたらく・・・

みなさんoauthはどうやってテストしてます?

現在開発中のWebサービス、Help me, hackers! のソースコードを公開しました。

WikiBTSリポジトリもgithubのこのPublicなとこで進めて行きます。

http://github.com/komagata/help-me-hackers

サービス開始前からソース公開というのは正気の沙汰じゃない気もしますが、Webサービスのクローンソフトが本家に悪影響を与えたという話しも聞かないし、対象ユーザーがプログラマーということもあって、良い事の方が多い気がするので実験です。

生放送で作ってる時点で、非公開のモノがあるとやり辛いんですよね。公開後はそこでこのサービス自体の開発のタスク(BTSのIssue)を依頼して行きたいと思います。

合同会社フィヨルド

Webサービス開発と同時に、会社のページが放置プレイではマズイということで会社のページをリニューアルしました。(といっても@machidaさんが全てやってくれました・・・)

公開作業をニコ生でやりつつ、見てる方にデバッグしてもらったり、ネットワークを調べてもらったりして面白かったです。(見てる方といっても殆どがあったことある人だと思いますが)

Value Domainは管理画面からDNSの設定ファイルのレコード部分をテキストエリアで弄れるんですが、その内容が(浸透とかじゃなくて)DNS自身に反映されるのに30分ぐらいかかるみたいです。(cronで定期的に設定拾って反映するようになってるんだと思います)

% dig soa fjord.jp @ns1.value-domain.com

; <<>> DiG 9.6.0-APPLE-P2 <<>> fjord.jp @ns1.value-domain.com soa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14560
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;fjord.jp. IN SOA

;; ANSWER SECTION:
fjord.jp. 2560 IN SOA ns1.value-domain.com. hostmaster.fjord.jp. 1271259290 16384 2048 1048576 2560

;; AUTHORITY SECTION:
fjord.jp. 120 IN NS ns1.value-domain.com.
fjord.jp. 120 IN NS ns2.value-domain.com.

;; ADDITIONAL SECTION:
ns1.value-domain.com. 1200 IN A 59.106.14.70
ns2.value-domain.com. 1200 IN A 202.229.187.26

;; Query time: 10 msec
;; SERVER: 59.106.14.70#53(59.106.14.70)
;; WHEN: Thu Apr 15 00:40:49 2010
;; MSG SIZE rcvd: 157

digでSOAってやるとSOAレコードが見れるんですね!(教えてもらいました)

・・・当たり前か。

TTL見て、僕がテキストエリアを編集して、もう一回TTL見て、「あ、変わってねえ」とか言ってるところで生放送時間切れ。数分後に反映されました。明日はWebサービスの方をちゃんとやります・・・。

清水國明には遥かに及ばないものの、一応ブックオフヘビーユーザーのkomagataです。

nanapiにブックオフオンラインの使い方 - nanapi × BOOKOFF Online コラボレシピ -というブックオフオンラインとのコラボレシピが出来たそうですが、僕とのTwitterのやり取りがきっかけになったそうでびっくりしました。(nanapiの関係者でも何でも無いのに)

宅本便というサービス自体に文句は無くて、便利さの割に使われてないのでプロモーション方法に問題があると思い、頼まれても無いのにつぶやいてみたんですが、nanapiは女性が多いので、女性のネットユーザーに宅本便の便利さが広まればいいですね。

元々はおそらく「宅本便」とかでTwitter検索してメッセージを一人一人に送っていたんだと思います。そういう事言われると、僕のようなネット中毒者は喜んでこうやってブログとか書きますし、集客でのTwitter利用の上手なやり方だと思いました。

Togetter - まとめ「ブックオフに改善案つぶやいたら採用された」

ヘビーユーザーには下記のように、USBバーコードリーダーを使った(元)蔵書管理をオススメします。

関連: