プログラミング

javascriptでリンクオブジェクトの配列を得る

document.linksを使う。

また本が増えました。

今日買ったのは以下の3冊。ビューティフルアーキテクチャ (THEORY/IN/PRACTICE)作者: Diomidis Spinellis,Georgios Gousios,久野禎子,久野靖出版社/メーカー: オライリージャパン発売日: 2009/11/27メディア: 大型本購入: 6人 クリック: 124回この商品を含む…

new A;した時にAのコンストラクタが例外を投げたらどうなるのか

C++でコンストラクタから例外を送出したい時 - 足跡の解決編です。 手元にあったC++Effective第三版の最後の方のページに全ての答えが書いてありました。 買った本はちゃんと全部読まないとダメですね。 コンストラクタから例外を送出する可能性のあるクラス…

C++でコンストラクタから例外を送出したい時

きっと今年最後の思いつき。 一般にコンストラクタから例外を投げるとリソース漏れの危険性が出てくる。 例外を投げた当のオブジェクトが自身のリソースをきちんと処理していなかったり、コンストラクタから例外を投げるクラスをnewした時にインスタンスが宙…

属性?みたいなの

メソッドでの場合はすぐ忘れるからメモ。 virtual - クラス定義の中でだけvirtualを書く。 static - 同上。 inline - クラス定義内で定義したメソッドには不要。そうじゃない場合は同一ファイル内で関数定義してる場合のみ有効。

'hoge::hoge' will be initialized after

コンストラクタ初期化子の順番と、メンバの宣言順が違うと発生するwarningだとかだそうで。 理由とかは下記ブログに書かれていたので割愛。 initialized after - blanket log

vimからastyleを使ってコード整形

「コードフォーマッターとか俺の知らないもんなんぞ知ったことかぁぁぁぁぁ」とか考えて幾星霜。 そろそろいい加減コードの整形を意識しながら書いていくのも面倒くさくなってきたのでツールに頼る事にしました。 まずvimに備え付けの整形機能を使ったのです…

ヘテロジニアス - 異なるプロセッサによる並列演算

なんか面白そうな事が書いてありました。 これで分かるOpenCL。NVIDIAのOpenCLセミナーから,OpenCLの正体と可能性を再確認する - 4Gamer.net

参考メモ

OpenGLメモ - AkiWiki

文字コードのあれこれ

あれこれって言っても入力と出力の所について。 文字コード変換はこちら 「Perlの俺ルール - 足跡」で入力と出力の部分についての俺ルールを書きましたが、やはり独りよがりな俺ルールでした。 UTF8文字列での正しい入出力処理はこちら: 404 Blog Not Found…

ネットワーク通信のクラスを使うときの注意

デフォルトでQtのメッセージループの中で非同期通信を行うので、main関数の中で必ずQApplicationのオブジェクトを作ってexec()を呼ぶ事。 そうしない場合、通信が終わる前にアプリが終わる。 signal/slotもQtのメッセージループの中でのみ有効なので同様に気…

ハンガリアン記法の使いどころ

ハンガリアン記法って言ったらLPCTSTRとかのあれです。 型名をプレフィックスに付ける物だとずっと思っていたのですが、最近それはシステムハンガリアンって呼ばれる誤解されたまま広がった手法で、本来のハンガリアンとは変数の型名ではなくて、論理的な意…

libpng

OpenGLはちょっとあっちの方に置いといて、libpng触ってます。 libpng.txt、ではなくて日本語訳をしてくださっていた素晴らしい方がいらっしゃったので、そちらを読ませて頂いて進めています。 今のところ日本語訳を読ませて頂いてるからまだ何とかなってま…

バイトオーダー

今までテキストファイルしか扱ってこなかったんで、初めてまともにバイナリファイルをいじったら見事にバイトオーダーで詰まりました。 x86プロセッサにおいて、メモリ上のデータはリトルエンディアンで並んでいます。 そこにint型の変数xを確保します。 xに…

QtでOpenGL - その3

GLUTによる「手抜き」OpenGL入門 が最後まで終わりました。 図形の描画はともかくとして、視点周りでかなり混乱・・・。 床井先生の書かれてる超基本編だけなら問題は無かったのですが、gluPerspectiveをglFrustumに変更するときにglOrthoと同じようなもん程…

QtでOpenGL - その2

