自動でデプロイするためのgit設定(自分用メモ)

クライアントでpushしたら自動でデプロイするための設定

鯖側

$ mkdir -p ~/repo/sample.git 
$ cd ~/repo/sample.git 
$ git init --bare --shared=true

ここからは自動的にデプロイするための設定
$ cd ~/work/
$ git clone ~/repo/sample.git #デプロイ先を作る
$ vim ~/repo/sample.git/hooks/post-recieve #shを作る
 (cd ~/work/sample; git --git-dir=.git pull)
$ chmod +x ~/repo/sample.git/hooks/post-receive


クライアント側

$ git init
$ git remote add prigin ssh://domain.co.jp/絶対パス/sample.git
以下はいつも通りaddしたりcommitしたり

これで,クライアントでpushしたら自動でデプロイされるようになる.
プログラムをsuperviorなんかで設定しておくと,すぐに実行できるかな.

参考ページ
Ubuntuサーバにgit/gitosis/gitwebを入れてみる - WebCrawler2
リモートサーバのgit環境を構築 + git pushでdeploy出来るようにするまでのまとめ | clicktx::Tech::Memo

virtualenvにpydocがない

virtualenv便利ですね.

pipで簡単にmoduleをインストール出来る.

でも,virtualenvの下(~/bin/)にはpydocがない.
pydocがないと各moduleの使い方が分からない.


なのでpydocをコピーしよう!
pydocも処理系のVersionによって分かれています.

cp /usr/bin/pydoc2.7 ~/bin/pydoc

このpydocをvirtualenvのPythonで処理するようにする.

$vim ~/bin/pydoc

#!/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
import sys
sys.argv[0] = sys.argv[0].replace('2.7', '')

import pydoc
if __name__ == '__main__':
    pydoc.cli()

↓編集

#!/Users/name/bin/python
import sys

これで,virtualenvのpydocが使える.

ref.vimとかで設定すると,より幸せになれるよ!


<追加>
Eclipseでpydocを見る方法どうやるんですかね?
F3押すと定義に飛んじゃうし,教えて欲しいです!

doctestでつまった所

  • python:doctestを書くときは,method explainは不必要.doctestのdocに記入しないとエラー
  • python:doctest >>> u = User(name) 必ず>>> ←ここスペースを空けないとダメ.

書き慣れてないからこういう事になる.
これだけで読んでも誰も分からない気がするけど,まぁいいか.
他人のために書くには労力が三倍くらい気がする.
つまりは,初歩的なミスってこと.

GrowlでTodo表示 todoGrowlnotify


こんな感じの経緯があり
つまり,家に帰った時,Todoの内容を自然に伝えるものが欲しい


そんなわけでプログラム書いた.



環境
  growlnotifyをインストール.(GrowlのExtras->growlnotify)



流れは
 1,特定のTodoファイルを監視
 2,特定の場所でのTodoをGrowlで表示
 3,表示したTodoは消す.




使い方
 1,Dropbox上にTodoファイルを作る.例)placeTodo.txt
 2,作ったTodoファイルのフォーマットは「(場所を表す数字or文字)::」+「Todo」*1

f:id:lainl:20101207221711p:image


↓以下 todoGrowlnotify.sh設定
 3,INPUT_FILEのPATHを書く
 4,todoGrowlnotify.shのPlaceをPC(家や研究室のPC)によって書き換える.
 5,cronの設定

     crontab -e
      */5 * * * * sh /$Path/todoGrowlnotify.sh
      #5分おきにcronを回す


これで,

f:id:lainl:20101207225529p:image

こんな感じに表示される.
表示されてたGrowlを選択するまで表示され続けるので,Todoが終わったら消す.


参考ページ.Growlで監視プロセスを通知してみよう - テックノート@ama-ch

*1:追記-11/4/9 上の図では,","になってるけど"::"に変更しました.

作ったシステムコールspecific_kill

今期,システムプログラム特論という授業でシステムコールを書いた.
結果的にシステムコールでなくてもよかったと思うのだが,今まで全くシステムコールなんて触ったことなかったので,すごく勉強になった.



システムコールを呼び出すテストプログラム.

コンパイル
%cd /usr/src/linux
%make

%cp arch/i386/boot/bzimage /tftpboot


rootまでpidをとってから枝をたどろうとしたんだけど,root.childrenを指定するとセグメントフォルトで落ちた.う〜んなんだったんだろう.無理矢理,一応動くようにはしている.
でも最後は,sys_killを使っているなど,結局ライブラリーレベルになったけど,面白かった.

Looplrを作ったので目的など.

Looplr

Tumblr楽しいすぎる.
Tumblrがない生活とか考えられない.
Tumblrの次はTwitterがくると言っても過言ではないです.(reblog)


ただ,
Tumblrは楽しくなるまでのコストが高い.

大体こんな感じ...

登録
まだ,何も流れない.
最近は,一人だけFollowerされてるけどね.

Followerを探すが...
好みの情報(画像やテキスト)をポストしてくれるユーザを捜す.
TumblrはFollowerを探すのがすごく難しい!
過去のPostなんかを見て,好みの情報を発信していても,
非アクティブユーザであることの方が大半なので全然dashbaordが流れない.

それも,頑張ってFolowerを増やして,dashbordも流れるようになって来た.

本家のUIが使いにくすぎる

ここまでたどり着けたのは,
どれだけいるのだろうか?


つまずくポイントが多すぎる.

だから,
一度おいしいところだけを味わえば,これらの苦行にも耐えられるんじゃないのかと考えた.
Webサービスって使ってみないと,どれだけ楽しいのか分からない.それにSNS系は下準備が必要なので,すぐに面白いとなることは殆どない.

そこで,
Looplr
人気の画像を自動的に再生するサービス.
これによってTumblrのおいしいところだけを味わうことが出来る.
是非,Tumblrの楽しさを分かって欲しい.

Tumblrについて
個人的にはreblogとかどうでもいい気がしていて,dashboardを眺めるのが楽しい.
そんな訳で,LooplrにはreblogもLikeもない.
なんとなく眺めているだけでTumblrの楽しさが分かるようになってる.Tumblrの楽しさがなんとなく分かった人は,Tumblrに登録してdashboardが流れるくらい使えるように設定しよう!!

ちなみに,私のreblog