スキップしてメイン コンテンツに移動

第78回 CLR/H勉強会に参加してきた

2013/1/19に第78回 CLR/H勉強会が開催されたので参加してきた。今回はテストデイ。

C# から Java へのプログラム移植で体験したTDDの効果は?

  • 「開発終了」とは「そのアプリケーションの使用が終了するとき」と定義できる。
  • 単体テストを書くようになると、後からテストを書くのは面倒と思うようになる
  • C#からJavaへ移行でテストを書くことでJava入門もできた
  • テストメソッドを日本語で行うのは非常に有効
  • テストコードに基本型・例外型(・応用型)のパターンを作った
  • DRY原則は無理に適用しない(あくまで基本型に合わせる)
  • テストは必ず一度失敗させる
  • C#とJavaとでアプリケーションのコードを統一するこは困難だが、テストコードを統一することである程度同一の動作を保証できる

SpecFlow + Selenium WebDriver で Web アプリの自動化テストを概ね完備してみた

  • 品質検査の自動化
  • テストコードのメンテナンスを考慮したスケジュールが必要
  • SpeckFlowで品質検査担当者もテストコードを記述
  • 多言語対応アプリへの対応が困難(ボタン名など)
  • テストやっている俺カッコイイ

仕事で使える!iPhoneアプリ開発でも継続的インテグレーション

  • 開発の三本柱「バージョン管理」「テスト」「自動化」
  • テストはSenTestingKitを使用。XCodeに標準で含まれている
  • setter/getterのテストはしない、などのルールを設けている
  • CIはJenkins、バージョン管理はGit。
  • Jenkinsは標準でSubversionに対応。プラグインでGitに対応できる。
  • GitのhookでCIサーバーをWakeUp On LANで起動→エコ!
  • テストを書きすぎない、事も大切

ちょうど自分も単体テストに取り組もうと思い、設計に悩みだしている時期なので、とても為になった。

コメント

このブログの人気の投稿

VirtualBoxのUbuntu 18.04でNAT + ホストオンリーアダプター

VirtualBoxのVMにインストールしたUbuntu Server 18.04で、ネットワーク割当を「NAT」+「ホストオンリーアダプター」にする場合の設定についてメモ。 VMを作るとき、ゲストOSからインターネットに繋がって、かつホスト-ゲスト間でもつながる環境にしたいとき、VMのネットワーク割当は手っ取り早いのは「ブリッジアダプター」なんだけど、会社のネットワークでは都合がわるかったりするので「NAT」+「ホストオンリーアダプター」にしている。 アダプター1は「NAT」を選択 アダプター2は「ホストオンリーアダプター」を選択 ゲストOSであるUbuntuのネットワーク設定は、NATに該当するNICはDHPCで、ホストオンリーアダプターに該当するNICは固定IPとする。 Ubuntu 18.04ではネットワーク設定はNetplanで行う(Ubuntu 17.10から変わったようだ)。編集する設定ファイルは「/etc/netplan/50-cloud-init.yaml」 network: ethernets: {NATのNIC}: addresses: [] dhcp4: true optional: true {ホストオンリーアダプターのNIC}: addresses: [{固定IPアドレス}] dhcp4: no version: 2 ポイントは、ホストオンリーアダプターに該当するNICの固定アドレスを設定するときに、 ゲートウェイを設定しない こと。 以前に QiitaのVirtualBoxでNAT + Host-Only Network環境を構築する を参考にしていたのに、今回18.04で設定する際にすっかり忘れてはまってしまった。 IPアドレスは「192.168.0.2/24」のようにサブネットマスクも指定する。 NICに指定するデバイス名は以下コマンドで表示されるlogical nameが該当する。 > lshw -class network たいていは「enp0s3」「enp0s8」となるようだ。 設定ファイルを保存したら

画像を切り取って保存する

画像処理において、画像の一部を切り出すことをトリミングというらしい。画像編集ソフトなんかにも大抵「トリミング」機能が実装されているだろう。 そんな画像を切り取る処理を.NETでやってみる。 .NETでは画像を扱う際にはBitmapクラスを使用する。BitmapクラスのCloneメソッドでサイズを指定すれば、そのサイズのBitmapオブジェクトができるので、それを保存すればよい。Cloneメソッドの引数はRectangle構造体とPixelFormat列挙体。 Rectangle構造体とは四角形の位置とサイズを表したもの。元画像の左上を(0, 0)として(X座標, Y座標, 幅, 高さ)の値でRectangle構造体を作成して渡す。PixelFormat列挙体はヘルプを見てもよくわからなかった。とりあえずは元画像の値をそのまま渡す。 例えば photo by tsukacyi のようなユッケの画像をトリミングするプログラムは以下のように書ける '元画像 Dim source As Bitmap source = New Bitmap("source.jpg") '切り取るサイズ Dim rect As Rectangle rect = New Rectangle(30, 80, 400, 320) '切り取り後の画像 Dim trimed As Bitmap trimed = source.Clone(rect, source.PixelFormat) '保存 trimed.Save("trimed.jpg") source.Dispose() trimed.Dispose() トリミング後の画像は以下の通り。

知床半島ウトロクルーズの思い出

 知床にゴールデンウイークに行ってクルーズ船に乗ったことがあったな、と思い写真を見返してみると2015年に行っていた。 知床五湖 ゴジラ岩観光 の知床半島ウトロクルーズを体験した。 熊の親子も見れた 岬から観える景色 小さい船だったのでやはり船酔いしたが、それでも岬から観える景色は壮大で感動した。 こんな大きな自然の前では人間はちっぽけだ。 ゴジラ岩観光のHPに記載されている通り2022/05/01現在は運休している。 一刻も早く見つかりますように。そして安全が徹底されて再開できることを願う。