職場のノートとマインドマップとペチットワン

Ca310477 Ca310475

今日、仕事で使用するノートを、ノートというかノートの使い方自体を変えてみた。

今まで使用してたのは会社の横のファミリーマートで売ってる無印良品の「B5サイズ ダブルリングノート」
これをキーボードの前に縦に置いて、作業工程やメモを書きながらどんどんプログラミングをしていくスタイルを取っていた。

自分の作業に合うノートってどうあるべきなのかなと考えてみた。

理想は、
キーボードとマウスを常に操作してる状態からペンを握らずに書けるようなもの。
そしてできるだけ大きい面。

そうだぁ、、、
PCモニターの手前、キーボードの上くらいにモニターの3倍くらいの面積の「何かの面」があって、そこに手を動かすだけで文字が書ける。
ようなもの。

できるだけ手は大きく動かしたい。
手を大きく動かして文字を書くって気持ちいいんだよね(実は書道3段w)

と、アホな事を考えてもしょうがないので、
現在での何か改善できないかやってみた。

まず、面は大きい方がいい。
PCの前に置くなら縦置きよりも横置きのがいいだろう。
で、サイズはA4の横置きと決定。

ノートの形の種類は、、、
土曜日に「みすずノート 小口染め」買ってみたけど、仕事でノートは常にキーボードの前に開いていつでも書き込めるようにするので難しい。
するとやっぱり今までどおりに開きやすいリングノートか?とか思った。

「みすずノート 小口染め」が物凄い万年質との相性が良いので同じ紙質のものが無いかハンズで紙の表面を触って探してみると、オキナ株式会社の「ProjectPaper」というのが一番肌触りが似てる。

これは書いたページをピリピリ破って次のページを出すタイプだ。

破るとして、破った紙はどうする?前に書いた紙もよく使うよ?
そうだ、バインダーに入れよう。

というわけで、リングノートは止めてこれにしてみる。

写真のペンは「PILOT ペチットワン」
これでも万年筆。でもカラフルなのがいい。でも1,890円・・・
万年筆は書きごこちがいいけど、需要が無いせいか高いのが痛い。これだけ書き心地がいいんだからもっとみんなに使って欲しい。

で、「PILOT ペチットワン」を買ったのは、マインドマップを描く為。
何事も最初は形からですよw
好きな道具を使えば楽しんで覚えられるってもんです。

| | コメント (230) | トラックバック (118)

ペアプログラミングは絶対にやるべきだと実感した

Ca310335ペアプログラミングが良い良いと聞くので職場で検証してみました。

ペアプロを始めるにあたって以下の情報を参考にしました。

開発者が楽しく仕事できる環境とは - 近藤淳也の新ネットコミュニティ論
http://blog.japan.cnet.com/kondo/archives/002275.html

▼パートナー

新人4ヶ月目の野中君

▼実行するにあたって注意した事
できるだけ参考にした情報に忠実になるようにやりました。
・PCは1台でデュアルモニター
・作業者は横に並び画面が必ず見えるようにする
・午前中の2時間半をペアプロして、午後はソロプロで別作業

▼作業内容
ゲームの大きなタスク(タイトル中、ゲーム中、など)の管理&切り替えシステムと、タスク切り替えによる既存システムで発生するバグの修正

▼ソロプロでの作業予定期間
5日

▼ペアプロでの作業期間結果
15時間(2日分)

▼結果
・2人で行う設計は一人で行うものよりも遥かにしっかりした物が作れる
・実装中はついつい相手に説明しながらコードを書いてしまう、これがミスの無い実装につながっているようだ。もちろんパートナーから指摘されてミスを修正する事もありバグが非常に少なくなる。
・常に思考&コーディング状態が続くので作業効率がかなり良い。
・作業以外の会話も多くするので相手の事を良く知れて、その後の仕事がしやすくなる。
・相手のプログラミングスタイルやツール仕様スキルを盗める。

▼感想
いやぁ~、すごいと聞いてたけど、かなりすごかった。
これは今後絶対にやっていかないといけないね。
ペアプロをやってからソロプロで作業すると効率が悪くて仕事が嫌になってくる。

▼ペアプロは落書き机と相性が非常にいい

落書き机
http://akira-ak.cocolog-nifty.com/blog/2006/03/post_910d.html

ペアプロを行ったのはこの机だったのだけど、常に2人で会話をしながら設計&コーディングを行っていくペアプロで「落書き机」は非常に便利に活用できた。
問題が出ればすぐにイラストを書いて情報の共有が行える。
ノートという所有権がはっきりしているモノだと2人同時に書き込むのは多少の躊躇が発生するが、机に書くパターンだとこれが全く無い。

| | コメント (0) | トラックバック (2)

物理エンジン元年になるか?物理エンジンアクセラレータ「PhysX」発売

ついに物理計算アクセラレーターが発売されるらしい。

