{"id":82498,"date":"2019-02-13T04:29:45","date_gmt":"2019-02-12T20:29:45","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=49678"},"modified":"2019-02-16T16:29:45","modified_gmt":"2019-02-16T08:29:45","slug":"java-weekly-issue-268","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/02\/13\/java-weekly-issue-268\/","title":{"rendered":"Java Weekly, Issue 268"},"content":{"rendered":"<p><strong>Here we go\u2026<\/strong><\/p>\n<h2><strong>1. Spring and Java<\/strong><\/h2>\n<h4><a href=\"http:\/\/dolszewski.com\/spring\/spring-boot-application-properties-file\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Configuring Spring Boot with application.properties file<\/strong><\/a> [<span style=\"color: #993300;\">dolszewski.com<\/span>]<\/h4>\n<p>A comprehensive guide, including how to <strong>avoid common mistakes<\/strong> made by newbies and veterans alike.<\/p>\n<h4><a href=\"https:\/\/vladmihalcea.com\/best-way-call-stored-procedure-jpa-hibernate\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0The best way to call a stored procedure with JPA and Hibernate<\/strong><\/a> [<span style=\"color: #993300;\">vladmihalcea.com<\/span>]<\/h4>\n<p>A quick look at <strong>the open cursor trap that&#8217;s so easy to fall into<\/strong> that a feature request was opened specifically to avoid it!<\/p>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/02\/vert-x-kotlin-coroutines\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Vert.x Kotlin Coroutines<\/strong><\/a> [<span style=\"color: #993300;\">blog.codecentric.de<\/span>]<\/h4>\n<p>A brief write-up on how to use <strong>Kotlin coroutines for asynchronous callback composition<\/strong>. Very cool.<\/p>\n<h4><strong><a href=\"https:\/\/www.infoq.com\/articles\/CI-CD-Gitflow?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\">&gt;&gt;\u00a0Adopting CI\/CD in Your Java Project with the Gitflow Branching Model<\/a>\u00a0<\/strong>[<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<p>And a <strong>new twist on this popular Git branching model<\/strong>, centered around feature segregation on isolated branches.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/medium.com\/slalom-engineering\/clean-architecture-with-java-11-f78bba431041\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Clean Architecture with Java 11<\/strong><\/a> [<span style=\"color: #993300;\">medium.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/4comprehension.com\/a-new-jdk12-stream-api-collector-collectorsteeing\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0A New JDK12 Stream API Collector \u2013 Collectors#teeing<\/strong><\/a> [<span style=\"color: #993300;\">4comprehension.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.nurkiewicz.com\/2019\/02\/rxjava-vs-reactor.html\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0RxJava vs Reactor<\/strong><\/a> [<span style=\"color: #993300;\">nurkiewicz.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.jooq.org\/2019\/02\/11\/lesser-known-joo%CE%BB-features-useful-collectors\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Lesser Known jOO\u03bb Features: Useful Collectors<\/strong><\/a> [<span style=\"color: #993300;\">blog.jooq.org<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.petrikainulainen.net\/programming\/testing\/using-testproject-actions-in-our-test-classes\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Using TestProject Actions in Our Test Classes<\/strong><\/a> [<span style=\"color: #993300;\">petrikainulainen.net<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.excelsiorjet.com\/blog\/articles\/aot-compilation-of-spring-boot-behind-the-scenes\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0AOT Compilation of Spring Boot: Behind the Scenes<\/strong><\/a> [<span style=\"color: #993300;\">excelsiorjet.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.frankel.ch\/imperative-functional-programming\/1\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0From Imperative to Functional Programming using Arrow<\/strong><\/a> [<span style=\"color: #993300;\">blog.frankel.ch<\/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\/spring-pcc?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Scalable Smart Caching for Spring Developers<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/presentations\/spring-data-kotlin?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0What&#8217;s New in Spring Data<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/oauth-2-spring-security-5?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Securing OAuth 2.0 Resources in Spring Security 5<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/spring-tools-5-boot-2?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Getting Super Productive with Spring Tools 4 and Spring Boot 2<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/messaging-architecture-future?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Point-to-Point Messaging Architecture &#8211; The Reactive Endgame<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/techblog.bozho.net\/how-to-create-secure-software-dont-blink-talk\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0How to create secure software? Don\u2019t blink! [talk]<\/strong><\/a> [<span style=\"color: #993300;\">techblog.bozho.net<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/10-kubernetes?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0The 10 Kubernetes Commandments<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/data-driven-decision-making?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Data-Driven Decision Making<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/02\/08\/a-bootiful-podcast-dror-weiss\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0A Bootiful Podcast: Dror Weiss<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/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\/2019\/02\/13\/spring-framework-5-1-5-available-now\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Spring Framework 5.1.5 available now<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/02\/13\/spring-data-lovelace-sr5-released\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Spring Data Lovelace SR5 released<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2019\/02\/08\/spring-cloud-data-flow-1-7-4-and-skipper-1-1-4-released\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Spring Cloud Data Flow 1.7.4 and Skipper 1.1.4 Released<\/strong><\/a> [<span style=\"color: #993300;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/02\/apache-releases-netbeans-10.0?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Apache Releases NetBeans 10.0 Featuring Enhanced Support for JDK 11<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/02\/gcp-firestore-database-nosql-ga?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Google\u2019s Cloud-Native NoSQL Database Cloud Firestore Is Now Generally Available<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2019\/02\/platform9-kubernetes-vsphere?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Platform9 Releases Managed Kubernetes Service on VMWare vSphere<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2><strong>2. Technical and Musings<\/strong><\/h2>\n<h4><a href=\"https:\/\/www.infoq.com\/articles\/serverless-performance-cost?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt; 4 Techniques Serverless Platforms Use to Balance Performance and Cost<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<p>An in-depth look at how to deal with\u00a0<strong>one of the biggest challenges of FaaS: cold starts<\/strong>.<\/p>\n<h4><a href=\"https:\/\/blog.christianposta.com\/navigating-the-complex-waters-of-exposing-a-microservices-gateway-in-aws-eks\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Exposing microservices running in AWS EKS with a microservices\/API gateway like Solo Gloo<\/strong><\/a> [<span style=\"color: #993300;\">blog.christianposta.com<\/span>]<\/h4>\n<p>And a quick introduction to Gloo, an open-source <strong>API gateway for Amazon EKS with native Kubernetes support<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/articles\/test-automation-ai-ml?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Test Automation in the World of AI &amp; ML<\/strong><\/a> [<span style=\"color: #993300;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/andresalmiray.com\/hooking-gradle-build-scans-notifications-to-gitter\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Hooking Gradle build scans notifications to Gitter<\/strong><\/a> [<span style=\"color: #993300;\">andresalmiray.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/advancedweb.hu\/2019\/02\/12\/ansible\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Managing EC2 servers at scale: Ansible and RunCommand<\/strong><\/a> [<span style=\"color: #993300;\">advancedweb.hu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/prometheus-kubernetes-discovery\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Discover applications running on Kubernetes with Prometheus<\/strong><\/a> [<span style=\"color: #993300;\">blog.sebastian-daschner.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2019\/02\/how-to-identify-relevant-quality-attributes-in-software\/\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0How to identify relevant quality attributes in software<\/strong><\/a> [<span style=\"color: #993300;\">blog.codecentric.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/words.steveklabnik.com\/what-s-next-for-semver\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0What&#8217;s Next for SemVer<\/strong><\/a> [<span style=\"color: #993300;\">words.steveklabnik.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.schneier.com\/blog\/archives\/2019\/02\/blockchain_and_.html\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Blockchain and Trust<\/strong><\/a> [<span style=\"color: #993300;\">schneier.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2><strong>3. Comics<\/strong><\/h2>\n<p>And my favorite Dilberts of the week:<\/p>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-02-13\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Lower the Price<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-02-09\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Social Media Mind Control<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2019-02-08\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Forming Your Own Opinions<\/strong><\/a> [<span style=\"color: #993300;\">dilbert.com<\/span>]<\/h4>\n<h2><strong>4. Pick of the Week<\/strong><\/h2>\n<p>Last week, I announced my first new course in over 2 years &#8211; <em>Learn Spring<\/em>.<\/p>\n<p>The announcement period ends on the 22nd, so if you&#8217;re working with Spring, definitely have a look at the course before next Friday:<\/p>\n<h3><strong><a href=\"https:\/\/www.baeldung.com\/learn-spring-course\">&gt;&gt; <em>Learn Spring<\/em><\/a><\/strong><\/h3>\n<p><span style=\"font-weight: 400;\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>An in-depth look at Spring Boot configuration with application.properties, and several strategies for dealing with FaaS cold starts.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-268\" title=\"Java Weekly, Issue 268\">&gt;&gt;&gt;<\/a> <a href=\"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/2019\/02\/13\/java-weekly-issue-268\/\">\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":true,"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-lsC","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/82498"}],"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=82498"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/82498\/revisions"}],"predecessor-version":[{"id":82552,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/posts\/82498\/revisions\/82552"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/media?parent=82498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/categories?post=82498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-json\/wp\/v2\/tags?post=82498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}