プログラミング技法等に関するリンク集

最適化

富豪的プログラミング
平民的プログラミング
貧民的プログラミング
  • 国内
Tom's HomePage > 最適化ソフトウェアとテスト問題集
最適化ソフトウェアに関するリンク集。
HOW TO OPTIMIZE FOR THE PENTIUM PROCESSOR (In Japanese)
このページは、Agner Fogさんによる同名のマニュアルの、藤波順久による日本語訳です。
コンパイラとアーキテクチャと最適化のページ
  • 海外
Intel® Pentium4® プロセッサ関連マニュアル
Intel® Pentium® プロセッサ関連マニュアル
Intel® Pentium® プロセッサ関連マニュアル
AMD Developer Central
The AMD Developer Center offers a hands-on or virtual opportunity to develop, test and optimize products on AMD's Athlon™ 64 and Opteron™ technology.
AMD > Technical Documentation
Opteron™, Athron™64, Athron™XP Tech DocsのSoftware Optimization Guide。
Programming Optimization
Link先も便利そう。
C++ Optimization Strategies and Techniques
ちと古いか?

Tool

Intel Vtune™ Performance Analyzer
アプリケーションの性能を詳しく、しかも簡単に分析できるツールです
AMD Developer Center > AMD CodeAnalyst Performance Analyzer
The AMD CodeAnalyst™ Performance Analyzer is a suite of powerful tools that analyzes software performance on AMD microprocessors. These tools are designed to support Microsoft® Windows® 2000 or Microsoft Windows XP® distributions on x86 and AMD64 architectures as well as both 32-bit and 64-bit Linux distributions based around the 2.4 or 2.6 kernel series on x86 based architecture.

関連書籍

ASIN:0971288712
ASIN:0976483211

Algorithm

Microsoft MSDN アカデミック アライアンス 技術資料 > アルゴリズム入門
文字列処理や画像処理についてのサンプルソース付。他にもDirectX によるゲームプログラミング入門等。
Open-Programming
Old Contensの方に各種画像処理アルゴリズムに関する情報有り。
新しいパラダイムとしてのアルゴリズム工学:計算困難問題への挑戦
アルゴリズムデータベース。
いろいろなソートアルゴリズム
ビットを数える・探すアルゴリズム
レジスタ中の 1 になっているビット数を数えるアルゴリズムについて、バージョン 1 から 5 までを紹介している。
技術計算用Cプログラムソース
あゆしゃの世界 > プログラムの世界 > C言語の世界 > アルゴリズム
ViVi > 文書比較アルゴリズム
vi互換のテキストエディタViViの文書比較アルゴリズムに関する情報。

画像処理

Le Premier Soleil > Image Processing
画像処理プログラミングに関する情報
www.dinop.com > VC++ TIPS > 画像処理
Bitmap画像に関する画像処理サンプル。数値地図25000(空間データ基盤)に関する情報もありました。
Fussy's HOMEPAGE
C言語のソースコードを交えて解説されています。
TSUGU software atelier > 画像処理
論文(画像に関するソフトウェアコンポーネントの作成と評価3)には基本的な画像処理が図入りで解説されています。
岡山大学 金谷研究室 > 研究内容
2次元画像の射影変換に関する情報等。
群馬大学 太田研究室
2次元画像の射影変換に関する情報等。
三洋電機株式会社 > 三洋電機技報 > [論文] 画像特徴に基づく高速・高精度なパノラマ画像合成ソフトウェア
複数の連続した画像を結合するパノラマ画像(モザイク画像とも言うらしい)に関する論文。
ソフトウェアデザイン館 Sage Plaisir 21 > 技術資料&オープンソース
オープンソース化したライブラリのCOLOR.H/COLOR.CPPにRGB色関連のマクロ有り。
ナカタの Digital Wonder Land > コンピュータの国 > フリーソフト > 画像関係
Wavelet変換による画像サイズ変更、バイキュービック法による拡大縮小等。
Microsoft > jssa image processing source code
プレゼン資料

