2015に行ってきた。MySQL5.6.25と5.7.7を比較。夏なのにSpringJoshLongを見られただけで価値がありました。Bootをはじめる時にやるべき10のこと】」です。ツイートするなよ!はダチョウメソッドじゃないよ!アンケートを書いて回収BOXに入れるまでがイベントです。JoshLongは今朝、成田に着きました。年齢層はそんなに高くないなあ、という印象。資料、サンプルプロジェクトが公開されました。http://www.slideshare.net/shintanimoto/spring-boot10https://github.com/cero-t/spring-boot-kinoko-2015「はまらない、ミスしない、ミスをリカバリできる。」がフレームワークに求めること。その点で今のベストはSpringBoot。SpringBootを知る。複雑化したSpringプロジェクト群を使った開発を簡単に始められる仕組み。フルスタックプラットフォームいろいろなFWを組み合わせるとハマりがある。SpringBoot新しいプロダクトの利用時あるあるドキュメントがない、英語しかない。」を読んでおけば間違いない。変なJarが混じってるバージョンが違うはまりが発生する。https://start.spring.io/必要な情報と利用するモジュールを選ぶ。Actuatorおすすめ。platformを使う。Controllerの共通設定java.uril.DateやCaendarはハマりやすい余計な時分秒があるせいで判定を誤るCalendarで時分秒に0を入れてもミリ秒が残るJSR310をSpringBootで使いたい。ControllerでLocalDateを使うなぜかLocalDateはJsonで返せないControllerで利用するJacksonをカスタマイズする。トランザクション境界の設定トランザクションあるあるControllerをトランザクション境界にする処理の途中で一度コミットしたいけどできない途中でコミットできるような仕組みを無理に作ったら全体的な整合性が崩れた性能改善のためのリードレプリカを作りたいが、そもそもアクセスを振り分けられないService層をトランザクション境界にする。Controllerの次の層をトランザクション境界にする。処理の単位が明確になる。Service層からReturnすればコミット、例外で戻ればロールバック原則、ReadOnlyトランザクションを使うService層のクラスすべてに@Transactional(readOnly=true)をつける更新が発生するときだけ、@Transactional(readOnly=false)にするリードレプリカへの振り分けが容易に。TemplateJdbcTemplate/NamedParameterJdbcTemplateの独自ラッパーとして作った。SQLファイルをかける。例外処理あるある個別の開発者任せ。死ぬフレームワークが返す例外とアプリケーションが返す例外でJSONの形式が違う。クライアント側で判別が必要で死ぬ。RuntimeExceptionを作って、必ずこれを使う。エラーコードはenumに定義しておき、コンストラクタの引数に必ず渡す。テスト設計テストあるあるとりあえず、手動でテストしようぜ!回帰試験で死ぬロジックがあるControllerからテストすればOKバリデーションの設定ミスで死ぬ通常使うComponentとモックのComponentは@Profileで切り替える管理で死ぬテストのグッドプラクティスController以降をJUnitでテストするカバレッジは最低60%、できれば80%を目指す。外部サービス呼び出しはモック化する。テストのTips@Componentのモックは@Profileよりも@Primaryをつけた方がよい。Platformに委譲。必要な設定が漏れていたり、初期値のまま使われてしまう。複数のプロジェクトで構造の一貫性がとれていないコードや設定が特定の環境に依存し、テストのしやすさが考慮されていない「TERASOLUNAでは以下のようなブランクプロジェクトを提供します。各種設定、ライブラリ依存関係が設定済みmvnコマンドでブランクプロジェクトを作成できます。ロギング以下の4パターンを提供try-catch@ExceptionHandlerHandlerExceptionReolvererror-pageハンドリングに必要なxml設定はブランクプロジェクトで設定済み。☆信頼性の低いコードの模倣FWとしてのガイドラインを提供します。☆フレームワークの長期利用すべてのサンプルコードのテストをseleniumで書いています。リリース前にすべてのAPコンテナ、JDKの組み合わせでオールグリーンを確認。【R1-4.超高速開発ツールWagbyの技術基盤】ランチセッションなのでまったりと。excelでJSONパーサ書いた人がいるので、それを使ったデモ。Wagbyで作成したアプリをRESTAPI化して、そこから顧客情報を取得→excelのセル埋め。Microservices】JoshLongの登壇。・プロジェクタがうまく動かず、しばらく手間取ったあと「コンピュータはバカだな」とw・38時間かけて日本にやってきたんだよ!・プロダクションはディズニーより楽しいよ!・やったーWaterFallだ!なんて喜ぶヤツはいないだろ?JoshLong、すげぇおもしろい。DIと大規模プロジェクト、春は来るのか本当に?】HUEプロジェクトの中でのSpringの話。PJの苦労話は鉄板ですわね。社長の「いまどきRDBMSなんてないよね」の一言でCassandraに。@Autowired使ってますか?Springといえば!ComponentScanの恩恵は受けたい。解決できないComponentScanの推移的依存解決のせい。起動時間が遅いbasePackage対象以下のフルスキャンが走るので遅い。