Natural Software

KinectなどのDepthセンサーを中心に活動しています

プログラム

Win32 API BeginUpdateResource のエラーに対する対処

Win32 API の BeginUpdateResource を使ってて、エラー(HANDLEが0で返ってくる)になるけど、GetLastError()も0が返ってくる状況になった。 確実な対処ではないかもしれないけど、安定したのでメモ。 こんなコード HANDLE resource = ::BeginUpdateResource( …

コメントの話

僕の書いているコードはこんなんだよ、っていうノリで見てあげてください。 twitter 見てて、なるほどと思ったので、他意はありませぬ。 コメント不要論原理主義者は人間の言葉なんか使わずにコードのみで主張するべき。 道化師 on Twitter: "コメント不要論…

極論すると、コメントが無いと読めないコードはダメ

このあたりを読んでいて同意することが多かったのでちょっと書いておく。 コードコメントに書くべきは「意図」 - プログラマーの脳みそ 404 Blog Not Found:コメント!=ドキュメント 小野和俊のブログ:ソースコードのコメント率は20%を切ることが望ましい 煽…

プログラムから Trac を操作する

C# の勉強がてらプログラムから Trac を操作するアプリを作ることにする。 とりあえずわかっているのは、Trac を外部から操作するためには XmlRpcPlugin を入れて XML-RPC という形で操作するらしいということ。 いろいろ調べたところ、XML-RPC.NET という C…

PHPを使ってミニブログを作るチュートリアル

お勉強用にポイント http://phpspot.org/blog/archives/2008/10/php_107.html

テトリス・その2

先日の続き。 とりあえず自分の中でのお約束、「C言語」->「ベターC」->「C++」ってことで、C++版作成。 状態とゲームの動きをどう分けようかと悩んだ。 前に「リバーシのアルゴリズム」という本を買ったのを思い出し、それを参考にしてみた。 2人対戦ちっ…

テトリス

最近 Win32 API を触る機会があり、昔を懐かしみながら使ってる。 自分がプログラムを始めたのは高校を卒業してゲーム開発の専門学校に入ってからだけど、そのときに習った Windows プログラミングはよくわからなかった。 その後、普通のソフト会社に入って …

演算子のオーバーロードあれこれ

演算子のオーバーロードで気づいた点、注意点を備忘録的に列挙。 全体的 引数の名前は lhs と rhs(left (right) hand side / 左(右)辺値)を使う。 #この名前がどこまで一般的なのかは知らない。 代入演算子 1, 宣言 代入演算子の宣言は以下とする。 クラ…

デフォルト引数とコンストラクタ

今までなんとなくで通してたこと。 class A { public: A( int a = 0 ){} void put(){} }; void main() { // A a(); // NG // a.put(); A b( 1 ); // OK b.put(); A c = A(); // OK c.put(); } デフォルト引数のデフォルトコンストラクタでインスタンスを生成…

NULL と 0

C++ でプログラムを書くときにポインタの初期化は NULL ではなく、0 でおこなっている。 C 言語と C++ で NULL の定義が違うのと*1、どこかで(ソース不明) 0 のほうがいいよ、と見た気がするから。 なんだけど、どうも調べてみるとそうでもなくて、NULL が 0…

インクリメント・デクリメント

確か More Effective C++ に書いてあった、前置インクリメント(デクリメント)と後置インクリメント(デクリメント)の違い。 意外と気にしないものなんだろうか。 細かい話なので、気にしなくてもいいのかもしれないけど。 C++ のいいところは、C言語では…

なんだか知らぬ間に MFC がとんでもないことに(笑)

とりあえず入れてみた VS 2008 SP1。 MFC Feature Packのお試しをしてみたら、あらビックリ(笑) いつのまにこんなことが MFC で出来るようになったんでしょうか^^;

CppUnit-x ではじめる、簡単ユニットテスト−その7 Subversion との連携 パート2

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見るこの本の写経シリー…

設計者自らが書き下ろす「C++入門書」とは〜Bjarne Stroustrup氏との対話〜

設計者自らが書き下ろす「C++入門書」とは〜Bjarne Stroustrup氏との対話〜@CodeZine CodeZine の連載2回目。 氏が今まさに執筆中の C++ 入門書について語っている。 C++ とか C 言語の入門書って選定が意外と難しいんだけど、この本の評価によっては探し…

CppUnit-x ではじめる、簡単ユニットテスト−その4 makefile の作成

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見るこの本の写経シリー…

CppUnit-x ではじめる、簡単ユニットテスト−その5 makefile の自動生成

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見るこの本の写経シリー…

CppUnit-x ではじめる、簡単ユニットテスト−その6 Subversion との連携

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見るこの本の写経シリー…

CppUnit-x ではじめる、簡単ユニットテスト−その3 テストを自動化してみる

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見る写経シリーズ 第3…

CppUnit-x ではじめる、簡単ユニットテスト−その2 複数のテストをしてみる

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見る写経シリーズ 第2…

CppUnit-x ではじめる、簡単ユニットテスト−その1 テストをしてみる

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見る写経シリーズ 第1…

読中・eXtreme Programmingテスト技法

eXtreme Programmingテスト技法―xUnitではじめる実践XPプログラミング (OOP foundations)作者: 日本XPユーザグループ,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2001/11メディア: 単行本 クリック: 20回この商品を含むブログ (14件) を見る読むといっておきな…

Bjarne Stroustrup氏との対話

あなたはC++の発明者? それとも創造者?〜Bjarne Stroustrup氏との対話〜@CodeZine 自分のことを C++ の設計者であり、最初の実装者と呼ぶのがカッコイイ! なんというか自信に満ち溢れて、それでいて嫌味がないそういう方なイメージを受けた。 記事より引…

電源オプションのプロパティ

これをプログラムから変える方法がわからない。 ノート PC のふたを閉じたときの動き。 普段はふたを閉じるとスタンバイになるんだけど、ちょっとした電車の乗り換えのときはふたを閉じても何もしないようにしたい。 いちいちこのプロパティを開いて変えるの…

Python入門

Trac のプラグイン作りを一から勉強するのに参考になると思うのでポイント。 Python入門 http://www.pythonweb.jp/tutorial/index.html

組み込みプログラム

今、新人に組み込みプログラムの導入を教えてるけど、単純に言語レベルで考えた場合にも組み込みって難しいね。 新人に C言語を教えるとポインタと構造体でつまづくけど、最低ポインタは必須。 あと今回は CPU に H8 を使っているので、統合環境 HEW が自動…

Google Test

@IT の Protocol Buffers の記事から見つけた googletest(Google C++ Testing Framework)。 とりあえずダウンロードしてみたけどややこしい^^; ユニットテストフレームワークって慣れてる人には使いやすいのかもしれないけど、素人にはどこから手をつけて…

eGUI++

Windows フォーム アプリケーションの簡潔さをネイティブ アプリケーションで実現する@MSDN 面白そうなのが出てきたね:) インストール方法とサンプルの動作方法はここを参考にした。 Visual Studio への統合が上手く出来ないけど、出来たら楽しそうね:) MFC…

なめてました(笑)

アセンブラ。 理由 何をするにも1から10まで書かなくてはいけない メモリを直接いじって計算できない。全部レジスタを通して レジスタの使用状況を頭で考えるとややこしい ある制約によってサブルーチンなしで組むとエラいことになる その代わり 順次実行…

AnkhSVN のエラー

Visual Studio と Subversionの連携で使った AnkhSVN がなぜかノートPCでエラーになってしまい動かなかった。 実はここでハマったのと同じで、Subversion がインストールされた環境で動かそうとするとダメだったらしい。 Subversionをアンインストールした今…

おわかれ

今のノートPC に入っている Visual Studio(VS) のバージョンは 6.0 と 2008。 研修で使ってるのは 2005。 VS2008 で作ったプロジェクトが VS2005 で開けないのが不便でどうしようかと。 VS2005 をインストールするためにはHDDが足りないので VS6.0 か VS2008…