スポンサーリンク

設計

Androidで,音声入力と音声合成をシンプルに記述するためのライブラリ案

AndroidプログラミングのTOPへ Androidアプリ開発時に,スピーチ周りのコードをシンプルに記述したい。 音声入力・音声認識(ASR) 音声合成・Text To Speech(TTS) これらの両者について,便利なラッパークラスとDSLを作り,コード量を削減してみる。 サン…

Javaのジェネリクスで,T.class や new T() ができず悩んだ話 (型パラメータのインスタンス化に関し、フレームワーク設計からケーススタディ)

Javaのジェネリクスで,型パラメータ T のインスタンスが欲しくなったことはあるだろうか? 昨今のオブジェクト指向プログラミングにおいて,ジェネリクスは必須の基本文法だ。 扱う対象のクラスが抽象化されて汎用的になりつつ,なおかつ型安全性が確保され…

GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き)

GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンは…

「バリデーション」APIと「単体テスト」APIの類似性,およびそのスタイルが時代と共に洗練される過程の概観

「テスト」と「バリデーション」は,互いに酷似している。 単体テスト:開発者が,システムの入出力の振る舞いを検証すること。 バリデーション:システムが,ユーザの入力値を検証すること。 ユニットテストとバリデーションは本質的に同類の処理であり,そ…

AndroidアプリにStrutsのようなコントローラを導入し,画面制御させるサンプルコード (の試作品。バリデーションやビジネスロジックの骨組み)

AndroidプログラミングのTOPへ 重要なお知らせ:この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページ…

Javaの非同期処理を,シングルスレッドのようにシンプルにコーディングするための設計パターン (並列処理を逐次処理にする)

重要なお知らせ:この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページより技術情報を参照してくださ…

あまり知られていない,Webアプリ開発時の10の略語 (例文つき)

バリデーション系 サーバリ (サーバサイド・バリデーション) クラバリ (クライアントサイド・バリデーション) モデバリ (モデルクラスによるバリデーション) コンバリ (コントローラクラスによるバリデーション) デーバリ (DB上の制約によるバリデ…

Ruby on RailsのModel内に記述するメソッドの分類表

Ruby on Railsで,子モデルクラスに記述すべきメソッドの,分類済み一覧表。 「子モデル」とは, DBにアクセスするクラス。 そのクラスのインスタンスオブジェクトがアプリ全体で持ち回され,単一のレコードを扱う上で便利な働きをする。 これに対し,「親モ…

Ruby on Railsのテストの書き方 (モデルの単体テストと,コントローラの機能テスト)

Ruby on Rails のテストの書き方のまとめ。 RSpecを使わない,素の unit test (モデルのテスト) functional test(コントローラ+ビューのテスト) について,どう書いたらいいのか,どこの情報を参照したらよいのか,などを列挙。Rails入門者が初めてテスト…