プログラミング

interface, Oberver

RSSでチェックしているblogに、ActionScriptの機能とデザインパターンの一つであるObserverパターンを勉強するのに良さそうなエントリがあったので、週末にちょっと時間を割いて勉強してみました。 Observer パターン(後編)【閃光的網站・弛緩複合体 -Revi…

使えるコード登録サイト「SNIPPLR」

SNIPPLRという、使えるコード片(snippets)を登録しておけるサイトがあります。 Code Snippets - Snipplr Social Snippet Repository ちょっとした便利なコードや、忘れがちなルーチンコードなどを登録しておいて、みんなで共有しよう、という意図のサイト。 …

自作3Dライブラリ

最近、仕事の合間にAS3で3Dライブラリを書いています。 3DCGからしばらく離れていたのであれこれすっかり忘れていたのですが、ベクトルや行列計算などを少しずつ思い出してきました。 とりあえず線を描画できた!ということで、俺マイルストーンとしてYouTub…

Android

昨日行われた「Google デベロッパー交流会 第6回「Android」」というのに行ってきました。 http://www.google.co.jp/developer/prg/ Google APIs for Android | Google Developers 場所は六本木ヒルズ森タワー49F アカデミーヒルズ オーディトリアム。 六本…

世代別GC

昨日のMatzにっきを読んで、世代別ガベージコレクション(Generational Garbage Collection)、という言葉が気になったので調べてみた。 世代別ガベージコレクション - Wikipedia このWikipediaの説明でザックリと理解でき、さらに次のコラムでよりJavaの場…

Microsoft Office バイナリフォーマット

米Microsoftがついに,バイナリ形式のOffice文書仕様を公開 | 日経 xTECH(クロステック) ちょっと遅いが、MS Officeのデータフォーマットが公開されたようです!後でじっくり見てみたいなー。というブックマーク代わりのエントリ。 データ自体には、OLEと…

コマンドラインからコンパイル

Visual Studioをインストールすると、clというコンパイラ&リンカがインストールされ、nmakeというmakeプログラムもインストールされる。そしてこれらは基本的にコマンドラインからも使えるはずなのだが、clやnmakeにパスを通したくらいでは、ライブラリなど…

SimCityのコード公開!

スラッシュドット(以下、/.J)の書き込みによると元祖SimCityのコードがGPLv3ライセンスの元で「Micropolis」という名前で公開されたようです! 初代SimCityのソースコードが公開される | スラド デベロッパー ソースやバイナリが公開されているサイトはこ…

A*アルゴリズムまとめ

数年ぶりにA*アルゴリズムを実装したので、まとめなおしておきます。何回かじっくり読むとようやく理解が出来てきました。基本的にそんなに難しくないアルゴリズムです。 概要 「A*アルゴリズム」は、A-Star(エースター)と読み、パス探索アルゴリズムの一…

WinSockで非同期にクライアントを接続

WinSockの関数にはブロック関数がいくつかあります。簡単なテストプログラムの場合にはそれでいいのですが、まず実用的ではありません。そこで非同期化を行うのですが、その仕組みもWinSockには準備されています。 下記にその流れをまとめてみました。 まず…

プログラマーとは?という話のようですが

恐らく、彼らは問題点に気がついていない。インタフェースとクラスの違いさえもわかっていない彼らに、何を説いてもわかってもらえるはずがない。 http://anond.hatelabo.jp/20070621222911 これを書いた彼は問題点には気づいている。だとすれば、そこから教…

RS-232Cケーブルの種類

RS-232C接続の機材と通信するプログラムを書くことになってちょっと困ったことがあったのでメモしておく。 最初にして最大の難関が接続。単に接続すればいい、と思ってたのだが、マニュアルどおりにコマンドを送ってもうまくいかない。レスポンスが返ってく…

DefWindowProcの引数エラー

くだらないことで躓いたのでメモしておきます。 ダイアログを作るところで、プロジェクトのクラスのstaticメソッドにしてある関数をコールバック関数にし、デフォルトプロシージャに渡すところです。 // ウィンドウのプロシージャー関数. LRESULT CALLBACK C…

文字列をSJISにする

CStringに放り込めばSJISになってくれるようです。 最後はWindowsの.NET環境と言う事でC++/CLIでの例をおまけとして。幾つか試してみましたが結局はMFC/ATLのCStringを使って変換するのが一番簡単で間違いが無いようです。// ------ C++/CLI (おまけ) ------…

抽象化の話

プログラミングにおける抽象化についてはあれこれ考えていた瞬間(長くても数秒程度。。)が何回かあるのですが、今頭の中にはある結論がある。 次の文章もそれと同じ方向性を指していると思ったので引用してメモ。 で、何かっていうと、ちゅーしょー化はた…

SCons (memo)

SConsというツールの存在を知った。 要はpythonでつくられたmakeの代替品ということなのだが、なかなか面白そうなので、とりあえずウェブ上の情報をメモしておく。 SCons: A software construction tool - SCons .. 公式サイト radiumsoftware.com .. Radium…

HTML canvas

奥村先生のblogを見て知ったのですが、canvasなんていうHTML要素ができてたんですね。全く知りませんでした。 で、AppleがMac OS XのDashbordのcanvas要素、かなりすごくて、Javascriptから描画できるらしいのです! しかも、すでに「Safari 1.3以降,Firefo…

点の多角形内包チェック

ある点が多角形(ポリゴン)の内部にあるかどうかをチェックするアルゴリズムを実装したくてちょっと調べてみました。凸多角形限定のアルゴリズムは以前実装したことがあったのですが、このページ(http://bal4u.dip.jp/mt/program/archives/2004/11/_ph.htm…

ExcelからTCP

このblogのアクセスログを見ると、ほとんどの方が検索で来ていて(そのつぎはブックマークとか)、その多くがVBA、Excelあたりのキーワード。 申し訳ないのですが、ほとんど使わないのですね、その辺り。 カテゴリとして作ってはいるけど、おそらく年に1,2…

TCPクライアントテスト

今日のコードは、昨日書いたサーバープログラムに対応するシンプルなメッセージを送るプログラムサンプル。 これも7割方 猫でもわかるネットワークプログラミング 第2版 (猫でもわかるプログラミングシリーズ) のコードをコピペですが、昨日のコードと同じよ…

TCPサーバーテスト

TCPのメッセージを受信する簡易サーバープログラム。 と言っても参考にしている 猫でもわかるネットワークプログラミング 第2版 (猫でもわかるプログラミングシリーズ) のコードをコピペして、あれこれ修正したもの。猫でもわかるネットワークプログラミング…

アプリケーションのインスタンスハンドルを取得

自分のウィンドウハンドル(HWND)は分かるけど、という状況で、自分のアプリ自身のインスタンスハンドル(HINSTANCE)を取得したい、というところで方法が見つけにくくてはまった。 やり方はこちら。 HINSTANCE hInst = (HINSTANCE)GetWindowLong( hwnd, GWL_HI…

DirectSoundで録音するための手順

DirectSoundで録音することは、「サウンドのキャプチャ」というらしい。これがわかるだけで必要な情報への到達時間が短くなる。 Microsoft API and Reference Catalog を参考に、Samples\C++\DirectSound\CaptureSound を見るとわかりやすい。 キャプチャバ…