ASUSTeK,PhysX PPU搭載カードを5月に発売と発表
http://www.4gamer.net/news.php?url=/news/history/2006.03/20060323165830detail.html

ハーフライフ2くらいから物理エンジンが話題になっていたけど

3Dゲームのための物理エンジンアクセラレータ「PhysX」はブレイクするか?
http://watch.impress.co.jp/game%2Fdocs/20050318/ageia.htm

これは3DアクセラレターのVoodooが発売されて以来のゲーム技術の革新かもしれない。

「PhysX」を開発するのは物理エンジンの「NovodeX」を開発する「AGEIA Technologies」
「NovodeX」はハーフライフで使用されている「Havok」よりもマルチスレッドに強いと言われてる。
マルチスレッドはCPUコアを複搭載するXBox360やPS3が得意とするところ。

最近仕事で「NovodeX」をゲームに組み込む作業を行っているけど、なんとも素直なシステムで、
とっても使いやすい。

3D描画エンジン+NovodeX+サウンドエンジン
が有れば、ゲーム部分のプログラムを組むだけで短時間で3Dゲーム開発が行えると思う。

ただし、やはり物理計算は処理が重い。
画面中に物理計算を行うオブジェクトが1000個もあったらもう大変。

これはまさに3Dアクセラレーターが無かった時のワールド全体の頂点計算、ピクセル計算が重かった時と同じだと思う。現在はグラフィックカードのバーテックスシェーダーとピクセルシェーダーが行っている。

今回の物理アクセラレーターでは3万オブジェクトくらいは60fpsを出せるらしい。

3万オブジェクトが物理計算で動くゲーム世界。
それは別次元のゲームになるんじゃ無いかな。

| | コメント (21) | トラックバック (4)

買えないPython本

WindowsでのPythonプログラミングについて実践的なサンプルが多くのっている本らしい。

COMを利用したExcelとの連携も載っているようでかなり欲しい。

でも買えない・・・

とりあえずジュンク堂に行ってみたけど売ってない。
アマゾンで見たら売値の2倍の値段と、手に入れるまで2週間程度かかると。

む~~、たかが洋書、日本ってなんて不便なんだ!!!!!

| | コメント (378) | トラックバック (39)

wxPythonによるGUIツールの大量生産

========================
前置き
========================
ゲーム開発では大量のゲームデータを作成します。
今までの開発ではエクセルでゲームデータを作成していました。

がしかし、
クライアントが「ゲームデータを作成する専用ツールを大量に作らないといけない」なんて話をしていました。
「全部エクセルに入力でいいじゃん、、ツール作ったらそのツールのメンテは誰がするのよ」、、、、なんて思ったわけですが面白そうなのでやってみました。


========================
開発環境
========================
ツールを作成する環境ですが、最近Pythonというスクリプト言語がGoogleでもMicrosoftでも使用されていると言うのを聞いて使ってみる事にしました。

GUIライブラリにはwxPythonを使用します。
これはウィンドウデザインをXMLファイルで行え、インターフェースと制御部分を綺麗に分離できて素敵。なんて思ったからです。


========================
作成ツール仕様
========================

python00.jpg

上のテキストボックスに文字列を入力して「変換」ボタンを押すと文字列の最後に「a」を付け加えて下のテキストボックスに出力します。


========================
環境インストール
========================

以下のソフトを使用します。インストール詳細はGoogleなどで調べてください。
Python 2.4
wxPython 2.6
XRCed 0.1.7
py2exe 0.6


========================
作成ファイル一覧
========================

これらのファイルを作成します。
python01.jpg

作成するファイルの内訳はここんな感じ

sample.py
プログラム本体。データの制御もここに記述する。

resource.xrc
resource.bat
ウィンドウデザインを記述するファイル。

make_exe.py
make_exe.bat
exeファイルを作成する為のファイル。


========================
ファイル内容
========================

sample.py
resource.xrc
resource.bat
make_exe.py
make_exe.bat


========================
作業の流れ
========================

python03.jpg

xrc を利用したwxPythonプログラミングではXRCedでウィンドウデザインを行う時に各コントローラーにIDを設定します。
そして sample.py の中でIDを使って各コントローラーを制御します。


================================================
XRCed でウィドウデザイン、各コントローラーにID付け
================================================
python02.jpg

トップはwxFrameになります。その下に wxPanel wxBoxSizer wxTextCtrl wxButton を画像の階層のように配置していきます。

sample.py で制御したいコントローラーにIDをふります。今回は wxPanel 以外のコントローラーにIDをふりました。
XRCed では「XML ID」という項目にID名を入れてください。
保存した resource.xrc では name="ID名" というかたちで書かれます。


================================================
xrcファイルをコンバート
================================================

xrcファイルの使用の仕方で xrcファイル のまま使用する方法と pyファイル にコンバートする方法があります。

