{"id":44987,"date":"2020-07-30T03:05:17","date_gmt":"2020-07-30T03:05:17","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=84148"},"modified":"2020-07-30T03:05:17","modified_gmt":"2020-07-30T03:05:17","slug":"java-weekly-issue-344","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2020\/07\/30\/java-weekly-issue-344\/","title":{"rendered":"Java Weekly, Issue 344"},"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\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java\"><\/div>\n<h4><a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/amber-spec-experts\/2020-July\/002253.html\"><strong>&gt;&gt; Finalizing Records and Pattern Matching in Java 16<\/strong><\/a>\u00a0[<span style=\"color: #800000\">mail.openjdk.java.net<\/span>]<\/h4>\n<p>Exciting news! There are plans to roll out the final version of <strong>Pattern Matching for <em>instanceof<\/em> and Records in Java 16.<\/strong><\/p>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2020\/07\/openjdk-github-migration\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; OpenJDK Migrates to Github<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<p>Ready to browse and even contribute to <strong>OpenJDK and HotSpot JVM code on GitHub<\/strong>?<\/p>\n<p>One more thing to get excited about in Java 16 &#8211; the OpenJDK will be available on GitHub!<\/p>\n<h4><a href=\"https:\/\/developer.okta.com\/blog\/2020\/07\/23\/introducing-jpaseto\"><strong>&gt;&gt; Introducing JPaseto: Security Tokens For Java<\/strong><\/a> [<span style=\"color: #800000\">developer.okta.com<\/span>]<\/h4>\n<p>Meet JPaseto, a new alternative to JWT.<\/p>\n<p>An interesting potential improvement upon the JWT design, by being <strong>more secure, cryptographically resilient, and of course easier to use<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blog.jooq.org\/2020\/07\/22\/could-we-have-a-language-that-hides-collections-from-us\/\"><strong>&gt;&gt; Could we Have a Language That Hides Collections From Us?<\/strong><\/a> [<span style=\"color: #800000\">blog.jooq.org<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/www.java-allandsundry.com\/2020\/07\/backpressure-in-project-reactor.html\"><strong>&gt;&gt; Backpressure in Project Reactor<\/strong><\/a> [<span style=\"color: #800000\">java-allandsundry.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/reflectoring.io\/spring-boot-kafka\/\"><strong>&gt;&gt; Using Kafka with Spring Boot<\/strong><\/a> [<span style=\"color: #800000\">reflectoring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/rieckpil.de\/write-integration-tests-for-your-spring-websocket-endpoints\/\"><strong>&gt;&gt; Write integration tests for your Spring WebSocket endpoints<\/strong><\/a> [<span style=\"color: #800000\">rieckpil.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/07\/27\/creating-a-supplier-function-and-generating-spring-cloud-stream-source\"><strong>&gt;&gt; Creating a Supplier Function and generating Spring Cloud Stream Source<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.frankel.ch\/sorting-bug\/\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; A sorting bug<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/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\/07\/24\/a-bootiful-podcast-spring-data-lead-mark-paluch-on-all-things-reactive-and-data-r2dbc-transactions-etc\"><strong>&gt;&gt; A Bootiful Podcast: Spring Data lead Mark Paluch on all things reactive and data: R2DBC, transactions, etc.<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.infoq.com\/presentations\/spring-framework-5-2\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\">&gt;&gt; Spring Framework 5.2: Core Container Revisited<\/a><\/strong> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/pks-jak8sp\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; PKS Is Not JAK8SP (Just Another Kubernetes Platform)<\/strong><\/a> [<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\/07\/24\/spring-boot-2-3-2-available-now\"><strong>&gt;&gt; Spring Boot 2.3.2, 2.2.9, and 2.1.16 are available now<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/07\/21\/spring-framework-5-2-8-5-1-17-5-0-18-and-4-3-28-available-now\"><strong>&gt;&gt; Spring Framework 5.2.8, 5.1.17, 5.0.18, and 4.3.28 available now<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/07\/22\/spring-integration-4-3-23-5-1-12-5-2-8-5-3-2-available-cve-2020-5413\"><strong>&gt;&gt; Spring Integration 4.3.23, 5.1.12, 5.2.8 &#038; 5.3.2 available; CVE-2020-5413<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/07\/22\/spring-data-neumann-sr2-moore-sr9-and-lovelace-sr19-available-now\"><strong>&gt;&gt; Spring Data Neumann SR2, Moore SR9, and Lovelace SR19 available now<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/in.relation.to\/2020\/07\/27\/hibernate-orm-5419-final-release\/\"><strong>&gt;&gt; Hibernate ORM 5.4.19.Final released<\/strong><\/a> [<span style=\"color: #800000\">in.relation.to<\/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:\/\/reflectoring.io\/aws-localstack\/\"><strong>&gt;&gt; Local Development with AWS on LocalStack<\/strong><\/a> [<span style=\"color: #800000\">reflectoring.io<\/span>]<\/h4>\n<p>A practical guide on how to <strong>mock different AWS services during development using LocalStack\u00a0<\/strong>including CLI commands integration, JUnit extensions, and last but certainly not least, Spring Boot Integration.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/henrikwarne.com\/2020\/07\/23\/good-logging\/\"><strong>&gt;&gt; Good Logging<\/strong><\/a> [<span style=\"color: #800000\">henrikwarne.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.mscharhag.com\/api-design\/rest-one-to-many-relations\"><strong>&gt;&gt; REST: Managing One-To-Many relations<\/strong><\/a> [<span style=\"color: #800000\">mscharhag.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2020\/07\/debugging-kubernetes-network-policies-with-ephemeral-containers\/\"><strong>&gt;&gt; Debugging Kubernetes Network Policies with Ephemeral Containers<\/strong><\/a> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/presentations-with-vim\"><strong>&gt;&gt; Creating presentations with VIM (Video)<\/strong><\/a> [<span style=\"color: #800000\">blog.sebastian-daschner.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:\/\/blog.scottlogic.com\/2020\/07\/21\/7-tips-for-transforming-testing.html\"><strong>&gt;&gt; 7 tips for transforming testing<\/strong><\/a> [<span style=\"color: #800000\">blog.scottlogic.com<\/span>]<\/h4>\n<p>A collection of best practices to follow to\u00a0<strong>implement an effective testing strategy.<\/strong><\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/articles\/app-modernization-opportunity\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; The Opportunity in App Modernization<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/07\/22\/web-or-desktop.html\"><strong>&gt;&gt; Web app or desktop app? Considering user needs in technical discussions<\/strong><\/a> [<span style=\"color: #800000\">blog.scottlogic.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/daedtech.com\/an-introduction-to-profitable-business-models-for-recovering-hours-peddlers\/\"><strong>&gt;&gt; An Introduction to Profitable Business Models for Recovering Hours Peddlers<\/strong><\/a> [<span style=\"color: #800000\">daedtech.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/advancedweb.hu\/generating-a-crossfaded-slideshow-video-from-images-with-ffmpeg-and-melt\/\"><strong>&gt;&gt; Generating a crossfaded slideshow video from images with ffmpeg and melt<\/strong><\/a> [<span style=\"color: #800000\">advancedweb.hu<\/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<p><a href=\"https:\/\/dilbert.com\/strip\/2020-07-24\"><strong>&gt;&gt;\u00a0Reasonable\u00a0Assumptions<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2020-07-27\"><strong>&gt;&gt;\u00a0No Raise in Years<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2020-07-28\"><strong>&gt;&gt;\u00a0Deep\u00a0Disrespect for\u00a0Authority<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\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<p>I&#8217;ll pick DataDog this week &#8211; and I&#8217;ll focus in on their solid logging support &#8211; as that&#8217;s the main aspect of the platform I&#8217;m using right now:<\/p>\n<h4><strong><a href=\"https:\/\/www.baeldung.com\/datadog-log-new\">&gt;&gt; Explore an easy-to-use, cost-effective log management solution from Datadog<\/a><\/strong><\/h4>\n<p>Simply put \u2013 a really solid and mature end-to-end way to monitor your application, with full support for pretty much anything Java.<\/p>\n<p><strong><a href=\"https:\/\/www.baeldung.com\/datadog-log-new\">You can use their trial here<\/a><\/strong><\/p>\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>Java is moving so fast! Java 15 is about to be released and we have two exciting news about Java 16. Also, some interesting topics on Security and Cloud.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-344\" title=\"Java Weekly, Issue 344\">&gt;&gt;&gt;<\/a><\/p>\n<\/div>","protected":false},"author":214,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"Java Weekly, Issue 344 - ITTeacherITFreelance.hk","description":"Java is moving so fast! Java 15 is about to be released and we have two exciting news about Java 16. Also, some interesting topics on Security and Cloud.&nbsp;"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/44987"}],"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=44987"}],"version-history":[{"count":5,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/44987\/revisions"}],"predecessor-version":[{"id":56873,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/44987\/revisions\/56873"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=44987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=44987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=44987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}