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

最適化

富豪的プログラミング
平民的プログラミング
貧民的プログラミング
  • 国内
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
プレゼン資料

関連書籍

フルスクラッチによるグラフィックスプログラミング入門
C++で画像処理するには、これはかなりのオススメ本。
libneet - 書籍中の画像ライブラリがBSDライセンスで公開。
C MAGAZINE(2004/122005/01)
画像アルゴリズム大辞典 グラフィック処理技法の矩形画像を任意の四角形に変形させる自由変形処理は非常に役に立った。
ウェーブレットによる信号処理と画像処理
ASIN:4877831398
ASIN:4903474011
ASIN:4274946231
Javaによる画像処理プログラミング (I・O BOOKS)
Image Mosaicing and Super-resolution (Distinguished Dissertations)
Digital Image Processing: International Edition
ディジタル画像処理の基礎と応用―基本概念から顔画像認識まで (ディジタル信号処理シリーズ)
ASIN:462784591X
VC++のコードはManagedC++なので注意。サポートページ
基礎からわかる画像処理―画像処理のアルゴリズムを理解する (I・O BOOKS)
ASIN:4320121570
ASIN:4797344377
サポートページ
C言語で学ぶ実践画像処理―Windows/X‐Window対応
ASIN:4274946193

乱数

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:4797331666
近似アルゴリズム
ASIN:4894714086
C言語による実用アルゴリズム入門
波形の特徴抽出のための数学的処理―フーリエ変換/ウェーブレット変換の基礎とExcelで試す実例 (計測・制御シリーズ)
ASIN:479733827X
  • The Art of Computer Programming
The Art of Computer Programming Volume1 Fundamental Algorithms Third Edition 日本語版 (ASCII Addison Wesley Programming Series)
ASIN:4756147127
上記の本の補足本。
ASIN:4756145434
ASIN:4756146147
The Art of Computer Programming,Volume 4, Fascicle 0 Introduction to Combinatorial Algorithms and Boolean Functions 日本語版 (ASCII Addison Wesley Programming Se)
The Art of Computer Programming Volume 4, Fascicle 1 Bitwise Tricks & Techniques; Binary Decision Diagarms 日本語版 (ASCII Addison Wesley Programming Se)
ASIN:4756148204
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)
ニューメリカルレシピ・イン・シー 日本語版―C言語による数値計算のレシピ
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 がダメなわけ
Numerical Recipes with Source Code CD-ROM 3rd Edition : The Art of Scientific Computing
ASIN:0521880688
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
遺伝的アルゴリズムの基礎―GAの謎を解く
応用事例でわかる遺伝的アルゴリズムプログラミング
ASIN:4893621734
続 遺伝的アルゴリズムと遺伝的プログラミング 使いこなせるGA,GP
ASIN:4274066274
ASIN:4320121988
ASIN:4274067300
サポートページ
ASIN:4873113644
  • モンテカルロ法
HOW TO分子シミュレーション―分子動力学法、モンテカルロ法、ブラウン動力学法、散逸粒子動力学法
Modeling Derivatives in C++ (Wiley Finance)
ASIN:0521832357

Game Programming

関連書籍

Professionalゲームプログラミング 2ndEdition (C magazine)
ASIN:4797347597
ASIN:4797325453
C#ゲームプログラミング (Game Developer)
ASIN:4873112559
ゲームコーディング・コンプリート 一流になるためのゲームプログラミング (Professional game programming)
ゲームエンジン・アーキテクチャ (Professional game programming)
  • Game Algorithm
ASIN:4777511103
Java将棋のアルゴリズム―アルゴリズムの強化手法を探る (I・O BOOKS)
リバーシのアルゴリズム C++&Java対応―「探索アルゴリズム」「評価関数」の設計と実装 (I・O BOOKS)
ASIN:0131020099
ゲームコーディング〈Vol.3〉アルゴリズム編 (I・O BOOKS)
コンピュータゲームのアルゴリズム&ネットワーキング
ASIN:4777513319
ゲームプログラマになる前に覚えておきたい技術
  • 数学/物理
ゲームのアルゴリズム 改訂版 思考ルーチンと物理シミュレーション
ゲームのアルゴリズム 思考ルーチンと物理シミュレーション
コンピュータゲームの数学
14歳からはじめる リアルに動く!ゲーム物理プログラミング教室 C言語編―Windows 98/2000/Me/XP/Vista対応
  • AI(Artificial Intelligence)
ASIN:4873112168
ASIN:4873113393
ASIN:4274066649
ASIN:1556220782
ASIN:193184108X
ASIN:1584504579
ASIN:1584505710
ASIN:4862461417
原書:ASIN:1584507020
ASIN:4862460763
原書:Game Programming Gems 7 (Game Programming Gems Series)
ASIN:4862460291
原書:Game Programming Gems 6 (Game Development Series)
ASIN:4862460151
原書:Game Programming Gems 5 (GAME PROGRAMMING GEMS SERIES)
ASIN:4939007901
原書:ASIN:1584502959
Game Programming Gems 3 日本語版
原書:Game Programming Gems 3 (GAME PROGRAMMING GEMS SERIES)
Game Programming Gems 2 日本語版
原書:ASIN:1584500549
ASIN:4939007286
原書:Game Programming Gems (GAME PROGRAMMING GEMS SERIES)
2つのベクトル(AB)よりAからBへのクォータニオンを取得する方法等。
  • Game Engine Gems
