{"id":157735,"date":"2019-08-23T14:06:45","date_gmt":"2019-08-23T06:06:45","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=58215"},"modified":"2019-08-23T14:06:45","modified_gmt":"2019-08-23T06:06:45","slug":"java-weekly-issue-295","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/08\/23\/java-weekly-issue-295\/","title":{"rendered":"Java Weekly, Issue 295"},"content":{"rendered":"<p><strong>Here we go\u2026<\/strong><\/p>\n<h2><strong>1. Spring and Java<\/strong><\/h2>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/08\/16\/securing-services-with-spring-cloud-gateway\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Securing Services with Spring Cloud Gateway<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<p>As the series continues, we see how to secure services <strong>using the Token Relay pattern with OAuth2<\/strong>.<\/p>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/08\/spring-boot-heroku-docker-jdk11\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Boot on Heroku with Docker, JDK 11 &amp; Maven 3.5.x<\/strong><\/a> [<span style=\"color: #993300;\">blog.codecentric.de<\/span>]<\/h4>\n<p>It&#8217;s Docker to the rescue for cases <strong>where you can&#8217;t build your app using predefined Heroku buildpacks<\/strong>. Very cool!<\/p>\n<h4><a href=\"https:\/\/blog.frankel.ch\/exercises-programming-style\/15\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Exercises in Programming Style: spreadsheets<\/strong><\/a> [<span style=\"color: #993300;\">blog.frankel.ch<\/span>]<\/h4>\n<p>And a neat <strong>exercise using Kotlin<\/strong> to model the familiar word frequencies problem as a spreadsheet, complete with immutability and a dash of tail-recursion to boost performance.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blog.codefx.org\/java\/the-jpms-maturity-model\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; The JPMS Maturity Model<\/strong><\/a> [<span style=\"color: #993300;\">blog.codefx.org<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/blog.tremblay.pro\/2019\/08\/map.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Map best practices<\/strong><\/a> [<span style=\"color: #993300;\">blog.tremblay.pro<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/marxsoftware.blogspot.com\/2019\/08\/java-record-draft-specification.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; java.lang.Record: Draft Specification<\/strong><\/a> [<span style=\"color: #993300;\">marxsoftware.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/info.michael-simons.eu\/2019\/08\/15\/spring-security-5-1-upgrade-rehash-stored-passwords\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Security 5.1: Upgrade \/ Rehash Stored Passwords<\/strong><\/a> [<span style=\"color: #993300;\">info.michael-simons.eu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.tomitribe.com\/blog\/how-to-create-a-microservice-with-eclipse-microprofile-and-apache-tomee\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; How to create a microservice with Eclipse MicroProfile and Apache TomEE<\/strong><\/a> [<span style=\"color: #993300;\">tomitribe.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/08\/jcp-20th-anniversary\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=Java\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Heather VanCura, Director of the JCP, Speaks to InfoQ on the JCP 20th Anniversary<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h4><strong>Webinars and presentations:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/serverless-java-sao-paulo-2019\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Serverless Java<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/08\/16\/a-bootiful-podcast-brian-clozel\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; A Bootiful Podcast: Brian Clozel<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/openliberty-plugin-dev-mode\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Minimize turnaround times with Open Liberty\u2019s dev mode<\/strong><\/a> [<span style=\"color: #993300;\">blog.sebastian-daschner.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h4><strong>Time to upgrade:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/08\/14\/spring-boot-for-apache-geode-pivotal-gemfire-1-1-0-rc2-released\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Boot for Apache Geode &amp; Pivotal GemFire 1.1.0.RC2 Released!<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/08\/14\/spring-session-for-apache-geode-pivotal-gemfire-2-1-5-release-2-2-0-m3-available\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Session for Apache Geode &amp; Pivotal GemFire 2.1.5.RELEASE &amp; 2.2.0.M3 Available!<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/github.blog\/2019-08-16-highlights-from-git-2-23\/\"><strong>&gt;&gt; Highlights from Git 2.23<\/strong><\/a> [<span style=\"color: #993300;\">github.blog<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2><strong>2. Technical and Musing<\/strong><\/h2>\n<h4><a href=\"http:\/\/blog.code-cop.org\/2019\/08\/y-u-no-tdd.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Y U NO TDD<\/strong><\/a> [<span style=\"color: #993300;\">blog.code-cop.org<\/span>]<\/h4>\n<p>An interesting <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\">collection<\/a> of <strong>quotes from developers as to why they aren&#8217;t doing Test Driven Development<\/strong>.<\/p>\n<h4><a href=\"https:\/\/bravenewgeek.com\/serverless-on-gcp\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Serverless on GCP<\/strong><\/a>\u00a0[<span style=\"color: #993300;\">bravenewgeek.com<\/span>]<\/h4>\n<p>And a good write-up on the benefits of going serverless, as well as <strong>what kinds of applications are most (and least) suited for it<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/huyenchip.com\/2019\/08\/21\/glassdoor-interview-reviews-tech-hiring-cultures.html\"><strong>&gt;&gt; What Glassdoor interview reviews reveal about tech hiring cultures<\/strong><\/a><strong>\u00a0<\/strong>[<span style=\"color: #993300;\">huyenchip.com<\/span>]<\/li>\n<li>\n<h4><a href=\"https:\/\/advancedweb.hu\/2019\/08\/20\/sqs_cli\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; How to use the AWS SQS CLI to receive messages<\/strong><\/a> [<span style=\"color: #993300;\">advancedweb.hu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/daedtech.com\/celebrating-software-as-a-tactic-not-a-profession\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Celebrating Software as a Tactic, Not a Profession<\/strong><\/a> [<span style=\"color: #993300;\">daedtech.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2><strong>3. Comics<\/strong><\/h2>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-08-17\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Boss Wants to Emulate Steve Jobs<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-08-18\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Tina Likes to Hum<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-08-19\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Wally Is New Pet Employee<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h2><strong>4. Pick of the Week<\/strong><\/h2>\n<p>A few months ago, <strong><a href=\"https:\/\/www.baeldung.com\/codota-article\">I discovered Codota<\/a> <\/strong>\u2013 a coding assistant I&#8217;ve been using ever since.<\/p>\n<p>I recorded a <a href=\"https:\/\/youtu.be\/T_wTs95wsl4\">quick video<\/a> focused on how to use it as you&#8217;re coding, and the response was quite positive &#8211; which is always encouraging to see.<\/p>\n<p>The simplest way to get started is just to install it and have it running in the background, in your IDE &#8211; as you\u2019re coding normally.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A guide to creating secure services using Spring Cloud Gateway, and a cool presentation on Serverless Java.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-295\" title=\"Java Weekly, Issue 295\">&gt;&gt;&gt;<\/a> <a href=\"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/08\/23\/java-weekly-issue-295\/\">\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-F27","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/157735"}],"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=157735"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/157735\/revisions"}],"predecessor-version":[{"id":158832,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/157735\/revisions\/158832"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/media?parent=157735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/categories?post=157735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/tags?post=157735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}