関連書籍

ASIN:479800958X
C++で画像処理するには、これはかなりのオススメ本。
libneet - 書籍中の画像ライブラリがBSDライセンスで公開。
C MAGAZINE(2004/122005/01)
画像アルゴリズム大辞典 グラフィック処理技法の矩形画像を任意の四角形に変形させる自由変形処理は非常に役に立った。
ウェーブレットによる信号処理と画像処理
アセンブラ画像処理プログラミング―SIMDによる処理の高速化
ディジタル画像処理
Linuxによる画像処理プログラミング
Javaによる画像処理プログラミング (I・O BOOKS)
ASIN:1852337710
ASIN:0130946508
ASIN:4789830950
画像処理とパターン認識入門 - 基礎からVC#/VC++ .NETによるプロジェクト作成まで
VC++のコードはManagedC++なので注意。サポートページ
基礎からわかる画像処理―画像処理のアルゴリズムを理解する (I・O BOOKS)
ASIN:4320121570
詳解 画像処理プログラミング
サポートページ
C言語で学ぶ実践画像処理―Windows/X‐Window対応
C言語で学ぶ実践画像処理―Windows、Macintosh、X‐Window対応

乱数

Mersenne Twister Home Page <BSD>
このページには、マルチスレッド対応のメルセンヌ・ツイスタと、様々な分布に従う乱数を発生する関数を記述したプログラムがあります。 「良い乱数」「悪い乱数」コーナーでは、広く使われている(drand48, random, JAVA など新しいものも含む)擬似乱数の欠陥を、目に見える形で紹介しています。
注意:Mersenne Twisterは、モンテカルロ法用疑似乱数であり、そのままでは暗号乱数としては使えません。
Mersenne Twister
Mersenne Twister(以下MT)は、松本眞氏 ・西村拓士氏により96年から97年に渡って開発された疑似乱数生成アルゴリズムです。非常に高速で、周期も非常に長く、究極の擬似乱数生成アルゴリズムと言えるでしょう。
SFMT(SIMD-oriented Fast Mersenne Twister) <BSD>
SFMTはオリジナルのMersenne Twisterより約二倍速く、 よりよい均等分布特性を持ち、零超過初期状態からの回復も高速です。
SFMTplus - C++ class template implementation of SFMT <BSD>
SFMTのC++実装です。メルセンヌ素数の基数および基数依存のパラメータをテンプレート化し、グローバル変数だったテーブルおよび内部変数をクラスのインスタンス内部に保つようにしました。このため、基数の同一・非同一を問わず、複数のジェネレータのインスタンスを同時に扱うことができます。マルチスレッド環境で1スレッド毎にインスタンスを作ってやれば、スレッドセーフかつロックフリーな疑似乱数生成を実現できます。
gjrand random numbers <GPL>
Programmer's library for random numbers. Also random number generator testing code. Intended for simulation, games and "Monte-Carlo" algorithms.
IBM developerWorks > 安全なソフトウェアを作成する: ソフトウェアを利用したストラテジー
ハードウェアがなくても、ソフトウェアを最大限に活用してきわめて安全な乱数ジェネレーターの作成が可能。※日本語版はリンク切れの為中国語版にリンク。
ハードウェア乱数生成ルーチンhdrand.c
CPUがPentium以降・Windows下でハードディスクが使用されている環境で、ユーザに不可解な入力作業をさせることなく、良い性質の乱数を得るためのルーチンを作っておく。
レンダリングアルゴリズム技術ML > WELL 擬似乱数生成器
RenderNote
乱数、モンテカルロ法、SIMD等の解説。
Random.org - True Random Number Service
Random.org offers true random numbers to anyone on the internet. If you want to know how the numbers are made and what it is that makes them true, read the introduction to randomness and random numbers.

地形描画

