{"id":305714,"date":"2021-10-15T08:15:53","date_gmt":"2021-10-15T08:15:53","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=110832"},"modified":"2021-10-15T08:15:53","modified_gmt":"2021-10-15T08:15:53","slug":"java-weekly-issue-407","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2021\/10\/15\/java-weekly-issue-407\/","title":{"rendered":"Java Weekly, Issue 407"},"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<p><a href=\"https:\/\/blog.frankel.ch\/faster-maven-builds\/2\/\"  rel=\"noopener\"><strong>&gt;&gt; Faster Maven builds in Docker<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blog.frankel.ch<\/span>]<\/p>\n<p><strong>Faster Maven builds<\/strong> are always good. Especially when you have a repo that takes an hour and a half to build <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/72x72\/1f642.png\" alt=\"?\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/p>\n<p><a href=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/10\/Maven-build-time-of-our-repo-on-Jenkins.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-110992\" src=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/10\/Maven-build-time-of-our-repo-on-Jenkins.png\" alt=\"\" width=\"175\" height=\"164\" srcset=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/10\/Maven-build-time-of-our-repo-on-Jenkins.png 367w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/10\/Maven-build-time-of-our-repo-on-Jenkins-300x280.png 300w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/10\/Maven-build-time-of-our-repo-on-Jenkins-100x93.png 100w\" sizes=\"(max-width: 175px) 100vw, 175px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/thorben-janssen.com\/fetching-dtos-with-to-many-association\/\"  rel=\"noopener\"><strong>&gt;&gt; Fetching a DTO With a To-Many Association<\/strong><\/a> [<span style=\"color: #800000;\">thorben-janssen.com<\/span>]<\/p>\n<p>DTO Projections are definitely the way to go, <strong>instead of, at any point, returning entities<\/strong>. So, learning to use these is quite useful.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/10\/oracle-java-two-year-lts\/\"  rel=\"noopener\"><strong>&gt;&gt; Oracle Proposes Shorter Java LTS Cycle of Two Years<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/openjdk.java.net\/jeps\/408\">&gt;&gt; JEP 408: Simple Web Server<\/a> <\/strong>[<span style=\"color: #993300;\">openjdk.java.net<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/blog.jooq.org\/use-joo%CE%BBs-sneaky-throw-to-avoid-checked-exceptions\/\">&gt;&gt; Use jOO\u03bb\u2019s Sneaky Throw to Avoid Checked Exceptions<\/a> <\/strong>[<span style=\"color: #993300;\">jooq.org<\/span>]<\/li>\n<li><a href=\"https:\/\/vladmihalcea.com\/jpa-hibernate-second-level-cache\/\"  rel=\"noopener\"><strong>&gt;&gt; The JPA and Hibernate second-level cache<\/strong><\/a> [<span style=\"color: #800000;\">vladmihalcea.com<\/span>]<\/li>\n<li><a href=\"https:\/\/inside.java\/2021\/10\/12\/panama-scope-dependencies\/\"  rel=\"noopener\"><strong>&gt;&gt; Resource Scope Dependencies <\/strong><\/a>[<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/10\/07\/a-bootiful-podcast-heiko-scherrer-on-openwms-spring-spring-boot-spring-data-workflow-with-activiti-and-more\"  rel=\"noopener\"><strong>&gt;&gt; A Bootiful Podcast: Heiko Scherrer on OpenWMS, Spring, Spring Boot, Spring Data, workflow with Activiti, and more<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=FP0V98S4l9w\"  rel=\"noopener\"><strong>&gt;&gt; Learn Java 17 with IntelliJ IDEA<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">youtube.com<\/span>]<\/li>\n<li><a href=\"https:\/\/inside.java\/2021\/10\/11\/p99-g1-to-infinity-and-beyond\/\"  rel=\"noopener\"><strong>&gt;&gt; G1: To Infinity and Beyond<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<li><a href=\"https:\/\/inside.java\/2021\/10\/13\/devlive-loom\/\"  rel=\"noopener\"><strong>&gt;&gt; Modern, Scalable Concurrency for the Java Platform<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/10\/06\/spring-tips-spring-graphql\"  rel=\"noopener\"><strong>&gt;&gt; Spring Tips: Spring GraphQL<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/10\/13\/spring-tips-spring-plugin\"  rel=\"noopener\"><strong>&gt;&gt; Spring Tips: Spring Plugin<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/mockito\/mockito\/releases\/tag\/v4.0.0\"  rel=\"noopener\"><strong>&gt;&gt; Mockito 4.0 is released<\/strong><\/a> [<span style=\"color: #800000;\">github.com<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2021\/10\/intellij-idea-2021-3-eap-4\/\"  rel=\"noopener\"><strong>&gt;&gt; IntelliJ IDEA 2021.3 EAP 4: Remote Development, Groovy 4 Support, and More<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blog.jetbrains.com<\/span>]<\/li>\n<li><a href=\"https:\/\/in.relation.to\/2021\/10\/13\/hibernate-orm-560-final\/\"  rel=\"noopener\"><strong>&gt;&gt; Hibernate ORM 5.6.0.Final released<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">in.relation.to<\/span>]<\/li>\n<li><a href=\"https:\/\/in.relation.to\/2021\/10\/11\/orm-600-beta1\/\"  rel=\"noopener\"><strong>&gt;&gt; Hibernate ORM 6.0.0.Beta1 released<\/strong><\/a> [<span style=\"color: #800000;\">in.relation.to<\/span>]<\/li>\n<li><a href=\"https:\/\/www.jhipster.tech\/2021\/10\/08\/jhipster-release-7.3.0.html\"  rel=\"noopener\"><strong>&gt;&gt; JHipster release v7.3.0<\/strong><\/a> [<span style=\"color: #800000;\">jhipster.tech<\/span>]<\/li>\n<li><a href=\"https:\/\/in.relation.to\/2021\/10\/13\/hibernate-reactive-1_0_0_CR10\/\"><strong>&gt;&gt; Hibernate Reactive 1.0.0.CR10 released<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">in.relation.to<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"technical-amp-musings\"><strong>2. Technical &#038; Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-amp-musings\"><\/div>\n<p><a href=\"https:\/\/netflixtechblog.com\/safe-updates-of-client-applications-at-netflix-1d01c71a930c\"  rel=\"noopener\"><strong>&gt;&gt; Safe Updates of Client Applications at Netflix<\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.com<\/span>]<\/p>\n<p><strong>Learning how Netflix does things<\/strong> is, well, worth it. You do need to have the context of a large, mature project in mind, of course.<\/p>\n<p><a href=\"https:\/\/bravenewgeek.com\/sre-doesnt-scale\/\"  rel=\"noopener\"><strong>&gt;&gt; SRE Doesn\u2019t Scale<\/strong><\/a> [<span style=\"color: #800000;\">bravenewgeek.com<\/span>]<\/p>\n<p>Like my previous note about Netflix, this applies to larger orgs, but it&#8217;s still a very interesting read, regardless of your org size.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><strong><a href=\"https:\/\/www.mscharhag.com\/api-design\/media-types-content-type-header\">&gt;&gt; Media types and the Content-Type header<\/a> <\/strong>[<span style=\"color: #993300;\">mscharhag.com<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.scottlogic.com\/2021\/10\/11\/vpcs-aws.html\"  rel=\"noopener\"><strong>&gt;&gt; How VPCs help with security and compliance on your AWS networks<\/strong><\/a> [<span style=\"color: #800000;\">blog.scottlogic.com<\/span>]<\/li>\n<li><a href=\"https:\/\/arnoldgalovics.com\/the-test-coverage-trap\/\"  rel=\"noopener\"><strong>&gt;&gt; The Test Coverage Trap<\/strong><\/a> [<span style=\"color: #800000;\">arnoldgalovics.com<\/span>]<\/li>\n<li><a href=\"https:\/\/kubernetes.io\/blog\/2021\/10\/08\/capi-clusterclass-and-managed-topologies\/\"  rel=\"noopener\"><strong>&gt;&gt; Introducing ClusterClass and Managed Topologies in Cluster API<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">kubernetes.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/10\/paypal-graphql\/\"  rel=\"noopener\"><strong>&gt;&gt; PayPal Adopts GraphQL: Gains Increased Developer Productivity<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/netflixtechblog.com\/interpreting-a-b-test-results-false-positives-and-statistical-significance-c1522d0db27a\"  rel=\"noopener\"><strong>&gt;&gt; Interpreting A\/B test results: false positives and statistical significance<\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.com<\/span>]<\/li>\n<li><a href=\"https:\/\/martinfowler.com\/articles\/2021-responsible-tech-playbook.html\"  rel=\"noopener\"><strong>&gt;&gt; Responsible Tech Playbook<\/strong><\/a> [<span style=\"color: #800000;\">martinfowler.com<\/span>]<\/li>\n<li><a href=\"https:\/\/netflixtechblog.medium.com\/cambi-a-banding-artifact-detector-96777ae12fe2\"  rel=\"noopener\"><strong>&gt;&gt; CAMBI, a banding artifact detector<\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.medium.com<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"pick-of-the-week\"><strong>3. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week\"><\/div>\n<p>I sent out an email about Datadog earlier in the week, and I wanted to highlight one of the cool core aspects of their platform here as well &#8211; <strong>logging, and the deep integration with APM<\/strong>:<\/p>\n<p><strong><a href=\"https:\/\/www.datadoghq.com\/dg\/logs\/benefits\/?utm_source=Advertisement&#038;utm_medium=Advertisement&#038;utm_campaign=JavaWeekly-LogsDirectSend\">&gt;&gt; Logging and APM over at Datadog<\/a> <\/strong>[<span style=\"color: #993300;\">datadoghq.com<\/span>]<\/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>Faster Maven builds (always good), how SREs scale in an org, and a cool Datadog feature. A solid week overall.\u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-407\" title=\"Java Weekly, Issue 407\" class=\"more\">&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 407 - ITTeacherITFreelance.hk","description":"Faster Maven builds (always good), how SREs scale in an org, and a cool Datadog feature. A solid week overall.\u00a0 &gt;&gt;&gt;"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/305714"}],"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=305714"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/305714\/revisions"}],"predecessor-version":[{"id":305834,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/305714\/revisions\/305834"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=305714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=305714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=305714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}