Shapado導入メモ

Stack Overflow Cloneの一つであるShapadoを職場に導入したので、その時の記憶を元にメモっておく(というわけで、記憶が曖昧なせいで間違っている部分もあるかもしれない)。

サーバーの準備

Fedora14に入れた。Fedora14はcd-romから起動してHDDにインストールしてSELinuxとか色々設定して、まぁそこら辺は普通に。

ShapadoはMongoDBとRoRで動くのでそっちも設定。Ruby関連はgemsを使ってshapadoのREADMEの通りにバージョンに気をつけながらインストールしていく。ライブラリのヘッダーつまり「develが無いdevelが無い」って言われ続けるので丁寧に入れていく。これがいつも面倒だなぁ。

fedora14はmongodbのrpmがあるのでyumで入れる

yum install mongodb-server
chkconfig mongodb on 
/etc/init.d/rc.d/mongodb start

これでMongoDBの設定は終り。

shapadoのインストール

職場ではgitriousのソースをgit cloneできないので、GitHubのtar.gzをダウンロードしてきた。

あとはREADMEの通りにやればdevelopmentは動く。ただし、shapado.ymlを編集したらrake bootstrapをしないといけない。これはproductionでも同様。あとprodctionで動かす場合はもうひとつのymlファイル(model.ymlだったかな?)をきちんと設定する。

apacheでshapadoを動かす

developmentは妙に遅いのでproductionで動かしたい(というかそうでないとフラストレーションが溜まる)

ApacheでRoRを動かすにはpassengerを使うとよいらしいので、そうしてみた。これは実に簡単。足りないパッケージも教えてくれるのにプログラムの言いなりでOK

ただ実際に動かしてみると起動せずerror.log見たらメソッドがないらしいので修正した

これで動いた。ApacheでRoRを動かすのは思ったより簡単だったということが分かったのは収穫

なぜイントラにStack Overflow Cloneが必要か?

An answer is always the stretch of road that's behind you. Only a question can point the way forward.ってのは名言だと思っていて、結局適切な問いを出し続けられるかというのが組織の強みなんだろうなぁと。(既に与えられた)問いに如何にはやく答えられるか?ってのはコスト競争というかそっちのほうに引っ張られて、製薬業みたいな探索なんだか工学なんだかわかんないような学際的な研究企業には本質的な強みでないよな(アウトソースなんていっぱいあるし)と、個人的に思っているし。

実際に、去年メガファーマから来た上司が真っ先に欲しがったシステムがQAシステムで、ノウハウ共有というかそういう文化を醸成したかったらしいんだけど、ITシステムがつくったものが、設計思想とかなんもなくてまぁ残念臭漂う感じで(よくあるパターンですね)、一年くらいでだれも使わなくなってしまったので、これじゃまずかろうと僕の手がちょっと空いたときにStack Overflow Cloneを入れてみたという次第。

自分でも、メールでいろいろ質問したりサジェストしたりしているんだけど、そもそもメールなんてその時に見て良く考えないと相手の言いたいこと理解しないまま二度と見なくなっちゃうし、相手(宛先)を指定しないといけないから、潜在的にそういう情報が有用な人間(Ccに入れるべきとか、未来にその情報が必要になるヒト)にリーチしないので、デメリット多いですな。

ま、そんなわけで春くらいまではShapadoがうまくまわるように少し手をかけてみようかなぁと思っている。

RoRの本を持っていないのでなんか買っておこうかなと思っているのだけど良書ってどれだろうか?

ProductName RailsによるアジャイルWebアプリケーション開発
Sam Ruby
オーム社 / 4410円 ( 2009-12 )


これとかどうですか?

「現場でプロが培った Google Analyticsの使い方」を読んだ

Google Analyticsを使ったアクセス解析 == 因数分解

Google Analyticsって面白いね。単にアクセスログを見て視覚化して増えた減ったを単純に喜ぶくらいなんかなぁと思っていたけど、実際に本書を読んだら、推論して仮説を立てて検証していくプロセスを実行出来るところが気に入った。

Hello? / Jostein Gaarderに超気に入っている一文があって、それは

'An answer is always the stretch of road that's behind you. Only a question can point the way forward.'

仮説の設定力が重要なのね。というわけで、本書にはそのためのヒントが幾つか散らばっていた。でも、僕はそういうことを検討するためのサイトを持っていないので欲しい、というかなんかつくろう。