Triangulate
Efficient Triangulation Algorithm Suitable for Terrain Modelling or An Algorithm for Interpolating Irregularly-Spaced Data with Applications in Terrain Modelling.
C/VB/VB.NET/C#/Java/Fortran77/Delphi等のソースコード有り。

関連書籍

  • Algorithm
ASIN:4797325526
珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造
コンピュータ・ジオメトリ―計算幾何学:アルゴリズムと応用
C/C++数値計算アルゴリズムブック
アルゴリズムC++
ASIN:453578373X
最新ウェーブレット実践講座 入門と応用 信号処理の基礎から最新理論まで (C magazine)
近似アルゴリズム
ASIN:4894714086
C言語による実用アルゴリズム入門
波形の特徴抽出のための数学的処理―フーリエ変換/ウェーブレット変換の基礎とExcelで試す実例 (計測・制御シリーズ)
Excelで学ぶ理論と技術 フーリエ変換入門 (Excel技術実践ゼミ)
  • The Art of Computer Programming
ASIN:475614411X
ASIN:4756147127
上記の本の補足本。
The Art of Computer Programming (2) 日本語版 Seminumerical algorithms Ascii Addison Wesley programming series
The Art of Computer Programming Volume 3 Sorting and Searching Second Edition 日本語版 (Ascii Addison Wesley programming series)
ASIN:4048678817
The Art of Computer Programming Volume 4, Fascicle 1 Bitwise Tricks & Techniques; Binary Decision Diagarms 日本語版 (ASCII Addison Wesley Programming Se)
The Art of Computer Programming,Volume 4, Fascicle 2: Generating All Tuples and Permutations[日本語版] (アスキー・アジソンウェスレイシリーズ)
The Art of Computer Programming,Volume 4, Fascicle 3: Generating All Combinations and Partitions【日本語版】 (ASCII Addison Wesley Programming Se)
The Art of Computer Programming Volume 4, Fascicle 4 Generating All Trees -- History of Combinatorial Generation 日本語版 (ASCII Addison Wesley Programming Series)
ASIN:4874085601
Numerical Recipes in C: The Art of Scientific Computing - 原書の第2版
Numerical Recipes: Example Book C (The Art of Scientific Computing)
原書のサポートサイト, 旧版はPDF公開中。表示には別途FileOpen Plug-inが必要。
Numerical Recipes - Public Domain Software
Why Not Numerical Recipes? - Numerical Recipes がダメなわけ
ASIN:0521884071
Numerical Recipes 3rd Edition: The Art of Scientific Computing
Numerical Recipes Source Code CD-ROM 3rd Edition: The Art of Scientific Computing
The Numerical Recipes Third Edition Code CDROM contains the complete source code in C++ for Numerical Recipes Third Edition, with many completely new routines, plus source code from Numerical Recipes Second Edition in C, Fortran 77, and Fortran 90 and Numerical Recipes First Edition in Pascal and BASIC, and more.
ASIN:0521750334
ASIN:0521750342
Numerical Recipes in Fortran 77: The Art of Scientific Computing
  • Genetic Algorithm
ASIN:4274078027
ASIN:489362136X
遺伝的アルゴリズムと遺伝的プログラミング
ASIN:4893622285
ASIN:4274066274
Javaで学ぶ遺伝的アルゴリズム
ASIN:4274067300
サポートページ
集合知プログラミング
  • モンテカルロ法
ASIN:4320034376
ASIN:0471654647
ASIN:0521832357

Game Programming

関連書籍

ASIN:4797332611
Windowsゲームプログラミング 第2版 Game Developer
Windowsゲームプログラミング (Game developer)
C#ゲームプログラミング (Game Developer)
「おもしろい」のゲームデザイン ―楽しいゲームを作る理論
ゲームコーディング・コンプリート 一流になるためのゲームプログラミング (Professional game programming)
ASIN:4797360712
  • Game Algorithm
