{"id":170182,"date":"2019-10-25T16:54:21","date_gmt":"2019-10-25T08:54:21","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=62505"},"modified":"2019-10-25T16:54:21","modified_gmt":"2019-10-25T08:54:21","slug":"java-weekly-issue-304","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/10\/25\/java-weekly-issue-304\/","title":{"rendered":"Java Weekly, Issue 304"},"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:\/\/www.infoq.com\/articles\/inline-classes-java\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; A First Look at Java Inline Classes <\/strong><\/a>[<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<p>A deep dive into the LW2 prototype for inline <a href=\"http:\/\/itteacheritfreelance.hk\/index.php\" title=\"\u672c\u7db1\u9801\u63d0\u4f9b\u4e00\u500b\u65b9\u4fbf\u7684\u5e73\u53f0, \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b , PHP\u88dc\u7fd2, HTML\u88dc\u7fd2, CSS\u88dc\u7fd2, JavaScript\u88dc\u7fd2, XML, Java\u88dc\u7fd2,Server\u88dc\u7fd2, MySQL\u88dc\u7fd2, \u4e2d\u5b78\u96fb\u8166\u79d1\u79c1\u4eba\u88dc\u7fd2, \u5728\u8077\u4eba\u58eb\u96fb\u8166\u63d0\u5347\u88dc\u7fd2,\u5c08\u696d\u8003\u8a66\u96fb\u8166 \u88dc\u7fd2,\u96fb\u8166\u5716\u50cf\u8a2d\u8a08\u96fb\u8166\u88dc\u7fd2, gra\">class<\/a>es from Project Valhalla.<\/p>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/10\/17\/spring-cloud-stream-functional-and-reactive\"><strong>&gt;&gt; Spring Cloud Stream &#8211; functional and reactive<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<p>A nice summary of the core features <strong>combining Spring Cloud Function with Project Reactor&#8217;s stream abstractions<\/strong>.<\/p>\n<h4><strong><a href=\"https:\/\/blog.jooq.org\/2019\/10\/16\/how-to-simulate-a-liquibase-migration-using-h2\/\">&gt;&gt; How to Simulate a Liquibase Migration using H2<\/a><\/strong> [<span style=\"color: #800000\">blog.jooq.org<\/span>]<\/h4>\n<p>And a good write-up on jOOQ&#8217;s upcoming <strong>embrace of Liquibase, starting with jOOQ 3.13<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/medium.com\/@TimvanBaarsen\/whats-new-in-spring-boot-2-2-dab550f664bb\"><strong>&gt;&gt; What\u2019s new in Spring Boot 2.2?<\/strong><\/a> [<span style=\"color: #800000\">medium.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/10\/22\/the-reactive-revolution-at-springone-platform-2019-part-2-n\"><strong>&gt;&gt; The Reactive Revolution at SpringOne Platform 2019 (part 2\/N)<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/seroter.wordpress.com\/2019\/10\/16\/fronting-web-sites-a-classic-net-app-and-a-serverless-function-with-spring-cloud-gateway\/\"><strong>&gt;&gt; Fronting web sites, a <a href=\"http:\/\/itteacheritfreelance.hk\/index.php\" title=\"\u672c\u7db1\u9801\u63d0\u4f9b\u4e00\u500b\u65b9\u4fbf\u7684\u5e73\u53f0, \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b , PHP\u88dc\u7fd2, HTML\u88dc\u7fd2, CSS\u88dc\u7fd2, JavaScript\u88dc\u7fd2, XML, Java\u88dc\u7fd2,Server\u88dc\u7fd2, MySQL\u88dc\u7fd2, \u4e2d\u5b78\u96fb\u8166\u79d1\u79c1\u4eba\u88dc\u7fd2, \u5728\u8077\u4eba\u58eb\u96fb\u8166\u63d0\u5347\u88dc\u7fd2,\u5c08\u696d\u8003\u8a66\u96fb\u8166 \u88dc\u7fd2,\u96fb\u8166\u5716\u50cf\u8a2d\u8a08\u96fb\u8166\u88dc\u7fd2, gra\">class<\/a>ic .NET app, and a serverless function with Spring Cloud Gateway<\/strong><\/a> [<span style=\"color: #800000\">seroter.wordpress.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/aws.amazon.com\/blogs\/opensource\/amazon-joins-the-java-community-process-jcp\/\"><strong>&gt;&gt; Amazon joins the Java Community Process (JCP)<\/strong><\/a> [<span style=\"color: #800000\">aws.amazon.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/10\/18\/a-bootiful-podcast-bytebuddy-founder-rafael-winterhalter\">&gt;&gt; A Bootiful Podcast: Bytebuddy founder Rafael Winterhalter<\/a><\/strong> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.youtube.com\/watch?v=oTTfaynD1Xc\">&gt;&gt; Event Driven with Spring<\/a><\/strong> [<span style=\"color: #800000\">youtube.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.youtube.com\/watch?v=mINNQ3zpRrE\">&gt;&gt; How to Live in a Post-Spring Cloud Netflix World<\/a><\/strong> [<span style=\"color: #800000\">youtube.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.youtube.com\/watch?v=Lse51SpfKHo\">&gt;&gt; Fully Reactive: Spring, Kotlin, and JavaFX Playing Together<\/a><\/strong> [<span style=\"color: #800000\">youtube.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.youtube.com\/watch?v=jwdhZcCOock\">&gt;&gt; What\u2019s New in Spring Data?<\/a><\/strong> [<span style=\"color: #800000\">youtube.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.youtube.com\/watch?v=GOSW911Ox6s\">&gt;&gt; Domain-Driven Design with Relational Databases Using Spring Data JDBC<\/a><\/strong> [<span style=\"color: #800000\">youtube.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.youtube.com\/watch?v=BHhp_1SGm64\">&gt;&gt; Better Than BASH: Scripting Kotlin<\/a><\/strong> [<span style=\"color: #800000\">youtube.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.youtube.com\/watch?v=Zyqpo8gxSO0\">&gt;&gt; Spring Data JPA from 0-100 in 60 minutes<\/a><\/strong> [<span style=\"color: #800000\">youtube.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.youtube.com\/watch?v=GAa54jXKbn4&#038;feature=youtu.be\">&gt;&gt; Brian Goetz: &#8220;Java &#8212; A Look Ahead&#8221; | Java At Google Summit 2019<\/a><\/strong> [<span style=\"color: #800000\">youtube.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/10\/17\/spring-security-oauth-2-3-7-2-2-6-2-1-6-2-0-19-released\">&gt;&gt; Spring Security OAuth 2.3.7, 2.2.6, 2.1.6, 2.0.19 Released<\/a><\/strong>\u00a0[<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/10\/22\/spring-boot-for-apache-geode-pivotal-gemfire-1-2-0-release-available\"><strong>&gt;&gt; Spring Boot for Apache Geode &#038; Pivotal GemFire 1.2.0.RELEASE Available<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/spring.io\/blog\/2019\/10\/18\/spring-session-for-apache-geode-pivotal-gemfire-2-2-0-release-available\">&gt;&gt; Spring Session for Apache Geode &#038; Pivotal GemFire 2.2.0.RELEASE Available<\/a><\/strong> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"technical-and-musings\"><strong>2. Technical and Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-and-musings\"><\/div>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/10\/sustainable-software-development\/\"><strong>&gt;&gt; Sustainable software development<\/strong><\/a> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/h4>\n<p>A theory for modeling sustainable software design and control that takes many complexities of the development process into account.<\/p>\n<h4><strong><a href=\"https:\/\/medium.com\/netflix-techblog\/open-sourcing-mantis-a-platform-for-building-cost-effective-realtime-operations-focused-5b8ff387813a\">&gt;&gt; Open Sourcing Mantis: A Platform For Building Cost-Effective, Realtime, Operations-Focused Applications<\/a><\/strong> [<span style=\"color: #800000\">medium.com<\/span>]<\/h4>\n<p>And a Netflix platform designed to help <strong>minimize or avoid downtime in distributed systems<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/advancedweb.hu\/2019\/10\/22\/lambda_local_environment\/\">&gt;&gt; How to reproduce a Lambda function&#8217;s environment variables locally<\/a> [<span style=\"color: #800000\">advancedweb.hu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/10\/rds-database-migration-with-lambda\/\"><strong>&gt;&gt; RDS database migration with Lambda<\/strong><\/a> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/medium.com\/netflix-techblog\/how-netflix-microservices-tackle-dataset-pub-sub-4a068adcc9a\">&gt;&gt; How Netflix microservices tackle dataset pub-sub<\/a><\/strong> [<span style=\"color: #800000\">medium.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/jacquesmattheij.com\/et-phone-home\/\">&gt;&gt; ET (Don&#8217;t) Phone Home<\/a><\/strong>\u00a0[<span style=\"color: #800000\">jacquesmattheij.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/blog.frankel.ch\/advices-junior-conference-speakers\/\">&gt;&gt; Advice for junior conference speakers<\/a><\/strong> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"comics\"><strong>3. 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\/2019-10-18\"><strong>&gt;&gt; Wally Has Skills<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-10-20\"><strong>&gt;&gt; Bad News I Can&#8217;t Tell You<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-10-24\"><strong>&gt;&gt; Project Update<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/h4>\n<h2 data-id=\"pick-of-the-week\"><strong>4. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week\"><\/div>\n<h4><strong><a href=\"https:\/\/martinfowler.com\/articles\/break-monolith-into-microservices.html\">&gt;&gt; How to break a Monolith into Microservices<\/a> <\/strong>[<span style=\"color: #993300\">martinfowler.com<\/span>]<\/h4>\n","protected":false},"excerpt":{"rendered":"<p>An under-the-hood look at Project Valhalla&#8217;s prototype for inline classes in Java, and an overview of Spring Cloud Stream&#8217;s functional and reactive support.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-304\" title=\"Java Weekly, Issue 304\">&gt;&gt;&gt;<\/a> <a href=\"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/10\/25\/java-weekly-issue-304\/\">\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":false,"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-IgS","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/170182"}],"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=170182"}],"version-history":[{"count":11,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/170182\/revisions"}],"predecessor-version":[{"id":208207,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/170182\/revisions\/208207"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/media?parent=170182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/categories?post=170182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/tags?post=170182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}