前者はxrcファイルを修正するだけでウィンドウデザインを変更できます。
後者は配布するファイル数を減らせるという利点があります。

今回は配布後にウィンドウデザインを変更する事も無いので後者を選択しました。

resource.bat を実行すると resource.py が出力されます。
これを sample.py で import して使用します。


================================================
プログラム本体のsample.pyを作成
================================================

アプリケーションのクラスであるMyAppクラスを定義します。

OnInit() の中で resource の初期化、各コントローラーの取得、ボタンイベントのコールバック関数の設定、を行います。

EventButton() はボタンが押された時に呼ばれます。中では上のテキストコントローラーから文字列を取得して「a」を付け足して下のテキストコントローラーに設定しています。


================================================
py2exeで sample.exe を作成
================================================

ツールを配布する場合 sample.py のままだと利用者に Python と wxPython をインストールしてもらわれないといけません。それは大変なのでexeファイルになるようにpy2exeでコンバートをします。

make_exe.py に設定内容を書きます。外部ファイルがある場合はここいろいろ書くようなのですが今回は何も無いのでシンプルに。

注意する点として、make_exe.py を sample.py とは別のディレクトリに配置して 「setup(windows=["../sample.py"])」 などと記述すると resource が import されずに実行時にエラーになってしまいます。

無難に同じ場所に置いておいてください。

make_exe.bat を実行すると build と dist ディレクトリが作成されます。
dist の中のファイル全部を利用者に配布します。


========================
参考文献
========================

[Web]
PythonでGUIアプリケーションを作ろう! - NoboNoboRTD
MacOSXにおけるwxWidgetsでの開発方法 - りんごちゃんの知恵袋
Pythonで単体で動くバイナリを作ろう! - PythonMatrixJp
wxPythonによるGUIアプリケーションの作成 - 魅惑のPython
wxPythonを使ってみた - 根無し猫のひとりごと
wxPython Tutorial part 1 - wxPython

[書籍]
初めてのPython 第2版 オライリージャパン
Pythonクィックリファレンス オライリージャパン

========================
あとがき
========================

結構シンプルにプログラミングが行えるなぁ~。
2つ目のツールからは雛型のコピペから始めたら結構短時間で作成が行えそうだ。
なかなか良いではないですか。

ただPythonはまだ情報が少ないので、とっつきにくいかもしれない。
.NETでのIronPythonの正式版がリリースされたらもっと利用者が増えて情報も増えるかな?
今後に期待したいと思います。

| | コメント (21) | トラックバック (31)

PythonでGUIアプリ作成

こちらのサイトを参考にしてPythonでGUIアプリを実行してみた。
PythonでGUIアプリケーションを作ろう!

簡単だねぇ。
XMLで見た目の書式を書いて、Pythonでボタンクリック等の処理を書くのかな?まだほとんど触ってないからなんともだけど。。

ただ、さくっとアプリができて、さくっと実装できるのは素敵。

実際現場での簡単なツールはCでさくっと作ってしまうけど、それはプログラマやPCに慣れた人が使うコンソールのツールになる。

でもこの場合GUIで作れればデザイナーやプランナーが使うツールも簡単に作れてしまう。

これを使わない手は無い!!
ってわけで坊主様。。。よろしく。
src="http://images-jp.amazon.com/images/P/4873112109.09.LZZZZZZZ.jpg">

| | コメント (535) | トラックバック (31)

Winnyの技術 - P2P技術の未来

本棚

P2Pソフトウェアとして日本でもっとも成功したのがWinnyだと思う。
その技術が惜しげも無く書かれたこの書籍はすばらしい。

WinnyでのP2P実装のアルゴリズムから、成功した事、失敗した事、
P2Pネットワークを運用する上での注意点など。

実際に巨大P2P網を作り上げた経験からの言葉が多く載っていた。
Winny2ではP2PによるBBSという実装という、P2Pの未来を切り開くような実験がされた。

個人的にP2Pにはかなり期待をしている。
スカイプが分りやすい形でP2Pの価値を示してくれた。

自分の守備範囲内はエンターテイメントとして、
この中でP2Pを上手く利用できるモノが作れないかなぁ、と思う。

ファイル共有というアングラな世界から始まったせいなのかもしれないけど、
混沌とした世界をP2Pで作りたい、

| | コメント (12) | トラックバック (163)

Python高いよ!

Pythonというオブジェクト指向のスクリプト言語を最近よく聞くようになったのでどんなものか見てみようと本屋に本を買いに行ってみた。

高い・・・

高いよ、、、
なんか全部4000円以上してるよ。。こんなの学生が気軽に買えるかよ!!!って自分は学生じゃ無いので買い。

本当は一番薄い本を買おうと思ったんだけど、そんな薄い本は無く700ページもある本を買ってしまった。
まだ入門書が出回らないくらいマイナーな言語って事なんだろなぁ。

| | コメント (7) | トラックバック (0)