rm -rf /

2013-01-23

EGitでPullができなーい


調べた。

プロジェクト\.git\configに下記を追加

[remote "origin"]
 url = git@github.com:ユーザ名/リポジトリ名.git
 fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
 remote = origin
 merge = refs/heads/master

Eclipseにてウィンドウ→設定→チーム→Git→構成→リポジトリー設定で反映されていることを確認すること

参考:
http://blawat2015.no-ip.com/~mieki256/diary/201206084.html

2012-10-22

githubを使ってみた

ローカルのソースを登録した。
1.プロジェクトで右クリックして「チーム」→「プロジェクトの共用」
2.Aptana GitまたはGitを選択。(Aptana Gitの方が単純でわかりやすいかも)
3.Gitリポジトリーの構成でプロジェクトを選択して、作成ボタン押下。完了。
4.「チーム」→「コミット」でローカルGitコミット  ※このへんはSVNのファイル追加みたいなものかな
5.「チーム」→「リモート」で、あらかじめGitHubに登録していたプロジェクトのURIを登録(SSHの形式)
6.「チーム」→「リモート」→「プッシュ」でGitHubに登録
だと思われ。

なお、自分のアカウントにはSSHで接続するための鍵が必要。

SVN使ってたので直感的に使えた。けどまあ、もうちょっとうまく使えそうな気はする。

参考:
https://github.com/hybitz/AndroidInfo/wiki/Egit%E3%81%A7GitHub%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B
http://www.ne.jp/asahi/hishidama/home/tech/git/egit.html

2012-10-10

リストの中の一行を消したい

removeは駄目ー。
updateを使い給え。

from pymongo import Connection
con = Connection('localhost', 27017)
db = con['gazodb']
tbl = db['log']
tbl.update({'no': 95}, {'$pull': {'res':{'no':97}}})

no.95のデータにある、resのなかのno.97のデータのみを削除する。

なお、こちらだとno.95がまるっと消える。

tbl.remove({'res.no':97})

そういうことをしたい場合は、いいんじゃないでしょうか。

参考:
http://stackoverflow.com/questions/7846109/how-to-remove-a-item-from-a-listlistfield-by-id-in-mongoengine


だんだんDBを取り扱うクラスがぐちゃぐちゃしてきた・・・。

2012-10-04

さてmockを試そう

よし、datetime.datetime.now()をmockで上書きするぞ!


TypeError: can't set attributes of built-in/extension type 'datetime.datetime'
ですって・・・。

どうもdatetime自体は上書きする事が出来ない。
なので、patchを使って解決して下さいとのこと。

    def setUp(self):
        self.config = testing.setUp()
        self.time = datetime.datetime(2012, 10, 1, 20, 0)

        class fakedatetime(datetime.datetime):
            @classmethod
            def now(cls):
                return self.time
        patcher = patch('datetime.datetime', fakedatetime)
        self.addCleanup(patcher.stop)
        patcher.start()

    def test_now(self):
        print(datetime.datetime.now())

実行結果:
Finding files... done.
Importing test modules ... done.

2012-10-01 20:00:00


気になった点
・@classmethodって何だろう?
 →Javaでいうところのstaticメソッド。ここでは、now()がクラスメソッドなんでこんな感じ。
・@patchでなんとかならん?
 →def test_〜毎に設定しなきゃいけなそうなんで、setUpでやったほうがいいね。
・stop/startってなんだい?
 →patchの無効/有効。addCleanup()はtearDownの後に実行するメソッドを定義する

クラスメソッドって何だろう?って所で一番引っかかった。




参考:
http://docs.python.org/dev/library/unittest.mock-examples.html#partial-mocking
http://pastebin.com/uppEEihJ

2012-10-02

3.3でたよ

早速試したい。unittest.mockが特に。
venvはいらん。

参考:
http://docs.python.org/py3k/whatsnew/3.3.html