コンピュータ将棋のアルゴリズム―最強アルゴリズムの探求とプログラミング (I・O BOOKS)
ASIN:477751241X
ASIN:4875934289
Core Techniques and Algorithms in Game Programming (New Riders Games)
ASIN:4777512134
コンピュータゲームのアルゴリズム&ネットワーキング
コンピュータ麻雀のアルゴリズム (I・O BOOKS)
ゲームプログラマになる前に覚えておきたい技術
  • 数学/物理
ゲームのアルゴリズム 改訂版 思考ルーチンと物理シミュレーション
ASIN:4797335955
コンピュータゲームの数学
ASIN:4899771800
  • AI(Artificial Intelligence)
ASIN:4873112168
ASIN:4873113393
ASIN:4274066649
ASIN:1556220782
AI Techniques for Game Programming
Ai Game Programming Wisdom 3 (Game Development Series)
Best of Game Programming Gems
Game Programming Gems 8 日本語版
原書:ASIN:1584507020
Game Programming Gems 7 日本語版
原書:Game Programming Gems 7 (GAME PROGRAMMING GEMS SERIES)
Game Programming Gems 6 日本語版
原書:Game Programming Gems 6 (Game Development Series)
ASIN:4862460151
原書:ASIN:1584503521
ASIN:4939007901
原書:Game Programming Gems 4 (GAME PROGRAMMING GEMS SERIES)
Game Programming Gems 3 日本語版
原書:ASIN:1584502339
Game Programming Gems 2 日本語版
原書:Game Programming Gems 2 (GAME PROGRAMMING GEMS SERIES)
Game Programming Gems
原書:ASIN:1584500492
2つのベクトル(AB)よりAからBへのクォータニオンを取得する方法等。
  • Game Engine Gems
ASIN:0763778885
ASIN:1568814372
  • 目的別
シューティングゲーム アルゴリズムマニアックス 新装版
ASIN:4797327316
ASIN:4797338954
シューティングゲーム プログラミング
ASIN:4797339616
アドベンチャーゲームプログラミング
3D格闘ゲームプログラミング
ASIN:4797335971
鉛筆パズルゲームプログラミング ナンバープレース・お絵かきパズル・ナンバークロスワードのアルゴリズム
ダンジョンゲームプログラミング
ASIN:4797347090
ASIN:4797352299

Secure Programming

IPA トップ>セキュリティセンター>情報セキュリティ対策実践情報>ソフトウェア開発者向け
このページには、セキュリティエンジニアリングに関する情報を集約します。想定読者としては、主にソフトウェアやファームウェア(組込みソフトウェア)の開発に携わっているプロジェクト管理者、設計者およびプログラマを想定します。
IPA ISEC セキュア・プログラミング講座
あなたのソースコードは安全ですか?
JVN(JP Vendor Status Notes)
JVN は経済産業省告示「ソフトウェア等脆弱性関連情報取扱基準」を受けて、日本国内の製品開発者の脆弱性対応状況を公開するサイトとして、有限責任中間法人 JPCERT コーディネーションセンター (JPCERT/CC) と独立行政法人 情報処理推進機構 (IPA) が共同で運営しています。
産業技術総合研究所 グリッド研究センター セキュアプログラミングチーム
脆弱性に事後対策する運用技術者向けではなく、脆弱性を生み出さないための開発技術者向けのセキュリティ技術情報を提供します。
クロスサイトスクリプティング FAQ
SQL Injection Attacks by Example
SQL Injection Attacks - Are You Safe?
(more) Advanced SQL Injection(PDF形式)
Insecure Programming by example
Secureではないコードサンプル。
ゼンド・ジャパン株式会社 技術情報コンテンツ > セキュリティ指針
Web Services Security 1.0 日本語訳
  • Link集へのLink
まっちゃ139 > セキュアプログラミングリンク集

Library

