すべてを思い出してください:Java JET Conference。 2016年4月25日。レポートNo. 2

みなさんこんにちは! 少し前に、私たちは会議の前春にビデオのアップロードを終了したので、次のレポートを共有する時が来ました。 今回は、すでにテストされた6時間のセッションと3つのストリームの形式に加えて、サイトではもう1つ追加できました。 そして、私たちはこのストリーム全体を新しく、その時点ですでにより強力なコトリン語に捧げることにしました。 多くの公演が行われたので、すべてが一見の価値がありますが、ナレーションではほんの少しだけ詳しく説明します。



発見



いつものように、私たちを助けてくれた人たち、友人や会社に感謝します。 引き続き来てくれてサポートしてくれた友人。 そして、企業は開発者の心を信頼しており、翌日、予想外に大きなコミットストーリーを得るのを恐れていません。 そして、もちろん、次の日の別れの言葉。 その主なメッセージは、もちろん、会議は仕事であり、大きな投資であるということでしたが、新しい会議、新しいアイデア、新しい目標の喜びを忘れてはなりません!









場所



私たちは、会議場として映画館が好きです。 以前の映画館は大きすぎて全体を借りることができませんでした。 以前のレビューでは、サイトを許可されていない人から完全に制限することは素晴らしいことであったため、今回は少し小さいオプションを選択しました。 アリーナシティのシルバースクリーンシネマをご覧ください!







基調講演



基調講演のスピーカーを選択するのは簡単なことではありません。 それは活気に満ちた、活発な性格、信頼できる意見であるだけでなく、新しい聴衆に開かれているべきです。 アイデアはほとんどすぐに伝わり、遠くに行く必要はありませんでした。 最高のパフォーマンスを求める闘争が非常に劇的だった昨年の会議の結果に基づいて、Baruchを招待することは素晴らしい解決策であることがわかりました!



ソフトウェアは簡単に作成できますか? そして、このソフトウェアがユーザーの仕事の基本的なツールであるなら? しかし、ユーザーが開発者である場合はどうでしょうか? 一般的に、 モジュラーソフトウェアと依存関係マネージャー:地獄へようこそ







アクティビティ



今回はそれほど多くの活動はありませんでした。 スポンサーの非常に小さな存在の影響を受けます。 しかし、それらは素晴らしく機能しました。 コンソール、クイズ、宝くじ、最も重要なエンターテイメント-これはあなた自身のゲームです。







報告書



» コンテナなし:Bootiqueを備えた最新のJavaスタック



あなたの何人が本当にプログラムを書いていますか? はい、それはプログラムであり、コンテナによって起動される大きな葉の多いプラグインではありませんか? Spring BootやDropwizardのようなBootiqueは同じ問題を解決しようとしています。プロジェクトをすばやく準備し、「平和な」jarファイルを起動します。 しかし、Bootiqueでは、モジュールに分割して依存関係を制御するメカニズムとしてGoogle Guiceを使用しているため、最初はプログラムの「スタッフィング」を制御できます。 既存のモジュールを使用するか、独自のモジュールを作成できます。 また、自動ローダーは、すでに発表されているBootiqueモジュール間のすべての必要な依存関係を収集するのに役立ちます。



» 不変オブジェクト指向のWebフレームワーク



このプレゼンテーションは、プログラムの構築方法にも訴えています。 OOPの概念を分析すると、Yegorは、開発者がアプリケーションを作成するときに出したアイデアに完全に不満を感じています。 オブジェクトは、その動作に関与するエンティティとして認識される必要があります。これにより、実行中のこの動作への干渉が禁止されます。 もちろん、コンテナのプラグインとしてアプリケーションを作成することにより、私たちは書かれたものを実行するためにすべての責任を負います。 したがって、 Takesはプログラムと同じようにWebアプリケーションを作成することを提案しています。







» MyBatis、JPAではなく神に感謝