ProductName 現場でプロが培った Google Analyticsの使い方 (WEB PROFESSIONAL)
中野 克平
アスキー・メディアワークス / 2079円 ( 2010-02-12 )


  • コンバージョン率の測定はPDCAのC
  • ソーシャルトラフィック
  • 時間帯別の指標からユーザー属性を読み取る
  • 成否の指標を明確にしよう
  • 検索エンジン(yahoo,google)
  • 一本化されたからこれは今後あまり問題にならない?
  • Webプレゼンスをキーワードから判断していく
  • ユーザーの目的はコンテンツを実際に目にすることで変わる
  • アドバンスセグメントで指標を深く読み取る
  • トラフィックの割合の変化はあまり意味が無い

あと、これってSpotfire向きの仕事だよね。だれかそういう使い方してるヒトいるのかなぁ。今度聞いてみよう

googlemapに円を描き入れる

入れてみた。ついでに常に地図の中心から5kmの範囲を示すようにした(twitterで地図の中心から5kmの範囲のtweetをサーチしているので)

最近毎朝アクセスして、昨晩雪が降って道路が凍結してないか確認している。富士と御殿場は天気がかなり違うのでこっちが晴れててもあっちは雪降ってるとかよくある。

Google Maps APIがなかなか楽しい。

ProductName Google Maps APIプログラミング入門
勝又 雅史
アスキー・メディアワークス / 3570円 ( 2010-03-30 )


Flaskをthreadで動かす

MLより

multiprocessingを使えばいいらしい。

import time
from multiprocessing import Process
from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
        return "Hi there!!!"

def run():
    app.run()

if __name__ == '__main__':

    app.debug = True

    print "starting process"
    server = Process(target=run)
    server.start()

    print "sleeping"
    time.sleep(5)

    print "ending process"
    server.terminate()
    server.join()

    print "bye..."

どういうシチュエーションでこういう必要性が出るのかいまいちわからんが覚えておこう。

山岡家

凧揚げの帰りに寄ってみた。

こってり家系?普通、中盛、大盛りってあって中盛頼んでみたけど、かなりの量だった。

つけ麺(醤油)は酸味が効いてるスープで美味しいが、色の割にトンコツ薄め?でアブラ多めな感じ。僕はつけ麺頼んだんだけど、普通にラーメンでも良かったかな。

1294657359 1294657364

U隊長の味噌。それから、チャーシュー丼。味噌はちょっと濃いな。次に頼むんだったら、「塩、固め、油少なめ、味薄め」かなぁ。

1294657345 1294657352

店内は席ごとに壁で仕切られていて、ファミリーにもやさしい(子供に飴くれるし)。というかファミリー多かったのでびっくりした。

NU:TONEの新譜

楽しみすぎる

NU:TONE

ProductName Brave Nu World
Nu Tone
Hospital / ?円 ( 2005-03-07 )


ProductName Back of Beyond
Nu Tone
Hospital / ?円 ( 2007-06-18 )


富士川緑地公園で凧揚げしてきた

緑地公園は初めて行った。スケボーのイベントとかやっていて、前から気になっていたんだけど、なかなか行かなかった。

広い!息子も大喜び。

1294656259 1294656265

娘は凧揚げが出来て大満足。

1294656253 1294656271

凧の絵柄は娘が選んだんだけど、僕も気に入っている。あと、今の凧ってめちゃくちゃ軽いのね。

Flaskをgaeで動かす

さっきのやつをgaeで動かしてみる。

git clone https://github.com/gigq/flasktodo.git gmaptweetgae
cd gmaptweetgae

でapplication.pyをFlask用のコードに置き換えてapp.yamlを適当に設定したら

appcfg.py update .

で、できたサイト。多分自分はよく使うので満足。

参考

ProductName Google App Engineプログラミング入門
中居 良介
アスキー・メディアワークス / 1890円 ( 2009-12-23 )


dev_appserver.py

path切ったはずなのに見つからなくて、???

cd /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/
unzip google_appengine.zip

ってやった。

やった後に「この前も同じことやったよなぁ」と思った。なんか間違ってるのかなぁ?

今日の畑(110109)

キャベツとか白菜のような葉物を植えてないので、なにもないというかまったくもって貧相な畑だ。というかジャガイモ植える予定にしているから、空けとかなきゃいけないんだよね。あと、午前中は日陰になっていて寒いな、この場所。

1294634544

春菊の収穫は2月の終りくらいかなぁ。

1294634529

そら豆は元気だが、スナップエンドウはダメそうだなぁ。

1294634535

今月号のやさい畑はコンパニオンプランツの 特集で、ミョウガにローズマリーがいいらしいので、今季は合間に植えてみることにした。

あと、ジャガイモは変わった品種を植えてみたいなぁ。種とかどこで手に入れるのがいいんだろうかねぇ。となりの畑のおじさんには、旧国道沿いの富士郵便局隣の苗やさんを薦められたんだけど、日曜休みなんだよねぇ。

ProductName やさい畑 2011年 02月号 [雑誌]

家の光協会 / 880円 ( 2010-12-29 )