GLUTによる「手抜き」OpenGL入門 を参考に多分2日目くらい。9.アニメーションまで終わった。 とりあえず立方体を三角関数使って簡単にアニメーションさせて喜べるようになりました。 関数名とかは当該ページを見れば分かるから考え方をメモ。 座標変換プロ…

bit演算テクニック

すごかったので忘れないようにリンクしておく。 一番右端の立っているビット位置を求める「ものすごい」コード こんなコード使いまわせるようになりたいのぉ。 もちろん何かでラップして見えないようにして。

qmakeを使うときの微妙なtips

書いてから思ったけど、tipsでは無い。1つしか書かないから。 qmake -projectする度に、自分が後からproファイルに追加した変更は消えてしまう。 20文字くらいしか足さないならいいけど、あれこれIncludeパスとか追加したりしたときは追加作業が余りにも面倒…

QtOpenGLモジュール使ってOpenGL

QtのQtOpenGLモジュールを使ってみました。 何故かあんまり日本語情報無いのね。 おかげでサンプルの謎な部分が何やってるのか検索かけてもさっぱり出てこない。 みんな違うの使ってるのだろうか。 当面はソースとにらめっこすることになったりするかもしれ…

C/C++修行(4日目)

最近PerlとかPHPとかjsとかLLばっかりだったので、最近基本に戻ってC/C++で修行中。 といっても細かいアルゴリズムの確認しながら何か適当に組むっていう程度。 しかしLLから久しぶりに戻ってくるとエラーの宝庫みたいなコードを書いてしまう。 おまけに流れ…

Qt4:QStringをchar*にする方法と日本語を使えるようにする方法

#include <iostream> #include <QString> #include <QTextCodec> int main(int argc, char *argv[]){ // utf-8な文字列をQStringが受け付けるようにする。 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); // utf-8な文字列をtr()が受け付けるようにする。 QTextCodec</qtextcodec></qstring></iostream>…

Subversionの使い方

簡単に書いておきます。 インストール ubuntuの場合 sudo apt-get install subversion リポジトリの作成 svnadmin create パス --fs-type fsfs fsfsの部分はbdbでもいい。使うデータベースの違い。 リポジトリへのモジュールの追加 svn import オリジナルへ…

Windowsでシンボリックリンク張るユーティリティ作ってみた

単にコマンドライン引数取ってWin32APIのCreateSymbolicLinkに投げただけ。 DOS窓以外から使う事にこだわらなければDOSにmklinkって内蔵コマンドがあるからそれを使うとお手軽気楽。 なお、OSの都合上Vista以降じゃないとシンボリックリンクは作れません。 …

使用する補助ツール達

ubuntu使ったりWindowsXP使ったりWindows7使ったり、はたまたデスクトップ使ったりノーパソ数台を使ったりと環境がコロコロ変わるので使うものをメモっておく。 Firefoxアドオン FireBug。総合的なWebページデバッグ。 YSlow。Webページ表示速度診断。詳しく…

VS2008での64bitネイティブバイナリ作成用の設定

プロジェクトのプロパティ設定ダイアログを開き構成マネージャを開く。 ドロップダウンではないリスト表示になっている所の64bit設定したいプロジェクト行のプラットフォーム列の項目をクリック。 新規作成を選択。 x64に設定。各種設定をwin32からコピーす…

PHPのデバッグ

もっといいやり方もあるんだろうけど、とりあえず今回やった方法をメモ。 error_reporting(E_STRICT | E_ALL)で警告レベルを最大に。 var_dump(オブジェクト)で挙動の怪しいオブジェクトの内容を出力。 echoで挙動チェック。 出てきたエラーメッセージをググ…

ヒアドキュメント

javascript - 無し。ライブラリを使う。 Perl - 以下の3パターン my $text = "あいうえお"; # 変数展開あり print <

Perl5的な文字コード変換

use strict; use warnings; use utf8; use Encode; my $str = "あういえお"; # utf8フラグ付きのutf8文字列を他文字コードへ非破壊的に変換する。 my $enc = Encode::find_encoding('Shift_JIS'); my $converted = $enc->encode($str); # 文字コードAから文…

グローバル変数がwindowオブジェクトの下に付いてた

知らなかったのでメモ。 var g = "exist!"; alert(window.g); "exist!"が表示される。

2chブラウザでも作るか。

新年最初のメモ書き。Windows用の省スペースで見やすい2chブラウザを作ってみようかなと。 WHが650×650か、500×500くらいを最小の最適サイズにする予定。 機能も読んで書けてあぼーん出来てよく見る板にアクセスしやすい程度にする予定。