{"id":3405,"date":"2020-01-17T06:46:21","date_gmt":"2020-01-17T06:46:21","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=70077"},"modified":"2020-01-17T06:46:21","modified_gmt":"2020-01-17T06:46:21","slug":"java-weekly-issue-316","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2020\/01\/17\/java-weekly-issue-316\/","title":{"rendered":"Java Weekly, Issue 316"},"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-9\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java-9\"><\/div>\n<h4><a href=\"https:\/\/www.infoq.com\/articles\/kotlin-coroutines-bottom-up\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; A Bottom-Up View of Kotlin Coroutines<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<p>A peek under-the-hood at coroutines \u2013 a feature not natively supported by the JVM \u2013 and how they work in Kotlin.<\/p>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2020\/01\/rfc-7807-problem-details-with-spring-boot-and-jax-rs\/\"><strong>&gt;&gt; RFC-7807 problem details with Spring Boot and JAX-RS<\/strong><\/a> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/h4>\n<p>A great overview of this IETF standard for <strong>communicating problems and errors to API clients<\/strong>.<\/p>\n<h4><a href=\"https:\/\/thoughts-on-java.org\/key-jpa-hibernate-annotations\/\"><strong>&gt;&gt; Key annotations you need to know when working with JPA and Hibernate<\/strong><\/a> [<span style=\"color: #800000\">thoughts-on-java.org<\/span>]<\/h4>\n<p>An excellent primer for newbies, and a nice review for the more experienced JPA connoisseur.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2020\/01\/deep-java-library\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Deep Java Library: New Deep Learning Toolkit for Java Developers<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/mail.openjdk.java.net\/pipermail\/amber-spec-experts\/2020-January\/001904.html\"><strong>&gt;&gt; Towards cleaner nesting<\/strong><\/a> [<span style=\"color: #800000\">mail.openjdk.java.net<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/advancedweb.hu\/using-external-libraries-in-jshell\/\"><strong>&gt;&gt; Using external libraries in JShell<\/strong><\/a> [<span style=\"color: #800000\">advancedweb.hu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/vladmihalcea.com\/hibernate-resulttransformer\/\"><strong>&gt;&gt; The best way to use a Hibernate ResultTransformer<\/strong><\/a> [<span style=\"color: #800000\">vladmihalcea.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/alidg.me\/blog\/2020\/1\/11\/lock-striping\"><strong>&gt;&gt; Lock Striping<\/strong><\/a> [<span style=\"color: #800000\">alidg.me<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/vanwilgenburg.wordpress.com\/2020\/01\/09\/connectableflux-with-elasticsearch\/\"><strong>&gt;&gt; Using a ConnectableFlux to do background batching on elasticsearch<\/strong><\/a> [<span style=\"color: #800000\">vanwilgenburg.com<\/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\/10\/a-bootiful-podcast-pivotal-labs-sydney-director-david-julia\"><strong>&gt;&gt; A Bootiful Podcast: Pivotal Labs Sydney director David Julia<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/java-deployment-features\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Keeping Up with Java: Look at All These New Features!<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/kotlin-spring-boot\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Write Less Code with Kotlin and Spring Boot<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/spring-hateoas-1\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Spring HATEOAS: Hypermedia APIs with<\/strong> Spring<\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/spinnaker-spring\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Cutting-edge Continuous Delivery: Automated Canary Analysis Through Spring-based Spinnaker<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/efficient-testing-video-course\"><strong>&gt;&gt; Video course on efficient enterprise testing<\/strong><\/a> [<span style=\"color: #800000\">blog.sebastian-daschner.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\/08\/spring-security-5-3-0-m1-released\"><strong>&gt;&gt; Spring Security 5.3.0.M1 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\/10\/spring-integration-aws-2-3-1-spring-cloud-stream-kinesis-binder-2-0-1-available\"><strong>&gt;&gt; Spring Integration AWS 2.3.1 &#038; Spring Cloud Stream Kinesis Binder 2.0.1 Available<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"technical-9\"><strong>2. Technical<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-9\"><\/div>\n<h4><a href=\"https:\/\/advancedweb.hu\/how-to-solve-cors-problems-when-redirecting-to-s3-signed-urls\/\"><strong>&gt;&gt; How to solve CORS problems when redirecting to S3 signed URLs<\/strong><\/a> [<span style=\"color: #800000\">advancedweb.hu<\/span>]<\/h4>\n<p>A guide to the headers and HTTP status codes to use in this scenario.<\/p>\n<h4><a href=\"https:\/\/blog.christianposta.com\/microservices\/istio-as-an-example-of-when-not-to-do-microservices\/\"><strong>&gt;&gt; Istio as an Example of When Not to Do Microservices<\/strong><\/a> [<span style=\"color: #800000\">blog.christianposta.com<\/span>]<\/h4>\n<p>A case study of a failed microservices architecture \u2014 and <strong>why a monolith was ultimately the better solution<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/01\/09\/git-rebasing.html\"><strong>&gt;&gt; Git rebasing: What is it and how can you use it?<\/strong><\/a> [<span style=\"color: #800000\">blog.scottlogic.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.frankel.ch\/inserting-new-commit-git-history\/\"><strong>&gt;&gt; Inserting a new commit in the Git history<\/strong><\/a> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/blog.code-cop.org\/2020\/01\/graphml-charting-module-dependencies.html\"><strong>&gt;&gt; Visualising Architecture: GraphML Charting Module Dependencies<\/strong><\/a> [<span style=\"color: #800000\">abdullin.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"musings-9\"><strong>3. Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"musings-9\"><\/div>\n<h4><strong><a href=\"https:\/\/techblog.bozho.net\/solving-problems-properly-is-often-not-viable\/\">&gt;&gt; Solving Problems Properly Is Often Not Viable<\/a><\/strong> [<span style=\"color: #800000\">techblog.bozho.net<\/span>]<\/h4>\n<p>An interesting look at the market forces that preclude rewrites of poorly-designed systems.<\/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\"><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<\/ul>\n<h2 data-id=\"comics-9\"><strong>4. Comics<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"comics-9\"><\/div>\n<p>And my favorite Dilberts of the week:<\/p>\n<h4><strong><a href=\"https:\/\/dilbert.com\/strip\/2020-01-09\">&gt;&gt; Mind Reading<\/a><\/strong> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><strong><a href=\"https:\/\/dilbert.com\/strip\/2020-01-11\">&gt;&gt; Old Strategy<\/a><\/strong> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><strong><a href=\"https:\/\/dilbert.com\/strip\/2020-01-13\">&gt;&gt; Smarter Than An Engineer<\/a><\/strong> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h2 data-id=\"pick-of-the-week-9\"><strong>5. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week-9\"><\/div>\n<h4><strong><a href=\"https:\/\/randsinrepose.com\/archives\/one-thing\/\">&gt;&gt; One Thing<\/a> <\/strong>[<span style=\"color: #993300\">randsinrepose.com<\/span>]<\/h4>\n<p><span style=\"font-weight: 400\"><\/span><span style=\"font-weight: 400\"><br \/>\n<\/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>A deep dive into coroutines in Kotlin, and a guide to the RFC-7807 standard for communicating API problems to client applications.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-316\" title=\"Java Weekly, Issue 316\">&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 316 - ITTeacherITFreelance.hk","description":"A deep dive into coroutines in Kotlin, and a guide to the RFC-7807 standard for communicating API problems to client applications.&nbsp; &gt;&gt;&gt;"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/3405"}],"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=3405"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/3405\/revisions"}],"predecessor-version":[{"id":3865,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/3405\/revisions\/3865"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=3405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=3405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=3405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}