ASIN:0763778885
ASIN:1568814372
  • 目的別
ASIN:4797359978
ASIN:4797327316
ASIN:4797338954
シューティングゲーム プログラミング
ロールプレイングゲームプログラミング 2nd Edition
ASIN:4797320273
ASIN:4797341807
アクションゲームプログラミング
ASIN:4797340207
ASIN:4797346280
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〉対称鍵暗号の実装
C/C++セキュアプログラミングクックブック VOLUME 3 ―公開鍵暗号の実装とネットワークセキュリティ
C/C++セキュアコーディング (SEI SERIES・A CERT BOOK)
ASIN:4891004460
Writing Secure Code第2版〈下〉プログラマのためのセキュリティ対策テクニック
プログラマのためのセキュリティ対策テクニック (マイクロソフト公式解説書)
セキュアソフトウェア
ASIN:4873111986
ASIN:4839919437
ASIN:4274065731
ASIN:427406655X

Design Pattern

結城浩氏のHP
ギコ猫とデザインパターンなど。著書も多数。
やまざき@BinaryTechnology
C++で読むデザインパターン等。
VB.NETとC#でデザインパターン
このページでは、Java言語で学ぶデザインパターン入門 に掲載されているサンプルソースを個人的に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で行われている。

関連書籍

ASIN:4894711486
税込 円
エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)
税込 ¥ 6,264円
.NETによるエンタープライズソリューションパターン (Patterns & practices)
税込 ¥ 25,724円
パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法
税込 円
UML逆引き大全560の極意
税込 ¥ 25,769円。
お勧め本。UMLの解説だけに留まらず、Java/C++/VB.NETのデザインパターンのソースが掲載されている。C++のソースはそのまま流用するとメモリリークしそうでリスキーだが、デザインパターン@VB.NETはあまり見かけないので便利。
ASIN:489100472X
税込 円
ASIN:4894716844
税込 円
ASIN:4764902834
税込 円
PHPによるデザインパターン入門, Googleブックス
税込 円
ASIN:488373241X
税込 円
ASIN:4894712873
税込 円
ASIN:4774138975
税込 円
  • C++
ASIN:479811720X
税込 円
  • Java
ASIN:4797327030
税込 円
ASIN:4797331623
税込 円
ASIN:4774115797
税込 円
ASIN:4797327936
税込 円 正誤情報
ASIN:4756141552
税込 円
ASIN:4798104450
税込 円
ASIN:4822281574
税込 円
ASIN:4822281981
税込 円
ASIN:4873112494
税込 円
Head First Design Patterns in C++ - Head First Design Patterns examples converted from Java to C++
ASIN:4873112796
税込 円
Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本
税込 ¥ 4,320円
  • AntiPattern
ASIN:4797311304
税込 円
ASIN:4797321385
税込 円

OOP(Object Oriented Programming)

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

関連書籍

ASIN:4894716844
税込 円
ASIN:4774124605
税込 円
入門 オブジェクト指向設計―変更に強く生産性が高いシステムを
税込 ¥ 5,826円
ASIN:4894712164
税込 円
ASIN:4798111767
税込 円
やさしいオブジェクト指向 やさしいシリーズ
税込 円
オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)
税込 ¥ 21,777円
ASIN:4798111120
税込 円
いちばんやさしい オブジェクト指向の本 (技評SE新書 007)
税込 円
ASIN:4798109037
税込 円
  • C++
憂鬱なプログラマのためのオブジェクト指向開発講座 (DDJ Selection)
税込 ¥ 6,880円。 お勧め本。C++のソースコードによる説明が分かり易い。って書いていたけど、巷では結構叩かれているかも。
C++で学ぶオブジェクト指向プログラミング
税込 円
ASIN:4797341912
税込 円
ASIN:4789833399
税込 円
  • Java
ASIN:4798102121
税込 円
新版オブジェクト指向プログラミング―J2SE1.4/5.0対応 (Javaバイブルテキストシリーズ)
税込 円
Java・オブジェクト指向の壁を突破する 抽象化プログラミング入門 (豆蔵セミナーライブオンテキスト 3)
税込 円
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.

関連書籍

ASIN:4774125814
税込 円
ASIN:4798108960
税込 円

eXtreme Programming

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

プロセス間通信(IPC)

IPC(Inter-Process Communications)

link集/開発言語系/C++/API
共有メモリ、メッセージキュー関連はこちらのページを参照方。
  • 関連書籍
ASIN:4894712571
円。サポートページ

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 (2422d)
Valid XHTML 1.1 Valid CSS! [Valid RSS]