{"id":3403,"date":"2020-01-24T08:34:14","date_gmt":"2020-01-24T08:34:14","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=70465"},"modified":"2020-01-24T08:34:14","modified_gmt":"2020-01-24T08:34:14","slug":"java-weekly-issue-317","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2020\/01\/24\/java-weekly-issue-317\/","title":{"rendered":"Java Weekly, Issue 317"},"content":{"rendered":"<p class=\"syndicated-attribution\"><meta name= \\\"keywords \\\" content= \\\"\u96fb\u5b50\u8a08\u7b97\u6a5f, \u6559\u80b2, IT \u96fb\u8166\u73ed,\u96fb\u8166\u88dc\u7fd2\uff0c \u96fb\u8166\u73ed\uff0c \u5bb6\u6559\uff0c \u79c1\u4eba\u8001\u5e2b\uff0c \u8cc7\u8a0a\u6280\u8853\uff0c \u7a0b\u5e8f\u8a2d\u8a08\uff0c \u96fb\u5b50\u8a08\u7b97\u6a5f\uff0c \u904a\u6232\uff0c \u860b\u679c\uff0c \u96fb\u5f71\uff0c \u8a08\u7b97\u6a5f\uff0c\u7de8\u78bc\uff0c Java\uff0c C\/C++\uff0c JavaScript\uff0c PHP\uff0c HTML\uff0c CSS\uff0c MySQL\uff0c mobile\uff0c Android\uff0c \u52d5\u6f2b\uff0c Python\uff0c teacher\uff0c \u88dc\u7fd2\uff0c \u96fb\u8166\u88dc\u7fd2 \u8cc7\u8a0a, \u7535\u5b50\u8ba1\u7b97\u673a, IT ,Game, apple, movie, Computer,student,Java,\u6559\u80b2, ,\u5b66\u751f, \u5b66\u4e60, learn, \u6559\u5b66,  Android, apple,anime, animation, \u4fe1\u606f\u6280\u672f, \u7a0b\u5e8f\u8bbe\u8ba1, \u79fb\u52a8\u7535\u8bdd, \u8cc7\u8a0a\u79d1\u6280,Game, Jeu, Juego,Call Of Duty ,\u4f7f\u547d\u53ec\u559a , \u6e38\u620f, \u7535\u5b50\u6e38\u620f,, \u591a\u4eba\u7535\u5b50\u6e38\u620f, \u7f51\u7edc\u6e38\u620f\uff0conline\uff0conline game, \u624b\u673a\u6e38\u620f, mobile \\\"><\/p>\n<h2 data-id=\"spring-and-java-8\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java-8\"><\/div>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/14\/reactive-bookstore-service-broker\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Reactive BookStore Service Broker<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<p>A quick example demonstrating <strong>the Reactive API support available in several Spring projects<\/strong>. Very cool.<\/p>\n<h4><a href=\"https:\/\/www.infoq.com\/articles\/groovy-3-new-features-java\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Groovy 3.0 Adds New Java-Like Features<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<p>Some of the highlights include <strong>lambda expressions, try-with-resources, and an enhanced for-loop<\/strong>.<\/p>\n<h4><a href=\"https:\/\/www.morling.dev\/blog\/enforcing-java-record-invariants-with-bean-validation\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Enforcing Java Record Invariants With Bean Validation<\/strong><\/a> [<span style=\"color: #800000\">morling.dev<\/span>]<\/h4>\n<p>And an experiment with <strong>the Java 14 Records preview feature and Byte Buddy<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blogs.oracle.com\/javamagazine\/records-come-to-java\"  rel=\"noopener noreferrer\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Records Come to Java<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000\">blogs.oracle.com<\/span>]<\/span><\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/thoughts-on-java.org\/naming-strategies-in-hibernate-5\/\"  rel=\"noopener noreferrer\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Naming Strategies in Hibernate 5<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000\">thoughts-on-java.org<\/span>]<\/span><\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/eclipse-ee4j.github.io\/jakartaee-platform\/jakartaee9\/JakartaEE9ReleasePlan\"  rel=\"noopener noreferrer\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Jakarta EE 9 Release Plan<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000\">eclipse-ee4j.github.io<\/span>]<\/span><\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.tomitribe.com\/blog\/servlets-and-tomcat-23-years-and-counting\/\"  rel=\"noopener noreferrer\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Servlets and Tomcat: 23+ Years and Counting<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000\">tomitribe.com<\/span>]<\/span><\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/vladmihalcea.com\/multidimensional-array-jpa-hibernate\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Multidimensional array mapping with JPA and Hibernate<\/strong><\/a> [<span style=\"color: #800000\">vladmihalcea.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.frankel.ch\/creative-use-filters\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; A creative use of Filters<\/strong><\/a> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/17\/a-bootiful-podcast-spring-cloud-services-bella-yuxin-bai\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; A Bootiful Podcast: Spring Cloud Services&#8217; Bella (Yuxin) Bai<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/learn-spring-boot\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Learning Spring Boot: First as a Student, Then as a Teacher<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/junit-5-new\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; JUnit 5: Evolution and Innovation<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/rieckpil.de\/jakarta-ee-crud-api-tutorial\/\"  rel=\"noopener noreferrer\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Jakarta EE 8 CRUD API Tutorial using Java 11<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000\">rieckpil.de<\/span>]<\/span><\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/project-reactor-demo\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Avoiding Reactor Meltdown<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.infoq.com\/presentations\/spinnaker-jpmorgan-chase\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"  rel=\"noopener noreferrer\">&gt;&gt; The Reality of Managing Microservice Deployments at Scale: You Need a Spinnaker<\/a> <\/strong>[<span style=\"color: #800000\">infoq.com<\/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\/16\/spring-framework-5-2-3-5-1-13-5-0-16-and-4-3-26-releases\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Framework 5.2.3, 5.1.13, 5.0.16, and 4.3.26 releases<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/20\/spring-boot-2-2-4-released\"><strong>&gt;&gt; Spring Boot 2.2.4 released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>] and <a href=\"https:\/\/spring.io\/blog\/2020\/01\/16\/spring-boot-2-2-3-released\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Boot 2.2.3 released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>] and\u00a0<a href=\"https:\/\/spring.io\/blog\/2020\/01\/16\/spring-boot-2-1-12-released\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Boot 2.1.12 released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/15\/spring-data-moore-sr4-and-lovelace-sr15-released\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Data Moore SR4 and Lovelace SR15 released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/01\/17\/spring-vault-2-2-1-release-and-2-1-5-release-available\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Vault 2.2.1.RELEASE and 2.1.5.RELEASE available<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/arjan-tijms.omnifaces.org\/2020\/01\/piranha-2012-released.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Piranha 20.1.2 released!<\/strong><\/a> [<span style=\"color: #800000\">arjan-tijms.omnifaces.org<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"technical-8\"><strong>2. Technical<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-8\"><\/div>\n<h4><a href=\"https:\/\/techblog.bozho.net\/one-time-passwords-do-not-provide-non-repudiation\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; One-Time Passwords Do Not Provide Non-Repudiation<\/strong><\/a> [<span style=\"color: #800000\">techblog.bozho.net<\/span>]<\/h4>\n<p>As secure hardware modules become the norm in smartphone tech, it may be time to say goodbye to the OTP.<\/p>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2020\/01\/aws-sagemaker-data-handling\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Seven ways of handling image and machine learning data with AWS SageMaker and S3<\/strong><\/a> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/h4>\n<p>And some common approaches for preserving your ML data as you port your Jupyter notebooks to SageMaker.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"http:\/\/blog.code-cop.org\/2020\/01\/login-form-tdd-ui-kata.html\"><strong>&gt;&gt; Login Form TDD a UI Kata<\/strong><\/a> [<span style=\"color: #800000\">blog.code-cop.org<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/01\/16\/planning-56-sprints-per-second-with-sat4j.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Planning 56 sprints per second with SAT4J<\/strong><\/a> [<span style=\"color: #800000\">blog.scottlogic.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/reflectoring.io\/flyway-kubernetes-continuous-database-configuration\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Continuous Database Configuration with Flyway and Kubernetes<\/strong><\/a> [<span style=\"color: #800000\">reflectoring.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"musings-8\"><strong>3. Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"musings-8\"><\/div>\n<h4><a href=\"https:\/\/martinfowler.com\/articles\/on-pair-programming.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; On Pair Programming<\/strong><\/a> [<span style=\"color: #800000\">martinfowler.com<\/span>]<\/h4>\n<p>A strong case for pair programming, along with some dos and don&#8217;ts to keep in mind when implementing it in your team.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/martinfowler.com\/articles\/programs-in-product-mode.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; How to manage a program in a product-mode organization<\/strong><\/a> [<span style=\"color: #800000\">martinfowler.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/daedtech.com\/reader-question-round-up-corporate-culture-code-quality-and-counter-offers\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Reader Question Round-Up: Corporate Culture, Code Quality and Counter Offers<\/strong><\/a> [<span style=\"color: #800000\">daedtech.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/henrikwarne.com\/2020\/01\/20\/more-good-programming-quotes-part-4\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; More Good Programming Quotes, Part 4<\/strong><\/a> [<span style=\"color: #800000\">h<\/span><span style=\"color: #800000\">enrikwarne.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"comics-8\"><strong>4. Comics<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"comics-8\"><\/div>\n<p>And my favorite Dilberts of the week:<\/p>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-01-19\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Master Engineer<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-01-18\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Poison Pill<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-01-04\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Wally Stopped Trying<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h2 data-id=\"pick-of-the-week-8\"><strong>5. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week-8\"><\/div>\n<h4><strong><a href=\"https:\/\/www.kalzumeus.com\/2009\/10\/04\/work-smarter-not-harder\/\">&gt;&gt; Work Less, Get More Done: Analytics For Maximizing Productivity<\/a> <\/strong>[<span style=\"color: #800000\">kalzumeus.com<\/span>]<\/h4>\n\n<p class=\"syndicated-attribution\"><figure class= \\\"wp-block-image alignnone \\\"><img src= \\\"http:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-content\/uploads\/2016\/05\/logo2-2.png\\\" alt=\\\"IT\u96fb\u8166\u88dc\u7fd2 java\u88dc\u7fd2 \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b, PHP\u88dc\u7fd2,CSS\u88dc\u7fd2,XML,Java\u88dc\u7fd2,MySQL\u88dc\u7fd2,graphic design\u88dc\u7fd2,\u4e2d\u5c0f\u5b78ICT\u88dc\u7fd2,\u4e00\u5c0d\u4e00\u79c1\u4eba\u88dc\u7fd2\u548cFreelance\u81ea\u7531\u5de5\u4f5c\u914d\u5c0d\u3002\\\"\/><figcaption>\u7acb\u523b\u8a3b\u518a\u53ca\u5831\u540d\u96fb\u8166\u88dc\u7fd2\u8ab2\u7a0b\u5427!<\/figcaption><\/figure>\r\n<\/br>Find A Teacher Form:\r\n<\/br>https:\/\/docs.google.com\/forms\/d\/1vREBnX5n262umf4wU5U2pyTwvk9O-JrAgblA-wH9GFQ\/viewform?edit_requested=true#responses\r\n<\/br><\/br>Email:\r\n<\/br>public1989two@gmail.com<br><br><br><br><br><br><br>\r\n<a href=www.itsec.hk style=color:#FFFFFF;>www.itsec.hk<\/a><br>\r\n<a href=\\\"www.itsec.vip\\\" style=color:#FFFFFF;>www.itsec.vip<\/a><br>\r\n<a href=\\\"www.itseceu.uk\\\" style=color:#FFFFFF;>www.itseceu.uk<\/a><br><\/p>","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>An intro to the Reactive programming support in several high-profile Spring projects, and several new releases are out for Spring Boot and Core.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-317\" title=\"Java Weekly, Issue 317\">&gt;&gt;&gt;<\/a><\/p>\n<\/div>","protected":false},"author":214,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"Java Weekly, Issue 317 - ITTeacherITFreelance.hk","description":"An intro to the Reactive programming support in several high-profile Spring projects, and several new releases are out for Spring Boot and Core.&nbsp; &gt;&gt;&"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/3403"}],"collection":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/214"}],"replies":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=3403"}],"version-history":[{"count":3,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/3403\/revisions"}],"predecessor-version":[{"id":4479,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/3403\/revisions\/4479"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=3403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=3403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=3403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}