OpenSSL <Apache-style>
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library.
GNU TLS(Transport Layer Security) Library <LGPL>
GnuTLS is a project that aims to develop a library which provides a secure layer, over a reliable transport layer. Currently the GnuTLS library implements the proposed standards by the IETF's TLS working group.
Blowfish
内部データの暗号化を行う。C/C++/VB/Perl/Java/C# 用のソースが公開されている。
来犬的 - クルイヌチック > Program > BlowFishでファイル暗号化 - Blowfishの利用方法。

Tool

ProGuard <GPL>
Java向けのコード縮小/難読化ツール。

参考書籍

C/C++セキュアプログラミングクックブック〈VOLUME1〉基本的な実装テクニック
C/C++セキュアプログラミングクックブック〈VOLUME2〉対称鍵暗号の実装
ASIN:4873112249
ASIN:4756148239
WRITING SECURE CODE 第2版 上 (マイクロソフト公式解説書)
ASIN:4891004479
ASIN:4891002913
ASIN:4822282104
セキュリティウォリア―敵を知り己を知れば百戦危うからず
SSL/TLS導入ガイドブック
ASIN:4274065731
ASIN:427406655X

Design Pattern

結城浩氏のHP
ギコ猫とデザインパターンなど。著書も多数。
やまざき@BinaryTechnology
C++で読むデザインパターン等。
VB.NETとC#でデザインパターン
このページでは、ASIN:4797316462 に掲載されているサンプルソースを個人的にVB.NET/C#に移植したものを、 結城氏の了解を得て公開しています。
モノーキ > デバッグパターン
RUBY : ExampleDesignPatternsInRuby
Shin Kinoshita's Home > Java > Javaでデザインパターン
デザパタ以外にJavaMailの情報も有り。
Rubyで学ぶオブジェクト指向入門/Rubyで学ぶデザインパターン
日経 IT Pro > 矢沢久雄の早わかりGoFデザインパターン
memologue > [C++]Singleton速度比較
SynchronizedSingleton / DCLSingleton(Double-Checked Locking) / OnceSingleton / GccTSDSingletonの速度比較。
有限会社 ヌーラボ > サルでもわかる 逆引きデザインパターン
解説はJavaで行われている。

関連書籍

パターンハッチング―実践デザインパターン (Software patterns series)
税込 円
エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)
税込 ¥ 6,264円
ASIN:4891004517
税込 円
パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法
税込 円
ASIN:4798008192
税込 円。
お勧め本。UMLの解説だけに留まらず、Java/C++/VB.NETのデザインパターンのソースが掲載されている。C++のソースはそのまま流用するとメモリリークしそうでリスキーだが、デザインパターン@VB.NETはあまり見かけないので便利。
ASIN:489100472X
税込 円
ASIN:4894716844
税込 円
ASIN:4764902834
税込 円
PHPによるデザインパターン入門, Googleブックス
税込 ¥ 16,907円
実践!!デザインパターン―オブジェクト指向設計のポイント
税込 ¥ 5,633円
実装パターン
税込 ¥ 25,212円
パターン、Wiki、XP ~時を超えた創造の原則 (WEB+DB PRESS plusシリーズ)
税込 ¥ 7,820円
  • C++
ASIN:479811720X
税込 円
  • Java
増補改訂版Java言語で学ぶデザインパターン入門
税込 ¥ 4,104円
増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編
税込 ¥ 5,076円
ASIN:4774115797
税込 円
ASIN:4797327936
税込 円 正誤情報
デザインパターンによるJava実践プログラミング (JAVA SERIES)
税込 円
独習デザインパターン
税込 円
ASIN:4822281574
税込 円
J2EEアンチパターン
税込 ¥ 11,305円
ASIN:4873112494
税込 円
Head First Design Patterns in C++ - Head First Design Patterns examples converted from Java to C++
Head First Java 第2版 ―頭とからだで覚えるJavaの基本
税込 ¥ 4,320円
ASIN:4873113490
税込 円
  • AntiPattern