ここでは、 MyBatisについて知ることができるものはすべて、厳しい事実であり、世界に対する地味な見方です。 JPAアプローチの過負荷に悩まされることなく、裸のJDBCを超える利点を得ることができる非常に単純なソリューション。 実際、JPAがSQLから私たちを救うと約束すると、新しい抽象化が追加されますが、単純なCRUDシステムを除いて、もちろんSQLの理解から逃れることはできません。 したがって、MyBatisは、透明性とシンプルさを愛するすべての人を対象としています。 しかし、どの決定でもそうですが、落とし穴や暗いコーナーがないとできません。落とし穴や暗いコーナーはあまりよくなく、このスピーチで十分に照らされています。



» Apache Cayenne:Java ORMの代替



名前から、 Apache Cayenneは既存のソリューションに反して作成されたと結論付けることができます。 しかし、これはまったく真実ではありません。 彼の物語は2001年に始まりました。 そして、それはApacheコミュニティ内で成功を続けています。 Database Firstの概念に基づいて、Cayenneはモデルとクラスの概念を操作します。 モデルは、データベース内の既存のスキームに基づいて作成されます。 その後、たとえば、テーブルレベルにないオブジェクト間の新しい関係を追加することにより、編集できます。 次のステップは、クラスを生成することです。 2つのタイプがあります。 新しい振る舞いを追加できる基本的なクラスがあり、ジェネレーターでは変更されないままです。 また、オブジェクトのプロパティを管理し、クエリを作成するための動作を含むスーパークラスがあります。 そして、同じリクエストの直感的なAPIは、JPAが提供する条件付き互換性を拒否することを考える追加の理由を与えるかもしれません。







» RESTfulサービスのテスト:内容、方法、自動化



RESTful APIで何をテストする必要がありますか? 開発のどの段階で、将来のテストについて検討する必要がありますか? しかし、他のサービスの分離レイヤーを完全に忘れた場合はどうでしょうか? テストに役立つツールは何ですか? また、テスト中にデータベースを操作するためのオプションは何ですか? ここで、RESTfulサービスを起動します。 ここでどのツールが役立ちますか? もちろん、これらはアプリケーションのアーカイブの種類によって異なります。 立ち上げ、今、私たちは最終的なリソースをテストするつもりです。 リソースが到達可能かどうか、期待される結果を返すかどうかを確認することからテストを開始します。 そして、エラーがないことと、必要なロジックが実際にサーバーで実行されたことを確認します。 リソースの完全なテストシナリオは、これらのリソースによって実行される特定のタイプのCRUD操作に依存します。



» 高度なテストツール



そして、このパフォーマンスは、パラメーター化された単体テストについて少し説明します。 TestNGやJUnit 4などの最も一般的なフレームワークがここで検討され、JUnit 4のより使いやすいAPIをもたらす拡張機能がレビューに追加されます。場合によっては、システムテストまたは言い換えると、非機能テストに頼るべきです。 そして彼は、クラスパス監視用の興味深いライブラリ、プログラムの機能部分のさまざまなタイプの負荷テストと使いやすさのテストを提案しました。







パーティー



今回はパーティーが小さく居心地の良いパブで開催されました。 全員がテーブルで会社と別々に座ってほしくありませんでした。 彼らの小さな存在は、単に人々に歩き、コミュニケーションを強いました。 もちろん、不満がないわけではありません。 次回はより大きな場所を整理しようとし、低いテーブルを完全に削除します。 そして、実際に機能し、本当に楽しく活発なコミュニケーションになりました。







映像



そして、ここに待望のトップ5カンファレンスレポートがあります。 5か所すべてがKotlinについてのレポートにアクセスします。

1. Dmitry Jemerov-行為に巻き込まれた:Kotlinバイトコード生成とランタイムパフォーマンス





2. Anton Keks-実際のプロジェクトでのKotlin:語用論的言語に関する語用論的意見





3. Nicolas Frankel-Mutation Testingでテストの品質を改善





4. Jaroslaw Palka-ソーシャルネットワークと推奨エンジン、Neo4jが登​​場





5. Dmitry Jemerov-Kotlin:JVM開発を再び楽しくする






All Articles