タグ

codezineに関するucqのブックマーク (6)

  • テンプレートから学ぶ 受注する開発者のためのテスト仕様書

    1. はじめに ソフトウェア開発プロジェクトにおいてテストは極めてストレスに満ちています。「テストとは作った成果物に誤りがあるかどうかを見つける作業だ」という質的に不愉快な活動であることに加えて、プロジェクトの終わりにさしかかって時間も逼迫しているのに仕様変更を受けて再テストなどという、体力的にも精神的にもきつい作業であるからです。 稿では、さまざまなストレスを受ける立場の開発者が少しでも楽に「きちんとテストしました」と言うために、テスト仕様書のテンプレートを紹介します。このテンプレートは発注者に報告するための文書だけでなく、さまざまなテスト技法の紹介も含まれていて、いつどういうテストをすればよいのかという手引きにもなっています。 さて、はじめに、ソフトウェア開発プロジェクトと品質・生産性・納期の関係を見てみましょう(図1)。 お客様(発注者)はプロジェクトを起案する際、何を作るかを「

    テンプレートから学ぶ 受注する開発者のためのテスト仕様書
  • 少ないディレイタップ数で厚みのある残響音を作るテクニック

    はじめに リバーブサウンド(残響音)を作りたいと思った時に、思い浮かぶアルゴリズムといったら、畳み込み(convolution)が真っ先に来るかも知れません。サンプリングリバーブ全盛というか、最近はいわゆるデジタルリバーブさえも、いったんインパルス応答に落としてから、畳み込みエフェクトとして入力波形を処理するようなありさまです。ハードウェア資源が限られていた時分の、少ないディレイタップ数で、ゴージャスな響きを作り出すアルゴリズムの工夫なんかは、かえってあまり詳しく知られていないかもしれません。 しかし、アルゴリズムによるインパルス応答の生成は、中々捨てがたい魅力があるものです。もっとも大きな魅力の1つに、リアルタイムで響きをコントロールできるというものがあります。リバーブ長や、密度、ルームサイズ、フィルタ、スプレッドなどなど、リバーブのパラメータは多種多様で、数あるオーディオエフェクトの中

    少ないディレイタップ数で厚みのある残響音を作るテクニック
  • C++で線を描画する際のさまざまなテクニック

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    C++で線を描画する際のさまざまなテクニック
  • 物理エンジンを使ってDirect3Dアプリケーションをつくる

    はじめに PCのスペックの向上によって3Dゲームでは力学(衝突処理やアニメーションで利用します)や流体(水などの液体の表現に利用します)などの物理を使った演出がよく使われるようになってきました。物理をゲームを取り入れる際に、力学や流体のモデルを元に3Dのオブジェクトの制御用のプログラムを組み込むわけですが、ゲームでは物理の処理だけにCPUなどの計算リソースを取られるわけにはいかないので、品質とパフォーマンスのバランスをとるのはなかなか手間がかかる仕事です。そこで、そうした処理を楽にしてくれるライブラリが物理エンジンになります。 物理エンジンには、今回の記事で紹介するAGEIA社のPhysXの他にオープンソースのOpen Dynamics Engine(ODE)やHavokと言ったものがあります。AGEIA PhysXが他の物理エンジンと違って特徴的なのは、PhysXハードウェアという専用の

    物理エンジンを使ってDirect3Dアプリケーションをつくる
  • WAVEファイルにリアルタイムで加工を施し再生する

    はじめに マルチメディア系のプログラムを作成していると、音のデータをリアルタイムで処理したいときもあるでしょう。今回は「WAVEファイルからデータを読み込み、加工を施した上で再生する」方法を紹介します。 もちろんWAVEデータ全部をメモリに展開するような手抜きはしません。必要応じてファイルを読み込んでいきます。 対象読者 稿ではC言語を利用します。WINAPIでウィンドウプログラムを作成したことがある人が対象です。それと、内容が応用系なので、参考資料で一度勉強してからの方が理解できると思います。 「waveOut~」「mmio~」が分かる方は大丈夫でしょう。分からない方も参考資料に載っているページに行けば、すぐに分かると思います。 必要な環境 WINAPIを利用するのでWindowsが必要です。動作はXPのみで確認していますが、他のバージョンでも動くでしょう。それと、コンパイル時に「wi

    WAVEファイルにリアルタイムで加工を施し再生する
  • 正規表現エンジンを作ろう (2)〜NFAとDFAを実装する〜:CodeZine

    はじめに こんにちは。hirataraです。 稿は、正規表現エンジン作成の第2回目です。前回は正規表現の数学的な側面を説明しました。今回は正規表現エンジンの実際の評価器となる、NFAとDFAを実装します。 対象読者 正規表現をもっと知りたい方 情報科学分野に興味がある方 正規表現エンジンを実装する必要がある方 必要な環境 サンプルはPython2.5で開発しましたが、2.4の環境でも動くはずです。 Python2.5 が動作する環境 実装する正規表現の仕様 今回から正規表現エンジンの実装に入りますが、実際に手を動かし始める前に、到達すべきゴールを明確にしておきましょう。まず、連載中に実装する正規表現の仕様を決定します。この連載では数学的な定義である3つの正規表現のみを実装し、正規表現が当にDFAと等価であり、DFAをシミュレートすることで実装できることを確かめます。 文法 これから作る

    正規表現エンジンを作ろう (2)〜NFAとDFAを実装する〜:CodeZine
  • 1