Skip to content

Instantly share code, notes, and snippets.

{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"enable": true,
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"enable": true,

Questions to discuss within a team

  • Why do you need it? What problem you are solving? Is it right tool for the job? Why it is worth it? (Wrong answers: sexiness, just trying new things)
  • Will it help to deliver project faster or make it more maintainable or with better quality? 
  • Why you cannot solve it using existing stack?
  • How popular it is? Is it backed by big companies? Is it easy to find people using that? How many questions on stack overflow? How many people has it in CV on LinkedIn? etc.
  • If you want to use it because of better performance. Do you really need that performance? Can you show the data that it can confirm better performance?
  • How mature is it?
  • Is there someone else in a Company using it - how does their use case and findings compare to your use case?
  • Is it easy to find help? Or you will be learning it by your own?
  • Is There A Learning Curve? Is it easy to learn? Is your team able to specify lerning curve?
By default, HttpClient participates in the global Reactor Netty resources held in reactor.netty.http.HttpResources, including event loop threads and a connection pool. This is the recommended mode, since fixed, shared resources are preferred for event loop concurrency. In this mode global resources remain active until the process exits.

ReactorClientHttpConnector
ClientHttpConnector

https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html#webflux-client-builder

https://github.com/spring-projects/spring-framework/blob/master/spring-web/src/main/java/org/springframework/http/client/reactive/ReactorClientHttpConnector.java

Domain-driven design (DDD) is an approach to software development for complex needs by connecting the implementation to an evolving model. The premise of domain-driven design is the following

  • placing the project's primary focus on the core domain and domain logic;
  • basing complex designs on a model of the domain;
  • initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.

https://en.wikipedia.org/wiki/Domain-driven_design

@kgoralski
kgoralski / rest_template.java
Last active January 27, 2020 07:55
rest_template.java
package com.goralski.application;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.config.SocketConfig;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.impl.nio.client.CloseableHttpAsyncClient;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager;
import org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor;