{"id":215101,"date":"2020-01-31T16:16:39","date_gmt":"2020-01-31T08:16:39","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=70835"},"modified":"2020-01-31T16:16:39","modified_gmt":"2020-01-31T08:16:39","slug":"java-weekly-issue-318","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2020\/01\/31\/java-weekly-issue-318\/","title":{"rendered":"Java Weekly, Issue 318"},"content":{"rendered":"<h2 data-id=\"spring-and-java\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java\"><\/div>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/27\/creating-docker-images-with-spring-boot-2-3-0-m1\"><strong>&gt;&gt; Creating Docker images with Spring Boot 2.3.0.M1<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<p>A quick look at Spring Boot&#8217;s <strong>upcoming support for buildpacks and layered jars<\/strong> \u2014 two new features that make it easier to create optimized Docker images.<\/p>\n<h4><a href=\"https:\/\/www.mscharhag.com\/spring\/api-gateway-with-spring-cloud-zuul\"><strong>&gt;&gt; Creating an API Gateway with Zuul and Spring Boot<\/strong><\/a> [<span style=\"color: #800000\">mscharhag.com<\/span>]<\/h4>\n<p>A sample Zuul proxy application demonstrates <strong>route configuration and the use of filters to customize routing behavior<\/strong>.<\/p>\n<h4><a href=\"https:\/\/www.vojtechruzicka.com\/idea-best-plugins\/\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; IntelliJ IDEA best plugins<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000\">vojtechruzicka.com<\/span>]<\/span><\/h4>\n<p>And a handful of cool plugins, from keyboard-shortcut helpers and color-coded bracket matching to <strong>security vulnerability warnings for third-party library dependencies<\/strong>, and many more.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blog.frankel.ch\/tricky-servlet-mappings\/\"><strong>&gt;&gt; Tricky servlet mappings!<\/strong><\/a> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/blog.softwaremill.com\/will-project-loom-obliterate-java-futures-fb1a28508232\">&gt;&gt; Will Project Loom obliterate Java Futures?<\/a><\/strong> [<span style=\"color: #800000\">blog.softwaremill.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/vladmihalcea.com\/jpa-query-map-result\/\">&gt;&gt; How to return a Map result from a JPA or Hibernate query<\/a><\/strong> [<span style=\"color: #800000\">vladmihalcea.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/4comprehension.com\/parallel-collection-processing-1\/\"><strong>&gt;&gt; Parallel Collection Processing: Without Parallel Streams<\/strong><\/a> [<span style=\"color: #800000\">4comprehension.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2020\/01\/no-more-unencrypted-maven\/\"><strong>&gt;&gt; Sonatype Disables Unencrypted Access to Maven<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/spring-security-oauth-2\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Enabling Secure Code at Scale with Spring and OAuth2<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/template-reactive-system\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; The Value of Reactive Systems<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/present-future-reactive-systems\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Designing a Reactive System<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/reactive-mines\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Do\u2019s and Don\u2019ts: Avoiding First-time Reactive Programmer Mines<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/24\/neo4j-s-mad-scientist-michael-hunger-on-graphs-databases-and-relationships\"><strong>&gt;&gt; Neo4j&#8217;s mad scientist Michael Hunger on graphs, databases, and relationships<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/23\/spring-boot-2-3-0-m1-is-now-available\"><strong>&gt;&gt; Spring Boot 2.3.0.M1 is now available<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/22\/spring-tools-4-5-1-released\">&gt;&gt; Spring Tools 4.5.1 released<\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/27\/spring-cloud-data-flow-2-3-1-released\"><strong>&gt;&gt; Spring Cloud Data Flow 2.3.1 Released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"technical\"><strong>2. Technical<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical\"><\/div>\n<h4><a href=\"https:\/\/www.ontestautomation.com\/an-introduction-to-rest-api-testing-in-go-with-resty\/\"><strong>&gt;&gt; An introduction to REST API testing in Go with Resty<\/strong><\/a> [<span style=\"color: #800000\">ontestautomation.com<\/span>]<\/h4>\n<p>And it&#8217;s easy to <strong>add assertions via the Testify library<\/strong>, which also provides support for setup\/teardown, mocks, and test suites.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><strong><a href=\"https:\/\/thoughts-on-java.org\/dual-writes\/\">&gt;&gt; Dual Writes \u2013 The Unknown Cause of Data Inconsistencies<\/a><\/strong> [<span style=\"color: #800000\">thoughts-on-java.org<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/advancedweb.hu\/how-to-manage-lambda-log-groups-with-terraform\/\">&gt;&gt; How to manage Lambda log groups with Terraform<\/a><\/strong> [<span style=\"color: #800000\">advancedweb.hu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/01\/21\/beginners-terraform-serverless.html\"><strong>&gt;&gt; A Beginner&#8217;s Guide to Terraform and Serverless<\/strong><\/a> [<span style=\"color: #800000\">blog.scottlogic.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2020\/01\/remote-training-gitlab-ci-dvc\/\"><strong>&gt;&gt; Remote training with GitLab-CI and DVC<\/strong><\/a> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/01\/27\/labelling-images-in-google-cloud.html\"><strong>&gt;&gt; OK Google, what do you see? &#8211; Labelling images in Google Cloud<\/strong><\/a> [<span style=\"color: #800000\">blog.scottlogic.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"musings\"><strong>3. Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"musings\"><\/div>\n<h4><a href=\"https:\/\/martinfowler.com\/articles\/programs-in-product-mode.html#ManageDependenciesAndRisksDiligently\"><strong>&gt;&gt; Manage dependencies and risks diligently<\/strong><\/a> [<span style=\"color: #800000\">martinfowler.com<\/span>]<\/h4>\n<p>When teams collaborate on a project, <strong>front-loading early sprints to build a &#8220;walking-skeleton&#8221;<\/strong> can help to decouple their backlogs and ultimately speed up delivery.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2020\/01\/passion-and-burnout\/\"><strong>&gt;&gt; Passion and burnout<\/strong><\/a> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/daedtech.com\/reader-question-round-up-software-code-of-ethics-and-niching\/\"><strong>&gt;&gt; Reader Question Round-Up: Software Code of Ethics and Niching<\/strong><\/a> [<span style=\"color: #800000\">daedtech.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.troyhunt.com\/kids-and-code-object-orientated-programming-with-code-combat\/\"><strong>&gt;&gt; Kids and Code: Object-Oriented Programming with Code Combat<\/strong><\/a> [<span style=\"color: #800000\">troyhunt.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/morethancoding.com\/2020\/01\/27\/three-terms-in-software-that-we-should-consider-retiring\/\"><strong>&gt;&gt; Three Terms in Software That We Should Consider Retiring<\/strong><\/a> [<span style=\"color: #800000\">morethancoding.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"comics\"><strong>4. Comics<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"comics\"><\/div>\n<p>And my favorite Dilberts of the week:<\/p>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-01-24\"><strong>&gt;&gt; Looks Like A Duck<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-01-25\"><strong>&gt;&gt; Data Can Only Mean One Thing<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-01-27\"><strong>&gt;&gt; Mind Reader<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h2 data-id=\"pick-of-the-week\"><strong>5. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week\"><\/div>\n<h4><strong><a href=\"https:\/\/medium.com\/revolut\/recording-more-events-but-where-will-we-store-them-4b1dad457cf5\">&gt;&gt; Recording more events\u2026 But where will we store them?<\/a> <\/strong>[<span style=\"color: #800000\">medium.com<\/span>]<\/h4>\n","protected":false},"excerpt":{"rendered":"<p>A sneak peek at improved Docker support coming to Spring Boot, and a collection of cool plugins for IntelliJ IDEA.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-318\" title=\"Java Weekly, Issue 318\">&gt;&gt;&gt;<\/a> <a href=\"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2020\/01\/31\/java-weekly-issue-318\/\">\u95b1\u8b80\u5168\u6587 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":142,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"slim_seo":[],"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[2,315,2149,7],"tags":[398,402,397,414,413,410,409,407,408,11,406,399,400,394,318,375,558,560,555,561,553,554,562,524,10,401,396,381,403,412,411,395,405,404,457,454,316],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p7prtj-TXn","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/215101"}],"collection":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/users\/142"}],"replies":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/comments?post=215101"}],"version-history":[{"count":1,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/215101\/revisions"}],"predecessor-version":[{"id":215102,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/215101\/revisions\/215102"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/media?parent=215101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/categories?post=215101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/tags?post=215101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}