ひよっこ。

I want to…

Posts Tagged ‘study’

Python-FIT#4 done.

Posted by hikaruworld : 2010 8月 8

というわけで、だらだら続けているPython-FIT#4。

今日のお題は「データ構造」でした。
とりあえずSkypeベースだけで書き出し。
やっぱローカルにメモ取るか、Skypeにログを残さんとせっかくの内容をすぐに思い出せないorz…

■リスト型についてもう少し

  • pass

■リストをスタックとして使う

  • pass

■リストをキューとして使う

  • pass

■実用的なプログラミングツール

  • reduceはpy3から関数に移動されている

■リストの内包表記

■del 文

  • 関係ないけど、Pythonのメモリ管理はガベージコレクション
  • Javaみたいな管理方法で3世代
  • 循環ガベージコレクションに関しては以下。後で読む
    http://www.python.jp/doc/2.5/ext/node24.html

■タプルとシーケンス

  • 複数同時代入のアンパックってタプルじゃなくても使えたとは
  • リストとタプルの違いって変更可能かどうかってこと?
    http://d.hatena.ne.jp/m_py_study/20100127/1264544003
  • 関数の返却に多値を利用するとタプルで返却するのでよく使う気がする

■集合型

TODO setに変換して検索するのと、そのまま検索するのとはどちらが高速なのか

■辞書

  • キーワード引数でdict型の構成は初耳。
  • キーワード引数でやる場合とやらない場合の違いは?
  • キーワード引数を使うと変数指定は無理。
>>> k = "abc"
>>> dict(k=123)
{'k': 123}
>>> d = {}
>>> d[k] = 123
>>> d
{'abc': 123}
<h3>

■ループのテクニック

pass

■条件についてもう少し

  • 比較の連鎖は便利
  • 比較結果の代入はしらなかった

■シーケンスとその他の型の比較

tuple > str > listで比較される。
便利というよりもむしろ怖い。コーディングミスではまりそう。

あ、最後に環境周りに関して

* TeamViewerはHostが重くて使い物にならない。
* もうちょっとペースあげたいな。

Posted in program | タグ: , , | Leave a Comment »

開発プロセス勉強会に行ってきた(2009/05/16)

Posted by hikaruworld : 2009 5月 24

えーと、今更なんですが、一週間前wに開発プロセス勉強会に行ってきました。

現在諸事情により、平日は家ではPC禁止になっておりorz…
と、とりあえず、勉強会の内容の詳しくはここに書かれています。

以下、印象的だった事を断片的に。

  1. JUnitのテスト名は日本語!!
  2. TDDは品質管理のテストではなく、プログラムを稼働させるためのテストである。
    だから、極端にreturn 10とかやってもよい。簡単に実装することが大切。
  3. そのため、TDDのテストはそのまま品質テストとはなり得ない。
  4. じゃあCIのテストって何よ?
  5. 新人さんとペアプロする際に思考をトレースするのに便利そうだ。

1.JUnitのテスト名は日本語!!

nagiseさんの言う通り、やっぱり自動テストは日本語!!
JUnit4になって@Testのおかげでメソッド名のprefixに【test】をつけなくてよくなったし。
何十というテストを実行した際に日本語のメソッド名は見ててわかりやすい。
# まぁ、句読点がメソッド名に利用できないのはちょっともどかしいけど。

2.TDDは品質管理のテストではなく、プログラムを…

なるほど、と納得。
最初にがっちり自動テストを書いても、easymockとか使っていると、
結局、最後にコードの修正が必要になってきちゃうんだけど、
そもそも考え方が違うってことね。
まずはテストを通す(green)にする。その際に問題になることはTODOとして書き出す。

3.そのため、TDDのテストはそのまま品質テストとはなり得ない。

同上。

4.じゃあCIのテストって何よ?

この辺は、まとまっていないので別エントリで。

要するにTDDとCIをやっているときに、リポジトリへのコミット時のテストプログラムは
どういう位置づけになるんだろうというお話。

5.新人さんとペアプロする際に思考をトレースするのに便利そうだ

新人さんにものを教える際に、結果は把握できるけど過程がどうなったかいまいちわからない事が多い。
(新人さんがうまく説明できないことも含めて)
その辺りをリアルタイムに思考の流れをアウトプットして補正しやすいから、
教えやすいなとも思った。

その他

最も印象に残ったのは、やはりMac率。

Windows 2
Mac 5
FreeBSD 1

うーん。すばらしい。

あー、あと自分だけはてなID持っていないんだなぁと、ちょっと涙目。
このblog書いているときもそうなんですがid:hogehogeとかかけないのは結構面倒。

それと、テスト駆動開発入門の内容が色々な意味で難しい。
とりあえずデザインパターン知っている前提だったり、不思議な言い回しがあったり。
# 後者はともかく、前者は初学者には厳しいと思う。
# 少なくとも副作用の意味を自分はすぐに理解できなかった。

そうそう、誰もやっていない見たいのでテスト駆動開発入門のeclipse版を作成してみようと思う。

Posted in program | タグ: , | Leave a Comment »