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

最適化

富豪的プログラミング
平民的プログラミング
貧民的プログラミング
  • 国内
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)
画像アルゴリズム大辞典 グラフィック処理技法の矩形画像を任意の四角形に変形させる自由変形処理は非常に役に立った。
ASIN:4320085493
ASIN:4877831398
ASIN:4903474011
ASIN:4274946231
ASIN:4777512614
ASIN:1852337710
ASIN:0130946508
ASIN:4789830950
ASIN:462784591X
VC++のコードはManagedC++なので注意。サポートページ
ASIN:477751322X
ASIN:4320121570
ASIN:4797344377
サポートページ
ASIN:4274502031
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
ASIN:4894712369
ASIN:476490277X
ASIN:4303725307
ASIN:4764902222
ASIN:453578373X
ASIN:4797331666
ASIN:4431709916
ASIN:4894714086
ASIN:4797328290
ASIN:4789837157
ASIN:479733827X
  • The Art of Computer Programming
ASIN:475614411X
ASIN:4756147127
上記の本の補足本。
ASIN:4756145434
ASIN:4756146147
ASIN:4048678817
ASIN:4048687409
ASIN:4756148204
ASIN:4756151299
ASIN:404867692X
ASIN:4874085601
ASIN:0521431085 - 原書の第2版
ASIN:0521437202
原書のサポートサイト, 旧版はPDF公開中。表示には別途FileOpen Plug-inが必要。
Numerical Recipes - Public Domain Software
Why Not Numerical Recipes? - Numerical Recipes がダメなわけ
ASIN:0521884071
ASIN:0521880688
ASIN:0521706858
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
ASIN:052143064X
  • Genetic Algorithm
ASIN:4274078027
ASIN:489362136X
ASIN:4893621734
ASIN:4893622285
ASIN:4274066274
ASIN:4320121988
ASIN:4274067300
サポートページ
ASIN:4873113644
  • モンテカルロ法
ASIN:4320034376
ASIN:0471654647
ASIN:0521832357

Game Programming

関連書籍

ASIN:4797332611
ASIN:4797347597
ASIN:4797325453
ASIN:4797334800
ASIN:4873112559
ASIN:4797358432
ASIN:4797360712
  • Game Algorithm
ASIN:4777511103
ASIN:477751241X
ASIN:4875934289
ASIN:0131020099
ASIN:4777512134
ASIN:486246050X
ASIN:4777513319
ASIN:4798021180
  • 数学/物理
ASIN:4797359250
ASIN:4797335955
ASIN:4775304690
ASIN:4899771800
  • AI(Artificial Intelligence)
ASIN:4873112168
ASIN:4873113393
ASIN:4274066649
ASIN:1556220782
ASIN:193184108X
ASIN:1584504579
ASIN:1584505710
ASIN:4862461417
原書:ASIN:1584507020
ASIN:4862460763
原書:ASIN:1584505273
ASIN:4862460291
原書:ASIN:1584504501
ASIN:4862460151
原書:ASIN:1584503521
ASIN:4939007901
原書:ASIN:1584502959
ASIN:4939007545
原書:ASIN:1584502339
ASIN:4939007332
原書:ASIN:1584500549
ASIN:4939007286
原書:ASIN:1584500492
2つのベクトル(AB)よりAからBへのクォータニオンを取得する方法等。
  • Game Engine Gems
ASIN:0763778885
ASIN:1568814372
  • 目的別
ASIN:4797359978
ASIN:4797327316
ASIN:4797338954
ASIN:4797337214
ASIN:4797339616
ASIN:4797320273
ASIN:4797341807
ASIN:4797335971
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向けのコード縮小/難読化ツール。

参考書籍

ASIN:4873112001
ASIN:4873112133
ASIN:4873112249
ASIN:4756148239
ASIN:4891004460
ASIN:4891004479
ASIN:4891002913
ASIN:4822282104
ASIN:4873111986
ASIN:4839919437
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で行われている。

関連書籍

ASIN:4894711486
税込 円
ASIN:4798105538
税込 円
ASIN:4891004517
税込 円
ASIN:4822282384
税込 円
ASIN:4798008192
税込 円。
お勧め本。UMLの解説だけに留まらず、Java/C++/VB.NETのデザインパターンのソースが掲載されている。C++のソースはそのまま流用するとメモリリークしそうでリスキーだが、デザインパターン@VB.NETはあまり見かけないので便利。
ASIN:489100472X
税込 円
ASIN:4894716844
税込 円
ASIN:4764902834
税込 円
ASIN:4798015164, 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
税込 円
ASIN:4873113490
税込 円
  • AntiPattern
ASIN:4797311304
税込 円
ASIN:4797321385
税込 円

OOP(Object Oriented Programming)

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

関連書籍

ASIN:4894716844
税込 円
ASIN:4774124605
税込 円
ASIN:4797328517
税込 円
ASIN:4894712164
税込 円
ASIN:4798111767
税込 円
ASIN:4797337443
税込 円
ASIN:4798111112
税込 円
ASIN:4798111120
税込 円
ASIN:477413015X
税込 円
ASIN:4798109037
税込 円
  • C++
ASIN:4881356194
税込 円。 お勧め本。C++のソースコードによる説明が分かり易い。って書いていたけど、巷では結構叩かれているかも。
ASIN:4797340665
税込 円
ASIN:4797341912
税込 円
ASIN:4789833399
税込 円
  • 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.

関連書籍

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