ソフトウェア構成管理の悪夢―アンチパターン
税込 円
ASIN:4797321385
税込 円

OOP(Object Oriented Programming)

オージス総研 - オブジェクトの広場 - 分野別インデックス
オブジェクト指向に関するドキュメントやXPに関する話題など。
オブジェクト指向関係資料集
ObjectGarden
日経ITpro > Development > オブジェクト指向

関連書籍

ASIN:4894716844
税込 円
ASIN:4774124605
税込 円
ASIN:4797328517
税込 円
オブジェクト指向開発の落とし穴
税込 円
組込みソフトウェア開発のための オブジェクト指向モデリング (組込みエンジニア教科書)
税込 円
ASIN:4797337443
税込 円
オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)
税込 ¥ 7,776円
ASIN:4798111120
税込 円
いちばんやさしい オブジェクト指向の本 (技評SE新書 007)
税込 円
オブジェクトデザイン (Object Oriented SELECTION)
税込 円
  • C++
憂鬱なプログラマのためのオブジェクト指向開発講座 (DDJ Selection)
税込 ¥ 6,665円。 お勧め本。C++のソースコードによる説明が分かり易い。って書いていたけど、巷では結構叩かれているかも。
ASIN:4797340665
税込 円
C/C++による組み込みソフトウェア開発技法 オブジェクト指向を取り入れた理論と実践
税込 ¥ 8,741円
組み込みC/C++プログラミング入門―組み込み機器開発における関連/例外/デザインパターン/再利用の実現方法 (TECHI―Embedded Software)
税込 ¥ 14,806円
  • Java
ASIN:4798102121
税込 円
ASIN:4886478298
税込 円
ASIN:477413144X
税込 円
ASIN:477751305X
税込 円

AOP(Aspect Oriented Programming)

@IT > IT Architect > アスペクト指向のバリエーション解説

Framework

AspectC++
It is a set of C++ language extensions to facilitate aspect-oriented programming with C/C++.
  • for Java
AspectJ Project
AspectJ™ is a seamless aspect-oriented extension to Java™.
AspectWerkz
AspectWerkz is a dynamic, lightweight and high-performant AOP framework for Java.
Spoon-AOP <CeCILL v2>
Spoon-AOP is an experiment that is under development to illustrate the use of Spoon. Also, it aims to prove that efficient and well-typed AOP can be achieved in pure Java.
  • for .NET Framework
Aspect#
Aspect# is an AOP ( Aspect Oriented Programming ) framework for the CLI (.Net and Mono).
AttoContainer(アトコンテナ)
.NET Framework 1.1 上で動作するAOPをサポートしたDI(Dependency Injection)コンテナ。
AspectDNG <GPL>
AspectDNG is a static .NET aspect weaver.

関連書籍

アスペクト指向入門 -Java ・ オブジェクト指向から AspectJプログラミングへ
税込 円
ASIN:4798108960
税込 円

eXtreme Programming

UnitTestツール関連は別ページを参照方。

プロセス間通信(IPC)

IPC(Inter-Process Communications)

link集/開発言語系/C++/API
共有メモリ、メッセージキュー関連はこちらのページを参照方。
  • 関連書籍
UNIXネットワークプログラミング〈Vol.2〉IPC:プロセス間通信
円。サポートページ

D-BUS

freedesktop.org > D-BUS
D-BUS is a message bus system, a simple way for applications to talk to one another.

Bonobo

インサイドBonobo
Bonobo components

DCOP(Desktop COmmunication Protocol)

KDE DCOP

MPI(Message Passing Interface)

link集/MPI
MPI関連はこちらのページを参照方。

ページ先頭へ   最終更新のRDF 最終更新のRSS
Last-modified: 2011-04-28 (木) 06:54:13 (2611d)
Valid XHTML 1.1 Valid CSS! [Valid RSS]