## プロジェクト概要
研究開発です。Windowsのファイル・フォルダのアップロード、ダウンロードを高速化することをミッションにしたプロジェクトです。具体的には、ネットワーク上を流れるSMBプロトコルを解析して法則性を見つけ、パケットをプログラムから操作することで、転送を高速化しました。
## オブジェクト指向設計をマスター
ベテランアーキテクトにフォローしてもらいながら、コア部分の設計を行いました。その過程で UMLによるオブジェクト指向設計、デザインパターンを学びました。ベテランの先輩に何度も設計図の却下と再提出を求められました。しかし、実力を認められたいという思いから、仕事が終わってからも深夜までオブジェクト指向設計について学び、学んだことを次の日の設計図に反映させを繰り返すことで、設計を完了させました。辛い設計工程でしたが粘り強く努力することで、成長を実感できました。
## JUnitによるテストの自動化
アプリのテストをどう進めるかが課題でした。ネットワーク上を流れるデータをシミュレーションして、最適化が動作するかを評価する必要がありました。私は、そこでJUnitによる自動化をチームに提案しました。具体的にはフォルダアップロードに必要なパケットをRubyスクリプトで分割して、ファイルデータとして保存し、JUnitからよみこむことによって、ピンポイントでやりたい操作を自動化し、その部分に対するロジックの検証を行うことができました。