タグ

ブックマーク / qiita.com/kawasima (7)

  • テスト計画の立て方 - Qiita

    テスト計画をどう立てていくか、ふつうのシステムエンジニアにとって分かりやすく考えてみたいと思います。 テスト工程は、一番ざっくりした分類で単体テスト、結合テスト、システムテストに別れるのが一般的です。 この工程は、あくまでもV字モデルに対応したインプットがどの前工程で作られたものを検証するかの基準であって、実際にどういう観点をどういう手順でテストするか、はそれぞれのプロジェクトで計画します。それがテスト計画になっていきます。 しかし、ただの工程の話と、実際におこなうテストの内容の違いが分かっていないと、テスト計画何するものぞ状態になって、ろくなテストが実施されないことになりますし、そのようなプロジェクトも多く存在します。 テストの世界標準には、ISO/IEC/IEEE 29119があり、これを見るとテスト工程(Test Level/Phase)とテスト種別(Test Types)の組で、テ

    テスト計画の立て方 - Qiita
  • システムエンジニアのエレベータの乗り方 - Qiita

    エレベータはシステムエンジニア思考を鍛えるよい乗り物です。 対象について注意深く観察し、エラーを起こさずスループットが最大化されるように設計・行動する力を付けましょう。 ボタンキャンセルの仕様を確認しておく メーカーによって異なります。 基的にはダブルクリックでキャンセル可能ですが、扉が開いてないと有効にならないものがあるので注意が必要です。 混雑したエレベータで1Fから最後らへんに乗り込み扉付近に立ったとき 高速にエレベータ運用するためには、ここのポジションは重要です。 まず何階のボタンが押されているか確認します。 エレベータが各階に止まったとき、それが… 1F出発時点で押されていない階の場合、降りる人はいないはずですので、乗ってくる人のためにエレベータの内部方向に詰めます。 1F出発時点で押されている階の場合、降りる人がいるので、一度エレベータを降りて、出入り口のスペースを作ります。

    システムエンジニアのエレベータの乗り方 - Qiita
    masayoshinym
    masayoshinym 2016/08/01
    “これはシステムエンジニアやっていれば必ず読めって言われるしろもの”マジか聞いたことない。。
  • マイクロサービスアーキテクチャにおけるAPIコールの仕方とHTMLレンダリング - Qiita

    先日、マイクロサービスの呼び出し方として、オーケストレーションとコレオグラフィについて書きましたが、同じく4章では、どうHTMLを組み立てるかという問題が提起されています。 ここもやや難解なので、咀嚼を試みます。 課題設定 次のようなECサイトを考えることにします。そして、4つのマイクロサービスを合成して構成します。 商品カタログサービス ショッピングカートサービス ショップサービス リコメンドサービス API合成 無垢な気持ちで設計すると、各々のマイクロサービスがWeb APIのインタフェースをもち、XMLやJSONを返して、ECサイト側で、テンプレートエンジンなどを用いて、HTMLをレンダリングするという方式になるかと思います。 そして、この形式でマイクロサービスを利用するサイト(アプリケーション)が増えていくと次の図のようになります。 これには、次の3つの欠点があるとされています。

    マイクロサービスアーキテクチャにおけるAPIコールの仕方とHTMLレンダリング - Qiita
  • フリガナを自動入力する - Qiita

    名前、ふりがなが連続しているフォームにおいて、ふりがなを自動入力する機能は、よく要求としてあがってきます。 jquery.autoKana.jsがよく使われているようですが、これはキーイベントを拾って、フリガナを作るので、 Google日本語入力ATOKの予測変換 スマフォのフリック入力 などで、ちゃんとキーイベントが発生しないものは、うまくフリガナを作ることができません。 (参考) https://github.com/harisenbon/autokana http://qiita.com/u-chida/items/6c07d558b3f06c9ed8d8 サーバサイドでフリガナを作る ちょっと考えを変えて、サーバサイドで漢字からフリガナを生成するようにしてみます。 MeCabやKuromojiで形態素解析すると、漢字の"読み"も取得できます。 IPA辞書だと人名が弱いので、NEo

    フリガナを自動入力する - Qiita
  • もう一つの金額計算のやり方 - Qiita

    public class Ratio { public long numerator; public long denominator; public Ratio(long numerator, long denominator) { this.numerator = numerator; this.denominator = denominator; reduce(); } public Ratio plus(Ratio x) { if (x.denominator == this.denominator) { this.numerator += x.numerator; } else { long d = this.denominator * x.denominator; this.numerator = this.numerator * x.denominator + x.numer

    もう一つの金額計算のやり方 - Qiita
    masayoshinym
    masayoshinym 2015/12/18
    Javaで金額計算するときに読む。
  • 究極のファイルダウンロード - Qiita

    アップロードと比較するとタイトルは釣り気味なのですが、ダウンロードにまつわるパターンをまとめます。 ふつうのダウンロード アップロードほど考えなきゃいけないことは多くないですが、ハマりポイントはいくつかあります。 ファイル名 何も対策せず日語をファイル名にすると、当然のように化けます。

    究極のファイルダウンロード - Qiita
  • Javaでのファイルコピー史 - Qiita

    レガシーなJavaで書かれたシステムのコードを見ていると、以下のようにInputStreamでファイルを開いて、OutputStreamでコピー先のファイルに書き込むみたいなものがあったりします。 try(InputStream input = new FileInputStream(srcFile); OutputStream output = new FileOutputStream(dstFile)) { byte[] buffer = new byte[BUFFER_SIZE]; int size = -1; while ((size = input.read(buffer)) > 0) { output.write(buffer, 0, size); } } 他にはどういう方法があるのでしょうか。ファイルコピーの歴史が詰まっている、commons-ioの実装の変遷をふりかえり、そ

    Javaでのファイルコピー史 - Qiita
  • 1