{"data":{"allMarkdownRemark":{"totalCount":57,"edges":[{"node":{"id":"cb45e6dc-ba61-576d-adc2-ba609b0e722a","frontmatter":{"category":"Engineering","title":"Go 1.23: the new Pattern property in http.Request","date":"2024-11-26","summary":"A short review of the new Pattern property in net/http.Request","thumbnail":null,"authorName":"Andrei Gusev","authorDescription":"Senior Software Engineer at AUTO1 Group","authorAvatar":{"relativePath":"pages/go-123-the-new-pattern-property-in-http-request/avatar_Andrei.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAUBBgT/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAaeTsi2mDmfWV0wzf//EAB0QAAICAQUAAAAAAAAAAAAAAAECAAMEEBESEyH/2gAIAQEAAQUCtYiUvyE71ZkuQNuzaYvuQTP/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/AR//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAcEAACAgIDAAAAAAAAAAAAAAABEQACEBIhMTL/2gAIAQEABj8C4KnprGnRhqdnHWpWKPH/xAAdEAACAgMAAwAAAAAAAAAAAAABEQAhEEFRMXGB/9oACAEBAAE/IRoFjyQHGILdksEYAYLXeSuANz4mvAhI736hHP/aAAwDAQACAAMAAAAQNBc+/8QAFhEAAwAAAAAAAAAAAAAAAAAAABAR/9oACAEDAQE/ECv/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAcEAEBAAMBAAMAAAAAAAAAAAABEQAhUTEQYaH/2gAIAQEAAT8Q0H5agDhjJzCu2+nxvKetJ9/fd9x0k6GIzjdTPf69KX9xcAAKlBR2wEDDmf/Z","width":50,"height":50,"src":"/static/479e481648d69b84a342bd2575a225d4/d2d31/avatar_Andrei.jpg","srcSet":"/static/479e481648d69b84a342bd2575a225d4/d2d31/avatar_Andrei.jpg 1x,\n/static/479e481648d69b84a342bd2575a225d4/0b804/avatar_Andrei.jpg 1.5x,\n/static/479e481648d69b84a342bd2575a225d4/753c3/avatar_Andrei.jpg 2x,\n/static/479e481648d69b84a342bd2575a225d4/31ca8/avatar_Andrei.jpg 3x"}}},"headerImage":null},"html":"<h1>Go 1.23: the new Pattern property in http.Request</h1>\n<p>In Go 1.23, a new <code class=\"language-text\">Pattern</code> property in <code class=\"language-text\">net/http.Request</code> was added.\nIt contains the route pattern used to handle the request. This improvement may have gone unnoticed by many, but it can\nsimplify request processing and improve performance in cases where we need to obtain the matched routing pattern\nfor the current request. Let’s see how we can use this feature.</p>\n<p>At AUTO1, we have more than 200 microservices, some of which are written in Go and include an HTTP server.\nIt is critically important for us to collect metrics from these services in order to quickly respond to incidents,\nmake data-driven decisions, and optimize system performance.\nFor example, we collect <code class=\"language-text\">http_requests_total</code> metric:</p>\n<div class=\"gatsby-highlight\" data-language=\"go\"><pre class=\"language-go\"><code class=\"language-go\">requestsTotal <span class=\"token operator\">=</span> promauto<span class=\"token punctuation\">.</span><span class=\"token function\">NewCounterVec</span><span class=\"token punctuation\">(</span>prometheus<span class=\"token punctuation\">.</span>CounterOpts<span class=\"token punctuation\">{</span>\n\t\tName<span class=\"token punctuation\">:</span> <span class=\"token string\">\"http_requests_total\"</span><span class=\"token punctuation\">,</span>\n\t\tHelp<span class=\"token punctuation\">:</span> <span class=\"token string\">\"total request count\"</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token builtin\">string</span><span class=\"token punctuation\">{</span><span class=\"token string\">\"path\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"method\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"code\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>Obviously, for the <code class=\"language-text\">path</code> label, we should store the path template, not the specific value, for example, <code class=\"language-text\">/test/{id}</code> instead of <code class=\"language-text\">/test/123</code>.\nOtherwise, we risk a cardinality explosion, which can significantly increase the amount of stored data. You can read how to choose labels properly in <a href=\"https://prometheus.io/docs/practices/naming/#labels\">\"Prometheus best practices\"</a>.</p>\n<h2>Before v1.23</h2>\n<p>Previously, to extract the route pattern, we had to pass the multiplexer to a middleware function:</p>\n<div class=\"gatsby-highlight\" data-language=\"go\"><pre class=\"language-go\"><code class=\"language-go\"><span class=\"token keyword\">func</span> <span class=\"token function\">metricsMiddleware</span><span class=\"token punctuation\">(</span>next http<span class=\"token punctuation\">.</span>Handler<span class=\"token punctuation\">,</span> mux <span class=\"token operator\">*</span>http<span class=\"token punctuation\">.</span>ServeMux<span class=\"token punctuation\">)</span> http<span class=\"token punctuation\">.</span>Handler <span class=\"token punctuation\">{</span>\n\t<span class=\"token keyword\">return</span> http<span class=\"token punctuation\">.</span><span class=\"token function\">HandlerFunc</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">func</span><span class=\"token punctuation\">(</span>w http<span class=\"token punctuation\">.</span>ResponseWriter<span class=\"token punctuation\">,</span> r <span class=\"token operator\">*</span>http<span class=\"token punctuation\">.</span>Request<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t\t<span class=\"token boolean\">_</span><span class=\"token punctuation\">,</span> pattern <span class=\"token operator\">:=</span> mux<span class=\"token punctuation\">.</span><span class=\"token function\">Handler</span><span class=\"token punctuation\">(</span>r<span class=\"token punctuation\">)</span>\n\t\t\n\t\t<span class=\"token operator\">...</span>\n\t\trequestsTotal<span class=\"token punctuation\">.</span><span class=\"token function\">WithLabelValues</span><span class=\"token punctuation\">(</span>pattern<span class=\"token punctuation\">,</span> method<span class=\"token punctuation\">,</span> statusCode<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">Inc</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\t<span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>In this approach, we matched the request to the route a second time, and that negatively affected performance.</p>\n<h2>Since 1.23</h2>\n<p>Starting with Go 1.23, we can get the route pattern directly from the request, without passing the multiplexer to the middleware:</p>\n<div class=\"gatsby-highlight\" data-language=\"go\"><pre class=\"language-go\"><code class=\"language-go\"><span class=\"token keyword\">func</span> <span class=\"token function\">middleware</span><span class=\"token punctuation\">(</span>f http<span class=\"token punctuation\">.</span>Handler<span class=\"token punctuation\">)</span> http<span class=\"token punctuation\">.</span>Handler <span class=\"token punctuation\">{</span>\n\t<span class=\"token keyword\">return</span> http<span class=\"token punctuation\">.</span><span class=\"token function\">HandlerFunc</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">func</span><span class=\"token punctuation\">(</span>w http<span class=\"token punctuation\">.</span>ResponseWriter<span class=\"token punctuation\">,</span> r <span class=\"token operator\">*</span>http<span class=\"token punctuation\">.</span>Request<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t\tpattern <span class=\"token operator\">:=</span> r<span class=\"token punctuation\">.</span>Pattern\n\t\t\n\t\t<span class=\"token operator\">...</span>\n\t\trequestsTotal<span class=\"token punctuation\">.</span><span class=\"token function\">WithLabelValues</span><span class=\"token punctuation\">(</span>pattern<span class=\"token punctuation\">,</span> method<span class=\"token punctuation\">,</span> statusCode<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">Inc</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\t<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>This significantly simplifies the middleware, making the code cleaner and more readable. We are no longer dependent on <code class=\"language-text\">ServeMux</code> and no longer need to re-match the request.</p>\n<h2>Limitations</h2>\n<p>It is important to remember that <code class=\"language-text\">Request.Pattern</code> is only available after the request has been matched to a route. For example:</p>\n<div class=\"gatsby-highlight\" data-language=\"go\"><pre class=\"language-go\"><code class=\"language-go\"><span class=\"token keyword\">func</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\tmux <span class=\"token operator\">:=</span> http<span class=\"token punctuation\">.</span><span class=\"token function\">NewServeMux</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\tmux<span class=\"token punctuation\">.</span><span class=\"token function\">Handle</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"/test/{id}\"</span><span class=\"token punctuation\">,</span> <span class=\"token function\">routeMiddleware</span><span class=\"token punctuation\">(</span><span class=\"token function\">handler</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n\n\tsrv <span class=\"token operator\">:=</span> http<span class=\"token punctuation\">.</span>Server<span class=\"token punctuation\">{</span>\n\t\tAddr<span class=\"token punctuation\">:</span>    <span class=\"token string\">\":8080\"</span><span class=\"token punctuation\">,</span>\n\t\tHandler<span class=\"token punctuation\">:</span> <span class=\"token function\">globalMiddleware</span><span class=\"token punctuation\">(</span>mux<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token punctuation\">}</span>\n\n\t<span class=\"token keyword\">if</span> err <span class=\"token operator\">:=</span> srv<span class=\"token punctuation\">.</span><span class=\"token function\">ListenAndServe</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token operator\">!</span>errors<span class=\"token punctuation\">.</span><span class=\"token function\">Is</span><span class=\"token punctuation\">(</span>err<span class=\"token punctuation\">,</span> http<span class=\"token punctuation\">.</span>ErrServerClosed<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t\tlog<span class=\"token punctuation\">.</span><span class=\"token function\">Fatalf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"server error: %s\"</span><span class=\"token punctuation\">,</span> err<span class=\"token punctuation\">)</span>\n\t<span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">func</span> <span class=\"token function\">routeMiddleware</span><span class=\"token punctuation\">(</span>h http<span class=\"token punctuation\">.</span>Handler<span class=\"token punctuation\">)</span> http<span class=\"token punctuation\">.</span>Handler <span class=\"token punctuation\">{</span>\n\t<span class=\"token keyword\">return</span> http<span class=\"token punctuation\">.</span><span class=\"token function\">HandlerFunc</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">func</span><span class=\"token punctuation\">(</span>w http<span class=\"token punctuation\">.</span>ResponseWriter<span class=\"token punctuation\">,</span> r <span class=\"token operator\">*</span>http<span class=\"token punctuation\">.</span>Request<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t\tlog<span class=\"token punctuation\">.</span><span class=\"token function\">Printf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"ROUTE pattern: %s\"</span><span class=\"token punctuation\">,</span> r<span class=\"token punctuation\">.</span>Pattern<span class=\"token punctuation\">)</span>\n\t\th<span class=\"token punctuation\">.</span><span class=\"token function\">ServeHTTP</span><span class=\"token punctuation\">(</span>w<span class=\"token punctuation\">,</span> r<span class=\"token punctuation\">)</span>\n\t<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">func</span> <span class=\"token function\">globalMiddleware</span><span class=\"token punctuation\">(</span>h http<span class=\"token punctuation\">.</span>Handler<span class=\"token punctuation\">)</span> http<span class=\"token punctuation\">.</span>Handler <span class=\"token punctuation\">{</span>\n\t<span class=\"token keyword\">return</span> http<span class=\"token punctuation\">.</span><span class=\"token function\">HandlerFunc</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">func</span><span class=\"token punctuation\">(</span>w http<span class=\"token punctuation\">.</span>ResponseWriter<span class=\"token punctuation\">,</span> r <span class=\"token operator\">*</span>http<span class=\"token punctuation\">.</span>Request<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t\tlog<span class=\"token punctuation\">.</span><span class=\"token function\">Printf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"GLOBAL pattern: %s\"</span><span class=\"token punctuation\">,</span> r<span class=\"token punctuation\">.</span>Pattern<span class=\"token punctuation\">)</span>\n\t\th<span class=\"token punctuation\">.</span><span class=\"token function\">ServeHTTP</span><span class=\"token punctuation\">(</span>w<span class=\"token punctuation\">,</span> r<span class=\"token punctuation\">)</span>\n\t\tlog<span class=\"token punctuation\">.</span><span class=\"token function\">Printf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"GLOBAL pattern after: %s\"</span><span class=\"token punctuation\">,</span> r<span class=\"token punctuation\">.</span>Pattern<span class=\"token punctuation\">)</span>\n\t<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>If we send a request <code class=\"language-text\">GET http://localhost:8080/test/123</code>, in logs we will see:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">2024/11/10 13:20:37 GLOBAL pattern: \n2024/11/10 13:20:37 ROUTE pattern: /test/{id}\n2024/11/10 13:20:37 GLOBAL pattern after: /test/{id}</code></pre></div>\n<p>This is the expected behavior. The multiplexer implements the <code class=\"language-text\">http.Handler</code> interface, and inside the <code class=\"language-text\">ServeHTTP</code> method, it searches for the handler that matches the request. Starting from Go 1.23, it fills the <code class=\"language-text\">Pattern</code> property of the request with the matching route pattern:</p>\n<div class=\"gatsby-highlight\" data-language=\"go\"><pre class=\"language-go\"><code class=\"language-go\"><span class=\"token comment\">// net/http/server.go</span>\n<span class=\"token keyword\">func</span> <span class=\"token punctuation\">(</span>mux <span class=\"token operator\">*</span>ServeMux<span class=\"token punctuation\">)</span> <span class=\"token function\">ServeHTTP</span><span class=\"token punctuation\">(</span>w ResponseWriter<span class=\"token punctuation\">,</span> r <span class=\"token operator\">*</span>Request<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t<span class=\"token operator\">...</span>\n\t<span class=\"token keyword\">var</span> h Handler\n\t<span class=\"token keyword\">if</span> use121 <span class=\"token punctuation\">{</span>\n\t\th<span class=\"token punctuation\">,</span> <span class=\"token boolean\">_</span> <span class=\"token operator\">=</span> mux<span class=\"token punctuation\">.</span>mux121<span class=\"token punctuation\">.</span><span class=\"token function\">findHandler</span><span class=\"token punctuation\">(</span>r<span class=\"token punctuation\">)</span>\n\t<span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n\t\th<span class=\"token punctuation\">,</span> r<span class=\"token punctuation\">.</span>Pattern<span class=\"token punctuation\">,</span> r<span class=\"token punctuation\">.</span>pat<span class=\"token punctuation\">,</span> r<span class=\"token punctuation\">.</span>matches <span class=\"token operator\">=</span> mux<span class=\"token punctuation\">.</span><span class=\"token function\">findHandler</span><span class=\"token punctuation\">(</span>r<span class=\"token punctuation\">)</span>\n\t<span class=\"token punctuation\">}</span>\n\th<span class=\"token punctuation\">.</span><span class=\"token function\">ServeHTTP</span><span class=\"token punctuation\">(</span>w<span class=\"token punctuation\">,</span> r<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Thus, the <code class=\"language-text\">r.Pattern</code> is filled only after the <code class=\"language-text\">ServeHTTP</code> method of the multiplexer has been called, and the logs confirm this behavior.</p>\n<h2>Conclusion</h2>\n<p>In the last two Go releases, the <code class=\"language-text\">net/http</code> package has received significant improvements that reduced the gap with third-party packages, like <code class=\"language-text\">gorilla/mux</code>. Now, <code class=\"language-text\">net/http.ServeMux</code> supports HTTP methods and wildcards in routing patterns, bringing its functionality closer to what third-party packages previously provided.</p>\n<p>Additionally, the introduction of the <code class=\"language-text\">net/http.Request.Pattern</code> property in Go 1.23 has simplified middleware development by allowing us to access the route pattern without needing to re-match the request, improving performance and reducing code complexity.</p>\n<p>With each of these improvements, there are fewer reasons to choose third-party routers. While the choice between the standard package and third-party routers used to be more obvious, today I would recommend starting with the standard <code class=\"language-text\">net/http</code> package.</p>","fields":{"slug":"/go-123-the-new-pattern-property-in-http-request/","tags":["auto1","go","network_programming"]}}},{"node":{"id":"9720ef25-7d81-5307-9ea5-229d55ec766f","frontmatter":{"category":"Engineering","title":"Android JetPack Compose + Paging 3","date":"2024-03-29","summary":"A short trip around the AUTO1 Application Cockpit data model","thumbnail":null,"authorName":"Sergey Bakhtiarov","authorDescription":"Senior Android Developer at AUTO1 Group","authorAvatar":{"relativePath":"pages/android-compose-pagination/avatar_Sergey.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAbABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEBgX/xAAWAQEBAQAAAAAAAAAAAAAAAAABAgD/2gAMAwEAAhADEAAAAessVEW4wzlnkZ2tJg3/xAAdEAACAQQDAAAAAAAAAAAAAAABAgMABCExECIz/9oACAEBAAEFAsAAq1EVIe0OSdtKzEXEgbfMHh//xAAXEQADAQAAAAAAAAAAAAAAAAAQERIh/9oACAEDAQE/AZxhj//EABURAQEAAAAAAAAAAAAAAAAAABEg/9oACAECAQE/AWP/xAAdEAACAgEFAAAAAAAAAAAAAAABEQAQAiAhImFx/9oACAEBAAY/AtzOJt9U3GCtGHk//8QAGxABAAIDAQEAAAAAAAAAAAAAAQARECExQVH/2gAIAQEAAT8hd4gIS0NTZPIjUV1DC40rgQLqvDjL0fpeUqrP/9oADAMBAAIAAwAAABD/APKz/8QAFREBAQAAAAAAAAAAAAAAAAAAEBH/2gAIAQMBAT8QBR//xAAXEQEBAQEAAAAAAAAAAAAAAAABEBEh/9oACAECAQE/EOnIBP/EAB0QAQEBAAMAAwEAAAAAAAAAAAERACExQVFhcdH/2gAIAQEAAT8QaCJVXrPnop5ivjMtoBBeM7oBFG2x3Zjtir0D+518AlC+E9yQMgcPsxpw/mVwqOXf/9k=","width":50,"height":50,"src":"/static/27c2b15cdd840519c853a653e9b049f0/d2d31/avatar_Sergey.jpeg","srcSet":"/static/27c2b15cdd840519c853a653e9b049f0/d2d31/avatar_Sergey.jpeg 1x,\n/static/27c2b15cdd840519c853a653e9b049f0/0b804/avatar_Sergey.jpeg 1.5x,\n/static/27c2b15cdd840519c853a653e9b049f0/753c3/avatar_Sergey.jpeg 2x,\n/static/27c2b15cdd840519c853a653e9b049f0/31ca8/avatar_Sergey.jpeg 3x"}}},"headerImage":null},"html":"<h1>Android JetPack Compose + Paging 3</h1>\n<h2>About pagination</h2>\n<p>Paginated APIs, often encountered when dealing with servers and databases, break down large datasets into manageable chunks or pages. This methodology not only optimizes resource usage but also enhances the overall user experience by delivering content progressively. However, integrating and managing paginated data in a mobile app can be a challenge, from maintaining loading states to ensuring a seamless transition between pages and supporting content filtering.</p>\n<p>In this guide I will show you how to work with paginated APIs in Android with Jetpack Compose and Paging 3 libraries. </p>\n<p><img src=\"/static/paging_demo-a325402259bf9864dced311c9eafa7c8.gif\" alt=\"Paging UI\"></p>\n<h2>Basics, architecture overview</h2>\n<p><br></br>\n<img src=\"https://developer.android.com/static/topic/libraries/architecture/images/paging3-library-architecture.svg\" alt=\"Paging library overview\"></p>\n<p>The key components of the Paging 3 architecture include</p>\n<h3>PagingSource</h3>\n<ul>\n<li>The foundational element responsible for loading data in chunks.</li>\n<li>Developers implement a custom PagingSource, defining how to retrieve data from a particular source or use implementation provided by a library supporting Paging 3. (Room can generate a paging source for your data query)</li>\n</ul>\n<h3>Remote Mediator</h3>\n<ul>\n<li>An integral part of the Paging 3 architecture, RemoteMediator manages the coordination between remote data sources, typically backed by a network service, and the local database.</li>\n<li>Responsible for loading pages of data from the network and storing them in the local database, ensuring efficient and reliable pagination.</li>\n</ul>\n<h3>Paging Data</h3>\n<ul>\n<li>Represents the paginated data stream emitted by the PagingSource.</li>\n<li>A Flow of PagingData is observed in the UI layer, enabling dynamic updates as new data is loaded or existing data is invalidated.</li>\n</ul>\n<h3>Pager</h3>\n<ul>\n<li>Coordinates the interaction between the PagingSource and the UI layer.</li>\n<li>Configures the pagination parameters, such as page size, prefetch distance, and initial load size, providing fine-grained control over the loading behavior.</li>\n</ul>\n<h2>Data layer</h2>\n<p>We start with the data layer and define a Retrofit API for fetching movies from network service.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">interface</span> MoviesApi <span class=\"token punctuation\">{</span>\n  <span class=\"token annotation builtin\">@GET</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"/3/discover/movie?language=en-US&amp;sort_by=popularity.desc\"</span><span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">suspend</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">discover</span><span class=\"token punctuation\">(</span>\n    <span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"api_key\"</span><span class=\"token punctuation\">)</span> api_key<span class=\"token operator\">:</span> String<span class=\"token punctuation\">,</span>\n    <span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"page\"</span><span class=\"token punctuation\">)</span> page<span class=\"token operator\">:</span> Int<span class=\"token punctuation\">,</span>\n    <span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"with_genres\"</span><span class=\"token punctuation\">)</span> genres<span class=\"token operator\">:</span> String<span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> Response<span class=\"token operator\">&lt;</span>MoviesNetworkResponse<span class=\"token operator\">></span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Next, we will leverage the Room library, which is compatible with Paging 3, to create a local paging source. </p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token annotation builtin\">@Dao</span>\n<span class=\"token keyword\">interface</span> MoviesDao <span class=\"token punctuation\">{</span>\n  <span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"SELECT * FROM movies ORDER BY id ASC\"</span><span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">fun</span> <span class=\"token function\">getMovies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> DataSource<span class=\"token punctuation\">.</span>Factory<span class=\"token operator\">&lt;</span>Int<span class=\"token punctuation\">,</span> MovieDbEntity<span class=\"token operator\">></span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>It's important to highlight that we utilize <code class=\"language-text\">DataSource.Factory</code> as the return type instead of <code class=\"language-text\">PagingSource</code>. This choice is made specifically because <code class=\"language-text\">DataSource.Factory</code> offers the <code class=\"language-text\">map()</code> method, enabling us to map <code class=\"language-text\">MovieDbEntity</code> instances into domain layer models.</p>\n<p>Now we need to put together local and remote data sources in Remote mediator.</p>\n<ol>\n<li>Determine which page to load depending on the loadType and next page value. Next page number (<code class=\"language-text\">getRemoteKey().nextPage</code>) is stored in the database after each successful network request.</li>\n</ol>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">val</span> page <span class=\"token operator\">=</span> <span class=\"token keyword\">when</span> <span class=\"token punctuation\">(</span>loadType<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        LoadType<span class=\"token punctuation\">.</span>REFRESH <span class=\"token operator\">-></span> <span class=\"token number\">1</span>\n        LoadType<span class=\"token punctuation\">.</span>PREPEND <span class=\"token operator\">-></span> <span class=\"token keyword\">null</span>\n        LoadType<span class=\"token punctuation\">.</span>APPEND <span class=\"token operator\">-></span> repository<span class=\"token punctuation\">.</span><span class=\"token function\">getRemoteKey</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">?</span><span class=\"token punctuation\">.</span>nextPage\n      <span class=\"token punctuation\">}</span> <span class=\"token operator\">?:</span> <span class=\"token keyword\">return</span> <span class=\"token function\">Success</span><span class=\"token punctuation\">(</span>endOfPaginationReached <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>For bidirectional pagination support, provide the preceding page number for the PREPEND load type. The REFRESH load type is employed when content is refreshed, initiating loading from the initial page.</p>\n<ol start=\"2\">\n<li>Request data from network</li>\n</ol>\n<p>Call our network data source method to fetch a page of data from the server.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">val</span> movies <span class=\"token operator\">=</span> moviesDataSource<span class=\"token punctuation\">.</span><span class=\"token function\">discover</span><span class=\"token punctuation\">(</span>page<span class=\"token punctuation\">)</span></code></pre></div>\n<ol start=\"3\">\n<li>Insert data into the database or refresh database if loadType is refresh</li>\n</ol>\n<p>The RemoteMediator code will appear as follows:</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">class</span> <span class=\"token function\">MoviesRemoteMediator</span><span class=\"token punctuation\">(</span>\n  <span class=\"token keyword\">private</span> <span class=\"token keyword\">val</span> repository<span class=\"token operator\">:</span> MoviesRepository<span class=\"token punctuation\">,</span>\n  <span class=\"token keyword\">private</span> <span class=\"token keyword\">val</span> moviesDataSource<span class=\"token operator\">:</span> NetworkMoviesDataSource<span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span> RemoteMediator<span class=\"token operator\">&lt;</span>Int<span class=\"token punctuation\">,</span> Movie<span class=\"token operator\">></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\n  <span class=\"token keyword\">override</span> <span class=\"token keyword\">suspend</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">load</span><span class=\"token punctuation\">(</span>loadType<span class=\"token operator\">:</span> LoadType<span class=\"token punctuation\">,</span> state<span class=\"token operator\">:</span> PagingState<span class=\"token operator\">&lt;</span>Int<span class=\"token punctuation\">,</span> Movie<span class=\"token operator\">></span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> MediatorResult <span class=\"token punctuation\">{</span>\n\n    <span class=\"token keyword\">return</span> <span class=\"token keyword\">try</span> <span class=\"token punctuation\">{</span>\n\n      <span class=\"token keyword\">val</span> page <span class=\"token operator\">=</span> <span class=\"token keyword\">when</span> <span class=\"token punctuation\">(</span>loadType<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        LoadType<span class=\"token punctuation\">.</span>REFRESH <span class=\"token operator\">-></span> <span class=\"token number\">1</span>\n        LoadType<span class=\"token punctuation\">.</span>PREPEND <span class=\"token operator\">-></span> <span class=\"token keyword\">null</span>\n        LoadType<span class=\"token punctuation\">.</span>APPEND <span class=\"token operator\">-></span> repository<span class=\"token punctuation\">.</span><span class=\"token function\">getRemoteKey</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">?</span><span class=\"token punctuation\">.</span>nextPage\n      <span class=\"token punctuation\">}</span> <span class=\"token operator\">?:</span> <span class=\"token keyword\">return</span> <span class=\"token function\">Success</span><span class=\"token punctuation\">(</span>endOfPaginationReached <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span>\n\n      <span class=\"token keyword\">val</span> movies <span class=\"token operator\">=</span> moviesDataSource<span class=\"token punctuation\">.</span><span class=\"token function\">getMovies</span><span class=\"token punctuation\">(</span>page<span class=\"token punctuation\">)</span>\n\n      <span class=\"token keyword\">val</span> nextPage <span class=\"token operator\">=</span> <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>movies<span class=\"token punctuation\">.</span><span class=\"token function\">isNotEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> page <span class=\"token operator\">+</span> <span class=\"token number\">1</span> <span class=\"token keyword\">else</span> <span class=\"token keyword\">null</span>\n\n      repository<span class=\"token punctuation\">.</span><span class=\"token function\">insertMovies</span><span class=\"token punctuation\">(</span>movies<span class=\"token punctuation\">,</span> nextPage<span class=\"token punctuation\">,</span> loadType <span class=\"token operator\">==</span> LoadType<span class=\"token punctuation\">.</span>REFRESH<span class=\"token punctuation\">)</span>\n\n      <span class=\"token function\">Success</span><span class=\"token punctuation\">(</span>endOfPaginationReached <span class=\"token operator\">=</span> movies<span class=\"token punctuation\">.</span><span class=\"token function\">isEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n\n    <span class=\"token punctuation\">}</span> <span class=\"token keyword\">catch</span> <span class=\"token punctuation\">(</span>e<span class=\"token operator\">:</span> Exception<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      MediatorResult<span class=\"token punctuation\">.</span><span class=\"token function\">Error</span><span class=\"token punctuation\">(</span>e<span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>RemoteMediator uses the repository to store movies list and next page number in the database.\nRepository also takes care of clearing the database table when data is refreshed:</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">class</span> <span class=\"token function\">MoviesRepositoryImpl</span><span class=\"token punctuation\">(</span>\n  <span class=\"token keyword\">private</span> <span class=\"token keyword\">val</span> database<span class=\"token operator\">:</span> MoviesDatabase\n<span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> MoviesRepository <span class=\"token punctuation\">{</span>\n\n  <span class=\"token keyword\">override</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">getMovies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span> database<span class=\"token punctuation\">.</span><span class=\"token function\">movies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">getMovies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">map</span> <span class=\"token punctuation\">{</span> it<span class=\"token punctuation\">.</span><span class=\"token function\">toDomain</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span>\n\n  <span class=\"token keyword\">override</span> <span class=\"token keyword\">suspend</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">insertMovies</span><span class=\"token punctuation\">(</span>movies<span class=\"token operator\">:</span> List<span class=\"token operator\">&lt;</span>Movie<span class=\"token operator\">></span><span class=\"token punctuation\">,</span> nextPage<span class=\"token operator\">:</span> Int<span class=\"token operator\">?</span><span class=\"token punctuation\">,</span> clear<span class=\"token operator\">:</span> Boolean<span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n\n    database<span class=\"token punctuation\">.</span><span class=\"token function\">withTransaction</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>clear<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        database<span class=\"token punctuation\">.</span><span class=\"token function\">movies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">clear</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">}</span>\n\n      database<span class=\"token punctuation\">.</span><span class=\"token function\">movies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">putMovies</span><span class=\"token punctuation\">(</span>movies<span class=\"token punctuation\">.</span><span class=\"token function\">map</span> <span class=\"token punctuation\">{</span> it<span class=\"token punctuation\">.</span><span class=\"token function\">toDbEntity</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>nextPage <span class=\"token operator\">!=</span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        database<span class=\"token punctuation\">.</span><span class=\"token function\">remoteKey</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">insertKey</span><span class=\"token punctuation\">(</span><span class=\"token function\">RemoteKey</span><span class=\"token punctuation\">(</span>MoviesDatabase<span class=\"token punctuation\">.</span>MOVIES_REMOTE_KEY<span class=\"token punctuation\">,</span> nextPage<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2>UI layer</h2>\n<p>The Pager object serves as a bridge between remote and local data sources. It is managing the page loading, prefetching, and handling the transitions between various data sources to provide a seamless and responsive flow of paginated content within your application. You can configure the page loading behavior with the following parameters:</p>\n<ul>\n<li><strong>pageSize</strong> parameter defines the number of items loaded in each page of data.</li>\n<li><strong>initialLoadSize</strong> is the number of items loaded initially when the paging library is first initialized.</li>\n<li><strong>prefetchDistance</strong> parameter determines the distance from the edge of the loaded content at which the next page should start loading.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">class</span> <span class=\"token function\">MoviesScreenViewModel</span><span class=\"token punctuation\">(</span>\n  moviesSource<span class=\"token operator\">:</span> MoviesRemoteMediator<span class=\"token punctuation\">,</span>\n  repository<span class=\"token operator\">:</span> MoviesRepository<span class=\"token punctuation\">,</span>\n  <span class=\"token keyword\">private</span> <span class=\"token keyword\">val</span> movieDetails<span class=\"token operator\">:</span> MovieDetailsApi<span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span> <span class=\"token function\">ViewModel</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">val</span> moviesFlow <span class=\"token operator\">=</span> <span class=\"token function\">Pager</span><span class=\"token punctuation\">(</span>\n      config <span class=\"token operator\">=</span> <span class=\"token function\">PagingConfig</span><span class=\"token punctuation\">(</span>\n        pageSize <span class=\"token operator\">=</span> PAGE_SIZE<span class=\"token punctuation\">,</span>\n        prefetchDistance <span class=\"token operator\">=</span> PREFETCH_DISTANCE<span class=\"token punctuation\">,</span>\n        initialLoadSize <span class=\"token operator\">=</span> INITIAL_LOAD<span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n      remoteMediator <span class=\"token operator\">=</span> moviesSource<span class=\"token punctuation\">,</span>\n      pagingSourceFactory <span class=\"token operator\">=</span> repository<span class=\"token punctuation\">.</span><span class=\"token function\">getMovies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">asPagingSourceFactory</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>flow<span class=\"token punctuation\">.</span><span class=\"token function\">cachedIn</span><span class=\"token punctuation\">(</span>viewModelScope<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>Consuming paging data in Jetpack Compose UI</h3>\n<p>Now, let's explore how to consume the paginated data in your Compose UI.</p>\n<p>Use the <code class=\"language-text\">collectAsLazyPagingItems</code> extension function to collect the <code class=\"language-text\">PagingData</code> and observe changes.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">val</span> movies <span class=\"token operator\">=</span> viewModel<span class=\"token punctuation\">.</span>moviesFlow<span class=\"token punctuation\">.</span><span class=\"token function\">collectAsLazyPagingItems</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>Use the <code class=\"language-text\">LazyColumn</code> or <code class=\"language-text\">LazyVerticalGrid</code> to efficiently display paginated data in your Compose UI.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token function\">LazyVerticalGrid</span><span class=\"token punctuation\">(</span>\n      modifier <span class=\"token operator\">=</span> Modifier\n        <span class=\"token punctuation\">.</span><span class=\"token function\">fillMaxSize</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">.</span><span class=\"token function\">padding</span><span class=\"token punctuation\">(</span><span class=\"token number\">16</span><span class=\"token punctuation\">.</span>dp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n      columns <span class=\"token operator\">=</span> GridCells<span class=\"token punctuation\">.</span><span class=\"token function\">Fixed</span><span class=\"token punctuation\">(</span><span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n      horizontalArrangement <span class=\"token operator\">=</span> Arrangement<span class=\"token punctuation\">.</span><span class=\"token function\">spacedBy</span><span class=\"token punctuation\">(</span><span class=\"token number\">16</span><span class=\"token punctuation\">.</span>dp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n      verticalArrangement <span class=\"token operator\">=</span> Arrangement<span class=\"token punctuation\">.</span><span class=\"token function\">spacedBy</span><span class=\"token punctuation\">(</span><span class=\"token number\">16</span><span class=\"token punctuation\">.</span>dp<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\n      <span class=\"token function\">items</span><span class=\"token punctuation\">(</span>\n        count <span class=\"token operator\">=</span> movies<span class=\"token punctuation\">.</span>itemCount<span class=\"token punctuation\">,</span>\n        key <span class=\"token operator\">=</span> movies<span class=\"token punctuation\">.</span><span class=\"token function\">itemKey</span> <span class=\"token punctuation\">{</span> it<span class=\"token punctuation\">.</span>id <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> index <span class=\"token operator\">-></span>\n\n        movies<span class=\"token punctuation\">[</span>index<span class=\"token punctuation\">]</span><span class=\"token operator\">?</span><span class=\"token punctuation\">.</span><span class=\"token function\">let</span> <span class=\"token punctuation\">{</span> movie <span class=\"token operator\">-></span>\n          <span class=\"token function\">MovieCardSmall</span><span class=\"token punctuation\">(</span>\n            movie <span class=\"token operator\">=</span> movie<span class=\"token punctuation\">,</span>\n            onClick <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> <span class=\"token function\">onClick</span><span class=\"token punctuation\">(</span>movie<span class=\"token punctuation\">.</span>id<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span></code></pre></div>\n<hr>\n<blockquote>\n<p><em>Note the usage of the key property for items. The key property uniquely identifies each item, allowing Compose to efficiently update and recycle composables as data changes.</em></p>\n</blockquote>\n<hr>\n<h3>Paging state handling</h3>\n<p>LazyPagingItems offers insights into the ongoing data loading process, allowing you to effectively manage errors during pagination. By examining the loadState.append property, you can determine the loading state when appending new items and present a user-friendly indication of the current status.</p>\n<p>For instance, the following code snippet demonstrates how to react to different loading states during item appending:</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">when</span> <span class=\"token punctuation\">(</span>movies<span class=\"token punctuation\">.</span>loadState<span class=\"token punctuation\">.</span>append<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">is</span> LoadState<span class=\"token punctuation\">.</span>Loading <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span> <span class=\"token function\">ProgressFooter</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">is</span> LoadState<span class=\"token punctuation\">.</span>Error <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span> <span class=\"token function\">ErrorFooter</span><span class=\"token punctuation\">(</span>onRetryClick <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> movies<span class=\"token punctuation\">.</span><span class=\"token function\">retry</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span> <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Similarly, you can assess the loading status when the list data is refreshed by checking the loadState.refresh property. Extension functions isError() and isLoading() provide convenient checks for error and loading states, respectively.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">fun</span> LazyPagingItems<span class=\"token operator\">&lt;</span>Movie<span class=\"token operator\">></span><span class=\"token punctuation\">.</span><span class=\"token function\">isError</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> Boolean <span class=\"token operator\">=</span> \n    loadState<span class=\"token punctuation\">.</span>refresh <span class=\"token keyword\">is</span> LoadState<span class=\"token punctuation\">.</span>Error <span class=\"token operator\">&amp;&amp;</span> itemSnapshotList<span class=\"token punctuation\">.</span><span class=\"token function\">isEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">fun</span> LazyPagingItems<span class=\"token operator\">&lt;</span>Movie<span class=\"token operator\">></span><span class=\"token punctuation\">.</span><span class=\"token function\">isLoading</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> Boolean <span class=\"token operator\">=</span> \n    loadState<span class=\"token punctuation\">.</span>refresh <span class=\"token keyword\">is</span> LoadState<span class=\"token punctuation\">.</span>Loading <span class=\"token operator\">&amp;&amp;</span> itemSnapshotList<span class=\"token punctuation\">.</span><span class=\"token function\">isEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>Incorporate these checks into your UI logic to display appropriate screens based on the loading or error states. The following code snippet demonstrates how to handle loading and error states along with providing a retry option:</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">when</span> <span class=\"token punctuation\">{</span>\n   movies<span class=\"token punctuation\">.</span><span class=\"token function\">isLoading</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">LoadingScreen</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n   movies<span class=\"token punctuation\">.</span><span class=\"token function\">isError</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> ErrorScreen <span class=\"token punctuation\">{</span> movies<span class=\"token punctuation\">.</span><span class=\"token function\">retry</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span>\n   <span class=\"token keyword\">else</span> <span class=\"token operator\">-></span> <span class=\"token function\">MoviesGrid</span><span class=\"token punctuation\">(</span>movies <span class=\"token operator\">=</span> movies<span class=\"token punctuation\">,</span> onClick <span class=\"token operator\">=</span> viewModel<span class=\"token operator\">::</span>onMovieClick<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Additionally, <code class=\"language-text\">LazyPagingItems</code> offers a convenient <code class=\"language-text\">retry()</code> method, allowing you to retry the last failed data loading attempt with ease.</p>\n<h3>Adding filters</h3>\n<p>Now lets add filters to our movie list to see paginated list of movies filtered by genre.</p>\n<p><img src=\"/static/paging_demo_filters-ff80a7606fb30961e2bda56bd6ed9985.gif\" alt=\"Filters UI\"></p>\n<p>We start with requesting genres from the server and saving them in our database. We will keep genre data and selection in the database so that we can observe it from our domain and UI layers.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">interface</span> MoviesApi <span class=\"token punctuation\">{</span>\n  <span class=\"token annotation builtin\">@GET</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"/3/genre/movie/list?language=en-US\"</span><span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">suspend</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">genres</span><span class=\"token punctuation\">(</span><span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"api_key\"</span><span class=\"token punctuation\">)</span> api_key<span class=\"token operator\">:</span> String<span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> Response<span class=\"token operator\">&lt;</span>GenresNetworkResponse<span class=\"token operator\">></span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token annotation builtin\">@Dao</span>\n<span class=\"token keyword\">interface</span> GenresDao <span class=\"token punctuation\">{</span>\n\n  <span class=\"token annotation builtin\">@Insert</span><span class=\"token punctuation\">(</span>onConflict <span class=\"token operator\">=</span> OnConflictStrategy<span class=\"token punctuation\">.</span>REPLACE<span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">suspend</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">putGenres</span><span class=\"token punctuation\">(</span>genres<span class=\"token operator\">:</span> List<span class=\"token operator\">&lt;</span>GenreDbEntity<span class=\"token operator\">></span><span class=\"token punctuation\">)</span>\n\n  <span class=\"token annotation builtin\">@Upsert</span><span class=\"token punctuation\">(</span>entity <span class=\"token operator\">=</span> GenreDbEntity<span class=\"token operator\">::</span><span class=\"token keyword\">class</span><span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">suspend</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">updateGenres</span><span class=\"token punctuation\">(</span>genres<span class=\"token operator\">:</span> List<span class=\"token operator\">&lt;</span>GenreDbUpdateEntity<span class=\"token operator\">></span><span class=\"token punctuation\">)</span>\n\n  <span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"SELECT * FROM genres\"</span><span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">suspend</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">getGenres</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> List<span class=\"token operator\">&lt;</span>GenreDbEntity<span class=\"token operator\">></span>\n\n  <span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"SELECT * FROM genres\"</span><span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">fun</span> <span class=\"token function\">observeGenres</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> Flow<span class=\"token operator\">&lt;</span>List<span class=\"token operator\">&lt;</span>GenreDbEntity<span class=\"token operator\">></span><span class=\"token operator\">></span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Now we can add <code class=\"language-text\">with_genres</code> parameter to our network request:</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\">  <span class=\"token annotation builtin\">@GET</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"/3/discover/movie?language=en-US&amp;sort_by=popularity.desc\"</span><span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">suspend</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">discover</span><span class=\"token punctuation\">(</span>\n    <span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"page\"</span><span class=\"token punctuation\">)</span> page<span class=\"token operator\">:</span> Int<span class=\"token punctuation\">,</span>\n    <span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"with_genres\"</span><span class=\"token punctuation\">)</span> genres<span class=\"token operator\">:</span> String<span class=\"token punctuation\">,</span>\n    <span class=\"token annotation builtin\">@Query</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"api_key\"</span><span class=\"token punctuation\">)</span> api_key<span class=\"token operator\">:</span> String<span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> Response<span class=\"token operator\">&lt;</span>MoviesNetworkResponse<span class=\"token operator\">></span></code></pre></div>\n<p>Remote mediator will get selected genres from the repository</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\">  <span class=\"token operator\">..</span><span class=\"token punctuation\">.</span>\n  <span class=\"token keyword\">val</span> genres <span class=\"token operator\">=</span> repository<span class=\"token punctuation\">.</span><span class=\"token function\">getGenreSelection</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">val</span> movies <span class=\"token operator\">=</span> moviesDataSource<span class=\"token punctuation\">.</span><span class=\"token function\">getMovies</span><span class=\"token punctuation\">(</span>page<span class=\"token punctuation\">,</span> genres<span class=\"token punctuation\">)</span>\n  <span class=\"token operator\">..</span><span class=\"token punctuation\">.</span></code></pre></div>\n<p>Every time user selects a new filter we stave it in the database and restart pagination by clearing movies in the database and resetting the page to 1.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">class</span> MoviesScreenViewModel <span class=\"token punctuation\">{</span>\n\n  <span class=\"token keyword\">fun</span> <span class=\"token function\">onGenreClick</span><span class=\"token punctuation\">(</span>genreItem<span class=\"token operator\">:</span> GenreItem<span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span> viewModelScope<span class=\"token punctuation\">.</span><span class=\"token function\">launch</span> <span class=\"token punctuation\">{</span>\n    genresProvider<span class=\"token punctuation\">.</span><span class=\"token function\">setSelection</span><span class=\"token punctuation\">(</span>genreItem<span class=\"token punctuation\">.</span>id<span class=\"token punctuation\">,</span> <span class=\"token operator\">!</span>genreItem<span class=\"token punctuation\">.</span>isSelected<span class=\"token punctuation\">)</span>\n    repository<span class=\"token punctuation\">.</span><span class=\"token function\">clearMovies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span>\n  \n<span class=\"token punctuation\">}</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">class</span> MoviesRepositoryImpl <span class=\"token punctuation\">{</span>\n\n  <span class=\"token keyword\">override</span> <span class=\"token keyword\">suspend</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">clearMovies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span> <span class=\"token function\">withContext</span><span class=\"token punctuation\">(</span>Dispatchers<span class=\"token punctuation\">.</span>IO<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    database<span class=\"token punctuation\">.</span><span class=\"token function\">withTransaction</span> <span class=\"token punctuation\">{</span>\n      database<span class=\"token punctuation\">.</span><span class=\"token function\">movies</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">clear</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n      database<span class=\"token punctuation\">.</span><span class=\"token function\">remoteKey</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">insertKey</span><span class=\"token punctuation\">(</span><span class=\"token function\">RemoteKey</span><span class=\"token punctuation\">(</span>MoviesDatabase<span class=\"token punctuation\">.</span>MOVIES_REMOTE_KEY<span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>Links</h3>\n<p><br>Source code: <a href=\"https://github.com/auto1-oss/android-compose-paging\">https://github.com/auto1-oss/android-compose-paging</a></br>\n<br>Official documentation: <a href=\"https://developer.android.com/topic/libraries/architecture/paging/v3-overview\">https://developer.android.com/topic/libraries/architecture/paging/v3-overview</a></br></p>","fields":{"slug":"/android-compose-pagination/","tags":["auto1","mobile","Android"]}}},{"node":{"id":"da31a07a-ba3d-5906-be71-0249ef888cfe","frontmatter":{"category":"TechRadar","title":"AUTO1 Tech Radar November 2023","date":"2023-11-21","summary":"AUTO1 Tech Radar November 2023","thumbnail":{"relativePath":"pages/tech-radar-november-2023/radar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABcBAAMBAAAAAAAAAAAAAAAAAAECAwD/2gAMAwEAAhADEAAAAePlJzgZgw0FH//EABsQAAIBBQAAAAAAAAAAAAAAAAABAhAREjFB/9oACAEBAAEFAoxyozg9lxn/xAAWEQADAAAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BqP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABUQAQEAAAAAAAAAAAAAAAAAACEw/9oACAEBAAY/AmP/xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhMRD/2gAIAQEAAT8hsuCK6ht0TxDvlZwsRXh//9oADAMBAAIAAwAAABCYMEP/xAAYEQADAQEAAAAAAAAAAAAAAAAAAREhMf/aAAgBAwEBPxDaLhBnD//EABgRAAMBAQAAAAAAAAAAAAAAAAABESEx/9oACAECAQE/ENouEE8P/8QAGxABAAMBAQEBAAAAAAAAAAAAAQARIVFBMYH/2gAIAQEAAT8QG6DVB5EKCJzyIMp+AR7l8xiq6sRgprIurxFaML5CYBP/2Q==","width":326,"height":325,"src":"/static/38ec33b907e70d89d23101b34889b707/a2998/radar.jpg","srcSet":"/static/38ec33b907e70d89d23101b34889b707/a2998/radar.jpg 1x,\n/static/38ec33b907e70d89d23101b34889b707/99cce/radar.jpg 1.5x,\n/static/38ec33b907e70d89d23101b34889b707/6e995/radar.jpg 2x,\n/static/38ec33b907e70d89d23101b34889b707/968b1/radar.jpg 3x"}}},"authorName":"AUTO1 Group","authorDescription":"AUTO1 Group","authorAvatar":{"relativePath":"pages/tech-radar-november-2023/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/tech-radar-november-2023/radar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABcBAAMBAAAAAAAAAAAAAAAAAAECAwD/2gAMAwEAAhADEAAAAePlJzgZgw0FH//EABsQAAIBBQAAAAAAAAAAAAAAAAABAhAREjFB/9oACAEBAAEFAoxyozg9lxn/xAAWEQADAAAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BqP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABUQAQEAAAAAAAAAAAAAAAAAACEw/9oACAEBAAY/AmP/xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhMRD/2gAIAQEAAT8hsuCK6ht0TxDvlZwsRXh//9oADAMBAAIAAwAAABCYMEP/xAAYEQADAQEAAAAAAAAAAAAAAAAAAREhMf/aAAgBAwEBPxDaLhBnD//EABgRAAMBAQAAAAAAAAAAAAAAAAABESEx/9oACAECAQE/ENouEE8P/8QAGxABAAMBAQEBAAAAAAAAAAAAAQARIVFBMYH/2gAIAQEAAT8QG6DVB5EKCJzyIMp+AR7l8xiq6sRgprIurxFaML5CYBP/2Q==","width":1280,"height":1278,"src":"/static/38ec33b907e70d89d23101b34889b707/966a5/radar.jpg","srcSet":"/static/38ec33b907e70d89d23101b34889b707/966a5/radar.jpg 1x,\n/static/38ec33b907e70d89d23101b34889b707/aa36d/radar.jpg 1.5x,\n/static/38ec33b907e70d89d23101b34889b707/26d0b/radar.jpg 2x,\n/static/38ec33b907e70d89d23101b34889b707/39d45/radar.jpg 3x"}}}},"html":"","fields":{"slug":"/tech-radar-november-2023/","tags":["TechRadar"]}}},{"node":{"id":"2cda3518-ba96-5257-97f4-6f0ec1f69eb1","frontmatter":{"category":"Engineering","title":"Bug Police Officer","date":"2023-11-21","summary":"What I present today is how to use police techniques and their mindset to detect and solve bugs in software, so that you can be the best software developer that society can provide.","thumbnail":{"relativePath":"pages/bug-police-officer/bug-police-officer.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsSAAALEgHS3X78AAAC20lEQVQ4y32S208TURCHF6rvvPpI/Ad8MzFIIlESaAuoAZVehEppd7fQFqjhIgiBQhEUaoFy6wUCghRrCFKQi4orhgQ0XOIFA8FoqOKTaHyg7e54zpYWUOsks2fOmd98Z85mCOIPqyNtUQf33Xp7XOZl+7oEua3AfvpgzkTZo4hIVq9oC8PQGluh7M4hpdYh0fl2aFFfh1a1AcQX2oGUWV0ol2si7bH/auAQsFptE+C4VesUZUnscPxMMxyLa2FXikXsKnIc4zOca9M5hVhbs1cT0fKzuniBkbTnSqU2iBeaA/KMZg47jmVSB9RSDjXW6BXdgv8+mf8vpDMar02qzlMG+gGkKz1cunI06Lkergid3VF1xR3URrRG2k48HZziRf31wxVrzCI01I4HZNQYh73RNBF4P7sAvUZXGdZMOMajcU1E2G3aRjDuJ4I9oAV+fQPY2fB9fbsE2OHHhg9+bkOP0dWENdP9k4JbtIP4C2qinfzq0LQTN8i+I8HTE0eZoak18H8B3/dN1rezyeKYGZx8h5L8pVjbr7EcYoTpnryG8AVLhuqYLk2Dtir/nnfrzQqA7xMLvs/s1uoylObd91ZRvboPRZUxIX2oNtxpB+osZDV0j44mR7wfKy+CRVsHGsM0++oxAwsTL8BgGGUTVAxc0r0EinJ7jXSvLlQXZmBqCTUQHBW6h1YWMhBPLkKfvsi/XprAJimfQbLCw4kVY9xZ5Qxco0ZZCenxn6MYyCmcAwSlcS1m8B3yHzXw066nh8dTtfOQSD3fldETsF12Emq1Fi6BmueSNLNcJjXDjZVL4GEJCSJybjcFaQtQDd8ZYuwDCQgOtWpgMl35CMRZrkCi3MMN5athuVgIomwPpGS7QCx3Q7WmGKrIm1ySfCSAZhNwTfCtQOwDY8v5DrVXO9wZGZ2Qkmb2J6fe5SipGV6XXIE8tKI9CNPMIEy1otjKiZAGa3ENz0MMzPoNzyOqI3a+TN4AAAAASUVORK5CYII=","width":460,"height":325,"src":"/static/19a57f273a6f7441d951955ce11fae27/b3029/bug-police-officer.png","srcSet":"/static/19a57f273a6f7441d951955ce11fae27/b3029/bug-police-officer.png 1x"}}},"authorName":"Bruno Morais","authorDescription":"Bruno is a Senior Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/bug-police-officer/avatar.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQDAQX/xAAXAQEBAQEAAAAAAAAAAAAAAAABAwIE/9oADAMBAAIQAxAAAAGmbSadPSZMPIBLBy1//8QAHBAAAwABBQAAAAAAAAAAAAAAAQIDIQAQERIj/9oACAEBAAEFAqOVEql2047LLDc7A+i5H//EABcRAQEBAQAAAAAAAAAAAAAAAAEAEBL/2gAIAQMBAT8BC5jP/8QAGREAAwADAAAAAAAAAAAAAAAAAAECEBET/9oACAECAQE/AW9HSSsf/8QAGhAAAQUBAAAAAAAAAAAAAAAAAQACEBEhQf/aAAgBAQAGPwLBZRa4VFYt5Jj/xAAcEAADAAIDAQAAAAAAAAAAAAAAAREhURAxYXH/2gAIAQEAAT8ho6G+i0ElVBP0c6AzfMaH3OHLLoTIz//aAAwDAQACAAMAAAAQcC98/8QAGREAAwADAAAAAAAAAAAAAAAAABExEFGB/9oACAEDAQE/EGQbRPcf/8QAGxEAAgIDAQAAAAAAAAAAAAAAAAERMVFhscH/2gAIAQIBAT8QuM2dElucejs//8QAGxABAQEBAAMBAAAAAAAAAAAAAREAITFBYXH/2gAIAQEAAT8QEiRCoPrgpVComQJxnQidLfOE1gCkvzQ9j4TPv80LcHh6dw+UV3//2Q==","width":50,"height":50,"src":"/static/8d7223890dda036e0121799406a35506/d2d31/avatar.jpeg","srcSet":"/static/8d7223890dda036e0121799406a35506/d2d31/avatar.jpeg 1x,\n/static/8d7223890dda036e0121799406a35506/0b804/avatar.jpeg 1.5x,\n/static/8d7223890dda036e0121799406a35506/753c3/avatar.jpeg 2x,\n/static/8d7223890dda036e0121799406a35506/31ca8/avatar.jpeg 3x"}}},"headerImage":{"relativePath":"pages/bug-police-officer/bug-police-officer.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsSAAALEgHS3X78AAAC20lEQVQ4y32S208TURCHF6rvvPpI/Ad8MzFIIlESaAuoAZVehEppd7fQFqjhIgiBQhEUaoFy6wUCghRrCFKQi4orhgQ0XOIFA8FoqOKTaHyg7e54zpYWUOsks2fOmd98Z85mCOIPqyNtUQf33Xp7XOZl+7oEua3AfvpgzkTZo4hIVq9oC8PQGluh7M4hpdYh0fl2aFFfh1a1AcQX2oGUWV0ol2si7bH/auAQsFptE+C4VesUZUnscPxMMxyLa2FXikXsKnIc4zOca9M5hVhbs1cT0fKzuniBkbTnSqU2iBeaA/KMZg47jmVSB9RSDjXW6BXdgv8+mf8vpDMar02qzlMG+gGkKz1cunI06Lkergid3VF1xR3URrRG2k48HZziRf31wxVrzCI01I4HZNQYh73RNBF4P7sAvUZXGdZMOMajcU1E2G3aRjDuJ4I9oAV+fQPY2fB9fbsE2OHHhg9+bkOP0dWENdP9k4JbtIP4C2qinfzq0LQTN8i+I8HTE0eZoak18H8B3/dN1rezyeKYGZx8h5L8pVjbr7EcYoTpnryG8AVLhuqYLk2Dtir/nnfrzQqA7xMLvs/s1uoylObd91ZRvboPRZUxIX2oNtxpB+osZDV0j44mR7wfKy+CRVsHGsM0++oxAwsTL8BgGGUTVAxc0r0EinJ7jXSvLlQXZmBqCTUQHBW6h1YWMhBPLkKfvsi/XprAJimfQbLCw4kVY9xZ5Qxco0ZZCenxn6MYyCmcAwSlcS1m8B3yHzXw066nh8dTtfOQSD3fldETsF12Emq1Fi6BmueSNLNcJjXDjZVL4GEJCSJybjcFaQtQDd8ZYuwDCQgOtWpgMl35CMRZrkCi3MMN5athuVgIomwPpGS7QCx3Q7WmGKrIm1ySfCSAZhNwTfCtQOwDY8v5DrVXO9wZGZ2Qkmb2J6fe5SipGV6XXIE8tKI9CNPMIEy1otjKiZAGa3ENz0MMzPoNzyOqI3a+TN4AAAAASUVORK5CYII=","width":600,"height":424,"src":"/static/19a57f273a6f7441d951955ce11fae27/b7ca8/bug-police-officer.png","srcSet":"/static/19a57f273a6f7441d951955ce11fae27/b7ca8/bug-police-officer.png 1x"}}}},"html":"<h3>Table of contents:</h3>\n<ol>\n<li>\n<p>Sense of Security</p>\n<ol>\n<li>Why does feeling safe matter?</li>\n<li>Strategic actions</li>\n<li>A test as a Cop</li>\n</ol>\n</li>\n<li>\n<p>Treat the injured first</p>\n<ol>\n<li>Prioritizing what matters</li>\n<li>The appropriate Mental Model</li>\n<li>Ask before trying to find out</li>\n</ol>\n</li>\n<li>\n<p>Trust your tools</p>\n<ol>\n<li>When less is more</li>\n<li>Efficient distribution of efforts</li>\n<li>Confidence that avoids shame</li>\n</ol>\n</li>\n<li>\n<p>Communication via Radio</p>\n<ol>\n<li>Q-code</li>\n<li>The Language and the Domain</li>\n</ol>\n</li>\n<li>Bug is in jail</li>\n</ol>\n<p><strong>What I present today is how to use police techniques and their mindset to detect and solve bugs in software, so that you can be the best software developer that society can provide.</strong></p>\n<p>For some years, I worked as a police officer in Brazil and I can say that it is a challenging career. The first step was to pass a national test, where knowledge of various laws was required. Criminal laws, traffic laws, and even the laws of physics.</p>\n<p>The second step was to pass a battery of medical exams. Almost perfect health was necessary to be able to practice the profession, in addition to having most of the parts of the human body.</p>\n<p>The third step was the psychological examination. It was necessary to have a clear mind and not have impulses different from those expected from a person who must protect other people.</p>\n<p>As a fourth part, there was also the fitness test, a test in which career candidates had to prove they had sufficient strength and speed to carry out daily police tasks. Running, pull-ups, sit-ups and long jump are examples of what was required.</p>\n<p>The last stage was the Police Academy, where for three months those from now on known as students would learn and prove the learning of several new skills: first aid, use of firearms (pistols, carbines, submachine guns, etc.), non-lethal weapons, martial arts, public policy, and many other disciplines.</p>\n<p>All this so that society receives the best police officer that its people can provide. So, what about using some of the following principles and techniques to become the best software developer that society can provide?</p>\n<h2>Sense of Security</h2>\n<h3>Why does feeling safe matter?</h3>\n<p>Without needing to be a security expert, you already know that it is impossible to have a completely safe city. Even if we reached the point of having perfect police officers, which in itself is impossible, we would not have a police officer for every citizen. In general, the recommendation is 300 police officers for every 100 thousand inhabitants.</p>\n<p>Aware of this limitation, that it is not possible to guarantee complete security for all citizens, police agencies work with the concept of a sense of security. Through strategic actions to combat crime, citizens' feeling that they are safe is increased. This mental condition gives them peace of mind when working, studying, and carrying out their daily tasks.</p>\n<h3>Strategic actions</h3>\n<p>This sense of security also affects criminals. The common visibility of police officers carrying out their duties in strategic places, as well as effective actions to combat crime, make criminals stay away from that place.</p>\n<p>Notice that ending 100% of crime is impossible, what we do well is limit its actions. From here we can extract our first lesson when dealing with software: perfect code, totally bug-free, is impossible.</p>\n<p>Despite this conclusion, the fact that it is impossible does not mean that we should simply ignore the problem. On the contrary, we can, like the police, create strategic actions to combat Bugs. To the point that Bugs themselves will run away from our code.</p>\n<h3>A test as a Cop</h3>\n<p>Test Driven Development - TDD is a strategic action that provides a feeling of security in your code. Before the crime occurs, you position police officers in a specific region. Before the Bug occurs, you position the test in a specific place in your code.</p>\n<p>Robert C. Martin, in his book \"Clean Code: A HandBook of Agile Software Craftsmanship\", teaches us that writing unit tests before writing production code is just the tip of the iceberg in defining TDD. There must be a continuous cycle of improvement, in which there is always a test covering the code you are developing and this security that the code is protected allows you to play with it, and work with it. After all, whatever problem may happen, there is a police-test there to protect you.</p>\n<h2>Treat the injured first</h2>\n<h3>Prioritizing what matters</h3>\n<p>One of the functions of Highway Police Officers is to provide first aid in the event of traffic accidents. There are often serious injuries that must be treated as urgently as possible, as even 1 minute can make the difference between life and death.</p>\n<p>The first step when arriving at a traffic accident site is to mark the location appropriately to prevent other accidents. We must use lighting devices and other appliances to make it clear to other vehicles that there is a danger there.</p>\n<p>The police officer must then check the condition of all the injured to prioritize them according to the severity of each situation.</p>\n<p>Once the treatment of each injured person has been completed and, if necessary, they have been taken to the hospital, it is time to survey the accident site. At this stage, the police officer begins to collect all the information relating to the accident to have sufficient information so that a decision can be made on the cause of the accident and, when applicable, any culprits.</p>\n<h3>The appropriate Mental Model</h3>\n<p>This is the mental model that you and I must adopt when we are faced with a Bug. Although several procedures have been adopted to prevent it from occurring, it is a fatality that can happen. It's like when the highway was well designed, the vehicles were up to date with maintenance, but even so, due to carelessness or misunderstanding on the part of the driver, an accident happens.</p>\n<p>As in the case of traffic accidents, the first step to take is to secure the environment so that the Bug does not cause other problems. If possible, we can revert the application version to one in which the Bug did not appear. We can use a feature flag to temporarily disable a feature. Regardless of the method used to stop the bleeding, the important thing is that we must focus on treating the injured first rather than looking for culprits.</p>\n<p>We have to agree with David Thomas and Andrew Hunt, in their work \"The Pragmatic Programmer: your journey to mastery\" that facing Bugs is a sensitive subject for most developers. Instead of treating the issue as a problem to be solved, some approach it with denial, pointing fingers, lame excuses, or simply apathy. It's exactly the opposite of what is expected!</p>\n<p>Instead of looking for the culprit in a traffic accident, we must first assist the victims and stop the bleeding. In software, instead of finding out who inserted the Bug, we must solve it.</p>\n<h3>Ask before trying to find out</h3>\n<p>When treating an injured person in an emergency, one approach is to use the Glasgow Scale to determine the patient's consciousness. On this scale, one of the components is the verbal response.</p>\n<p>The injured person is asked simple questions, and by analyzing the responses, we can assess the level of consciousness and consequently the level of urgency of their care.</p>\n<p>You and I must carefully read every error message that is displayed during the Bug, it may contain vital information so that we can resolve the problem.</p>\n<p>You may be thinking, but what if there is no error message? If we are just faced with an incorrect result? Well, this also happens in traffic accidents, it is not uncommon for there to be an unconscious victim who cannot answer questions.</p>\n<p>When we discussed the sense of security, we talked about the importance of tests in our application. Go and build a test that can reproduce that Bug, so you can extract the information you need to solve it.</p>\n<p>Think of these tests like the motor tests that highway patrol officers perform on unconscious victims to check their level of consciousness: do the eyes open in response to pain? Is there a pupillary response to light stimulation? Mentally translate this into software language: Does the Bug repeat itself when I enter this and that parameter? And if I insert this new argument, does it happen too?</p>\n<p>To decide on a Bug, data is needed. If you don't receive this data, you must extract it.</p>\n<h2>Trust your tools</h2>\n<h3>When less is more</h3>\n<p>Police work is very complex and your day-to-day job involves the fight for life and protection of the most important assets for society. There would be no point in having a modern and efficient selection and training process for the development of police officers if they were not given the appropriate tools for their work.</p>\n<p>And when I say appropriate, I don't mean they are minimally capable of performing the task, as the result delivered is directly related to the quality and safety of the tools. For an excellent result, not only the police officers but their tools must also be excellent.</p>\n<p>In the police agency I worked for, one of the work tools used was an Austrian pistol known worldwide for its safety and efficiency. The Glock 17 pistol was developed to meet the strict criteria of the Austrian army who wanted to replace the model used during the Second World War.</p>\n<p>In addition to requirements on durability, efficiency, and reliability, safety against accidental firing was one of the pivots of the new model.</p>\n<p>But how did a knife factory manage to deliver the pistol model that would prove to be the safest? Well, it can be said that, in addition to intense testing, the secret to reliability was simplicity and maintainability. The person responsible for the project designed the equipment with as few parts as possible, minimizing complexity. Today the Glock pistol is made with an average of 35 parts, which is a much smaller quantity than other pistols on the market.</p>\n<p>With a simpler design, so-called first-level maintenance is much easier. Equipment users can easily perform maintenance procedures, making the equipment's efficiency last for decades.</p>\n<p>Of course, you must already remember the principle with the acronym KISS, which stands for Keep it Simple (omitting the last word because I don't want to offend the reader). The secret of that renowned pistol model was not in the used materials, but in being simple. The secret of maintaining your software in good shape is to keep it simple, having a specific component for each task. When a problem arises, you will know exactly which component to look for, as each component has a responsibility, this is the principle of Single Responsibility.</p>\n<p>Because of all this, when you are at a shooting range practicing your aim, the police officer knows that if he is not hitting the target, most likely, the error is in his procedure and not in the equipment.</p>\n<p>Allan Kelly, in one of his contributions to the Book \"97 Things Every Programmer Should Know\", corroborates this idea that we should trust our tools when dealing with Bugs. Considering our tools are widely used, mature, and in use by multiple companies, we have little reason to doubt their quality.</p>\n<p>Of course, a prototype, version 0.1, is much more fragile than a library that has been on the market for several years. We are also not saying that it is impossible to have bugs in compilers.</p>\n<p>But considering how rare compiler bugs are, what we are saying is that in the search for a Bug solution, we should trust our tools and look at our piece of code first.</p>\n<h3>Efficient distribution of efforts</h3>\n<p>Imagine it as an efficient distribution of efforts. The library or compiler code has already been reviewed and tested for many years by countless people. As for that little piece of code of yours, only God knows who besides you has looked at it on your team.</p>\n<p>On one of those days, I managed to solve an unpleasant bug that occurred in one of our services. It was a non-deterministic error in our test suite, that is, the Bug only pushed out its head when no one was looking.</p>\n<p>This type of non-deterministic error generally involves three types of origin: multithread, time sensitivity, and dissynchrony between construction and cleaning of test data.</p>\n<p>Analyzing the body of the failed test, after several hours, of course, I began to strongly distrust the way we created timestamps with a native Java library. After all, the test seemed perfect to me, if there was an error it must have been somewhere else.</p>\n<h3>Confidence that avoids shame</h3>\n<p>But, aware of this lesson that we should trust our tools, especially since the component in question had been in Java for 9 years, I ignored this distrust. This saved me a lot of time and embarrassment, as I'm going to share that the error was elsewhere.</p>\n<p>Our test suite ran all tests in a single thread, so it wouldn't be a concurrency issue. But it also ran each test in a deterministic but unpredictable order. Therefore, the source of the intermittent problem must be in some specific order in which the tests were performed.</p>\n<p>After several hours of analyzing the logs, I was able to identify two tests that failed when run in sequence. It turned out that, although our tests performed a test data cleaning routine after each execution, a simple typo had silently overwritten the cleaning method in one of the tests, which generated data inconsistency if such tests were executed in a specific order.</p>\n<h2>Communication via Radio</h2>\n<h3>Q-code</h3>\n<p>I remember that one of the first systems I developed when I worked in the police was one to replace the sending of statistics through radio communication. Many years ago, each police station was supposed to send daily work statistics via radio. Data such as number of people and vehicles inspected, car accidents, etc.</p>\n<p>This took a lot of time as the audio quality of radio communications was not always ideal. The interlocutors spent a lot of time transmitting and confirming each piece of information. All this using Q-Code</p>\n<p>The Q-Code is a standardized collection of three-letter codes used in radio communication. The use of Q-code even in voice transmissions makes communication safer and more efficient. Each set of three letters, always starting with the letter Q, has a specific meaning that is known to the interlocutors.</p>\n<p>I could see that two of those codes were widely used among police officers in radio communication: QAP and QSL.</p>\n<p>QAP was used when you wanted to transmit a message. Let's say someone wanted to talk to me, so he said on the radio: \"Bruno, QAP?\". This could be translated as \"Bruno, are you ready to hear a message?\"</p>\n<p>My answer could be QAP or for example QRM. If I responded with QAP, I was signaling that yes, I was ready to receive the message. If you responded with QRM, I would be informing you that at that moment the communication is being interfered with.</p>\n<p>During communication, the second most used Q-Code appears, QSL. At the end of each message, the sender ends it with the QSL. This means that he is asking the receiver to confirm whether they received the message. It would be something like: \"There is a suspicious vehicle heading towards your team, QSL?\" If I had understood the entire message, I should respond with a simple \"QSL\". In the absence of a response, the sender repeats the message until receiving confirmation from the receiver.</p>\n<p>Each message is concluded with a QSL, and its reception is confirmed with a QSL. Does this remind you of any transmission control protocol out here, used on the internet?</p>\n<p>The main thing here is that a large amount of knowledge is condensed into three letters, in a language that provides interlocutors with efficiency and security. Eric Evans, the author of \"Domain-Driven Design: Tackling Complexity in the Heart of Software\", would agree with me that there is a principle here that should also be adopted in software development.</p>\n<h3>The Language and the Domain</h3>\n<p>A language specific to the domain, which considers possible interference from the environment, a ubiquitous language that is known by all interlocutors, can be the difference between life and death, between success and damnation of a project.</p>\n<p>When a project does not have its own language for that domain, this creates the need for numerous translations between interlocutors. Developers have to translate for domain experts. These, in turn, have to translate their demands to developers. Even among developers, there may be a need for translations.</p>\n<p>All these translations make concepts confusing and the consequences of a lack of mutual understanding can be disastrous.</p>\n<p>The importance of this in trying to arrest a Bug goes much further than compilation errors or exceptions. It goes through the swampy characteristic that the software may be logically working almost perfectly, but it is not delivering what was expected by the stakeholder.</p>\n<p>Let's look at the following pieces of code:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>order<span class=\"token punctuation\">.</span>status <span class=\"token operator\">!=</span> completed<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n     <span class=\"token comment\">// (...)</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>order<span class=\"token punctuation\">.</span><span class=\"token function\">isFullyRefunded</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n     <span class=\"token comment\">// (...)</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Here we have a small example of two ways of expressing the same situation. In the second piece of code, a common language between developers and domain experts was used. Here, possible logical errors can be easily noticed, without the need to keep in mind what the possible states of the Order are and what the expected state is for that case.</p>\n<p>See the following code:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token class-name\">Payment</span> newPayment <span class=\"token operator\">=</span> payment<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>What do you expect from this code? Does it add ten dollars to the payment? Ten transactions, inbound or outbound? Will the method create a new payment object or will it just change the value of the payment variable and create a new reference called newPayment?</p>\n<p>A lesson also taken from the book \"Clean Code: A HandBook of Agile Software Craftsmanship\" shows that clear communication must also take place between software developers. Functions must communicate exactly what they are doing.</p>\n<p>If you have to look at the function's implementation to know what it's actually doing, that's a big sign that you need to rename it.</p>\n<h2>Bug is in jail</h2>\n<p>I'm very grateful that you've made it this far, you've certainly learned a lot about police activity and how some of its principles can be applied to combat and remove Bugs from your software.</p>\n<p>By applying this knowledge you will be able to work more confidently in your code, giving you peace in your daily life and also allowing you to experiment and discover new things.</p>\n<p>Your aim will be improved and you will get straight to the point, avoiding damage instead of first looking for the culprits. You become bolder and go further because you know you can trust your tools. This leaves you more time to refine your code and seek excellence.</p>\n<p>Finally, not only will your code be safe and efficient, but its result will also be in line with what your customers expect because through effective communication you can accurately deliver what was demanded from you.</p>\n<p>The result of all this is that Bug is in jail, lives are no longer in danger, and you can go home at the end of your shift to enjoy the rest of the day with your family which is looking forward to welcoming their hero back.</p>","fields":{"slug":"/bug-police-officer/","tags":["debugging","testing","TDD","DDD"]}}},{"node":{"id":"a34b3781-aea3-55c9-b730-6e611a223ff2","frontmatter":{"category":"Social","title":"Back to Social Life at AUTO1 Tech","date":"2023-08-25","summary":"A hybrid social life has begun in the spring of 2023 after the pandemic. We have experts at AUTO1 Tech that have been invited to different public speeches.","thumbnail":null,"authorName":"Yi-Wen Fang","authorDescription":"Executive Assistant Tech","authorAvatar":null,"headerImage":null},"html":"<p>A hybrid social life has begun in the spring of 2023 after the pandemic. We have experts at AUTO1 Tech that have been invited to different public speeches.</p>\n<h3>QA Session on TEST AUTOMATION DAYS 2023 in Rotterdam</h3>\n<p>On May 25th 2023, our Director of Software Quality Assurance, Alexander Gyulai, gave a session on the topic of MODULAR AUTOMATION at TEST AUTOMATION DAYS 2023, where networking with software testing professionals and learning from the world’s leading test automation experts.</p>\n<p>He focused on topics of scaling, architecture and collaboration in automation testing. And the details covered in</p>\n<ul>\n<li>\n<p>How and why to move common components into modules and how to re-use it across the company.</p>\n</li>\n<li>\n<p>How did we scale testing of our platform with 700+ services and hundreds of releases per month.</p>\n</li>\n<li>\n<p>Setup release and distribution process of the automation modules</p>\n</li>\n<li>\n<p>Integrate platform modules into automation components</p>\n</li>\n</ul>\n<p>Besides technical advantages, he also shared how this approach improved collaboration and communication between developers and quality assurance engineers.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/54a23b1dab0aaa9a98cf2a670be05257/c1266/test_automation_days_1.jpeg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 60.74999999999999%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAMABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAgX/xAAVAQEBAAAAAAAAAAAAAAAAAAACAP/aAAwDAQACEAMQAAABSuPZqTsBX//EABkQAQADAQEAAAAAAAAAAAAAAAIAAQMRIv/aAAgBAQABBQJtiW2a9qPRaQHrIoV//8QAFREBAQAAAAAAAAAAAAAAAAAAABH/2gAIAQMBAT8BR//EABURAQEAAAAAAAAAAAAAAAAAAAAS/9oACAECAQE/AVP/xAAcEAADAAEFAAAAAAAAAAAAAAAAARECISIyUWH/2gAIAQEABj8C1xnQquRcTcJekR//xAAbEAEAAgIDAAAAAAAAAAAAAAABABEhMUFRcf/aAAgBAQABPyGg4uDpiLUDCsKdh6xAVdagMXTSBSwdz//aAAwDAQACAAMAAAAQfw//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/EB//xAAXEQADAQAAAAAAAAAAAAAAAAABEBEh/9oACAECAQE/EKZqf//EAB0QAQEAAgIDAQAAAAAAAAAAAAERAEEhMVFxgZH/2gAIAQEAAT8Qt+awN2tj2YUq4U6PHM39xAmvdCP5zlq5QSBcSNdm6z305XP/2Q=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"test_automation_days_1\"\n        title=\"Test Automation Days 2023\"\n        src=\"/static/54a23b1dab0aaa9a98cf2a670be05257/f8fb9/test_automation_days_1.jpeg\"\n        srcset=\"/static/54a23b1dab0aaa9a98cf2a670be05257/e8976/test_automation_days_1.jpeg 148w,\n/static/54a23b1dab0aaa9a98cf2a670be05257/63df2/test_automation_days_1.jpeg 295w,\n/static/54a23b1dab0aaa9a98cf2a670be05257/f8fb9/test_automation_days_1.jpeg 590w,\n/static/54a23b1dab0aaa9a98cf2a670be05257/85e3d/test_automation_days_1.jpeg 885w,\n/static/54a23b1dab0aaa9a98cf2a670be05257/d1924/test_automation_days_1.jpeg 1180w,\n/static/54a23b1dab0aaa9a98cf2a670be05257/c1266/test_automation_days_1.jpeg 1200w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5b7a8bcc0e5bdeacf4fe1aa17782de70/c1266/test_automation_days_2.jpeg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 69.66666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQD/8QAFQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAdMITNKUP//EABoQAAMAAwEAAAAAAAAAAAAAAAECAwAREiH/2gAIAQEAAQUCT2bMRS1CtCxGBjurHv8A/8QAFREBAQAAAAAAAAAAAAAAAAAAEBH/2gAIAQMBAT8Bh//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABgQAQEBAQEAAAAAAAAAAAAAAAEAEQIx/9oACAEBAAY/AjpgD2TnMi2dv//EABoQAQACAwEAAAAAAAAAAAAAAAEAESFBUTH/2gAIAQEAAT8ht7R4Q8WGyAgtLggLMdlxa0yXKECzk//aAAwDAQACAAMAAAAQJz//xAAVEQEBAAAAAAAAAAAAAAAAAAAREP/aAAgBAwEBPxBKz//EABcRAQEBAQAAAAAAAAAAAAAAAAERAFH/2gAIAQIBAT8QpJMBzf/EABwQAQADAAMBAQAAAAAAAAAAAAEAESExQWFxkf/aAAgBAQABPxDbKdodcypsBcl1OnyCFusNp+xuUbtOqfOoYapk+Q6hC/Ckpu8v2f/Z'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"test_automation_days_2\"\n        title=\"Test Automation Days 2023\"\n        src=\"/static/5b7a8bcc0e5bdeacf4fe1aa17782de70/f8fb9/test_automation_days_2.jpeg\"\n        srcset=\"/static/5b7a8bcc0e5bdeacf4fe1aa17782de70/e8976/test_automation_days_2.jpeg 148w,\n/static/5b7a8bcc0e5bdeacf4fe1aa17782de70/63df2/test_automation_days_2.jpeg 295w,\n/static/5b7a8bcc0e5bdeacf4fe1aa17782de70/f8fb9/test_automation_days_2.jpeg 590w,\n/static/5b7a8bcc0e5bdeacf4fe1aa17782de70/85e3d/test_automation_days_2.jpeg 885w,\n/static/5b7a8bcc0e5bdeacf4fe1aa17782de70/d1924/test_automation_days_2.jpeg 1180w,\n/static/5b7a8bcc0e5bdeacf4fe1aa17782de70/c1266/test_automation_days_2.jpeg 1200w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<h3></h3>\n<hr>\n<h3>Podcast on Data Observability &#x26; Beyond</h3>\n<p>Fabian Schomm-von Auenmüller, Head of Data Platform, was interviewed in July by the Data For Good Podcast, which is hosted by Zuma, a recruitment agency focusing on data technology professionals in Berlin.</p>\n<p>In this interview, Fabian focused on the monitoring and assurance of data quality within data pipelines. He explained that data observability encompasses processes from logging to monitoring, alerting, and ensuring data quality throughout its lifecycle. Fabian emphasized that catching data issues early is crucial for maintaining trust and preventing downstream problems. He recommended initiating data observability practices as early as possible and discussed tools like Elementary that integrate well with DBT (Data Build Tool). He highlighted the benefits of having explicit tests to validate assumptions and being prepared for failures. Fabian anticipates that future trends in data observability might involve leveraging AI and machine learning for pattern recognition and anomaly detection, ultimately enhancing the quality and reliability of data pipelines.</p>\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/8V102SVHkz4\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen></iframe>\n<p>We are proud of Alexander and Fabian and their works that provided an insight to the everyday projects and challenges the Technology team at the AUTO1 Group manages. We hope you find these as interesting as we do. We all grow along with the company, as does our data and infrastructure. Let’s work SMARTER instead of harder!</p>","fields":{"slug":"/back-to-social-life-at-auto1-tech/","tags":["auto1","engineering","social","qa","dataengineer"]}}},{"node":{"id":"74d57990-d6af-5953-b038-ee5d823d3e7a","frontmatter":{"category":"DevOps","title":"Enhancing AUTO1 Cloud Security Posture with Terraform Security Scanners","date":"2023-04-28","summary":"This article describes our journey to adopt KICS terraform scanner into our toolset. We will go through our approach to choosing the right tool from a vast selection of great options.","thumbnail":{"relativePath":"pages/terraform-security-scanners/logo.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABBElEQVQY053RP2vCQBjH8eggRToIXYriVkFUsF7E6CAoaiLdLEJLh7rXLv4Dh0wuQqFQEBxEyFyo+iZcJVC7uPWd6PcpcXAqePDhnuTufsndaR3TbcPBL3aYd033qWQ8+LRzGgELAsb0Q9jU0465mchYRqUTutJflVI1WGgijjyi0Gk5BKmLQgIHeMMLPrqWuyXwWQKzygizZsVEE194xx3uEUMbKW88iZAENrHmz0qoUxPoFo874Os2CFYTVHGFClp4RMR7vsW1BAawRI/AERwJapQH2t7ea7JFAi/pb+Q9vdQFWYy0V1/AQPZ4jkF8Ytazvv8uo2/9+CKp0/Mm2P/fnRwAs2dyCkXlBpwAAAAASUVORK5CYII=","width":640,"height":189,"src":"/static/83bade24f8196b98a976b4fdbaebd2eb/0a508/logo.png","srcSet":"/static/83bade24f8196b98a976b4fdbaebd2eb/0a508/logo.png 1x"}}},"authorName":"Artem Marusov","authorDescription":"Artem Marusov is a Senior DevSecOps Engineer in the DevOps Team based in the Berlin office.","authorAvatar":{"relativePath":"pages/terraform-security-scanners/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsSAAALEgHS3X78AAAEkklEQVQ4yzVTCVNTVxR+v6EznUpYzPISCI1BZQoqLoMFiyyiLKKtUKAFEVpNaiG2yNIqlAwqboAFAgwOGBhQOtRCKsxQQKqY5eVlee9l33cgpGwDndILpTNn7tw753zn+85yobd/iiXvEESqUCnUuJowGMwERnT//CTrdOKxg6yEmKispJOtD5pMRovFZNPgWkyFo4hKKpGL30mhuTdiqViukO8gdcaJ0Zd5Gek0UjCVRIJDSMwwUnxURDybUVrwOQiwmKwEplErMLlMIXkng8RzUkSKqhQ4yOp0uB7V1UaHfXCIGhJLDjodRc/+KCIhkvwxmx4Dh5SXXbZbHXqtAWQBZFIxAoEEQMZ/tF6395vSksL46N/rv5L3NRl/68GETaKGa7U5iUeZlAhK2MwfM067C5CrFBgiQyGZGFGgmBbXWowWn3ehilP2rLp49XX/hmpyTTG5jog2Z4XuF/d+KDgbvjdsdmbW4/ZqCZ1aua0ckknkaiWu1+ptZtvi4hK/slxYU2L7td069jQw99I7NfimrW7qAa+uMO1kbDSOazwur15nBEpRRAkBdtBAoNlmsa+urgu7BdW5KZUXkipSDluH7o7dLimI+/Bmxomy5NjMhOMWo8nj8hn1JqBcIVdBgB1TEeDtcLgCi/7RnvaWr3Ma81LbynIIQfUsv0zAyW2/nNZSms5JPiodFs4HVow6I4FpUbkagJUgjclgdjrdS36/dGRA1tvoE7U5f3nsHbqvF9TOj3UuTXSI7nBaijJt0xPexYDJYAKjAW2GUJkSV2vADrgc7sDyinFmXNp3f3VGiHfVPavI77ySYe5t8IkEHdcvNRdlzxsMHu+C2WDeBSvkgJkAYDDkv5bXHFpi4km9SlA58t0lfnY8sKHrWeP1xbfzU0S9XYHAqtPpMRstBL5TswJRbcsGYKd7ccG/tvH3ZH97f0VWc0GSqLz4JffL9qLUbu7ZW8XnHV6/b3HZbndvgzHNjmwEyCZAzS6Ha947/8/W1utXoy2laXMPOcNVBcJvcyb4JTcy4xqqeP6VDbvLZ7W5jNv7/z94t9s2p9fjW1vfcDlseafjbuV90nE1494XiTcuJLBD3xe0Pl7Z2DJYnCaLU68zAz7QaTBnMCpcp9FbLfYlf2BtfdM/7+HmJMF73mPvJbHIJDh4z3FGyGBPp39zS292anQWjcagVuHgR0ASMQJ2zWq2AubpqTfI3Fv5q8EX/GvcjBMHyEFsctCZWBb3XNwdTt7oyIgE1ZmsHpwwoHKVVCyDMCWOSNCBgWEer/bQkVM/8Thof+NYc814a82PuUmc9Dh+0bma/JRu3qdXslMTTqU3PWybfi3GMJ0SVUN3Gh+dScvZty8mknmAxTp4OOZIF79y9ulddKh17MH3ww3c5/zyhtLzFYUX97OjYSoT2NFjCVev8Xr7nkMwzKKQGQx6JDOCDSycsY/FZH+WnnyzJL+BW1JTWnAxOTGaHUUFMBoThNHhSAqZHhpCZTL3QwyYSacxadQI4KPDu+7gEFpwMJVMCQ8NhbcvZDqNGg7TIsBJpTCoFHBnUsjwv61+3idVvgk1AAAAAElFTkSuQmCC","width":50,"height":50,"src":"/static/73b4f6833b9dadf507bf9df0f8322e21/45876/avatar.png","srcSet":"/static/73b4f6833b9dadf507bf9df0f8322e21/45876/avatar.png 1x,\n/static/73b4f6833b9dadf507bf9df0f8322e21/eb85b/avatar.png 1.5x,\n/static/73b4f6833b9dadf507bf9df0f8322e21/4f71c/avatar.png 2x,\n/static/73b4f6833b9dadf507bf9df0f8322e21/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/terraform-security-scanners/header.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsSAAALEgHS3X78AAABpUlEQVQoz2PglDBHQhYQxCFhxiEOQlyS5kAEkYKIICtjAHEkgSxzDjCCmMIlacUF5jIJGTIKGrKJmgDVQDTD9JtzipszcIibg5EZjGHOKmooKOMtr57k7J9k75Xs4JMsoebEKmICsgCmH2IEA1wbxDygbbyy1oLyDmJKXrI67gp6XooGPmIqTrwy1sg6IVrAmpGM5JG2ltFxElIx41c0ZhRU45Iz4pQx5JIzlNB04JGyYhczRTaCAcnBUM3imrZsEmrCKkZ13dPW7zikYOTAwCMrpGLJK22NTTMk9ED6TYHOk9R24JTSlNYyv3r/9cOP/5PzyxnYJMQ0bHFohvrZgl3MjFvKUkjVkklMmYFfLrmgpqSpX9HQjoFTUlARGG0gZ0OjCuZnc3joAeXEVF2MHCP1bPx1rP1VjD0kNe0VDT3UzX307cIk1F3ZIJpBUWsJimeINpARYM1AFeqmweomwUBS0yxE2yJM0zxUwzRYwyxEUsMN6DSUqAIawCWJSD1As5mFDEFI2AiEQGwjCJdV1AQ9nsFusIAmAGjSQ06wwNSGEEFLZAAKTmZdNevBHQAAAABJRU5ErkJggg==","width":1280,"height":748,"src":"/static/84f9df6613e6af34b6e63796561794af/26421/header.png","srcSet":"/static/84f9df6613e6af34b6e63796561794af/26421/header.png 1x,\n/static/84f9df6613e6af34b6e63796561794af/34a7a/header.png 1.5x"}}}},"html":"<h2>Introduction</h2>\n<p>At AUTO1, we rely on Terraform to manage our cloud infrastructure. And of course, we are trying to pay close attention to its security posture. Over time we realized that relying solely on reactive methods, such as AWS Config and Security Hub, to identify and combat misconfigurations in our AWS services wasn't sufficient. It was imperative for us to shift left in our infrastructure development cycle to avoid repeating the same misconfigurations over and over again. In this blog post, we'll be discussing the journey of how we implemented security scans for our Terraform code.</p>\n<h2>Goals and Success Criteria</h2>\n<p>Idea would be to introduce some sort of security tool, that would scan all of our changes introduced in the infrastructure codebase and report on security finding. Based on that we could eventually start to prevent merge of PRs that contain some of the most critical misconfigurations. That way we wouldn't have to chase the same Security Hun findings all of the time.</p>\n<p>To ensure successful implementation of Terraform security scanning, we needed to address two key questions:</p>\n<ol>\n<li>\n<p>Are we fully prepared to incorporate Terraform security scanners into our daily operations, even if it means potential blocks on some of our changes?</p>\n</li>\n<li>\n<p>If yes, then which one would be the best fit for our requirements?</p>\n</li>\n</ol>\n<p>To answer these questions, we had to formulate specific criteria that the security scanning tool had to meet.</p>\n<table>\n<thead>\n<tr>\n<th><strong>#</strong></th>\n<th><strong>Our ideal terraform security scanner...</strong></th>\n<th><strong>Importance</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>is able to perform various security checks on the terraform code for the majority of important AWS services (including custom checks: encryption, IAM, public resources, etc.</td>\n<td>CRITICAL</td>\n</tr>\n<tr>\n<td>2</td>\n<td>can be integrated into our development cycle for different repositories via Github Actions</td>\n<td>CRITICAL</td>\n</tr>\n<tr>\n<td>3</td>\n<td>can be run on self-hosted Github runners</td>\n<td>HIGH</td>\n</tr>\n<tr>\n<td>4</td>\n<td>has capability to configure different conditions to fail or pass checks (for example severity of the finding)</td>\n<td>MEDIUM</td>\n</tr>\n<tr>\n<td>5</td>\n<td>has capability to suppress findings directly inline in code</td>\n<td>HIGH</td>\n</tr>\n<tr>\n<td>6</td>\n<td>has good readability of the scan results</td>\n<td>MEDIUM</td>\n</tr>\n<tr>\n<td>7</td>\n<td>can be integrated into AWS Security Hub or AWS Inspector (or some other centralized view for analysis, like DefectDojo)</td>\n<td>LOW</td>\n</tr>\n<tr>\n<td>8</td>\n<td>has an open source community version</td>\n<td>HIGH</td>\n</tr>\n<tr>\n<td>9</td>\n<td>has good documentation, including mitigation recipes for found misconfigurations</td>\n<td>LOW</td>\n</tr>\n<tr>\n<td>10</td>\n<td>should take as little time as possible to scan target modules</td>\n<td>MEDIUM</td>\n</tr>\n<tr>\n<td>11</td>\n<td>can scan external terraform modules (local or on Github)</td>\n<td>LOW</td>\n</tr>\n<tr>\n<td>12</td>\n<td>can scan single files, not only directories</td>\n<td>LOW</td>\n</tr>\n</tbody>\n</table>\n<p>I think all of the criteria are pretty self-explanatory. Assigned 'importance' will come into play later, for now it just should be noted that of course chosen criteria and assigned values are mostly subjective and very team-dependent — for our specific case this outline was close enough.</p>\n<p>With goals and criteria of PoC figured out, we had to round up some contenders.</p>\n<h2>Choosing contenders</h2>\n<p><a href=\"https://postimg.cc/F1gJJZKf\"><img src=\"https://i.postimg.cc/kMLNzY3y/Picture1.png\" alt=\"Community adoption is important\"></a></p>\n<p>We started by conducting an initial assessment of the available Terraform security scanning tools. Based <em>mostly</em> on community adoption, we compiled a longlist of contenders, which included:</p>\n<ul>\n<li><a href=\"https://github.com/bridgecrewio/checkov\">checkov</a> by Bridgecrew</li>\n<li><a href=\"https://github.com/Checkmarx/kics\">KICS</a> by Checkmarx</li>\n<li><a href=\"https://github.com/fugue/regula\">regula</a> by Fugue</li>\n<li><a href=\"https://github.com/snyk/cli\">snyk</a> by Snyk</li>\n<li><a href=\"https://github.com/SonarSource/sonarqube\">SonarQube</a> by SonarSource (made the list only because we already use it as SAST for our application codebase and it recently started to support terraform)</li>\n<li><a href=\"https://github.com/tenable/terrascan\">terrafscan</a> by Tenable</li>\n<li><a href=\"https://github.com/aquasecurity/tfsec\">tfsec</a> by Aqua Security</li>\n<li><a href=\"https://github.com/aquasecurity/trivy\">trivy</a> by Aqua Security</li>\n</ul>\n<p>Here it is important to know that PoC took place in the second part of 2022, so our observations and conclusions were made based on the versions of these tools that were available at the time.</p>\n<p>The initial assessment was rather straightforward. It involved installing each tool, scanning a Terraform module that was part of our infrastructure, and evaluating the scan results. Based on the results of the evaluation (which basically boiled down to briefly looking at the produced report and comparing it to the results generated by other tools), we narrowed down the list to the following contenders:</p>\n<ul>\n<li>checkov</li>\n<li>KICS</li>\n<li>tfsec</li>\n</ul>\n<p>The ones that didn't make the cut either:</p>\n<ul>\n<li>\n<p>were producing non-satisfactory scan results:</p>\n<ul>\n<li>regula — had just mediocre list of available security checks, hence not too many findings;</li>\n<li>SonarQube — only recently got capability to scan terraform and at the time of testing had only around of 30 security checks (shortlisted contenders each already had more than a hundred at that time);</li>\n<li>terrascan — strangest case of all. According to the community adoption should show decent results, but for some reason I couldn't make it to produce them. I still think that it might be the result of misconfiguration, although there isn't much to configure there, to be honest.</li>\n</ul>\n</li>\n<li>turned out to be overkill for our use case — trivy actually can do a lot more than just to scan terraform code. Tfsec from the same vendor is a better pick for us. Not to mention, that it seems like under the hood trivy uses tfsec to scan terraform.</li>\n<li>had very hard usage limits introduced in the community version — snyk</li>\n</ul>\n<p>At the same time all the tools that we chose to shortlist looked pretty great. So, now we had to test each of them properly in order to decide which one would win.</p>\n<h2>Preparations</h2>\n<p>To properly evaluate the shortlisted tools, we decided to integrate them into our main infrastructure repository as Github Workflows.</p>\n<p>This way we would gather relevant statistics very quickly and at the same time get a taste of the new way of implementing changes.</p>\n<p>Github Workflows is an automation tool that is integrated within the Github platform. These workflows allow you to automate a variety of tasks, such as building and testing your code, releasing software updates, and more. Workflows are defined in a specific file format called YAML, which is stored in your Github repository. The workflows are triggered by specific events, such as a code push or a pull request, and they can run a series of actions in response to these events. These actions can be anything from running a set of commands, to integrating with external tools and services.</p>\n<p>Typical workflow in our case looked roughly like this:</p>\n<div class=\"gatsby-highlight\" data-language=\"yml\"><pre class=\"language-yml\"><code class=\"language-yml\">name: tfsec\non:\n  pull_request:\n\njobs:\n  tfsec:\n    name: tfsec\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v3\n        with:\n          fetch-depth: 0\n\n      - name: Get changed files\n        id: changed-files\n        uses: tj-actions/changed-files@v35\n        with:\n          dir_names: true\n\n      - name: Install tfsec\n        continue-on-error: true\n        run: |\n          wget -O - -q &quot;$(wget -q https://api.github.com/repos/aquasecurity/tfsec/releases/latest -O - | grep -o -E &quot;https://.+?tfsec-linux-amd64&quot; | head -n1)&quot; &gt; tfsec\n          install tfsec /usr/local/bin/\n          tfsec --version\n\n      - name: Setup SSH Keys and known_hosts\n        env:\n          SSH_AUTH_SOCK: /tmp/ssh_agent.sock\n        continue-on-error: true\n        run: |\n          ssh-agent -a $SSH_AUTH_SOCK &gt; /dev/null\n          ssh-add - &lt;&lt;&lt; &quot;${{ secrets.TERRASCAN_SSH_KEY }}&quot;\n\n      - name: tfsec Security Scan\n        env:\n          SSH_AUTH_SOCK: /tmp/ssh_agent.sock\n          TERM: xterm-color\n        continue-on-error: true\n        run: |\n          for directory in ${{ steps.changed-files.outputs.all_changed_files }}; do\n            echo &quot;$(tput setaf 2) Currently scanning module: $directory&quot;\n            tfsec $directory --soft-fail || true\n          done\n\n      - name: Post scan message\n        continue-on-error: true\n        run: |\n          cat &lt;&lt; EOF\n          If security scan found misconfigurations in the code,\n          please either try to fix them or create inline ignore comments for the\n          appropriate resources.\n\n          Format:\n          (Place comment before resource code block or in the offending line)\n          #tfsec:ignore:&lt;rule&gt;\n\n          Rule identificators are specified in the scan results.\n\n          More about tfsecs format can be found here:\n          https://aquasecurity.github.io/tfsec/v1.27.4/guides/configuration/ignores/\n          EOF</code></pre></div>\n<p>Let's go over it bit by bit to explain what exactly is going on here:</p>\n<div class=\"gatsby-highlight\" data-language=\"yml\"><pre class=\"language-yml\"><code class=\"language-yml\">name: tfsec\non:\n  pull_request:\n\njobs:\n  tfsec:\n    name: tfsec\n    runs-on: ubuntu-latest</code></pre></div>\n<p>In the beginning we need to define the name of the workflow (\"tfsec\"), its trigger (in our case — only opening or changing PRs) and where it will run. In this case it will run on Github Managed runners, but it is possible to integrate your own runners deployed, for example, in AWS — then we'd have to reference them using a specific name tag.</p>\n<p>In this case we defined only one job with multiple steps.</p>\n<p>Here they are:</p>\n<div class=\"gatsby-highlight\" data-language=\"yml\"><pre class=\"language-yml\"><code class=\"language-yml\">    steps:\n      - name: Checkout\n        uses: actions/checkout@v3\n        with:\n          fetch-depth: 0</code></pre></div>\n<p>Pretty standard, we use another Github Action (provided by Github in this case) to checkout target repo.</p>\n<div class=\"gatsby-highlight\" data-language=\"yml\"><pre class=\"language-yml\"><code class=\"language-yml\">      - name: Get changed files\n        id: changed-files\n        uses: tj-actions/changed-files@v35\n        with:\n          dir_names: true</code></pre></div>\n<p>Here is the attempt to optimize our process. So, obviously when we started this PoC, we already had a pretty sizable terraform repo on our hands. For that reason, it didn't make a lot of sense (and also would be kind of unfair to a person that wants to make some small change to a specific module) to scan the whole repo and report on it each time someone creates a new PR. So here we use another awesome action to limit our scan to only changed modules. <strong>dir_names</strong> option indicates that we get only names of the directories that hold changed files, not the filenames themselves. This is used here because tfsec expect scanning path to be a single directory. For tools, that can scan separate files, we would disable this option to optimize scope.</p>\n<div class=\"gatsby-highlight\" data-language=\"yml\"><pre class=\"language-yml\"><code class=\"language-yml\">      - name: Install tfsec\n        continue-on-error: true\n        run: |\n          wget -O - -q &quot;$(wget -q https://api.github.com/repos/aquasecurity/tfsec/releases/latest -O - | grep -o -E &quot;https://.+?tfsec-linux-amd64&quot; | head -n1)&quot; &gt; tfsec\n          install tfsec /usr/local/bin/\n          tfsec --version</code></pre></div>\n<p>This one is pretty self-explanatory. We need to download and install the latest version of the required tool.</p>\n<div class=\"gatsby-highlight\" data-language=\"yml\"><pre class=\"language-yml\"><code class=\"language-yml\">      - name: Setup SSH Keys and known_hosts\n        env:\n          SSH_AUTH_SOCK: /tmp/ssh_agent.sock\n        continue-on-error: true\n        run: |\n          ssh-agent -a $SSH_AUTH_SOCK &gt; /dev/null\n          ssh-add - &lt;&lt;&lt; &quot;${{ secrets.TERRASCAN_SSH_KEY }}&quot;</code></pre></div>\n<p>This one is actually pretty tool and environment specific. It's relevant for tools that can scan modules that are being sourced from Github repos. Here we allow runners to use previously created SSH key, authorized to pull those modules.</p>\n<div class=\"gatsby-highlight\" data-language=\"yml\"><pre class=\"language-yml\"><code class=\"language-yml\">      - name: tfsec Security Scan\n        env:\n          SSH_AUTH_SOCK: /tmp/ssh_agent.sock\n          TERM: xterm-color\n        continue-on-error: true\n        run: |\n          for directory in ${{ steps.changed-files.outputs.all_changed_files }}; do\n            echo &quot;$(tput setaf 2) Currently scanning module: $directory&quot;\n            tfsec $directory --soft-fail || true\n          done</code></pre></div>\n<p>Finally, we can scan code. We use a list of changed directories, found by one the previous steps, and just iterate through, launching the security tool to scan each one.</p>\n<p>Last part would be just a message to hint at the next possible steps for the engineers. In our case it was just a link to the documentation.</p>\n<p>One important thing. You might have noticed that almost in every step we use this option:</p>\n<div class=\"gatsby-highlight\" data-language=\"yml\"><pre class=\"language-yml\"><code class=\"language-yml\">continue-on-error: true</code></pre></div>\n<p>It was really crucial at this stage to not block work of the engineers under any circumstances. This option ensured that even if some step of the workflow would fail or produce security finding, it wouldn't block the PR.</p>\n<p>Because we wanted to compare all three scanners simultaneously to ensure that our observations were always in the same context, we had to construct a workflow for each one and activate them in our repository. Workflows looked roughly the same with small adjustments specific for each tool. After implementation was done it was time for the team members to continue to write code, push PRs and that way generate more and more scan results. For those who were directly responsible for the PoC it was time to perform some tests against formulated success criteria based on accumulated statistics.</p>\n<h2>Proof of Concept</h2>\n<p>Based on the accumulated scan results we tried to estimate how well each tool complies with our requirements.</p>\n<p>Boiled down results are listed below. We tried to make them at least a bit self-explanatory so we could be able to reference them in the future, when someone will inevitably ask: \"Does anybody remember why we chose this scanner over that scanner?\".</p>\n<p>We listed previously defined criteria and assigned numeric value to their importance characteristic:</p>\n<ul>\n<li>critical — 1.0</li>\n<li>high — 0.75</li>\n<li>medium — 0.5</li>\n<li>low — 0.25</li>\n</ul>\n<p>Then based on our observations we graded every tool, basically evaluating compliance of each tool to every criterion. Grades multiplied by importance got us numeric results that we could use to objectively compare contenders. Below are the results supplemented by the comments, intended to justify each grade. For better readability you can check out this <a href=\"https://docs.google.com/spreadsheets/d/1XLBaZEuGWcZls6VMFcDsBCCf2S5iTCkg7vL-49fGejg/edit?usp=sharing\">Google sheet</a>.</p>\n<iframe width=\"100%\" height=\"1080\" src=\"https://docs.google.com/spreadsheets/d/e/2PACX-1vQU2WdBiYPKZjE8d3Mq_5Ktj6oBlvJI-wkXOi_x8gk9MgYYUwpdpUFGFwT4B0F8ssYW5Nl3eLa5qRG1/pubhtml?gid=0&amp;single=true&amp;widget=true&amp;headers=false\"></iframe>\n<h2>Results and Conclusion</h2>\n<p>In the end we chose KICS as our terraform security scanner. Honestly, I believe that we'd have chosen it even if it wouldn't score highest in our internal test rating (but it also helped to reach the decision, of course). Reason for that would be that basically with the same scanning quality as other just these two KICS's killer-features:</p>\n<ul>\n<li>great scan visibility provided in the form of PR comments and annotations (this is a special feature of this <a href=\"https://github.com/Checkmarx/kics-github-action\">KICS Github Action</a>);</li>\n<li>ability to scan only changed files, nothing else (instead of the whole directories).</li>\n</ul>\n<p>made it the most appealing candidate. It is now integrated to all of our terraform repositories (more than a 100 in total). It scans every PR we make, reports on it and blocks them if any of the findings were classified with severity \"high\" (highest in the KICS terminology).</p>\n<p>As for the initial goal — to make our infrastructure a bit more secure — I believe KICS has indeed assisted us with that quite well. Sometimes we just fix one small existing or newly introduced misconfiguration and go on with our day. But sometimes we find something that turns into an epic with dozens of tickets that cover hundreds and hundreds of our resources and services. Both scenarios are great and valuable in the end. Additionally, it spreads awareness across all of the DevOps team about available security options of various AWS services and in general more secure ways to use them (at least I really hope so). Taking all this into account, the effort was well worth it and I think we will continue to benefit from it further and further.</p>\n<p>Thank you for reading!</p>","fields":{"slug":"/terraform-security-scanners/","tags":["security","terraform","DevOps","DevSecOps"]}}},{"node":{"id":"d53c49b4-fba1-5071-b078-79bbf0f23344","frontmatter":{"category":"Engineering","title":"A wild Thread appeared! Multithreaded Testing and Thread-safety","date":"2023-02-24","summary":"Today we'll talk a little about how threads work on computers and how to extract more value from concurrent tasks. For this, I will present techniques on how to develop and especially how to test code that uses multiple threads, avoiding the main pitfalls that involve this theme. Of course, along the way, you'll also learn more about Java's Concurrent package, non-blocking algorithms, immutability, and more. However, we need to start by talking a little bit about butter.","thumbnail":null,"authorName":"Bruno Morais","authorDescription":"Bruno is a Senior Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/a-wild-thread-appeared-multithreaded-testing-and-thread-safety/avatar.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQDAQX/xAAXAQEBAQEAAAAAAAAAAAAAAAABAwIE/9oADAMBAAIQAxAAAAGmbSadPSZMPIBLBy1//8QAHBAAAwABBQAAAAAAAAAAAAAAAQIDIQAQERIj/9oACAEBAAEFAqOVEql2047LLDc7A+i5H//EABcRAQEBAQAAAAAAAAAAAAAAAAEAEBL/2gAIAQMBAT8BC5jP/8QAGREAAwADAAAAAAAAAAAAAAAAAAECEBET/9oACAECAQE/AW9HSSsf/8QAGhAAAQUBAAAAAAAAAAAAAAAAAQACEBEhQf/aAAgBAQAGPwLBZRa4VFYt5Jj/xAAcEAADAAIDAQAAAAAAAAAAAAAAAREhURAxYXH/2gAIAQEAAT8ho6G+i0ElVBP0c6AzfMaH3OHLLoTIz//aAAwDAQACAAMAAAAQcC98/8QAGREAAwADAAAAAAAAAAAAAAAAABExEFGB/9oACAEDAQE/EGQbRPcf/8QAGxEAAgIDAQAAAAAAAAAAAAAAAAERMVFhscH/2gAIAQIBAT8QuM2dElucejs//8QAGxABAQEBAAMBAAAAAAAAAAAAAREAITFBYXH/2gAIAQEAAT8QEiRCoPrgpVComQJxnQidLfOE1gCkvzQ9j4TPv80LcHh6dw+UV3//2Q==","width":50,"height":50,"src":"/static/8d7223890dda036e0121799406a35506/d2d31/avatar.jpeg","srcSet":"/static/8d7223890dda036e0121799406a35506/d2d31/avatar.jpeg 1x,\n/static/8d7223890dda036e0121799406a35506/0b804/avatar.jpeg 1.5x,\n/static/8d7223890dda036e0121799406a35506/753c3/avatar.jpeg 2x,\n/static/8d7223890dda036e0121799406a35506/31ca8/avatar.jpeg 3x"}}},"headerImage":null},"html":"<h1>A wild Thread appeared! Multithreaded Testing and Thread-safety</h1>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0fc0ab78e60b645d61810b733618e058/a231e/wild_appeared.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 568px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 73.94366197183098%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsSAAALEgHS3X78AAAC60lEQVQ4y4VTzU8TURDfszev/jV6MzHxaGLi0YsHSTDGaKBUY2LUGhC/QBCUSktrAWkLLVDaSkERTCr02wKlBftBMUDbLbu03RnnPdgGNOgkv8y8eTO/mZ15K9RqtX2C/C8oisI1AMiSLMuIyG2mD+8rpAuEZoEukBzI9Elg90yyuU0MhiIYCkdxKRjBdDaHqhwWvyuwYDKAgWxQ7T99lAObm3mIL6/C7Nw8DBqMYB91gry/D4eEEkHLCavVKhCYk+NoZ+ysauYTxTJ+GLKi0TSIU14f7knSUcKDDll1tXWFksrlMpYlmYKUOplKyEbY129Gg8GE0Vic5zJ/nZB5fiZXIBELY6kk4ox3HOdnxnHBacHMxro6n3qnlUoFI9EfGPi2gDvb238T6nuHUNfwCJy6x/iiTYcPHj7BtrZ2DLxrxWxylROycVRrhGqF2/VFKDU+rmOEugc6PH3qDGgabkHns1a413wHmm7egOeNVyG5HOfLYEmHYzkJrPsDwm7tfbx09gLoNC04+8mD3iEDfveO4RfPJP88Vfyhr+iasaF3zkkYR/fnUZyYtmImvw5ra0ncLexKFKYVLp+/jhfPXYH2xmvwtEUDrikf1KiqvF+BYrEIdrsdbDY7mC0m6HrTAa+7O0h3kn4FnV0v4ePIMFgsFszlctLeXlkrmE0WHDCYwdTfD/19b8HpdIDDMUZwkO2EkZERlqCQrbgmXYp7yq143B6u2dlqtdZcLpcyPDwsuiYnWgSfbxp3drahWCpBJpuDZDJ5bD7ssxcXFzEajWImk8FIhP6UUJCfE4lE/cmRX8rn8xphaWkJ11PrkM1mIR6Pw8rKCtBbA1EU+TKIEAqFAi+0tbVF81qDYDAIgUAANjY2gK+YJBaLSel0ulmgQPT7/VQ1hOFwGFOpFLIi7Mze3v9E/c8pXqY5Ngl6vX5vYGBANJvNosFgEFXbaDSWyOagOZZoOXXYbDYOsoukizRfsben59d7vf72b8fyJLW9nd3vAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"wild-appeared\"\n        title=\"\"\n        src=\"/static/0fc0ab78e60b645d61810b733618e058/a231e/wild_appeared.png\"\n        srcset=\"/static/0fc0ab78e60b645d61810b733618e058/01db7/wild_appeared.png 148w,\n/static/0fc0ab78e60b645d61810b733618e058/ede92/wild_appeared.png 295w,\n/static/0fc0ab78e60b645d61810b733618e058/a231e/wild_appeared.png 568w\"\n        sizes=\"(max-width: 568px) 100vw, 568px\"\n      />\n  </span>\n  </a></p>\n<p>Today we'll talk a little about how threads work on computers and how to extract more value from concurrent tasks. For this, I will present techniques on how to develop and especially how to test code that uses multiple threads, avoiding the main pitfalls that involve this theme.</p>\n<p>Of course, along the way, you'll also learn more about Java's Concurrent package, non-blocking algorithms, immutability, and more. However, we need to start by talking a little bit about butter.</p>\n<p>Butter is a product that is part of everyday life for many people. Present in cookies, cakes, bread, sweets, and snacks, as well as other culinary items that make our mouths water just imagining.</p>\n<p>Butter is not recent; we have historical records of its manufacturing process over 2500 BC. Most often made with cow's milk but it can also be produced with the milk of other mammals such as sheep, goats, and buffalo.</p>\n<p>Salt has been added to butter since ancient times as a method of preservation, but over time salt has lost this importance as the supply chain has become generally refrigerated. Today, so to speak, salt is added only for taste.</p>\n<p>Sometimes food colorings are added to butter, in Brazil, for example, it is common to use Annatto seeds.</p>\n<p>And one thing I really like to eat is bread and butter. In fact, a delicious slice of bread just out of the oven with a little butter on top, which starts to melt on the hot bread. Oh, how delicious!</p>\n<p>Sadly, my wife happens to like hazelnut cream on top of her bread. And this created a problem with our breakfast, now we have to get two knives dirty to apply the toppings that we like. A knife for the butter, and another knife for the hazelnut cream.</p>\n<p>However, our concern for the environment and its natural resources, which are not unlimited, made us rethink this process.</p>\n<p>Let's turn this problem into a software. After all, Moore's law has given us processors with more and more cores, and as nowadays virtually all computers have multiple execution cores, a computer must be able to simulate my kitchen.</p>\n<p>First, we need a straightforward Bread that takes 50 milliseconds to be ready (what a blazing fast oven, huh!?)</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">Bread</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">private</span> <span class=\"token class-name\">String</span> name <span class=\"token operator\">=</span> <span class=\"token string\">\"bread\"</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">Bread</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">try</span> <span class=\"token punctuation\">{</span>\n           <span class=\"token class-name\">TimeUnit</span><span class=\"token punctuation\">.</span>MILLISECONDS<span class=\"token punctuation\">.</span><span class=\"token function\">sleep</span><span class=\"token punctuation\">(</span><span class=\"token number\">50</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span> <span class=\"token keyword\">catch</span> <span class=\"token punctuation\">(</span><span class=\"token class-name\">InterruptedException</span> e<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n           <span class=\"token class-name\">Thread</span><span class=\"token punctuation\">.</span><span class=\"token function\">currentThread</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">interrupt</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span>\n   <span class=\"token punctuation\">}</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token keyword\">void</span> <span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> toppingName<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name <span class=\"token operator\">+=</span> <span class=\"token string\">\" with \"</span> <span class=\"token operator\">+</span> toppingName<span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n\n   <span class=\"token annotation punctuation\">@Override</span>\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">String</span> <span class=\"token function\">toString</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name<span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Now we need a naive knife that can apply the topping to our bread.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">Knife</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">private</span> <span class=\"token class-name\">String</span> topping<span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">Knife</span> <span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> topping<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>topping <span class=\"token operator\">=</span> topping<span class=\"token punctuation\">;</span>\n       <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token punctuation\">}</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">Knife</span> <span class=\"token function\">applyToppingTo</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Bread</span> bread<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>topping <span class=\"token operator\">!=</span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n           bread<span class=\"token punctuation\">.</span><span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span>topping<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n           topping <span class=\"token operator\">=</span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span>\n       <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>We can verify that everything is working using a test. I'm using the <a href=\"https://assertj.github.io/doc/\"><ins>AssertJ</ins></a> library, a java assertion library which I do recommend that you have a look on at, as it could enhance your tests and improve readability.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Test</span>\n<span class=\"token keyword\">void</span> <span class=\"token function\">givenKnifeWhenApplyToppingToThenChangeBreadName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">var</span> knife <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Knife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> bread <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Bread</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   knife<span class=\"token punctuation\">.</span><span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"butter\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">applyToppingTo</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">hasToString</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"bread with butter\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>It seems good, lets's see what happens when we are hungry and want 10 pieces of bread made at the same time! For that, we will need a basket where we will put all the cooked bread.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Test</span>\n<span class=\"token keyword\">void</span> <span class=\"token function\">givenHungryThenCook10BreadsAtTheSameTime</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">var</span> basket <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ArrayList</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Bread</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> knife <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Knife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> <span class=\"token number\">10</span><span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">var</span> bread <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Bread</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       knife<span class=\"token punctuation\">.</span><span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"butter\"</span><span class=\"token punctuation\">)</span>\n               <span class=\"token punctuation\">.</span><span class=\"token function\">applyToppingTo</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       basket<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n   <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>basket<span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">isNotEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">allSatisfy</span><span class=\"token punctuation\">(</span>bread <span class=\"token operator\">-></span> <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">hasToString</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"bread with butter\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Oops!, it worked, but it took too much time. Each bread takes 50 milliseconds to be ready, so now the whole process is taking 500 milliseconds. If we consider the real-world cook time for bread, it could take hours to cook all those pieces of bread like this.</p>\n<h2>Multiple Threads</h2>\n<p>I know what to do, we just need more workforce! I will call my wife to help me. As I said, the majority of current computer machines have more than one core, which allows us to work in parallel. Joshua Bloch, in his book Effective Java, warns that we should prefer executors, tasks, and streams to threads, but for simplicity let me demonstrate this problem using threads by hand.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Test</span>\n<span class=\"token keyword\">void</span> <span class=\"token function\">givenHungryThenCook10BreadsWithMyWife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">var</span> basket <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ArrayList</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Bread</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> knife <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Knife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token class-name\">Runnable</span> preparation <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">var</span> bread <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Bread</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       knife<span class=\"token punctuation\">.</span><span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"butter\"</span><span class=\"token punctuation\">)</span>\n               <span class=\"token punctuation\">.</span><span class=\"token function\">applyToppingTo</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       basket<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> <span class=\"token number\">5</span><span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">var</span> me <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Thread</span><span class=\"token punctuation\">(</span>preparation<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token keyword\">var</span> myWife <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Thread</span><span class=\"token punctuation\">(</span>preparation<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       me<span class=\"token punctuation\">.</span><span class=\"token function\">start</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       myWife<span class=\"token punctuation\">.</span><span class=\"token function\">start</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n   <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>basket<span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">isNotEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">allSatisfy</span><span class=\"token punctuation\">(</span>bread <span class=\"token operator\">-></span> <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">hasToString</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"bread with butter\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>But wait, the test is failing, what is going wrong?</p>\n<div class=\"gatsby-highlight\" data-language=\"tex\"><pre class=\"language-tex\"><code class=\"language-tex\">java.lang.AssertionError: \nExpecting actual not to be empty</code></pre></div>\n<p>It is like the basket is empty, but we didn't change the process at all despite adding the new threads. Yes, it is a common problem that every software engineer faces when starting to work with multiple threads (or multi-thread apps).</p>\n<h2>Java's Concurrent Package</h2>\n<p>In fact, there is a thread that is responsible for running the test suite which executes each step on our test in sequential order. But when we delegate part of the process to other threads, it follows its flow without waiting for them to finish their job. When it reaches the assertion, the previously created threads have not finished creating their bread. That is why our basket is empty.</p>\n<p>Please, don't listen to this evil inner thought suggesting that it is just a matter of creating a Thread.sleep() or something like that, so that the assertion waits for the other threads. It will give you a slow and fragile test. On one hand, if you give it a big delay time, it will slow down your tests. On the other hand, with a small delay, the result could vary depending on the processing power of the machine where the tests are being executed.</p>\n<h3>Testing</h3>\n<p>The answer for cases like those is to use some tools from java's concurrent package. We have to ensure that both workers start to do their job at the same time. As a second requirement, we need that the test thread verifies the assertion only after the job is done by the other threads. For this, we can use a CountDownLatch like those below. CountDownLatch is a synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes. It does it by holding the thread until the count reaches 0.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Test</span>\n<span class=\"token keyword\">void</span> <span class=\"token function\">givenHungryThenCook10BreadsWithMyWife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">throws</span> <span class=\"token class-name\">InterruptedException</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">var</span> basket <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ArrayList</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Bread</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> knife <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Knife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> startGate <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">CountDownLatch</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> endGate <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">CountDownLatch</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token class-name\">Runnable</span> preparation <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">try</span> <span class=\"token punctuation\">{</span>\n           startGate<span class=\"token punctuation\">.</span><span class=\"token function\">await</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span> <span class=\"token keyword\">catch</span> <span class=\"token punctuation\">(</span><span class=\"token class-name\">InterruptedException</span> e<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n           <span class=\"token keyword\">throw</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">RuntimeException</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span>\n       <span class=\"token keyword\">var</span> bread <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Bread</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       knife<span class=\"token punctuation\">.</span><span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"butter\"</span><span class=\"token punctuation\">)</span>\n               <span class=\"token punctuation\">.</span><span class=\"token function\">applyToppingTo</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       basket<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       endGate<span class=\"token punctuation\">.</span><span class=\"token function\">countDown</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> <span class=\"token number\">5</span><span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">var</span> me <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Thread</span><span class=\"token punctuation\">(</span>preparation<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token keyword\">var</span> myWife <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Thread</span><span class=\"token punctuation\">(</span>preparation<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       me<span class=\"token punctuation\">.</span><span class=\"token function\">start</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       myWife<span class=\"token punctuation\">.</span><span class=\"token function\">start</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n\n   startGate<span class=\"token punctuation\">.</span><span class=\"token function\">countDown</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   endGate<span class=\"token punctuation\">.</span><span class=\"token function\">await</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>basket<span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">hasSize</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">allSatisfy</span><span class=\"token punctuation\">(</span>bread <span class=\"token operator\">-></span> <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">hasToString</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"bread with butter\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>The startGate will hold all threads so that they start virtually at the same time when the test execution reaches the startGate.countDown(). After that, the assertion will not be verified before the endGate reaches zero, which will only happen when all threads have finished their tasks.</p>\n<p>The bad news is that we have a problem with this current implementation. If you are unlucky enough (or simply repeat this test a few times), you will face the following error:</p>\n<div class=\"gatsby-highlight\" data-language=\"tex\"><pre class=\"language-tex\"><code class=\"language-tex\">java.lang.AssertionError: \nExpected size:&lt;10&gt; but was:&lt;6&gt; in:\n&lt;[bread with butter,\n    bread with butter,\n    bread with butter,\n    bread with butter,\n    bread with butter,\n    bread with butter]&gt;</code></pre></div>\n<p>It happened because we are using as our basket an ArrayList, which states in its documentation:</p>\n<p>\"<em>Note that this implementation <strong>is not synchronized</strong>. If multiple threads access an ArrayList instance concurrently, and at least one of the threads modifies the list structurally, it must be synchronized externally.</em>\"</p>\n<h3>Synchronized Collections</h3>\n<p>In other words, this implementation of the List interface is not thread-safe. Once more, to face this issue, we have at our disposal other collection implementations on the concurrent package. Instead of ArrayList, we could use CopyOnWriteArrayList or a ConcurrentLinkedQueue.</p>\n<p>As the first one is more efficient in use cases where mutations are less frequent than other operations, let's stick with ConcurrentLinkedQueue.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">var</span> basket <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ConcurrentLinkedQueue</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>But as soon as you execute the test repeatedly, you will see errors like those:</p>\n<div class=\"gatsby-highlight\" data-language=\"tex\"><pre class=\"language-tex\"><code class=\"language-tex\">java.lang.AssertionError: \nExpecting all elements of:\n  &lt;[bread with butter,\n    bread with butter,\n    bread with butter,\n    bread with butter,\n    bread with null,\n    bread with null,\n    bread with butter,\n    bread with butter,\n    bread with butter,\n    bread with butter]&gt;\nto satisfy given requirements, but these elements did not:\n\n  &lt;bread with null&gt; \nExpecting actual&#39;s toString() to return:\n  &lt;&quot;bread with butter&quot;&gt;\nbut was:\n  &lt;bread with null&gt;</code></pre></div>\n<p>We should have a problem in another part of the code, could you imagine where it is?</p>\n<p>Things get worse when my wife starts to make her bread with hazelnut cream:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Test</span>\n<span class=\"token keyword\">void</span> <span class=\"token function\">givenHungryThenCook10BreadsWithMyWife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">throws</span> <span class=\"token class-name\">InterruptedException</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">var</span> basket <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ConcurrentLinkedQueue</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> knife <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Knife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> startGate <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">CountDownLatch</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> endGate <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">CountDownLatch</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token class-name\">Function</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">,</span> <span class=\"token class-name\">Runnable</span><span class=\"token punctuation\">></span></span> preparation <span class=\"token operator\">=</span> topping <span class=\"token operator\">-></span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">try</span> <span class=\"token punctuation\">{</span>\n           startGate<span class=\"token punctuation\">.</span><span class=\"token function\">await</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span> <span class=\"token keyword\">catch</span> <span class=\"token punctuation\">(</span><span class=\"token class-name\">InterruptedException</span> e<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n           <span class=\"token keyword\">throw</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">RuntimeException</span><span class=\"token punctuation\">(</span>e<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span>\n       <span class=\"token keyword\">var</span> bread <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Bread</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       knife<span class=\"token punctuation\">.</span><span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span>topping<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">applyToppingTo</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       basket<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       endGate<span class=\"token punctuation\">.</span><span class=\"token function\">countDown</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> <span class=\"token number\">5</span><span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">var</span> me <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Thread</span><span class=\"token punctuation\">(</span>preparation<span class=\"token punctuation\">.</span><span class=\"token function\">apply</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"butter\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       me<span class=\"token punctuation\">.</span><span class=\"token function\">start</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token keyword\">var</span> myWife <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Thread</span><span class=\"token punctuation\">(</span>preparation<span class=\"token punctuation\">.</span><span class=\"token function\">apply</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hazelnut cream\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       myWife<span class=\"token punctuation\">.</span><span class=\"token function\">start</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n\n   startGate<span class=\"token punctuation\">.</span><span class=\"token function\">countDown</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   endGate<span class=\"token punctuation\">.</span><span class=\"token function\">await</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>basket<span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">hasSize</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">haveExactly</span><span class=\"token punctuation\">(</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Condition</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span>bread <span class=\"token operator\">-></span> bread<span class=\"token punctuation\">.</span><span class=\"token function\">toString</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">contains</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"butter\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"butter bread\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">haveExactly</span><span class=\"token punctuation\">(</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Condition</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span>bread <span class=\"token operator\">-></span> bread<span class=\"token punctuation\">.</span><span class=\"token function\">toString</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">contains</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"hazelnut\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"hazelnutcream bread\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>First, notice the use of a new helper method from AssertJ, we specified that the collection should have exactly 5 items that satisfy a condition.</p>\n<p>The Condition entity from the AssertJ library helps us to create a whole new set of assertions. If you are interested, please take a look at a delicious example in the appendix of this article.</p>\n<p>But let's come back to our bread story. After executing the test now with hazelnut cream, sometimes we face errors that are even strange:</p>\n<div class=\"gatsby-highlight\" data-language=\"tex\"><pre class=\"language-tex\"><code class=\"language-tex\">java.lang.AssertionError: \nExpecting elements:\n&lt;[bread with hazelnut cream,\n    bread with hazelnut cream,\n    bread with hazelnut cream,\n    bread with hazelnut cream,\n    bread with butter,\n    bread with hazelnut cream,\n    bread with butter,\n    bread with butter,\n    bread with hazelnut cream,\n    bread with hazelnut cream]&gt;\n to have exactly 5 times &lt;butter bread&gt;</code></pre></div>\n<p>Why do we have only 3 bread with butter, but 7 bread with hazelnut cream?</p>\n<h2>Summary so far</h2>\n<p>Before advancing, let's recap what we have seen until now:</p>\n<ul>\n<li>\n<p>Most today's computers have multiple cores, allowing us to get even more value from concurrent tasks;</p>\n</li>\n<li>\n<p>Working with multiple threads creates some difficulties when we depend on timing to verify our tests' assertions, nothing that couldn't be handled using tools from java's Concurrent package, like CountDownLatch;</p>\n</li>\n<li>\n<p>AssertJ is a java assertion library that helps us to improve our tests also on their readability.</p>\n</li>\n<li>\n<p>We should keep in mind that not all classes are thread-safe, like ArrayList for example. When many threads will share access to a common collection, we should use one of the thread-safe Collection implementations from the Concurrent package;</p>\n</li>\n</ul>\n<p>Ok, with all that knowledge in mind let's figure out what is the reason for the weird errors that we are facing.</p>\n<h2>Thread-safety</h2>\n<h3>Race Condition</h3>\n<p>First of all, this is a typical symptom of a Race Condition, or more specifically, a Data Race. Quoting Brian Goetz, in the book Java Concurrency in Practice</p>\n<p>\"<em>A race condition occurs when the correctness of a computation depends on the relative timing or interleaving of multiple threads by the runtime; in other words, when getting the right answer relies on lucky timing.</em>\"</p>\n<p>On our baking issue, we have multiple threads fighting to access the same shared property. My wife and I are fighting for toppings at the same knife.</p>\n<p>In the real world, one could think of it like this:</p>\n<ol>\n<li>\n<p>I get my knife and put butter on that;</p>\n</li>\n<li>\n<p>Just when I leave the knife to take the bread, my wife gets that knife and puts hazelnut cream on it;</p>\n</li>\n<li>\n<p>I take back the knife and, with tears in my eyes, realize that I'm topping my bread with some strange brown cream;</p>\n</li>\n<li>\n<p>Now my wife with her bread in hand stares at an empty knife, trying to figure out who is sabotaging her.</p>\n</li>\n</ol>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/1ff9d1c27bf3ef283302379138cd5bed/f680c/Race-Condition.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 420px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 70.95238095238095%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsSAAALEgHS3X78AAACJElEQVQ4y21TyY7TQBDNJ/EjCPEViAtXOCEOiOXGjobRhJFgBpGQ3fHSbXe3ux3b8WQYBBckLnxJPbqdzZ5weKpyLa+2dsefTIgHnPwZp2DWlDGFHqfxSNL7jxUdnS5pMhIUeGvfNobNGZ1/NTQYpMS9KXVUFFEhNDxviZlFU24xmVYYjFdr+7wdFwYFuue/0BteYZFE6ER+RB/mPyCFomWaUKEElamo5RalRaVjWghZo1Rtv8tbakEiZNThvk/B9AiCM9KJQX94AR5lWEiJTKgaTvfnOb70LyG5bvkcTB2TQkYMHc+P6Y1XYhwZKm1gFCyQxmkrKVcSLMwQ+Hltv14sE86m1oRJEFImjTOSc7rkw4S1LBq+vEXcIBRhRMZUyKR2+2kRXe+m6XOjq90kDUI2m9PrkzMEVhZpWjvzTcJoYi85K6CTfaf1+EGGs953CGbq2BahN/ao+/YRhv0+ldrYBe+7Go4rTGdle5+bYm7X/x2Z2UfdjX9jygt7FNEIkDDJXs/EFutu27tu7tAeZaViFDKh3RHknmix0bdJmZAH+zy8sjLQsSbnMPavqYPtu8pTXQc65KlZ6yptdCtbxTaEEalwYY2ajCzwp3yIv9U9VPkKT+/cxPO7t3B1+RPdZw9w//YNaM52hXJL7uD0wkrFODrh1CMZJfaDkWQCF/IYlTyxj1vg88sn6B2/ck8K37rv8OnFY8gwRMrjOrkJZ+NzH/8AC+N/l13ojqEAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Race-Condition\"\n        title=\"\"\n        src=\"/static/1ff9d1c27bf3ef283302379138cd5bed/f680c/Race-Condition.png\"\n        srcset=\"/static/1ff9d1c27bf3ef283302379138cd5bed/4c3b3/Race-Condition.png 148w,\n/static/1ff9d1c27bf3ef283302379138cd5bed/d72a6/Race-Condition.png 295w,\n/static/1ff9d1c27bf3ef283302379138cd5bed/f680c/Race-Condition.png 420w\"\n        sizes=\"(max-width: 420px) 100vw, 420px\"\n      />\n  </span>\n  </a></p>\n<p>It could only work if each one of us does the topping at the perfect timing, that is, only getting the knife when the work of the other one is done.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9eb569fa960bd58a894af409fce7ccca/f680c/Race-Condition-Lucky-timming.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 420px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 70.95238095238095%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsSAAALEgHS3X78AAACKklEQVQ4y3VSy47TQBDMt/Ax/AcnjnBHSFwBiQMs4iGR5UACyZJsYo8f47E9Mx4/kpDdRUJCe0f8RhczdhI57O6h1D1d45ruag/C5ZJEJCj0BUV+FzukFDNBi3NJ70439P7zmpbneVtzXLS7kwQJjSeGZjNNgnk0UJxTkxdgbA3fgu2wz4NgjaW3wXyxhedvDvz+Thw1GI5/YTq/QpVxDHjI6WPwEzJXtNYZNSqnlXbocpOpNnfcyp6bW+C4dZFTHic0EGFIkfcBuUioyAzO5j+QcgOdanz7fgHfb1ArCZMrlHfAcZXUkDzBgIUpnbAVFtzQSkrwqEKRadjOWjEnXNl6X6B/7nJpo+oEsyimUhpXJEe6blzs532Rfayl7An3BPOYkzEblLKgKpd3dlHJY3EpCqhD9z3BxA/ozacRIhsbrXfkzRHDoLab3iCz/oq4xJfpJfLEtJ0eCbIFo+HbZ5ifndGqMNbgjnTYC7qPEisymW1bT5Xtznl968iJ/amH6TU80dil5Df86sNkPX/t3ds9tEvZqhSNzKgTOfaw2l0ue7HFf7XjLSuDItXUvaZxM9qOtOmsUPqQ16o4PNAT5KTiyo5TUq0U/mwf4rp5YTuo8Xf7AL/rV6iLC/DZVzy6fw9sfApvNMRjmyfzKVambqdo7EMqERjEHiPJU3cgLTgu1QmabAItElyp16jTSbuIyH48fP4EwluCTUY4ffkUKfMtl7VCWqQQQYh/P3d/SRDg4P0AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Race-Condition-Lucky-timming\"\n        title=\"\"\n        src=\"/static/9eb569fa960bd58a894af409fce7ccca/f680c/Race-Condition-Lucky-timming.png\"\n        srcset=\"/static/9eb569fa960bd58a894af409fce7ccca/4c3b3/Race-Condition-Lucky-timming.png 148w,\n/static/9eb569fa960bd58a894af409fce7ccca/d72a6/Race-Condition-Lucky-timming.png 295w,\n/static/9eb569fa960bd58a894af409fce7ccca/f680c/Race-Condition-Lucky-timming.png 420w\"\n        sizes=\"(max-width: 420px) 100vw, 420px\"\n      />\n  </span>\n  </a></p>\n<p>About our code, we have at least two problems in it: 1) we set the topping and add it to the bread in two different steps; and 2) when we add the topping to the bread, its removal from the knife also occurs in a separate step.</p>\n<p>Because of that, just before a thread applies the topping to the bread, another thread could change the topping or even remove it. And again, just before removing the topping from the knife, another thread could use that knife to add topping to other bread.</p>\n<p>That is why in the last two test logs we got some bread without topping, and more bread with one of the toppings than the other.</p>\n<h3>Atomicity</h3>\n<p>We wrote those naive classes just to enlighten the lack of atomicity in them, but even single-line codes like <code class=\"language-text\">++i</code> are not atomic, in fact, it comprehends three operations: 1) get the value; 2) add one to it; and 3) update the value back.</p>\n<p>What we should do is enforce the concept of atomicity, which means that each of our tasks should be considered as one. One indivisible task, an atom.</p>\n<p>Java has a built-in mechanism that allows us to achieve atomicity, which is called “synchronized block”.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">synchronized</span><span class=\"token punctuation\">(</span>lock<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t<span class=\"token comment\">// Code that handles the shared memory</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>We can use any java object to act as a lock, and it will ensure that only one thread that acquires that lock will be able to execute the code within. When the thread finishes its job, it releases that lock so that other threads could do the same thing.</p>\n<p>It is also allowed to create a synchronized method, just by adding the synchronized keyword before the return type of the method. Doing so, the lock will be the object on which the method is being invoked.</p>\n<p>Ok, let's stop talking, and let's get our hands dirty!</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Test</span>\n<span class=\"token keyword\">void</span> <span class=\"token function\">givenHungryThenCook10BreadsWithMyWife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">throws</span> <span class=\"token class-name\">InterruptedException</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">var</span> basket <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ConcurrentLinkedQueue</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> knife <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Knife</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> startGate <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">CountDownLatch</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> endGate <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">CountDownLatch</span><span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token class-name\">Function</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">,</span> <span class=\"token class-name\">Runnable</span><span class=\"token punctuation\">></span></span> preparation <span class=\"token operator\">=</span> topping <span class=\"token operator\">-></span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">try</span> <span class=\"token punctuation\">{</span>\n           startGate<span class=\"token punctuation\">.</span><span class=\"token function\">await</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span> <span class=\"token keyword\">catch</span> <span class=\"token punctuation\">(</span><span class=\"token class-name\">InterruptedException</span> e<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n           <span class=\"token keyword\">throw</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">RuntimeException</span><span class=\"token punctuation\">(</span>e<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span>\n       <span class=\"token keyword\">synchronized</span> <span class=\"token punctuation\">(</span>knife<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n           <span class=\"token keyword\">var</span> bread <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Bread</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n           knife<span class=\"token punctuation\">.</span><span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span>topping<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">applyToppingTo</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n           basket<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span>bread<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n           endGate<span class=\"token punctuation\">.</span><span class=\"token function\">countDown</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span>\n   <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token comment\">// (...) omitted for brevity</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Now the fix of our code is just a matter of adding a synchronized block using the knife as the lock. With this, only one thread at a time can take the knife and execute the code inside it.</p>\n<h3>Thread blocking</h3>\n<p>\"Oh! This is the solution for everything, we should synchronize everything!\" Think twice.  Synchronization isn't for free; it creates a performance problem, as now all other threads are blocked waiting for the availability of the lock, which in our case is the knife.</p>\n<p>In our kitchen, we could say that when my wife touches the knife I become blocked, waiting for her. If the phone rings, she should say: \"darling, please answer the phone\". But I will be blocked, I'll not be able to do anything except wait for her to leave the knife.</p>\n<p>A blocked thread goes to the TIMED_WAITING state, and during this time it can not be used. It is really advisable to keep track of how many threads our applications are using because threads are a scarce resource.</p>\n<p>But there is light at the end of the tunnel, at least in this concern you should know that Java 19 is coming up with the concept of <a href=\"https://blogs.oracle.com/javamagazine/post/java-loom-virtual-threads-platform-threads\"><ins>Virtual threads</ins></a>, in its Project Loom. This new feature will cut the one-to-one relationship between Java threads and OS threads, which means that more than one Java virtual thread will be able to use the same OS thread. With that, when some virtual thread gets blocked by an I/O operation, for example, another virtual thread can perform calculations on that same OS thread.</p>\n<p>But, as we said, until there we should use our threads with wisdom.</p>\n<h3>Nonblocking Algorithms</h3>\n<p>\"But, what to do?\", you could ask. Well, if you need better performance you can use Nonblocking Synchronization. Nonblocking algorithms are widely used by JVMs implementations, Operational Systems, and in Java itself to implement locks and other concurrent data structures.</p>\n<p>Those Nonblocking algorithms are way more complicated to design and implement, but they provide better performance by avoiding the thread block itself and give us other benefits like being immune to Deadlock.</p>\n<p>To provide a simple example of Deadlock, imagine that my wife and I are in the living room. The remote controller of the TV and the sofa are Locks. To watch TV, a person needs to sit on the sofa and press the button on the remote controller. A Deadlock would occur if I get the remote controller and my wife sits on the sofa. She will be blocked waiting for the remote controller, and I'll be blocked waiting for the sofa. And we will be like that \"until death does us part.\"</p>\n<p>Let's go back to the Nonblocking algorithm. First of all, we need a way to ensure atomicity to our tasks. And it is possible because modern computer processors have special instructions for managing access to shared data. A common approach is the implementation of the compare-and-swap (CAS) instruction. It guarantees us that the access to the value and its update will occur as a single task.</p>\n<p>Java's Concurrent package provides us with some so-called atomic classes. Let's take AtomicInteger as an example, its documentation states that it is \"An int value that may be updated atomically\".</p>\n<p>The following code shows us the same algorithm, but only the last one achieves thread-safe by delegating its thread-safety to an AtomicInteger:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">class</span> <span class=\"token class-name\">Counter</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">private</span> <span class=\"token class-name\">Integer</span> count <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token keyword\">void</span> <span class=\"token function\">incrementCount</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>count <span class=\"token operator\">=</span> count <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token keyword\">int</span> <span class=\"token function\">getCount</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">return</span> count<span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">class</span> <span class=\"token class-name\">ThreadSafeCounter</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">private</span> <span class=\"token class-name\">AtomicInteger</span> count <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">AtomicInteger</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token keyword\">void</span> <span class=\"token function\">incrementCount</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>count<span class=\"token punctuation\">.</span><span class=\"token function\">incrementAndGet</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token keyword\">int</span> <span class=\"token function\">getCount</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">return</span> count<span class=\"token punctuation\">.</span><span class=\"token function\">get</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>And how does AtomicInteger ensure atomicity? Using the CAS algorithm! Its incrementAndGet method executes a code that could be simplified like this:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">private</span> <span class=\"token keyword\">int</span> value<span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">public</span> <span class=\"token keyword\">final</span> <span class=\"token keyword\">int</span> <span class=\"token function\">incrementAndGet</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> expectedValue<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">int</span> oldValue<span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">do</span> <span class=\"token punctuation\">{</span>\n       oldValue <span class=\"token operator\">=</span> value<span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span> <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">compareAndSetInt</span><span class=\"token punctuation\">(</span>oldValue<span class=\"token punctuation\">,</span> oldValue <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">return</span> oldValue<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>To start, it gets the current value and stores it in a local variable. Then using the compareAndSetInt method it first checks if, at that precise moment, the current value is the same that was earlier fetched. If it is so, it proceeds with the update and then returns True. If the current value was changed by another thread, the compareAndSetInt method returns False and restarts the process.</p>\n<p>It is worth saying that the compareAndSetInt method is a native method, which uses the most efficient instructions provided by the underlying hardware.</p>\n<p>With this new knowledge, what about trying it on our bread? Let's remove the blocking synchronization and create the faster bread with butter that a computer could have (and some with hazelnut cream too, for the sake of my wife's happiness). We can do this using an AtomicReference.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">Knife</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">private</span> <span class=\"token keyword\">final</span> <span class=\"token class-name\">AtomicReference</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> topping <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">AtomicReference</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">Knife</span> <span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> topping<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>topping<span class=\"token punctuation\">.</span><span class=\"token function\">compareAndSet</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">,</span> topping<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n       <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">Knife</span> <span class=\"token function\">applyToppingTo</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Bread</span> bread<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token class-name\">String</span> currentTopping<span class=\"token punctuation\">;</span>\n       <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>currentTopping <span class=\"token operator\">=</span> topping<span class=\"token punctuation\">.</span><span class=\"token function\">getAndUpdate</span><span class=\"token punctuation\">(</span>s <span class=\"token operator\">-></span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span>\n           bread<span class=\"token punctuation\">.</span><span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span>currentTopping<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token keyword\">return</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Of course, we did that after removing the synchronized block from our test. Good, fast, and easy, and without thread blocking! But, please pay close attention to this piece of code. We have some problems there as it is some kind of adaptation of the canonical CAS algorithm.</p>\n<p>The hard part of building nonblocking algorithms is to isolate the shared memory into an atomic single change. But in our baker issue, we have a two-step action: first, we set the topping to the knife, and then we add the topping to the bread. So we have two states to keep track of: the knife and the bread.</p>\n<p>As we said, this code works and does not block the thread, but doesn't give us all the advantages of the CAS algorithm, because we still can have a Livelock issue.</p>\n<p>A Livelock issue can occur even when the thread is not blocked, if it is waiting for an operation that will never succeed. In our code, we used the topping value as a kind of lock. The first thread that moves it from null to another value, it will put all other threads waiting for that value to become null again. It works, but if any thread fails to add the topping to the bread, which moves the topping value back to null, all the other threads will be waiting forever.</p>\n<p>The control mechanism, when more than one thread fights for the knife topping, is done by retrying again immediately, like in the CAS. But the canonical CAS will not fail indefinitely if any other thread fails. It will just finish its job as soon as no other thread touches the shared memory when it is still working.</p>\n<h3>Immutability</h3>\n<p>\"So, what to do!? I'm reading this to find answers, not questions!\" Ok, I'll let you know. The other side of the coin, in the context of thread safety, is Immutability. If we use an immutable object, virtually all problems with atomicity are gone. That's because all problems that we are facing here are based on threads fighting to access the same shared memory. If the memory that they want to access cannot be modified, those risks are gone and thread safety is achieved.</p>\n<p>We can summarise that an Immutable object is one that can't be changed after its creation.</p>\n<p>Java introduced the Record, which is a simple way to create immutable objects. We just need to provide the type and name of the fields. The public constructor, equals, hashCode, and toString methods, along with the private, final fields, are all given for free to us, by the compiler.</p>\n<p>Take a look at the following code:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">public</span> <span class=\"token keyword\">record</span> <span class=\"token class-name\">Knife</span> <span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> topping<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">Knife</span> <span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> topping<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">return</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Knife</span><span class=\"token punctuation\">(</span>topping<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">Knife</span> <span class=\"token function\">applyToppingTo</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Bread</span> bread<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>topping <span class=\"token operator\">!=</span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span>\n           bread<span class=\"token punctuation\">.</span><span class=\"token function\">setTopping</span><span class=\"token punctuation\">(</span>topping<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token keyword\">return</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Knife</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Some could argue that immutable objects are a waste of resources, but it isn't true in the majority of cases. Dealing with immutable objects offers us performance advantages when it frees us from using synchronization or creating defensive copies, it even reduces the impact on generational garbage collection.</p>\n<p>But talking about defensive copies, is the record really immutable? Look at this test:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Test</span>\n<span class=\"token keyword\">void</span> <span class=\"token function\">givenReferenceToRecordThenItShouldBeImmutable</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">record</span> <span class=\"token class-name\">Parent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> name<span class=\"token punctuation\">,</span> <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> childrenNames<span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> childrenNames <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ArrayList</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token class-name\">List</span><span class=\"token punctuation\">.</span><span class=\"token function\">of</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Haru\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> parent <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Parent</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Bruno\"</span><span class=\"token punctuation\">,</span> childrenNames<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">var</span> parentBeforeNewChild <span class=\"token operator\">=</span> parent<span class=\"token punctuation\">.</span><span class=\"token function\">toString</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   childrenNames<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ayumi\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>parent<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">hasToString</span><span class=\"token punctuation\">(</span>parentBeforeNewChild<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>This task will fail with the following log:</p>\n<div class=\"gatsby-highlight\" data-language=\"tex\"><pre class=\"language-tex\"><code class=\"language-tex\">java.lang.AssertionError: \nExpecting actual&#39;s toString() to return:\n  &lt;&quot;Parent[name=Bruno, childrenNames=[Haru]]&quot;&gt;\nbut was:\n  &lt;Parent[name=Bruno, childrenNames=[Haru, Ayumi]]&gt;</code></pre></div>\n<p>We have to keep in mind that in the way that we created the Parent record we have kept a reference to its internals. A record is still unmodifiable, but to achieve immutability you have to avoid exposing its inner state. In our example, we can avoid that by overriding the constructor and coping the list of children's names:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">record</span> <span class=\"token class-name\">Parent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> name<span class=\"token punctuation\">,</span> <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> childrenNames<span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">Parent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> name<span class=\"token punctuation\">,</span> <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> childrenNames<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name <span class=\"token operator\">=</span> name<span class=\"token punctuation\">;</span>\n       <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>childrenNames <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ArrayList</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span>childrenNames<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Now the test is successful, but we are still publishing the internal state of the record. The getter method for the property childrenNames is publishing the reference to the record's inner state, allowing it to be modified:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Test</span>\n<span class=\"token keyword\">void</span> <span class=\"token function\">givenReferenceToRecordThenItShouldBeImmutable</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">record</span> <span class=\"token class-name\">Parent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> name<span class=\"token punctuation\">,</span> <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> childrenNames<span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">public</span> <span class=\"token class-name\">Parent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> name<span class=\"token punctuation\">,</span> <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> childrenNames<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n           <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name <span class=\"token operator\">=</span> name<span class=\"token punctuation\">;</span>\n           <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>childrenNames <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ArrayList</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span>childrenNames<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n       <span class=\"token punctuation\">}</span>\n   <span class=\"token punctuation\">}</span>\n   <span class=\"token keyword\">var</span> childrenNames <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ArrayList</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token class-name\">List</span><span class=\"token punctuation\">.</span><span class=\"token function\">of</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Haru\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> parent <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Parent</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Bruno\"</span><span class=\"token punctuation\">,</span> childrenNames<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">var</span> parentBeforeNewChild <span class=\"token operator\">=</span> parent<span class=\"token punctuation\">.</span><span class=\"token function\">toString</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   parent<span class=\"token punctuation\">.</span><span class=\"token function\">childrenNames</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ayumi\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>parent<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">hasToString</span><span class=\"token punctuation\">(</span>parentBeforeNewChild<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>This code will fail as well:</p>\n<div class=\"gatsby-highlight\" data-language=\"tex\"><pre class=\"language-tex\"><code class=\"language-tex\">java.lang.AssertionError: \nExpecting actual&#39;s toString() to return:\n  &lt;&quot;Parent[name=Bruno, childrenNames=[Haru]]&quot;&gt;\nbut was:\n  &lt;Parent[name=Bruno, childrenNames=[Haru, Ayumi]]&gt;</code></pre></div>\n<p>To avoid that you have at least two options: override the getter and return a copy of our list, or the one that I prefer: save our internal state as an unmodifiable list:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">record</span> <span class=\"token class-name\">Parent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> name<span class=\"token punctuation\">,</span> <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> childrenNames<span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">public</span> <span class=\"token class-name\">Parent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> name<span class=\"token punctuation\">,</span> <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> childrenNames<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n       <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>name <span class=\"token operator\">=</span> name<span class=\"token punctuation\">;</span>\n       <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>childrenNames <span class=\"token operator\">=</span> <span class=\"token class-name\">List</span><span class=\"token punctuation\">.</span><span class=\"token function\">copyOf</span><span class=\"token punctuation\">(</span>childrenNames<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Like this, every time someone tries to update our inner state, they will get a UnsupportedOperationException, which I believe is what we should expect from trying to modify something supposed to be immutable.</p>\n<h2>Summary so far</h2>\n<p>What we have seen so far?</p>\n<ul>\n<li>\n<p>We learned more about Race Conditions, in real life and in the software, and the main solution tool from Java: the monitor pattern, using the synchronized keyword;</p>\n</li>\n<li>\n<p>After understanding the downside of locking, we were introduced to the compare-and-swap (CAS) nonblocking algorithm, which despite being hard to develop can lead us to better performance and protect us from Deadlock</p>\n</li>\n<li>\n<p>For the cases when we are unable to isolate our shared memory, or even in other scenarios where we just need more protection, we talked about immutability and how immutable objects can grant us thread safety.</p>\n</li>\n<li>\n<p>We then revisited the java Record, which is a fairly easy way to create an immutable object, but that is not immune to bad programming technic. To really achieve immutability in our objects we saw how we should avoid publishing its inner state.</p>\n</li>\n</ul>\n<h2>Conclusion</h2>\n<p>Oh, it was an amazing journey, we started with a brief introduction about threads, how to properly test them, and we met some new friends from Java's Concurrency package. With new algorithms and tools under our belt, we are ready to travel to the multithreaded world riding our thread-safe software. I'll now eat my bread with butter, see you soon!</p>\n<h2>Appendix</h2>\n<p>Baking delicious cakes with AssertJ's Condition entity:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Test</span>\n<span class=\"token keyword\">void</span> <span class=\"token function\">testTheCake</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">record</span> <span class=\"token class-name\">Cake</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> name<span class=\"token punctuation\">,</span> <span class=\"token keyword\">boolean</span> hasFruit<span class=\"token punctuation\">,</span> <span class=\"token keyword\">int</span> weightInKg<span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">var</span> chocolateCake <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Cake</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Chocolate\"</span><span class=\"token punctuation\">,</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span> <span class=\"token number\">5</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> strawberryCake <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Cake</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Strawberry\"</span><span class=\"token punctuation\">,</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">var</span> bakery <span class=\"token operator\">=</span> <span class=\"token class-name\">List</span><span class=\"token punctuation\">.</span><span class=\"token function\">of</span><span class=\"token punctuation\">(</span>chocolateCake<span class=\"token punctuation\">,</span> strawberryCake<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token keyword\">var</span> heavyCakes <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Condition</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Cake</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span>cake <span class=\"token operator\">-></span> cake<span class=\"token punctuation\">.</span>weightInKg <span class=\"token operator\">>=</span> <span class=\"token number\">3</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"heavy cake\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">var</span> bigChocolate <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Condition</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Cake</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span>cake <span class=\"token operator\">-></span>\n           cake<span class=\"token punctuation\">.</span>name<span class=\"token punctuation\">.</span><span class=\"token function\">contains</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Chocolate\"</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;&amp;</span>\n           cake<span class=\"token punctuation\">.</span>weightInKg <span class=\"token operator\">>=</span> <span class=\"token number\">5</span>\n           <span class=\"token punctuation\">,</span> <span class=\"token string\">\"big chocolate\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n   <span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>bakery<span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">haveExactly</span><span class=\"token punctuation\">(</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> heavyCakes<span class=\"token punctuation\">)</span>\n           <span class=\"token punctuation\">.</span><span class=\"token function\">haveExactly</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> bigChocolate<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>","fields":{"slug":"/a-wild-thread-appeared-multithreaded-testing-and-thread-safety/","tags":["Thread-safety","testing","nonblocking_algorithms","immutability"]}}},{"node":{"id":"4762bbde-b461-512b-93ae-22335b823a90","frontmatter":{"category":"Architecture","title":"Harmonizing Application Cockpit data using DB views","date":"2023-02-16","summary":"Our journey building the AUTO1 service inventory search using DB views","thumbnail":null,"authorName":"Mariusz Sondecki","authorDescription":"Mariusz is a Expert Software Engineer based in our Szczecin office","authorAvatar":{"relativePath":"pages/harmonizing-application-cockpit-data-using-db-views/avatar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAWABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQH/xAAXAQEBAQEAAAAAAAAAAAAAAAACAwAB/9oADAMBAAIQAxAAAAGv2Svu3GUctOAU5wh//8QAGxAAAQUBAQAAAAAAAAAAAAAAAQACERIiEyH/2gAIAQEAAQUCJkDB7KBW+bEJwkNZ6v/EABgRAQADAQAAAAAAAAAAAAAAAAEAAhEQ/9oACAEDAQE/AQMmMLPP/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8BV2cmFf/EAB4QAAEEAQUAAAAAAAAAAAAAAAABAhEhQRAxUWFx/9oACAEBAAY/AqwSjpMj+oKvRU5PDZD/xAAdEAACAgIDAQAAAAAAAAAAAAABEQAhQWExcZFR/9oACAEBAAE/IWdbBmVNkJTg+IpKCEBHylkKGgktmegIYKT9dwgOydif/9oADAMBAAIAAwAAABAA18H/xAAXEQEBAQEAAAAAAAAAAAAAAAABEQAQ/9oACAEDAQE/EES8YEurv//EABgRAAIDAAAAAAAAAAAAAAAAAAEQESEx/9oACAECAQE/EDJJlS//xAAdEAEAAgICAwAAAAAAAAAAAAABABEhQVFhMZGx/9oACAEBAAE/ECQu0QVxCvgawa6iFVCFbUJDi/sW7HoRRveCLN+4F4gKruoOH4KtotWHILP/2Q==","width":50,"height":50,"src":"/static/41d7e93878c0ba2eb12594d317c2b361/d2d31/avatar.jpg","srcSet":"/static/41d7e93878c0ba2eb12594d317c2b361/d2d31/avatar.jpg 1x,\n/static/41d7e93878c0ba2eb12594d317c2b361/0b804/avatar.jpg 1.5x,\n/static/41d7e93878c0ba2eb12594d317c2b361/753c3/avatar.jpg 2x,\n/static/41d7e93878c0ba2eb12594d317c2b361/31ca8/avatar.jpg 3x"}}},"headerImage":null},"html":"<p>As you may have read about Application Cockpit in one of our <a href=\"https://auto1.tech/application-cockpit/architecture-intro/\">previous articles</a>, it is “The tool which lets concerned developers quickly find their bearings and gather relevant information pertaining to a particular service running in our ecosystem”.</p>\n<p>Over time, AUTO1 engineers and managers grew fond of using Application Cockpit, and started relying on it on a daily basis. The increase in popularity, naturally, led to development of new features, out of which, one of the arguably most impactful ones was the \"dynamic service search\" (or \"App Cockpit Search\", as we call it internally).</p>\n<h2>The challenge</h2>\n<p>AUTO1 platform currently consists of 600+ microservices, and on average two new services are created every week. Many times in the past, we needed to search our AUTO1 service inventory for services which were matching some specific criteria, e.g. are written in a specific language, using certain frameworks or libraries, or have certain features enabled.</p>\n<p>As it happens, this is actually where App Cockpit App Cockpit Search chimes in. From the user’s perspective, it is an UI that lets the user input some search criteria using the Cockpit Query Language (or CQL for short) and be presented with a list of services matching the criteria. One typical use case is searching the AUTO1 service inventory for the usage of a specific library in a specific version.</p>\n<p>Below is an example search for services using <code class=\"language-text\">org.springframework.boot:spring-boot-starter</code> dependency in version <code class=\"language-text\">2.3.0</code> onwards:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/1b3a431578edcdb6a06f758c6017fa35/e4a0f/search.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 33.56678339169585%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsSAAALEgHS3X78AAABS0lEQVQoz02Py0oDQRBF56eETHdXv+aZYUSEhAQScKPLIIqIG9FlEBHcuHHh17gRfCAmioT8yrVrxugsDre66HurKnrY/cB86xE36RPu999wO3zFvHrBpX3G1fAdd7NPXO8tcbGzwGn2gWO/wMwsMfNfOKq/cTJY4WyyxvnBCoeDNaLM9lGkfRjy0OQCQVVQ6eGsh9EeKjaQARJtn7oo9qUo6zGq7REiYzUkSQgSEEqALEEHnLMN1hkUZY5+VYK0ghA9SBn/IRoEkrJGXtWIhFSI4zggGiUVArUOxjBASBBpjEZjTCdTFEUJay289/AuXOBcWweUlDDGIJJK/ZpbuMlwLcMnhgcw3QBm806SJHj4Go9I0f823UAOUmEYk+d52K5AmqbIsqx5d2sXtiYe6JP25F6v15zLSkRNGNesPITNbOSATQhrt7/Z8AenEAYoBp8eJwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"search\"\n        title=\"\"\n        src=\"/static/1b3a431578edcdb6a06f758c6017fa35/40fad/search.png\"\n        srcset=\"/static/1b3a431578edcdb6a06f758c6017fa35/707e9/search.png 148w,\n/static/1b3a431578edcdb6a06f758c6017fa35/649e0/search.png 295w,\n/static/1b3a431578edcdb6a06f758c6017fa35/40fad/search.png 590w,\n/static/1b3a431578edcdb6a06f758c6017fa35/b3fef/search.png 885w,\n/static/1b3a431578edcdb6a06f758c6017fa35/301c0/search.png 1180w,\n/static/1b3a431578edcdb6a06f758c6017fa35/b5a53/search.png 1770w,\n/static/1b3a431578edcdb6a06f758c6017fa35/e4a0f/search.png 1999w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<h2>The dilemma</h2>\n<p>Once we were certain of what we wanted to achieve, i.e.: search our AUTO1 service inventory using dynamically defined criteria, we began the efforts of defining the architecture.</p>\n<p>As you may recall from our previous article about the Application Cockpit, we use <a href=\"https://backstage.io/\">Backstage</a> as our Front-end. Backstage is fetching data from our backend-for-frontend service called “Application Cockpit Data Provider”, which in turn, is backed by a PostgreSQL DB.</p>\n<p>As Backstage itself comes with <a href=\"https://backstage.io/docs/features/search/search-overview\">search functionality that</a> could be potentially used for our purposes, we were left with two options, either to reuse the already provided solution and tailor it to our needs or create a solution from scratch.</p>\n<h3>Why not reuse what is already available</h3>\n<p>After evaluating the Backstage search, which at that time, was still in the early alpha stage, it was clear to us that it would be a bumpy ride. As it is a full-blown search mechanism, or to put it more bluntly, an over-blown mechanism, compared to what we really needed:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/60a3e1f05a8e86ae0f23e39adaabb9b8/2d28b/architecture.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 96.85230024213075%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAAAsSAAALEgHS3X78AAADtklEQVQ4y5VUW2ibZRj+ZOgYipuuwqYXgowhQ/BS0alM8WaK6LXe6spABBFRxFypw8kmeK8ytQdX55pmy5bp1kOWpkmTZUlPyfI3WdKmp6SNbXNo8h8en+/786ejF4Iv/8t3+L/3+d7nPXzi+3Qcn0+F8GUygi+mw3BxdM2M4zPqlaU8pJiWBYtqcm5wNCyTc2dtqv9QnwXREeyHGPyN2gUx1LU9/+tndKYjClCnkTSgJdqyY221LhWHx70QN/vw6Fg/9ocHsGfsInZThb8Xn2Rutw20tSLcyQR8OQ2BlQUM39Vw6c4UvHOzmCwuSUR1ThwMe2jcQ9DfIQLnbR3to5e/4mQ62gb8NjfFM+dxf+APHAgN4Ej0Kh6jA2KoG53JMCT/uq5DHJ8YxpFbPrwQv46X4jfwIvUY9fmoDz/Mp8hXB5o6vspOQgz3YH/IjaeiV3CI2kFW95Hdh9otRb9cr0Ho0oAyUVqGLz+LG3MZDC7kENwoIbu5jkwmg8pyEa6cBGR8A714iKAHxtycSybn8L5mx3q1VoWoNhsw6MFriSG6T4ORXuwKXqBxF05qpLzVwGa1inRlHZ6VOVymDpUW4adeLc5jYCWPJP/JJP0jPazpTRXQt2ZGIYJ9eIAJ2UsqMqYfZ+Pq5qZhILS2jFN3YjirJfAdS+1UKoYzHL/hXqC8os6VtwFBwIBKhgTcE6CHfgLOxuzyMEy47k6Q3i928pjExyOXsDv4p6L8gSwvq0XZAXx92s+D3Soue8cHVE2ekNmT5cCAfy2zPNKNXaO8jJl+eWIQhyJetfeRvJiy0diCqBNQFmS8XMTf7Az/6iJ8pQIuMz7J6nq7bE7npxmSC3h43IMHw248wsTsC9mJ+bQVmgrzoQClxJYK8GgzuFnIwWQi7m0IwzRRrFaQZnFrayWkVotIl1dRqFeRr1dQbm6pszUH0GLQ35gcUTHs4K1abaPdcibsDjhX0PBcxIej0Wt4NuzFsdh1HKfN0yzws7JeKbJihN3YFt6e9KtOOBjyIFvbbD8KRqulXNmE6qLDt6/Z9cf5k1GvSk5nMqTOrG/VIRxqxUYd2eoG5klDN812w+sOYCahEvUEAcRIj+r1faF+lekTqbBdXqYB4bwSO8XZczy8WJrHq4lBvDnlx7upMbyXCuGd5CheYZv+uDjbZiQcQ7lw1NnbOaLl+U+LGZyZS27v2c+h/XzhP8TxXinXdUNXRf4MHxPZTfIdqDabbRb/G7BJAIsA7qUcuhcyMBoNe++es/8CTroLQ3iIY5gAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"architecture\"\n        title=\"\"\n        src=\"/static/60a3e1f05a8e86ae0f23e39adaabb9b8/40fad/architecture.png\"\n        srcset=\"/static/60a3e1f05a8e86ae0f23e39adaabb9b8/707e9/architecture.png 148w,\n/static/60a3e1f05a8e86ae0f23e39adaabb9b8/649e0/architecture.png 295w,\n/static/60a3e1f05a8e86ae0f23e39adaabb9b8/40fad/architecture.png 590w,\n/static/60a3e1f05a8e86ae0f23e39adaabb9b8/2d28b/architecture.png 826w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Source: <a href=\"https://backstage.io/docs/features/search/architecture\">backstage search architecture</a></p>\n<ul>\n<li>\n<p>The Backstage search was “bloated” with components that we don’t really need, due to the nature of the data and queries we planned to execute (like collators, indexers, and schedulers). As we already had our integration layer performing calculations on our data and feeding it to our UI, we didn’t need any of these.</p>\n</li>\n<li>\n<p>At that stage, the feature-ready predefined UI components connected with the search plugin did not provide us with the required flexibility, which we managed to achieve later with the Cockpit Query Language.</p>\n</li>\n<li>\n<p>The usage of the Backstage search would require us to fork some of the Backstage search plugins, adopt them and then maintain them ourselves. On top of that, it would require us to make adaptations also on the data structures themselves, which was something that we were not very eager to do.</p>\n</li>\n</ul>\n<p>Long story short, although the solution seemed to be promising and the architecture was quite neat, the shortcomings outweighed the benefits for our use cases. Hence, we pursued the idea of creating the solution from scratch.</p>\n<h3>Making our own solution</h3>\n<p>As you may recall from the <a href=\"https://auto1.tech/application-cockpit-model-outline/\">Application Cockpit Model Outline</a> article, our data model consists of only two types: Resources and Readings. The latter type comes in different shapes and sizes, as we store the actual Reading values in form of JSON objects.</p>\n<p>Since we have different JSON schemas for different types of Readings, we need to harmonize them, in order to make them “generally” searchable and combinable to support logical query operators such as OR and AND without changing the actual stored data structures.</p>\n<p>As a simple example, where we would like to search all services built on a specific version of a docker base image, which is implemented on top of a Spring 5 Framework, where the main programming language is Java. In terms of data structures, this is how it would be represented:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/57d0fd9d41df05d488d2bb258362507d/81d54/s3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 32.96875%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsSAAALEgHS3X78AAABq0lEQVQoz31RzUsCURB/pdYaCN18G8IqXhViwcSsQyB461/w6FHwj4g6CApepATrIhjJLkopIn5/X9pV/FhXQg8pSdDRi9g8UehQDfx47838ZuY3bxD6Yfl8foecpVKJrdfrj9ls9j6Xyz2k02mCSKVSeWq1WheEA/Fd9JtNJhMVkJTNZlOZyWT2iC8YDJrhnQa8VavVgSiKEnAkuMvRaNRKOMlkUgF+1G631+h0OqhWq6E/zeVyMaFQiIXiplgsZo5EImaPx2OC0B76z8bj8W2j0biCEW6KxeK1LMu+4XDo0+v16g1FBVASeL1eVb/fP1gul/uLxYJarVZUIpGg/H4/FQgEKLfbrUKj0SgHo3wVCoWPcrn8CdLfB4OBnygRBOFyOp3K8/n8dTabidBYhLEEaC4SQJ4oSZIIHBLvQ60kstvt6lQqdR6Px0+AdMpx3PFWfTgcPoMCL91ul4MYD4vhoSkPPh4Wx8O/ru+9Xo8DQc+wwDuSpwEotmMRZVar9XBTU6PVao9YltXSNI11Oh0GAdhms2GLxYKdTidmGAY7HA5sNBqxwWCgvwHc0/KbUbht7QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"s3\"\n        title=\"\"\n        src=\"/static/57d0fd9d41df05d488d2bb258362507d/40fad/s3.png\"\n        srcset=\"/static/57d0fd9d41df05d488d2bb258362507d/707e9/s3.png 148w,\n/static/57d0fd9d41df05d488d2bb258362507d/649e0/s3.png 295w,\n/static/57d0fd9d41df05d488d2bb258362507d/40fad/s3.png 590w,\n/static/57d0fd9d41df05d488d2bb258362507d/b3fef/s3.png 885w,\n/static/57d0fd9d41df05d488d2bb258362507d/301c0/s3.png 1180w,\n/static/57d0fd9d41df05d488d2bb258362507d/81d54/s3.png 1280w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>As we already use Spring Data JPA as the persistence layer to communicate with PostgreSQL in our data provider service, we have limited our options to two choices: dynamically built queries on top of joined database tables or database views. Either of them seemed to us, initially, as a good candidate for dealing with the complexity that stems from the heterogeneous data structures.</p>\n<h4>Dynamically built queries</h4>\n<p>The idea behind this solution was to create a set of SQL queries, backed by corresponding Spring Data JPA repositories, one for each attribute in question, execute these queries against the DB, and then combine the results on the Java side performing the necessary filtering and aggregation.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/c29280ac17f26f05c90b05877ded20fb/81d54/s5.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 30.703125000000004%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABnElEQVQY0x2QTY7TQBCFcwbW/EiAxAGQECuERsyCFRdiAVyCCzBo2LFjlw2LiKAZeyInTvyTONhxnMSO/7ptt93dj4LFU9VT9StVf6O7JL8/z9iTBHgck/wWTzvgnlOK62Xe2quqv/G5MjYdjHULw+Xq1uXapGrQ7OGyEC/tvLVIc4fJq9Gy7H+RgeUHPMlLlvbAeLH5NPXDqcckrDOHnSqcuQYTApEE/oCk/9dHfofLPfl/criejdwGZkTGLTrtl53KqLcy/mGRteMdhWe70zDb5Wq1O6lVlKj5sZLbVmuvHvR04by2Tuxt0AIxvd00ajqi82+3A5BkuexE31MLj/fvF3s9LhqJtMilnfQ6iBIdnSttR1wzzrW1jfH1+tuXq+8/PnqHXlEMWSN+00LchWSjfQLGmG5oMPHCz/PoYPqVgBlnsOIc60OOpBngpyV8QuHUAyZL/7kZn99tCVNECFwmb0ZOLV94Dd7sFS42XF6suboMBJ4R7IldCOmyoTKirg6PRX1M0zosWL2iIynDAo0Ha4FX9EtB6onhz7+6pakgZsnNFgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"s5\"\n        title=\"\"\n        src=\"/static/c29280ac17f26f05c90b05877ded20fb/40fad/s5.png\"\n        srcset=\"/static/c29280ac17f26f05c90b05877ded20fb/707e9/s5.png 148w,\n/static/c29280ac17f26f05c90b05877ded20fb/649e0/s5.png 295w,\n/static/c29280ac17f26f05c90b05877ded20fb/40fad/s5.png 590w,\n/static/c29280ac17f26f05c90b05877ded20fb/b3fef/s5.png 885w,\n/static/c29280ac17f26f05c90b05877ded20fb/301c0/s5.png 1180w,\n/static/c29280ac17f26f05c90b05877ded20fb/81d54/s5.png 1280w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>The advantage of this solution was that we would keep things small and isolated. Each query is in a separate repository. Each one would deal just with the data structures it's aware of. On the other hand, this solution would come with a significant performance penalty, due to the substantial amount of data that would be transferred from the DB, just to be later filtered out on the application side.</p>\n<p>The alternative solution would be to dynamically build a large SQL query that would perform both the retrieval of the data and the filtering and aggregation of its results.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/3f73e83b5b0a65e69919bc1905dcfc6b/81d54/s6.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 42.34375%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsSAAALEgHS3X78AAAB40lEQVQoz31Ry27TQBSNUomHBH/Cmh/gG9jCglUlFiDBiv4AG8SGsqASEgskBJt0UxWJpEJFQaKiok1s13acxk7s+Bm/xuPHjC93ki4RVzqae+17zpl7pyOv6Ecpoo5RgaaXYKgFTLQCppMStAXAXTVj0wgATA4wYwAh5hppZ0Mnvd7BUHO+l+A3D4G9Rx0kH7tYjA0T7FUKScVgWeHPpIIfv//snHvJSI+RQJo6plVtly2gqYSUW0IQjd/YWEwb5JD2QAj2LXRWLbtxk5yHOWWXScFPFhH/sH/44MRyxzLaW37CHc/jihvBz6nj9Xq9HdS7LYVkV9zaxwmMnB0KwW9zVHfDqCZVzRrGm3lKuZLU9Swr7xsZk+0SIKA1D2jDYzQf6tbFp89fnj15vH1v//uv9zoqMtaCldK14HAldmTOgBYFiEAiyEEGp5L8ajz3zbM5rsEL+NLz2CrNYOTG0stj9ZoY+SKtd5ct8kuxw+agg3O/Nop2GDfQD0s28Ek5MElzpFfQvwS4M6Ew8tEEzzUWm1zBS9wQgnoB73DF4G4ea9D5X5yZzk1sklUCHE9yhRZxqsTVWlDL+QusdYSEL/72n0LwdXt9Kmm9hY2PEM8RT68g8oeIrugZhUX3PCBbG+Tdv+VV7Ki32nQdAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"s6\"\n        title=\"\"\n        src=\"/static/3f73e83b5b0a65e69919bc1905dcfc6b/40fad/s6.png\"\n        srcset=\"/static/3f73e83b5b0a65e69919bc1905dcfc6b/707e9/s6.png 148w,\n/static/3f73e83b5b0a65e69919bc1905dcfc6b/649e0/s6.png 295w,\n/static/3f73e83b5b0a65e69919bc1905dcfc6b/40fad/s6.png 590w,\n/static/3f73e83b5b0a65e69919bc1905dcfc6b/b3fef/s6.png 885w,\n/static/3f73e83b5b0a65e69919bc1905dcfc6b/301c0/s6.png 1180w,\n/static/3f73e83b5b0a65e69919bc1905dcfc6b/81d54/s6.png 1280w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>However, this approach would come at an increased maintenance cost. As every data structure change would require a corresponding Java code change, hence we would lose the benefits of having the data values stored in the JSON objects. On top of that, maintaining a large SQL query would quickly become a problem on its own.</p>\n<h4>Database views</h4>\n<p>Knowing the shortcomings of the dynamically built queries, we decided to evaluate another promising approach - the database views, that could hide the complexity of dealing with the heterogeneous data structures:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/f74d7564313196d1e352021f2f81dac4/81d54/s7.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 48.90625%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAACH0lEQVQoz22S224TMRCGF8ET8iDcIPEaiBvEDSoPgYSEaGgEqoqqNkmhVZLNYTcH0uw5m/X4sLZ/JmmvUC198ti7M5759QfBE4uEeH7YpaRXRZ7116vlqRSi+0DT5e9d8Ygk0VUkzpgffP7yVL0AdXosuG/EB/AqhIR0gPIMn9vDJTz4CrkBEuVQWGAnyAZ3Bb1lzica30YSnaHAaUg4nxh8rLQ72XDSsNb6ttL2bmfsWMIm2lujpCVtbKy8DYWzo8YjF6oKQuF/ZZw03eao+BXiuGQGm7IZzaKrmFualN6lZHwiNEaVwu/5Eos4wnIZox8Rqn3r961FJlQdTAidBbd9N4vNKitsWjftfCdxPr+fD0bh12ndYhBLu81Lv0nSw0O4Cue46fcwCkP04xThtvQR5xSk62As0FlzZ1m1M43UVmrTrlmwYd1Ok3r/OWHdFrW1CWmfkEG0I9xEK2w3f0FKY8aFbjeFHxaEUpk6YL0uCh5xuVjAGnOUO9UevWVSzxbx5ZRVv4mUK4vMp1mGVVZi3WgYrUCS8Gfd4j4jn3Px48jjxr2bCXdRaNfJVHuWNPJ7JOzF2OCk1PbTUV+ymrV2E2Yk4DbUOraP2xO5Wd0yxk6EQ05q96Rtgpevnx22oqH34lBQ8tj2gYg5WMTbFsY6bDk+SLbl/yohVXALBPgfo148+vBNKeScfXjJ9B5QPfZbj83dE49wfM0MOP75D9ocmX886x8iAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"s7\"\n        title=\"\"\n        src=\"/static/f74d7564313196d1e352021f2f81dac4/40fad/s7.png\"\n        srcset=\"/static/f74d7564313196d1e352021f2f81dac4/707e9/s7.png 148w,\n/static/f74d7564313196d1e352021f2f81dac4/649e0/s7.png 295w,\n/static/f74d7564313196d1e352021f2f81dac4/40fad/s7.png 590w,\n/static/f74d7564313196d1e352021f2f81dac4/b3fef/s7.png 885w,\n/static/f74d7564313196d1e352021f2f81dac4/301c0/s7.png 1180w,\n/static/f74d7564313196d1e352021f2f81dac4/81d54/s7.png 1280w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>In that approach, we would create a database view that could look like the following (based on our previous example):</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a7ee301a6aafa6fabcdae5a177368b93/283a5/s8.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 47.29299363057324%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsSAAALEgHS3X78AAABTklEQVQoz32S6W6DMBCEeZti4/vEmCNJI1Xq+7/PdHGOplHSH5/WC+zYM6ZbgkAwAkbbxsAZvFEIMUEIcUVeufSccwzD8JLOSA5nJEpZUMKM7BK8NTDWkThvw8/sg+9EO8Y4hJTIqZBgRYkzRj/dxV4NPT9/7Lv+QbDGtYlOJJpchnhj679NOkeWvbMo04o6bkixUl0RXKAPOPq+B2OPcIL9hXK/xdEFzRG8xzRmLCUREfN2xFQXxJTb5fgQiQDnqVoNt2N8u0RnPax2vydktPjoGZLhqJbhlCXqsmFeD1RXLCS+Hj7v62XdMJVM8XiKaUJJM2IcEX2GkhrdnhPjA0YrMPsB51FjPZ6xnc5NdK/nr28SOzVmclETOcoLxlQx5on6mcTUxfItUCkGKMLIAda59tsorWEM2aJI7N4rDU3vlVLtNPtlam1oTt4t/wBYyxnZhQ7mogAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"s8\"\n        title=\"\"\n        src=\"/static/a7ee301a6aafa6fabcdae5a177368b93/40fad/s8.png\"\n        srcset=\"/static/a7ee301a6aafa6fabcdae5a177368b93/707e9/s8.png 148w,\n/static/a7ee301a6aafa6fabcdae5a177368b93/649e0/s8.png 295w,\n/static/a7ee301a6aafa6fabcdae5a177368b93/40fad/s8.png 590w,\n/static/a7ee301a6aafa6fabcdae5a177368b93/283a5/s8.png 628w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>which returns:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5509b1df352d53ae1e87ab45b44def49/81d54/s9.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 14.21875%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAAAsSAAALEgHS3X78AAAAaUlEQVQI101PBwoAMQzq/z/bvYeHQuAKEm2sSd1aCyklzDlBnnNW3XsjhIBaK845MF9rTT3Cey8P7+jrvcPRzCbPvVcwPsYQf+9Js5omGMJADooxSiuQ29kjauOcaEH/nulSigL5K9v+A14p6uLJktOhAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"s9\"\n        title=\"\"\n        src=\"/static/5509b1df352d53ae1e87ab45b44def49/40fad/s9.png\"\n        srcset=\"/static/5509b1df352d53ae1e87ab45b44def49/707e9/s9.png 148w,\n/static/5509b1df352d53ae1e87ab45b44def49/649e0/s9.png 295w,\n/static/5509b1df352d53ae1e87ab45b44def49/40fad/s9.png 590w,\n/static/5509b1df352d53ae1e87ab45b44def49/b3fef/s9.png 885w,\n/static/5509b1df352d53ae1e87ab45b44def49/301c0/s9.png 1180w,\n/static/5509b1df352d53ae1e87ab45b44def49/81d54/s9.png 1280w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>The main database view, here called <code class=\"language-text\">document_view</code>, would be the aggregation of multiple sub-views. Each sub-view would only know about its data structures, hence we would achieve the desired single responsibility and encapsulation traits, making the solution more extendible and more maintainable. Even if something would be changed within one of the sub-views, it would not affect the aggregated view or other sub-views.</p>\n<p>As previously mentioned, since we use Spring Data JPA extensively, the database view would be reflected in the code as a JPA entity which would allow us also to use the Criteria API to build a generic query on top of that main view and utilize the built-in PostgreSQL functions, that would come especially handy when interacting with the JSON objects.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/2a3224488b066b930c4198c8fd7efce4/77f8d/10.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 566px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 106.00706713780919%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAYAAABG1c6oAAAACXBIWXMAAAsSAAALEgHS3X78AAACpklEQVQ4y5VU2XLbMBDT1yQWT4kSqcPWacd1fKT9/59BQTnxJG3SuA+YHXGoXewC3OTlUuJydhBCLpDy/yCE+BCTaTKYJwHnVpAihUgFHh/TG1J+p2m6IBZ8O189prckV7wm7Du9JBynCrkriAzj7DGMBSZG5wxc4VGUAdpI9EPBuyWjg7Eaq9XqWpDFYky6mHBOmaBcLs+TxOnS4XDcY5hqVK2DDyXW3YBuGPF0mDDvOjyf98t3qFtUVY0mS9FUAck8GOzIcNikGDuJYbAIIYfSGaunkOrajlIKxli2qcgknmkyNsuZiVEJRo2kLgyqTKK0ElWulop1u2br7jbsq2Axvs1NvH6/x/VOIqThz8yeCTysBIf9yKE/kMXqPxV/FUVpg5ALdIVEcGy3aRF8g8L6RfGosvzDGv9CopnQGtomj7CL0nEmTePQrnO40kC8Y/BtwjjcJkhsOyrdBQzznqoGPD11OJ+2VL2HYdF72N0YalbPqKahklE5azPkhuysQ5HRb1r99SK+ZqiocqCxybAjw82wpZEdjqcOl58DXn6NtFK7zPMuhkpr5FqizSV8FIW2KYtAdh4+r5foTAn1ybv9PCEZOtrGhxSlz4mKbSuM2xLbfeCrKDHtAmxm71NZKk3bSEyVwLoqsO4njqDGuOmxHSbsxi02bb3Y5y6G722TR9vkBTRF8MGiqjM+Q46hisiW5/e9KLRN7SXmdYp+E9CNO3jvcfgx4Hye8XwYcTpyIcwN4ry/TRhfiqFt3GIbIsuQ0Spa5DwvlhghU3lvy7EdWmaQtMx4FYWLoum5ttiq45N0hSI7dU0m7/BhQx/u6MOePuynPbdNi+ORHrzMbHvC6TSStf3A8CskNnew3GWBrBw3cOEDmdWw2iG3JTLDLU6oO7fOb1OAjupds4TxAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"10\"\n        title=\"\"\n        src=\"/static/2a3224488b066b930c4198c8fd7efce4/77f8d/10.png\"\n        srcset=\"/static/2a3224488b066b930c4198c8fd7efce4/d406f/10.png 148w,\n/static/2a3224488b066b930c4198c8fd7efce4/5e8ba/10.png 295w,\n/static/2a3224488b066b930c4198c8fd7efce4/77f8d/10.png 566w\"\n        sizes=\"(max-width: 566px) 100vw, 566px\"\n      />\n  </span>\n  </a></p>\n<h4>To materialize or not</h4>\n<p>As the DB views seemed like a good solution, we still needed to answer one more question: whether to materialize them or not. As materialized views would be, obviously, faster to query, but that would not come for free, as we would need to build a mechanism to frequently refresh the materialized views, which would also induce a performance overhead. In the end, as we expect the App Cockpit Search to happen fairly infrequently and we value accuracy over query execution time, we’ve decided to not materialize the views.</p>\n<h2>The conclusion</h2>\n<p>Finally, we decided to move forward with the DB view based solution. Although it’s not a silver bullet and requires us to keep an eye on the query performance, as over time the number of sub-views will grow, which might impact the overall search performance, we consider this to be a fair trade-off for the gained extensibility and maintainability of the search functionality.</p>","fields":{"slug":"/harmonizing-application-cockpit-data-using-db-views/","tags":["Cockpit","PostgreSQL"]}}},{"node":{"id":"62f571b3-f36e-549e-bb49-e2f60369d524","frontmatter":{"category":"Engineering","title":"How We Implement Feature Requests at AUTO1","date":"2022-11-30","summary":"In this blog post I want to emphasize how important the process of exceptional software delivery is.","thumbnail":null,"authorName":"Karim Baydon","authorDescription":"Senior Software Engineer in the AUTO1 Production Domain Team based in our Berlin Office","authorAvatar":{"relativePath":"pages/how-we-implement-feature-requests-at-auto1/karim-baydon-avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAABYlAAAWJQFJUiTwAAAFIklEQVQ4yx2U21PUZRzGfzeZOaXNVM6UJpoYoiGDkiIHB5DDLuyRPbHnA/uDBXZZ9ySwgItyEJaD7gqSmmbgZFAwKCDqKDlmTjU1XWQ5ZTdNTV020z/w6ZcX33kv3pnPPO/zfJ9X0Bwrx3i8ElNMiTGkwdKhQ9kqR9FSTUNCh/ekFrFPTWTMTnDQQ+xkiOYWEY/NhlmlJeAP4HY3IatUEA+FEerDVVg6K7B3GiWAGW1bFUdsRVR6i9GFpLt2GWK3hmC7n1AggEOrpyA3n7w9+8jYksG+3TmUllRSU61CdHoRrMdleHoVuKSxx2vx9atoG9TjCGlpioiE2tvwtzbSGwqhq1Gy5Y3XeWn9i6xb9wIbXtrAq5teZcOGl9n82mays95D6J3y4O2rxRGvwhVV0NIuPc0vEmgVaW504QtaaW520d3Swu53drJx/ToO7s4kL3MHmW+9Sc72DA5l7WLzxlfY+MomhPAJO6ZGJc5ALd6AhuaAmcaIAV+nDndAhdNfi6fFglGtZe+ODGaGT/LsziLfz05zOz3KamqIh5cnOB9rI+vttxFE0YHDZcTtU+Nw6rBZtHhjGlp7DZJaIw6/5E3QTFlpIR0Ndv75/kt+f3CH31Zv8Gx5nl+leXJjjp8Wr+PXaRAsBp0E1OJwyzHo5NQbVbidGsxGSW2rE4/biKWxilJZCee6wvzxYIW/H6/x16M1fr9/mz/Wbj8/f1mZJx1uQXDb9disCiwGjbQKJlw2CV6vx+t0YFApMTtlqOqLKK+o4OpQDz8uzXHv0hRfTKV5dPEcKyMDpKNhrg328clgAkGrqsZpMeGx6rGYlJjqNdhsRnxuF4l4J8dPNuO2m9Cp1HyePs1UyEdpdjaq97L4pOsYYtH75G3ZSlCrZm504H+FVtwWM6LDgdNlwqDXoq1VkBob5evHP3B5ahp5lZxD+QeZPTvIo6uTxE119NuNPF2aZzoeJWHScTM1yv2PLiC0h8MEmn10nUjgsFoxqDWkzqRZvXWPuU/nsVrq2Jezm6Kiw1yWEv7z4R2eLlznyWcz/PvdN/y8MMu301ckD5dYTI8hzC4skpq6gNGoxyV5N3EmxcrSXZZv3iMU9GF11GFx19E30M/50WG+nLnAN9MXuT85zsyJONcSXTy8dJ6vJOhUPIbQNT6O3mHDolVw/uxZbt1a4+7tR7THQhgN1RwLRegfSDL98XVSI8NMdrQwebyVTk0t9txcxOJieiTPRwIiQYsFwRTw0+CxkxoeZmF+ldXlBwz2D6BUlOIwGxjp6yWdHGJibISuxDg2tY5jejmXAo2Ma3VMOp3PgbL8XCorbQjeRjfJ00MsLKyyvLTGRPoDZNWFdEaC9HW0M5U8zfS5MfpOpdA5hqRfxULB3iyG2pqY7g5xtSeKvPAwZfkHqK12IowODDA3t8yNxTvMXJ1FrarEbq/nbHKUi5IFZ04nCUeTmDxJKpQRZDIRzZES3t22HfmhgxTn5JDx1lYi0rZkvVuC8OHlWT668pmU6DIup00CVhHv7KHBF0VlCOMJSB4/h0U5WtPGnv16FKU1iIqj5O3cyYHMTKJWqW0KLZu3FiIMJT9gYnKGSCSGQlFJIBgl3JHA7O2hQh1DYx9EYz2FwtTD4TKRnP117NhVht+gp1vqfbtJzZi/gZzsErL2SV2+IikcHjrD0aOFOKW0xaYAzdE+golrNMU+pM45TLkyRo2+m4KyBvbmKtmVLWdbRgGG0nK6TQpqCorJyCwnN9/Af3EcVq8wGWCGAAAAAElFTkSuQmCC","width":50,"height":50,"src":"/static/29be57150f6568025a4db433fa0deedc/45876/karim-baydon-avatar.png","srcSet":"/static/29be57150f6568025a4db433fa0deedc/45876/karim-baydon-avatar.png 1x,\n/static/29be57150f6568025a4db433fa0deedc/eb85b/karim-baydon-avatar.png 1.5x,\n/static/29be57150f6568025a4db433fa0deedc/4f71c/karim-baydon-avatar.png 2x"}}},"headerImage":null},"html":"<h1>How We Implement Feature Requests at AUTO1</h1>\n<p>In this blog post I want to emphasize how important the process of exceptional software delivery is. I’m going through all the steps used by AUTO1 to achieve the best possible implementation in software development. All in all, there are 5 steps that require a clean and effective implementation:</p>\n<ul>\n<li>Product Specs</li>\n<li>Tech Specs</li>\n<li>Implementation</li>\n<li>Quality Assurance</li>\n<li>Monitoring</li>\n</ul>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/f4a1c09b710c1ba7f40345bfce644242/81d54/auto1-feature-request-lifecycle.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 22.421875000000004%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAAsSAAALEgHS3X78AAAA/klEQVQY002MXU+CcBjF+ex9BLtq3dS6sZrdtPXCYs008DVbNkFwYgJa4oaDEkP+/IKVW2c7e87Z89uRgnWKOvSpKG0alk/XjpFbc640B7Uf4Cq31A9L9I4PcLUqmmFxfiOjPPXx5xbBQMF7lvmyNdjGSHEiUEcBZc2l+xbxMl1z3Qmp1H2a1gZHVbFKe0yO9pnXFbqjMWePTWrGCG824du8I+iU2TotsniFtIwSetOQBzNgMPtEdzc0hjE1fYNhhyzUe7yLE94vT/H015z5yH8mfWdGtLARbptkXEUsTTKRIoksI8tdqLhCFPmvC0GWpr85t8i7+MfmADvtNn4AKnkiQHck8EgAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"auto1-feature-request-lifecycle\"\n        title=\"\"\n        src=\"/static/f4a1c09b710c1ba7f40345bfce644242/40fad/auto1-feature-request-lifecycle.png\"\n        srcset=\"/static/f4a1c09b710c1ba7f40345bfce644242/707e9/auto1-feature-request-lifecycle.png 148w,\n/static/f4a1c09b710c1ba7f40345bfce644242/649e0/auto1-feature-request-lifecycle.png 295w,\n/static/f4a1c09b710c1ba7f40345bfce644242/40fad/auto1-feature-request-lifecycle.png 590w,\n/static/f4a1c09b710c1ba7f40345bfce644242/b3fef/auto1-feature-request-lifecycle.png 885w,\n/static/f4a1c09b710c1ba7f40345bfce644242/301c0/auto1-feature-request-lifecycle.png 1180w,\n/static/f4a1c09b710c1ba7f40345bfce644242/81d54/auto1-feature-request-lifecycle.png 1280w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>In the following I would like to go into detail about these steps.</p>\n<h2>1. Product Specs</h2>\n<p>The most valuable feature implementation does not help if you have a bad user experience. This is why the product managers at AUTO1 work closely with the design team to build great product specifications and UIs to let the users handle their work with the application easily.</p>\n<p>The product specs are usually divided into stories to simplify the work on them for designers, as well as software engineers. Once this is done, the software engineers work their way up from specifications and UI to database schemas, requests and responses, etc. in the tech specs.</p>\n<h2>2. Tech Specs</h2>\n<p>One vital process for building new features at AUTO1 is the concept of creating Tech Specs. Tech Specs stands for Technical Specifications, and is basically a design document that represents the bits and pieces of a new feature implementation. At AUTO1, we have over 600 microservices that are handling various different tasks. So to provide exceptional and error-proof work, we create a sort of contract between developers within a team that are aware of how the technical implementation has to be done. The Tech Specs generally include the following important information:</p>\n<ul>\n<li>An agreement of Requests/Responses between FE and BE engineers so that FE/BE can work autonomously</li>\n<li>Api Relationships between services that provide specific data that is needed for the implementation</li>\n<li>Architectural diagrams of the Api flows between services</li>\n<li>Database schemas</li>\n<li>Finding consent between other teams that are affected by the changes</li>\n</ul>\n<p>With that said, the Tech Specs provide very helpful instructions to put all engineers on the same implementation ideas so the work can be accomplished in a straight-forward manner.</p>\n<h2>3. Implementation - a few key takeaways</h2>\n<p>In the following I would like to go into detail about a few key takeaways for one of our implementations in the production domain.</p>\n<h3>Tech Decision 1: Data duplication to provide a fast search</h3>\n<p>One of the key points of a new feature implementation in the Production domain was to provide a list of specific data regarding cars that have to be refurbished. This list should also include a search on the top to look up cars by specific values like the VIN (Vehicle Identification Number), stock number, and refurbishment number. In order to get the appropriate data we have to send request to multiple services. There are actually two ways to fetch the cars by the given filters:</p>\n<ol>\n<li>Use the Aggregator Pattern and request two api endpoints to combine the data afterwards and list the cars.</li>\n<li>Import the data into the database of the new service and simply query it.</li>\n</ol>\n<p>Let's have a deeper look at these two methods....</p>\n<h4>Method 1 - The Aggregator Pattern</h4>\n<p>The Aggregator Pattern is usually a standalone microservice. It offers a uniform API that a client can use to access data from different microservices.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/4ed585dd6c350563cbffeb47bacdca14/47d1e/aggregator-pattern.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 582px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 56.013745704467354%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsSAAALEgHS3X78AAABiUlEQVQoz32SCW+CQBCF/f//p4lp2thL40E1HoCAsrCKTRFBkEtFX0cMaoJ1kwkw8+abN2QreHCOpzgeL+98NgczTOyzwzlHtaJenMq/sBtx4DkIPRu6IkKV+ti4v/Bd+zrsBvoQePJ1oMdK78Ebv8FTvxBMGlgrH3C0NrIbpw+BV3dnoMe6sAdVcOEJ9ugF/rgGnwm0elbaplJ2dRUU376zQOJacBdT6FIXuijAUEd3f0/lHuz2xHGEMIoRxglsx8VQlPH+WUe90YTv+6XN7joMggCWZcFZLuGv10jiGFEUIiDAhmpFnHS2befaNelKDgugs1phJIowOMfKdRElCZI0vQze7naIKecShM/nkGQZ1uLn/sopNQ6mDH1jBkGZoEMhaDpEnSHb73PdmO5iR5uiM9ZyzYC0/QmjLeIyMKHJ3+oELY2h2uyg1huiPTXzhhOQhAQ38tyr0MNzS0BL1fPBYRiWgXtq0kwO2eBQ+AyKOYPETLC5hePhfO84rScx41LPteQ63W7xB6IFSW1pdvGFAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"aggregator-pattern\"\n        title=\"\"\n        src=\"/static/4ed585dd6c350563cbffeb47bacdca14/47d1e/aggregator-pattern.png\"\n        srcset=\"/static/4ed585dd6c350563cbffeb47bacdca14/0d10c/aggregator-pattern.png 148w,\n/static/4ed585dd6c350563cbffeb47bacdca14/f53bb/aggregator-pattern.png 295w,\n/static/4ed585dd6c350563cbffeb47bacdca14/47d1e/aggregator-pattern.png 582w\"\n        sizes=\"(max-width: 582px) 100vw, 582px\"\n      />\n  </span>\n  </a></p>\n<p>This composite service is utilized when we need to prepare the result data produced from the outputs of several microservices. The aggregator pattern is designed to combine data from several endpoints and provide it as a single endpoint to the client. If necessary, it can also cache that data according to predetermined criteria or rules. You can read more about this pattern here: <a href=\"https://www.edureka.co/blog/microservices-design-patterns\">https://www.edureka.co/blog/microservices-design-patterns</a></p>\n<p>So to sum up, we can simply execute two or more api requests to separate services and accumulate the data we need to show the results in the list. This sounds good, except for one drawback: Performance! It is at the expense of performance. One more way to enhance this behavior is by using asynchronous api requests, which basically execute these multiple api requests in parallel. However, it does not provide the best performance (depending on the use-case, it was not an option for us).</p>\n<h4>Method 2 - Importing the data into the microservice</h4>\n<p>Since the data like VIN, stock number, etc. will not change in the future, importing fixed data to the service database sounds very suitable. So the key message here is: don't rely on sending synchronous queries to obtain data that was previously controlled by another microservice if your primary microservice requires it. Instead, use consistency to duplicate or propagate that data (just the properties you require) into the other service's database.</p>\n<p>The only data that changes over the course of a refurbishment is the state. For syncing the refurbishment state, we used asynchronous messaging. Every time the initial state of a refurbishment is changed, a message will be produced to SQS (Simple Queue Service). From there, we can easily consume that message and change the state in the new microservice.</p>\n<p>To provide a fast search, we added an index only to the state field, since too many composite indexes can have degradation on insertion, deletion, and updating performance. The Data Manipulation Language statement has to modify the table data and the indexed data too, which might decrease the performance depending on the amount of data. We have slow query alerts in place, so we get notified when it might be time for an investigation to improve the performance.</p>\n<h3>Tech Decision 2: Event Sourcing the State Changes</h3>\n<p>Event sourcing is a way for an event-driven microservice to respond to events in order to carry out its tasks. A higher-level operation is performed by a number of these services interacting with one another in an event-driven architecture based on messaging. The interaction usually consists of a series of messages taken by the various services to handle, for e.g. state changes.</p>\n<p>Messaging at AUTO1 works in the following way. Every service that publishes messages must specify the SNS topic to which it intends to deliver those messages. Topics are bound by message type, so if the message type is <code class=\"language-text\">Refurbishment.State</code> then the topic is named <code class=\"language-text\">Refurbishment_State</code>. Messages are then routed to the subscribed SQS queues using topics that have been specified. These messages can be consumed by multiple consumers.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/008c7e32b470559ed983d982ac6e9ebe/1ed58/aws-sns-sqs-messaging-auto1.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 42.4287856071964%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAIABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAIF/8QAFQEBAQAAAAAAAAAAAAAAAAAAAQD/2gAMAwEAAhADEAAAAd6QgT//xAAWEAEBAQAAAAAAAAAAAAAAAAAAAUH/2gAIAQEAAQUCZH//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAVEAEBAAAAAAAAAAAAAAAAAAAAQf/aAAgBAQAGPwJVf//EABkQAAIDAQAAAAAAAAAAAAAAAAARASExkf/aAAgBAQABPyFbciltjq+j/9oADAMBAAIAAwAAABAL/wD/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAXEQEAAwAAAAAAAAAAAAAAAAABEBEh/9oACAECAQE/EDGo/8QAGxABAAICAwAAAAAAAAAAAAAAAQARQVExYYH/2gAIAQEAAT8QXWVrEAqs0pfkHCL2Fn//2Q=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"aws-sns-sqs-messaging-auto1\"\n        title=\"\"\n        src=\"/static/008c7e32b470559ed983d982ac6e9ebe/f8fb9/aws-sns-sqs-messaging-auto1.jpg\"\n        srcset=\"/static/008c7e32b470559ed983d982ac6e9ebe/e8976/aws-sns-sqs-messaging-auto1.jpg 148w,\n/static/008c7e32b470559ed983d982ac6e9ebe/63df2/aws-sns-sqs-messaging-auto1.jpg 295w,\n/static/008c7e32b470559ed983d982ac6e9ebe/f8fb9/aws-sns-sqs-messaging-auto1.jpg 590w,\n/static/008c7e32b470559ed983d982ac6e9ebe/1ed58/aws-sns-sqs-messaging-auto1.jpg 667w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>So to keep the state changes updated, we created a Message Listener that listens to state changes and updates the state. A message producer for the state changes was already in place since several other services needed to consume this message as well and make their own updates.</p>\n<h3>Tech Decision 3: Implementing Feature Flags</h3>\n<p>Feature flags can be helpful in a variety of situations. It's essential to understand that feature flags can be used to configure a wide range of application components. Some feature flags are used to run specific parts of the application, and some feature flags intentionally prevent that. Additionally, feature flags may be applied to the frontend and/or backend. Enabling or disabling features for individual parts of an application is a common use case.</p>\n<p>The strategy we usually apply is to enable features for specific car repair workshops using a feature flag. That way, we can steadily monitor for errors and let the feature evolve so it is ready to be rolled out to all the other car repair workshops as well. For some features, it might be needed to backfill data to pre-existing entities to support the feature in earlier refurbishments.</p>\n<h2>4. Quality Assurance (QA)</h2>\n<p>Quality assurance is an essential part of software development and therefore should ideally take place not only at the end, but throughout the development process.</p>\n<p>If you want to create good software, you should include software tests in the development process from the very beginning. Here are three reasons for the need of good-quality testing:</p>\n<ol>\n<li>\n<p><strong>A high-quality user experience is guaranteed by quality assurance</strong><br>\nSoftware quality issues have an impact on functionality and as a result the user experience. When it comes to developing good software, the user always comes first. Only this ensures that the product is of high quality.</p>\n</li>\n<li>\n<p><strong>Quality assurance saves time and money</strong><br>\nThose who recognize quality assurance as an essential component of software development from the start save time and money. The later errors are discovered, the longer the development time and the higher the costs.</p>\n</li>\n<li>\n<p><strong>More security is provided by quality assurance</strong><br>\nContinuous quality assurance throughout the development process ensures that security vulnerabilities are detected and addressed early on.</p>\n</li>\n</ol>\n<h2>5. Monitoring</h2>\n<p>To improve the quality of an application, you need monitoring. Application monitoring helps developers to locate bugs easier and speeds up the development time. If application monitoring is ignored, it could lead to unexpected crashes or poor performance that would cause significant harm to the company. It can enable engineers to gain insights into how their systems will behave.</p>\n<p>This information enables them to identify issues or flaws while they are still small enough to be handled with relative ease. At AUTO1 every new service has its own Grafana monitoring dashboard to provide several key metrics like:</p>\n<ul>\n<li>JVM Memory usage</li>\n<li>JVM Heap size usage</li>\n<li>ECS Container Memory usage</li>\n<li>Docker Container CPU usage</li>\n<li>Load Averages</li>\n<li>Garbage Collector Metrics</li>\n<li>Cache Metrics</li>\n<li>Thread Pool Metrics</li>\n<li>etc.</li>\n</ul>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/4b1a5fc3828f80a25193475f942c3c3a/1b776/auto1-monitoring.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 72.99270072992701%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAHk5kSg/8QAGBAAAgMAAAAAAAAAAAAAAAAAABEBICH/2gAIAQEAAQUCxUcn/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFRABAQAAAAAAAAAAAAAAAAAAIEL/2gAIAQEABj8Clf/EABwQAAMAAQUAAAAAAAAAAAAAAAABESEQMUGRsf/aAAgBAQABPyHCsvRy8DhHokbN9n//2gAMAwEAAgADAAAAELzv/8QAFhEBAQEAAAAAAAAAAAAAAAAAABEh/9oACAEDAQE/EK1//8QAFREBAQAAAAAAAAAAAAAAAAAAACH/2gAIAQIBAT8QV//EAB0QAAICAQUAAAAAAAAAAAAAAAERACFBUWGRweH/2gAIAQEAAT8QAEIkTTPSLILX5LMcSiw5YyoGQY2j/9k='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"auto1-monitoring\"\n        title=\"\"\n        src=\"/static/4b1a5fc3828f80a25193475f942c3c3a/f8fb9/auto1-monitoring.jpg\"\n        srcset=\"/static/4b1a5fc3828f80a25193475f942c3c3a/e8976/auto1-monitoring.jpg 148w,\n/static/4b1a5fc3828f80a25193475f942c3c3a/63df2/auto1-monitoring.jpg 295w,\n/static/4b1a5fc3828f80a25193475f942c3c3a/f8fb9/auto1-monitoring.jpg 590w,\n/static/4b1a5fc3828f80a25193475f942c3c3a/85e3d/auto1-monitoring.jpg 885w,\n/static/4b1a5fc3828f80a25193475f942c3c3a/1b776/auto1-monitoring.jpg 1096w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<h2>Conclusion</h2>\n<p>Working on a feature implementation is guided by a step-by-step process to provide the best solutions possible on every part of the application.</p>\n<p>The key lesson here is that the process is intertwined with the product itself. Because of this, each stage in the development process — from planning to execution — involves stakeholders, product managers, designers and software engineers. You don't have to plan too much in advance. Software engineers can always make up tentative plans as they go, saving them time and also increasing their productivity.</p>","fields":{"slug":"/how-we-implement-feature-requests-at-auto1/","tags":["auto1","engineering","aws","feature implementation","software architecture","design patterns"]}}},{"node":{"id":"de226d1e-aa44-5f73-9bc5-3d554df1f7e6","frontmatter":{"category":"Engineering","title":"How we manage Network Devices at Auto1","date":"2022-10-28","summary":"Network automatization management using Unimus","thumbnail":null,"authorName":"Besnik Shala","authorDescription":"Besnik is a Senior Network and Security Engineer based in our Berlin office","authorAvatar":{"relativePath":"pages/how-we-manage-network-devices-at-auto1/avatar_Shala.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAeABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAMBAgQF/8QAFQEBAQAAAAAAAAAAAAAAAAAAAQD/2gAMAwEAAhADEAAAAeNoRvTmElNESlion//EABoQAAMAAwEAAAAAAAAAAAAAAAECAwAREiD/2gAIAQEAAQUCVSxrBpDEOjWncyMkwVnbo+P/xAAXEQEBAQEAAAAAAAAAAAAAAAAAEQEh/9oACAEDAQE/AeRW4j//xAAXEQEBAQEAAAAAAAAAAAAAAAAAEQEh/9oACAECAQE/Ae1Gar//xAAaEAEBAAIDAAAAAAAAAAAAAAABEQAQIEGR/9oACAEBAAY/AoYL3ocnuqlMsnH/xAAbEAEAAgMBAQAAAAAAAAAAAAABABEQIUExUf/aAAgBAQABPyEh6Mohr45jRi75BAlL6W4gwLSOSxAtwl4vH//aAAwDAQACAAMAAAAQCO5D/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAERIf/aAAgBAwEBPxC0bEhTCD//xAAYEQEBAQEBAAAAAAAAAAAAAAABABEhMf/aAAgBAgEBPxAEAlD5Ydt3/8QAHRABAAICAwEBAAAAAAAAAAAAAQARITFBUWGBEP/aAAgBAQABPxAm71HcudD6t0xMy7AGQqfjHhJMwa4zqUDfpKk0b+NwRQWkAOINMsGpZK/P/9k=","width":50,"height":50,"src":"/static/389e6ac4cc3981149603d886ba880ccb/d2d31/avatar_Shala.jpg","srcSet":"/static/389e6ac4cc3981149603d886ba880ccb/d2d31/avatar_Shala.jpg 1x,\n/static/389e6ac4cc3981149603d886ba880ccb/0b804/avatar_Shala.jpg 1.5x,\n/static/389e6ac4cc3981149603d886ba880ccb/753c3/avatar_Shala.jpg 2x,\n/static/389e6ac4cc3981149603d886ba880ccb/31ca8/avatar_Shala.jpg 3x"}}},"headerImage":null},"html":"<p>With over 400 locations across Europe, managing our network devices has become a big endeavor. In order to be more efficient on this challenge the Corporate IT Network Team recently implemented Unimus.</p>\n<p>Unimus does network automation, configuration backups, change management, updates and enables automation for all the processes. This also benefits the engineers not to work late hours or on weekends.</p>\n<p>To provide an example, here is a quick overview of how we upgrade our MikroTik routers using Unimus, which are located at our Autohero workshops all over Europe:</p>\n<table>\n<thead>\n<tr>\n<th><strong>1. On the Unimus platform we add each device with the devices IP and Credentials.</strong></th>\n<th><img src=\"https://lh4.googleusercontent.com/8EZA89AIL5p8v723-rdyslTwOTbCIAqreXMF9_sd-fP6L7EEfbSN9h1yCvd6n7Ljc62P5GXAdj0KvtGqLhU2BKUdVd9dQEh8QP3rCRMhCZ2Q2yo_Rq9vrAj8grXr06wyWqhMYIAhtlgoG3uzqZGzCw8hcwhZHWXtvUgA7wamde5V5ZNnhkmwXMis0Q\"></th>\n<th></th>\n<th></th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>2. From “Schedules” we configure the time and date for the desired upgrade.</strong></td>\n<td><img src=\"https://lh3.googleusercontent.com/lxogAJ5Uq3wfk3-co_sG3dt_nnSph-bOuOOHItnd_-IKRcvOAzJ50PJgJnyRwKeHdwHk5pFWroeEbRuOcOcm-DiFCTKOKlCqsduwyxQK1nUknzKJpXPPv8z405le3v3C2oMqr2qYp1oq5Mj_XPP4cAhQDjYMUUPcSq-WP-W304PIw2ak2b5qnCNi0Q\"></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td><strong>3. After adding all devices of the same model to Unimus, we go to the “Mass Configuration Push” menu. Templates and configurations for the upgrade need to be prepared.</strong> <br><br><br> <strong>4. From here we also add a Mikrotik Script to download the latest update, add the schedule for this push and select the target devices.</strong></td>\n<td><img src=\"https://lh6.googleusercontent.com/2pAyEXvc4hlAGNcMYNalJJDwM91YihSX4NdVRO-Hwzp52Zxldz_P0PH6OSlPSjp4DgGv5TSRTbjzxTQs3I0Li5h1_57g4tR9TB__80NL-petgqahPdZeOcgRYJt9G6h12xrLQfjmm9ijjJbTzXLqJPps3Ana2TZ5yTNJ_VXap4Hd6C7OZahMiHQY1g\"></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td><strong>5. Lastly we add a second command to issue the upgrade and reboot the device.</strong> <br><br><br> <strong>6. All that’s left to be done is to add a corresponding downtime in our monitoring tool (CheckMK) and wait for the magic to happen.</strong></td>\n<td><img src=\"https://lh3.googleusercontent.com/2xOP2Pq7LztBRRr-B2VJ5_roCubvYa4xJ_SlVeTz8LWzRTYqXflYowAAaNDsDh7y77M2vDDB8l1r_BpOvQsKQfHGssADO7FnbzGEmjtXKfFKfV5mES8whAQdYfUTJHwEdv9OGJ2A2GvkxS5XglrDG29p7zNZrtFNXvAMjThrQloKfFmSuqs7Nmd-xw\"></td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>","fields":{"slug":"/how-we-manage-network-devices-at-auto1/","tags":["auto1","IT","Network","Automation "]}}},{"node":{"id":"cfee7911-e765-5a6e-ba90-1eb2ce96d837","frontmatter":{"category":"Architecture","title":"Application Cockpit Model Outline","date":"2022-10-28","summary":"A short trip around the AUTO1 Application Cockpit data model","thumbnail":null,"authorName":"Przemysław Walat","authorDescription":"Przemysław is a Expert Software Engineer based in our Szczecin office","authorAvatar":{"relativePath":"pages/application-cockpit-model-outline/avatar_Walat.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQDAQX/xAAWAQEBAQAAAAAAAAAAAAAAAAABAAP/2gAMAwEAAhADEAAAAYNcbctZHqE5AEDf/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIDEhEA/9oACAEBAAEFAnyRJdo0aBmiW9jE1khCKBOxPVY8/8QAGBEAAgMAAAAAAAAAAAAAAAAAABEBECH/2gAIAQMBAT8Beji//8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAHRAAAgIBBQAAAAAAAAAAAAAAAAERQQIgISIxgf/aAAgBAQAGPwJvpqi/CMJg4KTFN7l6P//EABsQAAMBAAMBAAAAAAAAAAAAAAABESExQWFR/9oACAEBAAE/IYU8XDGNg3v6Gar2x1WU9pKgnlpCG63tFjubo1NwXmn/2gAMAwEAAgADAAAAENfwvP/EABgRAAMBAQAAAAAAAAAAAAAAAAABEUFx/9oACAEDAQE/EHENHQ0h/8QAGREBAAIDAAAAAAAAAAAAAAAAAQAhEBFh/9oACAECAQE/EANUy+Z//8QAHRABAAIDAAMBAAAAAAAAAAAAAQARMUFRIWFxgf/aAAgBAQABPxB5rcKC843EOZKEWYB/dSvRVSN3XnMCCmUgo98hrV7b0d+xivco2sPKSmmz7hteDByVo6Gf/9k=","width":50,"height":50,"src":"/static/e4e77cd92050dbb448a088991f2d0c50/d2d31/avatar_Walat.jpeg","srcSet":"/static/e4e77cd92050dbb448a088991f2d0c50/d2d31/avatar_Walat.jpeg 1x,\n/static/e4e77cd92050dbb448a088991f2d0c50/0b804/avatar_Walat.jpeg 1.5x,\n/static/e4e77cd92050dbb448a088991f2d0c50/753c3/avatar_Walat.jpeg 2x,\n/static/e4e77cd92050dbb448a088991f2d0c50/31ca8/avatar_Walat.jpeg 3x"}}},"headerImage":null},"html":"<h1>I’m a model, <font color=“grey”><em>now</em></font> you know what I mean</h1>\n<p>    Welcome, fellow concerned developers. In our <a href=\"https://auto1.tech/application-cockpit/architecture-intro\">previous installment</a>, we have promised to delve deeper into the model that Application Cockpit is using underneath to see how it synergizes with the high-level architecture in order to make the whole product simple yet powerful and extensible. Be advised, that while we have always aimed for simplicity, our initial take on the model was a little bit more complicated, but after more-than-a-few heated debacles, we have stripped it down even more and so far we are pretty happy with it, despite more than a few \"I wish we had the initial design in place\" moments of weakness.</p>\n<p>    In honor of the early version, we are also going to take a short trip down the memory lane to see the trade-offs and compromises we have decided to make along the way and features we have decided to add. We are going to discuss the direction we took and what were our reasons to do so (or in other words, \"what were they thinking ?\"). But for now...</p>\n<h2>Where we're at</h2>\n<p>    As we hinted in the previous blog post, Application Cockpit is actually binary, in a sense that its primary domain consists of only two data types: Resources and Readings and the (extremely) short story is that a Resource is an entity for which we are going to track Readings, while a Reading is a piece of information pertaining to a given Resource. The longer story follows below.</p>\n<h3>Resources</h3>\n<p>    Like mentioned above, a Resource is mostly something that we are going to collect readings for, it can be a physical entity, or a purely logical one. Examples of currently tracked Resources include:</p>\n<ul>\n<li>\n<p>(semi)physical</p>\n<ul>\n<li>\n<p>LambdaDeployment</p>\n</li>\n<li>\n<p>RdsInstance</p>\n</li>\n<li>\n<p>ServiceDeployment</p>\n</li>\n<li>\n<p>ServiceInstance</p>\n</li>\n</ul>\n</li>\n<li>\n<p>logical</p>\n<ul>\n<li>\n<p>Lambda</p>\n</li>\n<li>\n<p>Service</p>\n</li>\n<li>\n<p>SoftwareDependency</p>\n</li>\n<li>\n<p>SoftwareDependencyVersion</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>The Resource has a very rigid model, comprising of only a few, well-defined properties, that is:</p>\n<ul>\n<li>\n<p>id -  the unique UUID</p>\n</li>\n<li>\n<p>type - the type of the resource, see above for examples</p>\n</li>\n<li>\n<p>name - a textual identifier, unique across one type; needs to be deterministically derived from resource's properties available at runtime (further details in tradeoffs chapter)</p>\n</li>\n<li>\n<p>parent_id - id of the parent resource (if any)</p>\n</li>\n<li>\n<p>created_on - a timestamp and a late-comer to the party, but we find it useful in many ways, especially during troubleshooting</p>\n</li>\n</ul>\n<p>In order to publish (a.k.a create) a Resource, the collector will provide only the name, type and optionally the parent identifier.</p>\n<p>When it comes to type, it is a free-form String. We have no predefined enumeration to represent it and the collectors (see previous article to learn more about them) are free to push whatever types they want, akin to the front-end which is allowed to ask for any type it wishes.</p>\n<p>In addition, the inclusion of parent id allows us to build hierarchies, so that our data closely follows the domain that we are modeling.</p>\n<br>\n<h3>Readings</h3>\n<p>    Given the above, you should now have a general idea of what a Resource is and how we use it, so we can move on to Readings. Since we have established that it is generally a piece of data pertaining to a Resource, let's have a look at its properties:</p>\n<ul>\n<li>\n<p>id - the serial identifier;</p>\n</li>\n<li>\n<p>type - type of the Reading; free form String, akin to Resource type</p>\n</li>\n<li>\n<p>resource_id - uuid of the Resource this Reading describes</p>\n</li>\n<li>\n<p>value - free-form json document to hold the data of the Reading</p>\n</li>\n<li>\n<p>storage<em>mode - determines the behavior when multiple Readings are published with same resource</em>id and type:</p>\n<ul>\n<li>\n<p>SNAPSHOT - only the most recent Reading is preserved</p>\n</li>\n<li>\n<p>TIME_SERIES - all of the published Readings are stored</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>Since the values we store for Reading are free-form JSON, it gives developers a lot of flexibility in how to handle their flows. We store both trivial things, e.g.:</p>\n<p><img src=\"https://lh5.googleusercontent.com/v1PbZaRZQJjKJbBQiQZOXRUGjLK_c000j3edWpNb7jhim2dDHl21ircQVV4-aabJnHA57-A68J7WXfTkMFFxeVro0kGAlSMh2PKZ72yW5IezNvN-FiM4Xm-siC7PhAS8ZarnG4imewzKJhjKxAR7Mt0A3R5BOkpSCDYW14ldqG2CLpW5XC-jbwJtvg\"></p>\n<p>To the humongous too-big-to-fit-in-the-picture guys:</p>\n<p><img src=\"https://lh3.googleusercontent.com/FddBhrlKYHmv4Jw9mucH_Mzo0OUs7kbDEN2xOLqfPm7NCyNcM0fxD0MFSSQHODLDWYL8x-CrwCAj-nTJdeqbZGNk-5MrRwxrg7FI4ILuTQTQe8uEPG7OqHLrRZHnuhnjC9Os3x7KcBEDCaQWGJKk_amQo8GnfBh4PK87vfL6cgGD8buX61uiYEIclQ\"></p>\n<p>Again, akin to Resource type, the Reading's type and value are completely opaque to most of the Application Cockpit infrastructure, so individual contributors are free to ship anything they wish in those properties. The only components which need to be aware of the exact structure are the Collector that is originally publishing the data and the UI component which is querying the Data Provider in order to render the respective view. That way, many developers are free to add their own custom extensions, without stepping on each other's toes or needing to seek approval or assistance from the core Application Cockpit team, which in addition can remain blissfully unaware of the atrocities that the others may commit and attempt to hide within their custom Readings.</p>\n<br>\n<h2>The tradeoffs</h2>\n<p>    Having dealt with the detailed model description, we can now move on to discuss how our journey with its design looked like. Of course we, being the pragmatic, more-than-once-bitten little members of the software engineering club that we are, were under no delusions about what is going to happen to our nifty design when it gets into its first bar fight against the necessities of real life. The only question was when we are going to be faced with our first moral/design dilemma and how much are we going to be willing to compromise our collective conscience.</p>\n<br>\n<h3>The Resource id conundrum</h3>\n<p>    When it comes to the little trade-offs, actually, the more observant reader might have noticed by now that something is a bit amiss in our picture:</p>\n<ol>\n<li>\n<p>In this article we have learned that in order to publish a Reading for a Resource, the Collector probably needs to provide the resource_id to bind it to the right entity</p>\n</li>\n<li>\n<p>In the previous article we have mentioned, that Collectors are generally stateless and have no access to the storage holding Resource data</p>\n</li>\n<li>\n<p>In consequence, how can a Collector find out the correct id to publish the reading for ?</p>\n</li>\n</ol>\n<p>Well, it  would that it could, but it can’t, so it shan’t. It’s quite a bind we find ourselves in, right ? We were adamant about not allowing collectors access to our DB, so we had to find another way to make things happen… A short look at the ReadingPublishMessage model, might provide some hints, though, so let’s start with that:</p>\n<p><img src=\"https://lh6.googleusercontent.com/mEaBTCaWa1lWEc0cjQraEWVOPMb3V8StdxwrMvaALgxSxMBfjNjk4KBCRif-F_2oUVzgCBheGOpyLiAK5tnxPcH1m2Nae-8EMyi3CgOhoMUSSVAUJY8jFyckMLAq1PMhPI6UPE_uHSEeCy4yNrpX-mPx4he1VywC5lCtkwJBaC77Px36aqiMivkwig\"></p>\n<p>Does anything stand out to you ? It is almost a reflection of a Reading, but with a slight twist, and you probably got it right, so enter  Resource's name - that tiny little property looks like it has been put there in order to provide a human-friendly name for a Resource, but it couldn't be further from the truth than that. In fact, initially it was never there (we use Readings to store human-friendly names of the Resources anyway) and we added it specifically to solve the issue at hand.</p>\n<p>If you recall, the description says that it needs to be unique and possible to deterministically assemble from the data available in the runtime. Leveraging that, the Collector doesn't need to know the right id, it just needs to provide the correct textual name. The good news is that we have a way of overcoming the initial obstacle, but there is also bad news... This forces every collector to be aware of the logic required to construct names of the Resources it is interested in, moreover, the logic needs to be in multiple places and it needs to be synchronized. But let's leave it at that, since data ingestion is going to be the focal point of the next article in series.</p>\n<br>\n<h3>Can I haz a Resource ?</h3>\n<p>    At this point a meticulous reader with a penchant for domain modeling might begin to wonder:</p>\n<p>\"All right, a Resource can have a parent... That's nice, but is that really all that there is? You say you want to closely match the domain, but not everything is a child of something, sometimes you might want a Resource to 'own' Resources, so... how about that, smarty pants ?\"</p>\n<p>This was also something we were intensively brainstorming about and lots and lots of coffee cups later (and probably more than a few beer mugs, too) we have arrived at something we were not very uncomfortable with. Our main priority was to avoid complicating the model (remember ? we want people to integrate easily, so we want to keep things simple), so we didn't want to introduce any new concepts or tables. Instead, we elected to cheat a little, so please have a look at the example below with a picture being worth a thousand words:</p>\n<h2><img src=\"https://lh3.googleusercontent.com/9ofjHjm_CHNEKWH-7C6kdE5aq9ELbeH4ekpOoOZcDMJtwYjP3xWOTiceE3kW1i0pl4H3uTCbh0c5eY1MMqpWJRXjB0J4L66x0vf6YHhs15fY-s_oA-8qobF_eynejn8xlsns09OlmgIGAy7bZNDDebFodPEHmGrPgp8HnAhoCCUIzEi7fV1OWheP\"></h2>\n<p>Basically we have elected to model a \"has a\" relationship between two Resources using an intermediary Reading to store ids of the referenced (one or many) Resources. In our example a Service Deployment has a Reading Called \"Service Deployment Dependencies\". The main purpose of this Reading is to hold data which we can use to construct id of \"Software Dependency Version\" Resources that our \"Service Deployment\" has. As you can see, if we wanted to obtain vulnerabilities of all dependencies a specific Service Deployment Resource has, we could easily construct ids of each and every \"Software Dependency Version\" and then query for its \"Dependency Version Vulnerability\" Readings. </p>\n<p>There aren't any places where we use this not-so-orthodox approach, but there are some and the example below is the most prominent real use-case. We are closely monitoring the performance impact it has on our service and so far, it has been negligible, or at least negligible enough that we are still able to look at ourselves in the mirror.</p>\n<br>\n<h2>and the (mostly) harmless evolution</h2>\n<p>    Having confessed our most prominent sins, let's wrap things up with a less controversial story. There are several items that were not part of the initial design, which we have decided to add along the way, because we have found them useful.</p>\n<br>\n<h3>To replace or... not to replace</h3>\n<p>    The storage mode for a Reading was a last-minute addition to the picture, but it serves its purpose well. Initially we thought of Readings solely as means of representing the current state of things, e.g. the single-point-in-time data like:</p>\n<ul>\n<li>\n<p>tech stack given service is using</p>\n</li>\n<li>\n<p>AWS account id of the deployment</p>\n</li>\n<li>\n<p>IP address of an instance, etc.</p>\n</li>\n</ul>\n<p>This meant that we were only interested in the most recent value of a specific Reading Type for a Resource, always replacing it whenever a new value was collected. From the more technical standpoint - we could get away with performing upserts on Readings with the key being comprised of resource<em>id and reading</em>type. However, after a few initial releases, we've discovered that there are certain pieces of data more linear in their nature, which Application Cockpit users could really appreciate on a daily basis.</p>\n<p>A prominent example of such an item is Service Events Graph, which as you can probably guess represents a service's life cycle timeline, so a mixed bag of Service Deployments, Instance Startups and Shutdowns, Incidents etc. Here's what it currently looks like:</p>\n<p><img src=\"https://lh4.googleusercontent.com/x_T21RH2LmaVQypUzhNgve4ZEPeKBTvWs0IXdJdPF_RVz3EXAb3SK09ZR1JRxmt6OUSTQdRpowIdPGUI0A17-ATiLE-nSY3u8hA0OjZZMO9HF-RCBw9q0I5GG_xIEwMyMy2g5OpxWc7QTmN2KnZy29jJ8pTdt0Av3MNQ4FuKS0e7FT3aRuYZv1diWA\"></p>\n<p>What we have also found out rather quickly was that it would be quite awkward to represent this kind of data using our initial point-in-time-based approach to Readings.</p>\n<p>Enter storage mode - a property of a Reading which tells the underlying infrastructure how to behave when a new Reading for the same resource<em>id and reading</em>type is persisted. </p>\n<p>To preserve all the already existing flows, we have assumed the default mode to be SNAPSHOT, which upholds the default behavior of upserting new values, keeping all the implemented features intact without any additional effort. </p>\n<p>As an extension of the functionality, we have introduced TIMESERIES mode, which preserves all the values that were collected and allows us to construct e.g. neat timelines like what you can see in the screenshot above. </p>\n<p>As a bonus, here's how the actual data underlying the graph looks like:</p>\n<p><img src=\"https://lh3.googleusercontent.com/HsXSzSFwhynsa77tvxtyWg2K54pJpTXvXMghLmselpYCFLk7vktBkwWlQ5q7T_WpTiEYSTi85ULtxxz5fNhfleOVEhXf5NRm_51YPAh9x_t1aI53KyHs8QA1bRqLuhjMtZeSXwQIRrOq8rI2FxIxFs2bktIuLclo1ZgQN4sGEcdEKrrW-ZzE10tRHQ\"></p>\n<h3>A little housekeeping never killed nobody... I hope</h3>\n<p>    Whilst it seems quite natural for a Reading to have a timestamp since it is collected (or, as you will, measured) at a specific point in time, it's not so straightforward in case of a Resource, especially not from the Business Domain side of things, since it mainly represents a certain Entity that simply is.  Seems like we're not all about Business, I guess, but we'll get to that in a while.</p>\n<p>With the above in mind, the first iterations of the Resource model did not have a good reason to include timestamps, so they didn't. However, as we kept adding new features and collectors, we have started noticing that the system is accreting quite a lot of Resources and that a rather large portion of them is only relevant within a short timeframe. It wasn't a problem for us at that point, but even though we hate doing the house chores as much as we do, why not keep our room tidy and \"let go of the things that don't matter anymore\", as we've all certainly been told at least a few times in our life ?</p>\n<p>The part where it most stood out for us were Service Instance resources which by their nature are short lived, since as soon as the instance is dead, we don't care about it anymore (apart from audit reasons perhaps). The point was - how do we know whether we can safely delete the Instance Resource ? </p>\n<p>As you have seen above, we have ServiceEvents telling us when instances were terminated, but can we rely on the event to always be generated and are we willing to trust it ? Not really.</p>\n<p>Alternatively, we do track instance health checks but they are not ideal by themselves, particularly since a freshly minted Instance would have no checks at all in the beginning and then report as unhealthy for some time before it becomes stable, not to mention that in some cases it is all right for an instance to fail some of the inspections for a while and still survive. The list of things to consider goes on and on, which went contrary to our goal which was to avoid creating a too-sophisticated cleanup-logic for fear it would become too brittle to be effective.</p>\n<p>The introduction of Resource timestamps allowed us to reach all the objectives in a relatively low-cost and simple manner. Once we started tracking when an Instance was created it was a simple manner scanning Instance Resources on a schedule, discovering those which had no health reports for quite a while and were not created recently to safely trim them away from our storage.</p>\n<p>The added bonus is that having a Resource creation timestamp comes in handy during investigation of issues (not that there are too many), since it makes it easier to track the timeline and wrap your head around what happened when and why.</p>\n<br>\n<h2>That's all, folks</h2>\n<p>    At this point I am going to conclude my musings and I hope that you've found them interesting or perhaps even inspiring at some point. The topic is far from exhausted, especially given that our journey with Application Cockpit is still well under way and we keep on adding new features into the application, so please look forward to the next article in series.</p>","fields":{"slug":"/application-cockpit-model-outline/","tags":["auto1","Cockpit","DataModel","Architecture","Core"]}}},{"node":{"id":"4c23b9b2-0718-52ff-a466-8b87fec6925d","frontmatter":{"category":"Architecture","title":"Machine Learning pipeline","date":"2022-08-31","summary":"Machine learning systems are complicated, but good infrastructure can reduce this complexity by automating processes. Well thought out infrastructure solutions can lower the engineering time and accelerate your teams ability to deliver ML applications. In this blog post, I go over an example of automating a ML pipeline using AWS services, review the structure and give you some action points to consider when creating your own.","thumbnail":null,"authorName":"Alena Nazarava","authorDescription":"Alena Nazarava is a Data Scientist working remotely from Bavaria","authorAvatar":{"relativePath":"pages/machine-learning-pipeline/avatar_Nazarava.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsSAAALEgHS3X78AAAEgUlEQVQ4yyXRaWwUZRgH8EnEkxTXcrVFzpJSIUBtqdB272Nm53xn3pnZOXZmdmZn9u6W0m5blkKtUIkCtQiklOOL1MolEEBDBQP1SEwUNcaEeEXRT4qJH4x+aiJuNXnyfPs9/+T/ILIiSBKURSDxpASJGMRFFhfYqERjMkAVJsJhHoHwiyDMM0ERhHhQ2WEFYCrAkTks8zGRE3lK4HABRHkGjzFRlSF41P9cjatu/rz6RQtI/zaVQ2U6HGMiMojIEFO4/7EEeQFwHAUZjKMikEJFMqzQGLqpvhxp1FqWzUeQtbULFRBR6YgydzeqcngckoiiirEYFDiGAyRHoSwRAtEARANoW/OIFng4c2D27MB+6Kt5cp4Q9WpsRKZCCo3GWVyH1H9Y4gTIQICzJArQIAi6uZDH29R4plf+/mjXr+OF6e1861IXCLXpHKbQIQ2gOoslBApR4xUMBZ6GLMESERDxg0AHG+7wNa17e8j5c3L3g/HinZLqrnMxnhaDxys+AaOmSFoSU8ExReZlAYgczVEYQH1MyMMF2wMtGw4n8L+m9j4YzV028c1Vj9DuzRVswGgyRtky4ygA0XRFU2OqxEkQCDQBsSAI+dmQh2xvZpvX/jJ14IcRm1heve4JhGxdbwpEZWyJcWQmpbGIXsG6rKliXGQljhYoDEb8pN9NtG9pXVH75cnShURHU9W8zQse9TSssGU6GaMdicmoXNaASCKhGUbc0BRdEeIiUDiSRf39cjQDqRFHnL09OtOLMfWuTdWPN7iqFCacUumUwmR1Lm8KSNI2kqZm6IqhyYYCFUBIhP/GWM/0+clPbt+cPvnauZGSZ9XCjYuekhuWHoz7KuF5XchbQtGWENu2kpZhJuIVr8ucwuKVtq9NvHTvq7vnLr5z5eLV0f7iOtdjgZXPnNHd34zqOYkqJKWiI3WnVcRxbNs2rblwWeVpmSFxd9urw8Off3r3i49nThw9zW5t6lhTJzYuvJbx3j+eLPDh7Sm1Jx3vzWpIOuXYjmVaWqVzGQI+irGhwJtvTL5/68OP7sz0pbM6gUc3rmFWPf1u1nP/dbUoBLszWiln9BUsJJV2ko5pWYmErqoCB6MYj4Y/++DWW5fem5w4PrGrc0cm317r8tdUndWe/208WTZBVyY+0JkodztIJp/J5jLptGMauirwkMRJb8fLI4cuX705NT42NXGEcnt9y6o9tVU3iv7ZSwP78rEdebPcZe8pZZF8MV/ozKVStlGpW2AhTUTat3V3dv/843dnL1w9eOgYumG9/9nFVOPy+8esf64MHOoxejqtod7s0M4ikitk09mUnbR0XZV4AAgMD3hZX3j/zlcOj57aUxp0r65vq1sS9239/Xzfw+uDY/1WqWgP93cODXYhc7HZVNKxdEMRIQA4GnRvdWQ9K+TQTQH36uYtNWs2Vi+Wg94/rgzNXt91sJQYKKZfHOgeHuxF0l2FVCZlOmbcUCHPUATqfqF1b3n3va+/PX3qwokjlVf5W5asDKxd/dNk6e/p4X09dnlHYVdf155y6V+to7XKa9wQBAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/9ff0aff34e80697669a1119f76326bbe/45876/avatar_Nazarava.png","srcSet":"/static/9ff0aff34e80697669a1119f76326bbe/45876/avatar_Nazarava.png 1x,\n/static/9ff0aff34e80697669a1119f76326bbe/eb85b/avatar_Nazarava.png 1.5x,\n/static/9ff0aff34e80697669a1119f76326bbe/4f71c/avatar_Nazarava.png 2x,\n/static/9ff0aff34e80697669a1119f76326bbe/9ec3e/avatar_Nazarava.png 3x"}}},"headerImage":null},"html":"<h1>Machine Learning pipeline</h1>\n<h2>Introduction</h2>\n<p>Developing a machine learning pipeline generally requires a custom approach. There is no off the shelf, well-architectured system that will work for all use cases. On the contrary each use case requires you to design the structure that will satisfy your particular requirements. The process for developing, deploying, and continuously improving them is quite complex. There are three main axes that are subject to change: the code itself, the model, and the data. Their behavior can be hard to predict, hard to test, explain and improve.</p>\n<p>There are some aspects that are important to know before you start building the system. For example:</p>\n<ol>\n<li>Will you be doing online or batch predictions?</li>\n<li>How often will you need to train the model?</li>\n<li>Will your pipeline need to be fully or partially automated?</li>\n</ol>\n  <p>&nbsp;</p>\n<h2>Use Case</h2>\n<p>For this example, we will take the use case of making vehicle recommendations for our Newsletter. The newsletter is sent out once per day and will contain a set of recommended vehicles. As additional information, we have a lot of new items added to our inventory each day. Therefore our system will have better performance if we train the model more often. Since the newsletter is daily, we can make a single prediction and have the data ready for the newsletter to use.</p>\n<p>And of course, rather than perform these steps each day, it makes sense to automate this process and save our time for more exciting challenges. With this in mind, we can start answering some questions and determine which components we need and what the general structure of the pipeline will be.</p>\n  <p>&nbsp;</p>\n<h2>Overview</h2>\n<p>Even with a described use case and defined requirements, there can be many possibilities for design structures. We are extensively using AWS as a cloud provider. So, we will use SageMaker to automate training our model, and as storage for the temporary results, an S3 Bucket. Data preprocessing is a separate step and will be implemented outside of SageMaker. The final consideration is how we will deliver the predictions to other teams.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/091f446f1b671b13b7f953faa9eb2f90/9da67/IMG_1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 41.705069124423964%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsSAAALEgHS3X78AAABlElEQVQoz3WSXW7iMBSF2QfbYBWUPUw1bKKdVfEE4g1eIEhMVQZNoCGFGELCJCH/P05aesbXEa2qqg9Hjj/7nnt8lQY7hnjaOmBHH4bpY3c4f9F3nLRlnlg9rHQHe+HRMO0QSZKgyFPEUShXznPwIkPJC/mdJnHNJL8qQ1Vx4O0C4AI/iLBj/4ThKYJ3DrBYLKAoM2jaBnkuTFLRII4xmUwxGAywXC5RFFyygnMYBsOP21vc3HQwnU4RJQW2xgmNozB03DMeHn5DVVWs12tkWSbScFiWJc36/T7G4zFc15VnVVXJBp1OB81mE93uT/DygmfDrg0p4Ww2k500TZNFlNL3fQyHQ/R6PYxGI8lpPGVZQtd1tNtttFot/Lq/Q5pXwvBUzzCMEpimKZ9NKcgsSVOZkjGG+XwO27blnkZBojuKosgXPOsbnP0Yu72Y4d4KEIQxoiiSppSAklARrZ7nSh4EwTu/nlEDqnt9fYHjhXVC+l3+qAxPugVta2O1MbHSPnTl683xEyep2kHcr/njXwZ2cPAfYfNAaR92sB8AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"IMG 1\"\n        title=\"\"\n        src=\"/static/091f446f1b671b13b7f953faa9eb2f90/40fad/IMG_1.png\"\n        srcset=\"/static/091f446f1b671b13b7f953faa9eb2f90/707e9/IMG_1.png 148w,\n/static/091f446f1b671b13b7f953faa9eb2f90/649e0/IMG_1.png 295w,\n/static/091f446f1b671b13b7f953faa9eb2f90/40fad/IMG_1.png 590w,\n/static/091f446f1b671b13b7f953faa9eb2f90/9da67/IMG_1.png 868w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n <figcaption align = \"center\"><sub><b><em>Main components</b></figcaption>\n<figcaption align = \"center\"><sub>source: draw.io</em></figcaption>\n<br>\n<h2>Pipeline Components</h2>\n<p>Let's describe each component in more detail, starting with the model. Ideally we would want the model to continue training on new data, rather than from scratch each time. This continual learning will allow us to update the model with less data. Instead of loading data from the database for the last few months, it will only need to fetch data from the previous day. This incremental approach of training the model will need much less compute power. It will also help us to avoid storing duplicate data, as each model update is trained using only fresh data.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e0b32c3e2f366966fab1c9826ca5beb8/86db2/IMG_2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 38.61967694566813%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsSAAALEgHS3X78AAABl0lEQVQoz01Sy3LaQBDk//8k5xySSlJ24oCrTJUJYIEFSBFgad+rB7K0yD50ZjdQyaFrZnpne2daGuXM4JBrMFlhf5RgosJLYXAkjssahxeFnFsUogznnvNnvoerhlBD6gbHwkKZFqM02WI6fYC1BpPJGKzIsdtt8Wv2CGs0Fos5NpsYUgqMxz9hiIuip8C7voNzPc6EqmpIuCbBNCHBKRElCU7AGUOaJCQ4I67CjGIce0EZBLXWWK0iLOZzNM0JbfuK89mhDIINRt/v1/h0s8TXu4iwwpcfEeEJn2+X+DZe42YS4/Z+E3DNfbx72OLDx0c87wpoJXA45tCWVhZSgQvyqeBI0ixEXzP+lzO2gpDkJ9XG1sRLSGVo0jJEP+Fr20Ibqg1NONC4zjmcTg2E4NTQXnxxtFKDLPsNpWRY2efeBs4Z9lkW7nRdh77vYcvLysPgiOiCD2/DEAx21HAV9Y/0dKltT0Ho/f0NdV2FjzQM59Drh6rJT+UnjHc5rnj+L79ik7JLXoQ89CSUE/71FFiu9/R7lfgDorNKPr2LIv4AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"IMG 2\"\n        title=\"\"\n        src=\"/static/e0b32c3e2f366966fab1c9826ca5beb8/40fad/IMG_2.png\"\n        srcset=\"/static/e0b32c3e2f366966fab1c9826ca5beb8/707e9/IMG_2.png 148w,\n/static/e0b32c3e2f366966fab1c9826ca5beb8/649e0/IMG_2.png 295w,\n/static/e0b32c3e2f366966fab1c9826ca5beb8/40fad/IMG_2.png 590w,\n/static/e0b32c3e2f366966fab1c9826ca5beb8/b3fef/IMG_2.png 885w,\n/static/e0b32c3e2f366966fab1c9826ca5beb8/301c0/IMG_2.png 1180w,\n/static/e0b32c3e2f366966fab1c9826ca5beb8/86db2/IMG_2.png 1362w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<figcaption align = \"center\"><b><em><sub>Incremental training</b></figcaption>\n<figcaption align = \"center\"><sub>source: draw.io</em></figcaption>\n<br>\n<p>We are using SageMaker for training. We constructed it by loading a SageMaker Pytorch image, optimized for GPU and customized with our training configuration. During deployment of a new version, the image is pushed to ECR so that SageMaker can fetch the proper image and then spin it up inside our SageMaker space. After training SageMaker saves the resulting artifacts to an S3 bucket. But Sagemaker won’t include the ETL part and we need to put in place the data loading and processing part separately. For this purpose we will have a dedicated job in Glue. It’s a serverless data integration service for performing ETL workloads without managing any underlying servers.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ea172fd544b3e1400c1ee9ab71e6a3f3/1ce75/IMG_3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsSAAALEgHS3X78AAABSUlEQVQY0zWQy0rDUBCG+xI+hwsfwYX6DL6BCxHcihtFQRDcKLgQpCIoIgiKItVqFRGxVitqL1DbNElzcnJi0zbUxi4+j6EuPoZ/Lj8zkzDsL6RqI2QQR1e1cKXGG6B1nB9o4QUx//q/JnVfqSJIKL+DCgSZlxQNVcUshByt+qR3Jf1en/TbEUunU9wXU0TdiGT+joXbE0qOTbMpWL+aZ+tmmaCtqBryzzDElDX20zsU63mergSzY1lWp5/ohRFrJ4sMzw2RvNykE3SZOdxmdGOR2493qvUyEysjTK6P43gNbeiRiNeVDvlCDse1UW6L9PErLw+f9KOIXOGRw+s9XkvP/PQiMvksB5mUNpD0oi4Xj2dcZs/5/g6p1PTJhqWo1V3MQbQcD0cpHOljmBLL9pFuGNcNSyJEE6mxbIWpcYX+odvWcz7lSoNfiJ9eulb9R3MAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"IMG 3\"\n        title=\"\"\n        src=\"/static/ea172fd544b3e1400c1ee9ab71e6a3f3/40fad/IMG_3.png\"\n        srcset=\"/static/ea172fd544b3e1400c1ee9ab71e6a3f3/707e9/IMG_3.png 148w,\n/static/ea172fd544b3e1400c1ee9ab71e6a3f3/649e0/IMG_3.png 295w,\n/static/ea172fd544b3e1400c1ee9ab71e6a3f3/40fad/IMG_3.png 590w,\n/static/ea172fd544b3e1400c1ee9ab71e6a3f3/b3fef/IMG_3.png 885w,\n/static/ea172fd544b3e1400c1ee9ab71e6a3f3/301c0/IMG_3.png 1180w,\n/static/ea172fd544b3e1400c1ee9ab71e6a3f3/1ce75/IMG_3.png 1456w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<figcaption align = \"center\"><b><em><sub>Pipeline</em></b></figcaption>\n<figcaption align = \"center\"><em><sub>source: draw.io https://aws.amazon.com/architecture/icons/</em></figcaption>\n<br>\n<p>Individual AWS services are powerful tools by themselves, but chaining their outputs to the inputs of others services can be challenging without step functions. Step Functions coordinate different pieces of the pipeline and control which steps execute and when. It has a json format that represents a structure. States is an object containing a set of state/steps. The Step Functions service (SF) coordinates the order of execution.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/f23cebe966e6a2c802df6140a532ee19/6d785/IMG_4.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 59.78260869565217%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABZUlEQVQoz5VT2W6DMBDk/z8wT80hIKQBDMY24AMy3XUCIkqrpJZWrC00nmOdWGvhvQd/Q/BwXmO0HabJg9ftdov16UqmacLpdIqltYYZaqj+Ch/sCvauthcnvGGgLMvQthLWDcQu4D9rqyBZmv3+C3l+Ri3OqJoDdF8R2yqyHWwbv7ovocw3WpVSf419CO6VITdlWSJNU1SVQD8oDGNLXkr0Y0O+GrJgRJgcAZDnYaDexrN5np8BF7ose7fb4Xg4QnYCjcwfrK5kg/5c8rLhm5RSuFwKFEUBYwyxE5AqjxJblRFr+cTm11C2gM451DWlrHSUxIl3pkCnC5LdbwD+HqXVw67j2WM/ZgJ3D3+mF2nvKgLyUAtRE0NPicqYZmcuccD/uyIg+1VVVSwhGgrBxpcyzT4myj0ztpQ2WxGo53M+YyuWnhWtkhdATptZMsP73N2Z8swJeaSREqsCngKp8/jP8rp+ANvEqYNckCZwAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"IMG 4\"\n        title=\"\"\n        src=\"/static/f23cebe966e6a2c802df6140a532ee19/40fad/IMG_4.png\"\n        srcset=\"/static/f23cebe966e6a2c802df6140a532ee19/707e9/IMG_4.png 148w,\n/static/f23cebe966e6a2c802df6140a532ee19/649e0/IMG_4.png 295w,\n/static/f23cebe966e6a2c802df6140a532ee19/40fad/IMG_4.png 590w,\n/static/f23cebe966e6a2c802df6140a532ee19/b3fef/IMG_4.png 885w,\n/static/f23cebe966e6a2c802df6140a532ee19/301c0/IMG_4.png 1180w,\n/static/f23cebe966e6a2c802df6140a532ee19/6d785/IMG_4.png 1288w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<figcaption align = \"center\"><sub><b><em>Example state machine code</em></b></figcaption>\n<br>\n<p>By default SF sends the output of a previous state as the input of the following state. It provides service integration, which means it can connect and use other AWS services as steps. During execution there is an available context object, which contains info about the state machine and execution. This allows the workflows access to information about a specific execution. There is also an execution log, where you can find info about tasks and time spent in each step. This can be helpful for debugging or tuning your execution.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/002e2cabf19bf7c3dd2b5c1d138f1f43/7acd2/IMG_5.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 85.11627906976744%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAABYlAAAWJQFJUiTwAAADgklEQVQ4y4VUS28cRRDeP8GNf8CVExdunBBIcEICBBfuPA4B5RCJCxJBkXgksYIiHkLYkbBIFFCw1yRRhOxdO2ucZf3cZB8zO7szPdMz/ZiemZ3YHzW9m0iRgjiUuqu76+uvq77q2oQJpOkxeJyCJxoRVwi5RBiRqRQsz8GEBgsTGkswBTBOfiSeMB4rDNwQNRYKrLevI+AuWtttuK4LFgTweYhg5xDi2gZk14EiYHnwB9TfP0CFDqROIaWAkhJCCBijMRoT4MD18Panz2Fl63swP0HAAkRBiCjXcC5eR+/5D8GWbiMDMbv0GvzTz0DebyCdnkArRa8jYBoVmQV0vAl+qV9Ao7OKVBtore2t2cMC/bVNbJxawKjxD3KcYPDnEvZ+/gxi3Eea5XR2DiiVBbeAYz9C7/4QzsCz1DU9RUlN4CnlUMCRHHGqbUDX9bHTpZTwhPa1ZaWVJEBJcwnXY6jxRKGcKhS5QiIkDD01KwiAbp6aEmVaUhAF0wWGAnWcwMxZKTOFKkBxRKDI4VGBa31X4OJSgis3OMKQY/3XGKvfxvCcEIubX2OxcQGCkp+lBlf3WviquYZh6KMoHkI2F6CuvQfudMC6ffTa+6jtHXG8+tYu3j+9D99nOP/RAc68vovOzgBvLLyIN8+/hIk/QcRCfHz1J7x8+SxavSMcnwDe5XfgnHoW7MFdNL/4EuvfXELNHUW4desIzc0+MZFo3DnE2m9ty3Ztq46Vxgo455gWBW5vt7BYXwWLOXLy/cN76G3UIWk/imP0Kce1iERclpSfTCFOBGLBKekBJVnDaKqkNCT2mKppkFBQSLKqKlvtJ4r2aD8RyqrDG0eoVV0x05K2Va4CK6sOaKpulT9OQFma47s75/DJ8rs4Gu0iNwWSJLaXKKvDqsrhDNCY1C4KMQOvwNJUz5lQK0YRJLE4c+UDvPL5CySdu8Q8JWaJJVGxfSzs/wKcgc66oGKRkWzGwQTdwYOZ/mSlV/V/gOIJwMoyY7A36OHmvRb1r8ZxeYwRG6J58Bd8NoFIxPzJjwDpVzHp0wBpjcYyL1Bvb+Ps78twiGGZT3HgdrDc/BF9r2fb9VEv2xxG9O3kuZn35OzJs/zNGOaZwdAbYXO3Yy/Mswx+OMH2/pZVREZ+FWfovDeJqt8mtD3okA2cyVNt6PhwRwz9x35A31xIc9/61XqFsd8d4V/seNz4IariWwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"IMG 5\"\n        title=\"\"\n        src=\"/static/002e2cabf19bf7c3dd2b5c1d138f1f43/40fad/IMG_5.png\"\n        srcset=\"/static/002e2cabf19bf7c3dd2b5c1d138f1f43/707e9/IMG_5.png 148w,\n/static/002e2cabf19bf7c3dd2b5c1d138f1f43/649e0/IMG_5.png 295w,\n/static/002e2cabf19bf7c3dd2b5c1d138f1f43/40fad/IMG_5.png 590w,\n/static/002e2cabf19bf7c3dd2b5c1d138f1f43/b3fef/IMG_5.png 885w,\n/static/002e2cabf19bf7c3dd2b5c1d138f1f43/301c0/IMG_5.png 1180w,\n/static/002e2cabf19bf7c3dd2b5c1d138f1f43/7acd2/IMG_5.png 1290w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<figcaption align = \"center\"><b><em><sub>Final architecture</em></b></figcaption>\n<figcaption align = \"center\"><em><sub>source: draw.io https://aws.amazon.com/architecture/icons/</em></figcaption>\n<br>\n<p>This is how all these services were brought together to implement the pipeline using AWS services. We are extracting data from the Data Warehouse to Glue jobs where the preprocessing happens. It then stores intermediate results (as a least effort solution) to S3. The Training job starts as the next step after the Glue job finishes. Keep in mind that the name should be unique within the region and account and it is a required field. In the Step Functions we also specify the S3 location for the output artifacts.</p>\n<p>The next step is to set up a schedule. For this purpose we created a Cloudwatch event that triggers a state machine and executes the pipeline.</p>\n<p>The last step in the pipeline is to load output data from S3 to a database that will be accessible through an API. This task is solved using Lambda. It is another AWS service that runs code based on the incoming request or event. In our case Lambda populates predictions from S3 to Redis. Redis is an in-memory structure store that not only supports a caching solution but also has the ability to function as a non-relational database. It will override any specified fields that already exist in the hash, or if it’s new, create it. It works well for our use case. Finally, we created an endpoint using FastAPI that fetches data from Redis and provides it to the other teams.</p>\n<p>To create all these services manually and deploy them would be time consuming and difficult. Instead we are using Terraform. It is software that creates infrastructure and allows you provision resources quickly and consistently and manage them throughout their lifecycle. By treating infrastructure as code we can avoid costly mistakes that can come from manual setup of services.</p>\n<p>Here is an example of Terraform instructions that manages schedules in CloudWatch and triggers a Step Functions.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/f02efe920295efbeee767de440838fb9/35075/IMG_6.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 39.00481540930979%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAABW0lEQVQoz51R23KDIBTM/39gO+mYxAtKvKCgiFzE7ZFk2qe+lJmdPUdhz7JcGKuxLBLj/MAgM7TjJ/Ed/ZhByJzqB+RSoxVX4gbL2mOaK0INpTm0GeC9x3EcCZc8z9F1HWp+Q1Fd8Ww5pOqT0InzsNJPCFXAugV7DPhrJcGiKFCWBfp+wDD0JPoF3hbkZKDpAmaTWLcxOVMLp35KOL9tboaxMrkMwSbRi7UWzrmEczm/wBKcX7HZma5jElunk0MfDP3XSciH7V2rH+cXrTUdMEnohLEjbVxp44wQN3IxIUYaGBaq5WugOweoNNgmlxP2/S3IGCO7HnqVqJscrLmjKDNUjLi6oazooTqe+uz+QRkz6hlKllFdoRtqyv8BpdRLkHPKxRisq0HTcNR1g6piEIOAEAJKzpBSYRxHwkQRBHJ8kKMj8RFfHGP8zfDEvu/kNFCWlq7s8Z91vvI3DgJm2foWbQYAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"IMG 6\"\n        title=\"\"\n        src=\"/static/f02efe920295efbeee767de440838fb9/40fad/IMG_6.png\"\n        srcset=\"/static/f02efe920295efbeee767de440838fb9/707e9/IMG_6.png 148w,\n/static/f02efe920295efbeee767de440838fb9/649e0/IMG_6.png 295w,\n/static/f02efe920295efbeee767de440838fb9/40fad/IMG_6.png 590w,\n/static/f02efe920295efbeee767de440838fb9/b3fef/IMG_6.png 885w,\n/static/f02efe920295efbeee767de440838fb9/301c0/IMG_6.png 1180w,\n/static/f02efe920295efbeee767de440838fb9/35075/IMG_6.png 1246w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<figcaption align = \"center\"><sub><b><em>Example of terraform instructions\n</em></b></figcaption>\n<br>\n<p>It’s very straightforward. We need to specify an event and rule, using the rule with a cron expression.</p>\n<p>There are two steps that should be executed during deployment.</p>\n<ol>\n<li>Terraform plan: Checking the execution plan for configuration before creating/changing infrastructure.</li>\n<li>Terraform apply: apply the changes.</li>\n</ol>\n<p>With Terraform set up, we have all the parts in place for our system.</p>\n<h2>Conclusion</h2>\n<p>This is only one example of how this pipeline could have been implemented. When it comes to creating your own pipeline, you will have different choices to make. Here are some of the lessons we learnt to help you when making those choices.</p>\n<ol>\n<li>\n<p>Step functions did an excellent job of combining services. It provides a lot of flexibility for creating different scenarios and logic flows. Overall a great choice for managing your pipeline.</p>\n</li>\n<li>\n<p>It is a best practice to limit access to AWS services. In AWS it is the rule that anything not explicitly allowed is implicitly denied. Each service should get its own IAM policy to handle this. This can make it tedious to set up, but is worth it for the security and peace of mind it provides.</p>\n</li>\n<li>\n<p>On the same topic of security, you should avoid putting sensitive data into S3. If you are using Jupyter notebook, be aware that it has access to the public internet by default. You should consider if this is really needed for your use case.</p>\n</li>\n<li>\n<p>It is worth understanding the basic concepts for VPC’s. We didn’t discuss them here, but they are an essential part for running many of the services. Also some services will need to be in the same VPC to access each other.</p>\n</li>\n</ol>\n<p>I hope you find this helpful, when you start to implement your own Machine learning pipelines.</p>","fields":{"slug":"/machine-learning-pipeline/","tags":["auto1","DataScience","Data","MachineLearning","Architecture"]}}},{"node":{"id":"c228c662-0cfd-54f0-ad54-4e1ef0c854d8","frontmatter":{"category":"Engineering","title":"Enter the End to End Testing of Internal Libraries ","date":"2022-07-18","summary":"End2End testing could help us tackle problems of increasing new code across the whole platform","thumbnail":null,"authorName":"Mikołaj Kłosowski","authorDescription":"Mikołaj is an Senior Software Engineer based in our Szczecin office","authorAvatar":{"relativePath":"pages/e2e-testing-internal-libraries/avatar_Kłosowski.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAgX/xAAXAQADAQAAAAAAAAAAAAAAAAAAAQID/9oADAMBAAIQAxAAAAHPSiqzp4sF/8QAHBAAAgICAwAAAAAAAAAAAAAAAQIAAwQTESIj/9oACAEBAAEFAsYlcVG5r7CKRrrPnsn/xAAWEQEBAQAAAAAAAAAAAAAAAAAAEUH/2gAIAQMBAT8BxH//xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAgBAgEBPwFH/8QAGhAAAgIDAAAAAAAAAAAAAAAAATEAEBIhYf/aAAgBAQAGPwIntKYncSr/xAAaEAEBAQADAQAAAAAAAAAAAAABEQAhMUGB/9oACAEBAAE/IQode8wvC2YhG/uoApOa9YSQYzv/2gAMAwEAAgADAAAAEI8v/8QAFhEBAQEAAAAAAAAAAAAAAAAAABEx/9oACAEDAQE/EJhT/8QAGBEAAwEBAAAAAAAAAAAAAAAAAAERQVH/2gAIAQIBAT8Qira0rp//xAAbEAEAAgMBAQAAAAAAAAAAAAABACERQVFxgf/aAAgBAQABPxDAIpp0LiTEIqARnq9gI/maHxA+0omb7FWMPxn/2Q==","width":50,"height":50,"src":"/static/08ff7d0f10dc02e43f61b30c3bf69631/d2d31/avatar_K%C5%82osowski.jpg","srcSet":"/static/08ff7d0f10dc02e43f61b30c3bf69631/d2d31/avatar_K%C5%82osowski.jpg 1x,\n/static/08ff7d0f10dc02e43f61b30c3bf69631/0b804/avatar_K%C5%82osowski.jpg 1.5x,\n/static/08ff7d0f10dc02e43f61b30c3bf69631/753c3/avatar_K%C5%82osowski.jpg 2x,\n/static/08ff7d0f10dc02e43f61b30c3bf69631/31ca8/avatar_K%C5%82osowski.jpg 3x"}}},"headerImage":null},"html":"<p>When a software-based company grows, it creates lots of new code, which means multiple engineers may be facing the same problems across the whole platform. They will usually come up with various solutions to fix it. Some of them might be generic and reusable, while others will be tailored to one’s needs. As it usually happens, the solutions will then be bundled together to create libraries. This is very good, up to a certain point, since over the years, engineers will create them by the dozens and this, in turn, will bring about other hurdles such as:</p>\n<ul>\n<li>how to maintain multiple libraries or prevent buggy code from getting in</li>\n<li>how to release one of them or many at the same time</li>\n<li>how to ensure a smooth process for updating libs for service maintainers</li>\n<li>how to ensure cross-compatibility for all of the libs</li>\n</ul>\n<p>This was quite a big pain point for AUTO1 software developers as we have 60+ common libraries that need to work perfectly in 600+ production services across multiple business units and products. One simple mistake, for example, a wrong configuration change leftover after a debug session can end up in disaster.</p>\n<p>Enabling protection against direct commits for main branches will address the first hurdle - only pull requests with double approvals and tested by CI can be merged.</p>\n<p>The next 2 issues are more about ease of usability for the developers, as they might be reluctant to upgrade their service if the process is troublesome. So, in the best-case scenario, our end-user should periodically update only a single property. In addition, our common library developers need to be able to easily publish their changes.</p>\n<p>The solution to it was the release trains, usually known as BOMs or for AUTO1 developers, service-commons-dependencies. After successful implementation, you will just need to trigger CI build to get the newly released version, which in turn can be pasted into a pom/gradle file. So, right now everything looks good, but can we be 100% sure that our changes are going to work? Perhaps there is a very small bug in a messaging lib or we will lose tracing for incidents. That’s unacceptable. So let’s ensure that will never happen by introducing automatic real use case testing.</p>\n<p>In our approach, we thought most of the problems could be revealed by running extensive integration testing. The test harness probably catches all bugs in our codebase and simply fails when needed preventing the release of a buggy version.</p>\n<p>But no matter what you do or how extensive your tests are, you are never going to be able to perfectly mock the production environment.</p>\n<p>Enter the End to End testing of newly released <code class=\"language-text\">service-commons-dependencies</code>, more commonly known in AUTO1 from here on out, “E2E testing”.</p>\n<p>To get it done, we need CI pipelines that will automatically test our new versions of release trains that are triggered either manually or automatically every week. All tests need to be as close to the real-world scenarios as possible. A practical solution is to create a new service that will include all of the most popular use cases of the aforementioned libs. Then we need to deploy it to all of our environments - as previously mentioned there is always something different between local, QA, and production environments, so we need to cover them all. The tests must be the same for all environments. But the trigger may differ - for example, we are using our test environments to prepare new releases for production.</p>\n<p>The following diagram illustrates the basic principle of how it should work:</p>\n<p><img src=\"https://lh6.googleusercontent.com/-K5rLPtggaNeQpml856NbA9UyUU6_scnBUgUE_W-RA7MVORz_dYAzrQ_jg7a9vBfQJHqmdosoCH7Evd0dbTF8-kzH0dlygQPeoqQu47__E5Pky0GmeyhlcJ1UWNuQrC7j5s3MZvQhj_EoSgwBA\"></p>\n<p>In our implementation, we chose to use Jenkins with JobDSL pipelines and Groovy for scripting. The first stage of the E2E process is checking whether a new version of service-commons-dependencies exists by using the maven versions plugin:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">mvn -U versions:update-property -Dproperty='service-commons-dependencies.version'</code></pre></div>\n<p>To check for any changes:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">def hasChanges = sh(returnStatus: true, script: \"git diff --exit-code\")</code></pre></div>\n<p>If nothing new was found let’s just abort the pipeline and wait for another CRON or manual trigger.\nIn case a new release was found, we need to build it, deploy it, and run E2E tests.\nIf there are no failures the pipeline will create a new core-test-service release.\nFor those cases, we are using parameterized jobs, for example, to trigger the E2E tests we can use the following commands:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">build(job: 'java/core-svc/core_test_end_to_end_test', parameters: [booleanParam(name: 'SEND_SLACK_NOTIFICATION', value: \"true\"), string(name: 'RELEASE_TRAIN_VERSION', value: service_commons_dependencies_version)])</code></pre></div>\n<p>The new release will be picked up by the production pipeline by checking the latest tag creation time in our repository:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">String latestTagDateString = sh(returnStdout: true, script: \"git rev-list -1 \\$(git describe --abbrev=0 --tags) --pretty=oneline --format=%ci | awk 'NR%2==0'\")\n\ndef proceedWithE2ETesting = wasTagReleasedRecently(latestTagDateString)\n\n@NonCPS\n\n    def wasTagReleasedRecently(String lastTagDateString) {\n\n    def formatter = DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss Z\")\n\n    def lastTagDateTime = OffsetDateTime.parse(lastTagDateString.trim(), formatter)\n\n    def currentTimeMinus2hours = OffsetDateTime.now().minus(2, ChronoUnit.HOURS)\n\n    return lastTagDateTime.isAfter(currentTimeMinus2hours)\n\n}</code></pre></div>\n<p>If the release of core-test-service was created within the last 2 hours we will deploy it by triggering another pipeline. As the last step, it will run E2E tests. As mentioned above, both testing environments will use a shared codebase for acceptance testing. It can be done by setting up one extra job that will fetch an external repository using this block:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">definition {\n      cpsScm {\n          scm {\n              git {\n                  remote {\n                      github(\"core-e2e-tests\", 'ssh')\n                      credentials(\"token\")\n                      branch(\"master\")\n                  }\n                  extensions {\n                      wipeOutWorkspace()\n                  }\n               }\n       }\n\n       scriptPath(\"jenkins/core_e2e_tests.gvy\")\n  }\n}</code></pre></div>\n<p>We chose Cucumber as our main test framework since it will give us unparalleled leverage compared to other choices. Tests are written using natural language in a way that allows for troubleshooting to be done basically at a glance. For example here is the scenario that tests the libraries responsible for sending messages in our platform exposed via HTTP endpoint:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Scenario: Should have a working API endpoint for creating a message\n\nGiven an object with generated id and message: This is a test\nWhen making a POST call on messaging endpoint with the body containing the given object in JSON representation\nThen should result in a 201 response status code\nAnd should receive an empty body</code></pre></div>\n<p>The above, combined with this generated report, is a joy to work with.\n<img src=\"https://lh5.googleusercontent.com/qyj0MbKLCEPO9M3Q8kalZoXkgfgcxddnmxk6lYUu0DrbBHhT747lCyy1SFhZDHKZXOGwUqcnsDFDPM2_rWAhnWC5l5m58RVcpsWWrBmwHIZgd3tKxSmhC6aqZHsB016Z7MXAhT0EX7mnT_N3_w\"></p>\n<p>Furthermore, we decided to create a dedicated slack channel to notify us about the new releases and test results.</p>\n<p>So after getting this message</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Sanity checks for new release train X.Y.Z on env:\n\n    * REST API simple entity integration ✅\n    * REST API dated entity integration ✅\n    * REST API auditable entity integration\n    * Messaging integration ✅\n    * Messaging FIFO integration ✅\n    * Storage integration ✅\n    * Health integration ✅\n    * Metrics integration ✅\n    * Logging integration ✅</code></pre></div>\n<p>We can finally get our much-needed stress-free beauty sleep, not that it will help us much, right? Hopefully, this small article will get you in the mood for some nice automation work in your company. Have fun and enjoy your peaceful nights.</p>","fields":{"slug":"/e2e-testing-internal-libraries/","tags":["auto1","engineering","end2end","testing","internallibraries"]}}},{"node":{"id":"19cc0c42-5288-55fa-abfe-4af1aeb242ca","frontmatter":{"category":"Engineering","title":"Rate Limiters and Thread blocking, is there an alternative?","date":"2022-07-18","summary":"There are some cases where you would like to limit the frequency that something happens to it work properly","thumbnail":null,"authorName":"Bruno Morais","authorDescription":"Bruno is a Senior Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/rate-limiters/avatar_Morais.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQDAQX/xAAXAQEBAQEAAAAAAAAAAAAAAAABAwIE/9oADAMBAAIQAxAAAAGmbSadPSZMPIBLBy1//8QAHBAAAwABBQAAAAAAAAAAAAAAAQIDIQAQERIj/9oACAEBAAEFAqOVEql2047LLDc7A+i5H//EABcRAQEBAQAAAAAAAAAAAAAAAAEAEBL/2gAIAQMBAT8BC5jP/8QAGREAAwADAAAAAAAAAAAAAAAAAAECEBET/9oACAECAQE/AW9HSSsf/8QAGhAAAQUBAAAAAAAAAAAAAAAAAQACEBEhQf/aAAgBAQAGPwLBZRa4VFYt5Jj/xAAcEAADAAIDAQAAAAAAAAAAAAAAAREhURAxYXH/2gAIAQEAAT8ho6G+i0ElVBP0c6AzfMaH3OHLLoTIz//aAAwDAQACAAMAAAAQcC98/8QAGREAAwADAAAAAAAAAAAAAAAAABExEFGB/9oACAEDAQE/EGQbRPcf/8QAGxEAAgIDAQAAAAAAAAAAAAAAAAERMVFhscH/2gAIAQIBAT8QuM2dElucejs//8QAGxABAQEBAAMBAAAAAAAAAAAAAREAITFBYXH/2gAIAQEAAT8QEiRCoPrgpVComQJxnQidLcJrAFJfmh7Hwmff5oW4eD07h8orv//Z","width":50,"height":50,"src":"/static/7b4637bf5ab4eaf01facec045622cc5c/d2d31/avatar_Morais.jpeg","srcSet":"/static/7b4637bf5ab4eaf01facec045622cc5c/d2d31/avatar_Morais.jpeg 1x,\n/static/7b4637bf5ab4eaf01facec045622cc5c/0b804/avatar_Morais.jpeg 1.5x,\n/static/7b4637bf5ab4eaf01facec045622cc5c/753c3/avatar_Morais.jpeg 2x,\n/static/7b4637bf5ab4eaf01facec045622cc5c/31ca8/avatar_Morais.jpeg 3x"}}},"headerImage":{"relativePath":"pages/rate-limiters/header_Morais.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAUBAwT/xAAVAQEBAAAAAAAAAAAAAAAAAAABAP/aAAwDAQACEAMQAAABtzsIJMMhP//EABoQAAIDAQEAAAAAAAAAAAAAAAECAAMREBL/2gAIAQEAAQUCNWyxTnkdKrP/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAgBAgEBPwFX/8QAGRAAAwADAAAAAAAAAAAAAAAAAAExEBEh/9oACAEBAAY/AuM04TMP/8QAGhAAAgIDAAAAAAAAAAAAAAAAAAERYRAhUf/aAAgBAQABPyFTTBRag4ywx57U/9oADAMBAAIAAwAAABAfP//EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAgBAwEBPxDZNb//xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8QTD//xAAbEAEBAQEBAAMAAAAAAAAAAAABESEAUTFxsf/aAAgBAQABPxC+laoo/XnLJVVmzJ2YRT5s/eDOI4g51avPO//Z","width":1280,"height":849,"src":"/static/d7fdf1093c10ccf7ff201925fb486d79/966a5/header_Morais.jpg","srcSet":"/static/d7fdf1093c10ccf7ff201925fb486d79/966a5/header_Morais.jpg 1x,\n/static/d7fdf1093c10ccf7ff201925fb486d79/aa36d/header_Morais.jpg 1.5x"}}}},"html":"<p>Let's talk about harmony! If you have a look at an English dictionary, you'll see that even though almost everyone has some knowledge of the meaning of the word harmony, it's not so simple to properly define it. There are many contexts that it may apply, such as people relationships, business, law, and so on.</p>\n<p>But, at the end of the day, this concept imported from the music means that something happens in a way or frequency that makes it pleasant and less error-prone. So I want you to focus on the idea that the proper frequency is a way to achieve harmony.</p>\n<p>There are some cases where you would like to limit the frequency that something happens to it work properly. Imagine that you have a coffee machine, it's obvious that you would like it to dispense coffee at a frequency that you can replace the cups and be able to serve all your guests.</p>\n<p>It happens everywhere, even on software. At least while we have limited resources, we have to orchestrate them to work in harmony. One strategy is to use Rate Limiters, a maneuver to control the frequency in which some action is handled.</p>\n<h2>Rate Limiters</h2>\n<p>A common pattern to achieve the Rate Limiter strategy is to use the Token Bucket algorithm. In a nutshell, the Token Bucket mimics a real bucket where Theme Park tickets are stored. To enter to play around at the Theme Park, you need to take a ticket. But if the bucket is empty, you have to wait until some new tickets are put in there. Doing like that, you become able to control the flow of people to the Theme Park by controlling the number of tickets that are put into the bucket and the time interval in which the refill occurs.</p>\n<p>If we put 10 tickets per minute on that bucket, it'll assure that at most 10 people will enter the Theme Park in each 1-minute interval.</p>\n<p>Libraries like Google Guava, Resilience4j, and Bucket4j are examples of how we can achieve rate-limiting in our Java software.</p>\n<p>Despite being a beta version by the time of this writing, using the Google Guava RateLimiter library is pretty straightforward. You create a RateLimiter object defining the number of permits per second and, for each task, you specify that it should \"acquire\" the token that allows it to proceed.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">final</span> <span class=\"token class-name\">RateLimiter</span> rateLimiter <span class=\"token operator\">=</span> <span class=\"token class-name\">RateLimiter</span><span class=\"token punctuation\">.</span><span class=\"token function\">create</span><span class=\"token punctuation\">(</span><span class=\"token number\">2.0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// rate is \"2 permits per second\"</span>\n    <span class=\"token keyword\">void</span>  <span class=\"token function\">submitTasks</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Runnable</span><span class=\"token punctuation\">></span></span> tasks<span class=\"token punctuation\">,</span> <span class=\"token class-name\">Executor</span> executor<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token class-name\">Runnable</span> task <span class=\"token operator\">:</span> tasks<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        rateLimiter<span class=\"token punctuation\">.</span><span class=\"token function\">acquire</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// may wait</span>\n        executor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span>task<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>For Resilience4J you need to create some configuration before and decorate your task:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"> <span class=\"token comment\">// Create a custom RateLimiter configuration</span>\n<span class=\"token class-name\">RateLimiterConfig</span> config <span class=\"token operator\">=</span> <span class=\"token class-name\">RateLimiterConfig</span><span class=\"token punctuation\">.</span><span class=\"token function\">custom</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">timeoutDuration</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Duration</span><span class=\"token punctuation\">.</span><span class=\"token function\">ofMillis</span><span class=\"token punctuation\">(</span><span class=\"token number\">100</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">limitRefreshPeriod</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Duration</span><span class=\"token punctuation\">.</span><span class=\"token function\">ofSeconds</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">limitForPeriod</span><span class=\"token punctuation\">(</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">build</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token comment\">// Create a RateLimiter</span>\n<span class=\"token class-name\">RateLimiter</span> rateLimiter <span class=\"token operator\">=</span> <span class=\"token class-name\">RateLimiter</span><span class=\"token punctuation\">.</span><span class=\"token function\">of</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span><span class=\"token string\">\"backendName\"</span><span class=\"token operator\">*</span><span class=\"token operator\">*</span><span class=\"token punctuation\">,</span> config<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">// Decorate your call to BackendService.doSomething()</span>\n<span class=\"token class-name\">Supplier</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> restrictedSupplier <span class=\"token operator\">=</span> <span class=\"token class-name\">RateLimiter</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">decorateSupplier</span><span class=\"token punctuation\">(</span>rateLimiter<span class=\"token punctuation\">,</span> backendService<span class=\"token operator\">::</span><span class=\"token function\">doSomething</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">// First call is successful</span>\n<span class=\"token class-name\">Try</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">></span></span> firstTry <span class=\"token operator\">=</span> <span class=\"token class-name\">Try</span><span class=\"token punctuation\">.</span><span class=\"token function\">ofSupplier</span><span class=\"token punctuation\">(</span>restrictedSupplier<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token function\">assertThat</span><span class=\"token punctuation\">(</span>firstTry<span class=\"token punctuation\">.</span><span class=\"token function\">isSuccess</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">isTrue</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>In the same path, now using Bucket4j, you need to specify the refill interval and the limit:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token class-name\">Refill</span> refill <span class=\"token operator\">=</span> <span class=\"token class-name\">Refill</span><span class=\"token punctuation\">.</span><span class=\"token function\">intervally</span><span class=\"token punctuation\">(</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token class-name\">Duration</span><span class=\"token punctuation\">.</span><span class=\"token function\">ofSeconds</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token class-name\">Bandwidth</span> limit <span class=\"token operator\">=</span> <span class=\"token class-name\">Bandwidth</span><span class=\"token punctuation\">.</span><span class=\"token function\">classic</span><span class=\"token punctuation\">(</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> refill<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token class-name\">Bucket</span> bucket <span class=\"token operator\">=</span> <span class=\"token class-name\">Bucket4j</span><span class=\"token punctuation\">.</span><span class=\"token function\">builder</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">addLimit</span><span class=\"token punctuation\">(</span>limit<span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">build</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bucket<span class=\"token punctuation\">.</span><span class=\"token function\">tryConsume</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    executor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span>task<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>But if you want that the employees from the theme park's main entrance do other tasks while the customers are in the queue and still not allowed to enter, I mean if you want that your thread is used for other tasks, at least these 3 libraries have a pattern that may be a problem to you: they block the thread.</p>\n<h2>Thread Blocking</h2>\n<p>Now we are in the second part of this article, and as we are talking about Threads, it's good to know some basics about them. The first step is to know that they allow us to work concurrently, two tasks running virtually at the same time. But Threads are notoriously complex and error-prone, inaugurating a new sorts of problems like Deadlock, Race Condition, and so on.</p>\n<p>As we said at the start of this article, considering that we have limited resources, we have to use Threads with wisdom and be as clever as possible.</p>\n<p>If I and my wife are in the kitchen and we have just one knife available, it is appropriate that once one of us stop using the knife we leave it available to the other over the table, so that the other could start working with this piece of cutlery.</p>\n<p>When one forgets about this rule, the other one is kept waiting for the tool, and important work is not held, preventing the flow of a harmonious cuisine.</p>\n<p>The computer environment works like this kitchen, we have a limited number of Threads. And when something blocks one thread with a Thread.sleep() or LockSupport.parkNanos(), this Thread goes to the TIMED_WAITING state and during this time it can not be used. It is like the unused knife in the cooker's hand of an unharmonious kitchen.</p>\n<p>In practical terms, consider the following code:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">private</span> <span class=\"token keyword\">void</span> <span class=\"token function\">guavaRateLimiter</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n<span class=\"token class-name\">RateLimiter</span> rateLimiter <span class=\"token operator\">=</span> <span class=\"token class-name\">RateLimiter</span><span class=\"token punctuation\">.</span><span class=\"token function\">create</span><span class=\"token punctuation\">(</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token function\">logWithThreadTimeStamped</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Starting\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token class-name\">IntStream</span><span class=\"token punctuation\">.</span><span class=\"token function\">rangeClosed</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">forEach</span><span class=\"token punctuation\">(</span>i <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n    rateLimiter<span class=\"token punctuation\">.</span><span class=\"token function\">acquire</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token function\">logWithThreadTimeStamped</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Task n. \"</span> <span class=\"token operator\">+</span> i<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token function\">logWithThreadTimeStamped</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I'm blocked =(\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token function\">logWithThreadTimeStamped</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Finishing\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>It will output as follow:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">[12:01:31.972073] Starting Thread: main\n[12:01:31.978520] Task n. 1 Thread: main\n[12:01:32.471752] Task n. 2 Thread: main\n[12:01:32.967231] Task n. 3 Thread: main\n[12:01:33.470331] Task n. 4 Thread: main\n[12:01:33.470662] I'm blocked =( Thread: main\n[12:01:33.470845] Finishing Thread: main</code></pre></div>\n<p>What we wanted was that our 4 tasks were completed in a frequency of at most 2 for each second, but the Rate Limiter also has blocked the other tasks.</p>\n<p>You may ask, what to do? Perhaps, we should schedule instead of blocking!</p>\n<h2>Scheduling</h2>\n<p>Imagine when you need to go to the doctor. Unless there is an emergency, you will likely have to make an appointment. The schedules are spread in a timeline, considering the doctor's ability to do the entire checkup: anamnesis, some additional exams, and so on. So to say, if the doctor takes an average of 30 minutes to attend to a patient appointment, those appointments should be guaranteed in intervals of 30 minutes.</p>\n<p>With this in mind, we could refactor our previous code. If we need that our tasks are executed at a rate of 2 per second, it means that we should schedule our tasks for every 500 milliseconds, which is one second (1000 milliseconds) divided by 2.</p>\n<p>Now that we know our interval, we have to find a way to keep track of our \"appointments\", to avoid scheduling more than one task to the same interval. Let's use an AtomicInteger class for that.</p>\n<p>Let's scratch some code:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">private</span> <span class=\"token keyword\">void</span> <span class=\"token function\">taskScheduling</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n<span class=\"token keyword\">var</span> scheduleExecutor <span class=\"token operator\">=</span> <span class=\"token class-name\">Executors</span><span class=\"token punctuation\">.</span><span class=\"token function\">newSingleThreadScheduledExecutor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> intervalDiary <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">AtomicInteger</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> expectedInterval <span class=\"token operator\">=</span> <span class=\"token number\">500</span><span class=\"token punctuation\">;</span>\n<span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Starting\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token class-name\">IntStream</span><span class=\"token punctuation\">.</span><span class=\"token function\">rangeClosed</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">forEach</span><span class=\"token punctuation\">(</span>i <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n    scheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">schedule</span><span class=\"token punctuation\">(</span>\n        <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Task n. \"</span> <span class=\"token operator\">+</span> i<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n        intervalDiary<span class=\"token punctuation\">.</span><span class=\"token function\">getAndAdd</span><span class=\"token punctuation\">(</span>expectedInterval<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token class-name\">TimeUnit</span><span class=\"token punctuation\">.</span>MILLISECONDS\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I'm NOT blocked =D\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Finishing\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">private</span> <span class=\"token keyword\">void</span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> message<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token class-name\">System</span><span class=\"token punctuation\">.</span>out<span class=\"token punctuation\">.</span><span class=\"token function\">println</span><span class=\"token punctuation\">(</span>message <span class=\"token operator\">+</span> <span class=\"token string\">\" Thread: \"</span> <span class=\"token operator\">+</span> <span class=\"token class-name\">Thread</span><span class=\"token punctuation\">.</span><span class=\"token function\">currentThread</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">getName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>It will output as follows:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Starting - Thread: main\nI'm NOT blocked =D Thread: main\nFinishing - Thread: main\nTask n. 1 - Thread: pool-1-thread-1\nTask n. 2 - Thread: pool-1-thread-1\nTask n. 3 - Thread: pool-1-thread-1\nTask n. 4 - Thread: pool-1-thread-1</code></pre></div>\n<p>Oh, it worked, but seems like we are cheating, because we just added a new thread to the game. How can we know for sure if that new thread is not being blocked? Well, we can test it like this:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">private</span> <span class=\"token keyword\">void</span> <span class=\"token function\">taskSchedulingV2</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n<span class=\"token keyword\">var</span> scheduleExecutor <span class=\"token operator\">=</span> <span class=\"token class-name\">Executors</span><span class=\"token punctuation\">.</span><span class=\"token function\">newSingleThreadScheduledExecutor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> intervalDiary <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">AtomicInteger</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> expectedInterval <span class=\"token operator\">=</span> <span class=\"token number\">500</span><span class=\"token punctuation\">;</span>\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Starting\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token class-name\">IntStream</span><span class=\"token punctuation\">.</span><span class=\"token function\">rangeClosed</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">forEach</span><span class=\"token punctuation\">(</span>i <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n    scheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">schedule</span><span class=\"token punctuation\">(</span>\n        <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Task n. \"</span> <span class=\"token operator\">+</span> i<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n        intervalDiary<span class=\"token punctuation\">.</span><span class=\"token function\">getAndAdd</span><span class=\"token punctuation\">(</span>expectedInterval<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token class-name\">TimeUnit</span><span class=\"token punctuation\">.</span>MILLISECONDS\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I'm NOT blocked =D\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Finishing\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>And voilà:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Starting Thread: pool-1-thread-1\nTask n. 1 Thread: pool-1-thread-1\nI'm NOT blocked =D Thread: pool-1-thread-1\nFinishing Thread: pool-1-thread-1\nTask n. 2 Thread: pool-1-thread-1\nTask n. 3 Thread: pool-1-thread-1\nTask n. 4 Thread: pool-1-thread-1</code></pre></div>\n<p>The downside of this approach is that the ScheduledExecutorService, that we receive from the newSingleThreadScheduledExecutor() method of the Executors class, uses an unbounded queue. This means that no task will ever be rejected (by the meaning of the unbounded word, it is like an unlimited queue), and because of that, we have the risk of consuming too much memory if we receive tasks more quickly than we can handle them.</p>\n<p>Of course, we can avoid that in many ways. One approach could be to track the number of scheduled tasks and reject new tasks if we hit the specified threshold. First of all, let's refactor our code so that we use a queue of tasks as the source to be used by the scheduler.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">private</span> <span class=\"token keyword\">void</span> <span class=\"token function\">taskSchedulingV3</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n<span class=\"token keyword\">var</span> scheduleExecutor <span class=\"token operator\">=</span> <span class=\"token class-name\">Executors</span><span class=\"token punctuation\">.</span><span class=\"token function\">newSingleThreadScheduledExecutor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> myTasks <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ConcurrentLinkedQueue</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Runnable</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> EXPECTED_INTERVAL <span class=\"token operator\">=</span> <span class=\"token number\">500</span><span class=\"token punctuation\">;</span>\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Starting\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">scheduleAtFixedRate</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span>\n    <span class=\"token function\">ofNullable</span><span class=\"token punctuation\">(</span>myTasks<span class=\"token punctuation\">.</span><span class=\"token function\">poll</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">ifPresent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Runnable</span><span class=\"token operator\">::</span><span class=\"token function\">run</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> EXPECTED_INTERVAL<span class=\"token punctuation\">,</span> <span class=\"token class-name\">TimeUnit</span><span class=\"token punctuation\">.</span>MILLISECONDS\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token class-name\">IntStream</span><span class=\"token punctuation\">.</span><span class=\"token function\">rangeClosed</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">forEach</span><span class=\"token punctuation\">(</span>i <span class=\"token operator\">-></span>\n    myTasks<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Task n.\"</span> <span class=\"token operator\">+</span> i<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I'm NOT blocked =D\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Finishing\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Our log:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Starting Thread: pool-1-thread-1\nTask n.1 Thread: pool-1-thread-1\nI'm NOT blocked =D Thread: pool-1-thread-1\nFinishing Thread: pool-1-thread-1\nTask n.2 Thread: pool-1-thread-1\nTask n.3 Thread: pool-1-thread-1\nTask n.4 Thread: pool-1-thread-1</code></pre></div>\n<p>Now in this version, we are using the scheduleAtFixedRate() method, which frees us from keeping track of the already used intervals. It now checks for new tasks for every expected interval.</p>\n<p>But what would happen if we have more tasks coming than we are able to handle? The following code creates a new task for each 250ms but handles new tasks just in an interval of 500ms.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">private</span>  <span class=\"token keyword\">void</span>  <span class=\"token function\">taskSchedulingOverload</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n<span class=\"token keyword\">var</span> scheduleExecutor <span class=\"token operator\">=</span> <span class=\"token class-name\">Executors</span><span class=\"token punctuation\">.</span><span class=\"token function\">newSingleThreadScheduledExecutor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> myTasks <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ConcurrentLinkedQueue</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Runnable</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> EXPECTED_INTERVAL <span class=\"token operator\">=</span> <span class=\"token number\">500</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> SMALLER_INTERVAL <span class=\"token operator\">=</span> <span class=\"token number\">250</span><span class=\"token punctuation\">;</span>\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Starting\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">scheduleAtFixedRate</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span>\n    <span class=\"token function\">ofNullable</span><span class=\"token punctuation\">(</span>myTasks<span class=\"token punctuation\">.</span><span class=\"token function\">poll</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">ifPresent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Runnable</span><span class=\"token operator\">::</span><span class=\"token function\">run</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> EXPECTED_INTERVAL<span class=\"token punctuation\">,</span> <span class=\"token class-name\">TimeUnit</span><span class=\"token punctuation\">.</span>MILLISECONDS\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">scheduleAtFixedRate</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span>\n    myTasks<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Fast Task! Task lasting: \"</span> <span class=\"token operator\">+</span> myTasks<span class=\"token punctuation\">.</span><span class=\"token function\">size</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> SMALLER_INTERVAL<span class=\"token punctuation\">,</span> <span class=\"token class-name\">TimeUnit</span><span class=\"token punctuation\">.</span>MILLISECONDS\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I'm NOT blocked =D\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Finishing\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Our output would be something like this:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Starting Thread: pool-1-thread-1\nI'm NOT blocked =D Thread: pool-1-thread-1\nFinishing Thread: pool-1-thread-1\nFast Task! Task lasting: 1 Thread: pool-1-thread-1\nFast Task! Task lasting: 2 Thread: pool-1-thread-1\nFast Task! Task lasting: 3 Thread: pool-1-thread-1\nFast Task! Task lasting: 4 Thread: pool-1-thread-1\nFast Task! Task lasting: 5 Thread: pool-1-thread-1\nFast Task! Task lasting: 6 Thread: pool-1-thread-1\nFast Task! Task lasting: 7 Thread: pool-1-thread-1\nFast Task! Task lasting: 8 Thread: pool-1-thread-1\nFast Task! Task lasting: 9 Thread: pool-1-thread-1\n\n(...)</code></pre></div>\n<p>The size of the queue will not stop raising, leading us to an out-of-memory error. Oh, but don't be so afraid my friend, as we said we can limit the schedule based on that queue. Like if you call the doctor to make an appointment and they answer you: \"sorry, for the next 10 years all our schedules are already taken, please call in another day (or year).\"</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">private</span>  <span class=\"token keyword\">void</span>  <span class=\"token function\">taskSchedulingLimitingByQueueSize</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n<span class=\"token keyword\">var</span> scheduleExecutor <span class=\"token operator\">=</span> <span class=\"token class-name\">Executors</span><span class=\"token punctuation\">.</span><span class=\"token function\">newSingleThreadScheduledExecutor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> myTasks <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ConcurrentLinkedQueue</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Runnable</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> EXPECTED_INTERVAL <span class=\"token operator\">=</span> <span class=\"token number\">500</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> SMALLER_INTERVAL <span class=\"token operator\">=</span> <span class=\"token number\">250</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">var</span> QUEUE_LIMIT <span class=\"token operator\">=</span> <span class=\"token number\">4</span><span class=\"token punctuation\">;</span>\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Starting\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">scheduleAtFixedRate</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span>\n    <span class=\"token function\">ofNullable</span><span class=\"token punctuation\">(</span>myTasks<span class=\"token punctuation\">.</span><span class=\"token function\">poll</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">ifPresent</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Runnable</span><span class=\"token operator\">::</span><span class=\"token function\">run</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> EXPECTED_INTERVAL<span class=\"token punctuation\">,</span> <span class=\"token class-name\">TimeUnit</span><span class=\"token punctuation\">.</span>MILLISECONDS\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">scheduleAtFixedRate</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>myTasks<span class=\"token punctuation\">.</span><span class=\"token function\">size</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&lt;</span> QUEUE_LIMIT<span class=\"token punctuation\">)</span>\n        myTasks<span class=\"token punctuation\">.</span><span class=\"token function\">add</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Fast Task! Task lasting: \"</span> <span class=\"token operator\">+</span> myTasks<span class=\"token punctuation\">.</span><span class=\"token function\">size</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">else</span>\n        <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I was rejected =(\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> SMALLER_INTERVAL<span class=\"token punctuation\">,</span> <span class=\"token class-name\">TimeUnit</span><span class=\"token punctuation\">.</span>MILLISECONDS\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I'm NOT blocked =D\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nscheduleExecutor<span class=\"token punctuation\">.</span><span class=\"token function\">execute</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token function\">logWithThread</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Finishing\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Our output:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Starting Thread: pool-1-thread-1\nI'm NOT blocked =D Thread: pool-1-thread-1\nFinishing Thread: pool-1-thread-1\nFast Task! Task lasting: 1 Thread: pool-1-thread-1\nFast Task! Task lasting: 2 Thread: pool-1-thread-1\nFast Task! Task lasting: 3 Thread: pool-1-thread-1\nI was rejected =( Thread: pool-1-thread-1\nFast Task! Task lasting: 3 Thread: pool-1-thread-1\nI was rejected =( Thread: pool-1-thread-1\nFast Task! Task lasting: 3 Thread: pool-1-thread-1\nI was rejected =( Thread: pool-1-thread-1\nFast Task! Task lasting: 3 Thread: pool-1-thread-1</code></pre></div>\n<p>Here we have to talk about backpressure. Remember that this problem about memory only occurs if always the input of tasks is faster than the output. If the input of tasks was faster in just a point of time, this surplus of tasks will be kept on the queue and properly handled in the following time. So with this approach, our application could control the rate of events so that fast producers (sending new tasks) does not overwhelm our consumer.</p>\n<p>In a blocking approach, the producer will be forced to wait. In the scheduling approach, the new tasks will be handled in time, and only if it overloads that some of them will be queued.</p>\n<p>You could say, but how long should be my queue? Well, I may say that it depends on your use case. A doctor could have a schedule book for all the current year. And if it shows to be not enough, the doctor can buy a new schedule book for the next year. As in your application service, if you can afford more memory, your queues can be as long as you want.</p>\n<p>But in the case of a traveling circus, if it will be in the town for just 3 weeks it doesn't make sense to accept schedules for the next month. The same as your application, if its capacity of handling tasks isn't fast enough at a point that the handling of an older schedule task starts to become unmeaningful, you should shrink your queue.</p>\n<h2>Conclusion</h2>\n<p>We can conclude that scheduling is a good approach for rate-limiting without the downside of blocking the thread. It gives us the opportunity of controlling the flow of incoming tasks, queueing peaks, and always handle the tasks in harmony with all other components.</p>","fields":{"slug":"/rate-limiters/","tags":["auto1","engineering","RateLimiter","Thread","Scheduling"]}}},{"node":{"id":"a26825f5-bab1-5ad6-bc95-41f8c672ba4c","frontmatter":{"category":"QA","title":"Efficient Testing - Automate Early","date":"2022-06-01","summary":"Early bird gets the worm - or how preparing in time can reduce the effort needed in manual testing.","thumbnail":null,"authorName":"Joanna Tyka","authorDescription":"Joana is a QA Automation Engineer in our Katowice office.","authorAvatar":{"relativePath":"pages/efficient-testing-2/JoannaT.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAATABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAUCBAH/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAABqc+OOWqwSV4DXFH/xAAcEAEAAQQDAAAAAAAAAAAAAAACAwABBCEQETH/2gAIAQEAAQUCSsDHJd8ZS6gie6yaWk/f/8QAFREBAQAAAAAAAAAAAAAAAAAAASD/2gAIAQMBAT8BI//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB0QAAEEAgMAAAAAAAAAAAAAAAEAAhARAyFBUXH/2gAIAQEABj8CLjwtgC4I7TGwPVjqP//EABsQAQEBAAIDAAAAAAAAAAAAAAERABAxIVFx/9oACAEBAAE/IeogXCDAUjcuKkWDGQR7X7rlS/fEZ4Kl4P/aAAwDAQACAAMAAAAQ9AjA/8QAFxEBAQEBAAAAAAAAAAAAAAAAARARMf/aAAgBAwEBPxACOw5P/8QAFxEBAQEBAAAAAAAAAAAAAAAAAAERMf/aAAgBAgEBPxC9Yqv/xAAdEAEAAwADAAMAAAAAAAAAAAABABEhMUFhgaHB/9oACAEBAAE/ELDbyryGiEG8eM0myDEXXZjO3Q44B9sdxnK12+IIWkHfEAGuz9Z//9k=","width":50,"height":50,"src":"/static/d453ba1bcdc86e2db725a048eefd13a6/d2d31/JoannaT.jpeg","srcSet":"/static/d453ba1bcdc86e2db725a048eefd13a6/d2d31/JoannaT.jpeg 1x,\n/static/d453ba1bcdc86e2db725a048eefd13a6/0b804/JoannaT.jpeg 1.5x,\n/static/d453ba1bcdc86e2db725a048eefd13a6/753c3/JoannaT.jpeg 2x,\n/static/d453ba1bcdc86e2db725a048eefd13a6/31ca8/JoannaT.jpeg 3x"}}},"headerImage":null},"html":"<h1>Efficient Testing - Automate Early</h1>\n<p>I don't have time for automation - how often do you say that? I said that once and now I feel a bit ashamed thinking about it. To never repeat this mistake I had to find some solution, to not only have enough time for automation but also to be much faster using it. I realized that when I was repeating the same test case manually for the 5th time, it was incredibly boring and each try was taking 15 minutes of my time. Today I would like to share my experience with you on how to make it faster and more pleasant. In the big picture, it is all about being agile, splitting the job between small pieces, done as fast as possible. Before the feature is fully ready for tests we have so many different opportunities to start working on automation.</p>\n<h2>Planning and reconnaissance</h2>\n<p><em>An hour of planning can save you 10 hours of doing - Dale Carnegie</em></p>\n<p>As soon as test scenarios are prepared, you can select candidates for automation and choose which ones should be executed on API level and which on UI. It should be a part of a well-prepared automation strategy (more about test automation strategy here <a href=\"https://auto1.tech/efficient-testing-1/\">https://auto1.tech/efficient-testing-1/</a> ). Check whether all necessary API calls are available for you (maybe you need to ask developers to create new endpoints?), what will be the steps to prepare the environment for the test, explore existing automation infrastructure and recognize how many new methods and classes you will need to prepare. Sometimes our features are settled on some other pages or we need to go through other features or applications to do our tests. As these parts already exist, it is a great time to cover it with automation if nobody hasn't done that before. It is also a great time to consider which tools will be needed and find new libraries that will be more effective.</p>\n<h2>Test data preparation</h2>\n<p>Test data means all that needs to be prepared before your real test will start. When you are sure that you know all the preconditions and steps required to arrange the system before beginning the testing, you can recognize how to prepare it just when the first version of the specification is written. For example, let's take an order in the shop. When developers write their code you can write your own which will prepare test data via API, so following our example the order in specified state. To make it more efficient you can store example of the order in the queue (read more about it here <a href=\"https://auto1.tech/faster-automation-tests/\">https://auto1.tech/faster-automation-tests/</a>). It will be so helpful when you will need to execute the first most basic test and speeds up the whole process significantly. Developers in your team will be also very grateful for the created test data that they can take and quickly test their changes on.</p>\n<h2>Page Object skeletons</h2>\n<p>If you use Page Object Pattern you can create a page objects skeleton just now based on the design. Prepare all classes storing variables with empty locators, write all methods which will use these locators to interact on the page and prepare bigger steps that will do your manual work. When the front end part of the feature will be implemented you can just fill in locators one by one look at the DOM and adjust steps easily. With unique locators added by developers, it will be almost a pure pleasure.</p>\n<p><img src=\"https://i.postimg.cc/tXm79NqD/image.png\"></p>\n<p>Let's take this design of the saved searches page as an example and imagine a test scenario that verifies that saved searches are displayed on the proper page and the user can use a saved search to view the current results of searching. We know that to be able to execute this scenario we need the signed-in user so we can prepare this user just now. Looking at this picture we already know that we have an upper menu that should be already covered with automation (if it isn't covered, the time to do it is just now) and we need to use it to open my account view. We have also a side menu to open the saved searches page from my account context. We know how the saved search will look and which button we will need to click to open search results. Having all this information we can prepare the saved search page class, empty locators for all elements and methods that will interact with the page.</p>\n<h2>Doubts?</h2>\n<p>Many times I saw this approach to automation. I will do everything manually and leave the automation creation at the end or it doesn't make any sense to create automation now, because I will have to change it. Have you seen something similar? But how much time will be needed then to write all automated tests? Two weeks, or more? Who will give this time, when a new urgent feature is upcoming? From my perspective, it is really hard to find that person and it is well-argued. That's why in my humble opinion it is much better to split your time into small sessions before the feature is ready for tests and then have all automation components already done, then just write tests on demand. Isn't it beautiful having valuable tests from the start and be able to use them as regression tests at any time?</p>\n<h2>In real life</h2>\n<p>I will give you my example: I was testing integration between two systems. Requirements were very agile, five teams were engaged in this feature and multiple layers of integration were created, so we had many bugs by the way. I had to repeat every test scenario 10 times on average. Manually test data preparation for each took 10 minutes, the real testing part between 5 and 10 minutes. After the third attempt, I was tired and frustrated. The more tired and frustrated I was - the more mistakes I made. It was a critical point for me to start writing automated tests. Of course, I had to spend a few hours to have it ready, but what a relief I felt when the 15 minutes scenario was done by my automation in 3 minutes. The other big benefit was that automation doesn't make mistakes and I could run my tests how many times I needed so I've stopped caring about the number of repetitions. I was able to share these tests with my colleague that needed them for testing the other part of this integration. My rough calculations show that I saved a few days and so many hairs which I would have ripped out of my head if I had to do all these tests manually to the end. When I was asked about regression I needed only a few minutes of my effort.</p>\n<h2>Conclusion</h2>\n<p>We have so many opportunities to be well prepared for upcoming features and to reduce the effort needed in manual testing. Creating smart automation will develop our coding skills and help to save time and frustration. I am sure that there are many other ways to receive significant benefits by automating early, we just need to use them.</p>","fields":{"slug":"/efficient-testing-2/","tags":["auto1","engineering","qa","testing"]}}},{"node":{"id":"91a0b82d-55ee-5f65-88a2-165a2e1c5a81","frontmatter":{"category":"Engineering","title":"Functional style MDC","date":"2022-05-20","summary":"Mapped Diagnostic Context for everyone","thumbnail":null,"authorName":"Adam Seretny","authorDescription":"Adam is a Senior Software Engineer in our Katowice office.","authorAvatar":{"relativePath":"pages/functional-style-mdc/adam.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAA7CAAAOwgEVKEqAAAAEL0lEQVQ4y2XTW0yaZxgHcNOrmW6rRWjl+4BkN0uXNbqtq3ZpxrTOuRY7sUzBAwcR5KgoIKicz2cKioeIVu3qiWkr2mpBPE1AtNJVi2czd9F0SZvsYsmSLbsZziZTmzx3b37v+3/e5J8AKK3xSZGbUuTmFJUVrnUg9Y4Mfg2GRsjG5VD55em3m6C6JoTOAeicoPY2qLEDKtuhSniDZUa43AQozHCdI43NwmR/cgN98asrFzJSUeya0s8creeVNoTahlDZQJX1kPyP4VJ9fACFBamwXP766qULQH5mGvt7dPGNjOxPURhGGVLjQMiMCLkJoTCBCvMxDMSlVB+/FSUxoLMu8/HZHlONv7VxoVs9aKq5/sVHqAomQmZCNmqRMj0Yz3gstkgJFynA+DFXyMLnBFokK0P21fvO56Oul8GhQR0LkX4JFKmR9RqkRHcCW2AMPozChlXyPySWO+tI/ubGpbumaL/56YBl19+77XXl5l1LZghRYg2yXh3Pfwwnk1kQHPFsIRWFwTqEpAm7ONilezZkjw7YF3rNm6PN1Xzqe+QqlECBFKlBqeEtXFB2toAIz/pGTr/FI+TirqbOtUkeaDml6FSvva5Nzf2Yzj3HqUcKFKDkBCaxkrFl7+YVf55f0CEkGemFldnpD7WcUJu8v7Fy2eNc7FTmcHlJNAGqVoY4hhWWZCITii05nUf4srhk0sjzKtl3uAS/oXZnpHnjx6a9xz2rw67UCjaUVouqlZ7E0DjGlcFwRFh+saGBO28VullFEwZBbMAeG3G9mOsvlza8T6CDDCGi5q2XoWQWtIhynkB952ZJIZM2aeGbKgp66iuCXfrwD6bnj9xpdM6ZUibAFoN8GSjRA0rbkdgkJqSIAsNTzxSUXSSQ3Eq2iYjpImN9ck6kR+vpsQKl9HOUqhS2GDjAhiNYaYUQGUk3CZD8kiRM4Sn0DUE15Z6YPNxAi3Rp93zulnZzwnU8lMSBs0RwngRo0B12481vQ/Dlp7Mwp65kJWZk5lXxHOo6XSVuUFvt69SGh1uW5scrmtoAMjuxhJlMFwBizRGssCTmYiHoa5lUmqbZOTI5Njpyz8wjdevr5odaF4fbnz2Z23/123g4zGjp+IAlgFRLQLX9AIMqW7zJWIm009MXWAxOzAZ6Pf3TS6EBl27MpVmd6G+VVm3t7zzZiD3dWF/b3ZqIhL9zuaEyc7xFCXClFamy3Znyr26t+8Oh+/7Hg2MPppYjM6H5Dq1IiP92oLf99d9/zi5Fopsbi2trsc2YbPRhksQY7/YBBpXWu9OB7V92A6Hgo+mp8Slf8OdoOLbmbDLVcyl//PPXi99fh1ai63vbm7/u/zQ/W9vngcjMCNV/O4NKS8fMbGg91uf3DQamhgIB72LYPeYVWo3e5cjaq5fhnS3fSjS+88L2lnd2ht7dd4j/BfAXIxQ37XYMAAAAAElFTkSuQmCC","width":50,"height":50,"src":"/static/37b7f8651bdc618080e3838b6beeb39a/45876/adam.png","srcSet":"/static/37b7f8651bdc618080e3838b6beeb39a/45876/adam.png 1x,\n/static/37b7f8651bdc618080e3838b6beeb39a/eb85b/adam.png 1.5x,\n/static/37b7f8651bdc618080e3838b6beeb39a/4f71c/adam.png 2x,\n/static/37b7f8651bdc618080e3838b6beeb39a/9ec3e/adam.png 3x"}}},"headerImage":null},"html":"<h1>Logging with MDC in functional style</h1>\n<h2>Introduction</h2>\n<p>If you are already familiar with MDC (Mapped Diagnostic Context) you can go to the next section of this article. If not, please take a look at <a href=\"https://www.baeldung.com/mdc-in-log4j-2-logback\">this</a> first to get a better understanding of what MDC is.</p>\n<h2>Use case</h2>\n<p>In one of our services we had an endpoint responsible for invoking process related to car auction with a lot of logs for debugging purposes. We already had a request-id to trace it in Kibana, but we wanted to filter logs in a more convenient way, by value that we know even before invoking this endpoint which was the stock number of the car. So we decided to use MDC as it allows us to add diagnostic key-value pairs to every log in given Thread.</p>\n<h2>MDC code drawbacks</h2>\n<p>Although MDC is a great tool, it forces programmers to write clunky code due to the fact that every key-value pair that was set should be cleared, otherwise in some edge cases it could be used by another thread.</p>\n<p>Clearing can be done by invoking MDC.clear() or by MDC.remove(key). First one clears all MDC keys so we could accidentally remove keys that were set higher in stack. Second one is better then but it has to be invoked for every key. And also in both cases it should be done in finally block to be sure that no matter what happened, context was cleared.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">try {\n  MDC.put(\"key1\", \"value1\");\n  MDC.put(\"key1\", \"value2\");\n  //some process\n  log.info(\"very important log\");\n}finally {\n  MDC.remove(\"key1\");\n  MDC.remove(\"key2\");\n}</code></pre></div>\n<p>MDC also has <code class=\"language-text\">method putCloseable(key, value)</code> which returns <code class=\"language-text\">AutoClosable object</code> but it allows only one key-value pair and has to be assigned to a variable, which may look better for a single key but it is not perfect. IDE will complain about never used variable</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">try (MDC.MDCCloseable closeable = MDC.putCloseable(\"key\", \"value\")) {\n  //some process\n  log.info(\"very important log\");\n}</code></pre></div>\n<h2>Solution</h2>\n<p>To stand against MDC drawbacks, we came up with this functional style solution:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">LogContext.withLogKey(\"key1\", \"value1\")\n  .andKey(\"key2\", \"value2\")\n  .andKey(\"key3\", \"value3\")\n  .execute(() -> {\n    // some process\n    log.info(\"very important log\");\n  });</code></pre></div>\n<p>At first glance we can see that there is no <em>Try Catch</em> block anymore and we are only setting key-value pairs and not clearing them, however everything works exactly the same. So how is it done?</p>\n<p>Solution is pretty simple. It is based on a container class for storing MDC context keys mixed with <a href=\"https://www.svlada.com/step-builder-pattern/\"><em>Step Builder Pattern</em></a>. Let's take a look at implementation.</p>\n<h3>LogContextSteps</h3>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@NoArgsConstructor(access = AccessLevel.PRIVATE)\npublic  final  class  LogContextSteps {\n\n  public  interface  ContextStep {\n    ExecuteStep andKey(final String key, final Object value);\n  }\n\n  public  interface  ExecuteStep  extends  ContextStep {\n\n    &lt;T> T execute(final Supplier&lt;T> action);\n\n    default  void  execute(final Runnable action) {\n      if (action == null) {\n        throw  new IllegalArgumentException(\"Action for execution cannot be null.\");\n      }\n\n      execute(() -> {\n        action.run();\n        return  null;\n      });\n    }\n  }\n}</code></pre></div>\n<p><strong>LogContextSteps</strong> is a wrapping class for two step interfaces:</p>\n<ul>\n<li>\n<p><strong>ContextStep</strong> which contains method for adding new log key-value pair</p>\n</li>\n<li>\n<p><strong>ExecuteStep</strong> which also extends ContextStep and serves execute method responsible for invoking action that we want to wrap with MDC.</p>\n</li>\n</ul>\n<h3>LogContext</h3>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">public  class  LogContext  implements  ContextStep, ExecuteStep {\n  private  static  final MDCLogContextSetter MDC_LOG_CONTEXT_SETTER = new MDCLogContextSetter();\n\n  private  final LogContextSetter contextSetter;\n  private  final Set&lt;String> contextKeys = new HashSet&lt;>();\n\n  private  LogContext(final LogContextSetter contextSetter) {\n    this.contextSetter = contextSetter;\n  }\n\n  public  static ExecuteStep withLogKey(String key, Object value) {\n    return withContextSetter(MDC_LOG_CONTEXT_SETTER).andKey(key,value);\n  }\n\n  static ExecuteStep withContextSetter(LogContextSetter contextSetter){\n    return  new LogContext(contextSetter);\n  }\n\n  @Override\n  public ExecuteStep andKey(String key, Object value) {\n    contextSetter.put(key, value);\n    contextKeys.add(key);\n    return  this;\n  }\n\n  @Override\n  public &lt;T> T execute(final Supplier&lt;T> action) {\n    if (action == null) {\n      throw  new IllegalArgumentException(\"Action for execution cannot be null.\");\n    }\n\n    try {\n      return action.get();\n    } finally {\n      contextKeys.forEach(contextSetter::remove);\n    }\n  }\n\n  interface  LogContextSetter {\n\n    void  remove(final String key);\n\n    void  put(final String key, final Object value);\n  }\n\n  private  static  class  MDCLogContextSetter  implements  LogContextSetter {\n\n    @Override\n    public  void  remove(String key) {\n      MDC.remove(key);\n    }\n\n    @Override\n    public  void  put(String key, Object value) {\n      MDC.put(key, Objects.toString(value));\n    }\n  }\n}</code></pre></div>\n<p><strong><code class=\"language-text\">LogContext</code></strong> is our main class here. It:</p>\n<ul>\n<li>\n<p>implements interfaces from <strong><code class=\"language-text\">LogContextSteps</code></strong></p>\n</li>\n<li>\n<p>stores MDC keys in <code class=\"language-text\">Set</code></p>\n</li>\n<li>\n<p>executes action that we want to wrap with MDC context</p>\n</li>\n</ul>\n<p>For testing purposes there are some package protected classes and methods like <strong><code class=\"language-text\">LogContextSetter</code></strong> interface and its implementation <strong><code class=\"language-text\">MDCLogContextSetter</code></strong>, as it would be hard to test static methods of MDC class.</p>\n<p><strong>So, how does this flow work?</strong></p>\n<p>We begin with the static factory method <code class=\"language-text\">LogContext.withLogKey</code>(\"key1\", \"value1\") which sets up our <strong><code class=\"language-text\">MDCLogContextSetter</code></strong> and invokes the <code class=\"language-text\">andKey</code>(\"key2\", \"value2\") method for the first time. Then we can chain next invocations of <code class=\"language-text\">andKey</code> where every invocation causes two things:</p>\n<ul>\n<li>\n<p>MDC <em>key</em> is stored in <code class=\"language-text\">Set&lt;String> contextKeys</code> as only keys are needed to clear context</p>\n</li>\n<li>\n<p><strong><code class=\"language-text\">LogContextSetter::put</code></strong> method is invoked where implementation is: <code class=\"language-text\">MDC.put(key, Objects.toString(value))</code> and at that moment <em>key-value</em> is stored in MDC</p>\n</li>\n</ul>\n<p>Finally we can invoke <code class=\"language-text\">execute(()</code> -> <code class=\"language-text\">action())</code> which is classic <em>try-finally</em> block where <em>try</em> invokes our <em>action</em> and <em>finally</em> clears MDC iterating every through <code class=\"language-text\">contextKeys</code> and invoking <strong><code class=\"language-text\">LogContextSetter::remove</code></strong> where implementation id <code class=\"language-text\">MDC.remove(key)</code></p>\n<h2>Practical usage (filtering in Kibana)</h2>\n<p>Assuming that we have an ELK stack for monitoring and proper log configuration we can go to Kibana to find interesting logs via our MDC <em>key-value</em> pairs. Depending on the log configuration, <em>key</em> can be directly accessible or under the <strong>flat</strong> field (which was in our case)</p>\n<p>For <em>key-value</em> pair: <strong>stock-number - SN12356</strong> Kibana filter may look like this:</p>\n<p><img src=\"https://lh6.googleusercontent.com/F4M8xRSQWe86JzTN8G5uPIc62Y_uNhPB-_YDLlhHtTpy0PseDIX7fb8_jh37YbpVQEIJiy4gE76vP0eqkU5jjHKOeac5h3tprc52Iz2oQvv0Ros5AHC00DqsW_YZ6H_hXWdJ0yPe6evaU3Ir7Q\"></p>","fields":{"slug":"/functional-style-mdc/","tags":["auto1","engineering","java"]}}},{"node":{"id":"b22a99d0-7b45-5941-bfd1-051c13fa44cc","frontmatter":{"category":"Engineering","title":"Embedded libraries with Mac on the M1 chip","date":"2022-04-30","summary":"Are you running a Mac(book) with the M1 chip? Ran into issues?","thumbnail":null,"authorName":"Ihor Sila","authorDescription":"Ihor is a Senior Software Engineer in our Berlin office.","authorAvatar":{"relativePath":"pages/embedded-libraries/ihor.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,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","width":50,"height":50,"src":"/static/be35f8628e2a3806d381d258ef13d02a/45876/ihor.png","srcSet":"/static/be35f8628e2a3806d381d258ef13d02a/45876/ihor.png 1x,\n/static/be35f8628e2a3806d381d258ef13d02a/eb85b/ihor.png 1.5x,\n/static/be35f8628e2a3806d381d258ef13d02a/4f71c/ihor.png 2x,\n/static/be35f8628e2a3806d381d258ef13d02a/9ec3e/ihor.png 3x"}}},"headerImage":null},"html":"<h2>MacBook with ARM chip and embedded-libraries problems</h2>\n<p>Hello everyone, my name is Ihor Sila and I'm a Senior Software Engineer in AUTO1, with over 6 years of developing experience. When I joined AUTO1, I received my laptop and I found out that it's a new MacBook Pro with M1 processor and I believe that's really great, because I've read a lot of articles about this chip's performance and comparisons with Intel i-core series. However when I've tried to build microservices that my team presented to me, I found some unusual situations with tests, which are working with embedded libraries such as redis and postgres.</p>\n<h3>Embedded-postgres problems</h3>\n<h4>Problem</h4>\n<p>When I've run first time integration-tests that using embedded-postgres library, I've got next exception in stack trace:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\"> Factory method 'postgres' threw  exception; nested exception is\n java.lang.IllegalStateException: Process\n [/var/folders/61/ls8bv20x4w3fsn3wpm8dlpfm0000gp/T/embedded-pg/\n PG-0c0585587b40695247cf72650cd42f92/bin/initdb</code></pre></div>\n<h4>Solution</h4>\n<p>With the postgres problem, the solution was pretty simple and after I found it in our Slack channel I applied it and it solved the problem. So, when you are setting up your Mac, please check the environment variables and switch locale to en_US.UTF-8 from default one, because the embedded postgres library tries to start its library with a different locale and has problems with the process id. Another solution is to increase the size of a single shared memory segment a Linux process can allocate. So the commands in terminal will be the next</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">sudo sysctl kern.sysv.shmmax=104857600\nsudo sysctl kern.sysv.shmall=25600\nsudo sysctl kern.sysv.shmmin=1\nsudo sysctl kern.sysv.shmmni=10240\nsudo sysctl kern.sysv.shmseg=4096\n\nexport LC_NUMERIC=en_US.UTF-8\nexport LC_MONETARY=en_US.UTF-8\nexport LC_TIME=en_US.UTF-8\nexport LC_ALL=en_US.UTF-8\nexport LC_COLLATE=en_US.UTF-8\nexport LC_MESSAGES=en_US.UTF-8\nexport LC_CTYPE=en_US.UTF-8\nexport LANG=en_US.UTF-8</code></pre></div>\n<p>And that you should restart your MacBook to apply all settings. After that the problem should gone.</p>\n<h3>Embedded-redis problems</h3>\n<h4>Problem</h4>\n<p>Moving on to redis, the problem was that it was newly added to AUTO1. So, from a code perspective everything is fine, but when you try to run the integration tests that are using embedded redis, they just won't be executed, because redis doesn't want to start. There is some exception log that you receive but that's about it, nothing special.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">java.lang.RuntimeException: Can't start redis server. Check\nlogs for details.\n\nat\nredis.embedded.AbstractRedisInstance.awaitRedisServerReady\n(AbstractRedisInstance.java:61)\nat\nredis.embedded.AbstractRedisInstance.start\n(AbstractRedisInstance.java:39)\nat redis.embedded.RedisServer.start(RedisServer.java:9)\nat\nwkda.common.distributed.cache.redis.EmbeddedSingleRedisServer\n.before(EmbeddedSingleRedisServer.java:48)\nat org.springframework.test.context.junit4.SpringJUnit4ClassRunner\n.run(SpringJUnit4ClassRunner.java:190)</code></pre></div>\n<h4>Deep diving into problem</h4>\n<p>When I've tried to debug the library code, it also appeared fine from a first look, but when I've debugged the stack trace of the startup, I've realized that this old version of redis doesn't know anything about the new M1 architecture and that macOS can be built on something different other than an Intel chip.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">=== REDIS BUG REPORT START: Cut &amp; paste starting  from here ===\n30203:M 15 Feb 14:01:14.039 # Redis 3.2.4 crashed by signal: 10\n30203:M 15 Feb 14:01:14.040 # Crashed running the instuction\nat: 0x7fff20406440\n30203:M 15 Feb 14:01:14.040 # Accessing address: 0x305685000\n30203:M 15 Feb 14:01:14.040 # Failed  assertion: &lt;no\nassertion  failed> (&lt;no  file>:0)\n\n------ STACK TRACE ------\nEIP:\n0 libsystem_platform.dylib 0x00007fff20406440\n_platform_memset$VARIANT$Rosetta + 108\n\nBacktrace:\n0 redis-server.app 0x0000000100a70a7e logStackTrace + 110\n1 redis-server.app 0x0000000100a70e4d sigsegvHandler + 253\n2 libsystem_platform.dylib 0x00007fff20403d7d _sigtramp + 29\n3 ??? 0x00000001091c1200  0x0 + 4447801856\n4 ??? 0x31207070612e7265  0x0 + 3539952935082291813</code></pre></div>\n<p>Basically, old redis library only knows that macOS can be either x86 or x86_64. After a thorough investigation, I realized that there is no solution yet and repositories that provide embedded redis solutions haven't updated their libraries so far.</p>\n<h4>Solution</h4>\n<p>The solution to this problem consists of two parts:</p>\n<ol>\n<li>The first part is to somehow find the redis application that can be started up on both macOS with M1 chip and on Intel chip, gracefully.</li>\n<li>The second one is to replace the old redis-application with a new one.</li>\n</ol>\n<p>To solve the first problem, I thought that I could just download the latest redis-server, then get the application file from the library folder and replace the old app file with the new one. Soon after the first try I've realized that my solution will work only for M1 chips, therefore no compatibility with the Intel chipped Macs.</p>\n<p>I've dived deeper into the redis library to understand how it knows which architecture (x86 or x86_64) it needs to use. The solution was pretty simple, it just executes the command to get system flags and then analyzes these flags to see which version to use. When I executed the same command on my local machine, I realized that on M1 architecture some new flags were added, which represents that the current architecture is written with a new chip. In embedded redis you can tell redis to use another embedded redis application, but not the solution from the library.</p>\n<p>If you execute next command at the terminal, you will found extra flags for AMD architecture:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">sysctl -a | grep hw.optional\n\n------- Result -------\n\nhw.optional.amx_version: 2\nhw.optional.arm64: 1\nhw.optional.armv8_1_atomics: 1\nhw.optional.armv8_2_fhm: 1\nhw.optional.armv8_2_sha3: 1\nhw.optional.armv8_2_sha512: 1\nhw.optional.armv8_crc32: 1\nhw.optional.breakpoint: 6\nhw.optional.floatingpoint: 1\nhw.optional.neon: 1\nhw.optional.neon_fp16: 1\nhw.optional.neon_hpfp: 1\nhw.optional.ucnormal_mem: 1\nhw.optional.watchpoint: 4</code></pre></div>\n<p>But if you will execute the same command on Intel-based architecture, you will see another flags, that are specific for Intel architecture:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">sysctl -a | grep hw.optional\nhw.optional.floatingpoint: 1\nhw.optional.mmx: 1\nhw.optional.sse: 1\nhw.optional.sse2: 1\nhw.optional.sse3: 1\nhw.optional.supplementalsse3: 1\nhw.optional.sse4_1: 1\nhw.optional.sse4_2: 1\nhw.optional.x86_64: 1\nhw.optional.aes: 1\nhw.optional.avx1_0: 1\nhw.optional.rdrand: 1\nhw.optional.f16c: 1\nhw.optional.enfstrg: 1\nhw.optional.fma: 1\nhw.optional.avx2_0: 1\nhw.optional.bmi1: 1\nhw.optional.bmi2: 1\nhw.optional.rtm: 0\nhw.optional.hle: 0\nhw.optional.adx: 1\nhw.optional.mpx: 0\nhw.optional.sgx: 0\nhw.optional.avx512f: 0\nhw.optional.avx512cd: 0\nhw.optional.avx512dq: 0\nhw.optional.avx512bw: 0\nhw.optional.avx512vl: 0\nhw.optional.avx512ifma: 0\nhw.optional.avx512vbmi: 0</code></pre></div>\n<p>After realizing that, we created a class so that we can tell the library the fact that if the OS is macOS, then it needs to analyze the system flags. If it will find M1-specific flags (which are not present on Intel architecture), then use the latest redis application file which can be executed on macOS with M1(AMD) architecture, otherwise use the existing solution, because it's working on macOS with Intel processor. We also should store this application file in our resource folder, so in that case new developers can just download the source code and the redis application file will be already there.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">protected  void before() {\nRedisExecProvider provider = RedisExecProvider.defaultProvider()\n.override(OS.UNIX, \"redis-server/redis-server\")\n.override(OS.WINDOWS, Architecture.x86,\n\"redis-server/redis-server.exe\")\n.override(OS.WINDOWS, Architecture.x86_64,\n\"redis-server/redis-server.exe\")\n.override(OS.MAC_OS_X, Architecture.x86,\n\"redis-server/redis-server.app\")\n.override(OS.MAC_OS_X, Architecture.x86_64,\ngetRedisServerForAppleArchitecture());\n\n\nthis.redisServer = RedisServer.builder()\n.redisExecProvider(provider)\n.port(redisPort)\n.setting(\"bind \" + this.redisHost)\n.build();\n\nthis.redisServer.start();\nlog.info(\"Started Redis server at [{}:{}]\",\nthis.redisHost, this.redisPort);\n}\n\n\nprivate  String getRedisServerForAppleArchitecture()\nthrows Exception {\nProcess process = Runtime.getRuntime().exec(\"sysctl hw\");\ntry (BufferedReader input = new  BufferedReader(new\nInputStreamReader(process.getInputStream()))) {\nString  line;\nwhile((line = input.readLine()) != null) {\nif (line.contains(\"hw.optional.arm64\") &amp;&amp;\nline.trim().endsWith(\"1\")) {\nreturn  \"redis-server/amd64/redis-server.app\";\n}\n}\n} catch (IOException e) {\nlog.error(\"Error during parsing system process\");\nthrow  new RuntimeException(e);\n}\nreturn  \"redis-server/redis-server.app\";\n}</code></pre></div>\n<p>We've tested this approach on our microservices and it's stable.</p>\n<p>As for now, our core-team already replaced dependency from old embedded-redis to new one and it's working for both Intel and AMD architecture without additional changes.</p>\n<p>Thanks for reading!</p>","fields":{"slug":"/embedded-libraries/","tags":["auto1","engineering"]}}},{"node":{"id":"43a222cd-fe2c-5cb5-af76-53e7d4ad29ec","frontmatter":{"category":"QA","title":"The journey of a QA engineer in AUTO1 Tech","date":"2022-03-31","summary":"Check out Dhivya's journey in our QA department & how our stack and team contributed.","thumbnail":null,"authorName":"Dhivya Venugopal","authorDescription":"Dhivya is a Junior QA Engineer in the AUTO1 Berlin office.","authorAvatar":{"relativePath":"pages/qa-engineer-journey/dhivya.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAEEBQP/xAAWAQEBAQAAAAAAAAAAAAAAAAABAAL/2gAMAwEAAhADEAAAAXWvULaZ6pqGyQn/xAAcEAACAQUBAAAAAAAAAAAAAAABAgADBBESIRP/2gAIAQEAAQUCpnisScxMquzerXOJXGkTon//xAAVEQEBAAAAAAAAAAAAAAAAAAARIP/aAAgBAwEBPwFj/8QAGBEAAgMAAAAAAAAAAAAAAAAAAAECECH/2gAIAQIBAT8BUTb/AP/EABwQAAEEAwEAAAAAAAAAAAAAAAAQESFBARIxMv/aAAgBAQAGPwIy/KSTY8EDUn//xAAbEAACAwEBAQAAAAAAAAAAAAABEQAxQSFRgf/aAAgBAQABPyHykFbsz0UKMJmkC9nELAfyNrrluBBEa2WJpCJ//9oADAMBAAIAAwAAABCHMMH/xAAZEQEAAgMAAAAAAAAAAAAAAAABABEQITH/2gAIAQMBAT8QBVM1Hrj/xAAXEQEBAQEAAAAAAAAAAAAAAAABEDFB/9oACAECAQE/EE07BhP/xAAcEAEBAAMAAwEAAAAAAAAAAAABEQAhMVFhcaH/2gAIAQEAAT8QUhkEVKfHjA10KQp0jMUp9wY6EihV16w0n7o+2sU+sPC/mXadbXuBNStjW5gkDgZ//9k=","width":50,"height":50,"src":"/static/d37e68c1bb8fcdb464c251c9a15e7dbe/d2d31/dhivya.jpg","srcSet":"/static/d37e68c1bb8fcdb464c251c9a15e7dbe/d2d31/dhivya.jpg 1x,\n/static/d37e68c1bb8fcdb464c251c9a15e7dbe/0b804/dhivya.jpg 1.5x,\n/static/d37e68c1bb8fcdb464c251c9a15e7dbe/753c3/dhivya.jpg 2x,\n/static/d37e68c1bb8fcdb464c251c9a15e7dbe/31ca8/dhivya.jpg 3x"}}},"headerImage":null},"html":"<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5403ba9bebd07a50595eb7001d9728b7/a402e/1.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 66.8%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAUE/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAce+QSqjk//EABoQAAMAAwEAAAAAAAAAAAAAAAACAwEQERP/2gAIAQEAAQUCmy5FnJjxmd13J//EABcRAAMBAAAAAAAAAAAAAAAAAAABEgL/2gAIAQMBAT8BlE5P/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAERAv/aAAgBAgEBPwGsuj//xAAbEAACAQUAAAAAAAAAAAAAAAAAAQIgISIykf/aAAgBAQAGPwLNcLSRvR//xAAaEAEBAQEAAwAAAAAAAAAAAAABABFhMYGR/9oACAEBAAE/IS8x7BH0tnXwhSoXZ+3/2gAMAwEAAgADAAAAENj/AP/EABcRAQADAAAAAAAAAAAAAAAAAAABUWH/2gAIAQMBAT8Qitg//8QAFxEAAwEAAAAAAAAAAAAAAAAAAAFBYf/aAAgBAgEBPxBzZof/xAAcEAEAAgIDAQAAAAAAAAAAAAABABEhQVGBoeH/2gAIAQEAAT8QNXWifSOykLvR9hsrN5nKlpHqP0k//9k='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"1\"\n        title=\"\"\n        src=\"/static/5403ba9bebd07a50595eb7001d9728b7/f8fb9/1.jpg\"\n        srcset=\"/static/5403ba9bebd07a50595eb7001d9728b7/e8976/1.jpg 148w,\n/static/5403ba9bebd07a50595eb7001d9728b7/63df2/1.jpg 295w,\n/static/5403ba9bebd07a50595eb7001d9728b7/f8fb9/1.jpg 590w,\n/static/5403ba9bebd07a50595eb7001d9728b7/85e3d/1.jpg 885w,\n/static/5403ba9bebd07a50595eb7001d9728b7/a402e/1.jpg 1000w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Hi there! My name is Dhivya and I started my career as a Software Engineer in Tech Support and Testing. After a brief sabbatical, in the mid of 2021, I decided to get back into the workforce. I was searching for the right opportunity to kickstart my career and I was very excited to land a job at AUTO1 as a Junior QA Engineer.</p>\n<p><strong>Onboarding experience</strong></p>\n<p>Having previous experience in manual testing, I was greatly looking forward to this opportunity to deep dive into the world of automation testing. Onboarding happened seamlessly thanks to the onboarding handbooks and Confluence resources specially curated for a new joiner in the AUTO1 QA team. It briefed the step-by-step process on how to set up and get ready for the automation testing at AUTO1.</p>\n<p>The CAT (Core Automation Team) people were readily available to guide me in each step, right from setting up the environment, software, and configurations. This was a first-time experience for me, seeing such a dedicated team exclusively being there to support the entire QA team.</p>\n<p><img src=\"/static/2-06a454814194fbad5f8c98269b9fb867.gif\"></p>\n<p><strong>CAT</strong> (Core Automation Team)</p>\n<p>I found myself doing extensive testing of SHIFT, our internal test case management software developed and used by AUTO1. This gave me some in-depth knowledge of the software itself and also the processes and automation structure set in the company.</p>\n<p>In the months that followed, I was excited to take up some solid training from my amazing mentor, who introduced me to the project and the automation tests we had in place. He was very resourceful and immensely patient and carefully introduced me to each element of the role, gradually allowing me to explore the various tasks I would eventually take up. This gave me ample opportunity to get a deep understanding of the project and build a good rapport with my team members and also established a clear goal for me. I was soon writing my first automation test and found the experience thoroughly organic and gratifying.</p>\n<p><strong>Automation Testing at AUTO1</strong></p>\n<p>Firstly, I understood why Automation Testing has become a quintessential part of current testing standards and how it helped our teams achieve great speed, efficiency, and quality. The automation tests and resources were brilliantly abstracted in several repositories and accessed by the various QA teams.</p>\n<p>With 600+ microservices, automation testing is the best way to ensure that the entire platform works efficiently. We use a variety of test automation tools including Selenium and Playwright to drive the automation. The entire framework has been abstracted into a common module in repositories that has helper methods pertaining to our domain. Each team has their dedicated repositories that carry out regular automation test runs, generating regular test reports and this structure helped us keep track of the health and sanity of the systems we worked with.</p>\n<p>The Automation Testing process at AUTO1 looks just like this:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/55fa7b0fddafca9ed49b6c26a2be6326/81d54/3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 56.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAABP0lEQVQoz61Ry0rEQBCMv+SX+Ame1IMHr7oX/Q1/RLxqEMWFVRQWPIkgPmaTbCabZJ5d9oSJuyysi2iFojrdPTXdTEJECYBT5pDjS9aUNQ26in09KPOC4xFzKwngYIOTd1iBxpd4FCmm9gNrsP9tyLyKScPmjtVprZ0QwlW1dLWWTpnWlaV03vuu3vcxdTy7u2h4HTKxCdZb3IhbEH/LGL1INLprC/0BNpb2VhqWRmKYj2CVRZZlyPMceVHw2C0eXhsUzdww3L/WsFUtpmwAT6hmFSZiAm0MjFLIhICU1a8mJPJEsq2pMDV1/+h2p5m1lNU1eee63E+GaUwqbjDhcZS35uz93jzJNxPGe64qc/4pzMx5Ex+v07BQPLuzaDjG33HQGwZuM4+ZR3zzgHXgoy6zz9O8fsg8YW4m/42w7Rfe9dEFZoPW0AAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"3\"\n        title=\"\"\n        src=\"/static/55fa7b0fddafca9ed49b6c26a2be6326/40fad/3.png\"\n        srcset=\"/static/55fa7b0fddafca9ed49b6c26a2be6326/707e9/3.png 148w,\n/static/55fa7b0fddafca9ed49b6c26a2be6326/649e0/3.png 295w,\n/static/55fa7b0fddafca9ed49b6c26a2be6326/40fad/3.png 590w,\n/static/55fa7b0fddafca9ed49b6c26a2be6326/b3fef/3.png 885w,\n/static/55fa7b0fddafca9ed49b6c26a2be6326/301c0/3.png 1180w,\n/static/55fa7b0fddafca9ed49b6c26a2be6326/81d54/3.png 1280w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p><strong>Test data management using SHIFT</strong></p>\n<p>The test cases, scenarios, and strategies are maintained in SHIFT, our internal (and soon to be open-sourced) test case management system. Our QAs make use of a test data tool which is integrated to SHIFT. The 100+ types of test data required by the teams are generated using automation suites that run in Jenkins. This test data is then queued in SHIFT and as a result increased the productivity of our QA team by reducing the effort for manual test data creation. Our director of QA has briefed this here <a href=\"https://auto1.tech/faster-automation-tests/\">https://auto1.tech/faster-automation-tests/</a>.</p>\n<p><strong>Seamless Integrations</strong></p>\n<p>Our CI system, Jenkins, is wired to run these tests against our various QA environments. The integration of SHIFT with Slack, Jenkins, and Jira has helped the teams immensely. The status of Jenkins jobs/sanity suites is notified in Slack. The time taken to debug the issue is hugely reduced since SHIFT displays a precise list of failed tests including the screenshot reference, which helps me to quickly understand the exact point of failure. Once I have identified the issue, I fix it and test it locally, then push the branch to our repository. The process is set in such a way that merge can be done only after review, which gives me more confidence and validation for the proposed solution. This helps me address the issues faster and get the system up and running. This is indeed why the QA team at AUTO1 is one of the key pillars of the Engineering team.</p>\n<p>My automation testing journey at AUTO1 could not have been this impactful if not for this perfect blend of the best tech stacks and resources, and most importantly, my amazing team. My learning on the job has been very effective and hands-on, and it makes each day filled with new challenges and new learning opportunities that help my work create a real impact.</p>\n<p>From the very many opportunities that came my way and the deep learning curve it has presented me with, I now realize that - <strong>the journey has just begun!</strong></p>","fields":{"slug":"/qa-engineer-journey/","tags":["auto1","engineering","testing","QA","social"]}}},{"node":{"id":"d980aa96-d832-53e1-a6c2-0f3710beb58a","frontmatter":{"category":"Engineering","title":"Application Cockpit Architecture Overview","date":"2022-02-17","summary":"An overview of AUTO1 Application Cockpit architecture and its most notable features","thumbnail":{"relativePath":"pages/application-cockpit/architecture-intro/thumb.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAADfUlEQVQ4y61UW2tcVRQ+OyAiiIIRVBRT6UPibmIcze2cOff7LZOZzORq0lorMiQxzjgdxQfFB6VFyJPSWKrRNE2wIW3BovlrHrrZy7X3MJGCjxn4OGuvy7e+tfY5oyjn/dN27hNj55ioP9wnMzePycjX98jQF/vkQvcuudA5IIMbe2Rg/WfywrU98lrzgLzePCSX2ifk3c5DMvrZAzK8cUJeXjsiz1TvEpLvk3MXqOjf741o3/1G3//mDvVvHNDxr+7Q4c5tOtb9hY53f6VvNG9RpXKDksYOHVz/ib5yZZeOb+/TydY9Otrcp8Mf/06fr2JO+CN9NtulinXr8ZPo9inzd0+fvHPzIbv47TF79csjNvj5IXupdche/BSxecTe7Dxgb3UesaHWI3ax/Se71P2LjV0/ZW+3/mZDzcfsuaUTpuR/MGXqw21Qr7Zgcm0TSqub+NyG91a2YHRhA7EFY40tKK+1wb5yHdRlzF1ugbrUgpnFFmhLbVAXEQttmJ5vw0i0BUpkWzwLPB6YOne1ae7pM2cIDJX7psotdZK7aEeuwV30W+oEt7UpbmmTEnZZYIp7xjRXoiSB+UYDstkK2K7Xg+Oe2Y7lgWFYkOWzsLL6AURJCkmagReE4MUBxHh2vQAckYtQgiCAWq0GYRiC67oQRREIn7Bdz4VwIwY7tiHAojRN0OdBks/1YnkEOTbyfR8cx5E1im3bkkw4+nYcx9IWPm/RB9M1ZXKC03hYnGaZjAtyz0d1ji3PAopIStMUTNOUDsuyzmwJ3QZd16Xqer0u1YgcERN5Av2zJIzSCsS4kzCKIUxyqeopuA6YlimJxDrkKhCeGB3FiIn665Iju54PPnYXCX7QC4gEUdwfXxALW6jsNxKjr1++Cg280KcIsYDHUcRRLsddcCTm1WqVY3eJLMs4JnLXcbjvudw0DG6aBrctiyMZxyZc18vcskwJRexPSO93Ft1E1/5OhA8J5OtRqTVQGY4Yp4gMLFvcbG+yIIxxLQEoWPAPKijwWSBBgR0LVCVt4ceCAlUVUV4vVj/pFrXlj4q5xctFbeVakVbqRZxXi3SuUVQW1opkdr5QNE0bx1sqCSBJqVwulyYmJqSNNyj9hmGgXyvp2rT06WW1VFaFbci4eBqGLmPn//eFrAOoZgA7/S9EDBVK4Kc1gJ8lwukBYz38dz53gf8CwA4PmL99534AAAAASUVORK5CYII=","width":325,"height":325,"src":"/static/b08a403a7e9534ad64f67f1ad61141df/b3029/thumb.png","srcSet":"/static/b08a403a7e9534ad64f67f1ad61141df/b3029/thumb.png 1x,\n/static/b08a403a7e9534ad64f67f1ad61141df/8d141/thumb.png 1.5x,\n/static/b08a403a7e9534ad64f67f1ad61141df/ee72c/thumb.png 2x,\n/static/b08a403a7e9534ad64f67f1ad61141df/5dfa8/thumb.png 3x"}}},"authorName":"Przemyslaw Walat","authorDescription":"Przemyslaw is an Expert Software Engineer based in our Szczecin office","authorAvatar":null,"headerImage":{"relativePath":"pages/application-cockpit/architecture-intro/1.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAACaUlEQVQoz0VSS08TURSelQtXrkhI1JjYhQuIIZEC7bzuvTN3bjtDH5TSQlqUBGGlKOGZCOnWP0Di2oAJCTHEgH9O5/Oca6csvsy55/Gdc74zTnjx60/y7Teii/t87utPlEbXmD6+wtTBJab2r/DkwyUe737H9N41nn+6wbOPNyh9vsXM4R1mD+7xau8OT9/f4lH3Gk76A86b3ROUd0/z8s4pZreO8HrrBDObxyitH+Bl/xCl3hHmt85Q3R6h/PYLyptnmB+eY35wjsXhCAsD8m+MMLd2jhe1EziJknlmEqjAy4VbQRR4UH4VEUGHHmLhQrhLiMnWMoDwKggqCwiriwiqCxMIdxHSX4JjanV0VrvIlpcRCkkQCEIxsUNXwnV9JKaG7lrPfqM4hlQRpI4Q6wRCqnG+hBNTsN1uQ2sNKSWSJAH72JZKQu8kCHSIOIpRr9fJr5BmTahIQTcSNBpNRFEEQWRc4wiagkn4wRMxsTEGgqbkWDSM4SvfEmZZRsX0bbQQhiE1VDSttnkFnGRM4PsegsAnBGT7tsCiGsKtuig2iYikiHEeg2sKn2No/HqakRYaupaNO8mHrjS5T42YsFarQREh+/lbpzdvNJGIV5a0ApOx0JE25BQ2gRMZLAd3LgqZjAsVHaW/McDKSmcimSU0JsnHRbmgQkUCt1otewBGmqZ2GiZVdCQrC60pRIher2/JXNe1cV7d4SJaJS9W5Ek6nc5EE/Z5nke/i0G63LRy8CEUoYjz5flA/1eW8i8bFMg5gdfiaz4kk4aeiyRrY317H43uEI3VAVq9dzBpE9qkMFkLWbtv3/8ADCO9cUtyqcEAAAAASUVORK5CYII=","width":1280,"height":786,"src":"/static/477fbbb52f4a6b56a8627202336a0dce/26421/1.png","srcSet":"/static/477fbbb52f4a6b56a8627202336a0dce/26421/1.png 1x"}}}},"html":"<p>Hello fellow concerned developers, or, if you are not yet concerned, while it is not the crux of today’s entry, I hope\nthat by the end of it, you might get interested in becoming one and/or find out how you could do that on your own and\nwhat it actually means for us. Still, the focal point of this post is to fill you in on the architecture of Application\nCockpit (or “App Cockpit”, as we call it in private), the newest tool AUTO1 has brought in for its concerned developers.</p>\n<p><strong>The “why”</strong></p>\n<p>However, before dwelling on the “how” too much, let us pay homage to propriety and start with the ‘why’ of the whole\nmatter. The main reason for the emergence of the Cockpit stems from the plethora of tools AUTO1 has adopted to help us\ntrace, measure and monitor our services, not to mention alerting us when things go south. This opulence often means that\nif you are looking for a specific bit of information, whatever the reason, chances are the data is there somewhere, but\nyou need to make a significant effort finding out where to look for it first.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7913f56e8ec1a8e1392f735128cb79a1/ea190/2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 37.099494097807764%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsSAAALEgHS3X78AAABLklEQVQoz12P626CQBSE9xlUKO+g9YJGQRFhuUbFhED7/q/RNDnTnZPSH/1xwpyZ2W8XMw7D9ziOsDYXay04RVEgz3MdanrUUzb1mqZB27Yoy1KqqoKbLzN+fOLx7KQoK9zvd5p6mLrrOtX0Xq+XAggihB7h7P36wt2UbSf1Y0Ca0bC4XC44nU6o61qL1GmaKvh8PiOKIoURzOx2u6Hve8myjJmYrGiQla0Lj3+/xSILk06SRIeaQILjONb9er3qBQQzM0XzFFs/WNInTwE1h5ovpE8IYbyYIO68yOXC3P2dmP0xxiFK5H29xn4fYrvdYrlcYrfbYbPZqOY3DEOsVisd7mvXn3qEO7DQM54fiPcWYD6fi+d5WCwWmM1moPZ9XzU9juvo/M+CINCzZPwA2yvoGlsGHf4AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"2\"\n        title=\"\"\n        src=\"/static/7913f56e8ec1a8e1392f735128cb79a1/40fad/2.png\"\n        srcset=\"/static/7913f56e8ec1a8e1392f735128cb79a1/707e9/2.png 148w,\n/static/7913f56e8ec1a8e1392f735128cb79a1/649e0/2.png 295w,\n/static/7913f56e8ec1a8e1392f735128cb79a1/40fad/2.png 590w,\n/static/7913f56e8ec1a8e1392f735128cb79a1/b3fef/2.png 885w,\n/static/7913f56e8ec1a8e1392f735128cb79a1/301c0/2.png 1180w,\n/static/7913f56e8ec1a8e1392f735128cb79a1/ea190/2.png 1186w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Once you have figured it out, more often than not, you are invited to dance your way around Kibana, GitHub and Grafana,\ncorrelating your findings, perhaps with a touch of Consul and AWS Event Log to help you along the way, sprinkled with a\nChronograph query here and there to spice things up. Neither is it fast, nor easy, nor pretty. What’s worse, we have\nnoticed, that as our ecosystem grows, it gradually becomes harder to know what to look for and where to find it and the\nlearning curve for new hires has started growing ever steeper.</p>\n<p><strong>…. and the “what”</strong></p>\n<p>Enter the App Cockpit. In short, the Cockpit is meant as THE tool which lets concerned developers quickly find their\nbearings and gather relevant information pertaining to a particular service running in our ecosystem. Being concerned,\nactually, for us means that you care about your services and the ecosystem as a whole and you want to keep your\napplications in tip-top shape as well as you feel responsible for troubleshooting them when needed.</p>\n<p>Keeping that in mind, we’ve designed the App Cockpit to be the first place you check when you want to find out who owns\nthe service, what other services or resources it relies on, is it healthy or not and what its main software dependencies\nare. It is also meant to be the place you visit first when a service starts misbehaving to be presented with quick\ntroubleshooting aids, or, if you are the owner, to perhaps bask in glory when everything runs smoothly.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/819dad8db10b5028167d822d8695e0db/a1751/3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 53.18118948824343%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsSAAALEgHS3X78AAAB8klEQVQoz1VSy47aMBTNBgYJ6I8gpFJAIkBC4tjOO6GESqxowqKfMMNuRuq0/zq7foFPr02CmMXRffjc63t9bHmeBy5CxblAEAQGvu+Dc27Q+YwxaG6H3W4H13U7qDb+Z+33e5UXBRG8R8IdO/dWaNs2lsvlHeaMmjxAbTYbWGEYQkqpWMDgBz4CFoC1k2rf574pqH/WuF6vuL5c8fzyDBlKM72pY77iAcd2u1WWJz1KMDjCAQsZmM8M0YAu4Ckz69a/Grz+ecX7+2+8/X1DkiRwmANxCCATAY972Gz1hHGIUErwkCOOYwgh9MQQGqFAksYm73Ja3Xex3thYbVeIoggiEoj2IeI8pqYSjuvAKrICUfYdaZpAxIJsijiJkWUZ+YQsN7mSbJkXyPMcUkgztXkesxFDuzIsMw0RHhXU0Ct7Pvnt+rqBhn4eX5+3nEcYUQpSuCToRKdc9y06XxNXq5VR2taWYpumMXGL9XptYB1/HEmxWOl31Ip3f0/7+j11w9PphMvlgrqu0ZBtKG6ormmaW65p1Pl8huM4pHJaqenXb/S3FmaKxWKB6XSK+XyO2WyGyWRimldVhcPhgOp4REUKH+iye45sWZZKc63hcIgv47EajUbQvrbj8fiTPxgM0Ov10O/3b/bpCf3POaUt8T/+A9K1gDWcRDsxAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"3\"\n        title=\"\"\n        src=\"/static/819dad8db10b5028167d822d8695e0db/40fad/3.png\"\n        srcset=\"/static/819dad8db10b5028167d822d8695e0db/707e9/3.png 148w,\n/static/819dad8db10b5028167d822d8695e0db/649e0/3.png 295w,\n/static/819dad8db10b5028167d822d8695e0db/40fad/3.png 590w,\n/static/819dad8db10b5028167d822d8695e0db/b3fef/3.png 885w,\n/static/819dad8db10b5028167d822d8695e0db/301c0/3.png 1180w,\n/static/819dad8db10b5028167d822d8695e0db/a1751/3.png 1446w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>To achieve all that, the Cockpit needs to pull data from multiple sources, aggregate it and present it in a comfortable\nand meaningful manner to the users, not to mention being fast and efficient about it, which leads us to the heart of the\nmatter - the architecture of App Cockpit.</p>\n<p><strong>Finally, the “how”….</strong></p>\n<p>When designing App Cockpit, we were striving for what probably every software engineer worth his hide can recite even\nwhen woken up at 4 am in the morning - we wanted the architecture to be “open and easily extensible, yet simple and\nrobust at the same time\", preferably allowing polyglot extensions to let every team in the company contribute and share\nwith others if they came up with a cool feature. In order to achieve this, we have split the Cockpit into 5 logical\ncomponents distributed in 3 different layers, as depicted below, with the descriptions to follow.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a5fde0a614ee1d33cf9b3d2224330a72/b6c2c/diag-1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 382px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 178.79581151832463%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,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'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"diag 1\"\n        title=\"\"\n        src=\"/static/a5fde0a614ee1d33cf9b3d2224330a72/b6c2c/diag-1.png\"\n        srcset=\"/static/a5fde0a614ee1d33cf9b3d2224330a72/a384c/diag-1.png 148w,\n/static/a5fde0a614ee1d33cf9b3d2224330a72/9ca5b/diag-1.png 295w,\n/static/a5fde0a614ee1d33cf9b3d2224330a72/b6c2c/diag-1.png 382w\"\n        sizes=\"(max-width: 382px) 100vw, 382px\"\n      />\n  </span>\n  </a></p>\n<ul>\n<li>\n<p><strong>Data Collector</strong> - the component responsible for fetching data from multiple external sources, parsing, aggregating,\ntransforming and sending it on its way to the data sink with a tiny stretch it might be called the ETL of App Cockpit</p>\n</li>\n<li>\n<p><strong>Data Sink</strong> - a simplistic component with a one-track mind, whose only job is to receive data in a well-defined\nformat from the Collector, occasionally perform some simple and generic operations on it (like basic validation and\nparent id resolution) and persisting it in the data storage</p>\n</li>\n<li>\n<p><strong>Data Storage</strong> - a simple storage that holds the current snapshot of App Cockpit data</p>\n</li>\n<li>\n<p><strong>Data Provider</strong> (aka Backend For Frontend) - exposes an interface to serve everything our UI needs, both serving the\ndata “as-is” from the storage as well as applying some additional logic to further aggregate and transform it for\nspecial purposes</p>\n</li>\n<li>\n<p><strong>UI</strong> - yer plain old Front-end - by design contains no logic, it only displays the data as provided</p>\n</li>\n</ul>\n<p><strong>Sweet, but how about a model?</strong></p>\n<p>The specifics of the model run outside of our scope, however, getting it wrong could severely hobble the architecture,\nso it is a story in and of itself, which will have to wait its turn to be told in another blog entry. For our purposes,\nwe will only briefly touch upon it, mainly to establish the domain.</p>\n<p>Truth be told, App Cockpit is pretty much a simpleton, since its world consists of only two kinds of things: Readings\nand Resources and everything it does revolves around the pair.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/620475cb60f40b22eca2eb0e91489dcd/bdb41/4.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 60.852459016393446%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsSAAALEgHS3X78AAABtUlEQVQoz3VSbZabMAzkGkl+5ZVDYMDG+AvsBBfSvf9F+mpVEssub7v9MRGRRiONoLrf77/ruob6R11utxscuF6vcLlcOJ7xb4655brn/1TBB1jyUkKawBoLxhiw1sI8z5BSAu89OGc5hhA4RzXnHPMs8qdphpieRY8jkGDZXhv44EvOmUnc+HggaUd6ZliWhUVJ8PV68WDKEbCn/Hp7g2EYSqWUYhEpJU8l4oiTDG4rlQY1aNDGgdaaOVQj4aOPeiQ+O+9AYb2i9WnKuq5shYg4iaE5qncMHzhzjmeKNLAiC9u2QUQxEqTpZ0zTxCdYlifWJ97oK4dAveSCLcfHAi7M0Pc9TyFQvus6vGViUa1HeOQNBowH5wBtmH9m7qmk7GH0CbSbQTQNCCF2tAIa/D9aw1u1KO7iCqOLn5wPbgshTrtl+jEBBU3AYgMtFg+IRoD1lg/e9/jSYgaJL+nMYeCwOeH9JW8oCwmOPpYWp/1PsMNz+LTCYDzWxDeCcRdU+4bFoG3xRZAskyAdvet6sHNGYclOzpaJG+awW1ZKltF6MH4qdNQz+Bx4Q/o2z5/Hd6Aa8f8CyFeeSMaQMngAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"4\"\n        title=\"\"\n        src=\"/static/620475cb60f40b22eca2eb0e91489dcd/40fad/4.png\"\n        srcset=\"/static/620475cb60f40b22eca2eb0e91489dcd/707e9/4.png 148w,\n/static/620475cb60f40b22eca2eb0e91489dcd/649e0/4.png 295w,\n/static/620475cb60f40b22eca2eb0e91489dcd/40fad/4.png 590w,\n/static/620475cb60f40b22eca2eb0e91489dcd/b3fef/4.png 885w,\n/static/620475cb60f40b22eca2eb0e91489dcd/301c0/4.png 1180w,\n/static/620475cb60f40b22eca2eb0e91489dcd/bdb41/4.png 1525w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Accordingly, a Reading is a piece of data that describes a Resource in some way, e.g. a metric value, service name,\nowning team, the version of Docker image it currently runs etc.</p>\n<p>In complement, a Resource is a concrete entity for which Readings can be collected and then served; it can be a physical\nentity, e.g. an instance of a service or a logical one (e.g. a definition of a service, e.g. “authentication-service”, a\nsoftware dependency e.g. ‘log4j”, etc). In addition, Resources can form hierarchies, since they support a\nparent-children relationship.</p>\n<p>Given all the above, the main purpose of the App Cockpit is to collect Readings for tracked Resources and present them\nto the users.</p>\n<p><strong>Getting physical.</strong></p>\n<p>Having established all the basics, we can now shift our focus to the physical application of the architecture. We will\ngo over logical components one by one and discuss how we have decided to implement it, to finally sum it all up with a\nfull diagram illustrating the complete solution.</p>\n<p><strong>UI</strong> - we have chosen to implement it using a customized version of Backstage app, built using React JS and available\nat <a href=\"https://backstage.io/\">backstage.io</a>. Since it provides many handy features readily out of the box, it has greatly\nstreamlined the UI development process. Provides a web interface for the users, communicates with Data Provider over\nHTTP via REST endpoints.</p>\n<p><strong>Data Provider</strong> - a simple, easily scalable service built in Java using Spring Boot, exposes REST endpoints for UI\nwhile fetching data from the datasource over JDBC; Apart from serving Readings and Resources it also has a concept of\n“calculations”, which come into play when returning plain entities is not enough to present the user with the desired\ndata. Calculations encapsulate any form of additional aggregation, correlation and transformation logic that is\nperformed on the data in order to enable the UI to present more complex views without placing actual logic in the UI\nitself.</p>\n<p><strong>Data Storage</strong> - nothing fancy there, while we have briefly considered using a temporal db, we have decided to fall\nback to plain old PostgreSQL, since the Cockpit is operating on relational data; the decision has paid off, though,\nsince we were able to leverage the built-in JSONB type to store heterogeneous Reading data in a single column. It is a\nsimple, yet powerful mechanism, which makes the system extremely pluggable. Since a Reading is actually a free-form JSON\nobject, all throughout the ecosystem, the only components that need to know its exact model are the Collector\nimplementation that is going to publish it and the actual UI component that is going to display it. Every other piece of\nthe system can be safely kept in the dark and will be more than happy about it.</p>\n<p><strong>Data Sink</strong> - implemented as a simple lambda function, it has a well-defined job to do; it listens to SNS (AWS'\nmessaging product) events published by the Collectors to its proprietary topic, extracts the payloads, performs simple\nvalidation logic and persists them in the storage. In addition, it is also responsible for properly resolving parent\nResources for incoming children. This piece of logic would fit in the Collectors as well, however since we have decided\nto make them stateless, it has inevitably found its way to the Data Sink.</p>\n<p><strong>Data Collector</strong> - it is the only component for which the logical diagram differs from the physical one, albeit by\ndesign. This stems from the fact that the Collector has been meant as the main extension point that other teams,\npossibly using disparate stacks, can easily plug into when adding new features. By all means, a Collector, as previously\nstated, is any component that fetches data from an arbitrary source, transforms it into Resources and/or Readings and\npushes it to the Data Sink SNS topic.</p>\n<p>In consequence, when you want to start collecting a new type of data or start collecting it from a different source, you\nhave two options - either add your implementation in one of already existing collector services, or write your own new\none, and the only requirement we superimpose on you is that when you publish to the Data Sink, you follow the format we\nhave specified. At the time this post is being written, we have 3 distinct Data Collector implementations:</p>\n<ul>\n<li>\n<p><strong>Main Collector</strong>  - a general-purpose collector, written in Java and providing data for cross-platform features,\ne.g.:</p>\n<ul>\n<li>\n<p>service ownership</p>\n</li>\n<li>\n<p>incidents</p>\n</li>\n<li>\n<p>Docker images used and their vulnerabilities</p>\n</li>\n<li>\n<p>service health and deployments</p>\n</li>\n<li>\n<p>currently running instances</p>\n</li>\n<li>\n<p>code insights (quality, PRs, contributors etc)</p>\n</li>\n</ul>\n</li>\n</ul>\n<ul>\n<li>\n<p><strong>Java Collector</strong> - yet another service written in Java, as the name suggests it collects data strictly related to\nservices written in Java, e.g.:</p>\n<ul>\n<li>\n<p>runtime information like JVM and GC being used</p>\n</li>\n<li>\n<p>selective list of JVM parameters passed to the instances</p>\n</li>\n<li>\n<p>egress dependencies for Java services (in this context, the upstream services)</p>\n</li>\n</ul>\n</li>\n<li>\n<p><strong>PHP/Golang collector</strong> - the first contribution coming from outside the original App Cockpit team, written in\nGolang, it is going to provision data for PHP and Golang services, e.g.:</p>\n<ul>\n<li>\n<p>egress dependencies</p>\n</li>\n<li>\n<p>vulnerabilities</p>\n</li>\n<li>\n<p>possibly many more to come</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>With a picture being worth a thousand words, let’s have a look at a diagram that gathers all of this in one place:</p>\n<p><br><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/f576711fa336eca6db48f2c1cb19c47c/b2341/diag-2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 531px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 161.5819209039548%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,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'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"diag 2\"\n        title=\"\"\n        src=\"/static/f576711fa336eca6db48f2c1cb19c47c/b2341/diag-2.png\"\n        srcset=\"/static/f576711fa336eca6db48f2c1cb19c47c/85b06/diag-2.png 148w,\n/static/f576711fa336eca6db48f2c1cb19c47c/75500/diag-2.png 295w,\n/static/f576711fa336eca6db48f2c1cb19c47c/b2341/diag-2.png 531w\"\n        sizes=\"(max-width: 531px) 100vw, 531px\"\n      />\n  </span>\n  </a><br></p>\n<p>Obviously, the actual process of data collection, as it is currently implemented, is a whole story in and of itself,\ndeserving yet another dedicated blog post, especially since we have elected to make all the collectors stateless, which\nhad its numerous consequences and challenges so keep your eye out for the next entry which is bound to come shortly.</p>\n<p><strong>Closing words and … we will be back</strong></p>\n<p>Having said, or rather written all the above, we sincerely hope that we have managed to pique your interest. Not only in\nour solution but also in actually getting “concerned” about your ecosystem, because it does not necessarily have to be\nboring, especially when you have the right tools to make your life easier. On top of that, you can have your fun\nbuilding the actual tools, deftly combining business with pleasure for a change of the usual pace.</p>\n<p>As hinted numerous times, this is only the preliminary article, meant to lay the groundwork for future additions\nexploring individual pieces in more depth… We are already looking forward to writing those, so keep your eye out!</p>","fields":{"slug":"/application-cockpit/architecture-intro/","tags":["auto1","Engineering","Architecture","Cockpit"]}}},{"node":{"id":"89a8474c-7217-53ee-bffa-b7a1d7f79b26","frontmatter":{"category":"Engineering","title":"The OpenAPI journey","date":"2021-11-22","summary":"A story on how OpenAPI helped AUTO1 Tech to move forward faster and in a more structured way.","thumbnail":null,"authorName":"Mariusz Sondecki","authorDescription":"Mariusz is an Expert Software Engineer based in our Szczecin office","authorAvatar":{"relativePath":"pages/openapi-journey/avatar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQDAQX/xAAXAQADAQAAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAGbumAap5ikb5hWqFs3/8QAHRAAAgEEAwAAAAAAAAAAAAAAAAECAxETIhIyM//aAAgBAQABBQJ7KyiZB+eTXkVOkRpX/8QAGREAAwADAAAAAAAAAAAAAAAAAAERAhAx/9oACAEDAQE/AVIRmPHr/8QAGREAAwADAAAAAAAAAAAAAAAAAAERECFB/9oACAECAQE/AXaaHzH/xAAdEAACAgIDAQAAAAAAAAAAAAAAAQIRMUEhUWGR/9oACAEBAAY/Ar1dFxbNkpdSOHZgf0XphH//xAAcEAEAAgIDAQAAAAAAAAAAAAABABEhUTFBcZH/2gAIAQEAAT8hdJaGSDyw7NxOoAXu4myepjz9sxM4YXnC4zJPSf/aAAwDAQACAAMAAAAQsAe//8QAGBEBAQADAAAAAAAAAAAAAAAAAQAQESH/2gAIAQMBAT8QHFxNnbf/xAAYEQEAAwEAAAAAAAAAAAAAAAABABARIf/aAAgBAgEBPxBrVD2MJ//EABwQAQEAAwADAQAAAAAAAAAAAAERACExQVGB8f/aAAgBAQABPxAeZq9WVmcC80YLiXbfcFAVSC9AmMF6FjWIaILvbd795a6UQeU/MlrKKMsHZ0Fz/9k=","width":50,"height":50,"src":"/static/84204f0ce4111c333b6172133a845a85/d2d31/avatar.jpg","srcSet":"/static/84204f0ce4111c333b6172133a845a85/d2d31/avatar.jpg 1x,\n/static/84204f0ce4111c333b6172133a845a85/0b804/avatar.jpg 1.5x,\n/static/84204f0ce4111c333b6172133a845a85/753c3/avatar.jpg 2x,\n/static/84204f0ce4111c333b6172133a845a85/31ca8/avatar.jpg 3x"}}},"headerImage":null},"html":"<h2>The OpenAPI journey</h2>\n<h4>The situation</h4>\n<p>The AUTO1 microservice landscape is growing in size day by day, with new services from a spectrum of languages being erected and usually communicating with each other by using REST contracts.</p>\n<p>In a fast paced environment, such as AUTO1, often the service providing the REST API and the service consuming this REST API are developed in parallel, by independent teams. On top of that the business requirements over the lifetime of a project evolve, thus impacting the stability of the API. Having these moving parts in picture can make the development process quite challenging, especially when aiming for high productivity, zero downtime and independent development of the client and server parts. Hence, having a clearly documented and language agnostic API is vital for the success of the whole process.</p>\n<h4>The light at the end of the tunnel</h4>\n<p>After extensive research, we found a great candidate seemingly accommodating all the aforementioned requirements - OpenAPI. In short the OpenAPI specification defines a language agnostic standard allowing to describe REST APIs in a human readable form, imposing a unified structure, clearly and comprehensively aligning expectations between the consumer and provider sides.</p>\n<p>Below is an example of such an API described using the OpenAPI 3.0 standard:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a7f250f18c1768e91dfab8b2437f95a5/5d76c/img1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 91.375%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAIAAADUsmlHAAAACXBIWXMAAAsSAAALEgHS3X78AAABR0lEQVQ4y41TCXKDMAzMc1Ks2xeQNjT//1RlKCFHp7AjGxm86D5NGS+Jayk555gyIoWuC/8CABbl1Bt+JiyJxj6mZCyM67d9sl+9FahJJMaYk28icpTcBahuvEYk6maEPWxk14uGa3XLeY22e8ffZGKaSpOoJKrsTov6Yv5VlycR4Yq7fvJVFNyymrAQO93FuCnmZ3I7gAgPwPV48uXVGgxTVFNZfhkWv2Av5shYFSKFJGiMql6tw9keI3ids1JW9B+FLnTHmwQhfFW59mnsk5e5hfMgO2QhnDJMlS5VchRWIkGStiPhDtm1ocS+FrPoGXe3N9l1m5rbMZdyPn8caa9Xy71Bnz3NFo7hqbcHg9tg1sgdLPV/aop2+fW8DYbCd2WP3NOtrauw5Yw3QYL55ZzFNrIPg5E4jNnKcPGmnefiTcLTfif/APHyvwWxcOnkAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img1\"\n        title=\"\"\n        src=\"/static/a7f250f18c1768e91dfab8b2437f95a5/40fad/img1.png\"\n        srcset=\"/static/a7f250f18c1768e91dfab8b2437f95a5/707e9/img1.png 148w,\n/static/a7f250f18c1768e91dfab8b2437f95a5/649e0/img1.png 295w,\n/static/a7f250f18c1768e91dfab8b2437f95a5/40fad/img1.png 590w,\n/static/a7f250f18c1768e91dfab8b2437f95a5/b3fef/img1.png 885w,\n/static/a7f250f18c1768e91dfab8b2437f95a5/301c0/img1.png 1180w,\n/static/a7f250f18c1768e91dfab8b2437f95a5/5d76c/img1.png 1600w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 1. OpenAPI specification example</em></p>\n<h4>Design first, code later</h4>\n<p>In general, we distinguish two approaches when developing APIs. The code first approach, which is basically about developing the source code fulfilling the business requirements and afterwards, optionally, generating the API specification from it, which for OpenAPI can be done using the <a href=\"https://github.com/swagger-api/swagger-core/wiki/annotations\">swagger annotations</a>. The second approach known as design first, is all about describing the API in a human readable language first, by using for example the OpenAPI specification, and then optionally, based on this artifact generating the source code for server and/or client. Naturally, both approaches come with pros and cons.</p>\n<p>As previously mentioned, in AUTO1 it often happens that changes that are being introduced in the API on the server side need to be implemented at more or less the same time on the client side. In such a situation, if the code first approach would be practiced, the consumers would need to wait for the server side implementation to be delivered before starting their part, that would be simply inefficient. Here, for the rescue comes the design first approach, where from the moment when the API specification is agreed upon, both server and consumer side can kick-off their side of the implementation, independently. Additionally, this allows to spot misalignments already at a very early stage, and rectify them before the actual implementation from either of the sides is started, hence less expensive to fix.</p>\n<h4>The ecosystem</h4>\n<p>The OpenAPI comes with a rich ecosystem, from UI tools such as <a href=\"https://swagger.io/tools/swagger-ui/\">Swagger UI</a> allowing to visualize and test ad-hoc the specifications to <a href=\"https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html\">AWS integration</a> providing a fast lane to expose the specification via AWS API Gateway.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/3434af62ba0a90ef3305143d041e0a9f/5d76c/img2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 67%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsSAAALEgHS3X78AAABWUlEQVQoz43QS0/CQBAA4P5SUVE0Gh/xYOI/860RQjx5VIgRi9SWUvb9mNktilujNytMvsMcZnZnJkJJxo/tJB4M4wEp8hL0p7cztN5qZ2Qdq5gDEznNxPABRBESVAQV9YZ5w0v7txmIUEbzERoZgZEse5XT1Iqp07Sipk7mdbwuAicyZ0XkQPEiCd+WqEtQFStKQ+tIkslpZtgYTdWss1HMxu8oKchq7PCQM7zOOBnmyRsvMqtFpDg5OT7a2d3cO9jaP9xuba41GyvN1Vqt5urGeqPVbAyen8LO4r591W1fdDuXQef2vH1z9o+769O767POzSkjeRjboObzDz+fl79mi336mYMo7C2L4WT0rEmCIgW+GIqMpi9W0upnUCRcwttAOMuXgYaGS0eASAhV2gRaGwtgARcKdYgYOe8nk0nyHVmaMsb4cvHTHMdxr9fr9/shCc10uQCAL5G0uXhSdaMzAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img2\"\n        title=\"\"\n        src=\"/static/3434af62ba0a90ef3305143d041e0a9f/40fad/img2.png\"\n        srcset=\"/static/3434af62ba0a90ef3305143d041e0a9f/707e9/img2.png 148w,\n/static/3434af62ba0a90ef3305143d041e0a9f/649e0/img2.png 295w,\n/static/3434af62ba0a90ef3305143d041e0a9f/40fad/img2.png 590w,\n/static/3434af62ba0a90ef3305143d041e0a9f/b3fef/img2.png 885w,\n/static/3434af62ba0a90ef3305143d041e0a9f/301c0/img2.png 1180w,\n/static/3434af62ba0a90ef3305143d041e0a9f/5d76c/img2.png 1600w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 2. Swagger rendered view of an OpenAPI specification</em></p>\n<p>Another very helpful set of tools are the <a href=\"https://openapi-generator.tech/docs/generators\">code generators</a>, that can generate client side libraries and server side stubs from the OpenAPI definitions. These extendible generators support a variety of languages and frameworks, which lets one move faster, especially in a polyglot microservice environment. For our Spring Java applications we have decided to go for a <a href=\"https://openapi-generator.tech/docs/generators/spring/\">generator</a> that is very well configurable and easily customizable. It can be executed in various ways such as via cli, maven/gradle plugin, etc. Since our Java projects use maven for the build automation process, the maven openapi generator plugin was the natural choice for us.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/aae6f743e2adb089391e73f024c93246/418da/img3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 43.916913946587535%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAsSAAALEgHS3X78AAAA+0lEQVQoz4VRi2rDMAzMb622FMcvWc7DTtKuLaP//xtTuq0wEqg5hLC5O+ncMNn7OQ05REqJcyTmFMY+eG8BTft3NOAeTdeZc43XlWud1qXMdcyZc06iJXoUbYo2hu6YLKpziZclUfTSm05M4KRAadBaKipAqcdkeRDhy5LF0PkQAsXoRAUAAY45/8gy+W0lIfuQcvLetR8KTnrzf0921khma6GpD9bZ5zFy6ZyRFZTeA3/QyEoa8TLT48qP21hrmaZpmce59HPtmVli+w0vsUB6Ij9kx+QacS9D+PrkpQRrt1S3gTVuUAjY7oAvNJKWfFUiKyG9XfIF9azf37eKwn0eyZ8AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img3\"\n        title=\"\"\n        src=\"/static/aae6f743e2adb089391e73f024c93246/40fad/img3.png\"\n        srcset=\"/static/aae6f743e2adb089391e73f024c93246/707e9/img3.png 148w,\n/static/aae6f743e2adb089391e73f024c93246/649e0/img3.png 295w,\n/static/aae6f743e2adb089391e73f024c93246/40fad/img3.png 590w,\n/static/aae6f743e2adb089391e73f024c93246/b3fef/img3.png 885w,\n/static/aae6f743e2adb089391e73f024c93246/301c0/img3.png 1180w,\n/static/aae6f743e2adb089391e73f024c93246/418da/img3.png 1348w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 3. OpenAPI generator plugin configuration example</em></p>\n<p>The code generators have become pretty fast a very prominent tool among our developers, for various reasons:</p>\n<ul>\n<li>\n<p>They immensely reduce writing boilerplate code required for setting up the communication channel with the REST APIs, hence letting the developers to focus on the business code rather than the glue code.</p>\n</li>\n<li>\n<p>They generate repeatable and consistent code of the API model and related REST client definition.</p>\n</li>\n<li>\n<p>Being highly configurable, they can be used out of the box and fine tuned without writing a single line of code in many cases. A good example here could be the Spring generator that allows us to define things such as the time API to use for the generated code, whether to wrap optional parameters in a Java Optional container or whether to use any framework specific features such as Bean Validation 2.0 from JSR 380.</p>\n</li>\n</ul>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d836f12eedc71eca7c971d867e21f632/4d49e/img4.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 20.726495726495727%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAAsSAAALEgHS3X78AAAAnUlEQVQI113PSQ7DIAwFUM4V5mAwQwYaSIdIvf816rSLSpHe/ztbNpsy7BVvi9/WkJPTWhujpVRcyIvhiwv1a8LA2baGZ8NXj4+GvYZWQ8TRgacQS4EAbkRvnTMeLAGwxhomlVonf+zx6PHYE/X7kXrFlDPGdKLkUnKYs0vRlXSaC9A8mxLcN6TLtyXU2dPNSinaOHDBuRj+5AU98gHBhUAhdRdZ1QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img4\"\n        title=\"\"\n        src=\"/static/d836f12eedc71eca7c971d867e21f632/40fad/img4.png\"\n        srcset=\"/static/d836f12eedc71eca7c971d867e21f632/707e9/img4.png 148w,\n/static/d836f12eedc71eca7c971d867e21f632/649e0/img4.png 295w,\n/static/d836f12eedc71eca7c971d867e21f632/40fad/img4.png 590w,\n/static/d836f12eedc71eca7c971d867e21f632/b3fef/img4.png 885w,\n/static/d836f12eedc71eca7c971d867e21f632/4d49e/img4.png 936w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 4. OpenAPI generator plugin configuration example</em></p>\n<h4>Retrofitting OpenAPI</h4>\n<p>Despite the vast configuration possibilities offered by the OpenAPI code generators, in order to integrate OpenAPI into our AUTO1 development world seamlessly and make the generated API and models classes adhere to our coding standards we needed to extend the default Spring generator that we’ve decided to go with in first place, to include some AUTO1 specific code structures.</p>\n<p>To be more productive, concise and spare some boilerplate code we use in AUTO1 the Lombok library, a lot, hence we couldn’t afford not having the Lombok annotations included in the generated classes as well. To follow the OpenAPI generator practices, we have added a configuration property to control enabling and disabling the usage of Lombok annotations:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/999410ded404fcb4052d4d6c6aa41d84/01d07/img5.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 18.580375782881003%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAAsSAAALEgHS3X78AAAAmUlEQVQI11WObQ7CIBBEey0FCgX2g9ZELa223v8gDqkxmsyPYcPbfd1W9TnLcuP1LjkNIfgQgrHubOyR1q07GUz+YlzfXUoCti9txWst2LVVEc4sqlq0jJmEhaeSiiARZdRWvPcdHgAAb0jVxyzINFJMBJ5FUDJl/BaKwpEoKkemocE4i5v12rRVYu+btnX91/zQ/tj+FGi/AQntQF+49FjdAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img5\"\n        title=\"\"\n        src=\"/static/999410ded404fcb4052d4d6c6aa41d84/40fad/img5.png\"\n        srcset=\"/static/999410ded404fcb4052d4d6c6aa41d84/707e9/img5.png 148w,\n/static/999410ded404fcb4052d4d6c6aa41d84/649e0/img5.png 295w,\n/static/999410ded404fcb4052d4d6c6aa41d84/40fad/img5.png 590w,\n/static/999410ded404fcb4052d4d6c6aa41d84/b3fef/img5.png 885w,\n/static/999410ded404fcb4052d4d6c6aa41d84/01d07/img5.png 958w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 5. OpenAPI generator plugin configuration example enabling lombok annotations</em></p>\n<p>The above setting would result in generating the following annotations in the output classes:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e1b5aba9483f31ed3b66d79733319b8e/7a5fe/img6.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 253px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 65.61264822134387%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsSAAALEgHS3X78AAABoUlEQVQoz4WS+Y6bMBjEeZ3GxhcJZ3BYHJssMYQ7pbnarVr1/Z9gzbJdVdpEHY3mD5vx97OF1aTOr5wMgjVPOArDqj2Ol5dhvMosV1L6S4zwJPI3ySw6yRIRqxKqIpoGxHVXT0Jmu71Uu2jNeRzHYeB5gR+Gnh8EgUl/uZq0dBzTt1rh/NHkuKVNgqMoqrpxvP4cTje1y/OyPv343fRj1RqUl/7rpRm+PetKSpWuXYSJxRh1GDX5jvImw8XMEqVzzphzvq/P2BjT2WaLMfpJhD6W9f0Gr+cvQwfTFC0AM0d8nPVfWWWB9jkUKTLleI3XkXlzc3m8Wk0g91j+KQ8d6N/c1PA4gLKwywKeTwvfIwAw22aG4mG5bWDfgvzZ/vA+n1JuUaYMlL3h+NEVprIZaL7WGpqZWpsmzJSttsj0Cw3DED8abp1PdtcBqey2AXUF6xoeDvBQQp0DvV8UGrQ18Lz7w63dlqgNFtyYKIFlMllwxDeuVFEqgk2ycj2P3GtbbUJvGe1T84dR7tIhpVfF6hjxRDTDRR/6IOQxTzBCn5/+FZNLsCJTQJfiAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img6\"\n        title=\"\"\n        src=\"/static/e1b5aba9483f31ed3b66d79733319b8e/7a5fe/img6.png\"\n        srcset=\"/static/e1b5aba9483f31ed3b66d79733319b8e/0376c/img6.png 148w,\n/static/e1b5aba9483f31ed3b66d79733319b8e/7a5fe/img6.png 253w\"\n        sizes=\"(max-width: 253px) 100vw, 253px\"\n      />\n  </span>\n  </a>\n<em>Fig 6. OpenAPI generated lombok annotations</em></p>\n<p>Sometimes the need arises to define custom annotations but only on some specific classes, for that purpose we have introduced a new attribute to our OpenAPI specifications called x-extra-annotation, that hints the generator to add additional annotations to the generated code. For example:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/3b7200d2b5bdbad6cc73dd1ec7eea01b/c59f2/img7.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 42.0654911838791%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAsSAAALEgHS3X78AAAA90lEQVQY011Ri3LDIAzLdwX8DGBIclm3dv//KzOkbbbdCSL7EJHMFAC3hHfDW6GibIpZsAgQ8RwhRgwRQsQ4EJ4YHcDJxUhcitQqLdPWZK26b5ps0Sy8iDZVE04sjixiKl5mjjjESngYW7P981H3g0SAGZlI2A2QOiEvO6Tzsxx/jpgEvxseme6rWNIQ3C2cPv3EfxKvzuTL9XXBR8WPgqsl1gwos2dzAUC4ol6x+12n2AHQlTfjVu3r2Pfmd8DSHTIrk0fwXQf3ziJP22+xMo5Rgwm4EUdysYr6R31anfjeR5i1i+NL3M0DzsPS/Asx/rH9fqoz8w9383gSSHlPaAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img7\"\n        title=\"\"\n        src=\"/static/3b7200d2b5bdbad6cc73dd1ec7eea01b/40fad/img7.png\"\n        srcset=\"/static/3b7200d2b5bdbad6cc73dd1ec7eea01b/707e9/img7.png 148w,\n/static/3b7200d2b5bdbad6cc73dd1ec7eea01b/649e0/img7.png 295w,\n/static/3b7200d2b5bdbad6cc73dd1ec7eea01b/40fad/img7.png 590w,\n/static/3b7200d2b5bdbad6cc73dd1ec7eea01b/c59f2/img7.png 794w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 7. OpenAPI specification with java annotation hints</em></p>\n<p>The above attribute would result in generating the following annotations in the output classes:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/15371fc83c17be4c4f2aed0b11ea5ead/49981/img8.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 239px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 80.3347280334728%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAAACXBIWXMAAAsSAAALEgHS3X78AAACXElEQVQoz3VSaW+jMBDlr6y23Sox+MoBJQZzmJsEDIHcaqr2Q///L1i7h9R2u08jCwa/mTdvMI4HUm/aaiPDOIlEtmn7tGiTBI1bsFmb69psGx29NFcrhBD5DGMcaFa2WdnwUISxKOtN3QxRSDsJqtJKE7iurTy3VBXHwRh/JT89Ts7H221/E4XT6QSaJrBMy7IIANSydJjm+/mNqcnNxlTlA449D9s2WS5V0OUCLxaYUvI5/oXx/DQZB3DYTfsOnE/Tba/VXh8mVWmqbghRCCkmP8PopKluF7nFfRRFUAgYhfr0PcRWSJ0eQ/P5f8iqyeU0UWZuO3A6TpUxwxbI1lTllBbtcwfUtPin7sZ+BHVpJQLWlVVkylWt4i2yDGYpqkooYjSj7/hK3k+z3EozvQ8pwXoN8sIsSjPPlZGTNLkrsruAT9UKIIQIQqxs+ChhbAPymJKek44TNkPSw7uQjBz6rtuOVzk87s4vdbOX28NweBiP1yjOgzB+27iRMhLfE9/BwqOuPfcdkjAqVtR1lsznSRqlec4Dnwfc5yrBXNd2nHvyaoEBMZkAGkbgcmXD+aUdT35SVXK3O12zou7k74fLr17ejcPtMNzsdzeH/R8ILYT1j2qoAZSE5RwLfx4zm7uLxJuvnGWUZCLNPd+LBVsu5p57zxkLPT9gnmuzlcOUhQbSJhBuk6PAMoBHga45Sl1YrGXdyKJq95fnIEjqqBvKyyYZyqipRd+ljWdTIxKpml7Z97ZMFQjriZSrCvg1pdWphEphnXl1S1M0WamnnzD79jibfbzMvnyk9C8cUt6lafmjgAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img8\"\n        title=\"\"\n        src=\"/static/15371fc83c17be4c4f2aed0b11ea5ead/49981/img8.png\"\n        srcset=\"/static/15371fc83c17be4c4f2aed0b11ea5ead/a9a92/img8.png 148w,\n/static/15371fc83c17be4c4f2aed0b11ea5ead/49981/img8.png 239w\"\n        sizes=\"(max-width: 239px) 100vw, 239px\"\n      />\n  </span>\n  </a>\n<em>Fig 8. OpenAPI generated extra annotations</em></p>\n<p>Generics is a very powerful feature that is available and widely used in the Java language for almost two decades now. Unfortunately, as of the time of writing of the article the OpenAPI does not support out of the box <a href=\"https://swagger.io/docs/specification/data-models/inheritance-and-polymorphism/\">inheritance</a> together with generics. To make it available to our developers we have introduced yet another attribute in the API specification named x-make-parent-generic specifying the genericType sub-attribute that indicates a generic type of the parent class (in this case PageDTO):</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5ad75253da4419e8bcbaa02dd019b052/356aa/img9.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 57.06214689265536%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsSAAALEgHS3X78AAABMElEQVQoz4VR2Y6DMAzkb0qSScDk5Aq09JL2//9nDVRtH7ZbK4cVZTz2TKGUSqQuEeeI0eEcMHkdajVaOTaiI0mVllL9GcV+RcI94RTUNYELZYeld5fcHofoGpIf0DsYvVU/HWavE2GyGKyumpD63I1zY72U4oXY6uzVCj5thSXgGIzWphT8EbxkKcrDgRfTQuEJA8CJNoBGsT0rATM4zeTJVoZ06KjNPmUfRxcH67sm9E3Kax56287re22rtW3GQ5tAmge2tQndOC3XYZpNZaR6mxZq74A5XzNvjbDmuLer1DnS0lvv3OPv53iAOcgonpzx2apbZCF0yQJ8cundKsYLuSo3ezZMZ7Y6eGoc1fSNecv0ho9b81RXach5Oub5BOAL81MRblPsTgqOkvc/zL/yGnlteNMNWAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img9\"\n        title=\"\"\n        src=\"/static/5ad75253da4419e8bcbaa02dd019b052/40fad/img9.png\"\n        srcset=\"/static/5ad75253da4419e8bcbaa02dd019b052/707e9/img9.png 148w,\n/static/5ad75253da4419e8bcbaa02dd019b052/649e0/img9.png 295w,\n/static/5ad75253da4419e8bcbaa02dd019b052/40fad/img9.png 590w,\n/static/5ad75253da4419e8bcbaa02dd019b052/356aa/img9.png 708w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 9. OpenAPI specification with java generic type hints</em></p>\n<p>The above attribute would result in generating the following generic parent in the output classes:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/c7fb92492525b6a3a247d7599896a9d1/ac3f0/img10.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 414px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 19.565217391304348%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAAsSAAALEgHS3X78AAAAj0lEQVQI142N0Q7CIAxF+SNpCxOGwBhOxxY2NdmD//8jIpvvnrTNze1tysygpBZISBJJYBHwN0ycSUdlU2vuWgdlrqq4nPMyoPahKvwH1ABrjBTN8a44iF+Jlf0G9yIqWyJBFagxtkXIDvoWFs+TBed8jIPvgrXeujBe4BVgcacY++f2TnNO83obpyk/rO8+KvczSO2jpckAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img10\"\n        title=\"\"\n        src=\"/static/c7fb92492525b6a3a247d7599896a9d1/ac3f0/img10.png\"\n        srcset=\"/static/c7fb92492525b6a3a247d7599896a9d1/441d5/img10.png 148w,\n/static/c7fb92492525b6a3a247d7599896a9d1/51e4c/img10.png 295w,\n/static/c7fb92492525b6a3a247d7599896a9d1/ac3f0/img10.png 414w\"\n        sizes=\"(max-width: 414px) 100vw, 414px\"\n      />\n  </span>\n  </a>\n<em>Fig 10. OpenAPI generated extra generic parent inheritance</em></p>\n<p>Yet another limitation of the OpenAPI generator, was that the key of a generated Java API Map needed to be of type String, this was something that was not sitting well with us, hence we’ve extended the generator to support custom key types via the x-map-key attribute like so: </p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7b004dd68dfa6c4824101f30b8f6a9b6/12f07/img11.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 40.55944055944056%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAsSAAALEgHS3X78AAAAy0lEQVQY05WQC2rDMBBEfa5K+5nVz3aciKSB3P8mWdmlkEChgdGyGvS0I02Xwt8z3xonQyCOn2hSGeRjlTkpEX2F+AEcImPne0Nb1jqfWBEi/Qv2RTzgrSXLJZeCZAIVQFRHr/h7MnExj823xdSKwtx9eXzk8C7y6v50nPBv2you5205nc2QlUWUoWpD4sKoejhp3yr22MTXxveZ7y1umXsd/VohBmRDgZ92BhmHrNi48YBdBc5Lq7n3a+9dfK64LyHQ0G/a0f84HvsJqAh39WRMt/4AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img11\"\n        title=\"\"\n        src=\"/static/7b004dd68dfa6c4824101f30b8f6a9b6/40fad/img11.png\"\n        srcset=\"/static/7b004dd68dfa6c4824101f30b8f6a9b6/707e9/img11.png 148w,\n/static/7b004dd68dfa6c4824101f30b8f6a9b6/649e0/img11.png 295w,\n/static/7b004dd68dfa6c4824101f30b8f6a9b6/40fad/img11.png 590w,\n/static/7b004dd68dfa6c4824101f30b8f6a9b6/12f07/img11.png 858w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 11. OpenAPI specification with custom map key definition</em></p>\n<p>The above attribute would result in generating a map with a custom key type, as depicted below:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/226341eb51cab1bfc49da67dd191bcdb/4c1fa/img12.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 410px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 55.36585365853658%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsSAAALEgHS3X78AAABHklEQVQoz5WSy5KDIBBF/Z7xAc1DEBCHaKKCoib//y9DzGI2UzUJRVG94Jy+BZ3pvqk1AwDCCHy4MlZTNYh2VvoqKaeAP4Gl4VwxQoBQIB/2zu5H5eey5hhjwGfb9xXZvhVxLYIv56l8WmpcVW/DjyO/H3lcii0WS3gqprHkZ5A3Yt/LEIp9L2KCl2Ke8jV82bZE6H86Wx3EDrsGgoXQ4tvsl7iPPmhjMf59iL9hisFZlGKHuQxj7nrTXb/bXtlB20GpTrROU8pQSoIxwuhlRKc0qxBoAbHHj6G6Oe7jMXoftt2vsR8u1nXLdoxzMMZezBAusVVON2wyYET650alyRAM0uaECNkIIV9nzTljTJ41pbRmQvKGp6miINNlCj8F3oveXsuroAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img12\"\n        title=\"\"\n        src=\"/static/226341eb51cab1bfc49da67dd191bcdb/4c1fa/img12.png\"\n        srcset=\"/static/226341eb51cab1bfc49da67dd191bcdb/cd363/img12.png 148w,\n/static/226341eb51cab1bfc49da67dd191bcdb/45083/img12.png 295w,\n/static/226341eb51cab1bfc49da67dd191bcdb/4c1fa/img12.png 410w\"\n        sizes=\"(max-width: 410px) 100vw, 410px\"\n      />\n  </span>\n  </a>\n<em>Fig 12. OpenAPI generated map with a custom key type</em></p>\n<p>As mentioned at the beginning of this article, our Java services are using the Spring Cloud stack with declarative Feign REST clients, originally the <a href=\"https://spring.io/projects/spring-cloud-netflix\">Spring Cloud Netflix Feign</a> module was used for that purpose, however, with recent upgrades to newer Spring versions it was replaced by the <a href=\"https://spring.io/projects/spring-cloud-openfeign\">Spring Cloud OpenFeign</a> module that resulted in changes in the imported packages (import org.springframework.cloud.netflix.feign.* was replaced with import org.springframework.cloud.openfeign.*). So we ended up in a situation where services use either the old Feign clients (located in their respective packages) or the new ones, yet share the same OpenAPI specification. To support both cases we made it configurable for consumers to go with either one:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/78a40c0a233e8d409fc7e7a34f5db8bf/12d02/img14.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 12.253829321663018%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAIAAADXZGvcAAAACXBIWXMAAAsSAAALEgHS3X78AAAAYUlEQVQI1xWMBwrDQAwE/TOfmlVOl+CaGP//H1FgGAYWdgqjz6bXpueq+3tBbIQNAJCYWMpVgEgIwlATExQVrc2TCj6nfXe7j7KuLwnD7hI5eqZHL9Q8nUfndMrgEf+urx/0PSGb9SaRqwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img14\"\n        title=\"\"\n        src=\"/static/78a40c0a233e8d409fc7e7a34f5db8bf/40fad/img14.png\"\n        srcset=\"/static/78a40c0a233e8d409fc7e7a34f5db8bf/707e9/img14.png 148w,\n/static/78a40c0a233e8d409fc7e7a34f5db8bf/649e0/img14.png 295w,\n/static/78a40c0a233e8d409fc7e7a34f5db8bf/40fad/img14.png 590w,\n/static/78a40c0a233e8d409fc7e7a34f5db8bf/b3fef/img14.png 885w,\n/static/78a40c0a233e8d409fc7e7a34f5db8bf/12d02/img14.png 914w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 13. OpenAPI generator configuration with OpenFeign code enabled</em></p>\n<p>Another shortcoming of the default OpenAPI Spring MVC generator was the lack of support for making the generated classes implement specific interfaces (using the “implements” keyword), as of version 4.3.1 only the “extends” keyword was supported. We have overcome this limitation by introducing a custom attribute x-codegen-implements allowing us to specify a number of interfaces the generated class should implement.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d754a293adc061f24006aedefc0d5199/d8b42/img15.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 71.93548387096774%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAAsSAAALEgHS3X78AAABh0lEQVQoz41S23KjMAzNz2zji2wDxvjKnYSk7e5D//9jKkOzaWfSaTViEGaOdI6OD0GL1cHZwdWLkxOmUozxX8aBcggV38D84iUIiadwix/AUgjKeFfzlygJKMoYo5SQIzkesfgBvE8QgHgYG1EpUWrjY+tCwoLmZnzPB2B8BACSbwr+L0Ey0ju/LKdxnINtFLBC8lLyQj6QcBBCbNrAlnk4Kn91ZNFPQf159fTi4a0TzwFGV+A64FN8TP7/jY1CbKdlje3QDlPqRzwjOSjdFkFztSe9a76hwcc0n59j28VumE6r81Hr2lpfVRX2baxvrDONqxt7p70TwdKHOM2nEFNM3Tif234MqZuWC2KwVz8t2BNPQuw+wHlhDEYDfyOsls01uVjWG4kWIsPsHM22oXlZwJ6U3CeLbWeD4WtQXKq8CM43y7NX+3rga3yhjX/RlaERUYtSCVWUSBVT14Z9c2PvYHwRBqbgVw9RS21santUiLI3kvD4knwmgzqPKJVlyuTm0nfX8x2Rk5x4tpj1LQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img15\"\n        title=\"\"\n        src=\"/static/d754a293adc061f24006aedefc0d5199/40fad/img15.png\"\n        srcset=\"/static/d754a293adc061f24006aedefc0d5199/707e9/img15.png 148w,\n/static/d754a293adc061f24006aedefc0d5199/649e0/img15.png 295w,\n/static/d754a293adc061f24006aedefc0d5199/40fad/img15.png 590w,\n/static/d754a293adc061f24006aedefc0d5199/d8b42/img15.png 620w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 14. OpenAPI generator configuration with custom interfaces</em></p>\n<p>The generated output for the above configuration can be found below:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/39a7721d4f479f53c1a0c726480ea48c/3abe0/img16.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 447px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 48.32214765100671%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAAsSAAALEgHS3X78AAAA6klEQVQoz52QwXKEIBBE+SCJDDOI4mKMiiKg+f+/Cex6SE4pd4pDz1R1vW4YtSQEgIQ3hrVjY73RVoG4b1YdyrewxZxipXWBIkLOL+7w2fdZnWcVAz9SRXSvPMvOI/EUud94DNXqquzP+JICXuKaX/K5CmD7+pECTzsPnu87xkC9kSRBEzQIRKhUQ0hESiKqpsmCVH7lwIKFQYN/wNyKcV6dT5Ptoq3PTxke9TSYfFmcX9zaG7OFY1n97PbJjcMXMvmEaBSKUOu2IDBLvIL+6fi6wVUidzaqYAvEdssWpsWN/TR0Roj63w/7AXQofA9Nj9+NAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img16\"\n        title=\"\"\n        src=\"/static/39a7721d4f479f53c1a0c726480ea48c/3abe0/img16.png\"\n        srcset=\"/static/39a7721d4f479f53c1a0c726480ea48c/64cd7/img16.png 148w,\n/static/39a7721d4f479f53c1a0c726480ea48c/5cfb8/img16.png 295w,\n/static/39a7721d4f479f53c1a0c726480ea48c/3abe0/img16.png 447w\"\n        sizes=\"(max-width: 447px) 100vw, 447px\"\n      />\n  </span>\n  </a>\n<em>Fig 15. OpenAPI generated class implementing custom interfaces</em></p>\n<p>Teams often run into the situation where they have to use multiple OpenAPI specifications to generate the necessary contracts to communicate with the upstream services. Unfortunately, the org.openapitools:openapi-generator-maven-plugin requires a separate configuration for each specification, which was a bit too verbose and too cumbersome for us.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/8de608c76b8f364a46c3b5bc27945bb0/b0a39/img17.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 110.11699931176875%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAIAAABPIytRAAAACXBIWXMAAAsSAAALEgHS3X78AAACdklEQVQ4y41UCXKjMBDMb2JACN0HCIG4bOeq/f9rtmXjjZN1andKJSjQaHp6euZJCbolFVtujHZtsK51Tvet1JLXNW1ozSihNake2VNZVr3nb4uZorW+M9ZZ65y3xhiltNWsNQ0C4NgDZ1IRSknwfAySNQ2ldU3K5+eiKEoY9stL9TgyIQS/4A9nADY5ImNNTXaryGPIN2c8EG4d5BSlUFoIbmRd5bDFAeuwo7hZVdyQ7M7Y+5a/LuaYZOdzsgqZO9M5GTvtjKgppU02gOKsvsJ5uoLDVfj6vpq31czLHIY5pXRe+9djjL031kogkgrmdNNaBv4RfnfGNYLVx6S3EeBN19psmnWWeg0Sq8PhkNPIVh5uuD9hY+8sW0e1DHIdBAAbH2xerfeu83oMIrYiOG4U/cw5U1oRXN059r7Zl8UA/zZ3MS1DmvshrZM/Txq4Xhbk35Tf2EbCQ8dfZgXOkZJVDKz8VN7vpZqjfFshLgVJomyHn4XxwPkiEoXctNZGQ2e7Mshl/cMZW2cbkMGFlkqiHvhSVjl6eX3cGfk7MkjeRoUmQc1oFjkUQdFSgtcNJfca+6Kwq0jg876Zj6Nd16kf5yFN2zKcN8gl9KHVBn1mIX1vePT8SuensxT018nBf136PsL6KSq0evAMXV2W+UxZ7aIgX+pMCEhGtU65nuqUZGgh8DbPBu8hNmdl37LgWAeRyOYO9uUyiCRPlVHNMVc7RQeFxHEKcZxHBwj4dUoQCfvTpDthRVkJnucRIqcgx05AJ3kKYTUQDOVNfe2nOjfr3RgCmSkI9BPmieRoGFI+sOq+k3dno5rzrFFhsF1c5s5/SGu33z+Y/g5lFP7GAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img17\"\n        title=\"\"\n        src=\"/static/8de608c76b8f364a46c3b5bc27945bb0/40fad/img17.png\"\n        srcset=\"/static/8de608c76b8f364a46c3b5bc27945bb0/707e9/img17.png 148w,\n/static/8de608c76b8f364a46c3b5bc27945bb0/649e0/img17.png 295w,\n/static/8de608c76b8f364a46c3b5bc27945bb0/40fad/img17.png 590w,\n/static/8de608c76b8f364a46c3b5bc27945bb0/b3fef/img17.png 885w,\n/static/8de608c76b8f364a46c3b5bc27945bb0/301c0/img17.png 1180w,\n/static/8de608c76b8f364a46c3b5bc27945bb0/b0a39/img17.png 1453w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 16. OpenAPI configuration with the default openapi maven plugin</em></p>\n<p>In order to circumvent this issue we have created our own maven plugin The main aim of it was to reduce the boilerplate configuration, yet keep the flexibility of the original plugin:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a8f9327908550a8523a8deb230d330fa/5d76c/img18.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 69.0625%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAAsSAAALEgHS3X78AAABi0lEQVQoz41T7XKDIBDs20QRETgO0USN+JHaj/d/nS7VJDP90cnOCSgue3unb1LKvrXjxXomrhv2IdSuDdZqVamylMU/eMOlq/Jj4q8l9MPF1wHsENiT8gSyyLIcyHLxCCHuZChjIqOWgbZIc2/XK8XOsCPncUbN7D27ttZ7NF57l1ISOxnI8mI42+/Vb9Fvk7+NNE/DtG7XaYlx+Fzq78V/zP5r8evokOlTeUfsCHtbZLy6RTdeu36cu2Fszl3fd/M10W4j30Y39eSsQvKJnIsisIbt98jzQIEVk0KpkrsEzFgXx00uYHSv5KFcyMK7Cqd2rTXWaUPGEjn4ZksYnbWEBVPyrFTSe5LFrziUL43R2hpjtQGeC63xHPdIqlL3Bh7VBpo6Zb5eGYCsIcAhkAE0jYU27cqVkuLeZ1lVEjX4nHx/tkg+uYWz1N00HnE3/LfPSKNvzXt0ZMrTKZXnsf0/Ds+nTNRcoVsO3wS7wJV8kQwZT6nUfWOL37NKKV9V7hqDH4NdJV/jPPADTk6hFlbPAUQAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img18\"\n        title=\"\"\n        src=\"/static/a8f9327908550a8523a8deb230d330fa/40fad/img18.png\"\n        srcset=\"/static/a8f9327908550a8523a8deb230d330fa/707e9/img18.png 148w,\n/static/a8f9327908550a8523a8deb230d330fa/649e0/img18.png 295w,\n/static/a8f9327908550a8523a8deb230d330fa/40fad/img18.png 590w,\n/static/a8f9327908550a8523a8deb230d330fa/b3fef/img18.png 885w,\n/static/a8f9327908550a8523a8deb230d330fa/301c0/img18.png 1180w,\n/static/a8f9327908550a8523a8deb230d330fa/5d76c/img18.png 1600w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 17. Reduced OpenAPI configuration with the custom openapi maven plugin</em></p>\n<p>We have decided to keep all of the OpenAPI specifications in a single place - a GitHub repository. In order to have proper release management and versioning of the OpenAPI specs we have made it part of our Jenkins pipeline. Upon a merge to the main GitHub branch we pack and upload the changed, and automatically versioned, specification to the artifactory. From there, it can be simply imported as any other maven dependency and used to generate the required API classes.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7124827bd997165a9dcd229f30eb99f9/af01c/img19.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 64.93506493506493%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsSAAALEgHS3X78AAABl0lEQVQoz22Si3KsIAyG920qoosKqAvKJYBob9OZvv+7NK7dntPtZjAThD+Bj5xKSo1qX6L8WIfX2GeQ7FwRQsqbkZKS3ePGezvhV5S0berF8ecgN5CYi7GWNe2ZoTW41DU1elo+ElcVLff0NMy7fvVyic5DnKwPTm3QvaV+C7Kuq4KU9+JDf66rZHl2YgORQFmIs4FgxwDTAuMKwulOctxV/a58jbB4NCJ7AWA8wJaMs5eO93K4cCEGwfTQqKGpqz+VG1bbK7aX2Ac/9aIdRS15jcBoSegOjiJE8vfYuCC68+c2vqUBgc0XVhTF01NRXJkTQvGqGFW3M95Xxpsg0uQEFo+Wz8bq2Y5KazV63SQrYO4Oro9p4/9o+AoS2axRxSW7kGfrIPjs++wlplicGCQ7JP/Ex+GD4Qg8+SHEkLcNsc3Wq8mqSU+Iz2jMjgMmjo2E+7/vXF77BFHje6Jm0mNy3Khuz7zn/vb0iG6vdTpQ4zN85OE97x3qpxYXfxqU/u6s/+e7+NIjEo5IrG5xMFaRB438wL4ApXOao9LJCLkAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img19\"\n        title=\"\"\n        src=\"/static/7124827bd997165a9dcd229f30eb99f9/40fad/img19.png\"\n        srcset=\"/static/7124827bd997165a9dcd229f30eb99f9/707e9/img19.png 148w,\n/static/7124827bd997165a9dcd229f30eb99f9/649e0/img19.png 295w,\n/static/7124827bd997165a9dcd229f30eb99f9/40fad/img19.png 590w,\n/static/7124827bd997165a9dcd229f30eb99f9/b3fef/img19.png 885w,\n/static/7124827bd997165a9dcd229f30eb99f9/af01c/img19.png 924w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 18. Example OpenAPI specification import</em></p>\n<p>Once having the OpenAPI spec dependencies defined in the pom file, our custom maven plugin iterates over the all available OpenAPI specs and generates code for them, honouring the defined configuration.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/f10a02f1ddb743b1299bdff64086a94b/5d76c/img20.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 51.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAAsSAAALEgHS3X78AAABJElEQVQoz41R2ZKDIBDM3wQQBbnFKCpqzLX//zk7iLWbl63NVNdw9nQznCil26S/rm4aL67xzlnvndXcqFJwijEmhEACIHxMCClynIDMWRl7eY9qDWIJEnJjpdROaauN1Vo7K1rL/Q6nuajLg1xSinDRuvoxm/tsbpN+zHqZ2rhu43wdpnibm9dqnssB4BcFzeJJGfx0vs5nUOK1mHn0/RDDGNsutF0XB7+Nahv1dVDroC5NDZK7ckl7L+7RLEFlb+BCigrKl3AGSJGGtKIJrEpbh+3gk+fG8PMZI4TPiODdVUo/zcnLPHlvGEJEiSr2QmuplIGWQO031p9xAntwNXgx95IzVlUMmp9d/U+WkoVW9D69c/9D8onmQTaSATAuPqb8xjdB3XON5TSU2AAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img20\"\n        title=\"\"\n        src=\"/static/f10a02f1ddb743b1299bdff64086a94b/40fad/img20.png\"\n        srcset=\"/static/f10a02f1ddb743b1299bdff64086a94b/707e9/img20.png 148w,\n/static/f10a02f1ddb743b1299bdff64086a94b/649e0/img20.png 295w,\n/static/f10a02f1ddb743b1299bdff64086a94b/40fad/img20.png 590w,\n/static/f10a02f1ddb743b1299bdff64086a94b/b3fef/img20.png 885w,\n/static/f10a02f1ddb743b1299bdff64086a94b/301c0/img20.png 1180w,\n/static/f10a02f1ddb743b1299bdff64086a94b/5d76c/img20.png 1600w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 19. Example OpenAPI maven plugin configuration</em></p>\n<p>When dealing with a large number of microservices a common case is that they share common features, hence common models, within a single bounded context. In a typical Code First approach operating in the Java ecosystem this problem would be solved by sharing a common jar which would be then included by the interested parties. We were interested in achieving similar functionality but from the OpenAPI perspective. We achieved this by simply extracting part of the common functionality into separate specification files <a href=\"https://swagger.io/docs/specification/using-ref/\">and referencing</a> them from the individual OpenAPI specifications that would like to reuse these definitions.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/4018acea1cacb761c14c212fb99b3e8b/71150/img21.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 65.57632398753894%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsSAAALEgHS3X78AAABKklEQVQoz5VSW47CMAzkNts2dh6N82wpoAWk3fsfaCcFJGDFR62RZTUZjz3N7hj4t1LxPPSDUsCG2DHRQVgsK22YeRt5UFRHumR92lfv/dD3G8hEpKjxFw9tS8Tbxk6Ozol+qr4sOUff9f3wId7JkI2O9sLY2mBxzcbYF9hHthZK72MPimfhYzbL93VeDjHllCsQUJSaS6vXYkKXZ/11Z0Vi6BBoEoPe3VfXd694xPDfsFtg7ckzpnfBOrHOr1msHQ26q9VX9YkMw53Ruu2mbzdhfPOe1Cfz7mRcOUW6FhNzkRBZt0DGs9HaPKDvhcFz0k9kKMNzr0ZnvATwRYJfEWKUkIC1ThITjHSjh/iL8jlxTaFMexjb7M3N6jLNpc7I+IijdlrnOi34c3/dyo7FFW5PJAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img21\"\n        title=\"\"\n        src=\"/static/4018acea1cacb761c14c212fb99b3e8b/40fad/img21.png\"\n        srcset=\"/static/4018acea1cacb761c14c212fb99b3e8b/707e9/img21.png 148w,\n/static/4018acea1cacb761c14c212fb99b3e8b/649e0/img21.png 295w,\n/static/4018acea1cacb761c14c212fb99b3e8b/40fad/img21.png 590w,\n/static/4018acea1cacb761c14c212fb99b3e8b/b3fef/img21.png 885w,\n/static/4018acea1cacb761c14c212fb99b3e8b/301c0/img21.png 1180w,\n/static/4018acea1cacb761c14c212fb99b3e8b/71150/img21.png 1284w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 20.Example specification reusing “common types” stored in separate definition files</em></p>\n<p>The challenge in having OpenAPI specifications referencing other OpenAPI specifications was the dependency management and versioning part. It was especially hard from the consumer perspective, since consumers would need to include both specifications in their respective versions (the referencing one and the referenced one) in order for the code generator to succeed. The solution for this was building API bundling, by adding to the specification a meta attribute called x-bundle-apis we could make all referenced definitions to be included in a single final artifact that was then uploaded in the CI pipeline to artifactory. This meant, from the consumer perspective, that they just needed to include a single dependency now, making their life significantly easier.</p>\n<p>By default, when bundling the API we’ve always included the latest referenced specification. Since we have had cases where we wanted to give more control to the API owners to specify which concrete version of a “common API” they would like to reference, we’ve included another attribute x-bundle-imports which could be used as following:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e0131fcee2a3f97574b40e2ae71c06b3/3441b/img22.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 79.49921752738655%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAAACXBIWXMAAAsSAAALEgHS3X78AAABd0lEQVQoz5VS2Y7bMAz058QSaYm6JTvKpt2g+9T//5yOFaQ5WmB3BzQxkDUUr6k53f188nN1FGKagcMOpZT+DFMUPm/t/bR9/OillFzXum7b8WSM/VQ/WcO11LZuZe0xZdC6Ho/97UviHvj3qnvkw2FW6mrArL+ASWuqQlmYjeA1/R3s4mDpo/KllxQ8WvUNMTMpTcnSW9AislhBuJvB0d3+Hj6Ks6NL5l/V/Gy+5YDiMS58an7FSwsnhJSF0DZn2JjFWutC9D46H8R5v/PgQxg+GiuP+omIFHESPqVl62dMGKuCmcHj9pUMn+FF3JMYaaMSt9B7IugN00j7/3hNmwaQfHNUHQbGEowEK95ItFdyfeDWs3/FGmVTC8tep/d0u0z3y0qrYXrfoUEeX/Z0TgytuLCP6BaUiOkZjEyIn8Q90qVwCRJzzbVhzXOBx+KvWPhSN+w9OH6VhpMVqru4CB0DRS9Dk+NoL1qNKMNqSDuJ4GmP65z/A+qusDEcXT6KAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"img22\"\n        title=\"\"\n        src=\"/static/e0131fcee2a3f97574b40e2ae71c06b3/40fad/img22.png\"\n        srcset=\"/static/e0131fcee2a3f97574b40e2ae71c06b3/707e9/img22.png 148w,\n/static/e0131fcee2a3f97574b40e2ae71c06b3/649e0/img22.png 295w,\n/static/e0131fcee2a3f97574b40e2ae71c06b3/40fad/img22.png 590w,\n/static/e0131fcee2a3f97574b40e2ae71c06b3/b3fef/img22.png 885w,\n/static/e0131fcee2a3f97574b40e2ae71c06b3/301c0/img22.png 1180w,\n/static/e0131fcee2a3f97574b40e2ae71c06b3/3441b/img22.png 1278w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a>\n<em>Fig 21 .Example specification using pinned versions of “common types”</em></p>\n<h4>Challenges ahead</h4>\n<p>Despite the vast number of improvements we have already made in order to retrofit OpenAPI and its tooling into our existing AUTO1 ecosystem and practices, there is still room for improvements. Just to name a few. Although OpenAPI specification itself is language agnostic, we have language specific generators which in some cases need to be instructed on how to generate the output code, and unfortunately these generator hints often make sense only in context of a specific language. As an example, instructing the generator to make the generated Java classes implement some specific java interface. Since the OpenAPI specifications are enriched directly with these hints, it results in obscuring and cluttering the contract definition.</p>\n<p>Yet another challenge would be to generate more complex classes resembling the structure as seen when written manually in the times from before the OpenAPI approach was adopted.</p>\n<h4>The verdict</h4>\n<p>As presented in the article, OpenAPI is a very powerful tool that enabled our AUTO1 organization to move forward faster in a more structured and unified way in terms of defining and evolving the REST APIs. It’s not a silver bullet, as the design first approach and the OpenAPI specification come with a number of challenges by themselves. However, with the talented engineering force we have we were able to resolve most of them in an efficient manner, yet every organization planning to adopt this tool needs to weigh in the benefits and the shortcomings and make the call for themselves.</p>","fields":{"slug":"/openapi-journey/","tags":["auto1","engineering","openAPI"]}}},{"node":{"id":"0e79f71e-bac7-5c18-b5ae-ae1cec933364","frontmatter":{"category":"QA","title":"Efficient testing - Test Strategy","date":"2021-10-08","summary":"The first article in a series of articles focusing on efficient testing.","thumbnail":null,"authorName":"Michal Chytroszek","authorDescription":"Michal is the QA lead of the Car Journey associated teams.","authorAvatar":{"relativePath":"pages/efficient-testing-1/Michal.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAACE4AAAhOAFFljFgAAAEyklEQVQ4yx2Qe0xTdxzFr9Dee3/30dpCRQqsQofyEEQpT8v6ABwgUPoASpUiMigKHeVReZTy0BYEh6TVtohKsbCNqAiFKPhgY3GYqAPMhkaWzEyXbG5z2ZZliX8sY5clJ998//mcnHMgg83Tah28e+2k7Uxb36Uxy/B4w1mP4bSr8WRvtjQ5I57X47R3uYY1avkxfZX+hL5CKXbUZpbLJVVHiiDLN/+euvfDl4/mHj24dnXh4f1Xv0y/+Htw6fehlbfywxWi2OCx5VfO1bfuJ3/VWFy9o580G/WL5ysHLnpu3ZyFWj//o8O7dnv5q/kHS947M3efPn/8+rfTX/w0+PXG8c7+tChu0+BQdfegXG/pu70+v/6yratjskfjmrhxzjUCGRfedCz8emlqbuaze8vfrV9f+VZfU5knTTZYBuptngOJkbWGWm1pcUpyYk2T0dRmqNOVTnRrHOesDVUlkME+1uC62ugY7xy91uWezN2/dxcORTKgZC5Q5OWLBRFFMmleekJq3E5VrrDq6OHGD6tnzpW2dylOlL4HWV9unH650ff9P2d+3miafiiPZjsVPLcywFPo156zI3k3L1McJ0qKEQkiNIdy7cPOZrNJeZinqhRrVRlQ48Wp5pFZ08h0z/iMuX/AKg/3loXNargLWn/PIX62MFp+MEEiTk3dHaKV729oNqoz99QXBLVo4oqyEqDe8VvOqzfdc/cvTM17LjsvHxEURm01p3F0e4haEV99ME2pSpfnC3X52ztNOaOrb0ZbBet96NDxhPJDBdDd1bVnKzf+fHZlbu3FWH+HVxM2URQ6VcQbzd3mLQmpFocnJsY0lPMrlL4HFUzPpOO6VeIyZelbzCp9N9Qy/Wzx4eKPT9w3nzx3zy/OdmtsGQH6ff7mRMZIQYBKEiMWhEglHJmCa+zQdtts5o/sirreYrNDVtsBtc6s9dx5ar+zapl9fGrp9YBzyKMK7s0MtmWSLYWJkXsTynRHjfYLdYOjdbbrOqu73GwvrOss6XTJDFZI//GDdu9y/8K62btSc35SmJ5dKeTqkvzUsUQEf0dQME+Up9G2n6/q81RYhss6HdqWM7Jqk6p9KFdvgeo/Xapz3pDK1Pxd0SwCp/v44BgRzsEJBN6yxRem03GaDxOGRPkardlR3NhXXG/NLm/KMpyVVrRBxomlhP1SGIIQmi8GAIskEASFaHQUhnGAogBlEgSB+PBC+craroJjZpnOlK4+Li5rFhbqoIr+KwH+fjiG4BhKAJRFYAwcENRPXRzdFEBJgHJYzKwSXf7RxpxSvViuFRYcScophuLfVwZu8wOIL0BpBEZn4YBNiYExCUASgEGgGIqQGMLAkLSMvJziDyT56tQDBXHvZUclSaFIsYIbGECgvghCwwHMJgCbRCmxCJRFUjCgYCaOMgEtIipGmJEnSJVEx6cEvhO2LZgHCVJEASyCxGAEoQMU3mQIqie6dfMBJE61RthMwMThwO3bY+NTouME/KgYNjeY5HCg0CD/QDZB4hRJg2E65bIZEv9f1BBg05RNYiwCYbMZEbH7dkbH8sIjWIFBwI8NZWuqOAyEScIYSqPBvgigAwBjGExNCFA6RdLoNCoIi4EyGei7UbFhuyJDQncw/P0o+/8A3meRLxNk0Z4AAAAASUVORK5CYII=","width":50,"height":50,"src":"/static/52659ecfce9ed71e567bddef5d9c1b15/45876/Michal.png","srcSet":"/static/52659ecfce9ed71e567bddef5d9c1b15/45876/Michal.png 1x,\n/static/52659ecfce9ed71e567bddef5d9c1b15/eb85b/Michal.png 1.5x,\n/static/52659ecfce9ed71e567bddef5d9c1b15/4f71c/Michal.png 2x,\n/static/52659ecfce9ed71e567bddef5d9c1b15/9ec3e/Michal.png 3x"}}},"headerImage":null},"html":"<p>Hi everyone! This article is the first in a series of AUTO1 testing-related posts, I hope you’ll find the content interesting enough to return for the rest in the series :) To start off, let’s ask one of the most important questions:</p>\n<h2>What is a Test Strategy?</h2>\n<p>In AUTO1 the test strategy is a high level, short and concise document which defines:</p>\n<ul>\n<li>\n<p>Scope of the testing</p>\n</li>\n<li>\n<p>Risks - areas that potentially can be broken</p>\n</li>\n<li>\n<p>Automation strategy</p>\n</li>\n<li>\n<p>Required test data</p>\n</li>\n<li>\n<p>Security</p>\n</li>\n</ul>\n<h2>Why do we create a Test Strategy?</h2>\n<p>In agile and fast changing environments we usually do not spend that much time on test documentation as in waterfall. However, even in such cases we cannot underestimate the importance of a test strategy. When you are creating a strategy it becomes your guide, a channel for your thoughts - you have a space to stop for a moment to try to understand what should be verified and do it at a very early stage. It is much easier to go back to the feature if you already wrote down your thoughts and you have some kind of summary.</p>\n<h2>How do we create a Test Strategy?</h2>\n<p>Let’s go through our thinking process, step by step.</p>\n<h4>Scope of the testing</h4>\n<p>Start with defining what exactly has to be tested. You can ask yourself a few questions:</p>\n<ul>\n<li>\n<p>Who is going to use the feature?</p>\n</li>\n<li>\n<p>What apps will be changed/created?</p>\n</li>\n<li>\n<p>On what devices will it be used?</p>\n</li>\n<li>\n<p>What types of testing will be needed?</p>\n</li>\n</ul>\n<p>It allows you to better understand the product you are going to test and the environment setup you’ll need.</p>\n<h4>Risks</h4>\n<p>Now think about all the things that can go wrong. Here the questions will be:</p>\n<ul>\n<li>\n<p>What apps/areas can be impacted by our change?</p>\n</li>\n<li>\n<p>Are we modifying dependencies of another system?</p>\n</li>\n<li>\n<p>Is my domain knowledge enough to understand a feature?</p>\n</li>\n<li>\n<p>Are there any missing prerequisites which can block testing?</p>\n</li>\n<li>\n<p>Are changes going to be compatible with existing solutions?</p>\n</li>\n</ul>\n<p>Answering these questions will help us create a plan in order to mitigate all risks. It can be planning an onboarding session with someone who has knowledge we need, investigating regression testing possibilities for apps or areas in danger or setting up a plan on how to get blockers done.</p>\n<h4>Automation strategy</h4>\n<p>Automation is an important part of our testing process. We think about the approach on the test strategy stage. We create our tests on an UI and API level. When we’ll have the technical specifications, which include details of implementation, then it is time to plan what and when will be automated. We ask questions such as:</p>\n<ul>\n<li>\n<p>Where is the specific logic placed? Is it frontend or backend?</p>\n</li>\n<li>\n<p>Do we have existing automation in this area? If yes, do we have to adjust it?</p>\n</li>\n<li>\n<p>Do we have all prerequisites needed to start writing automation?</p>\n</li>\n</ul>\n<h4>Required test data</h4>\n<p>At AUTO1 we have a lot of connections between several areas. It created dependencies which have to be covered in test data preparation. We have to be sure we know the preconditions and steps required to arrange the system before starting testing. Here we can specify if we need additional onboarding or support from other teams.</p>\n<p>Having answers to the above questions means we are prepared to plan more detailed test cases and we can use our strategy as some kind of a cheatsheet. However, do not blindly follow what you’ve planned - requirements can change. Review your strategy from time to time, to ensure that it is not outdated.</p>\n<h2>Summary</h2>\n<p>Test strategy shouldn’t take much time but it is important for the next step - creating a test plan. It can be a great guide which will help you to structure your initial ideas and be prepared for upcoming changes faster.</p>","fields":{"slug":"/efficient-testing-1/","tags":["auto1","engineering","testing","QA"]}}},{"node":{"id":"bf1481d7-2c1e-5f8f-9b67-0b9fec66ad62","frontmatter":{"category":"Engineering","title":"IntelliJ IDEA plugin development - focus on UI based plugins","date":"2021-07-10","summary":"This post is in addition to the previous article about plugin development but with a focus on UI based plugin implementations.","thumbnail":{"relativePath":"pages/IntelliJ IDEA plugin development - focus on UI based plugins/logo.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEyElEQVQ4y3WVe0xTVxzHz723rfZBsVeqnc4Yw0aYFSiFFZlZxnSo4w+gSBWEglTmA59jCt4WCOUxq+J4zGwaMqfJfDBi2GbMxjJfMXMzJks0Y5ngfE0mqAwrFLHtPb+de4CKf+wkv5zfOed3Pr/vOb+Te9FAzEokNV9cLvq/Nmpew8L8DIQOANJUPEdh+wGpBB8jrSldo0hd7n0RLJry0fA4bCg2RxYw5S3zm/ISnsWt1vvi8qZMxD1KLkVvb+lmJifS7hrmpJ4lCfidAy8WAqZ8dqzPSwFzIQRN+UEy95SMbxK7MhK3umQiVlnuLVQKwxcVW//SS2O94JNFFZyja3NLHyD03JSHIN5OMxHQZ5C4Fgg0CAlFAIkOAMs6gIWbiV9sQ0cgTlMl+tW7ATSV+E64y2+R9kWVDXJR226PZZSAUvPG5mpxvP0+MfjjjfTg9eh0/Nv8TPGXBdmBS3H5cC52tS8253SffNMN0BZfHdVu7AK+tC9gIIon1MdsvkXvkKojd2aT1N02ZgXDWBnmGBbLJWM5IL4oZzhQEEOMTESsHBBiAjNzz8BrVSJEb721b3taOzdWlIQien+kECfB8gHciM8NkCHOyLLC711d+MPSUkzGIM159njE5IVJ1CfVgXnZbeKbpQ9Ey84+iCy7kxUqylB8QeQoUTeatAWumteIMhKs43m42dMDFotFAgDDMHD+/HlIT88YA7IsNmUcwWmbb4hRu+4BX9mfGQI+SSiY/SBxneeflJLHZ5NKQM7IqKofOzth1qxZMK4QOjo6CDCd+izLwNLlLXhh+R2sr3oEM4SHy8bUOYz07H0daFrQNWPw57XJQG8iIQEwxmC1WiE1NRWampqgu7sbzGYzBUqniLV9gee4B3GE6zHonAMpFAh7ZPSx+sqmH4Pa6XB5++vSHcJbixbhpsZGSEtLA6PRCK2trZCTkxNSK5m+oB2/4h6WYDjcOZgcOvLDHbxyZJfuT6ifDhc3zA8qZIqXNr5sTMiPsJ/CevcoEFgwzPnETGHPBB1VeG+TwQDV2rNnC98FBmlEhUKG1So1TJ06FeRyOchkMuA47iWgzv4t5msCQGB+ldNrDCns3b6AQgGOs42LS67PnR0J+z9pCDY3N+ODhw7i9RvW08qOW8jX2k/jaTUY1M6nI0rhaSSF9e2IRlXvXKD+paJrEbVL9varp6hBGx7m53lejNDxYrhKE6TKGAYj8tiJT4Ea+5mA1o1B5Rz2KwXvnJDClszDtNKfWw9bW7KOwrYl9bAltQGKF3sgb/k+WJpzAGIcXwYiHV/j2Y7vxAjHD4FwxznQurygqQdQunw9yrIBLYV5rEdRQ/YJCty74qujhwp/gt253/R/bP/+eJPj8vvr3JdWvld95X6Spxeiq//Gc2uegMEDoHP7Iaxy5ILKOVREjjtN2k+UIlS34hgF12UeVtRln/i02ta2aWN6q37ydy9mfQdvFK61zqu4CwZnbx8v9Ddrd95PnBxDVI455dknaE9A7OSA+lWn2Orsdi7zo05uYu5V513LTKHXMDHW12Gkcvk4pTBEi6qegLptJ2nfU9CJam1tXKWtjRFWtSND1S06b3H+yiRWXg8l1Ff8y5G3x6oELyJK0cwa6TfwmK79B0KrRX19cxThAAAAAElFTkSuQmCC","width":325,"height":325,"src":"/static/b2f976ed5fa752977d8f8f9b2516534c/b3029/logo.png","srcSet":"/static/b2f976ed5fa752977d8f8f9b2516534c/b3029/logo.png 1x,\n/static/b2f976ed5fa752977d8f8f9b2516534c/8d141/logo.png 1.5x,\n/static/b2f976ed5fa752977d8f8f9b2516534c/ee72c/logo.png 2x,\n/static/b2f976ed5fa752977d8f8f9b2516534c/5dfa8/logo.png 3x"}}},"authorName":"Vadim Shchenev","authorDescription":"Vadim is an Android Developer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/IntelliJ IDEA plugin development - focus on UI based plugins/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/IntelliJ IDEA plugin development - focus on UI based plugins/header.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsSAAALEgHS3X78AAADGklEQVQozx3R60/bVRjA8V80m2N4IVkWcfpmqyulTdd7oRYopEDbyaXlVgptobANkAzrUpwbyjZvgMpQ7CxhGCaXUTcv04mRRYMkKpB1MLYpIKkymb5S/4WvZ7745DkvnnOey5FS87qQWbqY0zWyIEzrmxkxHOFHcXZkRZCsZ0ixnmKH9TQPWV7m0eIo22q/JmjvI6ENsijyh7I62G7rYXt2F1KgpIo2TZhlbYBFkTCjDaE2Rdhn6mS36TiPC+nml9ilP0a6rQ91wxwZhxJ4ar9kMbuDdeMR+h0DyAOzyBwxpJDhMCsHAlzXBFgQ7mj8DGqaeUr3Agrt8yh0YWQiZolOq9wTuLxXcFZ/SmHNFVrKL/DKwXMcrPkcu2+aYkGKqkKsquu5rvZzQ7gf19R1nFTUo1M0Y5E3YNWGidu6mSzsQdc0j+ZwgrzgLFUVcWEKn/uiMInfPY40pPKxrvWypPFyU7ilqWZJX8dr9l4UrjFUzlFy3OJS8BqWtmVkRzeQtf/K3qNJCsT4EWeUU65+ely9HHOdQ3pR4Wa1OI8Vez637DaWiwp5tfxtIidmGbywxsilJH2xn3lneI3RyXU+iK3Q1votPu9VfP5vOOGMEbeHmXEcoregV+wwvYx4volk816SoSeZrS3lfPmbfFj2OqPeQcbqo4z7+pnwDvBxYJjJ2iFGSt8j5jhLzPUuY7ndXLREmMruZMJyHCmyq4jO3UWMGg1MO+XM5z7LkiHEDwcamVM28JM6wFpODas5Xm7omljRt3DH1Mptcxu/GFv4yNlNZ3CQPk8P14ytSG+l5XHmESund+ZzcmcuX+xx8ldmNckMD78pKthUevjHXMK/5lLuZlYIlWwpq9lSVJJUeQkFL2N77ntsHfO8URpFGk41M572DLFUI++nGDj/sJnb+0q4l1nFH8LW/yrZ2O8mKfdwVxT5/X4x4c8MN+3ip1XtGxj8X+GouYw081gW9+TlfJaiY/xBJWMPKPlkh5bEEwXc3GMnkV7Ad2nZxLepuZpqYHN/GVvisU3h76dLmDKGsTQuoK+7RJNrgP8AU8rtTZmilCkAAAAASUVORK5CYII=","width":1280,"height":720,"src":"/static/6fae10ea7503a11a8f308ac2e2a5217a/26421/header.png","srcSet":"/static/6fae10ea7503a11a8f308ac2e2a5217a/26421/header.png 1x"}}}},"html":"<p><strong>BACKGROUND</strong></p>\n<p>This post is in addition to the previous <a href=\"https://auto1.tech/intellij-plugin/\">article</a> about plugin development but with a focus on UI based plugin implementations. Sometimes it can be really useful to have an UI and make it possible to interact with it by doing some checkboxes selections or maybe to have some input areas for text. Let's investigate how to develop a simple plugin with input text area as input entry point and some new generated classes, based on input text as a result. As a source code example we will have a look at source code based on my pet <a href=\"https://github.com/robohorse/RoboPOJOGenerator\">project</a> that also was used as a development tool in AUTO1 to generate non GraphQl based POJO classes.</p>\n<p><strong>USER STORY</strong></p>\n<p>As an Android developer I need to interact with backend data. It can be usually presented as JSON data or if we can speak about new and modern practices it also can be presented as a <a href=\"https://graphql.org/\">GraphQl</a> scheme. GraphQl is a really powerful framework with its own classes generation framework. But let's go back  one step and imagine that we have to do some data presentation classes updated for the project without GraphQl support. To do it, we need to find the target class, compare its fields with new JSON fields and update it. It can be easy if we have only one field changed, but for multiple inner fields and classes with its own inner fields it can be too complicated. We can find some online services to convert JSON to POJO and copy/paste output files, but let's try to integrate this technology to our IDE! And our job will be only to copy/paste new JSON to some window input field! Like this one:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e5f23ade9299ab35fc67e79b19642e81/a8455/ss1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 512px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 59.5703125%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsSAAALEgHS3X78AAABp0lEQVQoz32SWY7cIBCGfZhkpMngBQx4Axsbbxiv7ZnJptwjJ4iSlzzlwKluJ61RZ/n1CSHwX1VU2UkwaVsd1zLLhJD5lc6YwY6DtV1vMpknmciETIWEPSDygjHuEBI2WqZpItKKMk4pO+BRHMXJQd12dpoK3SitZVHIIs9VSXnk3HvBqtCc+9PcxBFByPUucj33EOzLfhr3D/mwq35Jqy5WbVoZwmLHC7AQCSUe5TikBJMbQow9/fEz/vTj1frl9enr3f7tDtan70hMDmTy/QD9yvEXwfEwL9O2y6rJVJUVZ4SqQxY5yPMxxv+0nuV3djTzoprucL40e0HwX7Pv665vjU1zlQFFCQilQ+j2pWwfoQcXeoWQeysEt2ATqpKlFueyX5jBGyUJTAZmw3kcUhayWxoz7M/vHt++t/MKIc6xysPsB3bZxvU0rad526u2T3/XdiWvaii7HazuTFHViSygcwTMPiZ23oZp6YYRomxPz5AHProC4arO1P1QGzufHiFNY8Z+nHmSOvdvHshlxAGhBGrmEax/wCmLABbFFJ4GP2IUw3t/AoHwpaT67vbNAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"ss1\"\n        title=\"\"\n        src=\"/static/e5f23ade9299ab35fc67e79b19642e81/a8455/ss1.png\"\n        srcset=\"/static/e5f23ade9299ab35fc67e79b19642e81/45806/ss1.png 148w,\n/static/e5f23ade9299ab35fc67e79b19642e81/ae1c8/ss1.png 295w,\n/static/e5f23ade9299ab35fc67e79b19642e81/a8455/ss1.png 512w\"\n        sizes=\"(max-width: 512px) 100vw, 512px\"\n      />\n  </span>\n  </a></p>\n<p>To make it possible, let's think about our problem and try to do small decomposition into logical steps. Lets formulate our goals by imaging simple user stories:</p>\n<ol>\n<li>\n<p>As a user I want to input JSON text into the input field.</p>\n</li>\n<li>\n<p>As a user I want to transform JSON text into POJO files.</p>\n</li>\n<li>\n<p>As a user I want to see the result notification.</p>\n</li>\n</ol>\n<p>We will skip JSON to POJO transformation for this article, but we will learn how to develop a plugin with required user interface. Let's think about option number two as about some library that we already have and can use as a part of our small project.</p>\n<p><strong>TECHNOLOGY STACK</strong></p>\n<p>Before we will start let's have a look on basis plugin implementation. There are 2 base options to develop new plugin:</p>\n<ul>\n<li>\n<p>using <a href=\"https://plugins.jetbrains.com/docs/intellij/using-dev-kit.html\">DevKit</a></p>\n</li>\n<li>\n<p>using <a href=\"https://plugins.jetbrains.com/docs/intellij/gradle-build-system.html\">gradle</a></p>\n</li>\n</ul>\n<p>We will speak about gradle implementation. Gradle is a really powerful framework and it can be really helpful if we want to simplify our building, releasing and testing. The project structure is a common <a href=\"https://plugins.jetbrains.com/docs/intellij/gradle-prerequisites.html\">structure</a> for gradle based projects:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">my_gradle_plugin\n\n├── build.gradle\n\n├── gradle\n\n│ └── wrapper\n\n│ ├── gradle-wrapper.jar\n\n│ └── gradle-wrapper.properties\n\n├── gradlew\n\n├── gradlew.bat\n\n├── settings.gradle\n\n└── src\n\n├── main\n\n│ ├── java\n\n│ └── resources\n\n│ └── META-INF\n\n│ └── plugin.xml\n\n└── test\n\n├── java\n\n└── resources\n\n  </code></pre></div>\n<p>Most important topic for us will be the plugin.xml  file. We already discussed some details in the previous article and we can be focused on some UI related topics.</p>\n<p>During the plugin development we can use Java/Kotlin and all utility tools that we want like jUnit testing and dependency injection frameworks. In our current example Koin and JUnit can be found. So, now we have and know about project structure, some utility tools, language to write the code and now we are ready to think how it can be possible to create a user interface and connect it with our IDE. Let's remember about our major goals:</p>\n<p><strong>GOAL 1</strong> -  As a user I want to input JSON text into the input field.\n<br>\n<strong>GOAL 2</strong> -  As a user I want to see the result notification.\n</p>\n<p>and see how we can implement it.</p>\n<p><strong>GOAL 1</strong></p>\n<p>First of all, let's learn how to connect our plugin with the IDE user interface. As we can see the IDE has a lot of action groups to do something (create new files for example). According to our idea to have some logic that can help us to convert JSON to POJO it would be great to have a new item in the new file list. It will be something like an action “Create new POJO file”.</p>\n<p>To connect our logic with the IDE by following this path we have to remember about the plugin.xml  file that was discussed early. We can use this configuration file to describe our plugin and how it can be used.</p>\n<p>Let's find the actions section and define <a href=\"https://github.com/robohorse/RoboPOJOGenerator/blob/master/src/main/resources/META-INF/plugin.xml#L28\">new action</a> to show our input field dialog view.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">&lt;actions>\n\n&lt;action id=\"GeneratePOJOAction\" class=\"GeneratePOJOAction\"\n\nicon=\"/icons/pojo.png\"\n\ntext=\"Generate POJO from JSON\"\n\ndescription=\"GeneratePOJOAction\">\n\n&lt;add-to-group group-id=\"NewGroup\" anchor=\"last\"/>\n\n&lt;/action>\n\n&lt;/actions></code></pre></div>\n<p>As we can see we can use some properties to describe how users will be available to interact with our plugin. We can define a custom icon for our action, define the position inside of the items list (“NewGroup” anchor “last”) and we can define the class to execute when action will be invoked by the user.  </p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/6a7a1fe33666ed623520c2623f9c6a69/2a77b/ss2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 50.27027027027027%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAAsSAAALEgHS3X78AAABjElEQVQoz2VRu27cMBDUpxhx59aNT+L7oQcpUSQlnnQnnxPAQKrE8K8Evi5OFxdBfjLr0yGxEWAKYndnZ2eYXR5e2OPvD4eXi9v/8fPi8OtqOaLtR+dDSJPpeqbKgvIVmfN9ZSwiuMAIE/wWCKO2s0Qquvs0pG3n47CddW1yyjeY5oRltvfjNBvnqdI3mG4I22CWnxZDuzQtEVqlpXWe6woARWiBPiDTjU3z3rheVo0oa65LmKBCrWQoYq7CvIzTDmRV1bzWKQeWqk1GpepCrG3XtA4s1W3XdE5WNQwhxplUiMvCT9b1rY9wCDyY0uezMRdtH6zzLgw3iEB1bZyUOZhiWqvRhiG5EHVjCsoQF/gEIMtpv4S09WMC8b9JAqCVdnvwEne3fhj7OLg4Cl39SxsWwPqVRoSEU9/iVYFJbXvwHNKc5mVeDrysIVcKgQEBVoITmDtPv4OkQjrfhhhCjPDZAExJjjH87ll5zQn03ysLTFlRevP4VD38qB+ey6/P+sv3/P7IPh+v7779AQwRq7SC2ek/AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"ss2\"\n        title=\"\"\n        src=\"/static/6a7a1fe33666ed623520c2623f9c6a69/40fad/ss2.png\"\n        srcset=\"/static/6a7a1fe33666ed623520c2623f9c6a69/707e9/ss2.png 148w,\n/static/6a7a1fe33666ed623520c2623f9c6a69/649e0/ss2.png 295w,\n/static/6a7a1fe33666ed623520c2623f9c6a69/40fad/ss2.png 590w,\n/static/6a7a1fe33666ed623520c2623f9c6a69/b3fef/ss2.png 885w,\n/static/6a7a1fe33666ed623520c2623f9c6a69/2a77b/ss2.png 1110w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Custom action class should extend the abstract AnAction class with the implementation of actionPerformed() method.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">import com.intellij.openapi.actionSystem.AnAction\n\nimport com.intellij.openapi.actionSystem.AnActionEvent\n\nclass GeneratePOJOAction : AnAction() {\n\noverride fun actionPerformed(e: AnActionEvent) { \n\n//TODO: Add your UI implementation here \n\n} \n}</code></pre></div>\n<p>Inside of actionPerformed() method implementation we can add the logic to show a dialog window with the input field for JSON text. To show dialog view we can easily use DialogBuilder from plugin development SDK and Java swing to create a user interface.</p>\n<p>More information about actions can be found on the official documentation <a href=\"https://plugins.jetbrains.com/docs/intellij/basic-action-system.html\">page</a>.</p>\n<p><strong>GOAL 2</strong></p>\n<p>Let's imagine now that we already implemented logic to show the input text dialog with some selectable options to transform this text. We also added some logic of transformation - that can be some library to work with it or maybe our own implementation. And as the result of that transformation some new POJO files were generated added into our project (We can interact directly with the project or we can use project representation, provided by the plugin development <a href=\"https://plugins.jetbrains.com/docs/intellij/virtual-file-system.html\">SDK</a>).</p>\n<p>But what about the next steps? We also need to notify the user about the result: it can be a success result notification, or maybe some error case notification. To implement it we can use default tools, provided by plugin development SDK. We can show some information to the user by using <a href=\"https://plugins.jetbrains.com/docs/intellij/popups.html\">popup</a>, <a href=\"https://plugins.jetbrains.com/docs/intellij/notifications.html#editor-hints\">notifications</a> or <a href=\"https://plugins.jetbrains.com/docs/intellij/misc-swing-components.html\">messages</a>.</p>\n<p>Let's imagine the following case: we have a text input field and we have some logic to convert/transform the text from this input field. If we can speak about JSON to POJO transformation, we have to understand that any random text cannot be converted to POJO correctly. Target text should satisfy some conditions and also should have the correct JSON structure and it means that we have to not only show some notification if text structure is not valid, but we have to block UI and break our transformation flow.</p>\n<p><a href=\"https://plugins.jetbrains.com/docs/intellij/misc-swing-components.html#messages\">Messages</a> can really help us with it! According to the official documentation:</p>\n<p>The Messages class provides a way to show simple message boxes, input dialogs (modal dialogs with a text field), and chooser dialogs (modal dialogs with a combo box). The function of different methods of the class should be clear from their names. When running on macOS, the message boxes shown by the Messages class use the native UI.</p>\n<p>Lets see the following code:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">companion object {\n\nprivate const val BUTTON_TITLE = \"OK\"\n\nprivate const val DEFAULT_OPTION_INDEX = -1\n\nprivate val DEFAULT_ICON = null\n\n}\n\nfun onPluginExceptionHandled(exception: RoboPluginException) {\n\nMessages.showDialog(\n\nexception.message, exception.title,\n\narrayOf(BUTTON_TITLE),\n\nDEFAULT_OPTION_INDEX,\n\nDEFAULT_ICON\n\n)\n\n}</code></pre></div>\n<p>As we can see we can use the show dialog method, provided by SDK. We can define some dialog parameters, like title, message, button and of course we can define our custom plugin icon. If the image is not defined, standart Java icon or IDE icon would be shown. More information about images support can be found <a href=\"https://plugins.jetbrains.com/docs/intellij/work-with-icons-and-images.html\">here</a>. Also as it was already discussed <a href=\"https://auto1.tech/intellij-plugin/\">here</a> we can add support for internationalization instead of hardcoding only english string values.</p>\n<p>And as the result we can see this amazing small UI blocking window with our message text:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ccbe6b5c7965f5c43ecabbe66bf5c2c8/adc68/ss3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 59.91561181434599%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsSAAALEgHS3X78AAAB9UlEQVQoz22S3W7TMBTH8zJMWtd8dCSxHefLSdw4H07SNl27cssFghcYl4hK44bxACBxz7ob1o7uYlofjbN2Kwxh/WT9j33+OsdHVs7O3t/d3a9ubta3t7BfXl39WCx+Xi8XIC4XoEFcL5fL1QqAhF/rNez3m818Plc8j2WZjJI45jxOxYeP888XX0aT6ehkOp7O2snpZPaqGrZpWQlZi0JmRZ6XRVlJPwwVTTe6R91O5/Coc6j2Xn7/+m2zWmV1k8u6qJtE5FzkLEkDFhGHIOqbvjD91ArynkUUo3esG4a2XaaNoc6bt+88FgcxD6LEDSMaRG7AiGhxMbP4+MXg/GD06WB8oXrNH7OqqjahtuMd29jxQ+IFAIgHvACJEzJ4jZmgXkiD2A25iZ5X1nTd6PUAOPkbnhWcc0oJcX0agDl0Q2YivDer2rb6f9A0mJNshm4YPzbigzl+Muu6qnbV7frX2e3C7W4EfpQAICCEWTyYj00TOxRhggjBxDFtZFr2cxDPcjkY1sM2K6uoL8D/aLYwyaomLaQoq0zWLOlDVzRgeyBkPIWEXFZJmsEUMbwczDZWbOLkW3NalFlVN+2Y5wXrp1EqdjDeT+BnVA0wmpzKYQsh/BnkuIpmGOC3ELZsbGOCHRc5FE72QGtPmsLtLgFTF4b1G06By+5CDYTEAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"ss3\"\n        title=\"\"\n        src=\"/static/ccbe6b5c7965f5c43ecabbe66bf5c2c8/40fad/ss3.png\"\n        srcset=\"/static/ccbe6b5c7965f5c43ecabbe66bf5c2c8/707e9/ss3.png 148w,\n/static/ccbe6b5c7965f5c43ecabbe66bf5c2c8/649e0/ss3.png 295w,\n/static/ccbe6b5c7965f5c43ecabbe66bf5c2c8/40fad/ss3.png 590w,\n/static/ccbe6b5c7965f5c43ecabbe66bf5c2c8/b3fef/ss3.png 885w,\n/static/ccbe6b5c7965f5c43ecabbe66bf5c2c8/301c0/ss3.png 1180w,\n/static/ccbe6b5c7965f5c43ecabbe66bf5c2c8/adc68/ss3.png 1422w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>It looks now that we found a solution to cover the error cases. Now we can prevent users from wrong input and show notification about it. Let's think about the success use case. Let's imagine that the input text was correct and we processed our JSON to POJO transformation as expected. Maybe some new files were generated, maybe it was only one new file. It will be a really good user experience if we can find a possibility to inform our users about it. Maybe one of the possible ways can be to show notification messages. It can be a small popup view with some text, like this one:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7886ad65f05e9b387cd9fcc518e532eb/a8455/ss4.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 512px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 19.7265625%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAAsSAAALEgHS3X78AAAAiklEQVQI123O2Q6DIBAFUH6rspRtEOgWY9rHqoCWP+jvFy1PrcnJZO7kPgyiXArjNRilC5AavkuNCoTUu7hQyDyGa37PMYa0pDmvc8nPcRpDiuk1hNj19123rkdCA1gHrTXWGes3JbpytP7sTpca/2jTogMmDWWYsobQiq4wYaK8bh09crwVfpTmB6TCRCxGPmcyAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"ss4\"\n        title=\"\"\n        src=\"/static/7886ad65f05e9b387cd9fcc518e532eb/a8455/ss4.png\"\n        srcset=\"/static/7886ad65f05e9b387cd9fcc518e532eb/45806/ss4.png 148w,\n/static/7886ad65f05e9b387cd9fcc518e532eb/ae1c8/ss4.png 295w,\n/static/7886ad65f05e9b387cd9fcc518e532eb/a8455/ss4.png 512w\"\n        sizes=\"(max-width: 512px) 100vw, 512px\"\n      />\n  </span>\n  </a></p>\n<p>and maybe we also can print some information to the event log:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">12:00  Response.java was updated.\n  \n12:00  POJO generation: Success</code></pre></div>\n<p>It looks now that we are ready to totally satisfy our user story requirements! Let's do the final steps and implement the following code:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">companion object{\n\nprivate const val MESSAGE_SUCCESS = \"POJO generation: Success\"\n\nprivate const val GROUP_ID = \"RoboPOJO Generator\"\n\n}\n\nfun showSuccessMessage() {\n\nshowMessage(\n\nproject = ProjectManager.getInstance().openProjects.first(),\n\nmessage = MESSAGE_SUCCESS,\n\ntype = NotificationType.INFORMATION,\n\n)\n\n}\n\nprivate fun showMessage(\n\nmessage: String, type: NotificationType, project: Project\n\n) = NotificationGroupManager.getInstance()\n\n.getNotificationGroup(GROUP_ID)\n\n.createNotification(message, type)\n\n.notify(project)\n\n  </code></pre></div>\n<p>As we can see we can use the create notification method, provided by SDK. Unlike dialog related logic, we also have to define the project that we want to use to show the notification. As an example let's get only the first project (most popular use case), but we have to understand that users can open not only one project in the IDE and we have to take care about it too. So, as we can see it is also possible to define message text. Also we can define the message type (it can be INFORMATION, WARNING or ERROR) and we have to take care about the <a href=\"https://plugins.jetbrains.com/docs/intellij/notifications.html#top-level-notifications-balloons\">notification group</a> that was defined inside of our plugin.xml file:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">&lt;extensions defaultExtensionNs=\"com.intellij\">\n\n&lt;notificationGroup id=\"RoboPOJO Generator\"\n\ndisplayType=\"BALLOON\"\n\nkey=\"com.robohorse.robopojogenerator\"/>\n\n&lt;/extensions></code></pre></div>\n<p><strong>FEW WORDS AT THE END</strong></p>\n<p>As we can see it was not really a big deal to develop some small and hopefully useful tools for daily use or to help your teammates. The major idea is just to understand that integration with IDE can be really simple and when we will finish with it, we can be focused on the functionality of our tool. Perhaps in the future when we will have a stable version with some really cool features we can share our tool not only with teammates that we are working with directly, but maybe it also can be helpful for some developers from some random parts of the world. And maybe together we can simplify our daily job!</p>","fields":{"slug":"/IntelliJ IDEA plugin development - focus on UI based plugins/","tags":["auto1","engineering","android","mobile","intellij","idea"]}}},{"node":{"id":"f10727e0-a88f-5017-a0a6-644b0247642a","frontmatter":{"category":"ProjectManagement","title":"Managing roadmaps & employee allocations","date":"2021-03-01","summary":"How an in-house built tool managed to answer some of our burning questions.","thumbnail":null,"authorName":"Anton Efimov","authorDescription":"Anton is a Senior Technical Product Manager at AUTO1 Group.","authorAvatar":{"relativePath":"pages/TechOS/avatar.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAMBAQAAAAAAAAAAAAAAAAMEBQEC/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABu8qeTVSDGvhKD//EABwQAAICAgMAAAAAAAAAAAAAAAACAQMEExESMv/aAAgBAQABBQKIMftKcFztqxXdrjY1Yno//8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAHRAAAQQCAwAAAAAAAAAAAAAAAQACEBEhMSJBUf/aAAgBAQAGPwJEuJMcb30s2GgajHs//8QAHBABAAICAwEAAAAAAAAAAAAAAQAhEUEQYXGB/9oACAEBAAE/Ia+4MoB3PMM6FHxHpsBXDcxsFzbtuK5n/9oADAMBAAIAAwAAABAzwAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAbEAEBAAMBAQEAAAAAAAAAAAABEQAhYTFBUf/aAAgBAQABPxB5QsaO5ckMux+znMQOEyKBLQO9mMEw0Qq+z64pccHpbbxd5+Uqp77lTef/2Q==","width":50,"height":50,"src":"/static/64318d3bbfe535fa18b95197819532a3/d2d31/avatar.jpeg","srcSet":"/static/64318d3bbfe535fa18b95197819532a3/d2d31/avatar.jpeg 1x,\n/static/64318d3bbfe535fa18b95197819532a3/0b804/avatar.jpeg 1.5x,\n/static/64318d3bbfe535fa18b95197819532a3/753c3/avatar.jpeg 2x,\n/static/64318d3bbfe535fa18b95197819532a3/31ca8/avatar.jpeg 3x"}}},"headerImage":null},"html":"<p>Big organisations are hard to manage. Everyone knows that. It is even harder to manage if an organisation wants to keep innovating and remain profitable and functional. How do we do that without creating a lot of bureaucratic roadblocks and wrap every single decision in a web of workflows and processes? And what data do we need to know that we are moving in the right direction with the right speed? Can we get this data with the least effort possible?</p>\n<p>In this article, I would like to show AUTO1 Technology’s attempt to address these questions.</p>\n<h2>The problems</h2>\n<p>With the original approach, we had a few issues on our hands.</p>\n<h3>Headcount allocation</h3>\n<p>AUTO1 Technology split to 8 Business Units, each of them has its own set of functions, for example, under the Internal BU, we have DevOps, Design, Core etc. In total, we have 30+ functions and each of them has their roadmap to deliver. And, each team also will need to keep an eye on their technical debt.</p>\n<p><img src=\"https://lh3.googleusercontent.com/yvtgM7DEm071JAOlv7stZjfjb3j31gbUhlMFH7mdXrls0TMaBG7FlV8kU6hgo99AGZ6LxotbaGzkZjbD6EiYfjqhj2j4uEQmR3n0qE6rwFl0XbPOfVgpcMabcdn4Zvh-pQH8jOt9\"></p>\n<p>Every day in A1 Technology we plan new features, define the specs, test and do tens of releases to Production. Our roadmaps are living documents and change all the time as we need to react to market events or predict customers needs.</p>\n<p><img src=\"https://lh6.googleusercontent.com/Cr_GOw3whsmE5QUmFqElFtGzwUYhAudHXrkpI5BBwgWSgsD6DI1C1IDgO9ImhQTXjaBbd13IUntuxNY7wRBvBw1wGpYl7rl5bfk39ICXz8e_vMFnghBi530Oou9unORSShG7dJ9f\"></p>\n<p>We are a Product organisation, meaning that we split our teams into Product-oriented pods, where cross-functional engineers paired with a Product Manager and a QA. Sometimes, depending on the type of feature, they are joined by a Designer. Historically, to keep the roadmaps up to date, PMs needed to maintain headcounts in a Google Sheet.</p>\n<p>Consider this scenario - a PM knows that FE engineer John Doe works on a Feature A and their QA Jane Doe works on a Feature B. They update the spreadsheet and then find out that the TL switch Jane to a Feature B 5 mins ago.</p>\n<p>Now, multiplying this scenario to 30, we will see that the final allocations were not always actual, softly speaking.</p>\n<p>We could resolve it by telling our engineers to log their time somewhere, and they will need to log every hour of their workday. This way we would see them go to another company very shortly. Engineers like to do what they were trained for and not fill up neverending timesheets.</p>\n<p>And let’s not forget about the PMs, who were people chasers instead of being a customer/revenue/idea chasers. Finally, they spent too much time on getting these numbers instead of focusing on their daily tasks.</p>\n<h3>Google spreadsheet UI</h3>\n<p>Looking at the above issue we can also clearly see another one. To manage all of that we use Google spreadsheet UI and it has its limitations:</p>\n<ul>\n<li>\n<p>It’s very easy to accidentally remove a value from a cell and don’t even notice it. Which happened a few times...</p>\n</li>\n<li>\n<p>There are no backups and it's very hard to restore some of the values there. The history of updates is hidden and it's not always working as we need to.</p>\n</li>\n<li>\n<p>The purpose of the spreadsheet is to be... well, a spreadsheet - to calculate something to present some existing data in a table view. This doesn’t work well for our use case. Managing pipelines is much more complex tasks that requires a lot more to it - see the next section.</p>\n</li>\n</ul>\n<h3>Workflow process</h3>\n<p>Google spreadsheet also doesn’t allow to track the feature lifecycle very well and validate if some steps were missed.</p>\n<p>NB: The above sentence is not 100% true. But it would require a lot of complex configuration and a lot of maintenance time to implement such functionality there. Which won’t make it a very robust solution.</p>\n<p>Our process is quite flexible and depends on the type of the feature and the Business unit but in general consist of some common steps:</p>\n<ol>\n<li>\n<p>Requirements gathering</p>\n</li>\n<li>\n<p>Writing the specs</p>\n</li>\n<li>\n<p>Getting signoffs from the SHs</p>\n</li>\n<li>\n<p>Demoing the increment to them</p>\n</li>\n<li>\n<p>etc.</p>\n</li>\n</ol>\n<p>Using just the spreadsheet functionality it’s very easy to miss some of them accidentally or to take some shortcuts intentionally. There is no easy way to validate whether all the important steps were taken.</p>\n<h3>Lack of automation</h3>\n<p>Some of our features require designs or mobile app counterpart development. How can we track it more efficiently? In the original approach, we would need to manually duplicate records from the BU’s pipeline to a corresponding Design and Mobile team pipelines. There was no easy way to automate it.</p>\n<h2>The answer</h2>\n<p>So, how one would go about managing all these features across the Tech organisation? To help us with that we came up with TechOS, an AUTO1 Technology Operating System, the tool that would help us with all of that.</p>\n<p>TechOS designed to tackle the issues above. It allowed us to:</p>\n<ul>\n<li>\n<p>Get up-to-date data on our Engineers allocations</p>\n</li>\n<li>\n<p>Free up our PMs from a burden of chasing people</p>\n</li>\n<li>\n<p>Introduce some insurance in a form of backups and changelogs</p>\n</li>\n<li>\n<p>Add a feature lifecycle validation to all the items on the roadmap</p>\n</li>\n<li>\n<p>Automate some of the tasks and jobs</p>\n</li>\n<li>\n<p>Get this data - after all, we are a data-driven company - that we need to back-up our decisions, like:</p>\n</li>\n</ul>\n<blockquote>\n<p>What are the late features?\nWhich of our MVPs were too long and too costly?\nDo we maintain a 1 to 3 ratio of QAs and Devs that we claim we do?    </p>\n</blockquote>\n<h2>How it works</h2>\n<p>PMs create tasks in the UI that we built in house.</p>\n<p>All our engineers receive a notification that reminds them to submit an update for today. This action only takes up to 30 seconds and it can be done from a mobile phone. We only ask them to choose a task that they were working today from the list of tasks. They choose a task as Primary or Secondary (non-mandatory) and hit submit. We don’t ask about comments or any notes. We don’t ask about the exact time they spent on it. No. Just two dropdowns, one of them is not required at all.</p>\n<p>We don’t use these updates to measure employees performance. They are only used to know the allocations for the task:</p>\n<p><img src=\"https://lh3.googleusercontent.com/mQt3PeJM0OMd1UkEF_iYvz6LSyr7BWbafyqyjxHPaVyYfebMBD00VXmIM8R_acox5DKYEN4OAc-LRRu8feSl6ERgKxwYJGHIPAg1U7zUzYvmj6s-SSnA4DTT2ENnXvPiV_xA40GQ\"></p>\n<p>On the screenshot above we see a pipeline view with some key data about the Roadmap item and the number of people who are working on these tasks. The decimal numbers are there because we show a weekly average.</p>\n<h2>So, how does it help us?</h2>\n<p>The best thing about TechOS is its data and how it can be used. With people linked to tasks, we can have very powerful reports that can give us insights into how we work and what needs to change.</p>\n<p>Here are a few examples.</p>\n<h3>Tech allocation</h3>\n<p>We have a textual or a visual representation of how our PMs, Devs and QA are allocated on the task</p>\n<p><img src=\"https://lh4.googleusercontent.com/EZIHgD1u6-uVAG_c0AW2Y4QEf6Hia0Wt1Y4QMRaOc5y31Qb1Qg2M6JuWvnwZwTBh1OoIzJ-7BhLJMF0hjRM767YP405F25mx0KF3k6OH2EOJzeKl_0TeKQIlOQDVo61qUjL9M7qD\">:</p>\n<h3>Days invested</h3>\n<p>This report shows us how much effort is spent in different areas of the task: in planning, writing specs, development etc.</p>\n<p><img src=\"https://lh6.googleusercontent.com/KyLHXVRSIowTRybMH7hAOgiCvdzGqNBqg57UYB9lQ4K-zskAPsVG_e7hoKVAaM3qJ4F3Xh8Yshx65yCF0e_n3LyM2AZ5MyPBnLuZFdyDfg-5JDRF9-24zXMSQyRrBel70VoGJJW7\"></p>\n<p>The above two reports combined are a powerful tool and enable us to be agile and adapt rapidly.</p>\n<h3>A few more benefits</h3>\n<ul>\n<li>\n<p>No more accidental deletes of data in cells</p>\n</li>\n<li>\n<p>Permissions that allow different access to different areas of the roadmap</p>\n</li>\n<li>\n<p>A lot of flexibility configuring tasks workflows. A bit more on that below:</p>\n</li>\n</ul>\n<p><img src=\"https://lh5.googleusercontent.com/ET-G6wXxbo6O1YniBzp4lRQU6D7DAo9WPn0ugiHifyGVV3-E6KV3Gf-ETvwYYnE3MlTeQlIkPp3EtxxL8BSB-vgVjn0-34UBUE2C2_y_lCKLtgWQHdhEWAmQDOHqQX-BDZPYwpE8\"></p>\n<p>On the diagram above you can see an example of how we can configure a life cycle of a task. Something that wasn’t available to us before.</p>\n<ul>\n<li>\n<p>Automation - now we can automatically create tasks in corresponding pipelines if a checkbox was ticked. I.e. if someone creates a feature that requires the Design team’s effort, they can just choose the “Design” checkbox and a corresponding task will be created in the Design team pipeline.</p>\n</li>\n</ul>\n<ul>\n<li>An aggregated view that allows us to show the roadmap items the way we like it: group them by goals, by ICE or any other way we like.</li>\n</ul>","fields":{"slug":"/TechOS/","tags":["auto1","engineering","projectmanagement"]}}},{"node":{"id":"a5e0a01f-3e0b-578a-9e70-98d511e929fb","frontmatter":{"category":"TechRadar","title":"AUTO1 Tech Radar October 2020","date":"2020-10-09","summary":"AUTO1 Tech Radar October 2020","thumbnail":{"relativePath":"pages/tech-radar-october-2020/radar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABcBAAMBAAAAAAAAAAAAAAAAAAECAwD/2gAMAwEAAhADEAAAAePlJzgZgw0FH//EABsQAAIBBQAAAAAAAAAAAAAAAAABAhAREjFB/9oACAEBAAEFAoxyozg9lxn/xAAWEQADAAAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BqP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABUQAQEAAAAAAAAAAAAAAAAAACEw/9oACAEBAAY/AmP/xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhMRD/2gAIAQEAAT8hsuCK6ht0TxDvlZwsRXh//9oADAMBAAIAAwAAABCYMEP/xAAYEQADAQEAAAAAAAAAAAAAAAAAAREhMf/aAAgBAwEBPxDaLhBnD//EABgRAAMBAQAAAAAAAAAAAAAAAAABESEx/9oACAECAQE/ENouEE8P/8QAGxABAAMBAQEBAAAAAAAAAAAAAQARIVFBMYH/2gAIAQEAAT8QG6DVB5EKCJzyIMp+AR7l8xiq6sRgprIurxFaML5CYBP/2Q==","width":326,"height":325,"src":"/static/38ec33b907e70d89d23101b34889b707/a2998/radar.jpg","srcSet":"/static/38ec33b907e70d89d23101b34889b707/a2998/radar.jpg 1x,\n/static/38ec33b907e70d89d23101b34889b707/99cce/radar.jpg 1.5x,\n/static/38ec33b907e70d89d23101b34889b707/6e995/radar.jpg 2x,\n/static/38ec33b907e70d89d23101b34889b707/968b1/radar.jpg 3x"}}},"authorName":"AUTO1 Group","authorDescription":"AUTO1 Group","authorAvatar":{"relativePath":"pages/tech-radar-october-2020/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/tech-radar-october-2020/radar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABcBAAMBAAAAAAAAAAAAAAAAAAECAwD/2gAMAwEAAhADEAAAAePlJzgZgw0FH//EABsQAAIBBQAAAAAAAAAAAAAAAAABAhAREjFB/9oACAEBAAEFAoxyozg9lxn/xAAWEQADAAAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BqP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABUQAQEAAAAAAAAAAAAAAAAAACEw/9oACAEBAAY/AmP/xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhMRD/2gAIAQEAAT8hsuCK6ht0TxDvlZwsRXh//9oADAMBAAIAAwAAABCYMEP/xAAYEQADAQEAAAAAAAAAAAAAAAAAAREhMf/aAAgBAwEBPxDaLhBnD//EABgRAAMBAQAAAAAAAAAAAAAAAAABESEx/9oACAECAQE/ENouEE8P/8QAGxABAAMBAQEBAAAAAAAAAAAAAQARIVFBMYH/2gAIAQEAAT8QG6DVB5EKCJzyIMp+AR7l8xiq6sRgprIurxFaML5CYBP/2Q==","width":1280,"height":1278,"src":"/static/38ec33b907e70d89d23101b34889b707/966a5/radar.jpg","srcSet":"/static/38ec33b907e70d89d23101b34889b707/966a5/radar.jpg 1x,\n/static/38ec33b907e70d89d23101b34889b707/aa36d/radar.jpg 1.5x,\n/static/38ec33b907e70d89d23101b34889b707/26d0b/radar.jpg 2x,\n/static/38ec33b907e70d89d23101b34889b707/39d45/radar.jpg 3x"}}}},"html":"","fields":{"slug":"/tech-radar-october-2020/","tags":["TechRadar"]}}},{"node":{"id":"dc3aa441-f1ec-5a7d-b881-e2c93b86ddfd","frontmatter":{"category":"DevOps","title":"Improving our CI/CD system performance with storage migration","date":"2020-09-21","summary":"Leveraging AWS Elastic Block Store for improved performance and faster build times.","thumbnail":null,"authorName":"Rafael Silva","authorDescription":"Rafael is a DevOps Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/storage-system-improvements/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQb/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAB0IK9eXdVyc/CGqD/xAAcEAACAwADAQAAAAAAAAAAAAABAgADEgQREyL/2gAIAQEAAQUCY9LSxJl92J7ZCPtLT9zjk4//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/AR//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAcEAEAAQQDAAAAAAAAAAAAAAABAAIQESExQYH/2gAIAQEABj8CcczatsU9waXcGNvZ/8QAHBABAAMAAgMAAAAAAAAAAAAAAQARMRAhQVFh/9oACAEBAAE/IWXgdTa57OHBUur8SwRbZ9x2IyIB0x//2gAMAwEAAgADAAAAECAnvv/EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAwEBPxAkcf/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EAB0QAQACAQUBAAAAAAAAAAAAAAEAESExQVFxgaH/2gAIAQEAAT8Qrrsti8xYDhdIOK+y5TBSrKnUFnZQl1zfsIcLGBs7kuV0QImCShbHhP/Z","width":50,"height":50,"src":"/static/2eae20fca46dd64af3b25077e9ded172/45876/avatar.png","srcSet":"/static/2eae20fca46dd64af3b25077e9ded172/45876/avatar.png 1x,\n/static/2eae20fca46dd64af3b25077e9ded172/eb85b/avatar.png 1.5x,\n/static/2eae20fca46dd64af3b25077e9ded172/4f71c/avatar.png 2x,\n/static/2eae20fca46dd64af3b25077e9ded172/9ec3e/avatar.png 3x"}}},"headerImage":null},"html":"<h1>Improving our CI/CD system performance with storage migration</h1>\n<p>In order to scale up our CI/CD build platform running with Jenkins[1], we used to leverage the <strong>AWS Elastic FileSystem</strong>, also known as EFS, to provide a network filesystem that can be mounted across one or more VM instances.</p>\n<p>This deployment setup works well with a containerised workload as the orchestrator can schedule the container or virtually any node on the cluster, therefore we need to make sure the storage is available for every instance where the build platform will be deployed. We accomplished this by simply attaching the EFS storage in all nodes on the cluster, thus allowing the container to be rescheduled in any instance at any time.</p>\n<p>However, we started to face some challenges with the increase of new services and the introduction of features such as Jenkins Pipeline and Multibranch Pipelines. We noticed that the system build queue was growing bigger over time, as our build system was taking longer to process the services pipelines, with a direct impact on the development time and life cycle.</p>\n<p>In our investigation and analysis we identified the storage file system as one of the biggest contributors to the performance of the Jenkins Master node. We tested and decided to migrate the Jenkins filesystem to another storage type - <strong>AWS Elastic Block Store</strong> service, also known as EBS, that provided better performance in our tests compared to the EFS file system.</p>\n<p>The Jenkins Home directory will often be composed of lots of small to medium size files, which can be troublesome when operating in a network file system due to the overhead required to send the file operations over the network. Moving Jenkins to a faster storage system can lead to a great performance impact on the overall build platform.</p>\n<p>The downside of running the platform on AWS EBS is that we degraded the high availability of the platform as EBS is limited to a single Availability Zone (actually, one of the reasons why the storage is faster), leading to an adjustment to the service deployment, ensuring it’s deployed on the same AWS availability zone and introducing new plugins that will integrate the container system with EBS. The new adjustments also introduce more complexity to the infrastructure. Nevertheless, we decided that improving the performance of the system will bring more value to the development side and consequently could have a positive impact on the business.</p>\n<h2>Performance improvements with EBS</h2>\n<p>Most of the performance gain is bound to the Jenkins Master itself, as only the master was using the EFS storage and the Jenkins Build Nodes were already using EBS or instance local storage. Nevertheless, there could still be improvements as the Jenkins Master was responding faster even when when communicating with the build nodes.</p>\n<p>After the migration to EBS we started to see an improvement on the Jenkins Master Build Queue. In the following graph, we can see the number of builds queued to be processed. The bigger the queue, the longer the waiting time for the new jobs to start the services pipelines build and deployments.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ec4732818a8599ba42c9d4bca3052386/b39e8/Jenkins1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 53.125%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsSAAALEgHS3X78AAAB30lEQVQozz1RiZKiMBT0Q5YjCQhyQzgS7qAguA7OqOjU/P+H7KN0p6qrq6vzOi+p3kgy/iOpL0gyUhQM8PwooqnrhiAsx5NlJCuvMbSOKeuYJKmbyPF5lDCaFHEW2C7GmqGbZcprltesANMybBVprmnnNE3DGBx/5xCsQ35TeKGIEhGl+5hlFiwhBjYan7Zh0gTJwHhdMUkhqe31KRc0HVheeAGE4S2bY8WORXYsGUDwNIgCntGx4lPNj2U2D83feY8QiXZObnuZ5XJg29PIFv6ymU/d/eNwm/v7fLic921fHcfmNh/ul/72cVi+hst92JpGYNilG3DLzR2fOf47/Hkdlse4PKZlGb9ux37uTp970ODcgZdxvg1J6sY7q6PhueVtGCamo+GtrKDN7T7+/Jy/v0+A5Tn1l+587UE/n9NqPqfLc6pENjFvmZrHdXzMB5HG7811XTBGhahEWzIWV23FiqwosmEQwFXFu4PIeFDmyX5fc067rmpFSV5hP4igz/Utpi3LWNdMVdVAEGIAqwohxNQxMnVdUXVJQgjpAJhZq8rzvGlEWdYeFEDAJQhr0DYI/F/oRAt2eEuIRjSE3ljDQUijKKE0DkNKNOP37BeQ90wSWTixsanDXW9fReQf4LeC/+fGfxAAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Jenkins1\"\n        title=\"\"\n        src=\"/static/ec4732818a8599ba42c9d4bca3052386/40fad/Jenkins1.png\"\n        srcset=\"/static/ec4732818a8599ba42c9d4bca3052386/707e9/Jenkins1.png 148w,\n/static/ec4732818a8599ba42c9d4bca3052386/649e0/Jenkins1.png 295w,\n/static/ec4732818a8599ba42c9d4bca3052386/40fad/Jenkins1.png 590w,\n/static/ec4732818a8599ba42c9d4bca3052386/b3fef/Jenkins1.png 885w,\n/static/ec4732818a8599ba42c9d4bca3052386/301c0/Jenkins1.png 1180w,\n/static/ec4732818a8599ba42c9d4bca3052386/b39e8/Jenkins1.png 1344w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>The migration started on the 9th of August and finished on the 11th of August, with a noticeable decrease of builds in the queue. The graph is less stable after the migration because the queue was running faster for some builds, depending on the type and project repository size. Additionally, this behavior happens due to the fact that most of the multibranch pipeline projects are scheduled to run every minute and usually start at the top of the minute, while with the performance improvements the build was finished faster and did not postpone or queue the consecutives runs, on the next minute.</p>\n<h1>Jenkins Master Multibranch Pipeline running time</h1>\n<p>One of the most significant improvements we can see is the time spent by Jenkins evaluating a multibranch pipeline job [1].</p>\n<p>Using the EFS storage we noticed in some cases it will take around 5 minutes to finish a MultibranchPipeline scanning process[1]. as shown on the image below:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0be251cc60eb2b81dad6751ed402f648/5d76c/Jenkins2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 15.375%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAIAAAAcOLh5AAAACXBIWXMAAAsSAAALEgHS3X78AAAAsUlEQVQI1w3LTQuCQBAAUP9/Bd0KPETQsQ+V6FBEX6cO4SElBSsTQZwJRHdndt0uCe/6LN22QshGCCIpnlsRO03sNpFTR6s69soix28FeAM8ApzK76VJl/ox1dHEvBZWa35ETKyYpIxnHIxkMBbBWN5HMrShyAArxDOii7gu0aszhxOPk2Wb7SxjfkpppY1WzKGt/T77gw7deuQPofiU0OUD4hzRAVxU+YbeJ5nudXH9AwqRm10AE9h8AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Jenkins2\"\n        title=\"\"\n        src=\"/static/0be251cc60eb2b81dad6751ed402f648/40fad/Jenkins2.png\"\n        srcset=\"/static/0be251cc60eb2b81dad6751ed402f648/707e9/Jenkins2.png 148w,\n/static/0be251cc60eb2b81dad6751ed402f648/649e0/Jenkins2.png 295w,\n/static/0be251cc60eb2b81dad6751ed402f648/40fad/Jenkins2.png 590w,\n/static/0be251cc60eb2b81dad6751ed402f648/b3fef/Jenkins2.png 885w,\n/static/0be251cc60eb2b81dad6751ed402f648/301c0/Jenkins2.png 1180w,\n/static/0be251cc60eb2b81dad6751ed402f648/5d76c/Jenkins2.png 1600w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>On the other hand, with the EBS storage, the build dropped to 4 seconds as shown on the image below:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/8e3016503d605ee16fa6bed9720055d5/5d76c/Jenkins3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 15.125%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAIAAAAcOLh5AAAACXBIWXMAAAsSAAALEgHS3X78AAAAsElEQVQI1xXLuw6CMABAUf5/cnM0aMTowkNNjBEMix+gpQ6CJgYp0PKo0EcKg/UOdzsGY5xS2jStfpucW2i3d6+GTg1sAr3sk6K8RPkF5acMBajwvw+zv015NJFpYCg18H+CC8HiA4+WHK57sGKR1cFNWSBCakwCTOwSbwlx+7fD45162WN1NdQwCCm1lFKKZC/ATEQLDuYCmAxaRZ6VGmMfE0djXLk0PXbPUKXhSOMfAx6cWaW+u3AAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Jenkins3\"\n        title=\"\"\n        src=\"/static/8e3016503d605ee16fa6bed9720055d5/40fad/Jenkins3.png\"\n        srcset=\"/static/8e3016503d605ee16fa6bed9720055d5/707e9/Jenkins3.png 148w,\n/static/8e3016503d605ee16fa6bed9720055d5/649e0/Jenkins3.png 295w,\n/static/8e3016503d605ee16fa6bed9720055d5/40fad/Jenkins3.png 590w,\n/static/8e3016503d605ee16fa6bed9720055d5/b3fef/Jenkins3.png 885w,\n/static/8e3016503d605ee16fa6bed9720055d5/301c0/Jenkins3.png 1180w,\n/static/8e3016503d605ee16fa6bed9720055d5/5d76c/Jenkins3.png 1600w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>The above is just a sample from a single project and does not represent the state of all the builds. In order to evaluate the performance across all builds, we extracted the build logs from two days (Monday and Tuesday) of the week before and after the migration took place. After calculating simple statistical functions on our data we could see a more general picture of the performance improvements as the following:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/bfe41c35485a6d83d88538e766c1bf09/9450d/Jenkins4.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 30.84648493543759%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAAsSAAALEgHS3X78AAAA2klEQVQY03WQ64qDMBCFff9XK7QL/aG1Wxu1mnhJqomJuSi7x10ohbbhMAzzzZkZEolBQj8fnppM04mwLG9ppJQZpUY0s/U+QA5y3lq3riuK4zjJFwr5EKL7oG51m+U1KdiFVMk5b/tB61kqDY7NtOEZ2WialaCU9dMfNbPbzKRkcUpO38UxznZfybWgALCFsCBWtIvPeXop98d0d0iQwIf6bF0k7rKsW5hZy+HB1H8B+7BgQ816GGgj0P5MN7OUuuMjbtuuNfYhdGCz1pYLWbG+4wNGP1H8if8FYftTdKo5z+kAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Jenkins4\"\n        title=\"\"\n        src=\"/static/bfe41c35485a6d83d88538e766c1bf09/40fad/Jenkins4.png\"\n        srcset=\"/static/bfe41c35485a6d83d88538e766c1bf09/707e9/Jenkins4.png 148w,\n/static/bfe41c35485a6d83d88538e766c1bf09/649e0/Jenkins4.png 295w,\n/static/bfe41c35485a6d83d88538e766c1bf09/40fad/Jenkins4.png 590w,\n/static/bfe41c35485a6d83d88538e766c1bf09/b3fef/Jenkins4.png 885w,\n/static/bfe41c35485a6d83d88538e766c1bf09/301c0/Jenkins4.png 1180w,\n/static/bfe41c35485a6d83d88538e766c1bf09/9450d/Jenkins4.png 1394w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>According to these metrics we are performing on average 3x faster than the previous implementation. One of the most significant improvements is the standard deviation metrics. In the previous implementation the standard deviation was around 30 seconds, which means on average the majority of the builds took between 8 and 30 seconds to be scheduled. With the new implementation most of the builds started between 3 and 5 seconds on average.</p>\n<p>Another metric that is worth taking a look at is p95 (i.e: 95th percentile) and p99 (i.e: 99th percentile). With EFS we performed 99% of the build scheduling in at least 21 seconds, with the EBS the p99 indicator is close to 5 seconds, with a 4.2 times faster result on average for most of the builds.</p>\n<h2>Summary</h2>\n<p>After the migration to the storage system we could immediately see performance gain on the build system, which can lead to a greater impact for the entire engineering department, especially inbetween the times developers push the code and having the changes tested and built into the infrastructure.</p>\n<p>Another big improvement was the Jenkins UI navigation, specifically the time that takes to render the build's outputs - while using a much faster navigation developers could be faster in spotting any build issues and increasing the overall user experience.</p>\n<p>We calculated a simple estimation and we expected an impact of 2 hours on engineering - based on the time Jenkins takes to process the pipeline and start the builds, and the time it takes to scan a multibranch pipeline. This estimation does not account for indirect performance gains such as navigating into Jenkins UI, like when waiting on Jenkins to render the build’s output.</p>\n<h2>References</h2>\n<p>[1] Multibranch Pipeline job is processed by cloning down the GitHub repository, scanning on the branches looking for a Jenkinsfile into the project root directory and creating or starting a build on the given branch when a new branch is created or the branch received any git changes.</p>","fields":{"slug":"/storage-system-improvements/","tags":["auto1","engineering","jenkins","AWS","performance optimisation"]}}},{"node":{"id":"43c570a3-c0cd-5599-ad87-bb0667eab8b0","frontmatter":{"category":"Social","title":"Product meets QA - Tech Talk by Antonella Zagaria & Alexander Gyulai","date":"2020-06-22","summary":"The second AUTO1 Group Tech Talk is now available in video format, featuring Antonella Zagaria, Senior Product Manager and Alexander Gyulai, Director of Quality Assurance.","thumbnail":null,"authorName":"Alex Stoicescu","authorDescription":"Alex is Tech Community Manager at AUTO1 Group.","authorAvatar":{"relativePath":"pages/QA-meets-Product-Tech-Talk/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":null},"html":"<p>Hello, colleagues, friends, readers and all of you <strong>excellent</strong> people out there!</p>\n<p><em>It's been a while, right?</em> Let's pick up where we left off...</p>\n<p>Our <strong>second Tech Talk</strong> took place in February at Maze, an event space fashioned after the Berliner spirit. Antonella and Alexander attracted almost 100 people with their promise of delivering amazing content, while having two different tracks allowed for the exposure of the participants to other vital parts of a tech start-up/<a href=\"https://www.youtube.com/watch?v=mBt2Gjv7cdY\">unicorn</a>.</p>\n<p>This event, the second in a series of events meant to promote local growth and accelerated learning, is now available for everyone to enjoy, on Youtube, along with the slides from the presentations.</p>\n<p><strong>Antonella Zagaria - Localisation in an ever-growing startup</strong>\n\n        <div class=\"embedVideo-container\">\n            <iframe\n              width=\"800\"\n              height=\"400\"\n              src=\"https://www.youtube-nocookie.com/embed/jnBZaDxAogw?rel=0\"\n              class=\"embedVideo-iframe\"\n              style=\"border:0\"\n              allowfullscreen\n            ></iframe>\n        </div></p>\n<p><strong>Alexander Gyulai - SHIFT your testing gear</strong>\n\n        <div class=\"embedVideo-container\">\n            <iframe\n              width=\"800\"\n              height=\"400\"\n              src=\"https://www.youtube-nocookie.com/embed/BPid8IicnN8?rel=0\"\n              class=\"embedVideo-iframe\"\n              style=\"border:0\"\n              allowfullscreen\n            ></iframe>\n        </div></p>\n<p>As always, sign up on our community page on <a href=\"https://www.meetup.com/AUTO1-Group-Tech-Talks/\">Meetup.com</a> to stay up to date and be amongst the first to find out when our next event is going to be. And it might be sooner than you think ;)</p>","fields":{"slug":"/QA-meets-Product-Tech-Talk/","tags":["auto1","engineering","social","tech talks","product"]}}},{"node":{"id":"f3a0fb4b-eb2f-5624-a408-d63e3cee5184","frontmatter":{"category":"Coding","title":"Spring batch integration","date":"2020-02-07","summary":"Usage cases for spring-batch.","thumbnail":null,"authorName":"Artur Yolchyan","authorDescription":"Artur is a Senior Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/spring-batch-integration/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsSAAALEgHS3X78AAAEfElEQVQ4yz2O2VMbBQDGlzJQSylXIEc3F0eODYGEJAQI5GBzbK49kt0cm703CSRQqfQCB9taap1qgY61VXqoPZxxbKe2dWo7tY6d0RdHX/0HfPLRF991qTPO/OZ7+33fB+RDFjruKMWhcgwqwnYqaiVhKwXbiolRgZiuVxJ1LrsgEg25sFilFqrFBblQFXNVgajyBMCkxiuIs4yMMoiDSTiwoC3kc/hdVpdVPzFqRua9MpupS7mqmK9LVF0u1CVFzssCIXMYwKZcTGpMyWLUOe2yjoxAQyNO1YCutbV9f1tbe1u7dcRY47GaMiXuVVSFvMTjModLLApwaRefHqeibqNm4EBnb/+A1mo2T9kHcZ9tGR5LQocPvdFmNusEOqv8lPicxBESi4kstifzabeMuj1Wnba7i/Q71vDgJ/Xc4zXhyWrxq1pyG/eWvEMd+9umfWMLAiFWshKD/g8goROV5LjdBJa9ls9r2edr4svTjRenG8836o9WK7e46EXM5zbpNGoVX0qKdEqk00qFgkBnAGrOko+Nz1jA94iZhyvFZ8fZ707JLzaWft48/vJ08/6b5Y+K4azHph5QlbCIXE7yJYRXco8U4Ffvn7ZoAiPgRSp8vU59s9Z89s7RJ2fXtxerbxGpo5nIOWxaCLr1BhOZDUqlOF+ICyVEQSwnAcuBFmtHi8ekRT0OMjBZQyI3lvgduVCLzvGx0HJi9nw+WPTbJ4dNdSLMUTBXiAnF+GsSgKN7n62zxWnQVAIuOjCxEJnaxuevleMfkMjJzPxGcuZTPs4FoA0U3uHIIhHkqKgCr1CIAx6wBeptTY3ZTiRnzmPhbTp9gyFuc+hNBnm6Kj48tXy1Ri7Brs8WxTMVvITN8fkIT8I8GRXIKFCAR11g1wSo3WSIb9dXbojEnUb1C5m5XkJ+ePvI4/WVHSm3BE98SKNCZpbBg6xyntzz92QxN+U39XYBQDMdfbTWvCpiF/Kpyyy1Wy/fapS+XC5tcclq0JGdMOViHhYP/Sdzyn5+HuBR3+xwXwcABG1DNxvkOgqfLxR3q4vvoujFQvzeSuGymKV8w5C+m4p7GTTIYEE2F+b2iABcZnLW2tsNAPrOg5f4zJVyYgfH7vHibY76epm8eyR/BpuU0inPNBFwW6RcSPGVfQYPcbl5gM14Ex69/gDQvW8f7rHuyujtGnm3yT84Id45Sp8lw0dwZHPrqX0s3N/Xnwl56UyAI0KvCQN02lOIOcfV7erWFvBgOwwZj+VSm0LleDlfR+aOsfSDV3+yS1udHV2aAZNaBQ4aByddTjQ6VcGCAJv1wX472K9S96gOHeyZmkHoWJiJ+Jsxz9ax1Ve//33p3k86tVmnM2s0JgWtdlCrHdKDw5AVAoio+7DW2NOj6+lRazQj71/99crayY8b+P3rd3/5459Hv/017o7otENGo82gt5jNo0rq9cMGg0UPWoBZj7O3Dxzo1/f1alyT6OL645Xm2cvXflw+93Rz93tx6YJaZRocHDMYIKMRAg9bQHDYZIIMBrvZ7PwXcPlkRtKKCQsAAAAASUVORK5CYII=","width":50,"height":50,"src":"/static/dc9516b9327e627890a1f5c7f84c004a/45876/avatar.png","srcSet":"/static/dc9516b9327e627890a1f5c7f84c004a/45876/avatar.png 1x,\n/static/dc9516b9327e627890a1f5c7f84c004a/eb85b/avatar.png 1.5x,\n/static/dc9516b9327e627890a1f5c7f84c004a/4f71c/avatar.png 2x,\n/static/dc9516b9327e627890a1f5c7f84c004a/9ec3e/avatar.png 3x"}}},"headerImage":null},"html":"<p><strong>Intro</strong></p>\n<p>In this article, we will take a look at spring-batch and how it could be used. We will walk through various configurations and we will create an application which reads from a CSV file &#x26; writes into a database with outstanding performance.</p>\n<p>I used the following: Java 11, Spring 5+, Spring Boot 2 and Maven-based project.</p>\n<p><strong>Create a Project</strong></p>\n<p>First, we need to create a Spring Boot 2 project. We recommend that you do so by visiting <a href=\"https://start.spring.io/\">spring initializer</a>, which is a useful tool to generate spring projects with required dependencies and configurations.</p>\n<p><strong>Dependencies</strong></p>\n<p>We need the dependencies below to run and test the project:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">&lt;dependency> \n &lt;groupId>org.springframework.boot&lt;/groupId>\n &lt;artifactId>spring-boot-starter&lt;/artifactId>\n&lt;/dependency>\n   \n&lt;dependency>\n &lt;groupId>org.springframework.boot&lt;/groupId>\n &lt;artifactId>spring-boot-starter-test&lt;/artifactId>\n &lt;scope>test&lt;/scope>\n &lt;exclusions>\n    &lt;exclusion>\n     &lt;groupId>org.junit.vintage&lt;/groupId>\n      &lt;artifactId>junit-vintage-engine&lt;/artifactId>\n    &lt;/exclusion>\n &lt;/exclusions>\n&lt;/dependency>\n\n&lt;dependency>\n &lt;groupId>org.springframework.boot&lt;/groupId>\n &lt;artifactId>spring-boot-starter-batch&lt;/artifactId>\n&lt;/dependency>\n\n&lt;dependency>\n &lt;groupId>org.springframework.boot&lt;/groupId>\n &lt;artifactId>spring-boot-starter-data-jpa&lt;/artifactId>\n&lt;/dependency>    \n\n&lt;dependency>\n &lt;groupId>org.projectlombok&lt;/groupId>\n &lt;artifactId>lombok&lt;/artifactId>\n &lt;version>1.18.10&lt;/version>\n &lt;scope>provided&lt;/scope>\n&lt;/dependency>\n\n&lt;dependency>\n &lt;groupId>com.h2database&lt;/groupId>\n &lt;artifactId>h2&lt;/artifactId>\n&lt;/dependency>\n    \n&lt;dependency>\n &lt;groupId>org.springframework.boot&lt;/groupId>\n &lt;artifactId>spring-boot-starter-test&lt;/artifactId>\n &lt;scope>test&lt;/scope>\n &lt;exclusions>\n     &lt;exclusion>\n     &lt;groupId>org.junit.vintage&lt;/groupId>\n     &lt;artifactId>junit-vintage-engine&lt;/artifactId>\n     &lt;/exclusion>\n &lt;/exclusions>\n&lt;/dependency>\n\n&lt;dependency>\n &lt;groupId>org.springframework.batch&lt;/groupId>\n &lt;artifactId>spring-batch-test&lt;/artifactId>\n &lt;scope>test&lt;/scope>\n&lt;/dependency>\n\n&lt;dependency>\n &lt;groupId>org.hamcrest&lt;/groupId>\n &lt;artifactId>hamcrest-all&lt;/artifactId>\n &lt;version>1.3&lt;/version>\n &lt;scope>test&lt;/scope>\n&lt;/dependency></code></pre></div>\n<p><em>spring-boot-starter-batch</em> dependency includes all the configurations to run the spring batch application. <a href=\"https://projectlombok.org/\">Lombok</a>  is just a helper dependency to write the code faster and cleaner. <a href=\"http://www.h2database.com/\">H2</a>  is used as an in-memory database. <em>spring-boot-starter-test</em> and <em>spring-batch-test</em> are included for test purposes.</p>\n<p><strong>Book Class</strong></p>\n<p>Let’s create a model class book, which will represent a book. This will just serve as a model class and will help us during implementation of spring batch.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Data\n\npublic class Book {\nprivate String title;\nprivate String description;\nprivate String author;\n}</code></pre></div>\n<p><strong>Configuration</strong></p>\n<p>Let’s create a class called SpringBatchConfiguration. We will add all required configurations here. First, let’s annotate this class with <a href=\"https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html\">@Configuration</a> to be able to inject beans, and with <a href=\"https://docs.spring.io/spring-batch/docs/current/api/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.html\">@EnableBatchProcessing</a> to enable spring batch processing. Additionally, we can add <a href=\"https://projectlombok.org/features/constructor\">@RequiredArgsConstructor</a> from Lombok which would help us to generate constructor with parameters. These parameters are the ones which are marked as final class properties. These properties will be injected as spring beans. Our class will be like this:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Configuration\n@EnableBatchProcessing\n@RequiredArgsConstructor\npublic class SpringBatchConfiguration</code></pre></div>\n<p>Now, in SpringBatchConfiguration class let’s add properties which need to be injected into the constructor:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">private final JobBuilderFactory jobBuilderFactory;\nprivate final StepBuilderFactory stepBuilderFactory;</code></pre></div>\n<p><em>jobBuilderFactory</em> and <em>stepBuilderFactory</em> are declared in spring batch jar as spring beans so that we can inject them in any class we want.</p>\n<p><strong>File Reader</strong></p>\n<p>Now, we need to declare and initialize spring beans to configure the batch process. The first bean which we will need will be responsible for reading from a file line by line. Spring Batch provides a default class for it. The class name is <em>FlatFileItemReader</em>. Similarly, spring has different default reader classes for reading from a relational database, mongodb and etc. However, if you need, you can create your own reader and implement it in a way you want.</p>\n<p>Let’s now see what <em>FlatFileItemReader</em> injection will look like.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Bean\n@StepScope\npublic FlatFileItemReader&lt;Book> bookReader(@Value(\"#{jobParameters['filePath']}\") final String filePath\n) {\nreturn new FlatFileItemReaderBuilder&lt;Book>()\n    .name(\"personItemReader\")\n    .resource(new ClassPathResource(filePath))\n    .delimited()\n    .names(new String[]{\"title\", \"description\", \"author\"})\n    .fieldSetMapper(new BeanWrapperFieldSetMapper&lt;Book>() {{\n    setTargetType(Book.class);\n    }})\n    .build();\n}</code></pre></div>\n<p>We are configuring that the bean reader should read data from the given file path, which should be a CSV file having rows with title, description and author respectively.</p>\n<p>The <a href=\"https://docs.spring.io/spring-batch/docs/current/api/org/springframework/batch/core/scope/StepScope.html\">StepScope</a> means to initialize this bean after each step, so file path could be dynamically set when the spring batch job is launched. We will come to that later, how to pass the file path later in this article.</p>\n<p><strong>Item Writer</strong></p>\n<p>Now, let’s create a writer class, which will take the data and write into the relational database.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Bean\npublic JdbcBatchItemWriter&lt;Book> writer(final DataSource dataSource) {\n    return new JdbcBatchItemWriterBuilder&lt;Book>()\n        .itemPreparedStatementSetter((book, preparedStatement) -> {\n            preparedStatement.setString(1, book.getTitle());\n            preparedStatement.setString(2, book.getDescription());\n            preparedStatement.setString(3, book.getAuthor());\n        })\n        .sql(\"INSERT INTO books (title, description, author) VALUES (title, description, author_surname)\")\n        .dataSource(dataSource)\n        .build();\n} </code></pre></div>\n<p>In the writer bean, we are setting item processors and adding values inside <em>preparedStatement</em> accordingly, which book property should be inserted for each db table column.  </p>\n<p><strong>Step Configuration</strong></p>\n<p>Now, let’s configure a step which will be executed in the batch process. In our case, the configuration will look like this:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Bean\npublic Step step1(final ItemWriter&lt;Book> writer, final ItemReader&lt;Book> reader) {\n    return stepBuilderFactory.get(\"step1\")\n        .&lt;Book, Book> chunk(100)\n        .reader(reader)\n        .processor((ItemProcessor&lt;Book, Book>) book -> book)\n        .writer(writer)\n        .build();\n}</code></pre></div>\n<p>In our scenario, we have only one step, but it's also possible to configure multiple steps. Here, we are creating a spring batch step with the name <em>step1</em> and setting reader and writer accordingly. These are the readers and writers which we created as spring beans earlier.</p>\n<p>We are setting chunk as 100, which means the items chunk proceeded is 100. We can make this configurable too. The processor is for converting the current object to the one which the writer should proceed with. In our case, it is the same object.</p>\n<p><strong>Job Configuration</strong></p>\n<p>Last but not least, let’s configure the job which should be executed.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Bean\npublic Job importUserJob(final Step step1) {\n    return jobBuilderFactory.get(\"bookReaderJob\")\n        .incrementer(new RunIdIncrementer())\n        .flow(step1)\n        .end()\n        .build();\n}</code></pre></div>\n<p>Here, we create a job with the name <em>bookReaderJob</em>. We add an incrementer <a href=\"https://docs.spring.io/spring-batch/docs/current/api/org/springframework/batch/core/launch/support/RunIdIncrementer.html\">RunIdIncrementer</a>, which is an id generator for the tables which are specifically designed to store the details about job executions in the database. After each time the spring batch job is executed, it will save details about the execution. To check the schema structure for storing this data, take a look at <a href=\"https://github.com/spring-projects/spring-batch/blob/master/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql\">this sql</a>. It is for MySql, but other SQL scripts are available too.</p>\n<p>Additionally, we add flow by which the job should be executed. Currently, we have only one step in our flow, so we add it.  </p>\n<p>Please also add this config: <code class=\"language-text\">spring.batch.job.enabled=false</code> in your properties config file so that spring batch job won’t be executed automatically with no parameters when the application is started.</p>\n<p><strong>Execution</strong></p>\n<p>To execute the job, we need to declare <a href=\"https://docs.spring.io/spring-batch/docs/current/api/org/springframework/batch/core/launch/JobLauncher.html\">JobLauncher</a> and launch the job. To do so, we need to create the below class:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Component\n@RequiredArgsConstructor\npublic class SpringBatchExecutor {  \n    private final JobLauncher jobLauncher;\n    private final Job job;  \n\n    @SneakyThrows\n    public void execute(final String filePath) {\n        JobParameters parameters = new JobParametersBuilder()\n            .addString(\"filePath\", filePath)\n            .toJobParameters();  \n        jobLauncher.run(job, parameters);\n    }  \n}</code></pre></div>\n<p>Now, we can call the execute method from whenever we want, with the file path from which the data should be read.</p>\n<p><strong>Additional Classes</strong></p>\n<p>There are a few additional classes which you will need to execute your code.</p>\n<p>Create a class <em>BookEntity</em> so that spring data JPA will automatically create the book table for you. Then you can create repository.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Data\n@Entity\n@Table(name = \"books\")\npublic class BookEntity {\n    @Id\n    @GeneratedValue(strategy = GenerationType.IDENTITY)\n    private Long id;\n    private String title;\n    private String description;\n    private String authorFullName;\n}</code></pre></div>\n<p>Then create the interface <em>BookRepository</em> and extend it from <em>JpaRepository</em>. At the moment, we will need this only for testing.  </p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Repository\npublic interface BookRepository extends JpaRepository&lt;BookEntity, Long> {\n} </code></pre></div>\n<p><strong>Testing</strong></p>\n<p>No one likes a code which is not tested. So, let’s write a few test cases for our class.</p>\n<p>Here is a code sample for test cases:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Slf4j\n\n@SpringBootTest\nclass SpringBatchSampleApplicationIntegrationTest {\n\n    @Autowired\n    private SpringBatchExecutor springBatchExecutor;\n    \n    @Autowired\n    private BookRepository bookRepository;\n\n    @Test\n    public void testExecution() {\n        long initialCount = bookRepository.count();\n        assertThat(initialCount, equalTo(0L));\n        springBatchExecutor.execute(\"sample-data.csv\");\n        long count = bookRepository.count();\n        assertThat(count, equalTo(7L));\n    } \n\n    @Test\n    public void testLargeData() {\n        long startTime = System.currentTimeMillis();\n        long initialCount = bookRepository.count();\n        assertThat(initialCount, equalTo(0L));\n        springBatchExecutor.execute(\"large-data.csv\");\n        long count = bookRepository.count();\n        assertThat(count, equalTo(60000L));\n        long endTime = System.currentTimeMillis();\n        log.info(\"executed in miles: {}\", endTime - startTime);\n    }\n}</code></pre></div>\n<p>The second test executes in ≈ <strong>3500 ms</strong> in a machine with a 2.2 Ghz Intel Core i7 and 16GB ram. It proceeds 60K lines of CSV file, and saves it into a relational database.</p>\n<p>You can check out the working sample code in <a href=\"https://github.com/yolch-yolchyan/spring-batch-sample\">github</a>,</p>","fields":{"slug":"/spring-batch-integration/","tags":["auto1","engineering","spring","code","java"]}}},{"node":{"id":"2bf7354b-946c-5b99-826e-3c9ebed6b92c","frontmatter":{"category":"Social","title":"How to build a data-driven unicorn - Niv Liran","date":"2020-01-23","summary":"Watch the full video of the first AUTO1 Group Tech Talk, featuring CPO Niv Liran.","thumbnail":null,"authorName":"Alex Stoicescu","authorDescription":"Alex is Tech Community Manager at AUTO1 Group.","authorAvatar":{"relativePath":"pages/how-to-build-a-data-driven-unicorn-with-niv-liran/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":null},"html":"<p>Back in November 2019, we had the pleasure of hearing from our Chief Product Officer, Niv Liran, about the makings of a data-driven unicorn. This event, the first in a series of events meant to promote local growth and accelerated learning, is now available as a video, along with the slides from the presentation.</p>\n<p>\n        <div class=\"embedVideo-container\">\n            <iframe\n              width=\"800\"\n              height=\"400\"\n              src=\"https://www.youtube-nocookie.com/embed/mBt2Gjv7cdY?rel=0\"\n              class=\"embedVideo-iframe\"\n              style=\"border:0\"\n              allowfullscreen\n            ></iframe>\n        </div></p>\n<p>As always, sign up on our community page on <a href=\"https://www.meetup.com/AUTO1-Group-Tech-Talks/\">Meetup.com</a> to stay up to date and be amongst the first to find out when our next event is going to be.</p>","fields":{"slug":"/how-to-build-a-data-driven-unicorn-with-niv-liran/","tags":["auto1","engineering","social","tech talks","product"]}}},{"node":{"id":"a3a21c38-873e-56db-a170-eec0e6136040","frontmatter":{"category":"Coding","title":"Writing IntelliJ plugins","date":"2019-12-10","summary":"How to write a simple IntelliJ plugin","thumbnail":{"relativePath":"pages/intellij-plugin/logo.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEyElEQVQ4y3WVe0xTVxzHz723rfZBsVeqnc4Yw0aYFSiFFZlZxnSo4w+gSBWEglTmA59jCt4WCOUxq+J4zGwaMqfJfDBi2GbMxjJfMXMzJks0Y5ngfE0mqAwrFLHtPb+de4CKf+wkv5zfOed3Pr/vOb+Te9FAzEokNV9cLvq/Nmpew8L8DIQOANJUPEdh+wGpBB8jrSldo0hd7n0RLJry0fA4bCg2RxYw5S3zm/ISnsWt1vvi8qZMxD1KLkVvb+lmJifS7hrmpJ4lCfidAy8WAqZ8dqzPSwFzIQRN+UEy95SMbxK7MhK3umQiVlnuLVQKwxcVW//SS2O94JNFFZyja3NLHyD03JSHIN5OMxHQZ5C4Fgg0CAlFAIkOAMs6gIWbiV9sQ0cgTlMl+tW7ATSV+E64y2+R9kWVDXJR226PZZSAUvPG5mpxvP0+MfjjjfTg9eh0/Nv8TPGXBdmBS3H5cC52tS8253SffNMN0BZfHdVu7AK+tC9gIIon1MdsvkXvkKojd2aT1N02ZgXDWBnmGBbLJWM5IL4oZzhQEEOMTESsHBBiAjNzz8BrVSJEb721b3taOzdWlIQien+kECfB8gHciM8NkCHOyLLC711d+MPSUkzGIM159njE5IVJ1CfVgXnZbeKbpQ9Ey84+iCy7kxUqylB8QeQoUTeatAWumteIMhKs43m42dMDFotFAgDDMHD+/HlIT88YA7IsNmUcwWmbb4hRu+4BX9mfGQI+SSiY/SBxneeflJLHZ5NKQM7IqKofOzth1qxZMK4QOjo6CDCd+izLwNLlLXhh+R2sr3oEM4SHy8bUOYz07H0daFrQNWPw57XJQG8iIQEwxmC1WiE1NRWampqgu7sbzGYzBUqniLV9gee4B3GE6zHonAMpFAh7ZPSx+sqmH4Pa6XB5++vSHcJbixbhpsZGSEtLA6PRCK2trZCTkxNSK5m+oB2/4h6WYDjcOZgcOvLDHbxyZJfuT6ifDhc3zA8qZIqXNr5sTMiPsJ/CevcoEFgwzPnETGHPBB1VeG+TwQDV2rNnC98FBmlEhUKG1So1TJ06FeRyOchkMuA47iWgzv4t5msCQGB+ldNrDCns3b6AQgGOs42LS67PnR0J+z9pCDY3N+ODhw7i9RvW08qOW8jX2k/jaTUY1M6nI0rhaSSF9e2IRlXvXKD+paJrEbVL9varp6hBGx7m53lejNDxYrhKE6TKGAYj8tiJT4Ea+5mA1o1B5Rz2KwXvnJDClszDtNKfWw9bW7KOwrYl9bAltQGKF3sgb/k+WJpzAGIcXwYiHV/j2Y7vxAjHD4FwxznQurygqQdQunw9yrIBLYV5rEdRQ/YJCty74qujhwp/gt253/R/bP/+eJPj8vvr3JdWvld95X6Spxeiq//Gc2uegMEDoHP7Iaxy5ILKOVREjjtN2k+UIlS34hgF12UeVtRln/i02ta2aWN6q37ydy9mfQdvFK61zqu4CwZnbx8v9Ddrd95PnBxDVI455dknaE9A7OSA+lWn2Orsdi7zo05uYu5V513LTKHXMDHW12Gkcvk4pTBEi6qegLptJ2nfU9CJam1tXKWtjRFWtSND1S06b3H+yiRWXg8l1Ff8y5G3x6oELyJK0cwa6TfwmK79B0KrRX19cxThAAAAAElFTkSuQmCC","width":325,"height":325,"src":"/static/b2f976ed5fa752977d8f8f9b2516534c/b3029/logo.png","srcSet":"/static/b2f976ed5fa752977d8f8f9b2516534c/b3029/logo.png 1x,\n/static/b2f976ed5fa752977d8f8f9b2516534c/8d141/logo.png 1.5x,\n/static/b2f976ed5fa752977d8f8f9b2516534c/ee72c/logo.png 2x,\n/static/b2f976ed5fa752977d8f8f9b2516534c/5dfa8/logo.png 3x"}}},"authorName":"Piotr Czekaj","authorDescription":"Piotr is a Senior Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/intellij-plugin/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/intellij-plugin/header.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsSAAALEgHS3X78AAADGklEQVQozx3R60/bVRjA8V80m2N4IVkWcfpmqyulTdd7oRYopEDbyaXlVgptobANkAzrUpwbyjZvgMpQ7CxhGCaXUTcv04mRRYMkKpB1MLYpIKkymb5S/4WvZ7745DkvnnOey5FS87qQWbqY0zWyIEzrmxkxHOFHcXZkRZCsZ0ixnmKH9TQPWV7m0eIo22q/JmjvI6ENsijyh7I62G7rYXt2F1KgpIo2TZhlbYBFkTCjDaE2Rdhn6mS36TiPC+nml9ilP0a6rQ91wxwZhxJ4ar9kMbuDdeMR+h0DyAOzyBwxpJDhMCsHAlzXBFgQ7mj8DGqaeUr3Agrt8yh0YWQiZolOq9wTuLxXcFZ/SmHNFVrKL/DKwXMcrPkcu2+aYkGKqkKsquu5rvZzQ7gf19R1nFTUo1M0Y5E3YNWGidu6mSzsQdc0j+ZwgrzgLFUVcWEKn/uiMInfPY40pPKxrvWypPFyU7ilqWZJX8dr9l4UrjFUzlFy3OJS8BqWtmVkRzeQtf/K3qNJCsT4EWeUU65+ely9HHOdQ3pR4Wa1OI8Vez637DaWiwp5tfxtIidmGbywxsilJH2xn3lneI3RyXU+iK3Q1votPu9VfP5vOOGMEbeHmXEcoregV+wwvYx4volk816SoSeZrS3lfPmbfFj2OqPeQcbqo4z7+pnwDvBxYJjJ2iFGSt8j5jhLzPUuY7ndXLREmMruZMJyHCmyq4jO3UWMGg1MO+XM5z7LkiHEDwcamVM28JM6wFpODas5Xm7omljRt3DH1Mptcxu/GFv4yNlNZ3CQPk8P14ytSG+l5XHmESund+ZzcmcuX+xx8ldmNckMD78pKthUevjHXMK/5lLuZlYIlWwpq9lSVJJUeQkFL2N77ntsHfO8URpFGk41M572DLFUI++nGDj/sJnb+0q4l1nFH8LW/yrZ2O8mKfdwVxT5/X4x4c8MN+3ip1XtGxj8X+GouYw081gW9+TlfJaiY/xBJWMPKPlkh5bEEwXc3GMnkV7Ad2nZxLepuZpqYHN/GVvisU3h76dLmDKGsTQuoK+7RJNrgP8AU8rtTZmilCkAAAAASUVORK5CYII=","width":1280,"height":720,"src":"/static/6fae10ea7503a11a8f308ac2e2a5217a/26421/header.png","srcSet":"/static/6fae10ea7503a11a8f308ac2e2a5217a/26421/header.png 1x"}}}},"html":"<h2>Background</h2>\n<p>During analysis of why some services take a long time to build, several problems have been found, mostly related to number of Spring contexts that were created during integration tests. More about those problems can be found in <a href=\"https://auto1.tech/integration-test-speedup\">previous blog post</a>. In order to decrease the likelihood that slow tests will appear at AUTO1, we implemented an IntelliJ plugin which warns a developer about possible problems when he writes code and provides quick fixes if they are applicable.</p>\n<h2>Plugin inspections</h2>\n<ul>\n<li>warns about usage of <code class=\"language-text\">@DirtiesContext</code> annotation which slows tests down because it forces creation of new Spring context</li>\n<li>warns about specifying the same list of profiles but in different order in <code class=\"language-text\">@ActiveProfiles</code> (slows tests down because different Spring context would have to be created for each combination)</li>\n<li>warns if number of distinct profile combinations used in <code class=\"language-text\">@ActiveProfiles</code> is greater than 3</li>\n<li>warns if it finds <code class=\"language-text\">@FeignClient</code> (or DTO used by client) not documented with Swagger annotations</li>\n<li>warns if remote HTTP call is used inside method annotated with <code class=\"language-text\">@Transactional</code></li>\n</ul>\n<p>During the plugin development, we realized that resources on writing IntelliJ plugins are scarce, and therefore decided to create a step by step tutorial on how to implement <code class=\"language-text\">@DirtiesContext</code> inspection.</p>\n<h2>Create plugin</h2>\n<p>In our tutorial we will be using the community edition of IntelliJ 2018.3.5. Final source code is available on <a href=\"https://github.com/pczekaj/tutorial-intellij-plugin\">github</a>.\nThere are several ways on how to create IntelliJ plugin. The recommended one is to use Intellij plugin for Gradle and that’s what we will use in this tutorial. Let’s start with creating new project using <em>File > New > Project...</em>, select Gradle and make sure that in <em>Additional Libraries and Frameworks</em> both <em>Java</em> and <em>Intellij Platform Plugin</em> are selected.\nIf you cannot see “Gradle” or “Intellij Platform Plugin” then please make sure that both “Gradle” and “Plugin DevKit” IntelliJ plugins are installed.\nContinue next steps of the wizard using default values, use any groupId and artifactId. After some time IntelliJ will download dependencies and create an empty plugin.</p>\n<h2>Inspection</h2>\n<p>Our inspection should warn a developer each time there is a class annotated with <code class=\"language-text\">org.springframework.test.annotation.DirtiesContext</code> and provide quick fix which deletes <code class=\"language-text\">@DirtiesContext</code>. If Spring is not your thing then any other annotation can be used instead.</p>\n<p>There are two kinds of inspections:</p>\n<p>Local inspections are executed in the background when file is opened, in general they have access to currently open file. Local inspection cannot report problem for not currently processed file. Inspection class has to extend <code class=\"language-text\">com.intellij.codeInspection.LocalInspectionTool</code> or one of subclasses.\nGlobal inspections work only in batch mode when analysis is manually triggered via <em>Analyze > Inspect Code</em> and see complete graph of references between classes and can report problem for any file. Inspection class has to extend <code class=\"language-text\">com.intellij.codeInspection.GlobalInspectionTool</code> or one of subclasses.</p>\n<p>We don’t need to access complete graph of references and we would like to give a hint that something is wrong as soon as possible so local inspection is a better choice for our use case. First problem that we encounter is to pick proper base class. One approach is to ask IntelliJ to show class Hierarchy of <code class=\"language-text\">LocalInspectionTool</code> and take a look what other inspections are extending. In this case <code class=\"language-text\">AbstractBaseJavaLocalInspectionTool</code> seems to be a good choice since most of Java inspections are based on it.</p>\n<p>Create new class named <code class=\"language-text\">DirtiesContextInspection</code> with following content:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">DirtiesContextFirstVersionInspection</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">AbstractBaseJavaLocalInspectionTool</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">private</span> <span class=\"token keyword\">static</span> <span class=\"token keyword\">final</span> <span class=\"token class-name\">String</span> DIRTIES_CONTEXT <span class=\"token operator\">=</span> <span class=\"token string\">\"org.springframework.test.annotation.DirtiesContext\"</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">private</span> <span class=\"token keyword\">static</span> <span class=\"token keyword\">final</span> <span class=\"token class-name\">String</span> DESCRIPTION_TEMPLATE <span class=\"token operator\">=</span> <span class=\"token string\">\"Usage of @DirtiesContext makes integration tests slower\"</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">public</span> <span class=\"token class-name\">String</span> <span class=\"token function\">getDisplayName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token string\">\"Usage of @DirtiesContext is not recommended\"</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n\n    <span class=\"token keyword\">public</span> <span class=\"token class-name\">String</span> <span class=\"token function\">getGroupDisplayName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token class-name\">GroupNames</span><span class=\"token punctuation\">.</span>PERFORMANCE_GROUP_NAME<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n\n    <span class=\"token keyword\">public</span> <span class=\"token class-name\">String</span> <span class=\"token function\">getShortName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token string\">\"DirtiesContext\"</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n\n    <span class=\"token keyword\">public</span> <span class=\"token keyword\">boolean</span> <span class=\"token function\">isEnabledByDefault</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n\n    <span class=\"token keyword\">public</span> <span class=\"token class-name\">PsiElementVisitor</span> <span class=\"token function\">buildVisitor</span><span class=\"token punctuation\">(</span><span class=\"token annotation punctuation\">@NotNull</span> <span class=\"token keyword\">final</span> <span class=\"token class-name\">ProblemsHolder</span> holder<span class=\"token punctuation\">,</span> \n                                          <span class=\"token keyword\">boolean</span> isOnTheFly<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">JavaElementVisitor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\n            <span class=\"token keyword\">public</span> <span class=\"token keyword\">void</span> <span class=\"token function\">visitAnnotation</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">PsiAnnotation</span> annotation<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n                <span class=\"token keyword\">super</span><span class=\"token punctuation\">.</span><span class=\"token function\">visitAnnotation</span><span class=\"token punctuation\">(</span>annotation<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n                <span class=\"token class-name\">String</span> qualifiedName <span class=\"token operator\">=</span> annotation<span class=\"token punctuation\">.</span><span class=\"token function\">getQualifiedName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n                <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>DIRTIES_CONTEXT<span class=\"token punctuation\">.</span><span class=\"token function\">equals</span><span class=\"token punctuation\">(</span>qualifiedName<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n                    holder<span class=\"token punctuation\">.</span><span class=\"token function\">registerProblem</span><span class=\"token punctuation\">(</span>annotation<span class=\"token punctuation\">,</span> DESCRIPTION_TEMPLATE<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n                <span class=\"token punctuation\">}</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>The most interesting thing happens in a visitor which is notified each time a Java annotation is encountered in source code. By overriding different methods, plugin can process methods, classes, imports etc. In our case we check if fully qualified name of annotation matches our expectations and register a problem when that’s the case. Later on we will change this class to include also a quick fix. Creation of inspection class is not enough to make it available in IntelliJ - it’s also needed to register inspection in <code class=\"language-text\">plugin.xml</code> which among other things describes what plugin does, what other plugins are required and in which version of IntelliJ it can be used.</p>\n<p>It’s possible to register each inspection one by one in <code class=\"language-text\">plugin.xml</code> under extensions tag and configure inspection using xml but we find it easier to register <code class=\"language-text\">inspectionToolProvider</code> and configure using it in Java code.</p>\n<p>Create the following class to implement our inspection provider:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">CodeInspectionProvider</span> <span class=\"token keyword\">implements</span> <span class=\"token class-name\">InspectionToolProvider</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">public</span> <span class=\"token class-name\">Class</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> <span class=\"token function\">getInspectionClasses</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Class</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">{</span>\n                <span class=\"token class-name\">DirtiesContextInspection</span><span class=\"token punctuation\">.</span><span class=\"token keyword\">class</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>And register it in <code class=\"language-text\">plugin.xml</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"xml\"><pre class=\"language-xml\"><code class=\"language-xml\">   <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>extensions</span> <span class=\"token attr-name\">defaultExtensionNs</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>com.intellij<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>inspectionToolProvider</span> <span class=\"token attr-name\">implementation</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>com.auto1.intellij.tutorial.CodeInspectionProvider<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">/></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>extensions</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>Now it’s time to check our inspection in action by running runIde gradle task. This could be done from terminal by executing <code class=\"language-text\">./gradlew runIde</code> but it’s better to use Gradle view in IntelliJ since it allows to start IDE in debug mode (if needed just right click on task and select Debug, you can create run configuration to speed-up in the future). New IntelliJ instance should show up, if you already have sources of some project that uses Spring Boot then open it, otherwise you could create a new project. Annotate some class with <code class=\"language-text\">@DirtiesContext</code> annotation and observe inspection marker showing up. In case of problems logs can be found at <code class=\"language-text\">build/idea-sandbox/system/log/</code>.</p>\n<h2>Adding quick fix</h2>\n<p>Many inspections report not only problems but also provide automatic ways of fixing issues. In case of DirtiesContext, it’s not possible to provide safe way of removing it because DirtiesContext is often used when bean holds some state which makes tests dependent on each other. Usually we want to remove the annotation and then figure out the \"dirty parts\" and clean them up in an elegant way. Since the second part is hard to automate we will provide quick fix which only removes annotation.</p>\n<p>Go back to <code class=\"language-text\">DirtiesContextInspection</code> class and add quick fix:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\">   <span class=\"token keyword\">private</span> <span class=\"token keyword\">static</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">DeleteQuickFix</span> <span class=\"token keyword\">implements</span> <span class=\"token class-name\">LocalQuickFix</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">public</span> <span class=\"token class-name\">String</span> <span class=\"token function\">getName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">return</span> <span class=\"token string\">\"Removes usage of @DirtiesContext\"</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n\n        <span class=\"token keyword\">public</span> <span class=\"token keyword\">void</span> <span class=\"token function\">applyFix</span><span class=\"token punctuation\">(</span><span class=\"token annotation punctuation\">@NotNull</span> <span class=\"token class-name\">Project</span> project<span class=\"token punctuation\">,</span> <span class=\"token annotation punctuation\">@NotNull</span> <span class=\"token class-name\">ProblemDescriptor</span> descriptor<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            descriptor<span class=\"token punctuation\">.</span><span class=\"token function\">getPsiElement</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">delete</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n\n        <span class=\"token keyword\">public</span> <span class=\"token class-name\">String</span> <span class=\"token function\">getFamilyName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">return</span> <span class=\"token function\">getName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span></code></pre></div>\n<p>Next step is to pass quick fix when problem is registered:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\">holder<span class=\"token punctuation\">.</span><span class=\"token function\">registerProblem</span><span class=\"token punctuation\">(</span>annotation<span class=\"token punctuation\">,</span> DESCRIPTION_TEMPLATE<span class=\"token punctuation\">,</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">DeleteQuickFix</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Executing <code class=\"language-text\">runIde</code> Gradle task should prove that quick fix works as expected. </p>\n<h2>Internationalization</h2>\n<p>Up to this point we have used hardcoded strings inside inspection name and description. To allow the plugin to be accessible in different languages we can externalize the messages. For this purpose we can use properties file. First create <code class=\"language-text\">PluginBundle</code> class:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">PluginBundle</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">private</span> <span class=\"token keyword\">static</span> <span class=\"token class-name\">Reference</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">ResourceBundle</span><span class=\"token punctuation\">></span></span> ourBundle<span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">private</span> <span class=\"token keyword\">static</span> <span class=\"token keyword\">final</span> <span class=\"token class-name\">String</span> BUNDLE <span class=\"token operator\">=</span> <span class=\"token string\">\"com.auto1.intellij.tutorial.PluginBundle\"</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">private</span> <span class=\"token class-name\">PluginBundle</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">}</span>\n\n    <span class=\"token keyword\">public</span> <span class=\"token keyword\">static</span> <span class=\"token class-name\">String</span> <span class=\"token function\">message</span><span class=\"token punctuation\">(</span><span class=\"token annotation punctuation\">@NotNull</span> <span class=\"token annotation punctuation\">@PropertyKey</span><span class=\"token punctuation\">(</span>resourceBundle <span class=\"token operator\">=</span> BUNDLE<span class=\"token punctuation\">)</span> <span class=\"token class-name\">String</span> key<span class=\"token punctuation\">,</span> \n                                 <span class=\"token annotation punctuation\">@NotNull</span> <span class=\"token class-name\">Object</span><span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span> params<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token class-name\">CommonBundle</span><span class=\"token punctuation\">.</span><span class=\"token function\">message</span><span class=\"token punctuation\">(</span><span class=\"token function\">getBundle</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> key<span class=\"token punctuation\">,</span> params<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n\n    <span class=\"token keyword\">private</span> <span class=\"token keyword\">static</span> <span class=\"token class-name\">ResourceBundle</span> <span class=\"token function\">getBundle</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token class-name\">ResourceBundle</span> bundle <span class=\"token operator\">=</span> <span class=\"token class-name\"><span class=\"token namespace\">com<span class=\"token punctuation\">.</span>intellij<span class=\"token punctuation\">.</span>reference<span class=\"token punctuation\">.</span></span>SoftReference</span><span class=\"token punctuation\">.</span><span class=\"token function\">dereference</span><span class=\"token punctuation\">(</span>ourBundle<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>bundle <span class=\"token operator\">==</span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            bundle <span class=\"token operator\">=</span> <span class=\"token class-name\">ResourceBundle</span><span class=\"token punctuation\">.</span><span class=\"token function\">getBundle</span><span class=\"token punctuation\">(</span>BUNDLE<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n            ourBundle <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">SoftReference</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span>bundle<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">return</span> bundle<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Then create a new file matching <code class=\"language-text\">BUNDLE</code> constant, in my case it will be <code class=\"language-text\">src/main/resources/com/auto1/intellij/tutorial/PluginBundle.properties</code> with content:</p>\n<div class=\"gatsby-highlight\" data-language=\"properties\"><pre class=\"language-properties\"><code class=\"language-properties\"><span class=\"token attr-name\">inspection.dirties.context.display.name</span><span class=\"token punctuation\">=</span><span class=\"token attr-value\">Usage of @DirtiesContext is not recommended</span>\n<span class=\"token attr-name\">inspection.dirties.context.problem.descriptor</span><span class=\"token punctuation\">=</span><span class=\"token attr-value\">Usage of @DirtiesContext makes integration tests slower</span>\n<span class=\"token attr-name\">inspection.dirties.context.use.quickfix</span><span class=\"token punctuation\">=</span><span class=\"token attr-value\">Removes usage of @DirtiesContext</span></code></pre></div>\n<p>Register bundle in <code class=\"language-text\">plugin.xml</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"xml\"><pre class=\"language-xml\"><code class=\"language-xml\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>resource-bundle</span><span class=\"token punctuation\">></span></span>com.auto1.intellij.tutorial.PluginBundle<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>resource-bundle</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>And finally use bundle in inspection, for example:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\">    <span class=\"token keyword\">public</span> <span class=\"token class-name\">String</span> <span class=\"token function\">getDisplayName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token class-name\">PluginBundle</span><span class=\"token punctuation\">.</span><span class=\"token function\">message</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"inspection.dirties.context.display.name\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span></code></pre></div>\n<h2>Testing</h2>\n<p>We picked <code class=\"language-text\">LightPlatformCodeInsightFixtureTestCase</code> as base for our tests because it is recommended in the documentation. Unfortunately, testing appeared harder to set up properly than expected.</p>\n<p>First problem was that our tests couldn’t see classes from JDK, which was fixed by specifying project descriptor to use internal JDK: </p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\">    <span class=\"token keyword\">protected</span> <span class=\"token class-name\">LightProjectDescriptor</span> <span class=\"token function\">getProjectDescriptor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">LightProjectDescriptor</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">public</span> <span class=\"token class-name\">Sdk</span> <span class=\"token function\">getSdk</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n                <span class=\"token keyword\">return</span> <span class=\"token class-name\">JavaAwareProjectJdkTableImpl</span><span class=\"token punctuation\">.</span><span class=\"token function\">getInstanceEx</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">getInternalJdk</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span></code></pre></div>\n<p>Second problem was that visitor received incorrect fully qualified class name of the annotation. Instead of <code class=\"language-text\">org.springframework.test.annotation.DirtiesContext</code>, it got <code class=\"language-text\">DirtiesContext</code> while it worked fine for real project in IDE. It turns out that such behaviour occurs when test project doesn’t see definition of some class. This is fixable by either hardcoding problematic class into test or by adding dependency as library to the project. Second approach avoids copying source code from other projects and seems to be more interesting so it will be presented here. In order to download dependency jar we use <code class=\"language-text\">ShrinkWrap</code> library:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token keyword\">private</span> <span class=\"token class-name\">File</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> <span class=\"token function\">getMavenArtifacts</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span> mavenArtifacts<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token class-name\">File</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> files <span class=\"token operator\">=</span> <span class=\"token class-name\">Maven</span><span class=\"token punctuation\">.</span><span class=\"token function\">resolver</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n                            <span class=\"token punctuation\">.</span><span class=\"token function\">resolve</span><span class=\"token punctuation\">(</span>mavenArtifacts<span class=\"token punctuation\">)</span>\n                            <span class=\"token punctuation\">.</span><span class=\"token function\">withoutTransitivity</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n                            <span class=\"token punctuation\">.</span><span class=\"token function\">asFile</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>files<span class=\"token punctuation\">.</span>length <span class=\"token operator\">==</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token keyword\">throw</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">IllegalArgumentException</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Failed to resolve artifacts \"</span> <span class=\"token operator\">+</span> <span class=\"token class-name\">Arrays</span><span class=\"token punctuation\">.</span><span class=\"token function\">toString</span><span class=\"token punctuation\">(</span>mavenArtifacts<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">return</span> files<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span></code></pre></div>\n<p>When dependency is resolved and downloaded into local Maven cache it can be added as library with code listed below:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\">   <span class=\"token keyword\">protected</span> <span class=\"token keyword\">void</span> <span class=\"token function\">attachMavenLibrary</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> mavenArtifact<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token class-name\">File</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> jars <span class=\"token operator\">=</span> <span class=\"token function\">getMavenArtifacts</span><span class=\"token punctuation\">(</span>mavenArtifact<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token class-name\">Arrays</span><span class=\"token punctuation\">.</span><span class=\"token function\">stream</span><span class=\"token punctuation\">(</span>jars<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">forEach</span><span class=\"token punctuation\">(</span>jar <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n            <span class=\"token class-name\">String</span> name <span class=\"token operator\">=</span> jar<span class=\"token punctuation\">.</span><span class=\"token function\">getName</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n            <span class=\"token class-name\">PsiTestUtil</span><span class=\"token punctuation\">.</span><span class=\"token function\">addLibrary</span><span class=\"token punctuation\">(</span>myFixture<span class=\"token punctuation\">.</span><span class=\"token function\">getProjectDisposable</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> myModule<span class=\"token punctuation\">,</span> name<span class=\"token punctuation\">,</span> jar<span class=\"token punctuation\">.</span><span class=\"token function\">getParent</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> name<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span></code></pre></div>\n<p>It’s important to use <code class=\"language-text\">myFixture.getProjectDisposable()</code> instead of <code class=\"language-text\">myFixture.getProject()</code> otherwise there is an exception during test shutdown:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">com.intellij.openapi.util.TraceableDisposable$DisposalException: Virtual pointer 'jar:///somePath/.m2/repository/org/springframework/spring-test/5.1.5.RELEASE/spring-test-5.1.5.RELEASE.jar!/' hasn't been disposed</code></pre></div>\n<p>Next surprise is that by default test searches for test data in strange location inside IntelliJ home folder which can be fixed with overriding <code class=\"language-text\">getTestDataPath</code>. Since input files most likely won’t compile because of missing imports and possible usage of special markers like <em><caret></em> we don’t use <code class=\"language-text\">src/test/java</code> folder to store them:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\">    <span class=\"token annotation punctuation\">@Override</span>\n    <span class=\"token keyword\">protected</span> <span class=\"token class-name\">String</span> <span class=\"token function\">getTestDataPath</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">return</span> <span class=\"token string\">\"src/test/testData\"</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span></code></pre></div>\n<p>Inspection tests can be done by providing file to analyse and resulting file that should be created after given quick fix has been applied. Inspection tests use <code class=\"language-text\">configureByFile</code> to load input file, <code class=\"language-text\">doHighlighting</code> to trigger source code analysis, launchAction to execute quick fix and finally <code class=\"language-text\">checkResultByFile</code> to compare results against <em>after</em> file.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\">    myFixture<span class=\"token punctuation\">.</span><span class=\"token function\">configureByFile</span><span class=\"token punctuation\">(</span>testName <span class=\"token operator\">+</span> <span class=\"token string\">\".java\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    myFixture<span class=\"token punctuation\">.</span><span class=\"token function\">enableInspections</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token class-name\">DirtiesContextInspection</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    myFixture<span class=\"token punctuation\">.</span><span class=\"token function\">doHighlighting</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token class-name\">IntentionAction</span> quickFixAction <span class=\"token operator\">=</span> myFixture<span class=\"token punctuation\">.</span><span class=\"token function\">findSingleIntention</span><span class=\"token punctuation\">(</span>intentionHint<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    myFixture<span class=\"token punctuation\">.</span><span class=\"token function\">launchAction</span><span class=\"token punctuation\">(</span>quickFixAction<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    myFixture<span class=\"token punctuation\">.</span><span class=\"token function\">checkResultByFile</span><span class=\"token punctuation\">(</span>testName <span class=\"token operator\">+</span> <span class=\"token string\">\".after.java\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Complete source code can be found at github <a href=\"https://github.com/pczekaj/tutorial-intellij-plugin\">github</a></p>\n<h2>Next steps</h2>\n<p>If you would like to share your plugin with other developers, you can publish to JetBrains plugin repository as described in the documentation. Other simple option is to execute buildPlugin Gradle task which will create plugin zip file inside build/distributions and then install it via <em>Install Plugin from disk...</em> available inside <em>Preferences > Plugins</em> (in IntelliJ 2018.3 is available through \"gears icon\").</p>\n<p>When working on your own ideas you might run into a situation when you don't know how to implement some functionality. In this situation you could try to find the answer using links provided in section below. What also worked for us was reading source code of inspections available as part of community edition of IntelliJ, often there is an existing inspection which does a similar thing to what you might want to do.</p>\n<h2>Links</h2>\n<ul>\n<li><a href=\"http://www.jetbrains.org/intellij/sdk/docs/faq.html\">IntelliJ SDK FAQ</a></li>\n<li><a href=\"https://github.com/JetBrains/intellij-sdk-docs/blob/master/tutorials/code_inspections.md\">Code inspections tutorial</a></li>\n<li><a href=\"https://intellij-support.jetbrains.com/hc/en-us/community/topics/200366979-IntelliJ-IDEA-Open-API-and-Plugin-Development\">Plugin development forum</a></li>\n<li><a href=\"https://github.com/JetBrains/intellij-community\">Source code of IntelliJ community edition</a></li>\n<li><a href=\"https://github.com/JetBrains/intellij-plugins\">Source code of many IntelliJ plugins</a></li>\n</ul>","fields":{"slug":"/intellij-plugin/","tags":["intellij"]}}},{"node":{"id":"e2563427-db60-5c74-aaff-0c8c2c483f69","frontmatter":{"category":"Engineering","title":"DevoxxUA was awesome!","date":"2019-12-05","summary":"A few words about one of the biggest Java conferences and AUTO1's presence there.","thumbnail":{"relativePath":"pages/auto1-devoxx/ivan_thumb.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABQABBP/EABUBAQEAAAAAAAAAAAAAAAAAAAEA/9oADAMBAAIQAxAAAAFobuDFqyL/xAAaEAABBQEAAAAAAAAAAAAAAAACAAEDEzES/9oACAEBAAEFApMKYRldXWI3bvF//8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BJ//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EAB0QAAEEAgMAAAAAAAAAAAAAAAABERIhAxBCUYH/2gAIAQEABj8C9H496SmExxqQx//EABsQAAMAAgMAAAAAAAAAAAAAAAABETFRIUGh/9oACAEBAAE/IWihpe8JGzIwO65PagSFoof/2gAMAwEAAgADAAAAEEgv/8QAFREBAQAAAAAAAAAAAAAAAAAAEDH/2gAIAQMBAT8Qg//EABYRAQEBAAAAAAAAAAAAAAAAAAEQIf/aAAgBAgEBPxBNn//EAB4QAQACAgIDAQAAAAAAAAAAAAEAESFBMWFRcbHh/9oACAEBAAE/EPcQfYt7YYNab5CuSAbFIzJ3xnp6mFDht8n9YZ1dVqq6n//Z","width":520,"height":325,"src":"/static/150f8a5d8b98da0a021f785cc45b217a/a2998/ivan_thumb.jpg","srcSet":"/static/150f8a5d8b98da0a021f785cc45b217a/a2998/ivan_thumb.jpg 1x,\n/static/150f8a5d8b98da0a021f785cc45b217a/99cce/ivan_thumb.jpg 1.5x,\n/static/150f8a5d8b98da0a021f785cc45b217a/6e995/ivan_thumb.jpg 2x,\n/static/150f8a5d8b98da0a021f785cc45b217a/968b1/ivan_thumb.jpg 3x"}}},"authorName":"Ivan Kozlov","authorDescription":"Ivan is the senior team lead of the AUTO1 Group Kiev engineering office.","authorAvatar":{"relativePath":"pages/auto1-devoxx/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/auto1-devoxx/header.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAJABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAIDBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAe21ELH/xAAZEAACAwEAAAAAAAAAAAAAAAACEQABEiD/2gAIAQEAAQUC0TZSuP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABcQAAMBAAAAAAAAAAAAAAAAAAAgMTL/2gAIAQEABj8CyRf/xAAaEAEAAgMBAAAAAAAAAAAAAAABADERIFEh/9oACAEBAAE/IaFO5g3PlzMEdP/aAAwDAQACAAMAAAAQAA//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAbEAADAAIDAAAAAAAAAAAAAAABESEAMSBBYf/aAAgBAQABPxClqP0uMAdzbvAsCMJhXD//2Q==","width":640,"height":284,"src":"/static/cae90168dbe3b194c3406bc103d1a5f3/c8462/header.jpg","srcSet":"/static/cae90168dbe3b194c3406bc103d1a5f3/c8462/header.jpg 1x"}}}},"html":"<p><strong>Devoxx</strong>, formerly known as JavaPolis, is an international community conference which first took place in 2001 in Belgium. Since then it has developed into one of the largest Java events in Europe, with chapters in Belgium, France, UK, Poland and Ukraine, as well as an established conference in Morocco.</p>\n<p>Among the speakers at <strong>DevoxxUA</strong> (Devoxx Ukraine) 2019 I’d like to mention <strong>Josh Long</strong>, the Spring Developer Advocate at <em>Pivotal</em> and <strong>Cay Horstmann</strong> (yes, that’s him, the author of “Core Java”, “Big Java” and other great books). I got a chance to participate as a speaker on the second day of the conference, delivering a presentation on one of our latest solutions for implementing GraphQL with authorization in a microservice architecture. Was very excited to see that the talk got the highest amount of participants for that time slot and the room was packed, including people standing on their feet for the entire duration of my presentation!</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0c7d3daa298009c0e59f41dbb964406e/c1e84/talk.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 62.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAQFAQP/xAAXAQADAQAAAAAAAAAAAAAAAAAAAQID/9oADAMBAAIQAxAAAAHrjUsl0ii0/8QAGxAAAwACAwAAAAAAAAAAAAAAAAECAwQSFCL/2gAIAQEAAQUCumpnZ4nbZsrzkkdOT//EABcRAAMBAAAAAAAAAAAAAAAAAAIQERL/2gAIAQMBAT8B1Ci//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGhAAAgIDAAAAAAAAAAAAAAAAAAIBITFhof/aAAgBAQAGPwJZZDBSdII2Uf/EABoQAAMAAwEAAAAAAAAAAAAAAAABESFRYUH/2gAIAQEAAT8htAfXCmJYPyGFX7BOV0fRpMVo/9oADAMBAAIAAwAAABAzL//EABcRAQEBAQAAAAAAAAAAAAAAAAEAESH/2gAIAQMBAT8QyiLl/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAERMf/aAAgBAgEBPxDURn//xAAdEAEAAgICAwAAAAAAAAAAAAABESEAUTGBocHh/9oACAEBAAE/ECIgSshRTjrzhIK7Im3WKag5tT0Yrlo7kyJ8xS6gQlOjOzeGFWJg1Mx6z//Z'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"talk\"\n        title=\"Full room!\"\n        src=\"/static/0c7d3daa298009c0e59f41dbb964406e/f8fb9/talk.jpg\"\n        srcset=\"/static/0c7d3daa298009c0e59f41dbb964406e/e8976/talk.jpg 148w,\n/static/0c7d3daa298009c0e59f41dbb964406e/63df2/talk.jpg 295w,\n/static/0c7d3daa298009c0e59f41dbb964406e/f8fb9/talk.jpg 590w,\n/static/0c7d3daa298009c0e59f41dbb964406e/85e3d/talk.jpg 885w,\n/static/0c7d3daa298009c0e59f41dbb964406e/d1924/talk.jpg 1180w,\n/static/0c7d3daa298009c0e59f41dbb964406e/9452e/talk.jpg 1770w,\n/static/0c7d3daa298009c0e59f41dbb964406e/c1e84/talk.jpg 4000w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>All in all, it was a great experience of sharing what &#x26; how we’ve built while getting valuable feedback and interesting questions. Have to say it felt incredible to stand on stage next to all the stars of the engineering world, during the closing ceremony of the conference!</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/6a09cfcfbbf496ecd690c246c1eb193c/c1e84/stage.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 62.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIFA//EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHBaTlQywM//8QAGRAAAwEBAQAAAAAAAAAAAAAAAAECEhET/9oACAEBAAEFAlDSwxzxzEmIPCD/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAZEAEBAQADAAAAAAAAAAAAAAAAMQEiMpH/2gAIAQEABj8CjeKI6pnj/8QAHBAAAwEAAgMAAAAAAAAAAAAAABEhATFhcZHB/9oACAEBAAE/IYp10NpCAvsx4qr5LPMPyM+jH//aAAwDAQACAAMAAAAQVB//xAAYEQADAQEAAAAAAAAAAAAAAAAAARExIf/aAAgBAwEBPxCrIPeI/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAEhUf/aAAgBAgEBPxC6Jn//xAAeEAEAAgEEAwAAAAAAAAAAAAABABEhMUFhkVFxgf/aAAgBAQABPxALXY7vM1LAYcd+peIuQZ51jpoKye8DVkzanMU2fIXbP//Z'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"stage\"\n        title=\"Awesome people\"\n        src=\"/static/6a09cfcfbbf496ecd690c246c1eb193c/f8fb9/stage.jpg\"\n        srcset=\"/static/6a09cfcfbbf496ecd690c246c1eb193c/e8976/stage.jpg 148w,\n/static/6a09cfcfbbf496ecd690c246c1eb193c/63df2/stage.jpg 295w,\n/static/6a09cfcfbbf496ecd690c246c1eb193c/f8fb9/stage.jpg 590w,\n/static/6a09cfcfbbf496ecd690c246c1eb193c/85e3d/stage.jpg 885w,\n/static/6a09cfcfbbf496ecd690c246c1eb193c/d1924/stage.jpg 1180w,\n/static/6a09cfcfbbf496ecd690c246c1eb193c/9452e/stage.jpg 1770w,\n/static/6a09cfcfbbf496ecd690c246c1eb193c/c1e84/stage.jpg 4000w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Here's my entire talk:\n\n        <div class=\"embedVideo-container\">\n            <iframe\n              width=\"800\"\n              height=\"400\"\n              src=\"https://www.youtube-nocookie.com/embed/JbidXuC_0M4?rel=0\"\n              class=\"embedVideo-iframe\"\n              style=\"border:0\"\n              allowfullscreen\n            ></iframe>\n        </div></p>","fields":{"slug":"/auto1-devoxx/","tags":["auto1","engineering","java","conference","talk","devoxx"]}}},{"node":{"id":"1183b352-9773-54ef-89e7-d09dd84d3a8d","frontmatter":{"category":"Social","title":"Sheep It! Autumn 2019 Hackathon","date":"2019-11-25","summary":"The 2019 autumn edition of AUTO1 Group's hackathon is a wrap, check out the aftermovie and what some of our colleagues developed","thumbnail":{"relativePath":"pages/autumn-hackathon-2019/SheepIt_thumb.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAdABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQP/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAZcd9KhRJVpRe5QJ/8QAHhAAAgICAgMAAAAAAAAAAAAAAQIAAwQREyISFDP/2gAIAQEAAQUCsd+RrHmMzGvZ5CDMX59hcxMxhpGx+/rSirxX/8QAFxEAAwEAAAAAAAAAAAAAAAAAARARQf/aAAgBAwEBPwEKnF//xAAYEQADAQEAAAAAAAAAAAAAAAAAARECEP/aAAgBAgEBPwF6jGRWvn//xAAhEAACAQIGAwAAAAAAAAAAAAAAAQIhQRESIjFRcTKRof/aAAgBAQAGPwKWuW/JSUvY8W9yWCubj7G43Zlouh9jee/B5/B1uf/EAB8QAAICAgIDAQAAAAAAAAAAAAERACEx8FFxQWGB0f/aAAgBAQABPyENGX5cygn9R4c8z1CELLmUaDJ9QmXdCAKy0XiPlL7hG3QhiEljpxtP2IxfpP/aAAwDAQACAAMAAAAQZ/eB/8QAFxEBAQEBAAAAAAAAAAAAAAAAARARMf/aAAgBAwEBPxAKciRin//EABgRAAMBAQAAAAAAAAAAAAAAAAABESEx/9oACAECAQE/EFIp0WA3p//EAB0QAQADAAMBAQEAAAAAAAAAAAEAESExQVFhgZH/2gAIAQEAAT8QOagIFBrJ+zEm0Ui3Uz1ClAchbykV2Zocj3eN5+zmDWtwHinrAK7/ACBpdpQrNjvXVQfjYh0thW7vcl1Wm81h9+T/2Q==","width":227,"height":325,"src":"/static/dace44993fde07c7486f04f2296f7c35/a2998/SheepIt_thumb.jpg","srcSet":"/static/dace44993fde07c7486f04f2296f7c35/a2998/SheepIt_thumb.jpg 1x,\n/static/dace44993fde07c7486f04f2296f7c35/99cce/SheepIt_thumb.jpg 1.5x,\n/static/dace44993fde07c7486f04f2296f7c35/6e995/SheepIt_thumb.jpg 2x,\n/static/dace44993fde07c7486f04f2296f7c35/968b1/SheepIt_thumb.jpg 3x"}}},"authorName":"Alex Stoicescu","authorDescription":"Alex is Tech Community Manager at AUTO1 Group.","authorAvatar":{"relativePath":"pages/autumn-hackathon-2019/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":null},"html":"<p>For the second time this year, members of the <strong>AUTO1 Group Tech</strong> department came together to code, develop exciting projects and have fun! Disclaimer: in an AUTO1 Group hackathon, the focus is not on delivering as many projects as possible - on the contrary, it is about the fun of developing and having joint team sessions in a creative and relaxed setting.</p>\n<p>Many thanks to our video crew who did a great job at capturing the atmosphere and collecting impressions, just take a look:</p>\n<p>\n        <div class=\"embedVideo-container\">\n            <iframe\n              width=\"800\"\n              height=\"400\"\n              src=\"https://www.youtube-nocookie.com/embed/7qxXb_UcmoE?rel=0\"\n              class=\"embedVideo-iframe\"\n              style=\"border:0\"\n              allowfullscreen\n            ></iframe>\n        </div></p>\n<p>The overall theme of the autumn hackathon was <strong>SHEEP IT</strong>, a pun which should need no explanation. A total of 15 teams competed, with around 40 participants in our Berlin HQ. In addition, there were also colleagues from Kiev, Milan and Katowice that joined remotely.</p>\n<p>The winning team, codename “Bike Thieves”, won by developing an anti-theft Slack bot, which ensures that no bicycles can be stolen in the parking space of our Bergmannstraße HQ. When using this Slack bot, you can protect yourself against bicycle theft as you will be informed by the bot and can quickly check and see what’s going on if your bicycle is moved.</p>\n<p>As most great ideas, one of our colleagues came up with this during a rather emotionally charged moment for a Berliner - his own bike was stolen during work hours.</p>\n<p>There is still a lot that needs to be done before this bot can be used in everyday life. Even under the time constraints of the hackathon, team members Sergey, Rafael and Dmitri made substantial progress on their Smartlock. The team was able to convince the other participants of their idea and their problem-solving strategy, which won them the first place. Some bike owners are already looking forward to using the bot.</p>\n<p>Slack bots were a very popular topic at our autumn hackathon, with two other teams doing a language bot and a book exchange bot, while other projects included various internal quality-of-life upgrades to existing workflows, a browser based car game that was rigged to be unbeatable and a somewhat crazy face&#x26;object recognition software that was able to tell us, via Slack of course, how many free spots were in a kitchen and how many fruits were there.</p>\n<p>In addition to fame and glory, the winners received smart home starter kits, and all participants received a beautifully crafted sheep as a reminder of the hackathon.</p>\n<p><strong>What’s next?</strong></p>\n<p>The next AUTO1 Group Hackathon will take place in spring 2020 and we look forward to even more exciting projects! Watch this space for updates, wink wink.</p>","fields":{"slug":"/autumn-hackathon-2019/","tags":["auto1","engineering","social","hackathon","code"]}}},{"node":{"id":"dfc4d8ed-83a7-5b5b-86f4-93991475901e","frontmatter":{"category":"Social","title":"#AUTO1GroupTechTalks","date":"2019-11-13","summary":"Our first Tech Talk event, featuring Niv Liran, is live - register now to secure your spot!","thumbnail":{"relativePath":"pages/auto1-group-tech-talks/TechTalks_thumb.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAMFAQIE/8QAFwEBAQEBAAAAAAAAAAAAAAAAAgEDBP/aAAwDAQACEAMQAAABtY41vUgI6Vp0jI2P/8QAGhABAQEAAwEAAAAAAAAAAAAAAQIDABIhMf/aAAgBAQABBQLsC6clUqV07QW7RLt5nCy/ef/EABkRAAMAAwAAAAAAAAAAAAAAAAABEQIQMf/aAAgBAwEBPwFyFRl3X//EABsRAAIBBQAAAAAAAAAAAAAAAAABAgMQEjJR/9oACAECAQE/AYptmEuFHR2//8QAHBAAAwABBQAAAAAAAAAAAAAAAAERMQIQEiEy/9oACAEBAAY/AvRNC5M7UZgiyR0ZVt//xAAdEAEAAwEAAgMAAAAAAAAAAAABABEhMUFRYXGh/9oACAEBAAE/IVER9LHsAn5OYjpGVKvdyiXjdyIdh8RqDFyeVpOldbn/2gAMAwEAAgADAAAAECj/AIL/xAAZEQACAwEAAAAAAAAAAAAAAAAAARARMUH/2gAIAQMBAT8QZNFXTKP/xAAaEQEAAgMBAAAAAAAAAAAAAAABABEQITFR/9oACAECAQE/EOQuotsUA2e4/8QAHhABAAICAgMBAAAAAAAAAAAAAQARIVExQWGBkaH/2gAIAQEAAT8QNVbHofkbnwNOB5iPNK5PZC6yTiox9iK4aISHV7jq2qatFXUFjSw21bCxjb9RKvc//9k=","width":325,"height":325,"src":"/static/e032f967004b5623a614d63e65bbaaac/a2998/TechTalks_thumb.jpg","srcSet":"/static/e032f967004b5623a614d63e65bbaaac/a2998/TechTalks_thumb.jpg 1x,\n/static/e032f967004b5623a614d63e65bbaaac/99cce/TechTalks_thumb.jpg 1.5x"}}},"authorName":"Alex Stoicescu","authorDescription":"Alex is Tech Community Manager at AUTO1 Group.","authorAvatar":{"relativePath":"pages/auto1-group-tech-talks/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/auto1-group-tech-talks/TechTalks_header.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAHABQDASIAAhEBAxEB/8QAFwABAAMAAAAAAAAAAAAAAAAAAAIEBf/EABYBAQEBAAAAAAAAAAAAAAAAAAEDBP/aAAwDAQACEAMQAAAB1qgsxrl//8QAGRAAAgMBAAAAAAAAAAAAAAAAAAIBAyEU/9oACAEBAAEFAtGt3oSD/8QAFhEBAQEAAAAAAAAAAAAAAAAAAAES/9oACAEDAQE/AWq//8QAGBEAAwEBAAAAAAAAAAAAAAAAAAECAzH/2gAIAQIBAT8BnosZZ//EABkQAAIDAQAAAAAAAAAAAAAAAAABAhEhMf/aAAgBAQAGPwLCpI4z/8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERIUFhof/aAAgBAQABPyFqD30jRangqHgf/9oADAMBAAIAAwAAABAMP//EABcRAQEBAQAAAAAAAAAAAAAAAAEAETH/2gAIAQMBAT8QeZJOX//EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAgBAgEBPxA7qGFv/8QAGRAAAwEBAQAAAAAAAAAAAAAAAREhAGEx/9oACAEBAAE/EAYqg8HEkAMNd7mCiJSBHu//2Q==","width":1280,"height":474,"src":"/static/1c51edb144f3a17aa7eb2344da946b21/966a5/TechTalks_header.jpg","srcSet":"/static/1c51edb144f3a17aa7eb2344da946b21/966a5/TechTalks_header.jpg 1x"}}}},"html":"<p><strong><em>For the first time</em></strong>, insights about how we built Europe’s leading digital automotive platform will be shared - including exclusive information about how AUTO1 Group uses technology to build solutions that take the stress out of financing, documenting, evaluating, transporting, and trading used cars. </p>\n<p>How did we establish automotive expertise, create data-driven decision-making processes, and hire a diverse, multicultural team of car and technology enthusiasts? What kind of challenges did we face when scaling such a business both vertically and horizontally?</p>\n<p>Questions such as the above will be answered by  <strong>Niv Liran</strong>,  <strong>Chief Product Officer</strong>, who is also going to share with everyone his most important learnings from his time at AUTO1 Group.</p>\n<p>After Niv’s talk, we will hold a quick Q&#x26;A session moderated by  <strong>Paul Hofmann</strong>, <strong>Director of Engineering</strong>  at AUTO1 Group. To end the evening, we're inviting engineers, product owners, and tech enthusiasts to share their knowledge and curiosities with each other over drinks.</p>\n<p>The event will take place at <a href=\"http://maze.berlin/\">Maze</a>, a venue near Mehringdamm, Berlin, on Tuesday, November 26th.</p>\n<p><strong>AGENDA</strong></p>\n<p>[18:30 - 19:00] Open Doors &#x26; Drinks</p>\n<p>[19:00 - 19:10] Welcome by Paul Hofmann</p>\n<p>[19:10 - 19:40] Input: Niv Liran</p>\n<p>[19:40 - 20:00] Moderated Q&#x26;A by Paul Hofmann</p>\n<p>[20:00 - 21:30] Networking &#x26; Drinks</p>\n<p>To sign up for our first Tech Talk and to get to know us better, please register on our <a href=\"https://a1g-data-driven-unicorn.eventbrite.com\">Eventbrite</a> page.</p>\n<p><strong>Connect with us:</strong></p>\n<p><a href=\"http://www.auto1-group.com/\">AUTO1 Group website</a></p>\n<p><a href=\"https://linkedin.com/company/AUTO1-group/\">LinkedIn</a></p>\n<p><a href=\"https://facebook.com/insideAUTO1Group\">Facebook</a></p>\n<p><a href=\"https://twitter.com/AUTO1_group\">Twitter</a></p>","fields":{"slug":"/auto1-group-tech-talks/","tags":["auto1","engineering","social","meet-up","knowledge"]}}},{"node":{"id":"df094608-f958-5bcd-b406-ea359067fbd8","frontmatter":{"category":"Coding","title":"PostgreSQL 12 - a precious release","date":"2019-10-29","summary":"Improved Common Table Expressions in recent release of Postgres","thumbnail":{"relativePath":"pages/postgres12-a-precious-release/elephant_cropped.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAWABQDASIAAhEBAxEB/8QAGQABAQADAQAAAAAAAAAAAAAAAAMBAgQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQIA/9oADAMBAAIQAxAAAAHuzwyh9NJUx1M1Cf/EABoQAAIDAQEAAAAAAAAAAAAAAAEDABESAhD/2gAIAQEAAQUC9ZwwnDAsaq5ZgM//xAAYEQADAQEAAAAAAAAAAAAAAAAAARICE//aAAgBAwEBPwGDmxaZbP/EABcRAAMBAAAAAAAAAAAAAAAAAAACEwH/2gAIAQIBAT8BoVU1MJqf/8QAGxAAAgEFAAAAAAAAAAAAAAAAADEBECAhQWH/2gAIAQEABj8CrPIwNM1Z/8QAHBABAAICAwEAAAAAAAAAAAAAAQARITEQQVFx/9oACAEBAAE/IVDbLPeEWs5BNbatDthqyfsUeMAiBon/2gAMAwEAAgADAAAAEL/Xfv/EABkRAQEAAwEAAAAAAAAAAAAAAAEAMUFRYf/aAAgBAwEBPxAOy4kkzet//8QAGREAAwADAAAAAAAAAAAAAAAAAAExEVFh/9oACAECAQE/EHnGb2IuHE//xAAdEAEAAgICAwAAAAAAAAAAAAABABEhMRBRYXGh/9oACAEBAAE/EFAAVogmhwCxZXVnre/cLABvFBlrzTMCB1e/kSbKO4RYmd3m4ZIf/9k=","width":292,"height":325,"src":"/static/5076cf686ef8d2a21a3a6da9bf016970/a2998/elephant_cropped.jpg","srcSet":"/static/5076cf686ef8d2a21a3a6da9bf016970/a2998/elephant_cropped.jpg 1x,\n/static/5076cf686ef8d2a21a3a6da9bf016970/99cce/elephant_cropped.jpg 1.5x,\n/static/5076cf686ef8d2a21a3a6da9bf016970/6e995/elephant_cropped.jpg 2x,\n/static/5076cf686ef8d2a21a3a6da9bf016970/968b1/elephant_cropped.jpg 3x"}}},"authorName":"Mariusz Nowak","authorDescription":"Mariusz is a Senior Software Engineer at AUTO1 Group.","authorAvatar":null,"headerImage":null},"html":"<p>The PostgreSQL team <a href=\"https://www.postgresql.org/about/news/1976/\">announced recently</a> a new release of the most advanced\nopen source relational database - PostgreSQL 12. As usual it comes with an impressive list of improvements\n(generated columns ♥️), one of them being long awaited by dozens of developers: <strong>improved Common Table Expressions</strong>.</p>\n<p>I should first explain what are the Common Table Expressions for those who are unfamiliar with them:\nthe CTE’s, often called <code class=\"language-text\">“WITH queries”</code>, are SQL constructs giving a possibility of creating <strong>temporal data views</strong> for a sake of a query execution.</p>\n<p>Essentially CTE is an additional query which results can be referenced in the subsequent CTE’s or the main query before which\nit is being placed. It should be clear enough with an example - here’s a sample query with two CTE’s taken from Postgres docs:</p>\n<div class=\"gatsby-highlight\" data-language=\"sql\"><pre class=\"language-sql\"><code class=\"language-sql\"><span class=\"token keyword\">WITH</span> regional_sales <span class=\"token keyword\">AS</span> <span class=\"token punctuation\">(</span>\n    <span class=\"token keyword\">SELECT</span> region<span class=\"token punctuation\">,</span> <span class=\"token function\">SUM</span><span class=\"token punctuation\">(</span>amount<span class=\"token punctuation\">)</span> <span class=\"token keyword\">AS</span> total_sales\n    <span class=\"token keyword\">FROM</span> orders\n    <span class=\"token keyword\">GROUP</span> <span class=\"token keyword\">BY</span> region\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> top_regions <span class=\"token keyword\">AS</span> <span class=\"token punctuation\">(</span>\n    <span class=\"token keyword\">SELECT</span> region\n    <span class=\"token keyword\">FROM</span> regional_sales\n    <span class=\"token keyword\">WHERE</span> total_sales <span class=\"token operator\">></span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> <span class=\"token function\">SUM</span><span class=\"token punctuation\">(</span>total_sales<span class=\"token punctuation\">)</span><span class=\"token operator\">/</span><span class=\"token number\">10</span> <span class=\"token keyword\">FROM</span> regional_sales<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">SELECT</span> region<span class=\"token punctuation\">,</span>\n       product<span class=\"token punctuation\">,</span>\n       <span class=\"token function\">SUM</span><span class=\"token punctuation\">(</span>quantity<span class=\"token punctuation\">)</span> <span class=\"token keyword\">AS</span> product_units<span class=\"token punctuation\">,</span>\n       <span class=\"token function\">SUM</span><span class=\"token punctuation\">(</span>amount<span class=\"token punctuation\">)</span> <span class=\"token keyword\">AS</span> product_sales\n<span class=\"token keyword\">FROM</span> orders\n<span class=\"token keyword\">WHERE</span> region <span class=\"token operator\">IN</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> region <span class=\"token keyword\">FROM</span> top_regions<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">GROUP</span> <span class=\"token keyword\">BY</span> region<span class=\"token punctuation\">,</span> product<span class=\"token punctuation\">;</span></code></pre></div>\n<p>Now we know what they are, but what purpose can they serve us? Well - we could parry here and say: for the same purpose as ordinary database views serve.\nThat’s of course a dramatic simplification - CTE’s are much more powerful and should not be treated as a simple database views.\nNevertheless I would like to keep the collation for the sake of this article.</p>\n<p>Database views are absolutely optional - one can simply substitute them with a subquery and achieve identical results.\nIndeed that’s what modern database engines do these days - once a database view is being used they inline it’s query as a subquery.\nWhy to bother then? We are able to deal completely without database views and even if we did use one the database engine would get rid of it anyway.</p>\n<p>What benefits do views give us then? And why the heck are they inlined?</p>\n<h3>The beauty of database views</h3>\n<p>The most appropriate explanation here is that database views help us achieve better readability.\nThey offer an elegant way of abstracting some parts of a database into a meaningful object, often matching closely with the domain.</p>\n<p>Instead of creating giant and ugly looking queries it is possible to extract some of its parts into an appealing view which is easier to browse and select data from. <strong>\"Divide and conquer\"</strong> rule in it’s true form.</p>\n<p>Still, we didn’t answer the fact that the underlying view’s query is most of the times <strong>inlined</strong> while it is being referenced. The reason is <strong>performance</strong> of course. Smart guys found out that lazy evaluation helps the optimizer a lot - by delaying the execution we could take advantage of a context of the actual query.</p>\n<p>This in turn allows many clever optimization techniques, like: pushing down predicates (<em>WHERE filters</em>), eliminating unnecessary <em>JOINS</em>, accessing only subset of columns etc.\nIn other words - a database is smart enough to do as little work as possible when evaluating database views, in the context of the issued query.</p>\n<p>Personally I love this pattern: aggregating all the data into views and letting a database to optimize my queries - these folks are really good in it and my queries are dead simple too.</p>\n<p>I have mentioned the CTE’s at the beginning, saying they are able to create temporal data views. I still conform to the comparison with database views - they both are in many cases similar.\nThe main difference is that CTE results are temporary and are reachable only in the context of a query which CTE is being part of.</p>\n<p>It may make sense to use a CTE in a place where a regular database view is not justified (e.g. it makes sense only in the context of a query and not in the whole domain), expecting similar behavior.</p>\n<h3>An ugly brother</h3>\n<p>Besides many remarkable advantages there’s at least one disadvantage which disqualifies CTE's for most use cases - before PostgreSQL 12 it was implemented as an <strong>optimization fence</strong>. What does it mean?</p>\n<p>Easy to imagine an example with a generic data view aggregating lots of data. If the view is then used to select just few records it could mean a tremendous waste of computation, if the aggregation is executed immediately.\nInstead the aggregation should be executed only on a small subset of data, which can be deduced from the outer query.</p>\n<p>Unfortunately such counter intuitive behavior was true for CTE’s for a long time - their results were <strong>materialized</strong> only to be accessible for the rest of the query afterwards.</p>\n<p>Not to blame anybody - the creators had quite good reasons to implement such behavior (i.e. guarantee of exactly one evaluation, possibility of a recursive CTE’s and more) but this still feels like focusing on corner cases instead of optimizing the happy path.\nThat’s why the community <a href=\"https://www.postgresql.org/message-id/flat/201209191305.44674.db%40kavod.com\">insisted for a long time</a> for changing the status quo by giving the possibility of disabling the fence and unlocking the full potential of CTE’s.</p>\n<h3>Game changer</h3>\n<p>The SQL gods listen to their prayers and here it is - PostgreSQL 12 with updated <a href=\"https://www.postgresql.org/docs/12/queries-with.html\">Common Table Expressions</a>.\nBy default, when few constraints are met, the queries will be inlined allowing joint optimizations.</p>\n<p>It is still possible to force the old behavior - by defining the CTE <code class=\"language-text\">AS MATERIALIZED</code> the engine would execute it immediately.\nIt is also possible to hint the optimizer that we definitely want the CTE to be inlined, e.g. when the CTE is being referenced twice the engine won't inline it by default.</p>\n<p>This is truly a game changer for many developers who care about their queries’ readability, allowing them to substitute not very well liked subqueries with elegant <code class=\"language-text\">“WITH queries”</code>.</p>\n<p>Don’t get me wrong - not every subquery should be immediately replaced, they still have their strengths and in some cases they should be chosen over CTE’s. It is just convenient to have two distinct tools in a toolbox, isn’t it?</p>","fields":{"slug":"/postgres12-a-precious-release/","tags":["postgres","postgres12","release","sql","cte"]}}},{"node":{"id":"24fd2709-272a-5811-a69c-7100924de21c","frontmatter":{"category":"Coding","title":"Serving JSON (almost) directly from database","date":"2019-10-29","summary":"Learn how to query JSON data from Postgres 12 to improve Java application's performance.","thumbnail":{"relativePath":"pages/serving-json-from-postgres/liberty.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAIDBAX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAHryz0HUYxXEAP/xAAbEAABBAMAAAAAAAAAAAAAAAABAgMSIhAgIf/aAAgBAQABBQJw0SoKxLjVDPT/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/AR//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAYEAACAwAAAAAAAAAAAAAAAAABIQAQIP/aAAgBAQAGPwJRGzn/xAAaEAEAAwADAAAAAAAAAAAAAAABABEhEDGB/9oACAEBAAE/IVEqq3yWWlcbozCOmOokIz//2gAMAwEAAgADAAAAEOAPAP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EABwQAQADAQADAQAAAAAAAAAAAAEAETEhQXGhwf/aAAgBAQABPxBIyYq1CL8uc5XU14YIGwTYJTDeFrX2G/k7OwjIAbIBek//2Q==","width":325,"height":325,"src":"/static/e0de7302edcea3d0b0c19a9d147b547a/a2998/liberty.jpg","srcSet":"/static/e0de7302edcea3d0b0c19a9d147b547a/a2998/liberty.jpg 1x,\n/static/e0de7302edcea3d0b0c19a9d147b547a/99cce/liberty.jpg 1.5x,\n/static/e0de7302edcea3d0b0c19a9d147b547a/6e995/liberty.jpg 2x,\n/static/e0de7302edcea3d0b0c19a9d147b547a/968b1/liberty.jpg 3x"}}},"authorName":"Mariusz Nowak","authorDescription":"Mariusz is a Senior Software Engineer at AUTO1 Group.","authorAvatar":null,"headerImage":null},"html":"<p>RESTful API’s are ruling the industry nowadays. They are very often associated with an extremely popular data format - JSON.\nIt is so popular that database creators decided to implement it directly in the database engines.\nAll modern databases offer JSON processing capabilities.\nLet’s have a look and see how can we make use of them to improve our application’s performance.</p>\n<h3>JPA or JDBC?</h3>\n<p>The typical choice for a Java application is to use JPA as the persistence layer abstraction.\nIt became the de-facto standard for a reason - it offers great flexibility and ease of use.\nUnfortunately it doesn't come without a price since we have to pay with degraded performance.</p>\n<p>It is a widely known fact that <strong>ORM’s impact performance</strong>, compared to pure JDBC.\nOn the other hand, relatively few are willing to use plain JDBC, considering the amount of additional work it requires.</p>\n<p>Let me demonstrate how to use JDBC to leverage the performance, with the help of modern Postgres features.</p>\n<h3>Demo time</h3>\n<p>I have prepared a <a href=\"https://github.com/auto1-oss/postgres12-json-demo\">demo application</a> running on Spring Boot which exposes example data from the <a href=\"https://github.com/pthom/northwind_psql\">northwind</a> database.\nThe data are exposed in three different ways.</p>\n<p>The baseline version simply exposes JPA entities:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@GetMapping</span><span class=\"token punctuation\">(</span>path <span class=\"token operator\">=</span> <span class=\"token string\">\"/v1/orders/{order_id}\"</span><span class=\"token punctuation\">,</span>\n            produces <span class=\"token operator\">=</span> APPLICATION_JSON_VALUE<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">public</span> <span class=\"token class-name\">Order</span> <span class=\"token function\">getEntity</span><span class=\"token punctuation\">(</span><span class=\"token annotation punctuation\">@PathVariable</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"order_id\"</span><span class=\"token punctuation\">)</span> <span class=\"token class-name\">Integer</span> orderId<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> orderRepository<span class=\"token punctuation\">.</span><span class=\"token function\">findById</span><span class=\"token punctuation\">(</span>orderId<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">orElseThrow</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>The Order entity aggregates data from numerous database tables: <code class=\"language-text\">orders</code>, <code class=\"language-text\">order_details</code>, <code class=\"language-text\">products</code>, <code class=\"language-text\">customers</code>, <code class=\"language-text\">customer_customer_demo</code> and <code class=\"language-text\">customer_demographics</code>.\nYou could check the corresponding JPA mapping <a href=\"https://github.com/auto1-oss/postgres12-json-demo/tree/postgres-12/src/main/java/com/auto1/postgres12/jpa\">here</a>.</p>\n<p>Thanks to the magic of Spring the entity is being translated into a JSON response:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"orderId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">10284</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"employeeId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">4</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"orderDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1996-08-19\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"requiredDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1996-09-16\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"shippedDate\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"1996-08-27\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"shipVia\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"freight\"</span><span class=\"token operator\">:</span> <span class=\"token number\">76.56</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"shipName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Lehmanns Marktstand\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"shipAddress\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Magazinweg 7\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"shipCity\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Frankfurt a.M.\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"shipRegion\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"shipPostalCode\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"60528\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"shipCountry\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Germany\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"orderDetails\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"orderId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">10284</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"productId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">27</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"product\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"productId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">27</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"categoryId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">3</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"supplierId\"</span><span class=\"token operator\">:</span> <span class=\"token number\">11</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"productName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Schoggi Schokolade\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"discontinued\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"quantityPerUnit\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"100 - 100 g pieces\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"unitPrice\"</span><span class=\"token operator\">:</span> <span class=\"token number\">43.9</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"unitsInStock\"</span><span class=\"token operator\">:</span> <span class=\"token number\">49</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"unitsOnOrder\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"reorderLevel\"</span><span class=\"token operator\">:</span> <span class=\"token number\">30</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"unitPrice\"</span><span class=\"token operator\">:</span> <span class=\"token number\">35.1</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"quantity\"</span><span class=\"token operator\">:</span> <span class=\"token number\">15</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"discount\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0.25</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>...<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>...<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>...<span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"customer\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"customerId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"LEHMS\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"companyName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Lehmanns Marktstand\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"contactName\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Renate Messner\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"contactTitle\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Sales Representative\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"address\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Magazinweg 7\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"city\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Frankfurt a.M.\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"region\"</span><span class=\"token operator\">:</span> <span class=\"token null keyword\">null</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"postalCode\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"60528\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"country\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Germany\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"phone\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"069-0245984\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"fax\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"069-0245874\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"customerDesc\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"customerTypeId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"AAAA\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"customerDesc\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"First demographic\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>...<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>...<span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>...<span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>The demo project includes the p6spy library which gives an insight into the queries being issued against database.\nTurns out that <strong>three queries</strong> are required to load a particular Order - this means <strong>three database round trips</strong>.</p>\n<p>Of course we can force the ORM to join all the tables and fetch them in one hop, but this seems a not so elegant solution -\nit pushes the ORM to load duplicated data and the necessity of deduplicating them in-memory. Can we do better?</p>\n<h3>JDBC to the rescue</h3>\n<p>JDBC is always a choice if the solution could be expressed via SQL query. Luckily we can create one which matches our case perfectly:</p>\n<div class=\"gatsby-highlight\" data-language=\"sql\"><pre class=\"language-sql\"><code class=\"language-sql\"><span class=\"token keyword\">WITH</span> products<span class=\"token punctuation\">(</span><span class=\"token string\">\"productId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"categoryId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"supplierId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"productName\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"discontinued\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"quantityPerUnit\"</span><span class=\"token punctuation\">,</span>\n              <span class=\"token string\">\"unitPrice\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"unitsInStock\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"unitsOnOrder\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"reorderLevel\"</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">AS</span>\n         <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> p<span class=\"token punctuation\">.</span>product_id<span class=\"token punctuation\">,</span>\n                 p<span class=\"token punctuation\">.</span>category_id<span class=\"token punctuation\">,</span>\n                 p<span class=\"token punctuation\">.</span>supplier_id<span class=\"token punctuation\">,</span>\n                 p<span class=\"token punctuation\">.</span>product_name<span class=\"token punctuation\">,</span>\n                 p<span class=\"token punctuation\">.</span>discontinued::<span class=\"token keyword\">boolean</span><span class=\"token punctuation\">,</span>\n                 p<span class=\"token punctuation\">.</span>quantity_per_unit<span class=\"token punctuation\">,</span>\n                 p<span class=\"token punctuation\">.</span>unit_price<span class=\"token punctuation\">,</span>\n                 p<span class=\"token punctuation\">.</span>units_in_stock<span class=\"token punctuation\">,</span>\n                 p<span class=\"token punctuation\">.</span>units_on_order<span class=\"token punctuation\">,</span>\n                 p<span class=\"token punctuation\">.</span>reorder_level\n          <span class=\"token keyword\">FROM</span> products p<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n     orderDetails<span class=\"token punctuation\">(</span><span class=\"token string\">\"orderId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"productId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"product\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"unitPrice\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"quantity\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"discount\"</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">AS</span>\n         <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> d<span class=\"token punctuation\">.</span>order_id<span class=\"token punctuation\">,</span>\n                 d<span class=\"token punctuation\">.</span>product_id<span class=\"token punctuation\">,</span>\n                 <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> to_json<span class=\"token punctuation\">(</span>p<span class=\"token punctuation\">)</span> <span class=\"token keyword\">FROM</span> products p <span class=\"token keyword\">WHERE</span> p<span class=\"token punctuation\">.</span><span class=\"token string\">\"productId\"</span> <span class=\"token operator\">=</span> d<span class=\"token punctuation\">.</span>product_id<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n                 d<span class=\"token punctuation\">.</span>unit_price<span class=\"token punctuation\">,</span>\n                 d<span class=\"token punctuation\">.</span>quantity<span class=\"token punctuation\">,</span>\n                 d<span class=\"token punctuation\">.</span>discount\n          <span class=\"token keyword\">FROM</span> order_details d<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n\n     demographics<span class=\"token punctuation\">(</span><span class=\"token string\">\"customerId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"customerTypeId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"customerDesc\"</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">AS</span>\n         <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> ccd<span class=\"token punctuation\">.</span>customer_id<span class=\"token punctuation\">,</span>\n                 ccd<span class=\"token punctuation\">.</span>customer_type_id<span class=\"token punctuation\">,</span>\n                 cd<span class=\"token punctuation\">.</span>customer_desc\n          <span class=\"token keyword\">FROM</span> customer_demographics cd\n                   <span class=\"token keyword\">JOIN</span> customer_customer_demo ccd <span class=\"token keyword\">on</span> cd<span class=\"token punctuation\">.</span>customer_type_id <span class=\"token operator\">=</span> ccd<span class=\"token punctuation\">.</span>customer_type_id<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n     customers<span class=\"token punctuation\">(</span><span class=\"token string\">\"customerId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"companyName\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"contactName\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"contactTitle\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"address\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"city\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"region\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"postalCode\"</span><span class=\"token punctuation\">,</span>\n               <span class=\"token string\">\"country\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"phone\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"fax\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"customerDesc\"</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">AS</span>\n         <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> c<span class=\"token punctuation\">.</span>customer_id<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>company_name<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>contact_name<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>contact_title<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>address<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>city<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>region<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>postal_code<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>country<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>phone<span class=\"token punctuation\">,</span>\n                 c<span class=\"token punctuation\">.</span>fax<span class=\"token punctuation\">,</span>\n                 <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> to_json<span class=\"token punctuation\">(</span>array_agg<span class=\"token punctuation\">(</span>to_json<span class=\"token punctuation\">(</span>d<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">FROM</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> <span class=\"token string\">\"customerTypeId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"customerDesc\"</span> <span class=\"token keyword\">FROM</span> demographics <span class=\"token keyword\">WHERE</span> demographics<span class=\"token punctuation\">.</span><span class=\"token string\">\"customerId\"</span> <span class=\"token operator\">=</span> c<span class=\"token punctuation\">.</span>customer_id<span class=\"token punctuation\">)</span> d<span class=\"token punctuation\">)</span>\n          <span class=\"token keyword\">FROM</span> customers c<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n\n     orders<span class=\"token punctuation\">(</span><span class=\"token string\">\"orderId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"employeeId\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"orderDate\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"requiredDate\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"shippedDate\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"shipVia\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"freight\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token string\">\"shipName\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"shipAddress\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"shipCity\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"shipRegion\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"shipPostalCode\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"shipCountry\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"orderDetails\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token string\">\"customer\"</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">AS</span>\n         <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> o<span class=\"token punctuation\">.</span>order_id<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>employee_id<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>order_date<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>required_date<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>shipped_date<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>ship_via<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>freight<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>ship_name<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>ship_address<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>ship_city<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>ship_region<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>ship_postal_code<span class=\"token punctuation\">,</span>\n                 o<span class=\"token punctuation\">.</span>ship_country<span class=\"token punctuation\">,</span>\n                 <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> to_json<span class=\"token punctuation\">(</span>array_agg<span class=\"token punctuation\">(</span>to_json<span class=\"token punctuation\">(</span>d<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">FROM</span> orderDetails d <span class=\"token keyword\">WHERE</span> d<span class=\"token punctuation\">.</span><span class=\"token string\">\"orderId\"</span> <span class=\"token operator\">=</span> o<span class=\"token punctuation\">.</span>order_id<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n                 <span class=\"token punctuation\">(</span><span class=\"token keyword\">SELECT</span> to_json<span class=\"token punctuation\">(</span>c<span class=\"token punctuation\">)</span> <span class=\"token keyword\">FROM</span> customers c <span class=\"token keyword\">WHERE</span> c<span class=\"token punctuation\">.</span><span class=\"token string\">\"customerId\"</span> <span class=\"token operator\">=</span> o<span class=\"token punctuation\">.</span>customer_id<span class=\"token punctuation\">)</span>\n          <span class=\"token keyword\">FROM</span> orders o<span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">SELECT</span> to_json<span class=\"token punctuation\">(</span>orders<span class=\"token punctuation\">)</span> <span class=\"token keyword\">AS</span> json_body <span class=\"token keyword\">FROM</span> orders <span class=\"token keyword\">WHERE</span> orders<span class=\"token punctuation\">.</span><span class=\"token string\">\"orderId\"</span> <span class=\"token operator\">=</span> ?</code></pre></div>\n<p>The query looks verbose, perhaps a little enigmatic.\nIt is a bit long and therefore it could be overwhelming.\nHowever, on a closer look we could notice it isn't so much complicated - there are few idioms which make the query powerful.</p>\n<p>The good news is that the query generates the exact same JSON as the JPA endpoint provides - it is possible thanks to Postgres’ excellent support for JSON format.\nOur case is not sophisticated though - single <code class=\"language-text\">to_json</code> function is enough to deal with JSON objects and arrays.</p>\n<p>One can notice how the nesting has been realized: how to nest JSON objects and JSON arrays, e.g. the <code class=\"language-text\">orderDetails</code> or the <code class=\"language-text\">customer</code> into <code class=\"language-text\">order</code>).\nThe simple idiom (accordingly <code class=\"language-text\">to_json(...)</code> or <code class=\"language-text\">to_json(array_agg(to_json(...)))</code>) does the job.</p>\n<p>The database query could be adapted according to the caller needs - the response can be shrinked, making the query simpler and - most probably - even more effective.</p>\n<p>Worth noticing is that the join table <code class=\"language-text\">customer_customer_demo</code> has been mitigated in the end result, just like the JPA version does by using <code class=\"language-text\">@ManyToMany</code>.</p>\n<hr>\n<blockquote>\n<p><em>The query is flexible enough to substitute all JPA features we need.</em></p>\n</blockquote>\n<hr>\n<p>I want also emphasize the fact of CTE’s being used to decompose the query into logical parts.\nPersonally I find it elegant because it is easy on the eyes and it “scales” - meaning while our case gets more complicated (JSON aggregates more data, becomes deeply nested) our query gets longer instead of getting deeper.\nIf the query grows too long we can simplify it by extracting some it’s parts as database views.</p>\n<p>The CTE has one more advantage here: it gives a control over the keys visible in end resulting JSON (<code class=\"language-text\">order_id</code> becomes <code class=\"language-text\">orderId</code>).</p>\n<p>So we have a nice query which allows us to fetch required data in one hop in a format ready to be consumed by our clients.\nThis means no adjustments are required, therefore the Java implementation can be that easy:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@SneakyThrows</span>\n<span class=\"token annotation punctuation\">@GetMapping</span><span class=\"token punctuation\">(</span>path <span class=\"token operator\">=</span> <span class=\"token string\">\"/v2/orders/{order_id}\"</span><span class=\"token punctuation\">,</span>\n            produces <span class=\"token operator\">=</span> APPLICATION_JSON_VALUE<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">public</span> <span class=\"token class-name\">String</span> <span class=\"token function\">getRawBodyFromDatabase</span><span class=\"token punctuation\">(</span>\n            <span class=\"token annotation punctuation\">@PathVariable</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"order_id\"</span><span class=\"token punctuation\">)</span> <span class=\"token class-name\">Integer</span> orderId<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> jdbcTemplate<span class=\"token punctuation\">.</span><span class=\"token function\">query</span><span class=\"token punctuation\">(</span>JSON_QUERY<span class=\"token punctuation\">,</span> <span class=\"token punctuation\">(</span><span class=\"token class-name\">ResultSet</span> rs<span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n        rs<span class=\"token punctuation\">.</span><span class=\"token function\">next</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">return</span> rs<span class=\"token punctuation\">.</span><span class=\"token function\">getString</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> orderId<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>We didn’t use plain JDBC here but a <code class=\"language-text\">JdbcTemplate</code> which has a negligible overhead and it simplifies our code.</p>\n<p>Of course we could achieve similar results using plain JDBC (e.g. by using <code class=\"language-text\">PreparedStatement</code> directly) - without the use of Spring.\nEven then the necessity of extracting only a single field from the result set makes the solution less coarse than using JDBC in a usual way\n(in our case it would require managing at least three result sets).\nAll the complexity has been moved down into the query.</p>\n<h3>But I need a POJO!</h3>\n<p>Some folks could argue “I don’t want the JSON to be directly returned - I definitely need the POJO to make some processing over it”.\nThat's an absolutely fair statement! We can satisfy this requirement as well.</p>\n<p>Let’s point it one more time: our query produces the exact same JSON as the Order JPA entity has been translated into.</p>\n<p>This means we can use the resulting JSON and unmarshall it into an object of class <code class=\"language-text\">Order</code>.\nOf course the object won’t be tracked by the JPA whatsoever but we don’t need these capabilities - remember: we are serving persisted data and not mutating them.</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@SneakyThrows</span>\n<span class=\"token annotation punctuation\">@GetMapping</span><span class=\"token punctuation\">(</span>path <span class=\"token operator\">=</span> <span class=\"token string\">\"/v3/orders/{order_id}\"</span><span class=\"token punctuation\">,</span>\n            produces <span class=\"token operator\">=</span> APPLICATION_JSON_VALUE<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">public</span> <span class=\"token class-name\">Order</span> <span class=\"token function\">getEntityNotUsingJpa</span><span class=\"token punctuation\">(</span><span class=\"token annotation punctuation\">@PathVariable</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"order_id\"</span><span class=\"token punctuation\">)</span> <span class=\"token class-name\">Integer</span> orderId<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> jdbcTemplate<span class=\"token punctuation\">.</span><span class=\"token function\">query</span><span class=\"token punctuation\">(</span>JSON_QUERY<span class=\"token punctuation\">,</span> <span class=\"token punctuation\">(</span><span class=\"token class-name\">ResultSet</span> rs<span class=\"token punctuation\">)</span> <span class=\"token operator\">-></span> <span class=\"token punctuation\">{</span>\n        rs<span class=\"token punctuation\">.</span><span class=\"token function\">next</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">return</span> <span class=\"token function\">unmarshall</span><span class=\"token punctuation\">(</span>rs<span class=\"token punctuation\">.</span><span class=\"token function\">getString</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token class-name\">Order</span><span class=\"token punctuation\">.</span><span class=\"token keyword\">class</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> orderId<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token annotation punctuation\">@SneakyThrows</span>\n<span class=\"token keyword\">private</span> <span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">T</span><span class=\"token punctuation\">></span></span> <span class=\"token class-name\">T</span> <span class=\"token function\">unmarshall</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span> json_body<span class=\"token punctuation\">,</span> <span class=\"token class-name\">Class</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">T</span><span class=\"token punctuation\">></span></span> clazz<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> objectMapper<span class=\"token punctuation\">.</span><span class=\"token function\">readValue</span><span class=\"token punctuation\">(</span>json_body<span class=\"token punctuation\">,</span> clazz<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>This version is very similar to V2 but it introduces an additional step of unmarshalling.\nIt is also a great verification step which makes us sure the V1 and V2 results are identical.</p>\n<h3>Measure, measure, measure</h3>\n<p>So how are all the solutions performing?\nWe suspect the V2 version to be faster than the competitors.\nWe are also unsure about the V3 which requires additional unmarshalling phase - could it impact the performance badly?</p>\n<p>The demo project includes a JMeter configuration and a bash script which verifies the configurations.\nThe benchmark is always run against a fresh setup (db + app).\nThe app is running on java 11 with EpsilonGC turned on - this allows us to verify memory consumption of each solution.</p>\n<p>The requests are run in strictly defined sequence, fetching the orders one by one.\nThere’s a prewarming phase which issues 100 requests and then a profiling phase with 20k of requests.</p>\n<p>I have run the benchmark several times on a Macbook Pro 2018, the results are similar on each run.\nHere’s a summary of the most recent run:</p>\n<ul>\n<li>V1 took <strong>1 minute and 25 seconds</strong> to complete the benchmark, the docker container ended up using <strong>1762 MB</strong> (1.641 GiB) of memory.</li>\n<li>V2 took <strong>53 seconds</strong> to complete the benchmark, the docker container ended up using <strong>1710 MB</strong> (1.593 GiB) of memory</li>\n<li>V3 took exactly <strong>1 minute</strong> to complete the benchmark, the docker container ended up using <strong>1758 MB</strong> (1.638 GiB) of memory</li>\n</ul>\n<p>We can see the V2 outperforming the V1 by 32 seconds - that’s <strong>37% improvement</strong>. </p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/00907e6fc534a6e242f935607d2ec10b/eb351/benchmark_duration.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 60.79207920792079%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABzklEQVQoz22TW0sbQRTH94tWUAQLRftmaYVC7ScoFgr60qdSaH31QcFCvaGmJoGkiZU21O1GN5vN3i+Znd1/5+zN3cSBH+fMzux/zmVGghhJkpTMDsZCyPIt7u/voKp3GI1UKIos5kOEoV/bS79LsyI8TuAHEYKAp3g+g2l5JZblwzSFtX14HkMQ0p5IHByTJKQiQsYiJDHD74GBl2+aNTbetkpebZJt5z6tNbH++gon56M0IKlINQhCkYKH65sxnr+4xFqNi4q9wOr6A/Sd7NGZmgnO1ozC7/YMdPumwKj42bzz00Dv2hQHW+j/ymy3Z0IbB5lgHMciXZZGyPkU/4YOtrb7c7wndvp496EHWfHw2IhF/SXOOVzXha5P4LmWOF3H0rNTLAqqtmB59QztziS/ATwVKaDSzaXsuAyN5hg/WnpKo/XgX7V1nDc00e1pHlFcXrWiF2nKRBTxdEEdefj05Y9gkCP8r4MM4X/eHWD74w06orZFmjVBStcwDGjaGI5NTdCwsHKCJyvHua2z8DTj+6n6uGDhUJR0MSdGgP3DIQ6+ZewfKqVfsHeg4K/sZoKVlElDmn9q05nOhdV3RDvKmW3boKbSiKIIjuPgP7PRWr4XqQUSAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Benchmark duration in seconds\"\n        title=\"\"\n        src=\"/static/00907e6fc534a6e242f935607d2ec10b/40fad/benchmark_duration.png\"\n        srcset=\"/static/00907e6fc534a6e242f935607d2ec10b/707e9/benchmark_duration.png 148w,\n/static/00907e6fc534a6e242f935607d2ec10b/649e0/benchmark_duration.png 295w,\n/static/00907e6fc534a6e242f935607d2ec10b/40fad/benchmark_duration.png 590w,\n/static/00907e6fc534a6e242f935607d2ec10b/b3fef/benchmark_duration.png 885w,\n/static/00907e6fc534a6e242f935607d2ec10b/eb351/benchmark_duration.png 1010w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>We can notice also a lower memory consumption on the V2 - it used <strong>52 MB</strong> (49 MiB) <strong>less memory</strong> than V1\n(noted the initial app’s memory usage which is 785 MB):</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/b7b44c0c52b828e9c0a6cc8124d4857a/b0617/memory_consumption_table.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 15.815815815815814%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAoUlEQVQI13WMyw6CMBBF+f9PkhQw3ahAAgYSCAt2ItJaRN5dXKeNceckNzlnXg7nRzDmgvMAQcCID/B9Bs9zrWdZiiSJEUVn5MR5niKOLwjDE/HVuplF5FVVwCnLAk1zw7ouGMe3zTRNXx6xzDOG4YW2vdsdk75X6LrHz6WUkEJg2zY4dV3TUOBfaa3p4UBHAnrfyXco9YSgB4ZNz7iJ2f0AaFLdIFy73HYAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Memory consumption comparison\"\n        title=\"\"\n        src=\"/static/b7b44c0c52b828e9c0a6cc8124d4857a/40fad/memory_consumption_table.png\"\n        srcset=\"/static/b7b44c0c52b828e9c0a6cc8124d4857a/707e9/memory_consumption_table.png 148w,\n/static/b7b44c0c52b828e9c0a6cc8124d4857a/649e0/memory_consumption_table.png 295w,\n/static/b7b44c0c52b828e9c0a6cc8124d4857a/40fad/memory_consumption_table.png 590w,\n/static/b7b44c0c52b828e9c0a6cc8124d4857a/b3fef/memory_consumption_table.png 885w,\n/static/b7b44c0c52b828e9c0a6cc8124d4857a/b0617/memory_consumption_table.png 999w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/6101a2054a60731cc34de93dc5d69976/1a868/memory_consumption_chart.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 38.76146788990826%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB7ElEQVQozzWS228SQRSH+fP8C3z1wTeNIZJWY8Q+tKE1xodqDBa8tS/Gy5OmqTGmSq02xEShGG7lfimwC7uUsOwCy8znsOBJzlzOzHy/OWfGNxMCXdfpahp616Cvtempca1Wxx3b/DfXdZFSYltDtHYb0+hhGxo9XaPVbNJX87n55k3NhddN6QV+D6Cn5mM1flWXCLmIj2wFdye8aeG55Up2GxJtLIkZ8LSKt9dXLfSJHJvcK0Ai3mE1MeVdZsTHY50bGUVaAu2xkhBTgjnJWk7QcSSX4pLTgWRPCV9NLsR9nz/V8EdK3FcKj7dT3DyxCR8ZBLczBEtgOIKRM8Z2HA+4UYGQcn0iufwX0pbKrgPX88sbxr42ub1XY1NtehnNEIg7RH+abEbPuKuAVd2hcd5haKmTzHgQ6/PwyKRruVx5q5HVJrxPDVnZ7yKEAn47bHJrt8qWAj6PLIE/TEI7ee4UVcZikbLjzKsqCEey7ESzGMYYfyBOoThg/6DOeiixAB5+aRB4UWGjDJFwGv+JQ/i7wXo4z6qqq7sEuu7M6x9Fcjx5lqNnOFxb+UVeAT8cNFjbOlVAgc9QC6mSSckSVKsXJNtDzi9c0mddsoMpcvltZjMxfyGKZZNypc90KviTbKlSTGipM+ms7n2rf9gTOwkX5RGhAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Memory consumption comparison\"\n        title=\"\"\n        src=\"/static/6101a2054a60731cc34de93dc5d69976/40fad/memory_consumption_chart.png\"\n        srcset=\"/static/6101a2054a60731cc34de93dc5d69976/707e9/memory_consumption_chart.png 148w,\n/static/6101a2054a60731cc34de93dc5d69976/649e0/memory_consumption_chart.png 295w,\n/static/6101a2054a60731cc34de93dc5d69976/40fad/memory_consumption_chart.png 590w,\n/static/6101a2054a60731cc34de93dc5d69976/b3fef/memory_consumption_chart.png 885w,\n/static/6101a2054a60731cc34de93dc5d69976/301c0/memory_consumption_chart.png 1180w,\n/static/6101a2054a60731cc34de93dc5d69976/1a868/memory_consumption_chart.png 1308w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<hr>\n<blockquote>\n<p><em>Worth noticing: the V2 version does not leverage Hibernate at all therefore we could minimize the memory footprint even more by excluding the JPA dependencies.</em></p>\n</blockquote>\n<hr>\n<p>Let’s have a look at response times:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/73c8b2f75166508b24cc53407109875b/13a80/response_time_table.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 11.15107913669065%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAYAAABYBvyLAAAACXBIWXMAAAsSAAALEgHS3X78AAAAhElEQVQI1z2Muw6CQBBF+f9v0cRlkdibGAE11Gohsj5Acd9ibK6zW1ic3Mk5ySRsdURaNEhLAV61YMUZfHNBRsy3N+R1R63FdLmn1sTGK0H9Su4Atj5hRkyoL3YCyb1/4jEoSG3hxy+kcXgpC2U8rP9EgtNujE7RHZDaYZAG2r7/G378APwJj8zXTZkxAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Response time summary\"\n        title=\"\"\n        src=\"/static/73c8b2f75166508b24cc53407109875b/40fad/response_time_table.png\"\n        srcset=\"/static/73c8b2f75166508b24cc53407109875b/707e9/response_time_table.png 148w,\n/static/73c8b2f75166508b24cc53407109875b/649e0/response_time_table.png 295w,\n/static/73c8b2f75166508b24cc53407109875b/40fad/response_time_table.png 590w,\n/static/73c8b2f75166508b24cc53407109875b/b3fef/response_time_table.png 885w,\n/static/73c8b2f75166508b24cc53407109875b/301c0/response_time_table.png 1180w,\n/static/73c8b2f75166508b24cc53407109875b/13a80/response_time_table.png 1668w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Once again we are able to notice improved throughput as well as lower latency.</p>\n<p>The plot confirms that as well (cropped for brevity):</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/609ca54ea332fb5f16d9c48de682d24f/4fbf1/response_time_plot.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 42.516069788797054%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsSAAALEgHS3X78AAAA60lEQVQoz6WS227EIAxE+f/v7G4gbIAQrgEyNaTdVdX2oaml0QEsWcPIbF1XpJQQQkCM8TJjTHBagfVhvY7j+Bd7Fe9eA1tro3mJ4wxkt50DR6PW0byq7jNvhgbmfFr/sP1XflZ3GPQM5p1D2zNK9CgpkPwX7dGRfmBwyKREuUVr4LXEZjXYwt+gxA0PfscyT5D8RuSDiqjozS4ztJywLgJ6flFLjoe4w5oFxijalgxWSkGlDGqjHMl2qW1wL3Wwv/sQoc06vlko65PtyUb/3fcysmSzlFDagAsBowT4RI6s/b6bpF938HmPeAfpVL+J2Dl0mAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Response time percentiles plot\"\n        title=\"\"\n        src=\"/static/609ca54ea332fb5f16d9c48de682d24f/40fad/response_time_plot.png\"\n        srcset=\"/static/609ca54ea332fb5f16d9c48de682d24f/707e9/response_time_plot.png 148w,\n/static/609ca54ea332fb5f16d9c48de682d24f/649e0/response_time_plot.png 295w,\n/static/609ca54ea332fb5f16d9c48de682d24f/40fad/response_time_plot.png 590w,\n/static/609ca54ea332fb5f16d9c48de682d24f/b3fef/response_time_plot.png 885w,\n/static/609ca54ea332fb5f16d9c48de682d24f/4fbf1/response_time_plot.png 1089w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Personally I am very well satisfied with the V3 results - the memory consumption being at the same level as the JPA it still offers satisfying performance, nearly as good as the V1.\nIt proves that the unmarshalling does not impact the performance as badly as we might expect.</p>\n<p>I really encourage readers try running the benchmark and share their own results!</p>\n<h3>Postgres 12 exclusive</h3>\n<p>Last words about the database: the results are reproducible currently only on Postgres 12,\ndue to <a href=\"/postgres12-a-precious-release\">recent improvements in Common Table Expressions</a>.</p>\n<p>I have had a run on Postgres 11 and the V2’s performance was… horrible - I had to shorten the benchmark 10 times to make it finish in a reasonable time.\nHere are the results I got:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/1f9adc4fa288d49948eed727adf6be02/25720/postgres11_plot.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 26.254180602006688%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsSAAALEgHS3X78AAAAfElEQVQY06WQ4Q7DIAiEff/HraIIhSvMLWuamP2YyeWLd0KEwsxIicifUvAglForzBx53D2Eh8LDD65yqHA0PA7YqWGecNsoM7d9bitXGSg5LlGLsTt6J4z49od3tVbfWduQXn0KzxnGwJzfXczbXpKZERFEdb17UhY17hdUJojcyMhn+QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Response time percentiles plot\"\n        title=\"\"\n        src=\"/static/1f9adc4fa288d49948eed727adf6be02/40fad/postgres11_plot.png\"\n        srcset=\"/static/1f9adc4fa288d49948eed727adf6be02/707e9/postgres11_plot.png 148w,\n/static/1f9adc4fa288d49948eed727adf6be02/649e0/postgres11_plot.png 295w,\n/static/1f9adc4fa288d49948eed727adf6be02/40fad/postgres11_plot.png 590w,\n/static/1f9adc4fa288d49948eed727adf6be02/b3fef/postgres11_plot.png 885w,\n/static/1f9adc4fa288d49948eed727adf6be02/301c0/postgres11_plot.png 1180w,\n/static/1f9adc4fa288d49948eed727adf6be02/b5a53/postgres11_plot.png 1770w,\n/static/1f9adc4fa288d49948eed727adf6be02/25720/postgres11_plot.png 1794w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>You can give it a try - the demo app is prepared to allow a quick switch to Postgres 11.</p>\n<h3>Summary</h3>\n<p>The query we have prepared enables fine control over the data being fetched from database.</p>\n<p>We are no longer restricted to tabular data - we could easily fetch complex data graphs, even manipulate them to match the desired format.\nWe did it keeping the solution maintainable and very effective in terms of throughput.</p>\n<p>It is still unknown to me what is the main source of latency in the JPA version: either is it the additional round trips or the internals of Hibernate.\nI see the topic interesting to explore.\nPerhaps some day we’ll get an ORM which is able to load entity graphs using a single query.\nAny Hibernate devs reading here?</p>","fields":{"slug":"/serving-json-from-postgres/","tags":["jdbc","jpa","postgres12","json","spring boot"]}}},{"node":{"id":"a7cdd55d-a270-5c8c-be42-5c2c15c043f0","frontmatter":{"category":"Coding","title":"Testing your isolated Fragments with Koin","date":"2019-09-09","summary":"This blog post explains how you could set up your environment in order to test your fragments in isolation from other parts of your application","thumbnail":{"relativePath":"pages/testing-isolated-fragments-with-koin/thumbnail.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEcklEQVQ4y5WUbUxTVxjHL2UxCouJbsk+7MvmErNsH7b4YX4wsg0nU6RbXEXKS3lxMCm1paGIaJ1ji04Z08Eob8MhaGCSwRZIkPEqVSgKZVJKLb194basyHiZa0tfGG2fPfde6sQsLjvJP885zznP7z7n3PMcYoksIZZNcoJuDuPZsBWzkEM81uA9gnCNH2N8MEgQDzWniKc25xS7wEEWhYV8S+aarQ7Tl286jOdfCvmW7whY6Nq4IjeRUEgSmX7IPmoO8gsG9rupIdJtkpd5TPmLXlK66tFLvMuTuSrH5Mld9Ly6jhuukKZxSnPiwy5kcNfASethf0ydZ2BWfctGt7HgNiwVwl+kCLy6o+CdyAK4nwm+sQxwjYl4T+4OwREh6JnD77JOnyEnnNm6vvBzmD8O3slPfB5NZsAzlh703E0OBEeTYGX0CFj7Zd+KuanPVUr5u74R8raVCg9t/+54+st0bFWeIOxc6j7iTPw7LPTexPgGlzaXDNzPAgQF3HdTgu4hftAzlAyLt4W3dL3F0ReFSdcVEv4qnpe/XMz3XcrmzRXx9zCEc6n7mfP9NH4tS7uufqtzTLjsG00GGuRW8vx+FR9mbxVU0fNfZ8W3VObydQgzVeYmAdpV3GZf8RHugpwXtYNe81lC9D+3Y3yiN+JPVaZ9ZegQuPoPBlxd3KC78wC4b8TOUs281rqTaXApJ3FBIU6AyzIB1OalgELMX7ySLwA8u19oRnFGXBiTIXRvZ8jzStE1GOaBqyPW52zbF3T+tDfoad0Dwba9MN/4PnReiH+gkH3cUJ2fVl+dn06rsUqW1nQ2dX8Rc50AiE10h7p5mgFODtZuW+xMXoTOGHA2v+13NkX5HVd3+53fvxVYbtgJv6kbneaZ+UkLRekslE1nsdq0ZspqGNdO9nR190TSDM3EBHuX7T1sJej6Lr4x15425mqJhZUfY8DdFA3z1z/ymYabA6TZBlZqGiiKYjU9DTarFUZGRpZ1Ot2NmZmZLew9vClg7IPetZLD1PU9X0VTHflZ5nZpnFar3m0wWb1GkgSDwRAIiSTJldnZWVCpVFKTySRHH1u/+r4Swt3O/m5bdx7n38qTNOi77XY70BBUkAYajcagVquFgYGB17BfjT7ho4B7vXXEw4549gPdJYSpU86xtYvCzYP1G2gfBuzELJitYqAfx2Cz2UCtVlN6vX4Ax7UajYbz1EcDAxk7NTXFLMTMeOhbslgsQMMR0IDZPY/AF0MxSqUybB3k8VcD+xxaZUIep+1y6TPMXxwbfcGg13+g007sIP5PKzuW8J9rrgxbnr2qWdhU9+tcRM3PvZtr1HORla1dG9ctol+NMlFCKMNorF1uuSQxhu6jPYzzUZUFmSkVhdlCRWF2uuLEUQEqQyEXf6g4kS2rOC15dR2wXJzInIFCnPgKQjRYXo1oe/AxaEJ4P/bvoK8KS1CJ+oFWOWs7Uf2ohCeA/JDdjMH5CI5DewrVgRKh/wBm+joqD8cHURKUEMfZaGUV0uQtfwP/KbEPkxHssgAAAABJRU5ErkJggg==","width":280,"height":280,"src":"/static/3002cc6db63b27d120e79145783a1750/b2831/thumbnail.png","srcSet":"/static/3002cc6db63b27d120e79145783a1750/b2831/thumbnail.png 1x"}}},"authorName":"Oleg Osipenko","authorDescription":"Senior Software Engineer","authorAvatar":{"relativePath":"pages/testing-isolated-fragments-with-koin/avatar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAQDAf/EABYBAQEBAAAAAAAAAAAAAAAAAAIAA//aAAwDAQACEAMQAAABvxphrZG0EPTN4Bn/xAAcEAABBQADAAAAAAAAAAAAAAACAAEDERIEIUH/2gAIAQEAAQUCMe3HKpTU69LkszxyFqUy1a//xAAWEQADAAAAAAAAAAAAAAAAAAABIDH/2gAIAQMBAT8BET//xAAXEQADAQAAAAAAAAAAAAAAAAAAAREQ/9oACAECAQE/AW3S7//EABkQAQADAQEAAAAAAAAAAAAAAAEAEDERcf/aAAgBAQAGPwIJtFZFXvs2v//EABoQAQEBAQEBAQAAAAAAAAAAAAEAESExUWH/2gAIAQEAAT8hxA4Prax0i9GTYNSGfefshNWsqhiiOSvft//aAAwDAQACAAMAAAAQpBd//8QAGBEBAQADAAAAAAAAAAAAAAAAAQAQEUH/2gAIAQMBAT8QAzTcx//EABURAQEAAAAAAAAAAAAAAAAAABBB/9oACAECAQE/EAVP/8QAHBABAQEBAAIDAAAAAAAAAAAAAREAITFBgZHR/9oACAEBAAE/EGgFUPPPR96QjAi/JqtWdBTjHT0kCCvN/MUGjjrFKJRrNDGeA876ympRXm//2Q==","width":50,"height":50,"src":"/static/4d1dd08092290e44fd34c92f78d9904e/d2d31/avatar.jpg","srcSet":"/static/4d1dd08092290e44fd34c92f78d9904e/d2d31/avatar.jpg 1x,\n/static/4d1dd08092290e44fd34c92f78d9904e/0b804/avatar.jpg 1.5x,\n/static/4d1dd08092290e44fd34c92f78d9904e/753c3/avatar.jpg 2x,\n/static/4d1dd08092290e44fd34c92f78d9904e/31ca8/avatar.jpg 3x"}}},"headerImage":{"relativePath":"pages/testing-isolated-fragments-with-koin/headerImage.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAAsSAAALEgHS3X78AAAAvklEQVQY02NggIIvV/LB9Pvb7WzfrmRs+Hw+vQgmt35mb+DqSS2fV01ujwLxF3dWMZ0/eYwBL/hwNIURRL+7USf8aVfQn/frfLp0p/xnD3JSZ7/14LHdvYePXt66ez8dpObk8WOMj1++wW+gMsiVW3zB7OcLfNVfLfbSALFvCTIwTMwINFrSWRU2rSzFqSXahQkkPqU4kYEo8Hm9F5x9Zl4qY//kOQxT8iI1OqKd5SZmhcouaCoEy03OjcCqHwADLUswHlaKbgAAAABJRU5ErkJggg==","width":1280,"height":280,"src":"/static/a77f9e0124a66d21b204dc560d751ee8/26421/headerImage.png","srcSet":"/static/a77f9e0124a66d21b204dc560d751ee8/26421/headerImage.png 1x"}}}},"html":"<p>UI-tests are a necessary part of our development routine in AUTO1. Although that wasn’t the case a while ago. One of the issues, which was blocking developers from writing and running UI-tests, was the need to set up UI-tests. Of course, to test the screen in isolation you need to have some architecture, employ the SOLID principles, especially Dependency inversion. With proper architecture it’s easy to substitute dependencies inside screen under the test with fakes or mocks. But even with good architecture you need to provide these mock implementations. And it’s not always obvious how to make your DI framework to provide mocks for tests.</p>\n<p>Recently we started a brand new project from scratch. And we decided to give <a href=\"https://insert-koin.io/\">Koin</a> a try. Why Koin and not Dagger? — Just because Koin offers concise and minimalistic syntax and it uses Kotlin. Also, important for us was the question of code generation. Although Google announced that in new versions of Android Gradle plug-in they made kapt incremental, we still didn’t want to add this extra burden to our build process. Simultaneously Koin 2.0 was announced at the same time. That’s how we found ourselves facing question: how to provide mock dependencies to our UI-tests?</p>\n<h2>Let’s start with fragment…</h2>\n<p>Inside our fragments we inject number of dependencies, typically they include viewmodels:</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">private</span> <span class=\"token keyword\">val</span> fragmentViewModel<span class=\"token operator\">:</span> EmailLoginFragmentViewModel <span class=\"token keyword\">by</span> <span class=\"token function\">viewModel</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>That’s exactly what we want to substitute with mocks. To do so we need a custom Application class, which will start Koin with our test module, not the real one.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">class</span> KoinTestApp<span class=\"token operator\">:</span> <span class=\"token function\">Application</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">override</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">onCreate</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">super</span><span class=\"token punctuation\">.</span><span class=\"token function\">onCreate</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    startKoin <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">androidLogger</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token function\">androidContext</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">this</span><span class=\"token label symbol\">@KoinTestApp</span><span class=\"token punctuation\">)</span>\n    <span class=\"token function\">modules</span><span class=\"token punctuation\">(</span><span class=\"token function\">emptyList</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token keyword\">internal</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">injectModule</span><span class=\"token punctuation\">(</span>module<span class=\"token operator\">:</span> Module<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">loadKoinModules</span><span class=\"token punctuation\">(</span>module<span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>We start our Koin instance inside <code class=\"language-text\">onCreate()</code> method, and we pass <code class=\"language-text\">emptyList()</code> of modules. We also have a method <code class=\"language-text\">injectModule()</code> which accepts our test module. Since we already started our application, we are using method <code class=\"language-text\">loadKoinModules()</code> to add this test module to the graph.</p>\n<h2>How to run custom application</h2>\n<p>But we need to somehow start our test application class. We cannot use <code class=\"language-text\">AndroidManifest</code>  inside <code class=\"language-text\">androidTest</code> folder, because manifest merger will ignore it if we set our test application inside Manifest like this: <code class=\"language-text\">&lt;application name=\".KoinTestApp\"></code>. So we could use a custom test runner for that purpose. <code class=\"language-text\">AndroidJUnitRunner</code> class has a <code class=\"language-text\">newApplication()</code> method. And we can pass our test application name there, making our test runner to start our test application instead of a real one.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">class</span> KoinTestRunner<span class=\"token operator\">:</span> <span class=\"token function\">AndroidJUnitRunner</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">override</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">newApplication</span><span class=\"token punctuation\">(</span>\n    cl<span class=\"token operator\">:</span> ClassLoader<span class=\"token operator\">?</span><span class=\"token punctuation\">,</span> \n    className<span class=\"token operator\">:</span> String<span class=\"token operator\">?</span><span class=\"token punctuation\">,</span> \n    context<span class=\"token operator\">:</span> Context<span class=\"token operator\">?</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> Application <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">return</span> <span class=\"token keyword\">super</span><span class=\"token punctuation\">.</span><span class=\"token function\">newApplication</span><span class=\"token punctuation\">(</span>cl<span class=\"token punctuation\">,</span> KoinTestApp<span class=\"token operator\">::</span><span class=\"token keyword\">class</span><span class=\"token punctuation\">.</span>java<span class=\"token punctuation\">.</span>name<span class=\"token punctuation\">,</span> context<span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Then we need to change our <code class=\"language-text\">build.gradle</code> inside our app module:</p>\n<div class=\"gatsby-highlight\" data-language=\"groovy\"><pre class=\"language-groovy\"><code class=\"language-groovy\">android <span class=\"token punctuation\">{</span>\n  defaultConfig <span class=\"token punctuation\">{</span>\n    …\n    …\n    testInstrumentationRunner “path<span class=\"token punctuation\">.</span>to<span class=\"token punctuation\">.</span>your<span class=\"token punctuation\">.</span><span class=\"token keyword\">package</span><span class=\"token punctuation\">.</span>KoinTestRunner”\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>And don’t forget to disable animations for UI-tests:</p>\n<div class=\"gatsby-highlight\" data-language=\"groovy\"><pre class=\"language-groovy\"><code class=\"language-groovy\">android <span class=\"token punctuation\">{</span>\n  testOptions <span class=\"token punctuation\">{</span>\n    animationsDisabled <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2>Test rule for fragments</h2>\n<p>We are almost done. We only need to write our test and provide our test module to it. We are using our custom fragment test rule, which provides a couple of methods for submitting your fragment and mock test module. But you could use the same approach for activities.</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token keyword\">abstract</span> <span class=\"token keyword\">class</span> FragmentTestRule<span class=\"token operator\">&lt;</span>F<span class=\"token operator\">:</span> Fragment<span class=\"token operator\">></span><span class=\"token operator\">:</span> \n  ActivityTestRule<span class=\"token operator\">&lt;</span>FragmentActivity<span class=\"token operator\">></span><span class=\"token punctuation\">(</span>FragmentActivity<span class=\"token operator\">::</span><span class=\"token keyword\">class</span><span class=\"token punctuation\">.</span>java<span class=\"token punctuation\">,</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  \n  <span class=\"token keyword\">override</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">afterActivityLaunched</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">super</span><span class=\"token punctuation\">.</span><span class=\"token function\">afterActivityLaunched</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    activity<span class=\"token punctuation\">.</span><span class=\"token function\">runOnUiThread</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">val</span> fm <span class=\"token operator\">=</span> activity<span class=\"token punctuation\">.</span>supportFragmentManager\n      <span class=\"token keyword\">val</span> transaction <span class=\"token operator\">=</span> fm<span class=\"token punctuation\">.</span><span class=\"token function\">beginTransaction</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n      transaction<span class=\"token punctuation\">.</span><span class=\"token function\">replace</span><span class=\"token punctuation\">(</span>android<span class=\"token punctuation\">.</span>R<span class=\"token punctuation\">.</span>id<span class=\"token punctuation\">.</span>content<span class=\"token punctuation\">,</span> <span class=\"token function\">createFragment</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">.</span><span class=\"token function\">commit</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n  \n  <span class=\"token keyword\">override</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">beforeActivityLaunched</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">super</span><span class=\"token punctuation\">.</span><span class=\"token function\">beforeActivityLaunched</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">val</span> application <span class=\"token operator\">=</span> InstrumentationRegistry<span class=\"token punctuation\">.</span><span class=\"token function\">getInstrumentation</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">.</span>targetContext<span class=\"token punctuation\">.</span>applicationContext <span class=\"token keyword\">as</span> KoinTestApp\n    application<span class=\"token punctuation\">.</span><span class=\"token function\">injectModule</span><span class=\"token punctuation\">(</span><span class=\"token function\">getModule</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token keyword\">protected</span> <span class=\"token keyword\">abstract</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">createFragment</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> F\n  \n  <span class=\"token keyword\">protected</span> <span class=\"token keyword\">abstract</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">getModule</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> Module\n  \n  <span class=\"token keyword\">fun</span> <span class=\"token function\">launch</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">launchActivity</span><span class=\"token punctuation\">(</span><span class=\"token function\">Intent</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">fun</span> <span class=\"token operator\">&lt;</span>F<span class=\"token operator\">:</span> Fragment<span class=\"token operator\">></span> <span class=\"token function\">createRule</span><span class=\"token punctuation\">(</span>fragment<span class=\"token operator\">:</span> F<span class=\"token punctuation\">,</span> module<span class=\"token operator\">:</span> Module<span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> FragmentTestRule<span class=\"token operator\">&lt;</span>F<span class=\"token operator\">></span> <span class=\"token operator\">=</span> \n  <span class=\"token keyword\">object</span><span class=\"token operator\">:</span> FragmentTestRule<span class=\"token operator\">&lt;</span>F<span class=\"token operator\">></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">override</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">createFragment</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> F <span class=\"token operator\">=</span> fragment\n\n    <span class=\"token keyword\">override</span> <span class=\"token keyword\">fun</span> <span class=\"token function\">getModule</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span> Module <span class=\"token operator\">=</span> module\n  <span class=\"token punctuation\">}</span></code></pre></div>\n<p>I am using default Android <code class=\"language-text\">FragmentActivity</code> to host fragment under test. So we need to mention this activity in the manifest. For that purpose I created instance of <code class=\"language-text\">AndroidManifest</code> inside debug variant in my app module:</p>\n<div class=\"gatsby-highlight\" data-language=\"xml\"><pre class=\"language-xml\"><code class=\"language-xml\"><span class=\"token prolog\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>manifest</span>\n  <span class=\"token attr-name\"><span class=\"token namespace\">xmlns:</span>android</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>http://schemas.android.com/apk/res/android<span class=\"token punctuation\">\"</span></span>\n  <span class=\"token attr-name\">package</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>com.github.olegosipenko.kointestsample<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>application</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>activity</span>\n      <span class=\"token attr-name\"><span class=\"token namespace\">android:</span>theme</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>@style/AppTheme<span class=\"token punctuation\">\"</span></span>\n      <span class=\"token attr-name\"><span class=\"token namespace\">android:</span>name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>androidx.fragment.app.FragmentActivity<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">/></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>application</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>manifest</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<h2>Test itself</h2>\n<p>Finally, our test class could look like this:</p>\n<div class=\"gatsby-highlight\" data-language=\"kotlin\"><pre class=\"language-kotlin\"><code class=\"language-kotlin\"><span class=\"token annotation builtin\">@RunWith</span><span class=\"token punctuation\">(</span>AndroidJUnit4ClassRunner<span class=\"token operator\">::</span><span class=\"token keyword\">class</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">class</span> EmailLoginFragmentTest <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">private</span> <span class=\"token keyword\">val</span> fragmentViewModel<span class=\"token operator\">:</span> EmailLoginFragmentViewModel <span class=\"token operator\">=</span> <span class=\"token function\">mockk</span><span class=\"token punctuation\">(</span>relaxed <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span>\n  <span class=\"token keyword\">private</span> <span class=\"token keyword\">val</span> fragment <span class=\"token operator\">=</span> <span class=\"token function\">EmailLoginFragment</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n  <span class=\"token annotation builtin\">@get:Rule</span>\n  <span class=\"token keyword\">val</span> fragmentRule <span class=\"token operator\">=</span> <span class=\"token function\">createRule</span><span class=\"token punctuation\">(</span>fragment<span class=\"token punctuation\">,</span> module <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">single</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">override</span> <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      fragmentViewModel\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n\n  <span class=\"token annotation builtin\">@Test</span>\n  <span class=\"token keyword\">fun</span> <span class=\"token function\">testBasicInvocation</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    onScreen<span class=\"token operator\">&lt;</span>EmailLoginForm<span class=\"token operator\">></span> <span class=\"token punctuation\">{</span>\n      emailField <span class=\"token punctuation\">{</span> <span class=\"token function\">typeText</span><span class=\"token punctuation\">(</span>EMAIL<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span>\n      passwordField <span class=\"token punctuation\">{</span> <span class=\"token function\">typeText</span><span class=\"token punctuation\">(</span>PASSWORD<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span>\n      loginButton<span class=\"token punctuation\">.</span><span class=\"token function\">click</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n      verify <span class=\"token punctuation\">{</span>\n        fragmentViewModel<span class=\"token punctuation\">.</span><span class=\"token function\">loginWithCredentials</span><span class=\"token punctuation\">(</span>EMAIL<span class=\"token punctuation\">,</span> PASSWORD<span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token keyword\">class</span> EmailLoginForm<span class=\"token operator\">:</span> Screen<span class=\"token operator\">&lt;</span>EmailLoginForm<span class=\"token operator\">></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">val</span> emailField <span class=\"token operator\">=</span> KEditText <span class=\"token punctuation\">{</span> <span class=\"token function\">withId</span><span class=\"token punctuation\">(</span>R<span class=\"token punctuation\">.</span>id<span class=\"token punctuation\">.</span>textFieldEmail<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">val</span> passwordField <span class=\"token operator\">=</span> KEditText <span class=\"token punctuation\">{</span> <span class=\"token function\">withId</span><span class=\"token punctuation\">(</span>R<span class=\"token punctuation\">.</span>id<span class=\"token punctuation\">.</span>textFieldPassword<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">val</span> loginButton <span class=\"token operator\">=</span> KButton <span class=\"token punctuation\">{</span> <span class=\"token function\">withId</span><span class=\"token punctuation\">(</span>R<span class=\"token punctuation\">.</span>id<span class=\"token punctuation\">.</span>buttonLogin<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">private</span> <span class=\"token keyword\">const</span> <span class=\"token keyword\">val</span> EMAIL <span class=\"token operator\">=</span> <span class=\"token string\">\"some@email.com\"</span>\n<span class=\"token keyword\">private</span> <span class=\"token keyword\">const</span> <span class=\"token keyword\">val</span> PASSWORD <span class=\"token operator\">=</span> <span class=\"token string\">\"password\"</span></code></pre></div>\n<p>Here we are using <a href=\"http://github.com/agoda-com/Kakao/\">Kakao</a>, it’s a nice tool to simplify working with Espresso tests. It provides implementation of <a href=\"https://martinfowler.com/bliki/PageObject.html\">Page Object pattern</a> and allows you to abstract interactions with your UI behind the abstract <a href=\"https://github.com/agoda-com/Kakao/blob/master/kakao/src/main/kotlin/com/agoda/kakao/screen/Screen.kt\">Screen</a> objects. Using Kakao you can improve maintainability of your tests, so if you are not using it yet, give it a try. Also we are using <a href=\"https://mockk.io/\">Mockk</a> for mocking, which uses all the power Kotlin gives us.</p>\n<p>That’s how with Koin, Kakao and Mockk you could easily test your fragments in isolation, making your life easier.</p>\n<p>You can check the source code for the sample <a href=\"https://github.com/olegosipenko/KoinTestApp\">here</a>.</p>","fields":{"slug":"/testing-isolated-fragments-with-koin/","tags":["android","koin","kakao","mockk","espresso","android fragments"]}}},{"node":{"id":"4a0b997d-4cdc-5c4d-89c4-c96070c1e6da","frontmatter":{"category":"TechRadar","title":"AUTO1 Tech Radar August 2019","date":"2019-08-07","summary":"AUTO1 Tech Radar August 2019","thumbnail":{"relativePath":"pages/tech-radar-august-2019/radar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABcBAAMBAAAAAAAAAAAAAAAAAAECAwD/2gAMAwEAAhADEAAAAePlJzgZgw0FH//EABsQAAIBBQAAAAAAAAAAAAAAAAABAhAREjFB/9oACAEBAAEFAoxyozg9lxn/xAAWEQADAAAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BqP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABUQAQEAAAAAAAAAAAAAAAAAACEw/9oACAEBAAY/AmP/xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhMRD/2gAIAQEAAT8hsuCK6ht0TxDvlZwsRXh//9oADAMBAAIAAwAAABCYMEP/xAAYEQADAQEAAAAAAAAAAAAAAAAAAREhMf/aAAgBAwEBPxDaLhBnD//EABgRAAMBAQAAAAAAAAAAAAAAAAABESEx/9oACAECAQE/ENouEE8P/8QAGxABAAMBAQEBAAAAAAAAAAAAAQARIVFBMYH/2gAIAQEAAT8QG6DVB5EKCJzyIMp+AR7l8xiq6sRgprIurxFaML5CYBP/2Q==","width":326,"height":325,"src":"/static/38ec33b907e70d89d23101b34889b707/a2998/radar.jpg","srcSet":"/static/38ec33b907e70d89d23101b34889b707/a2998/radar.jpg 1x,\n/static/38ec33b907e70d89d23101b34889b707/99cce/radar.jpg 1.5x,\n/static/38ec33b907e70d89d23101b34889b707/6e995/radar.jpg 2x,\n/static/38ec33b907e70d89d23101b34889b707/968b1/radar.jpg 3x"}}},"authorName":"AUTO1 Group","authorDescription":"AUTO1 Group","authorAvatar":{"relativePath":"pages/tech-radar-august-2019/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/tech-radar-august-2019/radar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABcBAAMBAAAAAAAAAAAAAAAAAAECAwD/2gAMAwEAAhADEAAAAePlJzgZgw0FH//EABsQAAIBBQAAAAAAAAAAAAAAAAABAhAREjFB/9oACAEBAAEFAoxyozg9lxn/xAAWEQADAAAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BqP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABUQAQEAAAAAAAAAAAAAAAAAACEw/9oACAEBAAY/AmP/xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhMRD/2gAIAQEAAT8hsuCK6ht0TxDvlZwsRXh//9oADAMBAAIAAwAAABCYMEP/xAAYEQADAQEAAAAAAAAAAAAAAAAAAREhMf/aAAgBAwEBPxDaLhBnD//EABgRAAMBAQAAAAAAAAAAAAAAAAABESEx/9oACAECAQE/ENouEE8P/8QAGxABAAMBAQEBAAAAAAAAAAAAAQARIVFBMYH/2gAIAQEAAT8QG6DVB5EKCJzyIMp+AR7l8xiq6sRgprIurxFaML5CYBP/2Q==","width":1280,"height":1278,"src":"/static/38ec33b907e70d89d23101b34889b707/966a5/radar.jpg","srcSet":"/static/38ec33b907e70d89d23101b34889b707/966a5/radar.jpg 1x,\n/static/38ec33b907e70d89d23101b34889b707/aa36d/radar.jpg 1.5x,\n/static/38ec33b907e70d89d23101b34889b707/26d0b/radar.jpg 2x,\n/static/38ec33b907e70d89d23101b34889b707/39d45/radar.jpg 3x"}}}},"html":"","fields":{"slug":"/tech-radar-august-2019/","tags":["TechRadar"]}}},{"node":{"id":"800a446b-0861-54ed-a2e3-a36e545abef1","frontmatter":{"category":"Coding","title":"The concept of SubForms - with React and Formik","date":"2019-07-02","summary":"Create forms at scale with Formik and Yup","thumbnail":{"relativePath":"pages/the-concept-of-subforms-with-formik/thumbnail.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAAsSAAALEgHS3X78AAABcklEQVQ4y51UzcqCQBSdN+st3AluXOTel6htL2FBuDDaBFGRZGSEuOiHoKI2RbXsR/N83AFjkMbsuzCMjHfOnHvOnWHIRJIk71k2xLxssE+LsmSK1+uVC8pkYLTxdrvh8XjwOf3+dqgU8H6/o9PpYDAYwPd9TCYTuK6L6XSaCyoFfD6fsCwL3W4Xi8UC8/kc2+2Wg8dx/DsgMWw0GqjX6+j3+2i1WhiPx/8vmRjato3hcIjdbof9fs+Zinm5DLPOkQnNZpOzdBwHYRi+zcpzmmXZiQnX6xXL5RKbzYbrl2qXzRX3sE+aHA4HXC6XjxpFUYTj8SjVkokNS3E6naCqKi8zCAKsViveKqTlaDTi7VOpVNBut7nOUoYp4Hq9hmEYqNVqKJfLUBQF1WqVH6LrOkzThKZpKJVKOJ/P30umUkk3SiZDqFVIgtlsxtc9z0Ov1+P9mZYu6smK3mFZSDUUHUvbglxN2yQ76F8hl/OerSJP2R9ITMR6qwehxQAAAABJRU5ErkJggg==","width":395,"height":325,"src":"/static/631a33919834353b3dda8e8578592a5b/b3029/thumbnail.png","srcSet":"/static/631a33919834353b3dda8e8578592a5b/b3029/thumbnail.png 1x,\n/static/631a33919834353b3dda8e8578592a5b/8d141/thumbnail.png 1.5x,\n/static/631a33919834353b3dda8e8578592a5b/ee72c/thumbnail.png 2x"}}},"authorName":"Nicholas Peretti","authorDescription":"Software Engineer","authorAvatar":{"relativePath":"pages/the-concept-of-subforms-with-formik/avatar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAMFBP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAcKk+4zgAAf/xAAZEAEAAgMAAAAAAAAAAAAAAAACAQMQEiD/2gAIAQEAAQUCJlJVI4M6oXGs8f/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABsQAQACAgMAAAAAAAAAAAAAAAEAAhAgITFC/9oACAEBAAY/AgO2cmBlvTbX/8QAGxABAQACAwEAAAAAAAAAAAAAAREAIRAgQVH/2gAIAQEAAT8hBOpDNUohZx7hMll+40df/9oADAMBAAIAAwAAABBDwAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAcEAEBAAICAwAAAAAAAAAAAAABESFBADEQIFH/2gAIAQEAAT8QxBALK8VVkQLA7X54WBCyOzfKvBj0MduVz6//2Q==","width":50,"height":50,"src":"/static/9347eae31d09e05f032d02892f955d38/d2d31/avatar.jpg","srcSet":"/static/9347eae31d09e05f032d02892f955d38/d2d31/avatar.jpg 1x,\n/static/9347eae31d09e05f032d02892f955d38/0b804/avatar.jpg 1.5x,\n/static/9347eae31d09e05f032d02892f955d38/753c3/avatar.jpg 2x,\n/static/9347eae31d09e05f032d02892f955d38/31ca8/avatar.jpg 3x"}}},"headerImage":{"relativePath":"pages/the-concept-of-subforms-with-formik/headerImage.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAAsSAAALEgHS3X78AAAAUUlEQVQY06WOIQ4AMQgE+/8nYSoQaExFRQmSH4AovX7gkiM3djOZbecH7W2IiDGGqu69y7K7997NrFzOzLXWnFNEbrwm36vMjIgAQETl2194AJcvYFpZxM6mAAAAAElFTkSuQmCC","width":1280,"height":384,"src":"/static/8ce613d93c9ee2f1e3b248f2aabe8efc/26421/headerImage.png","srcSet":"/static/8ce613d93c9ee2f1e3b248f2aabe8efc/26421/headerImage.png 1x,\n/static/8ce613d93c9ee2f1e3b248f2aabe8efc/34a7a/headerImage.png 1.5x"}}}},"html":"<p>In the last few months I’ve been working a lot with forms. I had to do a large refactoring in one of AUTO1’s applications, and through all the research, I also encountered the term <strong>subform</strong>. The concept was troublesome not only for me.\nI found more than one issue on the Formik repository about developers asking for help.\nIn this article I'll try to clarify this concept and show you how to use it properly.</p>\n<h2>What the heck is a subform anyway?</h2>\n<p>If you’ve ever worked on a medium-large project with a reasonable amount of forms, you might have probably noticed that you could potentially reuse a lot of fields, sometimes even entire forms!\nThat’s the core of the subform concept: reusable components (fields or group of fields) that can be composed together to create bigger forms.</p>\n<p>At the beginning I had a lot of questions in my mind like:</p>\n<ul>\n<li>How can I handle validation?</li>\n<li>How can I handle form state?</li>\n<li>How can I stay flexible?</li>\n</ul>\n<p>These questions and many others appeared while I was refactoring existing codebase. Many similar questions created by other developers appeared in the Formik repository as issues.</p>\n<p>Don’t get me wrong: implementing scalable validation for a single form is not that hard. The complicated thing is to keep validation and state flexible while you write your subforms. What does it mean? We’ll see that in a moment.</p>\n<h2>How Formik can help</h2>\n<p>Formik is an amazing library, one of the bests for this job, and here’s what it brings to the table:</p>\n<h3>Auto-connected Field component</h3>\n<p>Formik provides a Field component that, thanks to the React Context API, will be automatically connected to the Form component that wraps our Field, regardless of how deep our Field is in the tree.</p>\n<h3>Yup validation schema</h3>\n<p>Yup is a library to create validation schemas. This library is very similar to the prop-types of React, so it is very simple to start using it.\nFormik supports Yup natively, so you just need to define the schema and pass it to Formik, it will take care of the rest.</p>\n<p>So this is how Formik will make our life easier not only while creating subforms but also when we’ll need to maintain them!</p>\n<h2>Enough talking, show me the code</h2>\n<p>Let’s create our first subform! Before we start, we need to clarify what <strong>our subform will be responsible</strong> for:</p>\n<ul>\n<li>Provide a basic validation schema</li>\n<li>Provide some default values (required by Formik)</li>\n<li>Provide the list of its fields (in case we need to access the data from outside, as we’ll see later)</li>\n<li>Provide a React component that will render the subform to the user and its fields’ errors</li>\n</ul>\n<p>In our case, we're going to create a form that allows to create a new user.\nWe'll need to display the following fields:</p>\n<ul>\n<li>First name</li>\n<li>Last name</li>\n<li>Email</li>\n<li>Password</li>\n</ul>\n<p>Just keep it simple. So, let’s create our <code class=\"language-text\">NewUserSubForm</code> directory and our <code class=\"language-text\">fieldsNames</code> file. It’s just a file that exports constants, don’t worry. It will look like this:</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  UserSubform/fieldsNames.js</span>\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">const</span> <span class=\"token constant\">FIRST_NAME</span> <span class=\"token operator\">=</span> <span class=\"token string\">'firstName'</span>\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">const</span> <span class=\"token constant\">LAST_NAME</span> <span class=\"token operator\">=</span> <span class=\"token string\">'lastName'</span>\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">const</span> <span class=\"token constant\">EMAIL</span> <span class=\"token operator\">=</span> <span class=\"token string\">'email'</span>\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">const</span> <span class=\"token constant\">PASSWORD</span> <span class=\"token operator\">=</span> <span class=\"token string\">'password'</span></code></pre></div>\n<h3>Defining the validation schema</h3>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  UserSubform/validationSchema.js</span>\n<span class=\"token keyword\">import</span> <span class=\"token operator\">*</span> <span class=\"token keyword\">as</span> yup <span class=\"token keyword\">from</span> <span class=\"token string\">'yup'</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> <span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">PASSWORD</span> <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'./fieldsNames'</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token constant\">MIN_PASSWORD_LENGTH</span> <span class=\"token operator\">=</span> <span class=\"token number\">8</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token constant\">REQUIRED_MESSAGE</span> <span class=\"token operator\">=</span> <span class=\"token string\">'This field is required'</span>\n<span class=\"token keyword\">const</span> <span class=\"token constant\">INVALID_EMAIL_FORMAT</span> <span class=\"token operator\">=</span> <span class=\"token string\">'Invalid email format'</span>\n<span class=\"token keyword\">const</span> <span class=\"token constant\">PASSWORD_TOO_SHOWRT</span> <span class=\"token operator\">=</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token string\">The password must be at least </span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span><span class=\"token constant\">MIN_PASSWORD_LENGTH</span><span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token string\"> characters long</span><span class=\"token template-punctuation string\">`</span></span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> yup<span class=\"token punctuation\">.</span><span class=\"token function\">object</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> yup<span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">required</span><span class=\"token punctuation\">(</span><span class=\"token constant\">REQUIRED_MESSAGE</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> yup<span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">required</span><span class=\"token punctuation\">(</span><span class=\"token constant\">REQUIRED_MESSAGE</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> yup\n    <span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">required</span><span class=\"token punctuation\">(</span><span class=\"token constant\">REQUIRED_MESSAGE</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">email</span><span class=\"token punctuation\">(</span><span class=\"token constant\">INVALID_EMAIL_FORMAT</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">PASSWORD</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> yup\n    <span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">required</span><span class=\"token punctuation\">(</span><span class=\"token constant\">REQUIRED_MESSAGE</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">.</span><span class=\"token function\">min</span><span class=\"token punctuation\">(</span><span class=\"token constant\">MIN_PASSWORD_LENGTH</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">PASSWORD_TOO_SHOWRT</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>We’ve just defined our validation schema regardless the markup of our form. This file just contains all the validation logic and has one responsibility. If in the future we’ll need to add some more validation options, we’ll just need to change it here.</p>\n<p>Now it’s time for the default values. Initial values are <strong>required</strong> from Formik because it uses controlled inputs. So, if you don’t specify those values, you’ll get and error from React as soon as you try to change the content of the input.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  UserSubform/defaultValues.js</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> <span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">PASSWORD</span> <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'./fieldsNames'</span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">PASSWORD</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>Rendering the subform</h3>\n<p>And now the master piece: The React component. Remember: <strong>we just need to use the Fields and not the Formik or the Form components</strong>.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  UserSubform/index.js</span>\n<span class=\"token keyword\">import</span> React<span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> Fragment <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'react'</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> Field<span class=\"token punctuation\">,</span> ErrorMessage <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'formik'</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> <span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">PASSWORD</span> <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'./fieldsNames'</span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">NewUserSubForm</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>\n      <span class=\"token operator\">&lt;</span>Fragment<span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>Field component<span class=\"token operator\">=</span><span class=\"token string\">\"input\"</span> name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>Field component<span class=\"token operator\">=</span><span class=\"token string\">\"input\"</span> name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>Field component<span class=\"token operator\">=</span><span class=\"token string\">\"input\"</span> name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>Field component<span class=\"token operator\">=</span><span class=\"token string\">\"input\"</span> name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token constant\">PASSWORD</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token constant\">PASSWORD</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>Fragment<span class=\"token operator\">></span>\n    <span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>And that’s it. In this phase we can test every single part of our subform: validation, the default values schema and the React component.</p>\n<p><strong>A piece of advice</strong>: Formik sets the fields’ values in its state using the <code class=\"language-text\">name</code> property, but the cool thing is that it uses it like the Lodash <code class=\"language-text\">set</code> function. It means that we can write the name of a field like this: <code class=\"language-text\">user.firstName</code>. In this way Formik will create an object in its state called <code class=\"language-text\">user</code>, and then a property inside of <code class=\"language-text\">user</code> called <code class=\"language-text\">firstName</code> that will contain the value of our field.</p>\n<p>This mechanism gives us power to improve the flexibility of our subform. How?</p>\n<h3>Making a subform flexible</h3>\n<p>Let’s edit our component in a way that it will accept an optional property called <code class=\"language-text\">namespace</code>. If received, the component will prepend the namespace to every field name. In this way it will be easier to wrap all the subform’s values under a certain object in the main form.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  UserSubform/index.js</span>\n<span class=\"token keyword\">import</span> React<span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> Fragment <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'react'</span>\n<span class=\"token keyword\">import</span> PropTypes <span class=\"token keyword\">from</span> <span class=\"token string\">'prop-types'</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> Field<span class=\"token punctuation\">,</span> ErrorMessage <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'formik'</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> <span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">PASSWORD</span> <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'./fieldsNames'</span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">NewUserSubForm</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">static</span> propTypes <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n    namespace<span class=\"token operator\">:</span> PropTypes<span class=\"token punctuation\">.</span>string<span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token function\">withNamespace</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">fieldName</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">const</span> <span class=\"token punctuation\">{</span> namespace <span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>props\n\n    <span class=\"token keyword\">return</span> namespace <span class=\"token operator\">?</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>namespace<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token string\">.</span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>fieldName<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token template-punctuation string\">`</span></span> <span class=\"token operator\">:</span> fieldName\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">const</span> <span class=\"token punctuation\">{</span> withNamespace <span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> <span class=\"token keyword\">this</span>\n\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>\n      <span class=\"token operator\">&lt;</span>Fragment<span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>Field component<span class=\"token operator\">=</span><span class=\"token string\">\"input\"</span> name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token function\">withNamespace</span><span class=\"token punctuation\">(</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token function\">withNamespace</span><span class=\"token punctuation\">(</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>Field component<span class=\"token operator\">=</span><span class=\"token string\">\"input\"</span> name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token function\">withNamespace</span><span class=\"token punctuation\">(</span><span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token function\">withNamespace</span><span class=\"token punctuation\">(</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>Field component<span class=\"token operator\">=</span><span class=\"token string\">\"input\"</span> name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token function\">withNamespace</span><span class=\"token punctuation\">(</span><span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token function\">withNamespace</span><span class=\"token punctuation\">(</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>Field component<span class=\"token operator\">=</span><span class=\"token string\">\"input\"</span> name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token function\">withNamespace</span><span class=\"token punctuation\">(</span><span class=\"token constant\">PASSWORD</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token function\">withNamespace</span><span class=\"token punctuation\">(</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>Fragment<span class=\"token operator\">></span>\n    <span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>We don’t need to do that with the other parts of the subform, the main form will be responsible for that. And, about the main form, let’s see how to implement it!</p>\n<h2>The main form</h2>\n<p>Finally, we’re going to create our main form component. Let’s define its responsibilities just like we did with our subform. The main form will be responsible for:</p>\n<ul>\n<li>Compose the validation</li>\n<li>Compose the React components</li>\n<li>Compose and eventually overwrite the default values</li>\n<li>Orchestrate all the above elements in the right way (if we add a namespace for a subform we should put its validation schema under the same namespace)</li>\n<li>Handle the submission of the form</li>\n<li>Handle the display logic of the server-side errors (and all the form level errors)</li>\n</ul>\n<p>It's a lot of responsibilities, <em>and that’s all right</em>. The main form represents a specific point in the UI/UX where the user needs to insert some data. In our case, it could be a registration form, but it could also be a registration combined with a purchase, just like when you buy something from amazon and you agree to sign up in the process.</p>\n<p>The point is: <strong>A Form is a unique component that represent a specific use case</strong>, so it has to be designed accordingly. That’s why it makes no sense to create a “god-form” component with hundreds of props that decides which endpoint the form is going to use. It just creates useless complexity.</p>\n<p>In my opinion, the best way to organize this approach is to create a folder where you’ll store all your subforms. Every subform will be represented by its directory and it will contain all its parts: validation, values, fields and the React component.\nA main form, instead, should be created ad-hoc to fit the needs of a certain use case, for example inside a certain route.</p>\n<p>So, with that in mind, let’s proceed to the implementation. We’ll have our directory called <code class=\"language-text\">registrationForm</code> and it will have the same parts of a subform:</p>\n<p>Fields Names</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  CreateNewUserRoute/form/fieldsNames.js</span>\n<span class=\"token keyword\">export</span> <span class=\"token punctuation\">{</span> <span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">PASSWORD</span> <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'./subforms/NewUserSubForm/fieldsNames'</span>\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">const</span> <span class=\"token constant\">USER</span> <span class=\"token operator\">=</span> <span class=\"token string\">'user'</span></code></pre></div>\n<p>Validation</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  CreateNewUserRoute/form/validationSchema.js</span>\n<span class=\"token keyword\">import</span> <span class=\"token operator\">*</span> <span class=\"token keyword\">as</span> yup <span class=\"token keyword\">from</span> <span class=\"token string\">'yup'</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> <span class=\"token constant\">USER</span> <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'./fieldsNames'</span>\n<span class=\"token keyword\">import</span> userValidationSchema <span class=\"token keyword\">from</span> <span class=\"token string\">'./subforms/NewUserSubForm/validationSchema'</span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> yup<span class=\"token punctuation\">.</span><span class=\"token function\">object</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">USER</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> userValidationSchema<span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>Default values</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  CreateNewUserRoute/form/defaultValues.js</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> <span class=\"token constant\">USER</span> <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'./field Names'</span>\n<span class=\"token keyword\">import</span> userDefaultValues <span class=\"token keyword\">from</span> <span class=\"token string\">'./subforms/NewUserSubForm/defaultValues'</span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token punctuation\">[</span><span class=\"token constant\">USER</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> userDefaultValues<span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>The React component</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  CreateNewUserRoute/form/index.js</span>\n<span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">'react'</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> Formik<span class=\"token punctuation\">,</span> Form <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'formik'</span>\n<span class=\"token keyword\">import</span> NewUserSubForm <span class=\"token keyword\">from</span> <span class=\"token string\">'./subforms/NewUserSubForm'</span>\n<span class=\"token keyword\">import</span> validationSchema <span class=\"token keyword\">from</span> <span class=\"token string\">'./validationSchema'</span>\n<span class=\"token keyword\">import</span> defaultValues <span class=\"token keyword\">from</span> <span class=\"token string\">'./defaultValues'</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> <span class=\"token constant\">USER</span> <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'./fieldsNames'</span>\n<span class=\"token keyword\">import</span> ErrorBanner <span class=\"token keyword\">from</span> <span class=\"token string\">'path/to/components/ErrorBanner'</span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">NewUserSubForm</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  state <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n    unknownErrors<span class=\"token operator\">:</span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token function-variable function\">onSubmit</span> <span class=\"token operator\">=</span> <span class=\"token keyword\">async</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">values<span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> setSubmitting<span class=\"token punctuation\">,</span> setErrors <span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">try</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token comment\">//  Send values somehow</span>\n      <span class=\"token keyword\">await</span> <span class=\"token function\">sendForm</span><span class=\"token punctuation\">(</span>values<span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">}</span> <span class=\"token keyword\">catch</span> <span class=\"token punctuation\">(</span>e<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token comment\">//  Map and show the errors in your form</span>\n      <span class=\"token keyword\">const</span> <span class=\"token punctuation\">[</span>formErrors<span class=\"token punctuation\">,</span> unknownErrors<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token function\">mapErrorsFromRequest</span><span class=\"token punctuation\">(</span>e<span class=\"token punctuation\">)</span>\n\n      <span class=\"token function\">setErrors</span><span class=\"token punctuation\">(</span>formErrors<span class=\"token punctuation\">)</span>\n      <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token function\">setState</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n        unknownErrors<span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">}</span> <span class=\"token keyword\">finally</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token function\">setSubmitting</span><span class=\"token punctuation\">(</span><span class=\"token boolean\">false</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">const</span> <span class=\"token punctuation\">{</span> unknownErrors <span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>state\n\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>\n      <span class=\"token operator\">&lt;</span>Formik onSubmit<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>onSubmit<span class=\"token punctuation\">}</span> initialValues<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>defaultValues<span class=\"token punctuation\">}</span> validationSchema<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>validationSchema<span class=\"token punctuation\">}</span><span class=\"token operator\">></span>\n        <span class=\"token punctuation\">{</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">(</span>\n          <span class=\"token operator\">&lt;</span>Form<span class=\"token operator\">></span>\n            <span class=\"token punctuation\">{</span>unknownErrors <span class=\"token operator\">&amp;&amp;</span> <span class=\"token operator\">&lt;</span>ErrorBanner errors<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>unknownErrors<span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span><span class=\"token punctuation\">}</span>\n            <span class=\"token operator\">&lt;</span>NewUserSubForm namespace<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token constant\">USER</span><span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n          <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>Form<span class=\"token operator\">></span>\n        <span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span>\n      <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>Formik<span class=\"token operator\">></span>\n    <span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>And that’s it! Of course, this is a very simple example, you could have different needs.</p>\n<h2>Helpful advices on creating subforms</h2>\n<p>I want to leave you with some advices that helped me while I was refactoring my codebase. It's good to have them in mind to ease the process of code refactoring.</p>\n<h3>A subform should have only first level values in its state</h3>\n<p>A subform should have only first level values in its state, which means that, when you design a subform, you shouldn’t get crazy about the shape of its values. It should be a flat object and every key should contain the field value.\nThis way it’s so much easier to write validations, default values and error handling (and why not, also the React component).</p>\n<p>You can avoid this advice <strong>only when you are using a subform into you subform</strong>. For example, let’s say you have an address subform. It has a lot of fields and a complex validation schema. In that scenario all the logic will be handled by the address subform and you’ll just need to orchestrate it in your own subform, just like you would do in the main form.</p>\n<h3>Keep the validation schema extensible and scalable</h3>\n<p>I didn’t do it in this article but the idea is to export a function instead of a schema. This function will accept parameters that will define the schema that you’ll get.\nIn this case you can toggle the “required” validation in some cases, or other kinds of validation.</p>\n<p><strong>Example</strong>: let’s say that we want to make the “lastName” field optional, but not always. That’s how you could define your schema:</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">//  UserSubform/validationSchema.js</span>\n<span class=\"token keyword\">import</span> <span class=\"token operator\">*</span> <span class=\"token keyword\">as</span> yup <span class=\"token keyword\">from</span> <span class=\"token string\">'yup'</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> <span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">PASSWORD</span> <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'./fieldsNames'</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token constant\">MIN_PASSWORD_LENGTH</span> <span class=\"token operator\">=</span> <span class=\"token number\">8</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token constant\">REQUIRED_MESSAGE</span> <span class=\"token operator\">=</span> <span class=\"token string\">'This field is required'</span>\n<span class=\"token keyword\">const</span> <span class=\"token constant\">INVALID_EMAIL_FORMAT</span> <span class=\"token operator\">=</span> <span class=\"token string\">'Invalid email format'</span>\n<span class=\"token keyword\">const</span> <span class=\"token constant\">PASSWORD_TOO_SHOWRT</span> <span class=\"token operator\">=</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token string\">The password must be long at least </span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span><span class=\"token constant\">MIN_PASSWORD_LENGTH</span><span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token string\"> characters</span><span class=\"token template-punctuation string\">`</span></span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token keyword\">function</span> <span class=\"token function\">validationSchema</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">mandatoryFields <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">[</span><span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span> <span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> yup<span class=\"token punctuation\">.</span><span class=\"token function\">object</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n    <span class=\"token punctuation\">[</span><span class=\"token constant\">FIRST_NAME</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> yup<span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">required</span><span class=\"token punctuation\">(</span><span class=\"token constant\">REQUIRED_MESSAGE</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">[</span><span class=\"token constant\">LAST_NAME</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> yup<span class=\"token punctuation\">.</span><span class=\"token function\">lazy</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">(</span>mandatoryFields<span class=\"token punctuation\">.</span>lastName <span class=\"token operator\">?</span> yup<span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">required</span><span class=\"token punctuation\">(</span><span class=\"token constant\">REQUIRED_MESSAGE</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span> yup<span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">[</span><span class=\"token constant\">EMAIL</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> yup\n      <span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">.</span><span class=\"token function\">required</span><span class=\"token punctuation\">(</span><span class=\"token constant\">REQUIRED_MESSAGE</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">.</span><span class=\"token function\">email</span><span class=\"token punctuation\">(</span><span class=\"token constant\">INVALID_EMAIL_FORMAT</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">[</span><span class=\"token constant\">PASSWORD</span><span class=\"token punctuation\">]</span><span class=\"token operator\">:</span> yup\n      <span class=\"token punctuation\">.</span><span class=\"token function\">string</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">.</span><span class=\"token function\">required</span><span class=\"token punctuation\">(</span><span class=\"token constant\">REQUIRED_MESSAGE</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">.</span><span class=\"token function\">min</span><span class=\"token punctuation\">(</span><span class=\"token constant\">MIN_PASSWORD_LENGTH</span><span class=\"token punctuation\">,</span> <span class=\"token constant\">PASSWORD_TOO_SHOWRT</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Now you have a scalable validation schema.\nIn this way you can always decide if a certain field is required or not. Also, you can extend that function to add parameters. In this way, if your subform scales, you’ll just need to add parameters and adjust the code in the subform accordingly, but <strong>every single form that uses your subform won’t be affected by these changes because everything is retro compatible</strong>.</p>\n<h2>Conclusions</h2>\n<p>Dealing with forms is not easy. Of course, there are simple cases, but there are also trickier ones. This was my way to organize the code, and of course, it’s not perfect.\nI’m sure there are other thousands amazing ways to solve this problem better than this, but for now, this is the best way I’ve found to keep everything testable, maintainable and scalable.</p>\n<p>I hope this will help you, and if you have a better approach, I’m looking forward to reading it!\nUntil next time, happy hacking!</p>","fields":{"slug":"/the-concept-of-subforms-with-formik/","tags":["formik","forms","react","subforms"]}}},{"node":{"id":"61712d64-9fb5-5c05-8e36-ae37d9bf956d","frontmatter":{"category":"Coding","title":"Take a deep Bref, and run your Symfony app serverless","date":"2019-06-24","summary":"Yet another case study of developing serverless apps with PHP.","thumbnail":{"relativePath":"pages/php-serverless-with-bref/blog.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAACA//EABUBAQEAAAAAAAAAAAAAAAAAAAAC/9oADAMBAAIQAxAAAAFvIGahEOP/xAAYEAADAQEAAAAAAAAAAAAAAAAAARMCEv/aAAgBAQABBQLlG9clCrRTXVWf/8QAFREBAQAAAAAAAAAAAAAAAAAAEBH/2gAIAQMBAT8Bh//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAECAQE/Aar/xAAXEAADAQAAAAAAAAAAAAAAAAAAESAh/9oACAEBAAY/AsFP/8QAGRABAQEBAQEAAAAAAAAAAAAAAREAMSFx/9oACAEBAAE/IROt9TIugIGZBbfeZrv/2gAMAwEAAgADAAAAEC//AP/EABcRAAMBAAAAAAAAAAAAAAAAAAABESH/2gAIAQMBAT8Q0qiI/8QAFhEBAQEAAAAAAAAAAAAAAAAAAREQ/9oACAECAQE/ECGLn//EAB4QAQEAAQMFAAAAAAAAAAAAAAERACExUUFhgcHR/9oACAEBAAE/EG97q6XxipRA8SmUKC93GIysvGBJkuwRxavr5n//2Q==","width":488,"height":325,"src":"/static/af9a71b099ce7da56586de41ed112b03/a2998/blog.jpeg","srcSet":"/static/af9a71b099ce7da56586de41ed112b03/a2998/blog.jpeg 1x"}}},"authorName":"Wojciech Oroński","authorDescription":"Wojciech is a Senior Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/php-serverless-with-bref/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACtklEQVQ4y4VUvWtTURS/SV7sUIeK+g/o6GSS9/Ly8pKmKc0g2gqBVkrBQAcpOggOuhVxcbAG/FpcOgqOguAg1G6COIifCKKIijo5qDWf/n4v57QHFx/8uOfde+7vnm9Xq8WZqalKmmupVNzl5Mvn81WgncvlXmHtAh3IH7CuA7NhONKNojBbrUbbHI7C5GSc4YEQFYGNQqEw9H1/CHkohD3K3JP950CTd0gUxyWvXq+kkx9DtqyXhGBLiQnKtJQwD17l3Xq9mq5UooxTN0lmLOooMdx8B/k+cA94RiJD3AuCgPJ1cpTLJc8ZN617JPqD9UwQ+OMaV3jiYe8I8ElI6UVXSJedScCGWJe8KvIpns3M1NLlcpgl4JIn+hEe7IsBPZLj/zPWvUk25bW+gIdffL+wZ3FxLsX4Ms4EY2RCtGli3RErz/KgLQd0tS/kL+Hq7lar6UiihAQtFcI75p569dDBmjdilbXwG4j38WIcRx5Ki3WWYXkZtx+phdAfyL0fTpMADMxLt0dkJY8kUvyZf0rstAnVQEmdEClhVwgv81IYBmMsVnWXTYAOGRPCEyaGO4QQPoq5AyWH/BPrIW0tbSu6u7R0PAWicei81tIxLv/mS+smuENTV3d33C4n1pkMnxedri0drI95OGuDK6+pQkutNNnNQ+eX8Wpoyuai49SA8MJU/kALXPZCEs3PH03hfz9Ivsr+FhNi3GWYDmqnNK3bfK1YLPJ/k/W4sHAsZbJ7g2fUUWKx7pL2pyquCcl74CZwDt0ywTPGDshqt8hUagNP5c6DRqOWZps6DsdkMI5Ib8lQOOn+87Fl2aKcA5qsZNowe8wkV1FcYfqB75CvAXP50XcYaDDwOHsrybiyurqy7SlnYjJgWbx0RTOJ2ExA+QLwRDOqWZVWXQMOUHd6upqmZSQj119HCq8aFJGDXQAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/d606e0fe3a0b15d5494a19629b2b3022/45876/avatar.png","srcSet":"/static/d606e0fe3a0b15d5494a19629b2b3022/45876/avatar.png 1x"}}},"headerImage":null},"html":"<h2>tl;dr</h2>\n<p>Since AWS lambda supports custom runtimes you can use PHP to create AWS lambda functions.\nBut it comes with two major drawbacks </p>\n<ul>\n<li>first running custom runtime for PHP is not very easy,</li>\n<li>the second which is limiting usage of popular PHP frameworks in lambda functions development process.</li>\n</ul>\n<p>With bref.sh these problems will disappear. Let's try to run Symfony framework as a serverless app.</p>\n<h2>What is serverless ?</h2>\n<p>What does it mean that something is Serverless? Does it mean there are no servers at all?\nOf course not. There are still servers behind scenes, but you don't have to worry about maintaining the servers and reserve their capacity. Your infrastructure is scaled automatically, and you just pay only for what you use.\nDoes this kind of architecture have only pros or there are some drawbacks?\nLet's leave the discussion of all the smaller pros and cons of serverless applications for another article.\nI will focus on the biggest drawback which is an impact on our code. Frameworks that we use in our daily PHP development are not ready to work with lambdas because they were not designed for those kinds of architecture.\nImagine you are a PHP developer and you want to run serverless microservice using one of the most popular frameworks like Symfony or Laravel. Imagine you can develop your microservice locally and just deploy it as lambda functions. Is it possible with PHP\nprogramming language? Yes, it is. Even if AWS Lambda does not have native support for PHP.</p>\n<h2>Here comes Bref.</h2>\n<p>Since AWS lambda supports custom runtimes, you can create one for PHP and run your lambda functions written in that language. There are plenty of articles which describe the process of creating custom runtimes, but believe me it's time-consuming and not super easy.\nLet's take a look at the bref.sh project and try to run a simple Symfony app as lambda.</p>\n<p>I assume you have knowledge about Symfony framework, or you have an existing project and some knowledge about AWS platform.</p>\n<p>Before we start please make sure you have installed:</p>\n<ul>\n<li><a href=\"https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html\">AWS CLI</a></li>\n<li><a href=\"https://aws.amazon.com/serverless/sam/\">AWS SAM CLI</a></li>\n<li>And setup AWS credentials</li>\n</ul>\n<p>First, we have to add Bref to our project with <code class=\"language-text\">composer require mnapoli/bref</code>\nThen from your project root command line run <code class=\"language-text\">vendor/bin/bref init</code>\nIt will create two additional files in your project template.yaml and index.php.\nYou can remove index.php for this moment, as it will be unnecessary.</p>\n<p>As you may know, AWS lambda filesystem is read-only excluding <code class=\"language-text\">/tmp</code> dir\nSo we have to extend <code class=\"language-text\">src/Kernel.php</code> of Symfony with these two functions</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\">    public function getLogDir(): string\n    {\n        // When on the lambda only /tmp is writeable\n        if (getenv('LAMBDA_TASK_ROOT') !== false) {\n            return '/tmp/log/';\n        }\n\n        return $this->getProjectDir().'/var/log';\n    }\n\n    public function getCacheDir(): string\n    {\n        // When on the lambda only /tmp is writeable\n        if (getenv('LAMBDA_TASK_ROOT') !== false) {\n            return '/tmp/cache/'.$this->environment;\n        }\n\n        return $this->getProjectDir().'/var/cache/'.$this->environment;\n    }</code></pre></div>\n<p>Let's take a closer look at template.yaml</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">Resources</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">Website</span><span class=\"token punctuation\">:</span>\n        <span class=\"token key atrule\">Type</span><span class=\"token punctuation\">:</span> AWS<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>Serverless<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>Function\n        <span class=\"token key atrule\">Properties</span><span class=\"token punctuation\">:</span>\n            <span class=\"token key atrule\">FunctionName</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'symfony-website'</span>\n            <span class=\"token key atrule\">CodeUri</span><span class=\"token punctuation\">:</span> .\n            <span class=\"token key atrule\">Handler</span><span class=\"token punctuation\">:</span> public/index.php\n            <span class=\"token key atrule\">Timeout</span><span class=\"token punctuation\">:</span> <span class=\"token number\">30</span> <span class=\"token comment\"># in seconds (API Gateway has a timeout of 30 seconds)</span>\n            <span class=\"token key atrule\">MemorySize</span><span class=\"token punctuation\">:</span> <span class=\"token number\">1024</span>\n            <span class=\"token key atrule\">Runtime</span><span class=\"token punctuation\">:</span> provided\n            <span class=\"token key atrule\">Layers</span><span class=\"token punctuation\">:</span>\n                <span class=\"token punctuation\">-</span> <span class=\"token string\">'arn:aws:lambda:us-east-1:209497400698:layer:php-73-fpm:1'</span>\n            <span class=\"token key atrule\">Events</span><span class=\"token punctuation\">:</span>\n                <span class=\"token key atrule\">HttpRoot</span><span class=\"token punctuation\">:</span>\n                    <span class=\"token key atrule\">Type</span><span class=\"token punctuation\">:</span> Api\n                    <span class=\"token key atrule\">Properties</span><span class=\"token punctuation\">:</span>\n                        <span class=\"token key atrule\">Path</span><span class=\"token punctuation\">:</span> /\n                        <span class=\"token key atrule\">Method</span><span class=\"token punctuation\">:</span> ANY\n                <span class=\"token key atrule\">HttpSubPaths</span><span class=\"token punctuation\">:</span>\n                    <span class=\"token key atrule\">Type</span><span class=\"token punctuation\">:</span> Api\n                    <span class=\"token key atrule\">Properties</span><span class=\"token punctuation\">:</span>\n                        <span class=\"token key atrule\">Path</span><span class=\"token punctuation\">:</span> /<span class=\"token punctuation\">{</span>proxy+<span class=\"token punctuation\">}</span>\n                        <span class=\"token key atrule\">Method</span><span class=\"token punctuation\">:</span> ANY\n\n    <span class=\"token key atrule\">Console</span><span class=\"token punctuation\">:</span>\n        <span class=\"token key atrule\">Type</span><span class=\"token punctuation\">:</span> AWS<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>Serverless<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>Function\n        <span class=\"token key atrule\">Properties</span><span class=\"token punctuation\">:</span>\n            <span class=\"token key atrule\">FunctionName</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'symfony-console'</span>\n            <span class=\"token key atrule\">CodeUri</span><span class=\"token punctuation\">:</span> .\n            <span class=\"token key atrule\">Handler</span><span class=\"token punctuation\">:</span> bin/console\n            <span class=\"token key atrule\">Timeout</span><span class=\"token punctuation\">:</span> <span class=\"token number\">120</span> <span class=\"token comment\"># in seconds</span>\n            <span class=\"token key atrule\">Runtime</span><span class=\"token punctuation\">:</span> provided\n            <span class=\"token key atrule\">Layers</span><span class=\"token punctuation\">:</span>\n                <span class=\"token punctuation\">-</span> <span class=\"token string\">'arn:aws:lambda:us-east-1:209497400698:layer:php-73:1'</span> <span class=\"token comment\"># PHP</span>\n                <span class=\"token punctuation\">-</span> <span class=\"token string\">'arn:aws:lambda:us-east-1:209497400698:layer:console:1'</span> <span class=\"token comment\"># The \"console\" layer</span></code></pre></div>\n<p>Thanks to the configuration stored in template.yaml, Bref will create CloudFormation with two most important resources which are lambda functions that will handle all the requests. One called symfony-website and the second symfony-console, both names are defined under <code class=\"language-text\">FunctionName</code> key.\nTheir execution will be available thanks to API Gateway which also will be created during the deploy process.\nFor testing purpose, you don't have to change template file much. Please remember to check your AWS default region if it's different than <code class=\"language-text\">us-east-1</code> just change it in all <code class=\"language-text\">Layers</code> key of your Resources.</p>\n<p>OK. Let's check how it works and deploy.\nFirst, we need to create s3 bucket per our app with simple AWS CLI command <code class=\"language-text\">aws s3 mb s3://&lt;bucket-name></code>\nThen upload the code and generate the stack configuration:</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">sam package \\\n    --output-template-file .stack.yaml \\\n    --s3-bucket &lt;bucket-name&gt;</code></pre></div>\n<p>Finnaly deploy our microservice: </p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">sam deploy \\\n    --template-file .stack.yaml \\\n    --capabilities CAPABILITY_IAM \\\n    --stack-name &lt;stack-name&gt;</code></pre></div>\n<p>After we receive output \"Successfully created/updated stack - <stack-name>\" our serverless microservice is ready to use.\nLet's check our resources in the AWS console. SAM deploy created the corresponding AWS Lambda Functions and API Gateway resources.</p>\n<p>Lambda Functions:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9f965078bf4cd620f90ecee4869716fd/7f308/aws-lambda.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 50.13648771610555%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAABNUlEQVQoz61Sy07DMBDs/x/4Ar6AX+DGjV8AIaRKtFWdOH7GiZN0mN2qKCqUUw8j7+6MZ3edbKwPOFoHay0655BSQozxX4QQ9FRt18A3BwR71PrGh4i37Rc+dwfYvsCVEV0/3ITNBTsO0MQMk0fY1yfE5weEl0c13Xh2ed8bfBwMtq3DPmS0NG17olQ0q1NRzpCaaI33qCUjxwAvE0YaptzDtBZH0yAmkqWgozDEhH4Y4CjMnF7ilDNzrstcdKKR2lgrxEsN53mGz7yYCpZlUYzjiImiE2N5q8ymUp+mSd9P6jNjz28wsNHptKixGg68bGOBCT0K40qjSnGt07kzp3BykZxAcuUYyzcQQ9GroewtcFxR1rzkawjnVpy74tZaNQzyK9wJP4aXDn+Jrrlb8S/De0z4DT/9/7PjufbWAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"lambda\"\n        title=\"Lambda\"\n        src=\"/static/9f965078bf4cd620f90ecee4869716fd/40fad/aws-lambda.png\"\n        srcset=\"/static/9f965078bf4cd620f90ecee4869716fd/707e9/aws-lambda.png 148w,\n/static/9f965078bf4cd620f90ecee4869716fd/649e0/aws-lambda.png 295w,\n/static/9f965078bf4cd620f90ecee4869716fd/40fad/aws-lambda.png 590w,\n/static/9f965078bf4cd620f90ecee4869716fd/b3fef/aws-lambda.png 885w,\n/static/9f965078bf4cd620f90ecee4869716fd/7f308/aws-lambda.png 1099w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>API Gateway:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/8fe03eca82db3f2292591c6c2d95aac2/a7e37/aws-api.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 45.95782073813708%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA0klEQVQoz61SUarCMBDM/a/lxxO8Q3mCWkvbxE1Fk22zY1ONWqso6MD8LDuzMyGKbAN7cChqwjrfwhQ5inWFAzm4hnt6HK0HuxYiMmEIARHOOTAzVFkb5BRQ7gXkgTKzWC1KLOcF/v+2A7PZBlVGg/CZaWSCMsZA+iMyXBJ0XQttNPbNDm3H10XBWPiIZDwYpkG4VGBuwd735t2oWjJ8lXJieP8mz4T3s1dQWuuJOOGclkcH3uGaMIpDuFU7p5VR7U+oouCXUFVVI/5FIovdhfQFT8GXwnE+CMQGAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"api-gateway\"\n        title=\"API Gateway\"\n        src=\"/static/8fe03eca82db3f2292591c6c2d95aac2/40fad/aws-api.png\"\n        srcset=\"/static/8fe03eca82db3f2292591c6c2d95aac2/707e9/aws-api.png 148w,\n/static/8fe03eca82db3f2292591c6c2d95aac2/649e0/aws-api.png 295w,\n/static/8fe03eca82db3f2292591c6c2d95aac2/40fad/aws-api.png 590w,\n/static/8fe03eca82db3f2292591c6c2d95aac2/b3fef/aws-api.png 885w,\n/static/8fe03eca82db3f2292591c6c2d95aac2/a7e37/aws-api.png 1138w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Just check your execution url in API Gateway:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e34b8df67c48bf1b913344107d7bda18/2e35f/aws-api-invoke.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 72.31833910034602%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB7klEQVQ4y4WSeU/bQBDF8/0/TUtIgECpFNTwb9MmqFCphwiub8fnenftvM6M4zQHoiv9NN5r/N7sDIJUYV0aYNOiMg2ec4tVbvBSdHFV9PMG88cE9/MQs0WOT19L3H0pcL8shdmCIjEAjc1mwwHaaLieAyeI8PuPj2cvxM8XFys/wi/Hw/cfHh4ePSy+ufi8dLB8CrCg+fzBkbh89DGQZASnbJsGVZFhncRQVYXGGuhawehaorUaTUPYGtbUdF7TXkXfStYYSdgrbNsWxhghzzJEYQitNd4a1jZot/d5HFhuSGHg+1g5ruC4PuJ1hiTNUJYFiqJAnvcxl1iW5UE8SMgK67qG0hZJVsINYiEv690+wz9m5Lv9982cJNwfhh4pjkKqZ4k0TUXB8ZnjcZJQKUXyK1HKNtZsVxmpZX+ur/trnNQwSRIEQYA4juF5Ljw/IMuKG4HstTtrzH8THtux1orNLEuhzIYa/227Ynm/bVhhp8wTpWyfkYeivuQS9Cha43uiluOWwX523mRVDCfPqBdD6sUoimQuPSr7RuavKmzbza4enIj7q6YH0HS5e6BOkdbdw+zDygVqM7Vl8HE6wy3Rx/HkFu+GlxheXGM4vsbo8gajqw84v7iRtbPRBGfjDjlD6+eTKd5fTTGc3OEvcF4zJwFgXgwAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"aws-api-invoke\"\n        title=\"API Gateway invoke url\"\n        src=\"/static/e34b8df67c48bf1b913344107d7bda18/40fad/aws-api-invoke.png\"\n        srcset=\"/static/e34b8df67c48bf1b913344107d7bda18/707e9/aws-api-invoke.png 148w,\n/static/e34b8df67c48bf1b913344107d7bda18/649e0/aws-api-invoke.png 295w,\n/static/e34b8df67c48bf1b913344107d7bda18/40fad/aws-api-invoke.png 590w,\n/static/e34b8df67c48bf1b913344107d7bda18/b3fef/aws-api-invoke.png 885w,\n/static/e34b8df67c48bf1b913344107d7bda18/2e35f/aws-api-invoke.png 1156w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Then run it in your browser. You should see symfony default page.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/6f5d7e9de050b02b7ca242f43134d64a/0f040/symfony.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 64.08333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAABvklEQVQ4y51Ty3LiMBDk//9gvyG58At74pYEiI2BFNjYhlrwS37bsnvVUrwkl60kU9XVo7E06pmRZ3Ec4xZFuF6vOJ/POJ1OYKxpmi+hbVtUVYXNZoMgCDAryxJ932McR0gptU9w43fA5HVdY8bDaZpiv98jDEN9CxX+xChoRmWO4+Dx8QEPCvP5HIvFAp7nwXVdsAIa9/0PNIrTCpMkwfPTErbt6OTb7RaXy0UrZilfNZ1wOtCPObqhRNt0KIpCt6GsSu0nSQqRZRBC6Dj9SA2S6zzPMQzDB4WdhKj+4Pf6F7LiCmezVWqfFJ6xXq9hWRaWy5VSb8O2bKxWK1ivr5o5WbblU8ld26myaohcgMmpiFPjrbLn1KXxVcOlnPgeI7/nu/eQU315WeJwOKj+7b7VN2MfFXad7gWl+77/b7ru0UUY+Dh5ZxyPg3rwEm/7XvPxILHb9fBcEwt8eU/I8mjDMIK9NWzAUhjjFoLCJ64rw1PMvMOBU2bPYvXKI4MmUr/STftNE2vUzQ1Ny/VN+63yJ0zfyF0nMKuqDHkRIssCAxEgzXztC2GQvscZ4zeRh3otRKieka9ZCB+VEvEXRYzl11Ft7fsAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"symfony\"\n        title=\"Symfony\"\n        src=\"/static/6f5d7e9de050b02b7ca242f43134d64a/40fad/symfony.png\"\n        srcset=\"/static/6f5d7e9de050b02b7ca242f43134d64a/707e9/symfony.png 148w,\n/static/6f5d7e9de050b02b7ca242f43134d64a/649e0/symfony.png 295w,\n/static/6f5d7e9de050b02b7ca242f43134d64a/40fad/symfony.png 590w,\n/static/6f5d7e9de050b02b7ca242f43134d64a/b3fef/symfony.png 885w,\n/static/6f5d7e9de050b02b7ca242f43134d64a/301c0/symfony.png 1180w,\n/static/6f5d7e9de050b02b7ca242f43134d64a/0f040/symfony.png 1200w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Performance:</p>\n<ul>\n<li>PHP Performance on Lambda isn't super-hot. During my tests, I achieved ~40ms for a simple CRUD POST request with 2048 MB of the memory set.</li>\n</ul>\n<p>Other drawbacks:</p>\n<ul>\n<li>While using MySQL or PqSql cold starts (around 5s)</li>\n<li>Bref is a young project in advanced beta stage.</li>\n<li>Still, it's a unicorn and only AWS is supported</li>\n<li>Not all PHP extensions are working out of the box, but almost every extension can be used thanks to custom extension <a href=\"https://bref.sh/docs/environment/php.html\" target=\"_blank\">Bref PHP</a></li>\n</ul>\n<p>But still I think this is a great starting point and I believe it can solve two major problems of the \"serverless PHP\":</p>\n<ul>\n<li>easily deploy process on serverless platforms </li>\n<li>make development with PHP frameworks like before</li>\n</ul>\n<h2>Further info</h2>\n<ul>\n<li><a href=\"https://bref.sh\" target=\"_blank\">Bref project</a></li>\n<li><a href=\"https://aws.amazon.com/blogs/apn/aws-lambda-custom-runtime-for-php-a-practical-example\" target=\"_blank\">PHP AWS Lambda</a> </li>\n</ul>","fields":{"slug":"/php-serverless-with-bref/","tags":["Symfony","PHP","serverless"]}}},{"node":{"id":"92132641-afb7-53d7-8663-09c7b3dec866","frontmatter":{"category":"DevOps","title":"Monitoring screens on Raspberry Pi","date":"2019-05-02","summary":"How to setup monitoring tools on TV screens using Raspberry Pi","thumbnail":{"relativePath":"pages/monitoring-screens/screens.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAQX/xAAXAQADAQAAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAGuV+ZqLOeBv//EABoQAQADAAMAAAAAAAAAAAAAAAEAAhEDEjP/2gAIAQEAAQUCyyd2NwZhOb0//8QAFxEAAwEAAAAAAAAAAAAAAAAAAAIRUf/aAAgBAwEBPwGNpT//xAAYEQADAQEAAAAAAAAAAAAAAAAAAhEBMf/aAAgBAgEBPwGpOGKf/8QAGRAAAgMBAAAAAAAAAAAAAAAAAAEQITER/9oACAEBAAY/Au0aW4wZ/8QAGBAAAwEBAAAAAAAAAAAAAAAAAAERMSH/2gAIAQEAAT8hUE0UuHcTUWQVsCF//9oADAMBAAIAAwAAABBMD//EABcRAQEBAQAAAAAAAAAAAAAAAAEAESH/2gAIAQMBAT8Q7axV/8QAGBEBAQADAAAAAAAAAAAAAAAAAQARIaH/2gAIAQIBAT8QC07hTN//xAAaEAEBAQEAAwAAAAAAAAAAAAABEQBRMUGx/9oACAEBAAE/EOs8EuY6EsQM8KHpwGjZyuCJ5OYFE583/9k=","width":578,"height":325,"src":"/static/adf3f762bfd697b8fdc141491acaadb2/a2998/screens.jpg","srcSet":"/static/adf3f762bfd697b8fdc141491acaadb2/a2998/screens.jpg 1x,\n/static/adf3f762bfd697b8fdc141491acaadb2/99cce/screens.jpg 1.5x,\n/static/adf3f762bfd697b8fdc141491acaadb2/6e995/screens.jpg 2x,\n/static/adf3f762bfd697b8fdc141491acaadb2/968b1/screens.jpg 3x"}}},"authorName":"Konstantin Shcherban","authorDescription":"Konstantin is DevOps Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/monitoring-screens/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":null},"html":"<p>To have visual alerting we watch dashboards powered by <a href=\"https://grafana.com/\">Grafana</a>, <a href=\"https://www.elastic.co/products/kibana\">Kibana</a> and <a href=\"https://www.opsgenie.com/\">OpsGenie</a> on big TV screens hanging on the walls where we sit. For OpsGenie we use <a href=\"https://www.opsgenie.com/blog/2015/10/real-time-alert-dashboard\">this dashboard</a> with custom modifications.</p>\n<p>First version of screens were powered by Linux laptops connected over HDMI cables.\nThat was not scalable, was expensive and required manual support to update Linux,\nrestart laptops, etc.</p>\n<p>Later DevOps team's boss Jönas Fleer found a nice project <a href=\"https://www.balena.io/blog/resin-io-changes-name-to-balena-releases-open-source-edition/\">ResinOS</a>. This project (<a href=\"https://www.balena.io/blog/resin-io-changes-name-to-balena-releases-open-source-edition/\">was renamed to balena</a>) allows to attach <a href=\"https://www.raspberrypi.org/\">Raspberry Pi</a> devices to a nice dashboard, automatically upload and run Docker image on them and manage all of that in an easy and pretty way.</p>\n<p><a href=\"https://www.balena.io/\">Balena</a> provides customized <a href=\"https://github.com/balena-os\">operating system</a> that runs supervisor\nwhose task is to get updates of your Docker images pushed to balena cloud,\npull them locally and restart container with new changes.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/4357891f724320749544f6c61ac0a35d/91dc6/balena-architecture.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 52.849999999999994%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsSAAALEgHS3X78AAACrklEQVQoz11Tb0hTURS/29AFiRlRSIVCpET1oag+FIJBQRpBCfWlfwgGQfTnS4SYFUrRB4NslhRZQv5Bp2KWxpxbJrrMMptzc8+59/b29rb33vbe23Q6czBP21vPXD843HPP/d3D+Z1zLwIoR3YcUAIAIFkCYd6oSKzVfZDxeArWx+PKyGJELZ/39ZtQa4de8lu0/as+EmzxRGzcYsPoLxQt1XnKhBMM+/aGJkoMwkhpL8/DaYCljSLRrgzgTQqZrO3SoRTMB0ERYqclAsvDOcK3UjnJQmZiT84O3YNwHUSIWhgb/Xh/7T2buVtV9yZZRFuXQaoyBT4TUgvcB98yPwGM+V1FXNr2APP1tNNpuYzNjFyatmrOJ3gR951tQaxqS039YG57ly4nKVn3T/KC60Lpok2ZLYSwrTx5xR6dugi0SXMjnlCF/oPoflvmJzsdLKmfpbHmk1LL3K3K0V8RhJUhNIXR0iBgLmDRihHY7WccB+3jTcVygmvW5vxH5vp88GqyhBhkMPR0EevWf/G6hho4V0uuzOPoSgWFP0O0M96VpSg8CM6v9LgpaodMWAFIi/mrbhuMx/ix8RIyFv5RI86HDwN8Uqyt2D7zfZPNQe5MkcEY3+dYqHZpqkAhNUygdDIIhdEFO4CrCIC7Dh6KEAk6vB+WUZooCg0B7+fhkA3l+DhhM8N6ThBE39ngglblI5+okabX2ignJyjTAdFR8nxuAOVNeqCAYue+4fTvzh4jc0jm8AL/iuM5cDm7mxL7WOBIpg0b2uW2PzzqcdwtRYUFFTdlshWHUwzLQNj98kwyApLE+he1WbpBi1p+p4bh2X2Yk9wDXqTCJ4ul4dHYrQ24+Wo6InCOAfBL4wdmXTorwnEhCtnJn1Met6cpLWrr1Ge8buzIXhsb+Amrvf0DieCZh3FpfDUAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"balena architecture\"\n        title=\"\"\n        src=\"/static/4357891f724320749544f6c61ac0a35d/40fad/balena-architecture.png\"\n        srcset=\"/static/4357891f724320749544f6c61ac0a35d/707e9/balena-architecture.png 148w,\n/static/4357891f724320749544f6c61ac0a35d/649e0/balena-architecture.png 295w,\n/static/4357891f724320749544f6c61ac0a35d/40fad/balena-architecture.png 590w,\n/static/4357891f724320749544f6c61ac0a35d/b3fef/balena-architecture.png 885w,\n/static/4357891f724320749544f6c61ac0a35d/301c0/balena-architecture.png 1180w,\n/static/4357891f724320749544f6c61ac0a35d/b5a53/balena-architecture.png 1770w,\n/static/4357891f724320749544f6c61ac0a35d/91dc6/balena-architecture.png 2000w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>So to prepare a new monitoring screen you need to:</p>\n<ol>\n<li>Purchase Raspberry Pi device and SD card for it. Balena also provides <a href=\"https://www.balena.io/fin/\">special devices</a> that they build on Raspberry Pi platform.</li>\n<li>Write <a href=\"https://www.balena.io/docs/learn/getting-started/raspberrypi3/nodejs/\">Balena OS</a> to SD card.</li>\n<li><a href=\"https://www.balena.io/docs/learn/getting-started/raspberrypi3/nodejs/#deploy-code\">Create and setup repository</a> with app that you would like to be executed on your Raspberry Pi.</li>\n<li><code class=\"language-text\">git push</code> and watch the magic.</li>\n</ol>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/107bc0d489efdc0c676b911849127bae/f36d5/success_unicorn_simple_nodejs.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 96.7065868263473%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAAAsTAAALEwEAmpwYAAACpUlEQVQ4y52UzUsbQRTAA4V+/AHuvfSidwWroP9D6aEeeuul2kNLj21PRU091Ar9E4SCIl56MLaKQSMhUD/QmEKTbCJkk2zcTWZ3J1+7M69v1t1t4heNDx5vktn5zfuY90IhlMT7r3d/fBiXPn6f7tuN7vRFolHp3beIFJ6ekT7NzUnh2bD0ZWFBCofD0vzneWlmdlZaWlqSlpeXhe1bXV0V63shX/a2Ys+yqV12mDu2suksTWeyNPFbpuk/aVxnaAY1f3pK5ZxM8/k8lWWZlkolX81KpQL7+/vPA+DPnY1JBQgUSRnkbA4ymSyc5vJQLJaholagUFCAMQ43SSKReB0AI5ubU6rjgFGnTrlUYrquc7yZK0qR4+1cKRa5qqq83W4LKhcirKe2AMZisTcBcA2Bis1BJwarlFVuEAOUQgHKpTJoZxqo6CXCodVqud4InqdCnEvAja2tqTr+aVqUGYTwarUGhmGAQUzQtSpYlgWargN6GADBd/Uq4M729pSXCuaF4R0AaLe6c+fDbgRudwC9j85DwkLUdAfq9PyeDs96BwoR3pGqA9RiLrw7f7cACmtjYanJgmfTufffQHeBAAtBzSZzDzOHX8pjT0AHAdUzG5oNBg4+KZHHlgfv2UP/kA8Q1iSOa+12D0Dc7Kqy3wwiXMtwXK8vVPta4KTnodPxFgNtNjgq4/8YXXK59aLR6CuOGNEZlNbdFhOdUq83wDRNLA7FUG0MuXXtcIjH428D4MrKyotk8qSx92uvdnR0THBskYODQ5JMpoj4fXKSIjjCSCqVIjgsCA4Pommab6u1Ws1eX19/GQD7+/sfjo2PPRkZeTwhdGhoCO3IxPDwcGAHBwddFXsX16Ojo08HBgYenY+uyJowd1DFxH1wS70vGIuLi6G/LHZxYIcIluUAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"success unicorn simple nodejs\"\n        title=\"\"\n        src=\"/static/107bc0d489efdc0c676b911849127bae/40fad/success_unicorn_simple_nodejs.png\"\n        srcset=\"/static/107bc0d489efdc0c676b911849127bae/707e9/success_unicorn_simple_nodejs.png 148w,\n/static/107bc0d489efdc0c676b911849127bae/649e0/success_unicorn_simple_nodejs.png 295w,\n/static/107bc0d489efdc0c676b911849127bae/40fad/success_unicorn_simple_nodejs.png 590w,\n/static/107bc0d489efdc0c676b911849127bae/f36d5/success_unicorn_simple_nodejs.png 668w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Our app is a simple Docker image with X server, Firefox browser and command line tools to resize graphical windows. By the time of this project writing Alpine Linux for ARM didn't support latest Firefox because of <a href=\"https://lists.alpinelinux.org/alpine-devel/6295.html\">porting Rust issues</a>.</p>\n<p>You may ask, why Firefox and not Chromium? Unfortunately Chromium is too heavy for poor Raspberry Pi device, even for 3 B+ model that we use.</p>\n<p>Here's a Dockerfile that balena builds and deploys on devices:</p>\n<div class=\"gatsby-highlight\" data-language=\"dockerfile\"><pre class=\"language-dockerfile\"><code class=\"language-dockerfile\">FROM resin/%%BALENA_MACHINE_NAME%%-alpine:3.7\n\nRUN apk add --update --no-cache \\\n  xf86-video-fbdev \\\n  xf86-input-libinput \\\n  mesa \\\n  mesa-dri-swrast \\\n  xorg-server \\\n  mesa-egl \\\n  xf86-input-evdev \\\n  xdotool \\\n  bash \\\n  firefox-esr\n\nADD profiles.ini /root/.mozilla/firefox/profiles.ini\nADD run /bin/run\n\n# set timezone\nARG TIMEZONE=Europe/Berlin\nRUN apk add --update --no-cache tzdata &amp;&amp; \\\n  cp /usr/share/zoneinfo/$TIMEZONE /etc/localtime &amp;&amp; \\\n  echo $TIMEZONE &gt; /etc/timezone &amp;&amp; \\\n  apk del tzdata\n\n## comment out if you don&#39;t want systemd\nENV INITSYSTEM on\nENV DBUS_SYSTEM_BUS_ADDRESS unix:path=/host/run/dbus/system_bus_socket\n\nENTRYPOINT [ &quot;/bin/run&quot; ]</code></pre></div>\n<p>Of course when you have many screens it would be inefficient to duplicate app just to open different web URLs in a browser. For that purpose we installed <a href=\"https://dashkiosk.readthedocs.io/en/latest/\">DashKiosk</a> and configured all devices to open the same web link that was a DashKiosk URL. In DashKiosk you manage connected devices to open proper dashboards URLs.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0e1808198db036704aaf648256569813/6fc9c/dashkiosk.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 54.69238790406674%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACVElEQVQoz2WR708ScRzHedwpJyj8Az4B1tYcR8IDmdaa2nqaK/MPMPvxqLbMisbccsrakmzN3DQsY3TNrewH0/FDhKtzHoirOXUqKJwHd8dxkMBxYt8EV5vvfR5+35/Xa5+vZGrq7YTNNjk29s5sRvv7Hc9H7A7H++OgKPoBRR3HsdvtNtvr8YnxsdHRN5OTktraWrlMfgqCTjc0ON1ur9/v8/kCgQCGYfO+eec359zs7HcMA4PjuNvl1mg0EARJpdL6+nqJQqFQKpVVVVXnWlpMJlNra/vVzq6OjittbRet1pGBwaHLndf4bPbwKBzH6XQ6GIYBUqVSSerq6splvcHwyeW3f56b8QRmPBj61eXCg1+mP04PPiUXMHaRiFGp1d09RKuVwrBMJlOr1RUyWIYgCMOmwPq8IIARiiKTSiUpqsDzuXQ6Q9PR6M7q2poOQcBjuVwO/P+WQQDZaDRah4d7rnezDFMSxWKhUDoQLRbLjZu3+h4+GrJYwN4Uy2i1WviIXCmXtZuamiwvXnXfuR9JcmxeJLksuy8MPHvZc/fB7d7HveYnTK64RVJAEFzrXxmkrL1Hs6XDw9/5Asdn9mhml6QomskJxVKplC8ICYbdikSRk9rV1dUGvd7j9c44nZ4FfwDHD0Qxy6c3d2IkzSY5nuYyfE6IxOIVck3Nf9oQZGxuNt3raz/TcEl7tuv8BUE4YLL7wV/r4Y3IeozaiCc2KebnxvZJshKWSpHGxvVQmPb58qFlIbxCxpPbCXaZWAoRxHKQCBFL4VBwEf8B/hmQy+U/rI9coYc3jnEAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"dashkiosk\"\n        title=\"\"\n        src=\"/static/0e1808198db036704aaf648256569813/40fad/dashkiosk.png\"\n        srcset=\"/static/0e1808198db036704aaf648256569813/707e9/dashkiosk.png 148w,\n/static/0e1808198db036704aaf648256569813/649e0/dashkiosk.png 295w,\n/static/0e1808198db036704aaf648256569813/40fad/dashkiosk.png 590w,\n/static/0e1808198db036704aaf648256569813/b3fef/dashkiosk.png 885w,\n/static/0e1808198db036704aaf648256569813/301c0/dashkiosk.png 1180w,\n/static/0e1808198db036704aaf648256569813/b5a53/dashkiosk.png 1770w,\n/static/0e1808198db036704aaf648256569813/6fc9c/dashkiosk.png 1918w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>When device is restarted it needs to reconnect to the same URL it was configured before. Because DashKiosk determines device id by browser profile, we need to save it. For that Firefox profile is saved on <a href=\"https://www.balena.io/docs/learn/develop/runtime/#storage\">Raspberry Pi's SDcard</a> which is persistent storage and data written there survives application and device's restarts.</p>\n<p>Here's profiles.ini added in Dockerfile above:</p>\n<div class=\"gatsby-highlight\" data-language=\"ini\"><pre class=\"language-ini\"><code class=\"language-ini\"><span class=\"token header\"><span class=\"token punctuation\">[</span><span class=\"token section-name selector\">General</span><span class=\"token punctuation\">]</span></span>\n<span class=\"token key attr-name\">StartWithLastProfile</span><span class=\"token punctuation\">=</span><span class=\"token value attr-value\">1</span>\n\n<span class=\"token header\"><span class=\"token punctuation\">[</span><span class=\"token section-name selector\">Profile0</span><span class=\"token punctuation\">]</span></span>\n<span class=\"token key attr-name\">Name</span><span class=\"token punctuation\">=</span><span class=\"token value attr-value\">default</span>\n<span class=\"token key attr-name\">IsRelative</span><span class=\"token punctuation\">=</span><span class=\"token value attr-value\">0</span>\n<span class=\"token key attr-name\">Path</span><span class=\"token punctuation\">=</span><span class=\"token value attr-value\">/data/firefox-profile</span>\n<span class=\"token key attr-name\">Default</span><span class=\"token punctuation\">=</span><span class=\"token value attr-value\">1</span></code></pre></div>\n<p>And here's docker entrypoint script. It's purpose is to </p>\n<ol>\n<li>Get bigger <a href=\"https://www.kernel.org/doc/gorman/html/understand/understand015.html\">shm device</a>.</li>\n<li>Start Firefox.</li>\n<li>Resize Firefox window, enter full screen mode.</li>\n<li>Sleep forever.</li>\n</ol>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token shebang important\">#!/bin/bash</span>\n<span class=\"token comment\"># URL is set in balena device settings</span>\n<span class=\"token comment\"># it should point to dashkiosk</span>\n<span class=\"token assign-left variable\">URL</span><span class=\"token operator\">=</span><span class=\"token variable\">${URL<span class=\"token operator\">:-</span>http<span class=\"token operator\">:</span><span class=\"token operator\">/</span><span class=\"token operator\">/</span>jodel-app.com}</span>\n\n<span class=\"token comment\"># By default docker gives us 64MB of shared memory size but to display heavy</span>\n<span class=\"token comment\"># pages we need more.</span>\n<span class=\"token function\">umount</span> /dev/shm <span class=\"token operator\">&amp;&amp;</span> <span class=\"token function\">mount</span> -t tmpfs shm /dev/shm\n\n<span class=\"token function\">rm</span> /tmp/.X0-lock <span class=\"token operator\">&amp;></span>/dev/null <span class=\"token operator\">||</span> <span class=\"token boolean\">true</span>\n\n<span class=\"token function\">mkdir</span> -p /data/firefox-profile\nstartx /usr/bin/firefox <span class=\"token string\">\"<span class=\"token variable\">$URL</span>\"</span> -- -dpms -s off -s noblank -nocursor<span class=\"token operator\">&amp;</span>\n<span class=\"token comment\"># wait until Xserver and Firefox start</span>\n<span class=\"token function\">sleep</span> <span class=\"token number\">40</span>\n<span class=\"token builtin class-name\">export</span> <span class=\"token assign-left variable\"><span class=\"token environment constant\">DISPLAY</span></span><span class=\"token operator\">=</span>:0\nxdotool search --name <span class=\"token string\">\".*Mozilla Firefox\"</span> windowsize <span class=\"token number\">100</span>% <span class=\"token number\">100</span>%\nxdotool search --name <span class=\"token string\">\".*Mozilla Firefox\"</span> key <span class=\"token string\">\"F11\"</span>\n<span class=\"token comment\"># sleep forever</span>\n<span class=\"token function\">tail</span> -f /dev/null</code></pre></div>\n<p>Once application is ready it's not the end of configuration. Because latest web tools such as Grafana or Kibana require quite some hardware resources we need to tune balena OS settings to give container more GPU memory and include additional video drivers.</p>\n<p>For that <a href=\"https://www.balena.io/docs/learn/manage/configuration/#managing-device-configuration-variables\">update device configuration</a> or entire fleet with following <a href=\"https://www.balena.io/docs/learn/manage/configuration/#variable-list\">variables</a>:</p>\n<p><code class=\"language-text\">RESIN_HOST_CONFIG_gpu_mem=128</code> sets 128MB of GPU memory, by default it's only 16MB.</p>\n<p><code class=\"language-text\">RESIN_HOST_CONFIG_dtoverlay=\"vc4-fkms-v3d\"</code> enables <a href=\"https://www.raspberrypi.org/forums/viewtopic.php?t=159853\">new 3d driver</a>.</p>\n<p>That's it, took me a lot of time to make it work on Alpine Linux.</p>\n<p>Result looks like this:\n<a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/adf3f762bfd697b8fdc141491acaadb2/0e6dd/screens.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 56.2535158447403%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAQX/xAAXAQADAQAAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAGuV+ZqLOeBv//EABoQAQADAAMAAAAAAAAAAAAAAAEAAhEDEjP/2gAIAQEAAQUCyyd2NwZhOb0//8QAFxEAAwEAAAAAAAAAAAAAAAAAAAIRUf/aAAgBAwEBPwGNpT//xAAYEQADAQEAAAAAAAAAAAAAAAAAAhEBMf/aAAgBAgEBPwGpOGKf/8QAGRAAAgMBAAAAAAAAAAAAAAAAAAEQITER/9oACAEBAAY/Au0aW4wZ/8QAGBAAAwEBAAAAAAAAAAAAAAAAAAERMSH/2gAIAQEAAT8hUE0UuHcTUWQVsCF//9oADAMBAAIAAwAAABBMD//EABcRAQEBAQAAAAAAAAAAAAAAAAEAESH/2gAIAQMBAT8Q7axV/8QAGBEBAQADAAAAAAAAAAAAAAAAAQARIaH/2gAIAQIBAT8QC07hTN//xAAaEAEBAQEAAwAAAAAAAAAAAAABEQBRMUGx/9oACAEBAAE/EOs8EuY6EsQM8KHpwGjZyuCJ5OYFE583/9k='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"screens\"\n        title=\"\"\n        src=\"/static/adf3f762bfd697b8fdc141491acaadb2/f8fb9/screens.jpg\"\n        srcset=\"/static/adf3f762bfd697b8fdc141491acaadb2/e8976/screens.jpg 148w,\n/static/adf3f762bfd697b8fdc141491acaadb2/63df2/screens.jpg 295w,\n/static/adf3f762bfd697b8fdc141491acaadb2/f8fb9/screens.jpg 590w,\n/static/adf3f762bfd697b8fdc141491acaadb2/85e3d/screens.jpg 885w,\n/static/adf3f762bfd697b8fdc141491acaadb2/d1924/screens.jpg 1180w,\n/static/adf3f762bfd697b8fdc141491acaadb2/9452e/screens.jpg 1770w,\n/static/adf3f762bfd697b8fdc141491acaadb2/0e6dd/screens.jpg 5333w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Because of the relatively small result docker image size (280MB vs 450MB with Debian based image) new deployments to balena are quite fast. Hope you will find this article useful and it will save you some time on solving monitoring challenge.</p>\n<p>What's left to do is to configure scheduled turn off and on of screens during working hours.</p>","fields":{"slug":"/monitoring-screens/","tags":["auto1","engineering","monitoring","alerting","iot","RaspberryPi"]}}},{"node":{"id":"588b2b03-a726-5249-9d5a-975640153a62","frontmatter":{"category":"Architecture","title":"Evolution of SPA approach at AUTO1","date":"2019-04-11","summary":"Building single-page applications","thumbnail":null,"authorName":"Oleg Tudoran","authorDescription":"Software Engineer","authorAvatar":{"relativePath":"pages/spa-evolution/avatar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAUCAQT/xAAXAQEBAQEAAAAAAAAAAAAAAAAAAgED/9oADAMBAAIQAxAAAAGtmN2aro5nj0dJA//EABwQAAIBBQEAAAAAAAAAAAAAAAABEQIDEBMhEv/aAAgBAQABBQLaK+p30kjfcPp6Z//EABcRAAMBAAAAAAAAAAAAAAAAAAAQERL/2gAIAQMBAT8Bhl//xAAXEQADAQAAAAAAAAAAAAAAAAAAEBES/9oACAECAQE/AaaUP//EABkQAAIDAQAAAAAAAAAAAAAAAAAhARAgMv/aAAgBAQAGPwIZ1GXX/8QAHRAAAgIBBQAAAAAAAAAAAAAAAREAIUEQMXGBkf/aAAgBAQABPyHgJTehCyAUh4MuNDE70MruqIpz/9oADAMBAAIAAwAAABAbNwD/xAAYEQEBAAMAAAAAAAAAAAAAAAABABFBcf/aAAgBAwEBPxACXVqy3//EABgRAQADAQAAAAAAAAAAAAAAAAABEUFR/9oACAECAQE/EJko1Tj/xAAaEAEBAQEBAQEAAAAAAAAAAAABEQAhgTHh/9oACAEBAAE/EL/XKmAfiXH40r0QHrolRSpPNF7z5hXq9cpZiC65CQeXf//Z","width":50,"height":50,"src":"/static/24ab1ea711b3329ac0f7f0d8386d0c6c/d2d31/avatar.jpg","srcSet":"/static/24ab1ea711b3329ac0f7f0d8386d0c6c/d2d31/avatar.jpg 1x,\n/static/24ab1ea711b3329ac0f7f0d8386d0c6c/0b804/avatar.jpg 1.5x,\n/static/24ab1ea711b3329ac0f7f0d8386d0c6c/753c3/avatar.jpg 2x,\n/static/24ab1ea711b3329ac0f7f0d8386d0c6c/31ca8/avatar.jpg 3x"}}},"headerImage":{"relativePath":"pages/spa-evolution/spa-winding-road-evolution.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAACaklEQVQozw2OZ1PaAACG86faa+/as67YskfIImQnBDNJAiEMCUuECso6AZHW0dOrrVQ5279XvrxfnnvueYGQ3CQKA8Gb6Z3v7vDBmz415qvm5aq9WHWWz/2b197Na/vqpT5bVSaPhcGD3b+vz/70b/8dL9fA0fl1d/5zfLee3/+d3K17i1/10Y9MbUK5A7o04qtTo3ML26NtrvEWL74nSjt8M2EPtZMbsb4E+MJXodivnn3rzH87Z/eCt8CcEZofJnKjsHEeUHtIbsx6C/rokvGupNZ17vyxfPEiNa6CYgXYpgogX92cJ4tD4/TOnawq05cNzg+f0rUFXRwqJ7dH0+fmYl0aPWitqd4Ya14PzegBggHCQh7SmrjdTdlt1u2KlTO9NdNaF1Su6SczPoJLSAahFyBRjVKMD0VDWAKmUJonw9EDAOIyEU4P0iqI8Qc49wVjIIaP0WwoSQZwMpxM4QwXhyEYhZNEgqJgkUdlkRRIIhYOASRPc4cyRNF+BAslUVwgERZLHzKaIpIExhKYpUhGms1KnMKmGCyuCmRek1gSTuIQEE0EOIHQVKladqQMAyEggn1S+IQixiUupkuIqeBaOinzhCmzriXbskCnDmhmi2I+Ahwb1mTEyXLLSa/u2ji+pWT85Rxlm5BhBFs1tl3n81ZEVXatrP+0XRz3yq4TVZXPDLMHSBzGUgFD8Q1PiycNK5eNVYuYZfo0bU/X90ulgOcFSyW/ae7JGVCSdlTtg5Pfr5QjbiECaGnYVJKTvrcJDzrVbtPYaDT7huXeieJHw9g1s6CugZYFmsZmtx1nx3XBWjV+XCf+A7RwItURocOQAAAAAElFTkSuQmCC","width":1200,"height":630,"src":"/static/f11171542efa1c6ff84e967a0df8a206/6e93c/spa-winding-road-evolution.png","srcSet":"/static/f11171542efa1c6ff84e967a0df8a206/6e93c/spa-winding-road-evolution.png 1x"}}}},"html":"<p>Here, at <a href=\"https://auto1-group.com\">AUTO1 Group</a>, <strong>we are growing</strong>. Not only in terms of company size, number of employees, revenues, etc, but also in terms of database size, amount of servers, lines of code in applications, amount of accessible pages. For supporting this growing codebase we are adopting new approaches and new technologies. Different innovations were already introduced, but today I want to tell You about switch of a paradigm from MVC to SPA, and how implementation of SPA approach evolved.</p>\n<h2>MVC approach</h2>\n<p>We have our internal application, called <em>Admin</em>, which is heavily used by hundreds of colleagues in many countries. Historically, it was written as a monolith php application, based on Silex (and later Symfony) frameworks (some overview is present in <a href=\"https://auto1.tech/vigolante/\">this blog article</a>). <em>Admin</em> application had architectural layers, which fell into a concept of <em>Model-View-Controller</em> (<a href=\"https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller\">MVC</a>). The <em>View</em> part, which is in essence the HTML code of all pages, was prepared on web-server using TWIG templates. Usually, one developer was working on both back-end and front-end implementations of web-page. That was called <code class=\"language-text\">Full Stack development</code>.</p>\n<p>Downside of such approach became obvious when first HTML tables with complex internal structure were implemented. Lets take as an example a page that displays hundreds of cars, provides pagination, possibility to edit data, shows aggregated results, etc. Such page consists of static components (navigational menu, list of available locales, information about current user, html-template, that renders appearance of the page, etc) and dynamic components (information about cars). This kind of web-page is <code class=\"language-text\">hard to build for a single person</code>. Knowing that development cycle of such complex pages could be split between several software engineers, we divided responsibilities between back- and front-end developers. We decided to generate the <code class=\"language-text\">View</code> part of MVC architecture in client's browser instead of application's server.</p>\n<p>And this was exactly the case, that fitted well into SPA paradigm.</p>\n<h2>SPA paradigm</h2>\n<p><em>SPA</em> stands for <em>Single-Page Applications</em> - an architectural paradigm, that divides elements of the page into static and dynamic.  Static elements of the page (such as page layout, navigational menu, user information) should be loaded into client's browser only once per user session. The page layout rarely changes.  On the contrary, dynamic components of the page can be updated continuously.</p>\n<p>Regardless of the technologies involved for rendering a page in client's browser, main difference between SPA and non-SPA approaches is whether a browser <code class=\"language-text\">requests each time full page content</code> (including static content, such as layout, menus, etc), or it <code class=\"language-text\">requests only the important (dynamic) content</code>. This difference can be seen in a diagram below.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/99908d8f36bcb222572f33850246a4f6/c9722/TraditionalVsSPAPageLifecycle.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 111.53415453527435%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,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'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Traditional vs SPA\"\n        title=\"Traditional Page Lifecycle vs SPA Lifecycle\"\n        src=\"/static/99908d8f36bcb222572f33850246a4f6/40fad/TraditionalVsSPAPageLifecycle.png\"\n        srcset=\"/static/99908d8f36bcb222572f33850246a4f6/707e9/TraditionalVsSPAPageLifecycle.png 148w,\n/static/99908d8f36bcb222572f33850246a4f6/649e0/TraditionalVsSPAPageLifecycle.png 295w,\n/static/99908d8f36bcb222572f33850246a4f6/40fad/TraditionalVsSPAPageLifecycle.png 590w,\n/static/99908d8f36bcb222572f33850246a4f6/b3fef/TraditionalVsSPAPageLifecycle.png 885w,\n/static/99908d8f36bcb222572f33850246a4f6/c9722/TraditionalVsSPAPageLifecycle.png 893w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>First picture represents traditional request where full page contents are passed from web-server to a browser on each request. Second picture illustrates SPA approach: full page content is fetched only once, afterwords only dynamic content is downloaded and full page reload does not happen.</p>\n<h2>SPA evolution in AUTO1</h2>\n<p>Starting from a monolith application, where HTML was rendered on a server-side, we gradually moved to our current state, where a separate application serves SPA for us. But let's go step by step.</p>\n<h3>From Monolith to php-rendered SPA</h3>\n<p>Adopting of new front-end technologies, such as JavaScript library <a href=\"https://reactjs.org/\">React</a>, allowed us to start building first SPA pages. React code is executed in the web-browser. Front-end (React) developers became responsible for all the visual representation of a web-page.</p>\n<p>For organic integration with new technology we updated existing workflow of generating HTML of the page. Specifically, we introduced several new endpoints, that provided essential information for rendering HTML page layout. Those endpoints were:</p>\n<ul>\n<li>GET /menu - returned JSON-encoded structure for rendering navigational menu</li>\n<li>GET /locales - returned JSON-encoded list of available language and country settings</li>\n<li>GET /user/{id} - returned JSON-encoded data about current user</li>\n</ul>\n<p>Front-end developers wrote <a href=\"https://reactjs.org/\">React</a> code, which could fetch data from aforementioned endpoints and render HTML5-compliant page layout.</p>\n<p>Now we needed a way to pass this React code from web-server to client's browser during initial page load!</p>\n<p>This was achieved by introducing of what we call SPA-controller: set of php application's code (written with <a href=\"https://symfony.com/\">Symfony</a> framework), which returned very basic standard html template that contained latest version of the React code. Being executed in the browser, this code rendered HTML contents of specific SPA page.</p>\n<p><code class=\"language-text\">Under the hood</code> of SPA controller we implemented such functionality:</p>\n<ul>\n<li>based on request URL, define exactly which SPA page layout was requested</li>\n<li>check if we already have this HTML-template cached</li>\n<li>\n<p>(if template was not cached, or TTL of the cache is over) do a request to CDN, that contains actual version of front-end assets</p>\n<ul>\n<li>put new HTML-template into cache</li>\n</ul>\n</li>\n<li>return HTML-template of SPA index page to a requesting browser</li>\n</ul>\n<p>The response contains lightweight HTML similar to this:</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token doctype\"><span class=\"token punctuation\">&lt;!</span><span class=\"token doctype-tag\">doctype</span> <span class=\"token name\">html</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">charset</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>utf-8<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">http-equiv</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>x-ua-compatible<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>ie=edge<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>viewport<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>width=device-width,initial-scale=1,shrink-to-fit=no<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>title</span><span class=\"token punctuation\">></span></span>SPA index<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>title</span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>link</span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>https://cdn.xyz.de/1.2.3/main.css<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">rel</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>stylesheet<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>noscript</span><span class=\"token punctuation\">></span></span>You need to enable JavaScript to run this app.<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>noscript</span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>app<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">type</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>text/javascript<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>https://cdn.xyz.de/1.2.3/main.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>As You can see, SPA index page contains none of the data that should be shown on a page. This data will come as a result of subsequent requests.\nStages of building SPA page are illustrated in the diagram (notice 3 phases):</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e5d2e836bb8bf89ae91ffab228f6e013/d9801/3phasesOfSPAPage.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 132.49566724436744%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAaCAYAAAC3g3x9AAAACXBIWXMAAAsSAAALEgHS3X78AAAGI0lEQVRIx41VaVBTVxSOYLVKdVRAQTu2g+DS0TraaZUfbSnj6NipdaYzHevWTrHjglqVcbe41a0ILggoEhSs7BAgbCGELIQskLBEdhIIECALIeFlhbzl9l4WI9Xp9Mx8c959957v3XPOd++j2ex24BwdBVabDWBWKxjBMBJAM5uxczRoY2NOT+SDVm+cA53nJLzgkhm0d5nQ4SDTcJzKnkQmQbgq4Oo6neEsmmdIZLOm1v6w68Dnu/cfDtm4eftSNE54FD3L6iC2ECTYAUO+czhHQ2klo6PkAzhKAICKh/4RAHgW9FKj6dQU0ewVeTNyS2sTyrhyopwnB4xSiepKTHZIxN513vVKh8NkA+OGWWzDNBYkjIODpxRFQYDHFEUgQqGyKzUnI+unXGbRr388yFhdIXw1IKnrBAJpi10kV4L0gurr6GP6IXOsacT6zGq1JRuGTFH/JqQgIZ4DxzyV+kb1nfu7Gv9Ov8BNSj/EFTcpxbJWQlTbYuFWK8DzLO5xyDdrcFCrhXDpdPox47BZiVLGYcokTJmEKZOxAIxlQEKxfuiMIPysTwe7Yk0anRFcUaUwK9o0oLZBCQoqFCCGXlF/+W72PL3B+IW6dyCkVzP4tbKrbxOtFgbnQhROAj1XTzTl0uvObX02s4xbd58rUqTxRIqkJy+5nHt0dlNkdL73W13u7OoJbelQhbYqu0PbIKD/pl2l3qpo7lyO5rNTMj1p/2FtKq2nXm/00EGoewY8aE6nU2CzWqsIHB8HSeA8h9NZr9GZ9qAApLd5C5fNXbJs1XJf/6Ctvv4rdyz2Dwzw8lowb4o0q0js/gKYNKRmAsLpck1IYMRy4Y2NvOcx08sP+rlI1BC+ASs/m48mfJYE0DZtO+9e2WSx4N0OB9FlNhNtQ0NEn83m6iZw0DCoS2IXle4SiiTHIL8PjRb8/vkr9w9G3oj9/cjpmA0o9vbtOx5v1UA2MkIqTSbQrNdT9f39AD7jSsjAVvddZ+WXHGAWl8WyONUnSyrrxFLYYbG8HRSxaxzPsgTfovi0/GqPc3eL3YSNJhNZYzSCRKjBJCRskhwXtqxf+zQ/M28Pm8M7lJbHCy0XNOqqpK0ET9xsgQAZhaIIFJ9TLPGsEQnchO1whx0YhgRNJcLjB/U4Lmxhr+YmM7fwUC6j8CGzrOoiT9TUL5a34mJZi62cXw+SMvgHUfxLhnDmtJRFsH4FBEE+hn15MiFuPG1ih8nFDOZxkUR6uaBMvJMjVGCv2vuBrFEF8soVIDqJ3RN5r/CD8Vo+LnPfPHyCAHRIgE5HOkQqBeuHxN2jucYp5fzILGbd5PAk4UUV8iMsfkNEOb8hPP5F5cO7T1mpp/9Mn404bsYVuXfYpzPs7TEY96l0hn0q/RDCXvgc1tSh/oT2Pyz6uXj6C6fdzrFjGId0uTgUAu5iOx0Oab/evGtSpx5bt++ctXptsLePX2Cwt1/QVx+tWO+7dv3mOVMccamV04UNswQ4BJK0HcfHhW02YZGT855+H66a6+MfFOC9+OOA+QuXBi1eujJw4ZKgRWh+0ZJA2vdhj94QNobhXTYb0Tk8TDTrdEQ3ho32osvBYDz5jgx9IZa+vjN2/vb2b6DOYiE1FgvoGxqiurVaYMQwYgDJRqu/28uoCeiT6zYAM5hLz+TuLyitkkAJydIYvPirsSzviXQ500kbzGZSBk+KliSpUXSWobCHoa/qGYh/lBMb8YAdHxNdTI9g8RtHZK96QFVNGxDKVOBFrvAEis9kij2jElluwlZIqDKbgQkR2mwUbAw+hnY4aLh6JD5sW0TJmbAz2bfCBJImfW19u0sib7UKJAqQzRSNCzu7SDxd2FV2O8HEcXIEihtQFKnu6HDBegKp1kBPSU8+ksbOOn/rBX1HOV+hFck7AV/cTBaU14F7yRXxKD63RDrjr8RyNyG6ndHJQHWzo2ZoNEAFvcJsu7Qubs2XISVbfv4l+/gxvuhVg7SurQvusIWeybfeS2bbL0YxFo6flIQSdx2b1X3hdeq+owK15mhlV+9RkdYQXjugi6hVtG58M5OLUTnzrt3PX3DjYZ7XqZsFQYcv53yK3qcwFbTdJ1Jer/sHgu6DalJSLToAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"3 phases of SPA page load\"\n        title=\"3 phases of rendering SPA page\"\n        src=\"/static/e5d2e836bb8bf89ae91ffab228f6e013/40fad/3phasesOfSPAPage.png\"\n        srcset=\"/static/e5d2e836bb8bf89ae91ffab228f6e013/707e9/3phasesOfSPAPage.png 148w,\n/static/e5d2e836bb8bf89ae91ffab228f6e013/649e0/3phasesOfSPAPage.png 295w,\n/static/e5d2e836bb8bf89ae91ffab228f6e013/40fad/3phasesOfSPAPage.png 590w,\n/static/e5d2e836bb8bf89ae91ffab228f6e013/b3fef/3phasesOfSPAPage.png 885w,\n/static/e5d2e836bb8bf89ae91ffab228f6e013/d9801/3phasesOfSPAPage.png 1154w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Page lifecycle consists of 3 phases:</p>\n<ul>\n<li>fetch SPA index and render empty HTML container</li>\n<li>fetch data about static page components and render a layout of the page</li>\n<li>fetch main content of the page and build it into existing layout</li>\n</ul>\n<p>This approach, regardless of its increased amount of requests, actually resulted in a faster page load times, mostly because caching of SPA index was introduced and because web-server did not render HTML code anymore (this responsibility was moved to the React application code, that was executed on the client-side in web-browser).</p>\n<p>Overtime we noticed drawbacks with this approach: actual SPA version was hardcoded in a config file in php code and full php application required re-deploy each time, when a new version of React code was introduced. Deployment of a big monolith application to production environment was slow, also release notes were meaningless and annoying. </p>\n<h3>Moving SPA index outside of monolith</h3>\n<p>Having understood that keeping a reference to a latest SPA version in the code of main application was causing real problems, we started thinking about another possibilities.</p>\n<p>The most promising was idea to create a standalone application, whose single responsibility would be to serve latest version of SPA index page to authorized users. Expected benefits were:</p>\n<ul>\n<li>decreased time of delivering information about new SPA version to a production environment</li>\n<li>decreasing time of serving SPA index page</li>\n<li>utilize web-browser's capabilities, such as <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching\">HTTP caching</a></li>\n</ul>\n<p>As a result, we implemented a <a href=\"https://golang.org/\">Golang</a> application, that did exactly the same, as it's predecessor-monolith, but outside of php environment. The current page lifecycle started to look like this:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a4e563c6b73722bb48a1f8147604cacc/efe7c/SPAFromStandaloneApp.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 41.98606271777003%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsSAAALEgHS3X78AAACGElEQVQoz3WQT0gUcRTH38zOzra6IB6yMEFiD1md6hKEh7x1CLx08BDYP4SKwKUy1PLQpZYOZYRZUMGiJWWHLNxKKCwiSFwUYmVLV2vTdWdmd2ZnZ5zZmdnfr/ezgoh68Pj+3nu/3+f33gPTNL2SrpOybVdsy6qgOhRtRVIvAFpWUgSmsHm3iIcNfgARasJVx4928PAv00slYlgWVXWdFjSNFopFlwFVrdj7570agGph486wv7E5XOsP1LMcXmuktNKG2op+0DDWWuAtdhXzPDriuuSh55Fhz3PHsZqQlCvKxGzd91m1CcMAROZrfd1zR/juZGd99Ns2Bvz0eaVHx6LnrvdAbbucgnEctR+DW5SSAdSbWB9C/ZiVB1+9i0fuTT7oX0xPNsPpmcN818wz/sz0qeD5xDEGTM1nDi3LdtowzClzzUoqeW0EXiAQIfQOIeQ2IQzsPsb4fSZ3qTN2Ys+Bsbb2l9N390IkuZ87l7jMn01EQ11THQy4sPj1pKbmbUmSMrqua6ZpTfwGkl9AgkBnlAFz0sW/9+2LmnVi75dd7WNOgMVzqYXW7Kr0OicpT/IFNS7L6nWIl8v0BgIGf469PvIj1A9yvo89GtCfixhyPFQF/eDbLgJsxXQA/mdvsM/7rmsPO449hB5zXOMp2+Gq1MPqo+klH1MhuKlJqN6yTwg1tIihhh0sF716jdPUHIdb4tinzH8AY3NsacwXjCQAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"SPA index served by standalone application\"\n        title=\"SPA page is served from standalone application\"\n        src=\"/static/a4e563c6b73722bb48a1f8147604cacc/40fad/SPAFromStandaloneApp.png\"\n        srcset=\"/static/a4e563c6b73722bb48a1f8147604cacc/707e9/SPAFromStandaloneApp.png 148w,\n/static/a4e563c6b73722bb48a1f8147604cacc/649e0/SPAFromStandaloneApp.png 295w,\n/static/a4e563c6b73722bb48a1f8147604cacc/40fad/SPAFromStandaloneApp.png 590w,\n/static/a4e563c6b73722bb48a1f8147604cacc/b3fef/SPAFromStandaloneApp.png 885w,\n/static/a4e563c6b73722bb48a1f8147604cacc/efe7c/SPAFromStandaloneApp.png 1148w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Now, initial request to fetch SPA index was re-routed to a standalone application, that served the same HTML, as we have seen above.\nAll other phases of SPA page lifecycle did not change.</p>\n<h2>Current state of rendering SPA pages</h2>\n<p>Implementing of a separate application, that serves SPA index pages, brought us several significant improvements in a page load lifecycle:</p>\n<ul>\n<li>SPA index page is returned significantly faster - <em>80-90 milliseconds instead of 1200-1500</em> milliseconds in old world</li>\n<li>time to deploy to production environment decreased almost 10 times (and now it is <em>under 4 minutes</em>)</li>\n<li>moving of configuration parameter outside of monolith allowed our front-end engineers to be able to <em>update version of SPA index directly</em>, without help of back-end guys</li>\n<li>additional configuration improvements allowed us to <em>gradually release feature</em> (allow switching to a new way of fetching SPA index one page by one) without a risk of braking full application</li>\n<li>automated support of <em>multiple development environments</em> was introduced ot of the box</li>\n<li>fine tuning of HTTP caching parameters allowed us <em>to serve less requests</em>, because of browser's caching possibilities</li>\n<li>In the first hour of work with this application on production environment <em>75% of all requests were served by HTTP cache</em>, with most requests not even reaching application</li>\n<li>other teams have <em>successfully adopted technology</em> and were able to release application themselves</li>\n</ul>\n<p>This is pretty good, huh?</p>\n<p>Of course, there are challenges in current approach also. We are investigating the best way to deal with user locales in SPA index, we learn how to do proper caching and authenticating user, but this is a topic of another story!</p>\n<h2>AUTO1 Group</h2>\n<h2>#spa #monolith #mvc #engineering</h2>","fields":{"slug":"/spa-evolution/","tags":["auto1","SPA","monolith","MVC"]}}},{"node":{"id":"4847d312-706f-5678-9e9e-1a333f42095e","frontmatter":{"category":"Coding","title":"How we use ES6 generators to simplify our React Redux application code","date":"2019-04-04","summary":"How we use ES6 generators instead of thunk to simplify our React Redux application code and improve productivity","thumbnail":{"relativePath":"pages/es6-generators-react-redux/thumbnail.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAnLAAAJywEjDYgKAAADmUlEQVQ4y3VV2W/MURQemUY7+7Szd2Y681umLSHWB4TW1nqo5YUisYVIVGsJEXtrryUIam9Va0nQ1hoULYrEFhL8ASS2+A94+Zxzfp0xpR5ucnPPud893znfOdekqioUWqqiyFI0DVooAN2bDTUagaLrYpdFez5jm5YbFF+5k8SgZUoHVFQCi4QRmlIOb8V65A0fAd2Xk7rA++iIMfAsq0Zu2XRo4dweoClAOaDXtYAPgTlLkNn6Cq5tx5HV+hLu6sMUVRRqLM84a3kB95Y6ZLa9RnDGAmhBP4HqBsP0CIUq0bCdvInQtNnIt5gRGzgIjgMXYD/SAvvRNjj3NSPefwAKMvsgMHuxnHMQDJiKUPmLsvVMOyKjxxtUiL4WCsL89BsyHn+WaNS8qPiHJ5bJ42o89ifHEmEyqXpCAOxHWxEZW4qEwyIAjsOXkb1uL7I37Ifj4EWJKGHPQrhkChyHLlEeQ1AS+amgTCm65Kj7veJkO3UL2RsPwNr0AKYPv2Bt7oDlXKexb7wn4Lb623DsPw/d4+7Oo9YdYTwu1fItXi0AfW++Q+a1t/Cs2i5Uo6PHIV7QD0pBISLFpTA/+w7Pyq3ix8t69j7886sk/xIh64oTb23qoAsliA0eRrm5IZF6K9ZRdWNw7m2Cc/cZ0SBLhqnbTtxAbNBQhCeUwXKxS+wsOZNv0SoyXpfQOeGsNeeeRmQ8/ER7j9Ay/YAsZ22DpMX85AtcO06SwHMMoZMfp8A/r5IAF66U1wSQohFAei2j86OxJ6kkAV27TgtgRtdn2teLXYLwM+Ad+OcuTaNMuYiOKibtDRY5sMa8S9bKBb7MEWmRXIMy+QvlIcNJEZNgucCUG6QWqaLwZcv5R1SQN9IF3sqNMHd9kUdEFrQiYyZQob7CW7VJ/Pre+iCF9C9Y/qcohiAN2bCI7ceukrjvwl1TJw+Y3v+EpblTpJPcuzcfEmkxC06BFvSlySZN2Fwle12rVDvhssnUsR+5IsLOWVNLthY5SzitiBRNlHY0JlLiL2EnW49esTa2i/ak9ciZRcsVZ6rcFQJANga0NtxNa9tk6/UYDiGiQsNh6izkZ5kRL+wH187TUiSWFlc/Xtgf+TQceNJwetK7pNfx5Z9TIeOLx1bWledw1dYbo4kk5dp5Ss7YxoULzFxk5E/vZXz1GLAUIcsjOrLI0Fo3JRmwVHXPihqEJpf/f8D+9wsg8H++ADqTgRDq/Qv4DWMLuHUxNoXrAAAAAElFTkSuQmCC","width":325,"height":325,"src":"/static/2bee11a830bacc5ae9006df56b20c33a/b3029/thumbnail.png","srcSet":"/static/2bee11a830bacc5ae9006df56b20c33a/b3029/thumbnail.png 1x,\n/static/2bee11a830bacc5ae9006df56b20c33a/8d141/thumbnail.png 1.5x,\n/static/2bee11a830bacc5ae9006df56b20c33a/ee72c/thumbnail.png 2x,\n/static/2bee11a830bacc5ae9006df56b20c33a/5dfa8/thumbnail.png 3x"}}},"authorName":"Chirag Swadia","authorDescription":"Chirag is a Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/es6-generators-react-redux/avatar.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAECAwT/xAAXAQEBAQEAAAAAAAAAAAAAAAAEAwAB/9oADAMBAAIQAxAAAAGIveV5aObk0FjsCs//xAAbEAADAAIDAAAAAAAAAAAAAAAAAQIRIRIiQf/aAAgBAQABBQKnxmHTMGhGz0l9f//EABoRAAICAwAAAAAAAAAAAAAAAAABAhAxMkH/2gAIAQMBAT8B7U9mLB//xAAZEQABBQAAAAAAAAAAAAAAAAAAAQIQMTL/2gAIAQIBAT8BhuRbP//EABsQAAIBBQAAAAAAAAAAAAAAAAARAgEQIDFB/9oACAEBAAY/AmKcEatzCh//xAAbEAEAAwADAQAAAAAAAAAAAAABABEhMVFh8P/aAAgBAQABPyEnrfkRsPknmGxTsy8Dqp82W0JRuRFFn//aAAwDAQACAAMAAAAQ+Dj/AP/EABgRAAMBAQAAAAAAAAAAAAAAAAABETEQ/9oACAEDAQE/EG5ovBkf/8QAGBEAAgMAAAAAAAAAAAAAAAAAADEQESH/2gAIAQIBAT8Q2lCBh//EABwQAQADAQEAAwAAAAAAAAAAAAEAESExUXGB8P/aAAgBAQABPxCyt4AerkU0XY8TkPRXxBSQfql1NpWO/co8qKgOPZRgcYmBU9n/2Q==","width":50,"height":50,"src":"/static/8cf5c37636309895b29dd7ce5f1fcf28/d2d31/avatar.jpg","srcSet":"/static/8cf5c37636309895b29dd7ce5f1fcf28/d2d31/avatar.jpg 1x,\n/static/8cf5c37636309895b29dd7ce5f1fcf28/0b804/avatar.jpg 1.5x,\n/static/8cf5c37636309895b29dd7ce5f1fcf28/753c3/avatar.jpg 2x,\n/static/8cf5c37636309895b29dd7ce5f1fcf28/31ca8/avatar.jpg 3x"}}},"headerImage":{"relativePath":"pages/es6-generators-react-redux/headerImage.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABWUlEQVQY022QS0/CQBSFOzMtFLCdtsOrPOQRIPJogIILgkY0GqKJG5cu3GqMxIULExOJG/9s/0N7nBbjRiaZnJs7ky/nHEWRx63WRDqVCjRdR344DUV/jPxohlQmC0YpNE2Dqqp/SqkC+8BFuzBHTucRYzSK3xzHOY95SrXXF1KCbK2Fzv1T6L1+ofewQa7egtz/u0Sh6BZO0HBmOLT9SO4iohAYhrED6ooidJMHldUNvJdt6G22Uj/hXtyiO/TgTyeY+j4WiwUKpTxEtomheyVhE4wq64jr5RgKi/86LJZdQQkJ7MEUg8f3cPz2jeHzB+zRHLIKcM5hmqZUE2ktg4bto1NYomZ56BVPo6Yzjwgh8Z8d0G22BZGRWTaH8vIyrK/vUDm7hpoz9kauWqMk8lFphZY4jspGL3HIubUD5oUQjKlB0o+qhokythf21yOhiVLCkg7jOXb4A0fehWKiiDXIAAAAAElFTkSuQmCC","width":757,"height":236,"src":"/static/c49511e796013b6394df522c11a4a9fc/7eaf7/headerImage.png","srcSet":"/static/c49511e796013b6394df522c11a4a9fc/7eaf7/headerImage.png 1x"}}}},"html":"<h2>Background</h2>\n<p>When I first started working on React/Redux, the very first choice of library I used for handling asynchronous actions was <a href=\"https://github.com/reduxjs/redux-thunk\">Redux Thunk</a> as its maintained by the authors of Redux, and is very popular as well. Consider the following example, where an action type is being created for incrementing a counter and a corresponding action creator for it.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> <span class=\"token constant\">INCREMENT_COUNTER</span> <span class=\"token operator\">=</span> <span class=\"token string\">'INCREMENT_COUNTER'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token function-variable function\">increment</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  type<span class=\"token operator\">:</span> <span class=\"token constant\">INCREMENT_COUNTER</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>Using redux thunk, an async action creator can be created as follows</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> <span class=\"token function-variable function\">incrementAsync</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> <span class=\"token parameter\">dispatch</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n      <span class=\"token function\">dispatch</span><span class=\"token punctuation\">(</span><span class=\"token function\">increment</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Pretty simple till now.</p>\n<h2>The Problem</h2>\n<p>Redux Thunk is easy to understand, but the problem arises when the application scales, and as the need for dispatching condition-based actions grows with the application, it leads to unmaintainable code. For example, consider the below code</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> <span class=\"token function-variable function\">makeSandwichesForEverybody</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">dispatch<span class=\"token punctuation\">,</span> getState</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">getState</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>sandwiches<span class=\"token punctuation\">.</span>isShopOpen<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> Promise<span class=\"token punctuation\">.</span><span class=\"token function\">resolve</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token keyword\">return</span> <span class=\"token function\">dispatch</span><span class=\"token punctuation\">(</span>\n    <span class=\"token function\">makeASandwichWithSecretSauce</span><span class=\"token punctuation\">(</span><span class=\"token string\">'My Grandma'</span><span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">then</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span>\n    Promise<span class=\"token punctuation\">.</span><span class=\"token function\">all</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">[</span>\n      <span class=\"token function\">dispatch</span><span class=\"token punctuation\">(</span><span class=\"token function\">makeASandwichWithSecretSauce</span><span class=\"token punctuation\">(</span><span class=\"token string\">'Me'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n      <span class=\"token function\">dispatch</span><span class=\"token punctuation\">(</span><span class=\"token function\">makeASandwichWithSecretSauce</span><span class=\"token punctuation\">(</span><span class=\"token string\">'My wife'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">then</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span>\n    <span class=\"token function\">dispatch</span><span class=\"token punctuation\">(</span><span class=\"token function\">makeASandwichWithSecretSauce</span><span class=\"token punctuation\">(</span><span class=\"token string\">'Our kids'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">then</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span>\n    <span class=\"token function\">dispatch</span><span class=\"token punctuation\">(</span><span class=\"token function\">getState</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>myMoney <span class=\"token operator\">></span> <span class=\"token number\">42</span> <span class=\"token operator\">?</span>\n      <span class=\"token function\">withdrawMoney</span><span class=\"token punctuation\">(</span><span class=\"token number\">42</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">:</span>\n      <span class=\"token function\">apologize</span><span class=\"token punctuation\">(</span><span class=\"token string\">'Me'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'The Sandwich Shop'</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>In the above code, there are too many callbacks and the code does not look clean. Also, it would become complex if more conditions are added to it later on. Then, how to simplify this?</p>\n<h2>ES6 Generators to the rescue</h2>\n<p>For our customer-facing websites like <a href=\"https://wirkaufendeinauto.de/auto-kaufen/\">wirkaufendeinauto</a> and <a href=\"https://www.autohero.com/de/\">AutoHero</a>, we are neither using Redux Thunk nor Redux Saga. Rather, we are using a very simple and lightweight npm module <a href=\"https://www.npmjs.com/package/redux-action-generators\">Redux Actions Generators</a> developed by our very own <a href=\"https://github.com/Tuch\">Alexander Afonin</a>, who works as a Senior Software Engineer at Auto1.\nIf this module is configured as a middleware in the React application, the above code can be simplified as shown below</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> <span class=\"token function-variable function\">makeSandwichesForEverybody</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token keyword\">function</span><span class=\"token operator\">*</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> getState <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token function\">getState</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>sandwiches<span class=\"token punctuation\">.</span>isShopOpen<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n\n  <span class=\"token keyword\">yield</span> <span class=\"token function\">makeASandwichWithSecretSauce</span><span class=\"token punctuation\">(</span><span class=\"token string\">'My Grandma'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">yield</span> <span class=\"token punctuation\">[</span><span class=\"token function\">makeASandwichWithSecretSauce</span><span class=\"token punctuation\">(</span><span class=\"token string\">'Me'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token function\">makeASandwichWithSecretSauce</span><span class=\"token punctuation\">(</span><span class=\"token string\">'My wife'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">yield</span> <span class=\"token function\">makeASandwichWithSecretSauce</span><span class=\"token punctuation\">(</span><span class=\"token string\">'Our kids'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">getState</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>myMoney <span class=\"token operator\">></span> <span class=\"token number\">42</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">yield</span> <span class=\"token function\">withdrawMoney</span><span class=\"token punctuation\">(</span><span class=\"token number\">42</span><span class=\"token punctuation\">)</span><span class=\"token operator\">:</span>\n  <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">yield</span> <span class=\"token function\">apologize</span><span class=\"token punctuation\">(</span><span class=\"token string\">'Me'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'The Sandwich Shop'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Now you are ready to tackle the growing complexity with ease. Also, the code is clean and readable.</p>\n<p>One question that might arise is that why not use async/await with thunk actions which could have solved the problem that is being discussed earlier. But, there are advantages of using generators instead of async/await thunks which are listed below - </p>\n<h3>Testability</h3>\n<p>Redux Thunk returns promises, which are more difficult to test. Testing thunks often require complex mocking of the fetch API, Axios requests, or other functions. With generators, you do not need to mock functions wrapped with effects. This makes tests clean, readable and easier to write.</p>\n<h3>Error Handling</h3>\n<p>The best part about the Redux Actions Generator module is that you can catch all errors at one place, without the need to write multiple try catch blocks in different actions ( you can if you want to, but not mandatory ) With redux-thunk, this is not possible and you have to write error handlers everywhere, which makes the code look less readable.\nTo use this common error catching functionality, you can configure it while creating the store as shown below -</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> <span class=\"token function-variable function\">catchError</span> <span class=\"token operator\">=</span> <span class=\"token parameter\">error</span> <span class=\"token operator\">=></span> console<span class=\"token punctuation\">.</span><span class=\"token function\">error</span><span class=\"token punctuation\">(</span>error<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> \n<span class=\"token keyword\">const</span> middlewares <span class=\"token operator\">=</span> <span class=\"token function\">applyMiddleware</span><span class=\"token punctuation\">(</span><span class=\"token function\">createGeneratorMiddleware</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">,</span> catchError<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Once you do this, your actions can become clean and more readable. For example, the below code...</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> <span class=\"token function-variable function\">someAction</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token keyword\">function</span><span class=\"token operator\">*</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> api <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">try</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">yield</span> api<span class=\"token punctuation\">.</span><span class=\"token function\">loadSomeItems</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span> <span class=\"token keyword\">catch</span> <span class=\"token punctuation\">(</span>error<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token comment\">// handle error logic</span>\n    console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>error<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>can be replaced with...</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> <span class=\"token function-variable function\">someAction</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token keyword\">function</span><span class=\"token operator\">*</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> api <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">yield</span> api<span class=\"token punctuation\">.</span><span class=\"token function\">loadSomeItems</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>In this way, all the uncaught errors will be caught with the <code class=\"language-text\">catchError</code> function.</p>\n<h2>Enough of Making Sandwiches</h2>\n<p>Let's get to some real life example on how we use this pattern in our code. Consider the <a href=\"https://wirkaufendeinauto.de/auto-kaufen/\">Auto Kaufen page</a> on our wirkaufendeinauto website where we show a list of ads, filters, header, footer and some other content.</p>\n<p>For this module, we have some actions like</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> <span class=\"token function-variable function\">loadAds</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">filters</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span>\n  <span class=\"token keyword\">function</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token comment\">// filter is an object with some information like {make: 'Audi', model: 'A3'}</span>\n    \n    <span class=\"token keyword\">const</span> <span class=\"token punctuation\">{</span> ads<span class=\"token operator\">:</span> result <span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> <span class=\"token keyword\">yield</span> api<span class=\"token punctuation\">.</span><span class=\"token function\">findAds</span><span class=\"token punctuation\">(</span>filters<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token comment\">// Once we get the ads list, we just save it in the redux store</span>\n  <span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token function-variable function\">loadSimilarAds</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">filters</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span>\n  <span class=\"token keyword\">function</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n      <span class=\"token comment\">//  this is same as loadAds, but the API endpoint from which it fetches data is different</span>\n  <span class=\"token punctuation\">}</span></code></pre></div>\n<p>Similarly, we have other actions like <code class=\"language-text\">loadDataFromCms</code>, <code class=\"language-text\">trackGtmEvents</code> etc. Now the action which will be called when the main component mounts, will be as shown below</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">export</span> <span class=\"token keyword\">const</span> <span class=\"token function-variable function\">loadPage</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> \n  <span class=\"token keyword\">function</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> getState <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">yield</span> <span class=\"token function\">loadDataFromCms</span><span class=\"token punctuation\">(</span><span class=\"token string\">'header'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n      <span class=\"token keyword\">const</span> filters <span class=\"token operator\">=</span> <span class=\"token keyword\">yield</span> <span class=\"token function\">getFiltersFromStore</span><span class=\"token punctuation\">(</span><span class=\"token function\">getState</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">yield</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token function\">loadAds</span><span class=\"token punctuation\">(</span>filters<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n        <span class=\"token function\">loadMakeModelSubtype</span><span class=\"token punctuation\">(</span>filters<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n        <span class=\"token function\">loadDataFromCms</span><span class=\"token punctuation\">(</span><span class=\"token string\">'home'</span><span class=\"token punctuation\">)</span>\n      <span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n\n      <span class=\"token comment\">// If no ads found, we try to find similar ads which might interest the user</span>\n      <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span> <span class=\"token function\">getState</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>ads<span class=\"token punctuation\">.</span>length <span class=\"token operator\">===</span> <span class=\"token number\">0</span> <span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token keyword\">yield</span> <span class=\"token function\">loadSimilarAds</span><span class=\"token punctuation\">(</span>filters<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span></code></pre></div>\n<p>As you can see, in the above code we are making multiple API calls, some are in parallel, and some are fired conditionally based on the results of the previous API calls. This way our redux actions look clean and are easy to debug and maintain.</p>\n<h2>Summary</h2>\n<p>So this is how you can make use of the ES6 generators to simplify your React application code. Comments and suggestions are welcome.</p>","fields":{"slug":"/es6-generators-react-redux/","tags":["auto1","engineering","react","redux"]}}},{"node":{"id":"cd170267-3e38-5f47-8461-d6f6583c5bed","frontmatter":{"category":"Coding","title":"Our love story with Deadlocks (PostgreSQL Edition)","date":"2019-03-15","summary":"How to get rid of deadlocks","thumbnail":{"relativePath":"pages/event-store-deadlock/thumbnail.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAYAAABG1c6oAAAACXBIWXMAAAsSAAALEgHS3X78AAAFFklEQVQ4y5WUeUzTZxjHi+AWnTuYc1mAKaiAIgoI4tR5henqgSBEoOOmCINxKAIiRPFCpK304CyUUikUtIisHC0UhHoy8ZoaY2Lcodv8w3+WxcyMtu937/ubOLNliXuSN2/yvu/zeb/P8b483t8WvjlkjTopTmCMiQzrXBm4uIyu8T94d0ZGdERYf3Ji/JWIUL4hThB1QZiW8dvuvD0kJzv7aSh/Qy89F8p71QKW+Krr1VrUdF3A4RYzxB0jqNYPQ9Oqg+a0AeJTFhxoNqNCN4zx+49x+f4TCKU9yKruQ233JVTVNcBz7hwlB5s21SFd096FhMo+69xY0YR3gsTmFlVuDS9tmzDd+IGs3aO2zYsVWb3ixXbPeIltUXKlLb+uh6h6x8iCBDFxF1RYhXKjtUVvwEezZpbxYmN2XKnoOI/Z0cdsyzOqEJxRRXyTT6DZOE6iDmqJd7yILM+sQlC6nCz7UkEC0+RwjylHUUM/aeq/ShanVOLjqDL7oVYLkhLifuRlZ2f/mlXdD+YYlK7gDmzIb4SyZwzugnJQZfClawwUsFPGzUvp+HD7YdR0X4ZQpCdUDMlXGiEUpjzh5eTkPs/kgBUkiCpYmCjBF0d1OHP+Dg5qzJxTaHEzfJMrqUoF/IRSrN1VD/mZixi99RBKwxiZtf2wvVw3gpgdEdd5aanC7/aqBuAZJ7KzkGhekCruxND1B8iQnsUIdWofvgX/VBnohVSxCKKOUbQN3YS08wIkp0bJbIHI2thtQbD/okZe2OaN3dLTFtCEW4MzFPBmQEknDp00w21HGVbn1EHVdxUbC1TwS5WyiznVm4vUEIr1pETVTz7JVdlqmlpAayzgec1xKVGeNiIwo9YamCb7SyEFitpHOThTxPK5rUQDll9vmtNd1QbsVw8g8fgpUqTss2dW9WFXTtZTCpzFOmedRF6DrQfaaUFOEAohu2t6UKwygcFZqE3945xCBmSFYd3QbLpGMqVdEOkvWRXtJvj7eKom+/qt3OysR4UqM1Nj90mSEJZDRddFzNxWiq371FAbx7GEFoNVlxWGqf5K3g3T1fvEdPMR8gqLnlOO+8uXsio4oLHhrAU+KTIrKwztQ9I+cgdFzaM43m5Bfl0vPATHQfc4aGC6nKoXEcvdx7bbt29j2htOJorZREfQJHN9pbwa0cfO2OZEHSHLMmuJXPs1KS0uxIOH3xPd8C0SkqdkKrnG9t8pY00O7fC3RNs9aC8+Ino2ZLmIrVu2WHkAHDji6pXmjqFrWLe37Q/d0A20tWhsRaVHJ3bX9k60nrtrL240sgpTUBVYrwqO6IiFttQh7Qj6xx+i6WQrPOfPa2KsKS9UekVGRv6k1XcjYnv47/UNKlju/QJJSw8GBs3IrTawgnFhe9Nw02UGyGWyZ1s+/+zKquVBndQ/5tUPZxLqSkciHd5sDvBdoJk5480TwpSkewUNA1zRgmmOPePFthK1GSlJiZfpOYdJCI2Wx/Px8fkn9F+2v6S4a59qEF4JYittGcJ+nQrdOURHhvW+AE1539nZ8aWDq6srN0+fPt3Bzc3N0cnJycHFxcWxp880la0X5OW0HmgepK9JbF1Bf5758ZKJ+i4LVgQuVrB9Pp/vyHsdCwsPd+LmTSF7taZvsCBFYaXtQ2LFPVBqdOyp8dm+h4fH6wGdnZ0n8zM7v6Dw55PGMSj0o7bGlg6sX/Np/YtwHXj/x9575+3J21P9Fi1E8FI/pkzxX+f/BBhq9luuZDT4AAAAAElFTkSuQmCC","width":315,"height":325,"src":"/static/fff962ac6bfdb5c2156f04c8855b288b/b3029/thumbnail.png","srcSet":"/static/fff962ac6bfdb5c2156f04c8855b288b/b3029/thumbnail.png 1x,\n/static/fff962ac6bfdb5c2156f04c8855b288b/8d141/thumbnail.png 1.5x"}}},"authorName":"Core Services Team","authorDescription":"Core Services team is responsible for infrastructure and platform development at AUTO1","authorAvatar":null,"headerImage":{"relativePath":"pages/event-store-deadlock/header.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsSAAALEgHS3X78AAABoUlEQVQoz2MIjM+pDy/sfhxb3HkyNL/zXlbD9O+h2Y0XPD3c1RmAwM07gElKSooBhiUlxBlklDQYsAGDhIkMDP45Xf+t8hb9L5y66792/NT/wbUr/hTOOPDfN76whIEAMIjv5zRMmsJkmDiJH8QH0gwMftmdD21zZv8vmrT5l0v+7L/pXev/5XSv+hMUneLFzMCgr6ikrCApKckGdJ0QEAtKyynx8jEwcOiG1csZJk62B7rKDojVgIa5gm2JKWyf5V29+n9G19r/zkADg2pX/p+2bNtNDSVZM1ExcRNpaWkzoEFuQBwKxL5SUtJBEqLCrspmni7G6XMcDeInhAMNlDJMnJhpkDhRlCE6Jcc4pWrio/krNr4Pqlzw1zZz2r8J0+dddffwdAJZaGJqxg51HTcQqwANlBfhYmBTNvcWNEqdJQX0tiDQQFXDhEnyQFfKwoKDvTLJ28A9u/+jR/6M7xmemtIgwczMLCYGUkFxTSsjjB2bXbk3pahhE4i98/oXsLiysgoDcixLScswiAtwMQBdyGCUOpMR6EJQZDACXQnGAOs+imBvfQhTAAAAAElFTkSuQmCC","width":500,"height":168,"src":"/static/2d78359581a2f1861a243566e527e27a/7d852/header.png","srcSet":"/static/2d78359581a2f1861a243566e527e27a/7d852/header.png 1x"}}}},"html":"<h2>TL;DR</h2>\n<p>Always try to keep your transactions short and write your queries to deal with records in a deterministic order with respect to other transactions.</p>\n<h2>Full Story</h2>\n<p>Almost every non-trivial system needs some kind of task (job, event, whatever you call it) scheduling functionality at some point. Having more than 250 micro-services, ours was no exception.\nAt some point, it made sense to us to provide such functionality as a service for our developers. With <code class=\"language-text\">event-store</code> service, one simply can schedule a job to be executed at a specific time in future. There are already several ready to use tools for this specific purpose (e.g. BigBen, Quartz), however, because of several reasons (which are beyond the scope of this post) we decided to implement our own from scratch.</p>\n<p>Considering the subject of the post which is <code class=\"language-text\">Deadlocks</code>, we need a brief introduction on <code class=\"language-text\">event-store</code>'s implementation.</p>\n<p>An event on the server side is simply a record in the database. A simplified view of <code class=\"language-text\">events</code> table is as follow:</p>\n<table>\n<thead>\n<tr>\n<th>id</th>\n<th>event_type</th>\n<th>due_time</th>\n<th>start_process_time</th>\n<th>end_process_time</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>'5c55ea79-4774-49ae-96e2-975af7a41ce6'</td>\n<td>'user-cache-flush'</td>\n<td>'2019-01-01 00:00:00'</td>\n<td>null</td>\n<td>null</td>\n</tr>\n</tbody>\n</table>\n<p>The following is a bird's-eye view of what happens on the service:</p>\n<p><strong>Thread #1</strong><br>\na. The service periodically fetches a bunch of unprocessed events (those that are due and have no process time, neither start nor end) from the database (and marks them as <em>progressing</em> by filling the <code class=\"language-text\">start_process_time</code> column with the current timestamp). Let's call this <em>fetch-unprocessed</em> query.</p>\n<p>b. The service processes the events and marks them as <em>processed</em> (by filling the <code class=\"language-text\">end_process_time</code> column with the current timestamp). Let's call this <em>save-processed</em> query.</p>\n<p><strong>Thread #2</strong><br>\na. The service periodically checks the table and looks for stale events (those that are due and have <code class=\"language-text\">start_process_time</code> but no <code class=\"language-text\">end_process_time</code>). Let's call this <em>fetch-stale</em> query.</p>\n<p>b. The service marks them back as <em>unprocessed</em> (by setting <code class=\"language-text\">start_process_time</code> to <code class=\"language-text\">null</code>). Let's call this <em>release-stale</em> query.</p>\n<p>The very first MVP was a simple read-modify-write (anti-)pattern (with the help of Spring, JPA, and Hibernate). It is not hard to guess to what issue this implementation is vulnerable: Deadlocks.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">ERROR: deadlock detected\nDetail: Process 5234 waits for ShareLock on transaction 3465; blocked by process 467845.\n        Process 467845 waits for ShareLock on transaction 96575; blocked by process 5234.\nHint: See server log for query details.\nWhere: while updating tuple (14954,4) in relation \"events\"</code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">ERROR: deadlock detected\nDetail: Process 10438 waits for ExclusiveLock on tuple (14954,4) of relation 19118 of database 19113; blocked by process 31501.\n        Process 31501 waits for ShareLock on transaction 763124271; blocked by process 28450.\n        Process 28450 waits for ShareLock on transaction 763124277; blocked by process 28873.\n        Process 28873 waits for ExclusiveLock on tuple (14954,4) of relation 19118 of database 19113; blocked by process 10438.\nHint: See server log for query details.\nWhere: while locking tuple (6984,19) in relation \"events\"</code></pre></div>\n<p>In the beginning it was not a big deal, because deadlock errors were not frequent and we could live with it. However, very soon, after getting more clients, the deadlock issue (among other problems, e.g. lost-updates) started hurting the quality of the service (e.g. firing events twice).</p>\n<p>For the first attempt, we refactored the code to get rid of read-modify-write antipattern:</p>\n<div class=\"gatsby-highlight\" data-language=\"sql\"><pre class=\"language-sql\"><code class=\"language-sql\"><span class=\"token comment\">-- fetch-unprocessed query</span>\n<span class=\"token keyword\">UPDATE</span> events event_to_update\n<span class=\"token keyword\">SET</span> start_process_time <span class=\"token operator\">=</span> <span class=\"token function\">now</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">FROM</span> <span class=\"token punctuation\">(</span>\n    <span class=\"token keyword\">SELECT</span> id\n    <span class=\"token keyword\">FROM</span> events      \n    <span class=\"token keyword\">WHERE</span> end_process_time <span class=\"token operator\">is</span> <span class=\"token boolean\">NULL</span>\n            <span class=\"token operator\">AND</span> start_process_time <span class=\"token operator\">IS</span> <span class=\"token boolean\">NULL</span>\n            <span class=\"token operator\">AND</span> <span class=\"token punctuation\">(</span>due_time <span class=\"token operator\">BETWEEN</span> ? <span class=\"token operator\">AND</span> ?<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">)</span> matched_event_for_update\n<span class=\"token keyword\">WHERE</span> event_to_update<span class=\"token punctuation\">.</span>id <span class=\"token operator\">=</span> matched_event_for_update<span class=\"token punctuation\">.</span>id\n<span class=\"token keyword\">RETURNING</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">-- release-stale query (including fetch-stale query)</span>\n<span class=\"token keyword\">UPDATE</span> events event_to_release\n<span class=\"token keyword\">SET</span> start_process_time <span class=\"token operator\">=</span> <span class=\"token boolean\">NULL</span>\n<span class=\"token keyword\">FROM</span> <span class=\"token punctuation\">(</span>\n    <span class=\"token keyword\">SELECT</span> id\n    <span class=\"token keyword\">FROM</span> events\n    <span class=\"token keyword\">WHERE</span> end_process_time <span class=\"token operator\">IS</span> <span class=\"token boolean\">NULL</span> <span class=\"token operator\">AND</span> start_process_time <span class=\"token operator\">&lt;</span> ?\n<span class=\"token punctuation\">)</span> stuck_event\n<span class=\"token keyword\">WHERE</span> event_to_release<span class=\"token punctuation\">.</span>id <span class=\"token operator\">=</span> stuck_event<span class=\"token punctuation\">.</span>id\n<span class=\"token keyword\">RETURNING</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Obviously this is an improvement, though reduced the number of deadlocks, it didn't solve the issue completely.\nThe quickest solution to eliminate deadlocks was to change the isolation level to <code class=\"language-text\">Serializable</code>. However this is the last solution we wanted since it would hurt the performance and the quality of the service (think what would happen if one service start a transaction, fetch the events to process, but for some reason become stale).</p>\n<p>The better way to deal with deadlock is to analyze transactions and queries to prevent transaction interference by:</p>\n<ol>\n<li>making transactions short in terms of time</li>\n<li>writing queries to deal with records in a deterministic order</li>\n</ol>\n<p>By the first refactoring, we made transactions a bit shorter. But there's still some room for improvement. To apply the second best practice from the above we refactored the queries as follow (essentially ordering and acquiring a lock):</p>\n<div class=\"gatsby-highlight\" data-language=\"sql\"><pre class=\"language-sql\"><code class=\"language-sql\"><span class=\"token comment\">-- fetch-unprocessed query</span>\n<span class=\"token keyword\">UPDATE</span> events event_to_update\n<span class=\"token keyword\">SET</span> start_process_time <span class=\"token operator\">=</span> <span class=\"token function\">now</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">FROM</span> <span class=\"token punctuation\">(</span>\n    <span class=\"token keyword\">SELECT</span> id\n    <span class=\"token keyword\">FROM</span> events      \n    <span class=\"token keyword\">WHERE</span> <span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span> <span class=\"token comment\">-- as before</span>\n    <span class=\"token keyword\">ORDER</span> <span class=\"token keyword\">BY</span> ID\n    <span class=\"token keyword\">FOR</span> <span class=\"token keyword\">NO</span> <span class=\"token keyword\">KEY</span> <span class=\"token keyword\">UPDATE</span>\n<span class=\"token punctuation\">)</span> matched_event_for_update\n<span class=\"token keyword\">WHERE</span> <span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span> <span class=\"token comment\">-- as before</span>\n<span class=\"token keyword\">RETURNING</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">-- release-stale query (including fetch-stale query)</span>\n<span class=\"token keyword\">UPDATE</span> events event_to_release\n<span class=\"token keyword\">SET</span> start_process_time <span class=\"token operator\">=</span> <span class=\"token boolean\">NULL</span>\n<span class=\"token keyword\">FROM</span> <span class=\"token punctuation\">(</span>\n    <span class=\"token keyword\">SELECT</span> id\n    <span class=\"token keyword\">FROM</span> events\n    <span class=\"token keyword\">WHERE</span> <span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span> <span class=\"token comment\">-- as before</span>\n    <span class=\"token keyword\">ORDER</span> <span class=\"token keyword\">BY</span> ID\n    <span class=\"token keyword\">FOR</span> <span class=\"token keyword\">NO</span> <span class=\"token keyword\">KEY</span> <span class=\"token keyword\">UPDATE</span>\n<span class=\"token punctuation\">)</span> stuck_event\n<span class=\"token keyword\">WHERE</span> <span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span><span class=\"token punctuation\">.</span> <span class=\"token comment\">-- as before</span>\n<span class=\"token keyword\">RETURNING</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>However, the deadlocks were still appearing intermittently:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">ERROR: deadlock detected\nDetail: Process 7534 waits for ShareLock on transaction 93897000; blocked by process 13376.\n        Process 13376 waits for ShareLock on transaction 93896994; blocked by process 7534.\nHint: See server log for query details.\nWhere: while rechecking updated tuple (134131,3) in relation \"events\"</code></pre></div>\n<p>Of course! we still had one transaction/query dealing with records in a non deterministic way: <code class=\"language-text\">JpaRepository.save(Iterable&lt;S> entities)</code>. In the code, after fetching events to be processed, we flag (<code class=\"language-text\">UPDATE</code>) the process events as <code class=\"language-text\">processed</code>, and also save (<code class=\"language-text\">INSERT</code>) new events spawned by the processed events. Here's the catch: the event processing is done in <em>parallel</em>. So the resulting list of events (both processed and newly created ones) is not ordered with respect to other transactions. So the third refactoring was to restore the order of processed events:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token comment\">/**\n * To process events.\n * The result list will be ordered with respect to the given list.\n * All new events will be added at the end of the result list.\n * @param events events to be processed\n * @return list of processed and created events\n */</span>\n<span class=\"token keyword\">private</span> <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Event</span><span class=\"token punctuation\">></span></span> <span class=\"token function\">doProcessEvents</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Event</span><span class=\"token punctuation\">></span></span> events<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token class-name\">ProcessingResult</span> result <span class=\"token operator\">=</span> eventProcessor<span class=\"token punctuation\">.</span><span class=\"token function\">processInParallel</span><span class=\"token punctuation\">(</span>events<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Event</span><span class=\"token punctuation\">></span></span> successfulEvents <span class=\"token operator\">=</span> result<span class=\"token punctuation\">.</span><span class=\"token function\">getSucceeded</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// may contain new events;</span>\n    <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Event</span><span class=\"token punctuation\">></span></span> failedEvents <span class=\"token operator\">=</span> result<span class=\"token punctuation\">.</span><span class=\"token function\">getFailed</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token class-name\">List</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">Event</span><span class=\"token punctuation\">></span></span> allEvents <span class=\"token operator\">=</span> <span class=\"token class-name\">ListUtils</span><span class=\"token punctuation\">.</span><span class=\"token function\">union</span><span class=\"token punctuation\">(</span>successfulEvents<span class=\"token punctuation\">,</span> failedEvents<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token class-name\">Map</span><span class=\"token generics\"><span class=\"token punctuation\">&lt;</span>UUID<span class=\"token punctuation\">,</span> <span class=\"token class-name\">Integer</span><span class=\"token punctuation\">></span></span> eventIndices <span class=\"token operator\">=</span> <span class=\"token function\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> events<span class=\"token punctuation\">.</span><span class=\"token function\">size</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">boxed</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n            <span class=\"token punctuation\">.</span><span class=\"token function\">collect</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">CollectorUtils</span><span class=\"token punctuation\">.</span><span class=\"token function\">toMap</span><span class=\"token punctuation\">(</span>i <span class=\"token operator\">-></span> events<span class=\"token punctuation\">.</span><span class=\"token function\">get</span><span class=\"token punctuation\">(</span>i<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">getId</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> i <span class=\"token operator\">-></span> i<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token comment\">// This should sort according to the original order and put all new events at the end.</span>\n    allEvents<span class=\"token punctuation\">.</span><span class=\"token function\">sort</span><span class=\"token punctuation\">(</span><span class=\"token function\">comparingInt</span><span class=\"token punctuation\">(</span>event <span class=\"token operator\">-></span> eventIndices<span class=\"token punctuation\">.</span><span class=\"token function\">getOrDefault</span><span class=\"token punctuation\">(</span>event<span class=\"token punctuation\">.</span><span class=\"token function\">getId</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token class-name\">Integer</span><span class=\"token punctuation\">.</span>MAX_VALUE<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">return</span> allEvents<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>After this last change, we saw the game for deadlocks was over: <em>\"Goodbye Deadlock!\"</em></p>","fields":{"slug":"/event-store-deadlock/","tags":["deadlock","sql","transaction","postgresql"]}}},{"node":{"id":"7efdac28-b97f-53e0-adf8-48d022f3eecc","frontmatter":{"category":"Coding","title":"Integration Test Speedup with Spring","date":"2019-03-11","summary":"Here is what we found on speeding up your integration tests in spring based applications.","thumbnail":null,"authorName":"Boris Faniuk","authorDescription":"Boris is a former member of Engineering of AUTO1 Group.","authorAvatar":{"relativePath":"pages/integration-test-speedup/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/integration-test-speedup/header.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABQABAv/EABYBAQEBAAAAAAAAAAAAAAAAAAIAAf/aAAwDAQACEAMQAAABJ6Uw4FJSv//EABsQAAICAwEAAAAAAAAAAAAAAAECAAMEFCEx/9oACAEBAAEFAl9tuawzH6WUPNYT/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQIBAT8BJ//EABsQAAEEAwAAAAAAAAAAAAAAAAABEBIhIjFR/9oACAEBAAY/AjJo9SizZ//EABwQAQEAAgIDAAAAAAAAAAAAAAERAHEQMUFR0f/aAAgBAQABPyFMdusqfAgeuBQwbbGHwF1jT4z/2gAMAwEAAgADAAAAELsf/8QAFhEBAQEAAAAAAAAAAAAAAAAAARBB/9oACAEDAQE/EA2f/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAERIf/aAAgBAgEBPxDSpD//xAAbEAEBAQADAQEAAAAAAAAAAAABEQAhMXFBYf/aAAgBAQABPxAMiBZ241OQL4wZbyughIofpPEuZhdFS61EeZ//2Q==","width":1024,"height":768,"src":"/static/9f60dcc74069c89c91db86dc33946167/9f594/header.jpg","srcSet":"/static/9f60dcc74069c89c91db86dc33946167/9f594/header.jpg 1x"}}}},"html":"<h2>Problem statement</h2>\n<p>Over time we realized that our microservices built on top of Spring framework take tons of time on the integration test step. Every single PR runs all tests and this takes 10-20 minutes for some services. To decrease PR build time we decided to research why this happens.\nOne of the problems that this research highlighted is ramping up heavy spring context several times during execution of all module’s tests.</p>\n<p>As a proof of concept we have taken 3 modules and cleaned up their tests to achieve better integration test performance.</p>\n<p>The results are pretty much self-explanatory: </p>\n<ol>\n<li>Module A now takes 3 minutes to test versus 11 before</li>\n<li>Module B now takes 3 minutes to test versus 8 before</li>\n<li>Module C now takes 4 minutes to test versus 12 before</li>\n</ol>\n<p>Below I list all factors that produce many spring contexts and how we managed to overcome them.</p>\n<h2>Spring features to be avoided</h2>\n<h3><code class=\"language-text\">@ActiveProfiles</code> and <code class=\"language-text\">@ContextConfiguration</code> with different attributes</h3>\n<p>Our spring-based microservices actively use spring profiles and configuration classes.\nMany components from common libraries are hidden under profiles and configuration classes to not be active for every single module / environment without need. So, integration test authors define profiles and configuration classes that should be activated for their tests using these annotations:</p>\n<ol>\n<li><code class=\"language-text\">@ActiveProfiles({\"integration-test\", \"pg-test\", \"mongo-test-two-nodes\"})</code></li>\n<li><code class=\"language-text\">@ContextConfiguration(classes = {Application.class, AwsTestConfiguration.class})</code></li>\n</ol>\n<p>Here <em>mongo-test-two-nodes</em> activates special mode for mongo based services to operate with two separate mongo instances. As not all tests need this, the profile is turned off by default and only those tests that need this behaviour would explicitly turn it on. But this, unfortunately, leads to multiple spring contexts being created.</p>\n<p>The same happens with <em>AwsTestConfiguration</em> that deploys special test-component to mock AWS calls.</p>\n<p>The solution was to make all tests use the same set of active profiles and context configuration classes for every single integration test.\nThe drawback is that some components are deployed, even for the tests that do not need it. But deploying single component takes O(1) time comparing with the whole spring context.</p>\n<p>Another point to keep in mind is that order of profiles (configuration classes) matters.\n<code class=\"language-text\">@ActiveProfiles({\"integration-test\", \"pg-test\"})</code>\n<code class=\"language-text\">@ActiveProfiles({\"pg-test\", \"integration-test\"})</code></p>\n<p>Two settings mentioned above result in 2 different spring contexts.</p>\n<h3><code class=\"language-text\">@SpyBean</code> and <code class=\"language-text\">@MockBean</code></h3>\n<p>One interesting feature in spring-boot-test is mocking / spying real spring beans.\nThis was mostly used when we don’t care what some method does in test but we need to check that it was called by parent components.\nUnfortunately this also makes test to create separate spring context.\nWhat we’ve done here is replacing <code class=\"language-text\">@SpyBean</code> annotation with configuration class that wraps real spring bean into <code class=\"language-text\">Mockito.spy(..)</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">@Configuration\npublic class SomeComponentSpyFactory {\n\t@Autowired\n\tprivate SomeComponent someComponent;\n\n\t@Bean\n\t@Primary\n\tpublic SomeComponent someComponentSpy() {\n    \t\treturn Mockito.spy(someComponent);\n\t}\n}</code></pre></div>\n<p>Another option is to use the combination of <code class=\"language-text\">@Autowired</code> and <code class=\"language-text\">@Spy</code> annotations.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">\t@InjectMocks\n\t@Autowired\n\tprivate ParentComponent parentComponent;\n\n\t@Spy\n\t@Autowired\n\tprivate ChildComponent childComponent;</code></pre></div>\n<p>However, the drawback of the last solution is that, <em>parentComponent</em> needs to have a setter for <em>childComponent</em> which is not good in terms of encapsulation. But if you don’t use autowiring on constructor level it is fine. Anyway, one can choose whatever fits the situation better.</p>\n<h3><code class=\"language-text\">@DirtiesContext</code></h3>\n<p>One of the services used this annotation to clear the caches between different tests.\nClearing a cache is really a problem (see section below), but this solution comes to separate spring context per test class or even test method (depending on annotation parameters). Context per method was actually the case for a few test classes. Instead in this modules we added methods to clear the caches programmatically without deploying the whole new context.\nOne can use java reflection API instead of adding special production-level methods, again whatever fits you better.</p>\n<h2>Challenge: test execution order and cleaning collections (caches)</h2>\n<p>After all this “multiple context” factors are gone one may face (and we did) a challenge to fix or re-organize some tests. Before above enhancements were done all tests were running in separate spring contexts, therefore used separate instances of every component and therefore those problems could be hidden.</p>\n<p>As an example some tests in mongo-based service were testing <code class=\"language-text\">getAll()</code>-like operations. Those tests were running functions that fetched all records from some collections. This was not a problem as embedded mongo DB was different instance. After all tests started to exploit the same spring context some of them started to fail intermittently. The failures were intermittent because test execution order is different. One service may break another, but not vice versa.\nSo, to overcome this, we added missing <code class=\"language-text\">@Before</code> operations that cleaned those collections.</p>\n<p>The rule that I would suggest here is that every test should clean up whatever it needs to be clean and not rely on fairness of other tests. That was a problem in our case. Some tests had <code class=\"language-text\">@After</code> operations that cleaned up, but not everything produced by the test was cleaned up. This caused intermittent failures of other tests.</p>\n<h2>Tools we created to reduce test execution time</h2>\n<p>So, now after we know all this, we created two tools (and may create more in future) that help to identify those problems.</p>\n<h3>Jenkins PR pipeline step</h3>\n<p>After every PR commit we run one additional step that analyzes test execution log.\nIf more than one spring context is created this leaves some traces and a notification is sent to the author of the commit via slack</p>\n<p>As an enhancement, the jenkins jobs could be modified to fail the build if the number of spring contexts is greater than a certain threshold. The threshold could start with a high number and can gradually be reduced as the team cleans up the existing tests by adopting the aforementioned practices/fixes</p>\n<h3>IntelliJ IDEA plugin</h3>\n<p>We wrote an IntelliJ plugin to identify and solve the aforementioned problems. There will be a separate blog post about this plugin coming very soon.</p>","fields":{"slug":"/integration-test-speedup/","tags":["auto1","engineering","spring","java","testing"]}}},{"node":{"id":"9a52ccf5-b009-5f49-82e1-71ee7c4578bf","frontmatter":{"category":"Social","title":"Beerxcalibur!","date":"2019-03-06","summary":"Only the one who removes the beer frometh the fridge can be considered the true king/queen","thumbnail":null,"authorName":"Paul Hofmann","authorDescription":"Paul is Director of Engineering at AUTO1 Group.","authorAvatar":{"relativePath":"pages/beerxalibur/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/beerxalibur/screenshot.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAyUlEQVQY05WPTQrCMBCFczF/LieuBfduPYFu9QYiihstSohN89/YpE1qWwcFceFCv8Xj8WaYx6AKcIV3PEwnTa+vF0tqDbtsux9Asa7rGHl2pbstX63JZpMkJ5GRGGMIARTmTdO030C5tVarwiTVfNYNhuV4hFNCSIoxppQyxrTW3vv3rfDkZVAJVEHwoxKpVfKW58774oPbB1D0Ns45BC/70mN6wOc9Y1hIBVVCCPWEcy6lBIUEzEuNMZDAGuraFl6PRXavy+5PHjlTUmU/jZMrAAAAAElFTkSuQmCC","width":1176,"height":340,"src":"/static/643e083e835a0debad37737d0d1a433a/10ee7/screenshot.png","srcSet":"/static/643e083e835a0debad37737d0d1a433a/10ee7/screenshot.png 1x"}}}},"html":"<p>Each Friday at 17:00, a slackbot called Darth Vader appears in our #random chat, shares some statistics about our week in AUTO1 TECH and officially declares beer’o’clock. While the fridge is more or less filled and usable throughout the week, it is being refilled to the brim on Friday mornings by our beer enthusiast volunteers.</p>\n<p>Some weeks ago, something terrible was discovered during breakfast, with only seven hours to go until Feierabend.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/663c1f5431d117277bfe26319ebee014/99c36/beer-angle.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 133.33333333333331%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAbABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAQFAv/EABcBAAMBAAAAAAAAAAAAAAAAAAABAgP/2gAMAwEAAhADEAAAAU3JtUVE0Z3CpKtsyTiX/8QAHxAAAgIBBAMAAAAAAAAAAAAAAQIAAwQREyQxMjM0/9oACAEBAAEFAgzBKS5mkYAPjeMuXk09XXbb3/XVMn3/AP/EABYRAQEBAAAAAAAAAAAAAAAAABABEf/aAAgBAwEBPwGGH//EABYRAQEBAAAAAAAAAAAAAAAAABABEf/aAAgBAgEBPwGmn//EAB4QAAIDAAEFAAAAAAAAAAAAAAARAQIhEBNRYXGB/9oACAEBAAY/An1FpGxMcWbySnZ8XxldYvBPo+Fj/8QAHRABAAMAAgMBAAAAAAAAAAAAAQARMSGBQVFxkf/aAAgBAQABPyFyHTGwy7bWQ4w42CiFsxpDqZKffWHjufADzKysfpMNUEc7J//aAAwDAQACAAMAAAAQ1D9z/8QAGBEAAwEBAAAAAAAAAAAAAAAAARARITH/2gAIAQMBAT8QA3qGav/EABkRAAMAAwAAAAAAAAAAAAAAAAABERAhMf/aAAgBAgEBPxBlOYe8If/EAB4QAQACAgMAAwAAAAAAAAAAAAERIQBBMVFxkaHR/9oACAEBAAE/EEe6A/1hyY9aETzhAx2lCHbD3rFRDYUAi3fOMwjd4BrLzhNz2L43gGBBc4uw1x5hkyov3lUKZPxgRgEqPc7dCB5Bn//Z'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"beerinfridgeangle\"\n        title=\"Close up shot of the problem\"\n        src=\"/static/663c1f5431d117277bfe26319ebee014/f8fb9/beer-angle.jpg\"\n        srcset=\"/static/663c1f5431d117277bfe26319ebee014/e8976/beer-angle.jpg 148w,\n/static/663c1f5431d117277bfe26319ebee014/63df2/beer-angle.jpg 295w,\n/static/663c1f5431d117277bfe26319ebee014/f8fb9/beer-angle.jpg 590w,\n/static/663c1f5431d117277bfe26319ebee014/85e3d/beer-angle.jpg 885w,\n/static/663c1f5431d117277bfe26319ebee014/d1924/beer-angle.jpg 1180w,\n/static/663c1f5431d117277bfe26319ebee014/9452e/beer-angle.jpg 1770w,\n/static/663c1f5431d117277bfe26319ebee014/99c36/beer-angle.jpg 3024w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/71a3ef6eaae957ff4056482c14240451/99c36/beer-frontal.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 133.33333333333331%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAbABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAQFAwL/xAAXAQADAQAAAAAAAAAAAAAAAAABAgMA/9oADAMBAAIQAxAAAAHaayqNVNhSqjcUlXomjr//xAAdEAACAgIDAQAAAAAAAAAAAAABAwIRADMEEiEi/9oACAEBAAEFAnnpEEyxHq2ajE1xhSWR+JVRdFQoFIhEY/Z//8QAFxEBAQEBAAAAAAAAAAAAAAAAAAEREv/aAAgBAwEBPwGo51j/xAAZEQADAAMAAAAAAAAAAAAAAAAAARECEjH/2gAIAQIBAT8BTGLPXpaf/8QAHhAAAgICAgMAAAAAAAAAAAAAAAECESFBEBIxYYH/2gAIAQEABj8ClSWrwaQvBP4dhDKTIx9DtGIrj//EAB4QAQADAAICAwAAAAAAAAAAAAEAESExQVFhcYGh/9oACAEBAAE/IRoDB0bcMoCvwwLvwwrwacfTKVXgwPdjq5SV8aR826N5jJ8GJQG5rg+pt30E/9oADAMBAAIAAwAAABAr8UL/xAAYEQEBAQEBAAAAAAAAAAAAAAABABEhMf/aAAgBAwEBPxAN4ktyccv/xAAYEQEBAAMAAAAAAAAAAAAAAAABABEhMf/aAAgBAgEBPxAJYZQdQNr/xAAfEAEBAAEEAgMAAAAAAAAAAAABEQAhQVHBMWFxkdH/2gAIAQEAAT8QTxEUlaDATg3yvgpmpB5eMQkm2psOvDVxgtIASaPeGXmPQlnz7wCTc9dY1kkgsFq/WF8DJStJWX1gsl7n5h+lRp5wkXm4bnLYC7Ez/9k='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"beerinfridge\"\n        title=\"Overall view\"\n        src=\"/static/71a3ef6eaae957ff4056482c14240451/f8fb9/beer-frontal.jpg\"\n        srcset=\"/static/71a3ef6eaae957ff4056482c14240451/e8976/beer-frontal.jpg 148w,\n/static/71a3ef6eaae957ff4056482c14240451/63df2/beer-frontal.jpg 295w,\n/static/71a3ef6eaae957ff4056482c14240451/f8fb9/beer-frontal.jpg 590w,\n/static/71a3ef6eaae957ff4056482c14240451/85e3d/beer-frontal.jpg 885w,\n/static/71a3ef6eaae957ff4056482c14240451/d1924/beer-frontal.jpg 1180w,\n/static/71a3ef6eaae957ff4056482c14240451/9452e/beer-frontal.jpg 1770w,\n/static/71a3ef6eaae957ff4056482c14240451/99c36/beer-frontal.jpg 3024w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>The bug was discovered by Senior Management during a coffee deployment. They immediately called for a blocking bugfix and the first responders were struck by the impeccability of this text-book critical situation. </p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/643e083e835a0debad37737d0d1a433a/1db84/screenshot.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 28.91156462585034%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA1ElEQVQY042PO27DMBBEeSpXzll8KtcuUqXOIdykcZrAcEITEUFF8i4lK/yG+nhNwUUMBMgrBrOLWWCWBWOCg5/HzbRYdOs1+CAPLym66R+wvu8R6nL/Vm235W53FKIseEox9VeGzPgH7NzoDg/m+WlYPsTVqjh+fBZSCCGlVEoBQNu24TcxQ4aFmDotvvVXAAhNQ1sfPGGtJaWEz8xnzrlZCUoy66xCzvmrKvlJ67quEVDfzClTVRWN1GJWRKRSxhhGf3f47u2ZzDjefziPd8ucvHIBxdhRu1eiKrQAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"screenshot\"\n        title=\"People's reactions\"\n        src=\"/static/643e083e835a0debad37737d0d1a433a/40fad/screenshot.png\"\n        srcset=\"/static/643e083e835a0debad37737d0d1a433a/707e9/screenshot.png 148w,\n/static/643e083e835a0debad37737d0d1a433a/649e0/screenshot.png 295w,\n/static/643e083e835a0debad37737d0d1a433a/40fad/screenshot.png 590w,\n/static/643e083e835a0debad37737d0d1a433a/b3fef/screenshot.png 885w,\n/static/643e083e835a0debad37737d0d1a433a/1db84/screenshot.png 1176w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Quickly after, nihilists and dark tourists took over the scene and waved their doomsday scenarios at the crowd or tried to ply out “funny videos” for their individual amusement only. </p>\n<p>Considering this happened in an engineering kitchen, solution design and problem solving ingenuity kicked in quickly. </p>\n<p>These were the contending approaches:</p>\n<ul>\n<li>Put some pillows on the floor and open the door. <em>This solution was rejected because of the lack of pillows.</em></li>\n<li>Open the door really quickly and catch the bottle with your feet. Quote: “I do this with eggs all the time.” <em>Editor’s note: We should have demanded video footage on that as a proof of concept. This solution was encouraged (“Go for it!”), but not executed.</em></li>\n<li>Kneel down before the fridge, open it, accelerate faster than gravity does and try to catch the bottle.</li>\n<li>Drill a hole through the door, drink the beer using a straw. <em>This solution won the audience prize.</em></li>\n<li>“Just angle it”. <em>No follow up.</em></li>\n<li>Tilt the fridge by 45° towards and lean it against the wall, so that the bottle stands again and can be picked up. <em>This solution was later extended to “lay down the fridge”. Multiple risks were pointed out.</em></li>\n<li>Duplicate of solution one, just replaced “pillow” with “fluffy stuff”. <em>This solution was rejected because of the lack of \"fluffy stuff\".</em> </li>\n</ul>\n<p>At this time the crowd agreed that this epic challenge could only be taken on by a single hero, as the prophecy predicted. And it was known as <em>Beerxcalibur</em>.</p>\n<blockquote>\n<p>“Only the one who removeth the beer frometh the fridge can be considered the true king/queen” </p>\n</blockquote>\n<p>More solutions came in:</p>\n<ul>\n<li>Open the door and close it very fast so the bottle starts to fall and the door pushes it back to the shelf below. <em>This solution has been discussed widely, but rejected because of the skill level needed to not damage any other goods.</em></li>\n<li>Load the fridge into an airplane, drop the fridge from 4000m, during free fall, open the fridge, readjust the bottle, close the fridge again, open parachute, land safely, ship back to office. <em>This solution was proposed after the post mortem.</em></li>\n</ul>\n<p>While a dozen experts discussed solutions and got all excited about possibilities, constraints, KPIs and SLAs, math and physics, laws of gravity, risks and opportunities, one lonely guy without any contextual knowledge and with no video camera attached to at least four parts of his body went to get coffee, saw the bottle, opened the door just a little bit, let the bottle slowly slide down to the bottom, picked it up, sorted it into the shelf it belonged to, took a picture with his smartphone and went back to business.  </p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a1ef044b7599ca7ea3fb76c1e61ca5f8/e5220/solved.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 166.66666666666669%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAhABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMCAQT/xAAWAQEBAQAAAAAAAAAAAAAAAAABAgP/2gAMAwEAAhADEAAAAfPC5JLB1vWpYOqntCamNM//xAAdEAACAgIDAQAAAAAAAAAAAAABAgMRABIhMTME/9oACAEBAAEFAtRrS7EUdCQsXM/r2nzxkPLzLZARabsrg9lz/8QAFxEAAwEAAAAAAAAAAAAAAAAAABARAf/aAAgBAwEBPwGOrT//xAAXEQADAQAAAAAAAAAAAAAAAAAAARAR/9oACAECAQE/AdmiUR//xAAeEAEAAQQCAwAAAAAAAAAAAAABAAIQEXESITFRYf/aAAgBAQAGPwIc36ndRE9RnJ8SrcxSB9grljuG42//xAAfEAADAAEDBQAAAAAAAAAAAAAAARExIUFREGFxgZH/2gAIAQEAAT8hvzUapSELgY/7ZL5a1FSQxCLHvsIaZsolIWKRqKaczHq+4z6Awfln/9oADAMBAAIAAwAAABAjxULz7//EABgRAAMBAQAAAAAAAAAAAAAAAAABETEh/9oACAEDAQE/EE9tJDGPoRo//8QAGBEAAwEBAAAAAAAAAAAAAAAAAAERITH/2gAIAQIBAT8QayCd0dKGCH04R//EACEQAQACAQQCAwEAAAAAAAAAAAEAESExQVFhsfBxgZGh/9oACAEBAAE/EB8rkjI3uKS2XyxzoNuyWooCKgV+wBLC6q/5BNoA+ggGhWD8rIhMrU6vjE3AyIrpKsyrrhYNry78b2Bq7Qd7D2ep5Xieq5n/2Q=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"solved\"\n        title=\"The missing bottle\"\n        src=\"/static/a1ef044b7599ca7ea3fb76c1e61ca5f8/f8fb9/solved.jpg\"\n        srcset=\"/static/a1ef044b7599ca7ea3fb76c1e61ca5f8/e8976/solved.jpg 148w,\n/static/a1ef044b7599ca7ea3fb76c1e61ca5f8/63df2/solved.jpg 295w,\n/static/a1ef044b7599ca7ea3fb76c1e61ca5f8/f8fb9/solved.jpg 590w,\n/static/a1ef044b7599ca7ea3fb76c1e61ca5f8/e5220/solved.jpg 768w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>The picture, once posted to the beery solution slack room, caused several people to walk through all the stages of grief.</p>\n<ol>\n<li>Shock: <em>“It’s all fixed now :disappointment:”</em></li>\n<li>Denial: <em>“Who says it’s not a picture of last week?”</em></li>\n<li>Anger: <em>“What do you mean there is no video!!”</em></li>\n<li>Bargaining: <em>“Video or it never happened!”</em></li>\n<li>Depression: <em>“I wish there was a video…”</em></li>\n<li>Testing: <em>“Can we reproduce the issue and try the fix again?”</em></li>\n<li>Acceptance: <em>“Awww, there were so many options.”</em>, <em>“But at least we have beer again.”</em></li>\n</ol>\n<p>And of course, someone had to ask the question: How many engineers do you need to fix the beer fridge.</p>\n<p>The answer is: 15. Well, one. But 15 engineers helping, you know ... \"Helping\".</p>","fields":{"slug":"/beerxalibur/","tags":["auto1","engineering","social","fun","beeroclock"]}}},{"node":{"id":"3e19b9f8-fd63-5270-9ae1-29f538ecd8a9","frontmatter":{"category":"Architecture","title":"Migration to Microservice architecture","date":"2019-02-12","summary":null,"thumbnail":null,"authorName":"Alexander Egurtsov","authorDescription":"Team Lead Software Engineer","authorAvatar":{"relativePath":"pages/migration-to-microservices/avatar-big.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsSAAALEgHS3X78AAAD5UlEQVQ4y0WSy28bVRTG5z9gi8SSv4AFCySEkNggFqgVi4K6QSoqqgQBsUkfIJUFFKqKJiWgWrRNG/pQHk3TlpTUcgKOg+14HHvssed5Pe/XnRm/YztjxzFnbBWOPl2dxfzO9917htA0S9dtQ3f+k65ZluU7uK7IWkWQTBM7TlXgJY5F5RJfKDD5HE1m8qkkSZiOZzm+hUHV8LQ9168jXlyY+WH+4tQXH7534vj7d+YXTMMVBRlGsIxYojmKorPZPIH9uuc3vCoImppfbRimPXvus1PvvDb9wdvTx996/ZWX3nj15cjcHMY1JMowYhyBKxRKRL3RAjWaoWq1xn6vn46tXznz0fz5zzfnvkMbi2b8qfB4/upXn0gVRVMtSdKQqEx4otXutPe7EzWa7f5wtBSZvXz6RCcTG/n6UbcBGtnC+k8X6AKFsa8quiLrCMk8LxKd7kG3F4Cgabc7o9Fo5f69T999k7xxZe9+xE/H9M01Zimy/OM5UUSuWzUMS9NMWVYRkoiDoB+MBU2vd3A0GlHxv2bOnNyavRj/5bK+dtuOrVH3fmXXH/iuj13ftrFp2ppmSJJKDF5UfzAIgmAwHDZ8/9rUKeX54kgtC4uRQNgbOaKWitWabXhRx4WNYPBXVZ04HA5DjWswOAyCA0hOJuKPLk17WytPvvmysnyzvvPY5grwmNXxRhzsWZaj6yZxdHQ0fFFjfgCz9tutmbNTOz9/Ld262tp8yD6K2KbR7vRq9aZfrbte1XZc2GgIT2rCAwy971W/nzr97cfHCkvXiyvXEw9/b3WCVnsf1gH8xNy0nP/hCQ/mEDubE54sbVy7MH3+5LHlS2ejt39TVSvo90O40QJzDOY2JuDTMRbC0ENm264lU2w0RidTQvmf5IGQTSw/2N1lm63JH9Gp1RuT5CE8KQhcrbVRxS6VVIY1sntoJ8mld1GqKN64u55O8WQW7eUqsuwADMlDeGLYaHZ4wSozRqms84LJ8SYnWILosIzxLEaRlMpxVp5SMiRK7LCCaAIP1w6d9zu97SSbKyglziyxBsdbQkjaAKMKpouKJLmi6Aq8AyOSST6dEVyvht0xnKXE1ae7ZF6iGb3I6GXOgBQiAtiuVFyIA+Nk2asgzLEWhP97u1yRTNfzicHh4eofqWfR/F5BylKVXEGmWa1YViG5IITmJcZACMMUUQzPYlHbTjAcb4Rwt9tbXN2OxWmAU6QQ3cwXSwrNaCVGZTiD5U2Wt3mIIHkiwuWywbJWYocrFhUHu4Ru4JsLzzfjdCaHolvUn9HsnbsbaZILR7AaAzBnwuOLyAH/3YyYyYhbW0WSRJaF/wUqjPNz+4prxwAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/63581729799e31fcd1a0b0f4271c9cad/45876/avatar-big.png","srcSet":"/static/63581729799e31fcd1a0b0f4271c9cad/45876/avatar-big.png 1x,\n/static/63581729799e31fcd1a0b0f4271c9cad/eb85b/avatar-big.png 1.5x,\n/static/63581729799e31fcd1a0b0f4271c9cad/4f71c/avatar-big.png 2x,\n/static/63581729799e31fcd1a0b0f4271c9cad/9ec3e/avatar-big.png 3x"}}},"headerImage":null},"html":"<p><strong>The AUTO1 story started in 2012. In these six years company grew a lot. From one website\nwritten in PHP it evolved into a huge and complex system consisting of large number of components.\nThis article describes the evolution of AUTO1’s architecture from a monolithic approach to Microservices.</strong></p>\n<p>The brand independent automotive company owns business units like <strong>auto1.com</strong>, <strong>wirkaufendeinauto.de</strong> and <strong>autohero.com</strong>.</p>\n<h3>Original AUTO1 architecture</h3>\n<p>At the beginning we build several classic monolith applications that served different parts of business.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/70d9ecd1cafac00e7fe76b6f887ea877/08646/original-architecture.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 67.62917933130699%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsSAAALEgHS3X78AAACMElEQVQ4y5VU22rbQBDV36eB9ql/UCg0JiGUQp1Q9waBEGI1bm21tRNcG1WSbdnWxdKudnU5nV1bqWX60oXRzp65MDtnVkZVVdhf9Xkf/x/MqJV4k6Asy4bTJkkhZd7AGOPgWdbAOM/AONe6TlhQovHvFcRB8MRdI9zwBjZbbTAnUavcYers+vEuIYEKjlJBiZvXiJhEXjSxNMvBRNHAEp6Dy+3tjEobSoh+G4nvQBZkoLPC5fcOUmeELK80plY+McEebsAoQVVuE+fTO/DRNVi+6yF5gztDlII1COLuCEUa1i3XX7m0IdduAxMKWznbCnMpKXOJmNqXkuR5riWThcaSR0zq6iNBZCmMdCmF7nssCaNilW4Mf9nonT7H5PwpBq1nGFgWbG+B7psXmJwd4+fJEcyba3j+GmbnNe5bT0iO8OVzGxNnDvPjW4xPjzEmrPvpAobjzWFdXeDr5Qn6H84xnU6xXAX40b1C/10L1vszPIyGWAUhRt9MDOg86LRwb/UwX64xMG/Qu3yFXvslrLtbIoWanRGTQZIhIQaFILbpioLasKaRiRWDNGPqeiwTehq27Je6DWpWVawSLmRNyt+lhluNQ7VjVc9pUSBJEr3XZNR+OHhpxja4KWmaIqPXwBjTiaIogu/7CMMQcRxru6pa2Q9jH59ePaSSWNd9XC7heR4cx4HrurBtG7PZTOuLxQJBEGi/uuo63vjXY1dJlaMaF7XrvtKuqla2ffzwJ/EH0qAxugLc5/wAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Original AUTO1 architecture\"\n        title=\"Original AUTO1 architecture\"\n        src=\"/static/70d9ecd1cafac00e7fe76b6f887ea877/40fad/original-architecture.png\"\n        srcset=\"/static/70d9ecd1cafac00e7fe76b6f887ea877/707e9/original-architecture.png 148w,\n/static/70d9ecd1cafac00e7fe76b6f887ea877/649e0/original-architecture.png 295w,\n/static/70d9ecd1cafac00e7fe76b6f887ea877/40fad/original-architecture.png 590w,\n/static/70d9ecd1cafac00e7fe76b6f887ea877/b3fef/original-architecture.png 885w,\n/static/70d9ecd1cafac00e7fe76b6f887ea877/301c0/original-architecture.png 1180w,\n/static/70d9ecd1cafac00e7fe76b6f887ea877/08646/original-architecture.png 1316w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>The more we grew the more harder it became to support this applications.\nThey did their job well but suffered from classic problems of monolith architecture.</p>\n<p>Our biggest pains were:</p>\n<ul>\n<li><strong>Code duplication</strong></li>\n<li><strong>Shared database</strong></li>\n<li><strong>Git Merge nightmare</strong></li>\n<li><strong>Codebase complexity</strong></li>\n<li><strong>No ownership</strong></li>\n<li><strong>Regression testing is almost impossible</strong></li>\n<li><strong>Long process from development to deploy</strong></li>\n</ul>\n<p>They became too big and too complex, so that adding new features and even fixing tiny bug was difficult and time consuming.\nAdditionally applications were using same database and had lots of shared code existing in separate repo.</p>\n<h3>Breaking down monolith to microservices</h3>\n<p>We decided to migrate to microservices step by step in several iterations.</p>\n<p>In the first phase we defined services corresponding to business capabilities.\nThen, piece by piece, we extracted functionality to separate services.</p>\n<p>These services mostly used the same database as the existing applications and served as a business logic layer for them.\nSo for example when user visited <em>auto1.com/my-orders</em>, he still did request to the monolith application. The application, in turn, performed a request to the needed microservices to get all the necessary information in order to respond properly</p>\n<p>Apart from that, for all new functionality we started building microservices with own database and own infrastructure. These new services also were integrated into the monolith in the same manner.</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ac45af715946c57a805d5a302c47dbc1/d6c21/breakdown-first-step.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 47.71573604060914%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAAB3ElEQVQoz21SQWvUQBTO7xE8e/MnCF56KCJeRX+BUCw9eKg3F7SggqB7EjxYoR5kFUVZxEvBgqW1tCXZbJNsNpNMZjKTmXy+TBrZrQ58zLw389775r3Pw8JqmqbbZQ45vAub+rDTfVSvbju//voC6sMjaDqfnhwjTdO/cT28/rCY0CiBsxEFsxg8PEKwswVLV7PdEWbftwHJwHOGqqpwkZC3aDhY27EhVDXZtJeE1tuGs+AQ2eA69Dw8j7MwxsCex3lSSrT437LzAGp7A+rNPagvz2HqGjybITncRVnk0GQzxiCEAOccZVnCC+MM/rTrhZ75MOOXMHnsGKn9z+Brl8DvX0Y5uAYjCzQLBVsiQRAgiiJMJhNkWQbvZMrw209BvwMPDpC83YRMfNQUIPZGEA+uQG5ehdhaQZWnxMpAa+3YtYzaREmSIAxDFEUBr5QaXKhuGNT5nJe0d/2opkeYPL6FYLCK6PW6KyLJVw3vwLAIQlFS+mpNyZVSDt5FyfRLlYweGpiWKTFpk2lVQcY+wk9D8HnsCLTD6OGGsiwb63pkBcni2U3Y5Bg22IN4eqMr8vEJ5PuHLrk15p8hLslmSdhGQx6M0ZAeiySEP37nhhT9+oGzn9/6x0uC7vEHhMnzTu333rwAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Breakdown: first phase\"\n        title=\"Breakdown: first phase\"\n        src=\"/static/ac45af715946c57a805d5a302c47dbc1/40fad/breakdown-first-step.png\"\n        srcset=\"/static/ac45af715946c57a805d5a302c47dbc1/707e9/breakdown-first-step.png 148w,\n/static/ac45af715946c57a805d5a302c47dbc1/649e0/breakdown-first-step.png 295w,\n/static/ac45af715946c57a805d5a302c47dbc1/40fad/breakdown-first-step.png 590w,\n/static/ac45af715946c57a805d5a302c47dbc1/b3fef/breakdown-first-step.png 885w,\n/static/ac45af715946c57a805d5a302c47dbc1/d6c21/breakdown-first-step.png 985w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>Now every team has list of services it is responsible for. Each microservice has it’s own repository (some with an own database) and are responsible only for some specific part of the business.</p>\n<p>Services communicate with each other, there is not need to copy/paste code anymore, each service is the source of truth for its own responsibility.</p>\n<p>Additionally we introduced a separate deployment pipeline for each service. This allows us to work and release separately from other teams and reduces the amount of dependencies.</p>\n<p>Usual service architecture:\n<a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/b759907550fdf036e7b553ebb1454105/633da/basic-service.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 46.12365063788027%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsSAAALEgHS3X78AAABgElEQVQoz31Sy0oDQRDMp/g5nvwHD+oXiAcfvxCI4MFDAnoQQQleo0EE0YuIiAcRs4gE3QTj7mZ3Mu8te2eyZhWxoaFnpqamprproMjz3GVZo7L+3gPtWQtrDCytdO8a+u4EuZZQWiNJYkgpUft5cUpuDRUWnHMwxtyZNRpScCgpIGk9PlzFuD4PnQwwZhxB0EOapqh5ML1qrVNRDaUUkQhXm2mWod+eMHm8RE4PldiCwxEOPmLESeovDgOI9jr0zREM8WtjkYsM4rQOftaAlV5xEocQilUs8VErVD33I/TDyOnL7jtI1+Yw2VuhCwa8yDAA215wyYcvDnd1vIHX2wNPSBaVfXAexilHNvFfU9E7os4O2EPXK9T0US0wuthH2G1BckZNMGDjEfn5p0L86ubMSUPeaq1cLaiDyvgT3qmTLZsEUB5bJSyl/hibostkcDEmbmCyEVhzEbLbcBjW3kLaWoIV/yisEs7S+pHJPhE1l5Gd73pbJtQkllbws19+AfjlsAHItSc6AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Usual service architecture\"\n        title=\"Usual service architecture\"\n        src=\"/static/b759907550fdf036e7b553ebb1454105/40fad/basic-service.png\"\n        srcset=\"/static/b759907550fdf036e7b553ebb1454105/707e9/basic-service.png 148w,\n/static/b759907550fdf036e7b553ebb1454105/649e0/basic-service.png 295w,\n/static/b759907550fdf036e7b553ebb1454105/40fad/basic-service.png 590w,\n/static/b759907550fdf036e7b553ebb1454105/b3fef/basic-service.png 885w,\n/static/b759907550fdf036e7b553ebb1454105/633da/basic-service.png 1019w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>The first phase was a great beginning of our journey to the world of microservices.\nWe got amazing results and most of our problems were solved:</p>\n<ul>\n<li>Code duplication <strong>Solved</strong></li>\n<li>Shared database Partially <strong>Partially Solved</strong></li>\n<li>Git Merge nightmare <strong>Solved</strong></li>\n<li>Codebase complexity <strong>Solved</strong></li>\n<li>No ownership <strong>Solved</strong></li>\n<li>Regression testing is almost impossible <strong>Solved</strong></li>\n<li>Long process from development to deploy <strong>Solved</strong></li>\n</ul>\n<p>Unfortunately there is no silver bullet. The microservice approach approach has its drawbacks and we faced some of them.</p>\n<ul>\n<li>System architecture complexity increased</li>\n<li>Development time for complex features increased</li>\n<li>We still had some parts of monolith that added complexity to development</li>\n</ul>\n<p>To resolve last of this problems we introduced <strong>the SPA approach</strong>.\nWe started using <a href=\"https://reactjs.org/\">React</a>. It allowed us to call microservices directly from the frontend with proxying requests through our monolith applications.\nTo be able to do so, we introduced simple proxy layers just for communicating with services.\nMore about this approach you can read in our <a href=\"https://auto1.tech/vigolante/\">blog article</a>.</p>\n<p>As a result our architecture took it’s next look:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a6fe7ebe6a305ab8f472213e2f9001bd/68690/current-architecture.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 70.03154574132492%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsSAAALEgHS3X78AAACkklEQVQ4y3VT2W7TQBT1pyPxxCtCAgkeQEKqKGp5qQpVC0VpBah707Rp4iSOl3HsLN73JYc70wZMgZGuMuPc7Zx7rqToFrIsR1VViKIIiqKAMQbf98VbWBgiSgt4ahdp+xOSokISxyiKAvwsl0th/EhD5sDzPBHoui46nQ5kWRbOK8vzHEVZIo1DTPUR6roWDXBbJVuZVPMLfp+CgnnimAqEcUqWIE1ipGmC2WyOhevDDSKUVOBfR8pCD4vrQ4QEaUbObDqH4zio6U9XPkMwUWB7Mey5C2s6Qx4soP34iLFuwjAtmNYUmmFiNneIuow6LFJ4xgCBISNULhEOT+Es5siLEsnchK/3kKptxFpHFKqyBFr3HPJNG8rVMUadU7ITyNcXYOYEElEKJykx3F/HZPcVzO1nGI8GKIm7jLjoH+3D2ngMtvUU/e61gHU7NnG2+QKjtUforz+BvPYYJxvPMVAZdUgE51mKioIdP0KQZMQXcRcEyOmXDyUQXKZUJCffDLY1wVhVMRwpuO31RWfMNMVwpebYM0rs84mTTOKihkPkZxXAJjZUnSHOa7hhgiSvRGKuDM7bH0NZNqbMu+VQbSeA2XoH82QH9vcPYGdfoF+0YB++h320Bet4m+AZYvo8Bk3ZNEXJdZXnGUEPwS4PYPXOYbUPwLqnYL0Lurcw6XyDeUVmzyhhImKaKKWHSucCXtb3TvedRwQ/zO50Vze+cy2u4n5tSvPBq3FO/JC2RicZaTcIzQHdB1gYQ0T0DhhJTOtitnCRUIcC8v8S8opVWcBaeJC/bsLYew3181uorQ0oR7vQd16Ku7r3BrcjTexzE/JfCcWk+d6S5eXdRDlXfBtsWjtm0+p5AdJyScXvdvwh5J8zVyN6ov+4DAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Current architecture\"\n        title=\"Current architecture\"\n        src=\"/static/a6fe7ebe6a305ab8f472213e2f9001bd/40fad/current-architecture.png\"\n        srcset=\"/static/a6fe7ebe6a305ab8f472213e2f9001bd/707e9/current-architecture.png 148w,\n/static/a6fe7ebe6a305ab8f472213e2f9001bd/649e0/current-architecture.png 295w,\n/static/a6fe7ebe6a305ab8f472213e2f9001bd/40fad/current-architecture.png 590w,\n/static/a6fe7ebe6a305ab8f472213e2f9001bd/b3fef/current-architecture.png 885w,\n/static/a6fe7ebe6a305ab8f472213e2f9001bd/301c0/current-architecture.png 1180w,\n/static/a6fe7ebe6a305ab8f472213e2f9001bd/68690/current-architecture.png 1268w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<h3>Results</h3>\n<p>For the last six years we passed a long way from old fashioned php websites to huge distributed net of microservices.\nHere are some numbers at the end of 2018:</p>\n<ul>\n<li><strong>Over 250 microservices created</strong></li>\n<li><strong>Over 655 repositories</strong></li>\n<li><strong>Over 30 application databases</strong></li>\n<li><strong>Written on Java, PHP, Go, NodeJS</strong></li>\n<li><strong>Over 200 Engineers</strong></li>\n<li><strong>More than 20 teams (some of them are remote)</strong></li>\n<li><strong>Each team owns 5-20 services</strong></li>\n<li><strong>Average 10 releases per day</strong></li>\n</ul>\n<p>Microservices brought us lots of advantages, but along with advantages new challenges had come.</p>","fields":{"slug":"/migration-to-microservices/","tags":["auto1","engineering","monolith","microservices"]}}},{"node":{"id":"99158851-0237-5904-98ca-02b5e2f45684","frontmatter":{"category":"Coding","title":"Spring 5 candidate component index case study","date":"2019-02-05","summary":"Analysis of Spring 5.X candidate component index applicability to boost our application startup time","thumbnail":{"relativePath":"pages/spring-5-indexer/thumbnailImage.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAZABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAIBBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAeBWySoZgAf/xAAaEAACAgMAAAAAAAAAAAAAAAAAARASICEx/9oACAEBAAEFAisLg95//8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAFBABAAAAAAAAAAAAAAAAAAAAMP/aAAgBAQAGPwJP/8QAGhAAAwADAQAAAAAAAAAAAAAAAAERECAxIf/aAAgBAQABPyFK8Kx5obfaNVLt/9oADAMBAAIAAwAAABBTBzz/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAcEAEAAgMBAQEAAAAAAAAAAAABABEhMUFRYSD/2gAIAQEAAT8QR0FfCY14dprVxKUeSiVurchzX3sU1d7c6ZqWULr2CBDvz9f/2Q==","width":265,"height":325,"src":"/static/85788e7deb4eaccc84801ebd1f7b77a8/a2998/thumbnailImage.jpg","srcSet":"/static/85788e7deb4eaccc84801ebd1f7b77a8/a2998/thumbnailImage.jpg 1x,\n/static/85788e7deb4eaccc84801ebd1f7b77a8/99cce/thumbnailImage.jpg 1.5x"}}},"authorName":"Mariusz Sondecki","authorDescription":"Mariusz is Senior Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/spring-5-indexer/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/spring-5-indexer/headerImage.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAECBv/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAc/UgxB//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQABBQJf/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQAGPwJf/8QAGBAAAwEBAAAAAAAAAAAAAAAAAAERIEH/2gAIAQEAAT8hElKxzmP/2gAMAwEAAgADAAAAEPPP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAGxAAAgIDAQAAAAAAAAAAAAAAAREAECExQVH/2gAIAQEAAT8Qm5fABBZ6Hh5TKTxX/9k=","width":1280,"height":853,"src":"/static/430c76d0d1e83aad3065e86e11366218/966a5/headerImage.jpg","srcSet":"/static/430c76d0d1e83aad3065e86e11366218/966a5/headerImage.jpg 1x,\n/static/430c76d0d1e83aad3065e86e11366218/aa36d/headerImage.jpg 1.5x"}}}},"html":"<h2>The situation</h2>\n<p>Since day one at AUTO1, we strongly believe that the microservice architecture helps us run business at scale not only due to the technical benefits it brings but also, if not foremost by allowing many teams to work independently from each other. Today, we’re running more than 250 microservices in production and on average add one more to our platform every week. All of them are powered by the Spring Framework technology stack, which we value very much for its productivity, but at the same time consider it to be a bit heavy in terms of bootstrapping time. The typical startup time of our Spring applications varies between 40 and 80 seconds. Since we do around 30 deployments per day, our engineering teams spend roughly 30 minutes daily waiting for the deployments to be completed. As we value the time of our engineering teams, we wanted to find a way to decrease these numbers. </p>\n<h2>A new hope</h2>\n<p>While investigating the startup times of our applications, we have identified classpath component scanning as a potential place to look for improvements. Luckily for us, some of our tech savvy engineers suggested a not so prominent Spring 5.X feature to come at help here - the build time component candidate index.\nThe build time component index is an alternative for regular component scanning, which skips the classpath search operation in favor of using a compile time pre-generated index of component candidates during the spring application context building. However, it comes with a small print from the Spring Framework experts saying that this functionality should have mostly a visible impact on startup times for applications with large amount of beans and that are operating in environments where IO operations are expensive (e.g. remote file systems) or where JVM security managers are in use. Although, neither of this is our use case, we have decided to proceed with the feature evaluation and measurements, as here at AUTO1, we like our decisions to be data driven.</p>\n<h2>Demystifying the indexer</h2>\n<p>The key part of the indexer feature is a pre-generated index file located in <em><span style=\"font-family:Courier New;\">META-INF/spring.components</span></em> one per JAR. Every index entry in this file is a fully qualified name of a candidate component as a key and comma separated stereotypes as value. So for example “X=Y, Z” can be read simply as register a candidate component X with following stereotypes Y, Z. Below is an example of a <em><span style=\"font-family:Courier New;\">spring.components</span></em> file:</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">com.auto1.playground.service.SpringDummyService=org.springframework.stereotype.Component\ncom.auto1.playground.domain.SpringDummy=javax.persistence.Entity,javax.persistence.Table,javax.persistence.EntityListeners\ncom.auto1.playground.repository.SpringDummyRepository=org.springframework.stereotype.Component,org.springframework.data.repository.Repository\ncom.auto1.playground.configuration.LocalConfiguration=org.springframework.stereotype.Component\ncom.auto1.playground.service.IndexedCustomService=com.auto1.playground.service.IndexedCustomService\ncom.auto1.playground.Application=org.springframework.stereotype.Component\ncom.auto1.playground.SpringDummyController=org.springframework.stereotype.Component\ncom.auto1.playground.service.IndexedCustomExample=com.auto1.playground.annotation.IndexedCustom</code></pre></div>\n<p>The first question that arises here is how to create such a file and keep it up-to-date. The Spring engineers thought about this problem as well and came up with an annotation processor tool called <a href=\"https://github.com/spring-projects/spring-framework/tree/master/spring-context-indexer\">spring indexer</a> that hooks in during the project build phase and generates the file. Making use of it is fairly simple, assuming you are using your favorite build automation tool, in our case maven and want our IDE to keep this file up to date, simply add the spring indexer annotation processor to your pom file:</p>\n<div class=\"gatsby-highlight\" data-language=\"xml\"><pre class=\"language-xml\"><code class=\"language-xml\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>build</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>plugins</span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>plugin</span><span class=\"token punctuation\">></span></span>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>groupId</span><span class=\"token punctuation\">></span></span>org.apache.maven.plugins<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>groupId</span><span class=\"token punctuation\">></span></span>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>artifactId</span><span class=\"token punctuation\">></span></span>maven-compiler-plugin<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>artifactId</span><span class=\"token punctuation\">></span></span>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>version</span><span class=\"token punctuation\">></span></span>3.5<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>version</span><span class=\"token punctuation\">></span></span>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>configuration</span><span class=\"token punctuation\">></span></span>\n                <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>annotationProcessorPaths</span><span class=\"token punctuation\">></span></span>\n                    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>path</span><span class=\"token punctuation\">></span></span>\n                        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>groupId</span><span class=\"token punctuation\">></span></span>org.springframework<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>groupId</span><span class=\"token punctuation\">></span></span>\n                        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>artifactId</span><span class=\"token punctuation\">></span></span>spring-context-indexer<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>artifactId</span><span class=\"token punctuation\">></span></span>\n                    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>path</span><span class=\"token punctuation\">></span></span>\n                <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>annotationProcessorPaths</span><span class=\"token punctuation\">></span></span>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>configuration</span><span class=\"token punctuation\">></span></span>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>plugin</span><span class=\"token punctuation\">></span></span>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>plugins</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>build</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>Once this is done, what happens during project build time is the spring context indexer (precisely speaking the <a href=\"https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/index/CandidateComponentsIndex.html\">CandidateComponentsIndexer</a> class) while going through the project identifies annotated components and outputs them to <em><span style=\"font-family:Courier New;\">META-INF/spring.components</span></em>. The type of components it includes in the candidate list are:</p>\n<ol>\n<li>\n<p>Classes annotated directly or indirectly with spring <em><span style=\"font-family:Courier New;\">@Component</span></em> annotation (which by itself is meta annotated with <em><span style=\"font-family:Courier New;\">@Indexed</span></em>) and other stereotypes for which <em><span style=\"font-family:Courier New;\">@Component</span></em> is a meta annotation such as <em><span style=\"font-family:Courier New;\">@Repository</span></em>, <em><span style=\"font-family:Courier New;\">@Controller</span></em>, <em><span style=\"font-family:Courier New;\">@Service</span></em>, <em><span style=\"font-family:Courier New;\">@Configuration</span></em>.</p>\n</li>\n<li>\n<p>Classes and interfaces annotated with annotations from <em><span style=\"font-family:Courier New;\">javax</span></em> package, including <em><span style=\"font-family:Courier New;\">CDI</span></em> annotations (<em><span style=\"font-family:Courier New;\">@Named<span></em>, <em><span style=\"font-family:Courier New;\">@ManagedBean</span></em>), <em><span style=\"font-family:Courier New;\">JPA</span></em> annotations (<em><span style=\"font-family:Courier New;\">@Entity</span></em>, <em><span style=\"font-family:Courier New;\">@EntityListeners</span></em>) or even <em><span style=\"font-family:Courier New;\">Servlet</span></em> annotations (<em><span style=\"font-family:Courier New;\">@WebListener</span></em>)</p>\n</li>\n<li>\n<p>Any custom classes and interfaces annotated with <em><span style=\"font-family:Courier New;\">@Indexed</span></em> annotation. </p>\n</li>\n</ol>\n<p>It should be noted that applying <em><span style=\"font-family:Courier New;\">@Indexed</span></em> on a class/interface where no other standard stereotype (as from points 1 and 2) is present will not make by itself the bean managed, thus not making them eligible for being autowired, but merely provide a hint that it represents a stereotype to be considered in the index. </p>\n<p>Example of the <em><span style=\"font-family:Courier New;\">@Indexed</span></em> annotation usage:</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Indexed</span>\n<span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">IndexedCustomService</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">}</span></code></pre></div>\n<p>Or as meta annotated as below: </p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@Target</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">ElementType</span><span class=\"token punctuation\">.</span>TYPE<span class=\"token punctuation\">)</span>\n<span class=\"token annotation punctuation\">@Retention</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">RetentionPolicy</span><span class=\"token punctuation\">.</span>RUNTIME<span class=\"token punctuation\">)</span>\n<span class=\"token annotation punctuation\">@Documented</span>\n<span class=\"token annotation punctuation\">@Indexed</span>\n<span class=\"token keyword\">public</span> <span class=\"token annotation punctuation\">@interface</span> <span class=\"token class-name\">IndexedCustom</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">}</span>\n\n<span class=\"token annotation punctuation\">@IndexedCustom</span>\n<span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">IndexedCustomExample</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">}</span></code></pre></div>\n<p>In order to make them available in the application context, thus autowirable, we could for example include them in the component scan filters as shown below: </p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\"><span class=\"token annotation punctuation\">@SpringBootApplication</span>\n<span class=\"token annotation punctuation\">@ComponentScan</span><span class=\"token punctuation\">(</span>basePackages<span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token string\">\"com.auto1\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> includeFilters <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token annotation punctuation\">@ComponentScan.Filter</span><span class=\"token punctuation\">(</span>type<span class=\"token operator\">=</span> ANNOTATION<span class=\"token punctuation\">,</span> value <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token class-name\">IndexedCustomExample</span><span class=\"token punctuation\">.</span><span class=\"token keyword\">class</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n  <span class=\"token annotation punctuation\">@ComponentScan.Filter</span><span class=\"token punctuation\">(</span>type<span class=\"token operator\">=</span> ASSIGNABLE_TYPE<span class=\"token punctuation\">,</span> value <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token class-name\">IndexedCustomService</span><span class=\"token punctuation\">.</span><span class=\"token keyword\">class</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">public</span> <span class=\"token keyword\">class</span> <span class=\"token class-name\">Application</span> <span class=\"token keyword\">implements</span> <span class=\"token class-name\">WebMvcConfigurer</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token comment\">// ...</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>There is one big pitfall that comes with the feature though, that is by default the index is automatically enabled when a <em><span style=\"font-family:Courier New;\">META-INF/spring.components</span></em> file is found on the classpath during application start-up and this in turn, disables completely the regular classpath component scanning. In other words, both the index and classpath scanning cannot be used at the same time. The consequence of this is that if an index is available for some JARs, but is incomplete due to including other JARs that come with potential bean candidates but don’t have the index file generated, those beans will not be discovered, thus application startup might spectacularly fail with a well known error: <em><span style=\"font-family:Courier New;\">“X required a bean of type 'Y’ that could not be found”</span></em>.\nFortunately, Spring engineers, as thoughtful as they are, provided a feature flag <em><span style=\"font-family:Courier New;\">spring.index.ignore</span></em> that can be passed either as a system property or set in the <em><span style=\"font-family:Courier New;\">spring.properties</span></em> file at the root of the classpath allowing us to disable the usage of the candidate component index altogether. </p>\n<h2>Test me one more time</h2>\n<p>Like mentioned before, the aim of our investigation was to understand if the Spring indexer feature is of any help to us in regards to boosting the application start-up times. In order to make the test fairly reliable and control as many confounding factors as possible, we have decided to run the test firstly, using a “dummy” Spring 5 application (in two flavors - with 120 and 5000 beans) using all the features a production microservice would use, on a bare metal machine i.e. a <span style=\"font-family:Courier New;\">MacBook Pro late 2017 i7</span>. Secondly, running a real life production service in a less controlled but close to production environment i.e. on a <span style=\"font-family:Courier New;\">r4.8xlarge</span> EC2 instance with other services running concurrently. The applications themselves were using <span style=\"font-family:Courier New;\">Spring 5.0.10.RELEASE</span> with <span style=\"font-family:Courier New;\">Spring Cloud Finchley.SR2</span> release train.\nAfter making a couple of hundred measurements of application bootstrapping times with candidate component index enabled / disabled and verifying in the logs that Spring was indeed using (or not) the component candidate list, we ended up with following averaged results:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/30322fc0fcb831c8c776c8ac7df43562/a0e60/measurements.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 70%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAMCBAX/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAAB3qb1i4kM/wD/xAAaEAACAwEBAAAAAAAAAAAAAAABAgAREhMD/9oACAEBAAEFArnUxDaP56PGKMr/AP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABgQAQEAAwAAAAAAAAAAAAAAAAABEDFB/9oACAEBAAY/AnEuNpH/xAAYEAEBAQEBAAAAAAAAAAAAAAABEQAhMf/aAAgBAQABPyFB6husmO16mK1mi2t3Gw3/2gAMAwEAAgADAAAAEJM//8QAGhEAAgIDAAAAAAAAAAAAAAAAABEBIYHh8P/aAAgBAwEBPxCF2dENWf/EABoRAAICAwAAAAAAAAAAAAAAAAARASGB4fD/2gAIAQIBAT8Ql9jZKdH/xAAdEAEBAAEEAwAAAAAAAAAAAAABEQAhMUFhccHR/9oACAEBAAE/EF55xmDyDZWb6p6yXcazAScAaHdwDquO37giISrzn//Z'); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Measurements\"\n        title=\"\"\n        src=\"/static/30322fc0fcb831c8c776c8ac7df43562/f8fb9/measurements.jpg\"\n        srcset=\"/static/30322fc0fcb831c8c776c8ac7df43562/e8976/measurements.jpg 148w,\n/static/30322fc0fcb831c8c776c8ac7df43562/63df2/measurements.jpg 295w,\n/static/30322fc0fcb831c8c776c8ac7df43562/f8fb9/measurements.jpg 590w,\n/static/30322fc0fcb831c8c776c8ac7df43562/a0e60/measurements.jpg 800w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<h2>The expected disappointment</h2>\n<p>As the above results have consistently shown, there was no improvement or even insignificant worsening (which will be a subject of our analysis in a separate article) of the bootstrapping time of the Spring applications, regardless of the number of candidate beans present, when using the pre-generated candidate component index. This was expected, as explained in the opening section, the conditions for which this feature was designed (slow or expensive IO operations) are simply not met in our case. One more important factor to consider here, is that a great deal of the beans in our Spring applications, is created using bean definition factory methods, which are not subject to the component classpath scanning, thus are not impacted by this feature. </p>\n<p>All in all, we deemed this feature not to be useful for our purposes and moved on to the next item on our list.</p>","fields":{"slug":"/spring-5-indexer/","tags":["spring","spring-indexer","bootstrapping","performance"]}}},{"node":{"id":"458b814a-9266-529b-a538-b64d05af8cc6","frontmatter":{"category":"QA","title":"How to O(1) your test preparation","date":"2019-01-29","summary":"Are you sure your tests are fast enough?","thumbnail":null,"authorName":"Alexander Gyulai","authorDescription":"Head of Quality Assurance at AUTO1 Group","authorAvatar":{"relativePath":"pages/faster-automation-tests/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/faster-automation-tests/header.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAAsSAAALEgHS3X78AAABtklEQVQY0wGrAVT+AAACBAAEBwAECAQECA0ECRoECCwFCEEFCVYECGsECHkECYYECZUGDKIKEKEMEaMLEqcQHK4aJKo5PjghPwBTAwdiAgRvAQOBAQONAAORAQWOAweFBAmCCA18Cw9zDhFlEhRMEhI4ERdGHC5XOlZyXHx9hqiGosqfkLcAXQEEUwIFSgkNNgsQJA0SHxMWGBMVERUVCBMSARAPAA8SAQ0VAAsjHy1Rd36i0NTk9Pv//f3+/8zj14CnAAcSFgUTFgcQEAoQDgsODAYICAUGCQUFCwQIEwQIGwIJLBAbRz9Md5CevNje7f/q8PvT4c6Yu21CexENPgAIBQEHAwMBAAUAAAgABBQCCRkDDB0CDB8LEy8tN1xub465qb/uwdb3r8zdi7i4cKZ5VYsgJlkABSkBAhYAAAIQAAUTAwobBxAgBA4ZCBAfISY4WFtznZau0rTI76rD5YGoxlaSkzyAVS9xGiRcABM+AQklBQkXAQQLAAYOGAsVHw4ZIBUaJ0dDWJGOoM3Azty0xtGIqbZXiaA7fY0qdUwkZREbUgAQPQAGJAMEFQMGEgACBwAAAMagbU9WOO54AAAAAElFTkSuQmCC","width":1280,"height":445,"src":"/static/34ed0cae6856ac71c7fea1ac46b6a5a9/26421/header.png","srcSet":"/static/34ed0cae6856ac71c7fea1ac46b6a5a9/26421/header.png 1x"}}}},"html":"<p><em>(*) If your career as a QA - like the author’s - started without a computer science degree, you will hopefully love\nto hear and learn about the different theories and notations of runtime analysis.\nCheck wikipedia’s page about O-notation</em> <a href=\"https://en.wikipedia.org/wiki/Big_O_notation\">here</a></p>\n<p>Speed… Did you ever think how you can make your tests faster and more reliable? If you're anything like me or my colleagues at AUTO1,\nyou face this challenge all the time. Here at AUTO1 we are constantly looking for new ways to improve our tools and\nto make testing fast and efficient. In this article, I’m going to take test suite that takes ~70 min and reduce the execution time to 1 min!!!\nInteresting, right? :)</p>\n<h2>Intro</h2>\n<p>Let’s imagine we are testing some Web Shop Scenario. We need to test that users can do some actions with items they purchased\n(submit feedback, return, submit claim, etc.). And imagine that in this case we have exactly 20 scenarios that go like this:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Steps:\n- Create item, put item in certain state\n- Create user\n- Create user delivery address\n- Create user billing address\n- Create user payment details\n- Sell item to user\n- User does something with an item</code></pre></div>\n<h2>Back in times…</h2>\n<p>Let’s look at the timeline of our test</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/53febc88a158cff2aeae3979e1d5f8c6/dfeb3/scenario-v1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 28.77164056059357%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABDUlEQVQY04WQWU/CQBSF+6/d8AG3P+ECcemLPrglmvgAsS7RB5cIWIwJUKzGmCiVYkvbmc8ZsAkYiZPcnHPuPXcycww/SEgSicb3doyUEq+TqIoRQvLmxYSR6PHXVkQUC9rK2/L7c72jtd7TZfDPkSP4qGNM5qpk8g/Mmo8Kq2g9bypcLjGdrzC3cc/4Uonsmk12tcKE4jPrNplcmamVMgumzdjindqxCboJxlaxzt6pQ+HK7eHR5ROHF002CzWOr122rQY7Vh3rxkV7D84disq7e9JQPof9s6bq17BuX/pffv4QdLrDzw5j8AJQcal8wP+Zfyr+FQ17/RDEQBaGvlWnk4aa6t812P/Lm+pvrbW8il8UgXMAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"ScenarioV1\"\n        title=\"ScenarioV1\"\n        src=\"/static/53febc88a158cff2aeae3979e1d5f8c6/40fad/scenario-v1.png\"\n        srcset=\"/static/53febc88a158cff2aeae3979e1d5f8c6/707e9/scenario-v1.png 148w,\n/static/53febc88a158cff2aeae3979e1d5f8c6/649e0/scenario-v1.png 295w,\n/static/53febc88a158cff2aeae3979e1d5f8c6/40fad/scenario-v1.png 590w,\n/static/53febc88a158cff2aeae3979e1d5f8c6/b3fef/scenario-v1.png 885w,\n/static/53febc88a158cff2aeae3979e1d5f8c6/301c0/scenario-v1.png 1180w,\n/static/53febc88a158cff2aeae3979e1d5f8c6/dfeb3/scenario-v1.png 1213w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>In this case, if you have twenty tests and you run them sequentially, it will take ~73 min.</p>\n<h2>Time to Improve!</h2>\n<p>What we can improve here? Of course everybody will say “Pffff, let’s run in parallel!”.\nThis is everyone’s first call, but for parallel execution you must always consider multiple aspects:</p>\n<ul>\n<li>Your test should neither rely nor be affected by tests running in parallel. It should be completely isolated.</li>\n<li>You must consider the application under tests. Is it capable of handling parallel execution? Do you have any external\ndependencies that can prevent you from this? Will your application behave in the same way if you run 20 tests concurrently?\nYou can run 20, 50 or 1000 parallel tests on your application, nevertheless under some circumstances you might want to\nreduce number of parallel threads.</li>\n</ul>\n<p>Let’s imagine we would like to keep ten threads for start. </p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d2f1d79c60cd7407462532ce51d3d964/df03a/suite-v1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 62.589928057553955%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABYlAAAWJQFJUiTwAAABHklEQVQ4y61U20rDQBDNXyso+C9F9Au0+u5zqiiCFQULNsYHY7Dd7sxejrOXYDF9SrNwmJPsZDhnZkhhrYVzDt47QBD4UHjvUQQilUDGYaUTDxdDUQjiea4Y17cqcuvyywGnYDZR1dO7xmW5ipyN3cdyUjNfMqazdVJo97Dssudg+Wo2hmUzsuXtoYyi0Mgeph4SpmXqobG7FVjbx7a6qDAV9KlgHoox/WJh6UNeH/8sd1LnS4OLMlne5XjDwMOCcZ9x95aior+cWJBIMj3jtVK4efwRTlirDbTWICKJBG8Zi1rh5PwTR6c1DicVDiYfOD6r8SLfecfQRLmHMuUAK3Biv21bNE0TY3fXQSpLHqH9/oJhnZ8NwqaEf0IQ8Qu8S/jkKbPmpwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"SuiteV1\"\n        title=\"SuiteV1\"\n        src=\"/static/d2f1d79c60cd7407462532ce51d3d964/40fad/suite-v1.png\"\n        srcset=\"/static/d2f1d79c60cd7407462532ce51d3d964/707e9/suite-v1.png 148w,\n/static/d2f1d79c60cd7407462532ce51d3d964/649e0/suite-v1.png 295w,\n/static/d2f1d79c60cd7407462532ce51d3d964/40fad/suite-v1.png 590w,\n/static/d2f1d79c60cd7407462532ce51d3d964/b3fef/suite-v1.png 885w,\n/static/d2f1d79c60cd7407462532ce51d3d964/df03a/suite-v1.png 1112w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>We significantly increased the speed. From ~73 to ~8 minutes. This already looks like a game changer! But can we do more? Spoiler: Yes we can!</p>\n<h2>Removing dependencies</h2>\n<p>If we check our test scenario again, we can clearly see that the actual validation of our test scenario happens only\nafter the third minute! And everything we have up until then it’s just creating preconditions.\nWhat we actually want to test is: <em><strong>“User can do certain action with item purchased on our platform”</strong>.</em>\nWe should not care <strong>HOW</strong> we got this item, we should have another test, testing that user should be able to purchase.\nThis just creates dependency for us that makes our tests:</p>\n<ol>\n<li>Slower</li>\n<li>Less stable. It becomes less stable because we have to go through multiple steps (in some cases maybe through multiple\napplications) with creating item, creating user, adding user info and so on. If something will fail in the middle (which can happen easily)\nit doesn’t really mean that user couldn't leave a feedback on the item.</li>\n</ol>\n<p>   <em>P.S. While writing this article I tried to re-create all these conditions and I didn’t have any successful build.\nAnd it was always something related to other dependencies.</em> </p>\n<p><strong>Solution?</strong> There are many possible answers, the one I chose for this example is to move all logic with test data preparation to the API layer.\nLet’s try this and review our timeline again</p>\n<p> <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/df680a4cadba8a015fb5727b6e47a554/68371/scenario-v2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 31.275385865150284%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAAA9ElEQVQY061QTU/CQBDtX8cU9UDgR2gR5CN4UtBAkAtcvNOybYFoNJ6Mabttd/c5uysETlzY5GXevHkz2RlHKYU0lyiERF5IZMSFtFpeSpSkJ1xACAV+UM+IF6XNU10nTc9ycObnhJ8pLluhQa0bw20yVDXvrHBxuzTxquXD9XzDXW9JeYDrdoAK1Rt9Znz1HjMbOB/fCZrPDP1pjOFii940wuN8g84kwv04xBPxmyGjuMbgNcbdC8NosTH8YRZhMFvDG60weXu3Kydc4etHIRfHX+clkBEU8V9uNToZ0uLYp/vk4cp6qm2zR91hp+1xwif/8z8Hu78KDjTTEgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"ScenarioV2\"\n        title=\"ScenarioV2\"\n        src=\"/static/df680a4cadba8a015fb5727b6e47a554/40fad/scenario-v2.png\"\n        srcset=\"/static/df680a4cadba8a015fb5727b6e47a554/707e9/scenario-v2.png 148w,\n/static/df680a4cadba8a015fb5727b6e47a554/649e0/scenario-v2.png 295w,\n/static/df680a4cadba8a015fb5727b6e47a554/40fad/scenario-v2.png 590w,\n/static/df680a4cadba8a015fb5727b6e47a554/b3fef/scenario-v2.png 885w,\n/static/df680a4cadba8a015fb5727b6e47a554/301c0/scenario-v2.png 1180w,\n/static/df680a4cadba8a015fb5727b6e47a554/68371/scenario-v2.png 1231w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p> Amazing, this is how our test looks now! two minutes just gone.</p>\n<p> And this is how our suite looks now comparing to other runs.\n<a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/85c2500e17e9f80939393028938cff4d/a7e37/suite-v2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 54.833040421792624%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABYlAAAWJQFJUiTwAAABB0lEQVQoz62TTU7DMBCFe3WQuAtCHINuaBddsaFlU7Gomjauyzi2Y8/DM+4fC4qUMtJL4rH15nM8HuWcEWNEZgaQwZwhuSHi4jGShwwkNvuEmMSYdXKI1DClavj67mFd/R5sKHQhRDWZzrtimJTwxi1zNVx47P+D0IegJhMhpBsJKw3OhF0lvAyZP+qvuCBkJdxRr+1zqqodcNaxreQgT/rtH07mHl/+J4Y0gKGMnWN9p3wdUw37Pmn12YdDaz36GA4nn7FcB9w/Nbh7XOHhudExOJW1hPGbxUvRZ+M1J5SHPkx6W0LZujFGRUSlUMmVvOs8NtsW5DpdJzKWsFq3aFqr83rbiuE3AelfXfVuxx0AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"SuiteV2\"\n        title=\"SuiteV2\"\n        src=\"/static/85c2500e17e9f80939393028938cff4d/40fad/suite-v2.png\"\n        srcset=\"/static/85c2500e17e9f80939393028938cff4d/707e9/suite-v2.png 148w,\n/static/85c2500e17e9f80939393028938cff4d/649e0/suite-v2.png 295w,\n/static/85c2500e17e9f80939393028938cff4d/40fad/suite-v2.png 590w,\n/static/85c2500e17e9f80939393028938cff4d/b3fef/suite-v2.png 885w,\n/static/85c2500e17e9f80939393028938cff4d/a7e37/suite-v2.png 1138w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p> Again we manage to halve the test execution time! Considering that it was already pretty fast, it's a great improvement.\nSo at this point you might think we are done here, it’s time to go to bar, grab a beer and celebrate.\nBut then you come back the next day and think \"there must be more\"...</p>\n<p>Having test preparation using API is a great step here, but does it scale from 20 tests to 1000 without having side-effects?\nAt the end, your test data preparation might look like this:</p>\n<p><img src=\"/static/machingun-f6e9bbc355090a0e8c6db2e891dfb64a.gif\" alt=\"machingun\" title=\"Suitemachingun\"></p>\n<p>Assuming you have around 40 calls with a reasonable fan-out for every scenario and you usually run tests in multiple threads,\nyou might involuntary start a load test there. Aaaaand it’s time to look for a solution again!</p>\n<h2>Introducing Q-Service</h2>\n<p>What if we have our test data waiting for us somewhere? Wouldn’t be amazing?!\nOur solution for this problem was to create a Web Service that would keep the data in a queue for us.\nIt provides couple of huge benefits for us:</p>\n<ol>\n<li>Instead of doing all these calls in runtime, we do 1 single call to our API to get test data. And instead of 1 min in test preparation we got &#x3C;1 sec!</li>\n<li>We don’t overload the system while executing tests. Which also means for us we can run more tests in parallel!</li>\n<li>Tests are way more stable. Now we just need to take our test data and check that user can do certain action with that item.</li>\n</ol>\n<p>Let’s look at our timeline again. This is how our test scenario changed:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7756153b5c3b401f4d48add89a0b22f0/e1bf1/scenario-v3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 44.48160535117057%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA/klEQVQoz61STUvDQBDNn7OgHnvqyZ+hNKdePPQPVPyoF6GXtpoexJ8QQTdFz/4BD2LFNDHZ2efOLkm2aQgU+uCx82aGt8zOetBQSqEAx4V28y7qebffK0SaEZI/2jBtoySF34RATo5RGrLZTyyRGlPFrrapRtvPhoTvOMc6ldVFbGiL1QhSk7AbpKpG9zhY6ZtOhkt0zkIc9p/RHbygdy6MPtKac3we+/r0rS7I+uA0xPJjZUc246YZ7h7fMJq+4nIuMHl6N7y+FxgHkeGVjrl+MRO4eYjK/DgQuF1E+PyKN99wHyhHNluTZJg3Mbc1Isumnq0tq9r623TbP/0H4QWmFav5swkAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"ScenarioV3\"\n        title=\"ScenarioV3\"\n        src=\"/static/7756153b5c3b401f4d48add89a0b22f0/40fad/scenario-v3.png\"\n        srcset=\"/static/7756153b5c3b401f4d48add89a0b22f0/707e9/scenario-v3.png 148w,\n/static/7756153b5c3b401f4d48add89a0b22f0/649e0/scenario-v3.png 295w,\n/static/7756153b5c3b401f4d48add89a0b22f0/40fad/scenario-v3.png 590w,\n/static/7756153b5c3b401f4d48add89a0b22f0/b3fef/scenario-v3.png 885w,\n/static/7756153b5c3b401f4d48add89a0b22f0/301c0/scenario-v3.png 1180w,\n/static/7756153b5c3b401f4d48add89a0b22f0/e1bf1/scenario-v3.png 1196w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p> And our test suite looks like this right now:</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/74d130f14924155f9097ed923d184939/6f904/suite-v3.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 590px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 55.95854922279793%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABYlAAAWJQFJUiTwAAABAElEQVQoz62SUU7DMBBEc3KuwDE4AP8coh8IUSpUELSB2I7jxIntXQ+2MfCDhEhraSTvrjR6O9qGmeGcA2JMYuR6rWLyaGIxinAhwsyMVJTBWjWcDcEQhrA9eOTHfIphRuUAmQwfDq4QEp20coGCHBm7Yyj/r96a1xQa8mXlMxF+4uSVd8eaYTxDhsKEPwlzPxB/z6nqV0KVM2xrhjWPelH4T6T1Dgnv/YLti020HhQ8Ou1wed3h4uoNNxuDkHq3+wmbxwmvYkbwHr1ZoJIm69I8/BASEZxPp6M0tNaw1sIHwnM74v5JQo8ei/Plf7dXaMWIYRjQySRlIGSPZZkL4QfC8mBOKQFpMgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"SuiteV3\"\n        title=\"SuiteV3\"\n        src=\"/static/74d130f14924155f9097ed923d184939/40fad/suite-v3.png\"\n        srcset=\"/static/74d130f14924155f9097ed923d184939/707e9/suite-v3.png 148w,\n/static/74d130f14924155f9097ed923d184939/649e0/suite-v3.png 295w,\n/static/74d130f14924155f9097ed923d184939/40fad/suite-v3.png 590w,\n/static/74d130f14924155f9097ed923d184939/b3fef/suite-v3.png 885w,\n/static/74d130f14924155f9097ed923d184939/6f904/suite-v3.png 1158w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n      />\n  </span>\n  </a></p>\n<p>We barely can see it on our timeline :)</p>\n<ul>\n<li>1 test now takes ~30s to run (instead of 3m 40s). And it’s “slow” and “unstable”(as it’s usually called) UI end-to-end test. </li>\n<li>Entire suite takes ~1m</li>\n<li>We can easily double the number, if we need, since these tests are producing a very little amount of our resources</li>\n</ul>\n<h2>How does it work?</h2>\n<p>Stay tuned! We will open-source it soon!</p>\n<h2>Summary</h2>\n<p>In AUTO1 Group, every day we are looking for smarter ways to do software development and testing.\nAnd the main point in this article is that you should never stop innovating and looking for new solutions to existing problems.\nSomething that works for us, is not necessarily going to work for you,\nbut maybe you will ask yourself: <em><strong>“Where is our next level? Can we do something better?”</strong></em></p>","fields":{"slug":"/faster-automation-tests/","tags":["testing","automation"]}}},{"node":{"id":"f7a13c08-6929-58c2-9d9e-eae3b357b1e1","frontmatter":{"category":"Coding","title":"Exploring technologies with Docker","date":"2018-12-19","summary":"Yet another use case for using containers.","thumbnail":{"relativePath":"pages/exploring-technologies-with-docker/thumbnailImage.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,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","width":265,"height":325,"src":"/static/753d78469abf65ded853c2e0d4fb7aec/b3029/thumbnailImage.png","srcSet":"/static/753d78469abf65ded853c2e0d4fb7aec/b3029/thumbnailImage.png 1x,\n/static/753d78469abf65ded853c2e0d4fb7aec/8d141/thumbnailImage.png 1.5x"}}},"authorName":"Marcin Sałata","authorDescription":"Marcin is Senior Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/exploring-technologies-with-docker/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/exploring-technologies-with-docker/headerImage.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABsUlEQVQY0zWR32/SUBiG+x8bM0IJMp2BjQ3SKgzTFlpWKG0puBloOefwQ5jbUDezC70wu9minO87JE6N/gPWYuLt+zwX7/t9kuacrpvtC9EgNjyhJeFRBX2mwg4rr+vkCDZs4/z3NtkOOxAdUgHTX6BpX6zr0RE8HZexTRQhxWQPf4Q6WCdDyHofYD42VqcT42vWu8RNdj80ICZFjOkufg81ME/Cf96CNlfxpMB/hi+weTyAR/41TEZNLrlsFytkHzPdN5Bu3IpMdwnp3lv+wPgittz3UKMl6LACBqSEhyMVMv4ZbJk3Qu4vwKEKV6PnmPLeYca6wYfdBUra9ADLkyLk+jOQzVvMutdQda94rXUlDNJa5V8X4ZBVMNWbY7r1CbdfTrkyqqBFNFCDBa+6c2FQe5VnNTAjA6WY5fFbMkXrjyHrfkSawD/jIv891NF5dQy57mUyTwdKrIR/BqPP4D6qQjzO8zhp+GvQwPbGC5YwpwaXnA4TPWcmbGLxXKhgMHoGEStwPdxH2TvHVP1OPA6m6EYqbkcK2smdgvZMuD7FAd0DPSwK2VtiunEn5ORJfwFIJFacA7WGDwAAAABJRU5ErkJggg==","width":1280,"height":392,"src":"/static/be0acc48b4db44e7e3d00e2d5c353dc3/26421/headerImage.png","srcSet":"/static/be0acc48b4db44e7e3d00e2d5c353dc3/26421/headerImage.png 1x,\n/static/be0acc48b4db44e7e3d00e2d5c353dc3/34a7a/headerImage.png 1.5x"}}}},"html":"<h2>tl;dr</h2>\n<p>Using Docker Compose we are able to quickly set up complex environments consisting of multiple containers, which allows to speed up software evaluation process.</p>\n<h2>Intro</h2>\n<p>Things evolving quickly, tools come and go, last year cutting edge is often legacy now. Dozens of new tools emerges every month\nand approach for being up to date also needs to evolve.</p>\n<p>Containers on production with all its benefits and challenges is a common thing nowadays, but do not forget that containers could also help us in other use cases. One of them is to improve technologies evaluation process. </p>\n<h2>Docker at home</h2>\n<p>Many moons ago when new fancy tool was released and looks so promising to give it a try options were limited - build it from sources, use installer or package manager. Giving a try for new promising tool was quite time consuming. Steps required to download, install, configure system and dependencies were usually not most exciting part of evaluating new message broker or database. Now containers or PaaS solutions allow us to shift focus directly from setup to features that particular products offers.</p>\n<h2>Level 1: Basic usage</h2>\n<p>Using Docker one terminal command is enough to download, run and evaluate interesting applications.</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">docker run postgres</code></pre></div>\n<p>Above example command will pull latest version of <a href=\"https://hub.docker.com/_/postgres\">PostgreSQL</a> image from <a href=\"https://hub.docker.com\">Docker Hub</a> and run it locally. This is a quick and straightforward way of running hundreds of interesting applications. Container will run in sandbox environment, so we do not need to think about operation system settings and other specific configuration that may be required with standard installation. Although it is a simpler way than using installers or building from sources, then comparing to common package managers where also one command is usually enough, user experience looks quite similar.</p>\n<h2>Level 2: Next step</h2>\n<p>The real benefits of using Docker in local environment we can observe if we would like to build some complex environment that contains multiple applications linked together as usually things are more complicated than just running a database or monitoring tool separately. Challenge often starts when we would like to evaluate a monitoring tool that needs a datasource and entire environment should be relatively easily to set up and manage. That is where <code class=\"language-text\">Docker Compose</code> comes to help. </p>\n<p>As stated in <a href=\"https://docs.docker.com/compose\">official documentation</a> Compose is a tool that allow us to define and run multi-container applications. Using it in most common scenarios comes down to creating YAML file with required images and configurations. </p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">version</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'3'</span>\n<span class=\"token key atrule\">services</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">myService1</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> service1\n    <span class=\"token punctuation\">{</span>configuration<span class=\"token punctuation\">:</span><span class=\"token punctuation\">}</span>\n  <span class=\"token key atrule\">myService2</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> service2\n    <span class=\"token punctuation\">{</span>configuration<span class=\"token punctuation\">:</span><span class=\"token punctuation\">}</span></code></pre></div>\n<p>Having <code class=\"language-text\">docker-compose.yml</code> file ready we are able to start it with one terminal command.</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">docker-compose up</code></pre></div>\n<p>Docker will build or download all necessary images, set up necessary configurations, networks and run defined containers for us.</p>\n<h2>Level 3: Hands-on experience</h2>\n<p> In below example we would like to see in action <a href=\"https://hub.docker.com/r/grafana/grafana\">Grafana</a> - open source monitoring tool with <a href=\"https://hub.docker.com/_/postgres\">PostgreSQL</a> as datasource. </p>\n<h3>Define PostgreSQL</h3>\n<p>First thing w need to do is to create empty <code class=\"language-text\">docker-compose.yml</code> file and add PostgreSQL as datasource.</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">version</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'3'</span>\n<span class=\"token key atrule\">services</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">myDatasource</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> postgres</code></pre></div>\n<p>Above we have defined one service called <code class=\"language-text\">myDatasource</code> that will be created using <code class=\"language-text\">postgres</code> image.</p>\n<h3>Define Grafana</h3>\n<p>Having our datasource configured we can extend our Compose file with second service - Grafana.</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">version</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'3'</span>\n<span class=\"token key atrule\">services</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">myDatasource</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> postgres\n  <span class=\"token key atrule\">myMonitoring</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">image</span><span class=\"token punctuation\">:</span> grafana/grafana\n    <span class=\"token key atrule\">ports</span><span class=\"token punctuation\">:</span>\n      <span class=\"token punctuation\">-</span> 3000<span class=\"token punctuation\">:</span><span class=\"token number\">3000</span></code></pre></div>\n<p>Above we have defined second service called <code class=\"language-text\">myMonitoring</code> that will be created using <code class=\"language-text\">grafana/grafana</code> image.\nAdditionaly to basic service definition we have also exposed port 3000, so Grafana user interface can be access from outside the container.</p>\n<h3>Troubleshooting</h3>\n<p>At this point we have configured our environment, so by running <code class=\"language-text\">docker-compose up</code> two containers should be configured and run by Docker.\nThen navigating to <code class=\"language-text\">localhost:3000</code> will allow us to access Grafana web interface where datasource could be set up.\nThing that is worth notice is that if we would like to configure our PostgreSQL datasource with default suggested <code class=\"language-text\">Host - localhost:5432</code></p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0dbbf0ff0acaaaf0a5714c155ad1d684/72b46/DatasourceConfig.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 448px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 45.53571428571428%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsSAAALEgHS3X78AAABiElEQVQoz32SWVPCQBCEeUCOQCABckIqJzfIES3EAqEU5ZLy//+admYDllrKw1fJZnd6ejuTWixX2B+OgtPpA4vlGpvXHd62exyP7xjejlDTDBimDd2wrqLpJlJhs4P4bobb0RSd7gCeF8LzQwRhk4hg1x2olRoqV+D9ak0Xoqlmq4+H+RNM24XjNqmLBUVRoapVQbWqoVgsQZKK/5LPF1Aqq+IWqSBsYxLP6GpT+PRumHXqmghdREslBbJc/oIb/F4rSiVx2O4O8bzZYbXeIIi69LEuxAzDpGto0DRdFGUyOQG7KRRk8fxO+eIwavUwntxTVh68IHHIrlgkKZTQcHw8LtaC/nBCZ12RXY1yu0TCNcJhGHXoh8RUFMD1W0JQoW4sxsh02LQaGFFTjiY4x8Ji/FdZkCPhBkJwQNm9bA7Y7k/oDcbQ6fBoHGM2myPwI2SzeeRyEtLpGyIDnUbIsmyKwxCCzI+xqTdcchbBpXFpOB5t2JSfRa4SF+p5LCrkhOGZ/Evosv4E7kLsTTjvj+sAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Datasource Config\"\n        title=\"\"\n        src=\"/static/0dbbf0ff0acaaaf0a5714c155ad1d684/72b46/DatasourceConfig.png\"\n        srcset=\"/static/0dbbf0ff0acaaaf0a5714c155ad1d684/762ef/DatasourceConfig.png 148w,\n/static/0dbbf0ff0acaaaf0a5714c155ad1d684/c91c8/DatasourceConfig.png 295w,\n/static/0dbbf0ff0acaaaf0a5714c155ad1d684/72b46/DatasourceConfig.png 448w\"\n        sizes=\"(max-width: 448px) 100vw, 448px\"\n      />\n  </span>\n  </a></p>\n<p>We will end up with following error message:</p>\n<div class=\"gatsby-highlight\" data-language=\"markdown\"><pre class=\"language-markdown\"><code class=\"language-markdown\">dial tcp 127.0.0.1:5432: connect: connection refused</code></pre></div>\n<p>This is happening because Compose creates network for our application and inter container communication happens via services names.\nIn our example using <code class=\"language-text\">myDatasource:5432</code> as <code class=\"language-text\">Host</code> solves connection issue.</p>\n<h2>Further explorations</h2>\n<p>This relatively simple example consisting of two containers can be considered as a base for further journeys in world of containers.\nPublic cloud providers offers multiple services like <a href=\"https://aws.amazon.com/ecs\">Amazon Elastic Container Service</a> or <a href=\"https://azure.microsoft.com/en-us/services/kubernetes-service\">Azure Kubernetes Service</a>\nwhich can be utilised as next step in building container based environments.</p>","fields":{"slug":"/exploring-technologies-with-docker/","tags":["docker","compose","grafana"]}}},{"node":{"id":"2154f585-607d-5d96-9cf9-b7397e8bec7a","frontmatter":{"category":"Social","title":"My thoughts on websummit 2018 in Lisboa","date":"2018-12-13","summary":"In this article I want to highlight my personal impressions and key takeaways from being at the web summit for the first time.","thumbnail":{"relativePath":"pages/my-thoughts-on-websummit-lisboa-2018/cocktail-robot.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAbABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAQFA//EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAABRoolNixllRSrRmRyP//EABwQAAMAAQUAAAAAAAAAAAAAAAECAyMAERIhM//aAAgBAQABBQKUGcrBlazZJElZ+l+TUGJp9MFGpkq9SVmTuf/EABYRAAMAAAAAAAAAAAAAAAAAAAAQEf/aAAgBAwEBPwEr/8QAFREBAQAAAAAAAAAAAAAAAAAAEAH/2gAIAQIBAT8BKf/EAB4QAAICAgIDAAAAAAAAAAAAAAABAhEhcRAiEkFC/9oACAEBAAY/AvS2LtGtjPJ5oTzRdD+0RmoS0zuYG1x//8QAHBABAQEBAQEAAwAAAAAAAAAAAREAITFBUWFx/9oACAEBAAE/IYO/0ZjoWs1yU12U/PuVgafP3khLzHmKnJ5jMHE/Bn1BbzvzdTncoEc1Frv/2gAMAwEAAgADAAAAEEMwT//EABcRAQEBAQAAAAAAAAAAAAAAAAABESH/2gAIAQMBAT8QxqI4/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQARIf/aAAgBAgEBPxARLC4bG//EAB4QAQEAAwABBQAAAAAAAAAAAAERACFRQTFhgbHB/9oACAEBAAE/ENUGWwuQ6nA7z4yyEO6NMUsADamaiOsFayU7R4v7l2SPfNPpztTdXibxBEo7OXxhVpaEE4+8slbDPJcmWT1mNFJtVuf/2Q==","width":244,"height":325,"src":"/static/95e8a89ec5f567c5557514c9dd3db63d/a2998/cocktail-robot.jpg","srcSet":"/static/95e8a89ec5f567c5557514c9dd3db63d/a2998/cocktail-robot.jpg 1x,\n/static/95e8a89ec5f567c5557514c9dd3db63d/99cce/cocktail-robot.jpg 1.5x,\n/static/95e8a89ec5f567c5557514c9dd3db63d/6e995/cocktail-robot.jpg 2x"}}},"authorName":"Paul Hofmann","authorDescription":"Paul is Director of Engineering at AUTO1 Group.","authorAvatar":{"relativePath":"pages/my-thoughts-on-websummit-lisboa-2018/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/my-thoughts-on-websummit-lisboa-2018/room-with-a-view.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAMBAgUG/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAABl2dQegEgf//EABkQAAMBAQEAAAAAAAAAAAAAAAECAxEAEv/aAAgBAQABBQJaKFFFXhdczViT7Cjv/8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BQn//xAAXEQADAQAAAAAAAAAAAAAAAAAAAQIR/9oACAECAQE/AVTNP//EABwQAAICAgMAAAAAAAAAAAAAAAACAREhMUFSof/aAAgBAQAGPwKFoyvpqRr62LHFmj//xAAbEAADAAIDAAAAAAAAAAAAAAAAAREhMUFxgf/aAAgBAQABPyGabr5cGken0NcURLj6Lq62jF1of//aAAwDAQACAAMAAAAQUD//xAAXEQEAAwAAAAAAAAAAAAAAAAAAAREh/9oACAEDAQE/EJWqf//EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAgBAgEBPxABg2r/xAAcEAEBAAEFAQAAAAAAAAAAAAABEQAhMUFRkWH/2gAIAQEAAT8QZTUDUXupD3BYZvIGRYT4XCMOQ6Mvjj3ow6wmQoReDP/Z","width":1280,"height":722,"src":"/static/821a479f2f96dafe54f0f65d2df00bef/966a5/room-with-a-view.jpg","srcSet":"/static/821a479f2f96dafe54f0f65d2df00bef/966a5/room-with-a-view.jpg 1x"}}}},"html":"<h1>My thoughts on websummit 2018 in Lisboa</h1>\n<p><em>“Wow, that’s a lot of people”</em> - Exactly my thoughts.</p>\n<p>The sheer amount of people interested in the next level of everything was simply overwhelming.</p>\n<p>In this article I want to highlight my personal impressions and key takeaways from being at the web summit for the first time.</p>\n<h2>About open and closed Social Networks</h2>\n<p>I’m probably not alone as being a frequent user of hackernews on ycombinator as much as reddit and imgur.\nThus I was intrigued by the appearance of the initialised() crew including reddit founder Alexis Ohanian and Garry Tan as much as the panel about the future of social networks that was held with the imgur founder Alan Schaaf.\nWhile Alexis and Garry from initialised() had more to say on an inspirational level of things and encouraged founders to step up by handing a set of values down to them, Allan Schaaf actually shed some light and what he thinks is the future of social networks. He mentioned snapchat, youtube and of course his own platform as open networks, that allow users to explore beyond their filter bubbles.\nHe also pointed out that he believes that social networks should be entertaining as one of their adaption KPIs. I thought all his points were valid and since that day, I started dividing social networks in \"closed/bubble\" and \"open\" categories myself.</p>\n<h2>Biological Hacking</h2>\n<p>From my university days I have a (small but significant) background in microbiology and thus I was excited to see a panel about using DNA as storage and which progress has been made so far on that technology. I was satisfied to see that there are still founders ask the questions of tomorrow's tomorrow, as in \"How can we store all of humanities data?\" Hyunjun Park and his company CATALOG are one of the solving teams on this problem. </p>\n<p>While I thought that the visionary part and the progress that has been made so far was pretty cool, I had a million of technical questions, which unfortunately weren't being read from the web summit in-app possibility to submit questions to the talk hosts. </p>\n<p>The DNA that CATALOG is using is artificial, nevertheless my main burning question was \"Would real life viruses be a threat to those DNA-'Disks'?\" Are hackers of the future writing their own plasmid ring vectors with artificial virus DNA to destroy compromising data? That sounds like a cyberpunk short story waiting to be written. </p>\n<h2>Space Exploration and Tourism</h2>\n<p>Similarly visionary questions are being asked by companies and founders who want to commercially explore space. It never occured to me, that companies like SpaceX or the cubesat projects where just the tip of the iceberg on commercial space usage. </p>\n<p>What I learned is that there are companies like Vector Launch, that sell launches of small scale rockets that can be chartered for surprisingly low prices (50kg payload for 1.5M$, which is around 35 cubesats!). Should I become rich one day and stop caring about money, I will launch a crate of Scottish whisky into space as a measure of refining, in hope that there is also a company that salvages that stuff from space. </p>\n<p>Of course fun and leisure has to be there as well, so there was also Virgin Galactic, a company that is tightly working on making space tourism a reality. Their presentation was pretty convincing. Maybe I'll save the money for the whisky and launch myself - given I'd be rich. A ticket to space currently costs 250.000$. </p>\n<h2>And the best idea of them all</h2>\n<p>An idea that totally baffled me was the what3words project which I find personally absolutely amazing and which in my view is just one billion-people integration away from a breakthrough. These people divided earth into a set of 3x3m squares and addressed each of them with three simple words. My desk at work is //abfinden.hübsch.ansehen - there you go! Pay me a visit. </p>\n<p>They recently integrated into the mercedes benz navigation systems and if you imagine one of the really heavy traffic websites and apps out there using what3words as a location service instead of GPS, just over night large portions of mankind would start using it.\nAfter coming home from the web summit, I found out what all kinds of w3w I have in my personal environment and I now have a w3w for my desk and my wife has one for her favourite spot on the couch. The fridge w3w is popular, the one for the dishwasher isn't. You gotta love the future! </p>\n<h2>Final Words</h2>\n<p>I truly enjoyed my time at the Altice arena, including the night-summits and the cheap cab rides. If time allows, I will definitely try to catch the 2019 web summit. While I sometimes missed the technical deep dives on topics, it was deeply satisfying for the curios me to explore, watch and meet the hundreds and thousands of booths, speakers and enthusiasts from all over the world. </p>\n<h3><em>And the really really final words</em></h3>\n<p>I’m so going to build my own cocktail robot!</p>\n<p><a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/95e8a89ec5f567c5557514c9dd3db63d/89a6c/cocktail-robot.jpg\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 576px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 133.33333333333331%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAbABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAQFA//EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAABRoolNixllRSrRmRyP//EABwQAAMAAQUAAAAAAAAAAAAAAAECAyMAERIhM//aAAgBAQABBQKUGcrBlazZJElZ+l+TUGJp9MFGpkq9SVmTuf/EABYRAAMAAAAAAAAAAAAAAAAAAAAQEf/aAAgBAwEBPwEr/8QAFREBAQAAAAAAAAAAAAAAAAAAEAH/2gAIAQIBAT8BKf/EAB4QAAICAgIDAAAAAAAAAAAAAAABAhEhcRAiEkFC/9oACAEBAAY/AvS2LtGtjPJ5oTzRdD+0RmoS0zuYG1x//8QAHBABAQEBAQEAAwAAAAAAAAAAAREAITFBUWFx/9oACAEBAAE/IYO/0ZjoWs1yU12U/PuVgafP3khLzHmKnJ5jMHE/Bn1BbzvzdTncoEc1Frv/2gAMAwEAAgADAAAAEEMwT//EABcRAQEBAQAAAAAAAAAAAAAAAAABESH/2gAIAQMBAT8QxqI4/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQARIf/aAAgBAgEBPxARLC4bG//EAB4QAQEAAwABBQAAAAAAAAAAAAERACFRQTFhgbHB/9oACAEBAAE/ENUGWwuQ6nA7z4yyEO6NMUsADamaiOsFayU7R4v7l2SPfNPpztTdXibxBEo7OXxhVpaEE4+8slbDPJcmWT1mNFJtVuf/2Q=='); background-size: cover; display: block;\"\n    ></span>\n    <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;box-shadow:inset 0px 0px 0px 400px white;\"\n        alt=\"Cocktail Robot\"\n        title=\"Cocktail Robot\"\n        src=\"/static/95e8a89ec5f567c5557514c9dd3db63d/89a6c/cocktail-robot.jpg\"\n        srcset=\"/static/95e8a89ec5f567c5557514c9dd3db63d/f249d/cocktail-robot.jpg 148w,\n/static/95e8a89ec5f567c5557514c9dd3db63d/da363/cocktail-robot.jpg 295w,\n/static/95e8a89ec5f567c5557514c9dd3db63d/89a6c/cocktail-robot.jpg 576w\"\n        sizes=\"(max-width: 576px) 100vw, 576px\"\n      />\n  </span>\n  </a></p>","fields":{"slug":"/my-thoughts-on-websummit-lisboa-2018/","tags":["conference","opinions","future"]}}},{"node":{"id":"7cae20df-634c-53fc-9b57-d14a4a98b03e","frontmatter":{"category":"Social","title":"Embeddable Lightweight React Widgets","date":"2018-12-11","summary":"This article will introduce two approaches to integrate lightweight react apps (we will call them widgets) that can be embedded in any project","thumbnail":{"relativePath":"pages/embeddable-leightweight-react-widgets/thumbnail.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAABYlAAAWJQFJUiTwAAACDElEQVQ4y6WSa0tUURSG92+q6GL3soIypA+FRQbWkLcZtbxEQmpoF7MUoYxKbIgmJYmSoiDDz/2EOmdGZ+aM5khfDwNJ+2nts3Ps4uSBPjyss9c+e6137XerVCpFMpnExP9hpYYKfcgcCIEylUPhuqFQ6XSa9ZgzZL1QKM/zKEk2S8bL8TWX4Xu8l+XhFpbvtq1BaxHlisxSmBE+J1Pkk5+gsxIim6BhO9RuhfObLbVboH4b1FnUeka4s3MszTpw9RS6aQ/6Qjn60lF01wnL5Up0y37JHwhQKdehJI6DK0WXjMKeKnRsN0R3wmAjTA5b7rVZ1dKI5n3icu4LReYNixZZp3ILOAt58tm0LVhfBt1V8OQaTCfgwzgk+qH3NJhmolQVJoYojA9i4x0KT29RSAys5hK3+TYzKYeq0UaJjIgYxNs4vIvbgp3HoGmvLRhcqOlcJxfdLMmhKPRV24s2Bc5tgJF29PUaaJRxo7usorFuoQf6I5LfsTqyvngQ3XoILQvddwY98xz9bADdcYRgLyZGjF5B36hBS7HAFLPXUYFuPywGVfw0pTxABSoMRmVMut88C13HrULTObIR7neIyyftt8mtPJMgymQNZUWU/+Yx/mshiGP4rx7iTz2ya8PUKP7H9/jTE/gvRuz+n7x8YJFv5YqbvyEOB/yay3i43vzf+TX49zss4hLuP4cfa1IV+zKNxLYAAAAASUVORK5CYII=","width":402,"height":325,"src":"/static/dd3ba552f348daf0d9beb74158081069/b3029/thumbnail.png","srcSet":"/static/dd3ba552f348daf0d9beb74158081069/b3029/thumbnail.png 1x,\n/static/dd3ba552f348daf0d9beb74158081069/8d141/thumbnail.png 1.5x,\n/static/dd3ba552f348daf0d9beb74158081069/ee72c/thumbnail.png 2x,\n/static/dd3ba552f348daf0d9beb74158081069/5dfa8/thumbnail.png 3x"}}},"authorName":"Kareem Elbahrawy","authorDescription":"Kareem is Senior Frontend Engineer at AUTO1 Group","authorAvatar":{"relativePath":"pages/embeddable-leightweight-react-widgets/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAFRUlEQVQ4yyWUa1BUZRjHz8e+9MEP1SiWgrvsLrDAooBAYHIzHanwMpmZt3FMI8NMRSdzwEuYiAgusAu4BMsuuyzLXpDLAuH97piXvKIoCKiJWVYz9enXA334z3vOM+f83v/z/M97lJHBuwwN3Gbo0W2GB+7Q33d9/Pr50L1x/TooetzH6FAfL4b7+O3JA1G/6CEvRvoZHX7A6IjURu7zx9OHKAMPbvBs7MXHd3km6rt5iVtXz/P7037+fD7Av6+e8UQ2ePLwJk9l45dSH7p/nd8F+vfoY17JMy8F/lyMjW2o/HL1LCOPbomTu/LiLW5fPcfxrlbuXrvA0L3r+Jrq8DqPcPlUgJuXTnDj4ikunezmyukefhPXf78YFPAgf4n+eTmMcuPKaU71tjPcf2t89zvXL+Ky19PpaWbDmhW88fpraN6ZSKI+lB05qzgd8HHj0hm6fU0M3PmZZ2JiVDp8+ugmg/euoXS0NeNvsXOs08fJnlbavE5qzCZKiw+QFhvNR4mxLEpO4IM4A+kGHaX5ebjtNmpNldgsZurNRkyHSqg2llB16AcUU9l+qkr2UrF/F8Z9+VQW78ViLCYvdz3ZSXHs/HQh3y75kMK1y1gyK4Fl6Ql46spw1JRQX7EPl+UglQd3U7AjD2PRPpTCb3M5lP81Zbs2iTZTWrCJw3s3UZC7nIXJ8axMS+KbxfNZm5XGuqwMNn6cSYNxK+WFX2Dcu57yPespK5C1cBvmsp0oFpNR7B6ktlJU8b8ctZWYC3eS80EGOfNS2Zg9h1XpSXy3fDGm3BVYindTuGMzu/I2cKBgK3vyvmJzzjq25K5E8bmdHPU4ZXYOumSevZ0eLp/9iYC7QdpdwPcrl1C4aikHPl9G9ebVdFYXc+HsCY73tNMb8NPb7uZYhxdLZRkF2/NQGhstOB0WXM5aPG4rbT473R3NnJGA8pcvYuuCuez4JJtt2al4Du/m3IkAPRJgV0cL7f4mGo4Y6TraRG+Xl8BR1xiwFocAm1x1tHgaaPXZxKmL86e6KN6SI6A55I8FsyiDs946qffQJoB2kd/nwO+10d7qEEmXfieKzVYz7tApDt3uegLtzZwTWK2plKVpyXy3eK7McTar56ZRXr4fe3cLAXHj8drx+hplteGTrnxy7fM7UKwN5nGYSxwelWJFaRGLsubyfmoK2ZLylx9msnBOJu+npRMVE01mzmcYPRY5KYHx51sF1ioO/f5GWloaUH60lGOtM2G3mvFLEPPSZvPWhAmERYSTEh9HltzPiIlBowklIiyMMJ2W9xJm0GY1crLbTXvL/2PyiTweK0ptdRn1MthGq0AtFcTNiCE4VI1WFGaIRquPIDRchyZMh0EfSaRKjXryZPSTgsjYsobS0166PAJsscqJE6BVHNrrKmhqqKL6cBGRiTMJmTpVzu8UVHodoVGRaCIi0Ov1xEdGEz5NRXhIMOqgybxp0JNeV4S30yU/kR/xyOiUsdjra0ppqjdRU1mMPikBVdDb6KYINCpCFIVWgLHRMSREGdCrBBg8Fa1azdSQaQTNTyfPZaZDMnDZq6RlgVhrynAK0FpbQcKsJFQTJxGj1ZIYF0+YAPWi5Nh4kgzTiRJQuHQQqpqGSqfjLa2GlO3rcTlq8DRWozis1TilZbfNhE3CSU1NRT0xiDhpMTMpmZTYmURrw5muCyMx2oBBoxGHIWhkxqFSmxyiwvBxFs2eOvyNNShF+37AXGnGYaunylxOSmIyEcFqkmNiyUh6l9nxM8eD0MpMx0D6aSFEhISMh6bW6pgiQJV8p4eOlNAmM/wPrWQIzBh2TMkAAAAASUVORK5CYII=","width":50,"height":50,"src":"/static/ea2656d13f68652e7e988d1a80c98c8b/45876/avatar.png","srcSet":"/static/ea2656d13f68652e7e988d1a80c98c8b/45876/avatar.png 1x,\n/static/ea2656d13f68652e7e988d1a80c98c8b/eb85b/avatar.png 1.5x,\n/static/ea2656d13f68652e7e988d1a80c98c8b/4f71c/avatar.png 2x,\n/static/ea2656d13f68652e7e988d1a80c98c8b/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/embeddable-leightweight-react-widgets/header.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAAA50lEQVQY032OsUvDQBTG+0e6OhYXFzcXXXQRxUEQpODgJIg4OImubiKiUoRCPC6X0FqSixbbhOQuP5ujOtRrP/h4D973/XgtZqrr2rlRWZbkee5cFIV3Npn5XqOWD6i1RgiBUoo4jpFSosKQKIoY9Pu8BwFJkiwHzh8n4zF6WsrS1DnJMvTXaDo/+Z7kXpj3w9/AIM14E5KeVM6i+4J4fSJ4fmQYhd7Ogg+t20fdBz7uLhne36BvL2BrBU63YXcVznZwCGsXf/gHtMbt9rqD2WtjTjYx+2tUh+tU5wdURxuYq+NZ/j/wB5xHx6fGez75AAAAAElFTkSuQmCC","width":1280,"height":420,"src":"/static/4786c8105880f38270b7cd8b2ee3faaf/26421/header.png","srcSet":"/static/4786c8105880f38270b7cd8b2ee3faaf/26421/header.png 1x,\n/static/4786c8105880f38270b7cd8b2ee3faaf/34a7a/header.png 1.5x,\n/static/4786c8105880f38270b7cd8b2ee3faaf/77cb2/header.png 2x"}}}},"html":"<p><em>\"We need to re-write EVERYTHING!\"</em>... It's understandable that a huge technical debt is created during the first period of building a company app, a lot of business needs, a lot of deadlines and smaller teams. And for webapps where a proper frontend solution was not considered, most of this technical debt falls on frontend and by time it becomes harder and harder to refactor till it reaches a point where the right way to refactor it is to re-write it. But that's not an option sometimes, isn't it?</p>\n<p>As an alternative, This article will introduce two approaches to integrate lightweight react apps (we will call them widgets) that can be embedded in any project.</p>\n<ul>\n<li>Traditional Approach</li>\n<li>Standalone Approach</li>\n</ul>\n<h2>React Widgets: Traditional Approach</h2>\n<p>React widgets implemented directly in your codebase.</p>\n<p>Create a similar folder structure to this:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">.\n├── server\n    └── ....\n├── frontend\n    ├── widgets\n        ├── login.js\n        └── subscribe.js\n    └── components\n        ├── Login.js\n        ├── Subscribe.js\n        └── ....\n├── dist #ignored\n    ├── widget_login_bundle.js\n    └── widget_subscribe_bundle.js\n├── webpack.config.js\n└── package.json</code></pre></div>\n<p><code class=\"language-text\">/frontend/widgets</code> directory will contain entry points for all the widgets, each file inside should render a react app in a corresponding DOM element id</p>\n<p>For example <code class=\"language-text\">/frontend/widgets/login.js</code></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">'react'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> ReactDOM <span class=\"token keyword\">from</span> <span class=\"token string\">'react-dom'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> Login <span class=\"token keyword\">from</span> <span class=\"token string\">'../components/Login'</span><span class=\"token punctuation\">;</span>\n\nReactDOM<span class=\"token punctuation\">.</span><span class=\"token function\">render</span><span class=\"token punctuation\">(</span>\n    <span class=\"token operator\">&lt;</span>Login <span class=\"token operator\">/</span><span class=\"token operator\">></span><span class=\"token punctuation\">,</span>\n    document<span class=\"token punctuation\">.</span><span class=\"token function\">getElementById</span><span class=\"token punctuation\">(</span><span class=\"token string\">'widget:login'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token comment\">// &lt;-- NOTE the element id</span>\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p><code class=\"language-text\">webpack.config.js</code> will look like this</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">module<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n    entry<span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">'./frontend/widgets/login.js'</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">'./frontend/widgets/subscribe.js'</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    output<span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        filename<span class=\"token operator\">:</span> <span class=\"token string\">'widget_[name]_bundle.js'</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token operator\">...</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Now running <code class=\"language-text\">webpack</code> from the project folder will create two bundle files <code class=\"language-text\">widget_login_bundle.js</code> and <code class=\"language-text\">widget_subscribe_bundle.js</code> in the <code class=\"language-text\">dist</code> folder.</p>\n<p>Now you can use a widget in one of your views like this</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\">...\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>widget:login<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">defer</span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>/dist/widget_login_bundle.js<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n...</code></pre></div>\n<h3>Pros</h3>\n<ul>\n<li>Easy to implement and straightforward.</li>\n<li>Doesn't need any further backend integration to make it work (except for SSR).</li>\n</ul>\n<h3>Cons</h3>\n<ul>\n<li>Depending on your backend, it might not be an easy task to server side render (SSR) widgets with this approach.</li>\n<li>You will need to configure your deployment process to run webpack.</li>\n<li>The frontend development and deployment processes are tightly coupled to the backend.</li>\n</ul>\n<hr>\n<h2>React Widgets: Standalone Approach</h2>\n<p>In this approach we will keep all frontend in a separate repository and have an npm script to generate an html and bundle js file for each widget and upload them to a CMS.</p>\n<p>But first, A new database model need to be introduced that will hold the widget data (name and html) and there should be a way to upload assets to a content server.</p>\n<p>For example you may expose two web service APIs similar to this:</p>\n<ul>\n<li>POST <code class=\"language-text\">example.com/api/widget/save-or-update</code> (Save or upload a widget entry in the database)</li>\n<li>POST <code class=\"language-text\">example.com/api/content-server/upload</code> (Upload an asset file to content server)</li>\n</ul>\n<p>The folder structure will be similar to the previous approach but this time in a separate repository:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">.\n├── frontend # Same as before\n├── dist # Same as before\n└── scripts\n    ├── deployWidget.js\n    └── ....\n├── webpack.config.js\n└── package.json</code></pre></div>\n<p><code class=\"language-text\">/scripts/deployWidget.js</code> is a nodejs script that expects a <code class=\"language-text\">--widget</code> argument and will do the following:</p>\n<ul>\n<li>Upload this widget bundle file to a content server</li>\n<li>Create or update the widget entry html value in the database.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> path <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'path'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> argv <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'yargs'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>argv<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> uploadAssetToContentServer <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'./uploadAssetToContentServer'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> createOrUpdateWidgetEntry <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'./createOrUpdateWidgetEntry'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token function-variable function\">deployWidget</span> <span class=\"token operator\">=</span> <span class=\"token keyword\">async</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\"><span class=\"token punctuation\">{</span> widget <span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">const</span> bundleFile <span class=\"token operator\">=</span> path<span class=\"token punctuation\">.</span><span class=\"token function\">join</span><span class=\"token punctuation\">(</span>\n        process<span class=\"token punctuation\">.</span><span class=\"token function\">cwd</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">'dist'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token string\">widget_</span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>widget<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token string\">_bundle.js</span><span class=\"token template-punctuation string\">`</span></span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">const</span> uploadedUrl <span class=\"token operator\">=</span> <span class=\"token keyword\">await</span> <span class=\"token function\">uploadAssetToContentServer</span><span class=\"token punctuation\">(</span>bundleFile<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">const</span> html <span class=\"token operator\">=</span> <span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token string\">\n        &lt;div id=\"widget:</span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>widget<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token string\">\">&lt;/div>\n        &lt;script defer src=\"</span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>uploadedUrl<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token string\">\">&lt;/script>\n    </span><span class=\"token template-punctuation string\">`</span></span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">await</span> <span class=\"token function\">createOrUpdateWidgetEntry</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n        name<span class=\"token operator\">:</span> widget<span class=\"token punctuation\">,</span>\n        html<span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span><span class=\"token template-string\"><span class=\"token template-punctuation string\">`</span><span class=\"token string\">widget </span><span class=\"token interpolation\"><span class=\"token interpolation-punctuation punctuation\">${</span>widget<span class=\"token interpolation-punctuation punctuation\">}</span></span><span class=\"token string\"> deployed successfully</span><span class=\"token template-punctuation string\">`</span></span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token function\">deployWidget</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n    widget<span class=\"token operator\">:</span> argv<span class=\"token punctuation\">.</span>widget<span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">catch</span><span class=\"token punctuation\">(</span>console<span class=\"token punctuation\">.</span>error<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p><strong>NOTE:</strong> I encapsulated the logic to upload the bundle file and save widget entry in <code class=\"language-text\">uploadAssetToContentServer.js</code> and <code class=\"language-text\">createOrUpdateWidgetEntry.js</code> respectively, which you will need to implement.</p>\n<p>In <code class=\"language-text\">package.json</code></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token operator\">...</span>\n<span class=\"token string\">\"scripts\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token operator\">...</span><span class=\"token punctuation\">.</span>\n    <span class=\"token string\">\"deploy-widget\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"webpack &amp;&amp; ./scripts/deployWidget\"</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>And now to deploy the login widget:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">npm run deploy-widget -- --widget login</code></pre></div>\n<p>Going back to the backend repository, You can render a specific widget using the html value saved in DB, for example</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">...\n{{ getWidgetHtmlFromDB('login') | raw }}\n...</code></pre></div>\n<h3>Pros</h3>\n<ul>\n<li>You have full control over what to put in the widget html so it's quite easy to enable SSR, critical css, ...etc.</li>\n<li>The development and deployment processes for frontend is totally separated from backend (happier developers).</li>\n<li>Deployment process is much faster which will make daily AB tests more realistic.</li>\n<li>More suited for larger teams where separation between frontend and backend is more clear.</li>\n</ul>\n<h3>Cons</h3>\n<ul>\n<li>Remember the saying \"with great flexibility comes great responsibility\"? The widget deployment process is merely updating an entry in DB, if you didn't build proper versioning around this feature or you allowed developers to push directly to production DB then disasters might happen.</li>\n<li>SSR is quite hacky with dynamic data... doable but hacky.</li>\n<li>Needs a lot of work on the backend side to integrate and maintain this feature properly in the CMS.</li>\n</ul>\n<hr>\n<h2>What's next</h2>\n<ul>\n<li>Having one vendor file that's shared between all widgets. @see <a href=\"https://webpack.js.org/plugins/dll-plugin/\">webpack DllPlugin</a></li>\n<li>\n<p>For <code class=\"language-text\">Standalone Approach</code></p>\n<ul>\n<li>Add Server Side Rendering and critical css in <code class=\"language-text\">deployWidget.js</code> script.</li>\n<li>Add versioning for the widget entry in CMS i.e. each widget deployment should be associated with a version number that you can rollback in CMS.</li>\n<li>Only allow the script <code class=\"language-text\">deployWidget.js</code> to deploy widgets to QA env. and create the scary-red \"Move to production\" button in QA CMS to just copy the entry from QA DB to Production DB.</li>\n</ul>\n</li>\n</ul>","fields":{"slug":"/embeddable-leightweight-react-widgets/","tags":["auto1","engineering","react","widgets","refactoring","modularity"]}}},{"node":{"id":"2b607647-03dd-50d4-8f72-310a92d54e79","frontmatter":{"category":"Coding","title":"Yet another story about a monolith and microservices","date":"2018-12-04","summary":null,"thumbnail":{"relativePath":"pages/vigolante/square-gopher.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsSAAALEgHS3X78AAABpklEQVQoz32SS0sCURiG/Qn9gH5BUHtXLWsXbdto3h3NQAMpESpoExIpVJDUpiBwEQTSBa3UURscrzM6F8PLjKMJujBRy0vZqCVi6uHjnMPH+/Ce9+NwACzTKwXOCJG02OnXunxyd0gUpZREtrO7/Me+sAkKST0ROZHt69ni9A4lS6LUAYxUarVGvf6Wz++BPn6U1kPhYrHYZler6SPiIi+iIHMARg/CtAxn1oPklcVybjZ/d7RtNJHkeSKn1jsJn4eTJNtpVCu7ICwmcorYIByjJbHMFprUqNVcLrfLthMUxQY5urevLC/hBMF2PsvvehCWkENwN7AISV24oWqh0P5qtT5qhueXWe3O4uZ2MEm1ms1yqXQJBYSBuGIgNqd/k+OMJEDuQ+GzIKoDYY3ZNDM9tTA/p7u51jhglRMWhBLAyIH9+hNZMc7w8ZzQG4nbjZHbQwY8cVuNgnASeM2zrxsUD8MdHqPXsIwwShsebKjHBYJO1aMLwBjgL+ckuDc/GZHbgHGTzWF4cstZ8p/neLjjn5HG6FUkLUBSIwWT4P7PUY7x7NUPicXZxAqt2owAAAAASUVORK5CYII=","width":570,"height":325,"src":"/static/dc7ba27f8138dca1c3ae8defbfbb334d/b3029/square-gopher.png","srcSet":"/static/dc7ba27f8138dca1c3ae8defbfbb334d/b3029/square-gopher.png 1x"}}},"authorName":"Dmytro Malyshenko","authorDescription":"Team Lead Software Engineer","authorAvatar":null,"headerImage":{"relativePath":"pages/vigolante/golang-banner.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAFABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAIE/8QAFQEBAQAAAAAAAAAAAAAAAAAAAQT/2gAMAwEAAhADEAAAAdNFEwD/AP/EABcQAQADAAAAAAAAAAAAAAAAAAABESH/2gAIAQEAAQUCRi3/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAgBAwEBPwFX/8QAFREBAQAAAAAAAAAAAAAAAAAAABH/2gAIAQIBAT8BR//EABQQAQAAAAAAAAAAAAAAAAAAABD/2gAIAQEABj8Cf//EABgQAQADAQAAAAAAAAAAAAAAAAEAESFR/9oACAEBAAE/IYrWRWHMn//aAAwDAQACAAMAAAAQg+//xAAWEQEBAQAAAAAAAAAAAAAAAAABABH/2gAIAQMBAT8QHGVt/8QAFhEBAQEAAAAAAAAAAAAAAAAAAQAR/9oACAECAQE/EE0gZf/EABgQAQEBAQEAAAAAAAAAAAAAAAERACEx/9oACAEBAAE/EM/EsTpfcEVGYUK7/9k=","width":1280,"height":333,"src":"/static/b2168e9dcfd879a80bb3db0d5b429775/966a5/golang-banner.jpg","srcSet":"/static/b2168e9dcfd879a80bb3db0d5b429775/966a5/golang-banner.jpg 1x,\n/static/b2168e9dcfd879a80bb3db0d5b429775/aa36d/golang-banner.jpg 1.5x"}}}},"html":"<p><strong>The story about how one hackathon project sped up the development of our back office system by 2 days per feature. The story about how we enabled our teams to develop in the newest technology-agnostic stack by extending the architecture of legacy monolith application. The story about how we enabled our teams to extend a monolith back office without touching it.</strong></p>\n<h3>Once upon a time, there was a startup which was built as a monolith...</h3>\n<p>In AUTO1, as in the majority of other companies, we also have a back-office software (aka “Admin”) where our employers can manage our business operations. We’ve got a lot of business processes, and therefore a lot of business logic put into the code.</p>\n<p>A couple of facts about Admin:</p>\n<ul>\n<li>it's a web-based software, built with PHP</li>\n<li>the first commit dates back to 1st of Aug, 2013, by the current VP of Engineering</li>\n<li>it was built on the Silex framework, using ORM (doctrine) with direct connection to MySQL</li>\n<li>32.5k commits</li>\n<li>~100 contributors</li>\n<li>~600k lines of code</li>\n<li>at some point in time, we had 4 teams dedicated only to Admin</li>\n</ul>\n<p>From these facts, you can see, that what the thing we’re talking about - it's a typical monolith.</p>\n<p>An authentication between requests was handled with a very common approach for PHP applications - <a href=\"http://php.net/manual/en/book.session.php\">PHP Sessions</a>. With this approach the session identifier for the current user is put in a cookie, and on the server side, the session data is somehow stored as a document.</p>\n<p><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAugAAAGACAYAAAD/FZc6AAAgAElEQVR4XuydBZgUxxaFz7rg7oEEh/ACRIDggUBwgkNwdwmeYAGCu7u7u5MACYQkBAgQ3F2XxdblfbdmZ1ZYmZXp7Zk9lfDNznR1ddV/q7tP3759287zrXcwWEiABEiABEiABEiABEiABHRBwI4CXRd2YCdIgARIgARIgARIgARIQBGgQOdEIAESIAESIAESIAESIAEdEaBA15Ex2BUSIAESIAESIAESIAESoEDnHCABEiABEiABEiABEiABHRGgQNeRMdgVEiABEiABEiABEiABEqBA5xwgARIgARIgARIgARIgAR0RoEDXkTHYFRIgARIgARIgARIgARKgQOccIAESIAESIAESIAESIAEdEaBA15Ex2BUSIAESIAESIAESIAESoEDnHCABEiABEiABEiABEiABHRGgQNeRMdgVEiABEiABEiABEiABEqBA5xwgARIgARIgARIgARIgAR0RoEDXkTHYFRIgARIgARIgARIgARKgQOccIAESIAESIAESIAESIAEdEaBA15Ex2BUSIAESIAESIAESIAESoEDnHCABEiABEiABEiABEiABHRGgQNeRMdgVEiABEiABEiABEiABEqBA5xwgARIgARIgARIgARIgAR0RoEDXkTHYFRIgARIgARIgARIgARKgQOccIAESIAESIAESIAESIAEdEaBA15Ex2BUSIAESIAESIAESIAESoEDnHCABEiABEiABEiABEiABHRGgQNeRMdgVEiABEiABEiABEiABEqBA5xwgARIgARIgARIgARIgAR0RoEDXkTHYFRIgARIgARIgARIgARKgQOccIAESIAESIAESIAESIAEdEaBA15Ex2BUSIAESIAESIAESIAESoEDnHCABEiABEiABEiABEiABHRGgQNeRMWLTlTdv32HZ6vX45bcT8PB4iUwZMuCbyhXQomkDODk6xqYps+p27j0Qbm5umDp2RJT1Z85fgnWbd+DY3i1wcLA3q11WIgESIAESIAESIAESCE+AAt0KZ4S/vz869xmMi5evomypL5Dzg+y4fPU6Tp05hy9LfIZJo4fCzs4uQUfWoUc/JdBnTBgVZbt7DvyC3/74Cz8PHQB7ewr0BDUAGyMBEiABEiABEkgyBCjQrdDU23btw/hpc9CvZ2fU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\" alt=\"Monolith PHP Application\"></p>\n<h3>The moment any monolith is afraid of</h3>\n<p>Then we’ve got our first microservices. Some business logic started to live its own life. And of course, our Admin should have had some control over it. So our Admin started to interact with our microservices, and initially it was treated more or less as a third-party API.</p>\n<p><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAugAAAKgCAYAAADJUYiRAAAgAElEQVR4XuydCbxNVfvHf+5w7mxWhqSISoNSSiHNRSVlJkmGyJCMCU00ERlC5nnOXFQoSSV5iZAMhTJmuK47j+/nWbd9nHuce++Zz977/Pb77+86Z+21nvV91rl++znPelaR+MSUHPAiARIgARIgARIgARIgARLQBYEiFOi68AONIAESIAESIAESIAESIAFFgAKdC4EESIAESIAESIAESIAEdESAAl1HzqApJEACJEACJEACJEACJECBzjVAAiRAAiRAAiRAAiRAAjoiQIGuI2fQFBIgARIgARIgARIgARKgQOcaIAESIAESIAESIAESIAEdEaBA15EzaAoJkAAJkAAJkAAJkAAJUKBzDZAACZAACZAACZAACZCAjghQoOvIGTSFBEiABEiABEiABEiABCjQuQZIgARIgARIgARIgARIQEcEKNB15AyaQgIkQAIkQAIkQAIkQAIU6FwDJEACJEACJEACJEACJKAjAhToOnIGTSEBEiABEiABEiABEiABCnSuARIgARIgARIgARIgARLQEQEKdB05g6aQAAmQAAmQAAmQAAmQAAU61wAJkAAJkAAJkAAJkAAJ6IgABbqOnEFTSIAESIAESIAESIAESIACnWuABEiABEiABEiABEiABHREgAJdR86gKSRAAiRAAiRAAiRAAiRAgc41QAIkQAIkQAIkQAIkQAI6IkCBriNn0BQSIAESIAESIAESIAESoEDnGiABEiABEiABEnCbQE5Ojsv3FilSxOV7eAMJBBMBCvRg8jbnSgIkQAIkQAIuEHBFfDvbtjBxXtj7LpjPpiRgWAIU6IZ1HQ0nARIgARIgAe8ScCSy5TURzeFhoQgNCUFISBFI/FsT0hIMl1e0oHh+Ajs30J6D7JwcyM/yZ1ZWDrKys5CZlQ1tHPsZUbB718fszRgEKNCN4SdaSQIkQAIkQAI+IWAvyuXvYaGhsISFIiz0P0Hup5QUEe3Z2TlIy8xEenqmmq+tQKdY98kSYKc6JECBrkOn0CQSIAESIAES8CUBW1EuP4eEhCAiPEwJcomS+0mPFzpFEetZ2dlIzchEZmYWxXqhxNjALAQo0M3iSc6DBEiABEiABAogYC/KRYhHRYQrUW6EyLSkxYhYT0nLQGYWxToXu7kJUKCb27+c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sS1iPe/aqiFcXZx10T42ggRIgASskQAFujWOKvtEAiRAAglAIDLreakvPkO5Ul8kQOksggRIgARIICoCFOicGyRAAiRAApESOHzibxyj9ZyzgwRIgAQ0J0CBrjlyVkgCJEAC+icQqfW82GcoV5LWc/2PHltIAiRg6QQo0C19BNl+EiABEjADgT//OoOjp/4xlkzfczNAZpEkQAIkEAUBCnRODRIgARIggXAEIrOef1XsM3xN6zlnCgmQAAloQoACXRPMrIQESIAELIfAnyfP4ujJc7SeW86QsaUkQAJWRoAC3coGlN0hARIggfgQiMx6XvrLz1G2RNH4FMt9SYAESIAEYkGAAj0WsJiVBEiABKydwJGT53Dk5Flaz619oNk/EiABXROgQNf18LBxJEACJKAdAV9fP/XWUB9fX2OlpYsXRtniRbRrBGsiARIgARIABTonAQmQAAmQgCJA6zknAgmQAAnogwAFuj7Gga0gARIggUQlEJn1vEzxwihD63mijgsrJwESsE0CFOi2Oe7sNQmQAAmEIyAxzyX2uSG5ODuhc8sGcHVxJikSIAESIAGNCVCgawyc1ZEACZCA3ghEbj0vArGgM5EACZAACWhPgAJde+askQRIgAR0ReDYqX9wOIL1vGurhnB2dtJVO9kYEiABErAVAhTotjLS7CcJkAAJREKA1nNOCxIgARLQHwEKdP2NCVtEAiRAApoRuH77HtZv32+sT3zPaT3XDD8rIgESIIFICVCgW+jEePvuPRavWIPf/zyGly9fIUO6dPimUnk0b1wPTo6OCd6rTr0GwM3NDZPGDI+y7GlzFmL1hq04vGsjHBzsE7wNLJAESCDhCVy7dRcbdhwwFlyu1Bco9cVnCV8RSyQBEiABEjCZAAW6yaj0k9HPzw+deg/CxctXUbZUcWT/KCsuX72O02f/xVclimHCqCGws7NL0Aa3795XCfSpv46Mstyde3/Hn8dP4pch/WFvT4GeoAPAwkjAjAQOnTiD46f/QfasmdC49jdmrIlFkwAJkAAJmEKAAt0USjrLs3n7boybPBN9e3TC97WqG1s3cfpcrN+yA3Mmj0OhT/InaKtNEegJWiELIwESIAESIAESIAEbJUCBboED32vgMFy8cg27NywPZ6n28/fH48dPkS1r5gTvFQV6giNlgSRAAiRAAiRAAiQQKQEKdAucGPVa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\" alt=\"First microservices\"></p>\n<p>Our microservices are located behind an API gateway (we call it GateKeeper), every authenticated request should be signed with an OAuth token to get through it. Also, every request should be signed by the client application with an API key.</p>\n<p>Admin has become one of the external clients of microservices API. It had its own API key, every user was obtaining an OAuth token, which is kept in a session document, as a part of a session data.</p>\n<p>Months were passing. In general, an architecture stayed the same, apart from the fact the number of our microservices increased. And increased a lot.</p>\n<p><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABCwAAAL6CAYAAAD9pceYAAAgAElEQVR4XuydC5xM9f//X2ZvMzu7a1m+hURK35IovpWKdFNJF13oIpUvklwq0pVv9aX6dlOIIkREJbcQJV18VX7lryKSy9clkiJr7zO7s/t/vI/ONDt27Zwz58w5Z+Z1euxjs/O5vD/P92dmzud13p/3p1ZuQXEFeJEACZAACZAACZAACZAACZAACZAACZCAjQjUomBhI2/QFBIgARIgARIgARIgARIgARIgARIgAYUABQtOBBIgARIgARIgARIgARIgARIgARIgAdsRoGBhO5fQIBIgARIgARIgARIgARIgARIgARIgAQoWnAMkQAIkQAIkQAIkQAIkQAIkQAIkQAK2I0DBwnYuoUEkQAIkQAIkQAIkQAIkQAIkQAIkQAIULDgHSIAESIAESIAESIAESIAESIAESIAEbEeAgoXtXEKDSIAESIAESIAESIAESIAESIAESIAEKFhwDpAACZAACZAACZAACZAACZAACZAACdiOAAUL27mEBpEACZAACZAACZAACZAACZAACZAACVCw4BwgARIgARIgARIgARIgARIgARIgARKwHQEKFrZzCQ0iARIgARIgARIgARIgARIgARIgARKgYME5QAIkQAIkQAIkQAIkQAIkQAIkQAIkYDsCFCxs5xIaRAIkQAIkQAIkQAIkQAIkQAIkQAIkQMGCc4AESIAESIAESIAESIAESIAESIAESMB2BChY2M4lNIgESIAESIAESIAESIAESIAESIAESICCBecACZAACZAACZAACZAACZAACZAACZCA7QhQsLCdS2gQCZAACZAACZAACZAACZAACZAACZAABQvOARIgARIgARIgARIgARIgARIgARIgAdsRoGBhO5fQIBIgARIgARIgARIgARIgARIgARIgAQoWnAMkQAIkQAIkQAIkQAIkQAIkQAIkQAK2I0DBwnYuoUEkQAIkQAIkQAIkQAIkQAIkQAIkQAIULDgHSIAESIAESIAESIAEbE2goqJCs321atXSXIcVSIAESIAE7EWAgoW9/EFrSIAESIAESIAESCBhCRxNmIhUtKhJqKjp9YSFz4GTAAmQgA0JULCwoVNoEgmQAAmQAAmQAAnEO4GqBAj1b6mpyUh2ueByuSBxEq5atXA4YEL9fSSdw0EYFZBf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r2PHTUKFx8qiXp2aSExMxLcHDsNHo8GaxXPkla8ULOz7s8fRSIAESIAESIAE1EOAgoV6fEFLSIAESCATgbj4BKxYuxH7Dx3BvYj7KBAWipo1qqF7xzb6wpp/nr+I7v2H4f1hA/FWw1ezEBRCxFttu+KlmtUxZsS78v3d33yHZWs2IDIyCk8+8ThefeUljJ80E0vnTkPFCo/JNuLKzg/GfQ5RB6NFk8YQ9R+EiFK3UUt5M0enti30cwnR4Mdjv2DbuqU5elBEcoiIjq1rF8vrNw0fIVCsWPMVrl2/jvyhoWj42svo0bm9PJSLR6kNYSisREVFo12PAXjyiQr6VArBRERanD13EUGBAahYsTy6d2gjD/3iEeuo17gV+nbvlO06lCiXaRM/wosvPGd2baKY5tffHUTxYsX0N4CkpaVj6ep12P31fkRERqFk8WLo0KZFpnobC5euwuqNW3Bo9yb92MdPnpa3n4ibPZRrYkWB1VXrNuGf6zfkdadPP1UJ/bp3koKVOS7idZE6VKlC+SyFPHN0EhuQAAmQAAmQAAmQgEoIULBQiSNoBgmQAAmQAAmQAAmQAAmQAAmQAAmQwH8EKFhwN5AACZAACZAACZAACZAACZAACZAACaiOAAUL1bmEBpEACZAACZAACZAACZAACZAACZAACVCw4B4gARIgARIgARIgARIgARIgARIgARJQHQEKFqpzCQ0iARIgARIgARIgARIgARIgARIgARKgYME9QAIkQAIkQAIkQAIkQAIkQAIkQAIkoDoCFCxU5xIaRAIkQAIkQAIkQAIkQAIkQAIkQAIkQMGCe4AESIAESIAESIAESIAESIAESIAESEB1BChYqM4lNIgESIAESIAESIAESIAESIAESIAESICCBfcACZAACZAACZAACZAACZAACZAACZCA6ghQsFCdS2gQCZAACZAACZAACZAACZAACZAACZAABQvuARIgARIgAT2By39fRafeg9Dw1ZcxduTgLGRO/fEn+g4elel1fz8/lC5VEm1aNEHDBvX07w0aORZ37kVg3ZK5Zgmba3Pm3Hn0H/YBateohvFjM8+X1+5auHQVVm/cgkO7N+X1VByfBEiABEiABEiABEggGwIULLg9SIAESIAE9AQWLF2JZas3IiBAiz1frYKvryYTnROn/kD/Ye/jpVo1UL7co/K9+IQE/Hz8N/x1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JeQ9EwmQAAmQAAkYQoCChSGUmIcESIAESIAESIAESIAESIAESIAESCBJCVCwSFLcbIwESIAESIAESIAESIAESIAESIAESMAQAhQsDKHEPCRAAiRAAiRAAiRAAiRAAiRAAiRAAklKgIJFkuJmYyRAAiRAAiRAAiRAAiRAAiRAAiRAAoYQoGBhCCXmIQESIAESIAESIAESIAESIAESIAESSFICFCySFDcbIwEScEQC569cx69/nFJDL1O8KArkzumIGDhmEiABEiABEiABEiABEjCKAAULo3AxMwmQAAkYT2Deyk3wf/ZcFUyVMgU6fF3P+ErsuIQc87h59y8IDw9Hw5qVIEcgMpEACZAACZAACZAACZAABQvOARIgARIwM4FxPy2O1sLAbm3M3KJtVb/v8HGcPHNedfrjwgVQqWwJ2xoAe0sCJEACJEACJEACJGAWAhQszIKVlZIACZDAWwIULGKfDf9duobt+w5Hy1CzclkUyvsBpxAJkAAJkAAJkAAJkICDE6Bg4eATgMMnARIwPwEKFjEzfvTUH0vXbUdEeAQQZRuIi4szWjWqiXSpU5nfOGyBBEiABEiABEiABEjAaglQsLBa07BjJEAC9kKAgsX7lgwKDsHitVvx4uVrQKuNJlhI7uTJfNC2SR14erjbyzTgOEiABEiABEiABEiABIwkQMHCSGDMTgIkQALGEqBgEZ2YVqvFqi27cfvuQyVWaJ2coAuzqQX073NkyYTGtSvDiUE4jZ1yzE8CJEACJEACJEACdkGAgoVdmJGDIAESsGYCFCyiW+fnYyfw56mzgBbQOmnxVq54k088LkS2cAJKfvw/lC35sTWbl30jARIgARIgARIgARIwEwEKFmYCy2pJgARIQEeAgsXbuXDlxm1s2HHAqMnRpHYV5MiayagyzEwCJEACJEACJEACJGD7BChY2L4NOQISIAErJ0DB4q2BLl65gc17fjHKYpW/KIFi/ytgVBlmJgESIAESIAESIAESsH0CFCxs34YcAQmQgJUToGARt4HIx8onMLtHAiRAAiRAAiRAAhYiQMHCQuDZLAmQgOMQ4IKcgoXjzHaOlARIgARIgARIgARMR4CChelYsiYSIAESiJEABQsKFnw0SIAESIAESIAESIAEjCdAwcJ4ZixBAiRAAkYRoGBBwcKoCcPMJEACJEACJEACJEACigAFC04E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\" alt=\"More microservices\"></p>\n<p>More and more business logic was covered by services while less and less logic was implemented in Admin. Then at some point were realized, that what happens in Admin - it’s just a proxying of requests to a gateway. The usual code for a new feature was more or less - send a request to the Gateway, get a request, send this request to a front-end client. Not the most exciting engineering work ever. </p>\n<p>Moreover, we’ve got another complication - some teams without any PHP engineer had to add some new features to back-office. For this, one needed to create a proxying code, and for this one would need some support from another team.</p>\n<h3>There should be a better way</h3>\n<p>So we’ve started to think of possibilities to send requests to the Gateway directly from Frontend, in order to avoid a necessity to make any implementation in Admin every time we do a new feature.\nAnd challenges were:</p>\n<ul>\n<li>we can't get rid of Admin. Even though it was getting almost no new features, there were a lot of old ones. And usually, we were adding new widgets into old pages.</li>\n<li>we can’t get rid of sessions - our old Admin features depend on them</li>\n<li>we don’t want to keep two mechanisms of authentication on a Frontend side.  I.e. we don’t want to introduce anything alongside sessions, in order to avoid consistency issues between the user session and our permissions model.</li>\n</ul>\n<p>Then unexpectedly a group of our engineers (Mikhail, Oleg, Alexey and Andy - thank you, guys!) came out with a prototype of Vigolante, as a <a href=\"https://auto1.tech/one-more-hackathon-at-auto1/\">Hackathons</a> project.</p>\n<p><em>Vigolante - a mix of GO and VIGILANTE (sp.), which means a guard.</em></p>\n<p><img src=\"data:image/png;base64,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CBAgQKAEAQFrCUhKCBAgkCcBAWueumksWQUErFnF1BMgQIAAAQIECBAgUExAwFpMyHkCBAjkTGDma3Pj8y+Wxq7Nt4q1GtTL2egMh8DKBRYsXBzPzXoj6q5WJ1o02xwVAQIECBAgQIAAAQIEqkRAwFoljG5CgACBVUfgtbnzIgma1m+0dmzZdP1Ys76QddXpnjctV+CzRYvjzXc/iA8+/mes2aBefG/zjcu9lesIECBAgAABAgQIECCwnICA1YQgQIBALRP4dMHCeOPt+bVs1IZL4EuBrTbdMBqu1QAJAQIECBAgQIAAAQIEqkRAwFoljG5CgACBVUsgCVnf+/DjWLRoSXyxdOmq9fLelkAZAqvVqRMN6q8RGzZpJFwtw88lBAgQIECAAAECBAisXEDAanYQIECAAAECBAgQIECAAAECBAgQIECgTAEBa5lwLiNAgAABAgQIECBAgAABAgQIECBAgICA1RwgQIAAAQIECBAgQIAAAQIECBAgQIBAmQIC1jLhXEaAAAECBAgQIECAAAECBAgQIECAAAEBqzlAgAABAgQIECBAgAABAgQIECBAgACBMgUErGXCuYwAAQIECBAgQIAAAQIECBAgQIAAAQICVnOAAAECBAgQIECAAAECBAgQIECAAAECZQoIWMuEcxkBAgQIECBAgAABAgQIECBAgAABAgQErOYAAQIECBAgQIAAAQIECBAgQIAAAQIEyhQQsJYJ5zICBAgQIECAAAECBAgQIECAAAECBAgIWM0BAgQIECBAgAABAgQIECBAgAABAgQIlCkgYC0TzmUECBAgQIAAAQIECBAgQIAAAQIECBAQsJoDBAgQIECAAAECBAgQIECAAAECBAgQKFNAwFomnMsIECBAgAABAgQIECBAgAABAgQIECAgYDUHCBAgQIAAAQIECBAgQIAAAQIECBAgUKaAgLVMOJcRIECAAAECBAgQIECAAAECBAgQIEBAwGoOECBAgAABAgQIECBAgAABAgQIECBAoEwBAWuZcC4jQIAAAQIECBAgQIAAAQIECBAgQICAgNUcIECAAAECBAgQIECAAAECBAgQIECAQJkCAtYy4VxGgAABAgQIECBAgAABAgQIECBAgAABAas5QIAAAQIECBAgQIAAAQIECBAgQIAAgTIFBKxlwrmMAAECBAgQIECAAAECBAgQIECAAAECAlZzgAABAgQIECBAgAABAgQIECBAgAABAmUKCFjLhHMZAQIECBAgQIAAAQIECBAgQIAAAQIEBKzmAAECBAgQIECAAAECBAgQIECAAAECBMoUELCWCecyAgQIECBAgAABAgQIECBAgAABAgQICFjNAQIECBAgQIAAAQIECBAgQIAAAQIECJQp8H+j6aBn37IDuAAAAABJRU5ErkJggg==\" alt=\"Vigolante\"></p>\n<p>The idea behind it can fit in one sentence: it’s an authentication layer, which uses the same cookie as Admin, gets a session identifier from a frontend request, connects to the sessions storage (Memcached), fetches a session data, gets a OAuth token from the data and, enriches the initial request with the token and then forwards it to a Gateway.</p>\n<p>Quite a simple flow, but once in place helped us to save a lot of development time in order to deliver new features to Admin. From now on, we don’t need to make any changes in Admin, when we need to send a request to a microservice from Frontend.</p>\n<p>We have chosen <a href=\"https://golang.org/\">Golang</a> as an underlining technology to build the project. The reasons are: </p>\n<ul>\n<li>it's fast. It adds only about 10ms of overhead per request.</li>\n<li>it's small. The resulting docker image is only 1MB big!</li>\n<li>it's fun. We gave ourselves a break from Java or PHP.</li>\n</ul>\n<p>Basically, the project was developed by the efforts of 4 engineers in a bit more than one day. We are proud to say, that this time was not just for coding but also for taking care of bringing the software to production; things as:</p>\n<ul>\n<li>build/release pipelines (as a code). We use Jenkins in AUTO1, and our pipelines should be delivered in a form of Groovy-based <a href=\"https://jenkinsci.github.io/job-dsl-plugin\">Jenkins DSL code</a>.</li>\n<li>Infrastructure (as a code). We using AWS services, and the application was prepared as a Docker container, <a href=\"https://aws.amazon.com/ecr/\">ECR</a> was used for as a container registry, <a href=\"https://aws.amazon.com/ecs/\">ECS</a> as a platform to run a container. All this was described in a form of <a href=\"https://www.terraform.io/\">Terraform</a> configuration</li>\n<li>Integration with platform, done in a form of a listener for <a href=\"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html\">Application Load Balancer</a> (ALB) for main Admin platform host. So, basically, every request with a certain prefix was directed to Vigolante, instead of Admin.</li>\n</ul>\n<p>There were few things yet to be resolved (such an implementation of mechanisms of refreshing of OAuth tokens, also there were some problems with encryption of PHP sessions from Memcached), but those were successfully resolved; one month later we released the first feature relying on Vigolante to production.</p>\n<p><strong>Feeling proud and fulfilled, we could now focus our attention on the our engineering challenges.</strong></p>","fields":{"slug":"/vigolante/","tags":["golang","microservices","monolith","PHP","back-office"]}}},{"node":{"id":"515008d3-ddce-5905-944d-114ea5c5506c","frontmatter":{"category":"DevOps","title":"ElastAlert Tips & Tricks","date":"2018-11-30","summary":"Sometimes elastalert returns unexpected results, sometimes it does not alert although one would expect an alert. In this article I want to explain some of the common questions we have asked ourselves while rolling out elastalert","thumbnail":{"relativePath":"pages/elastalert/elastalert.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsSAAALEgHS3X78AAACg0lEQVQ4y32T227aQBCGeei+SNXbXkS9qhQpUq6aQKRCACeokDQcDeYQjgbb4PMJ2/ydHQJKWqkjjdeenf39ze5sTtc0NFtNjEYjRFGMNE2RJAm7ePf9ALOFSqOPIAiw3+8pL2KP4xi9Xg+bzQbCDocDclvDgCQ9oNlsQlVVLBYLTKdTjMdjKIqCdruDer2OVquFWq3GLj3UUKlUUS6XcXd3h6urK84XlhN/LhQKuLm5gUHiy+USs/kck8kEw+EQ/f4AHVnhHz4/P0OqVlFrvKBae8J9qYgCCV5cXOD6+hqNRgM513WZ8OWlCY3KV1crzGezM6Es99DudGj+Ny8QtPl8Hj9ub1EqlZjw8vKSR1FdztB1zF9H0Ggf1PUGPXkAZTg+l94fKPhVf0K3J5O4jG63SyU/4r5cZepisUhAEjzPO5YsHj/bS+iWzwFjayIMY95g4VG8x3ZnIcvoO8soBlocwPGO+WKLwjDk94zmcy4pf/pMyJU6B1eaCcvxeFII2q7PMZdEhKVpgrm6xYo8oZM+mchlQtEKD5US7duURdaGTYL+m2AG0/aw3FgkfCwpobaZaRaWwxlSZQAhI8jPbSMOZTyewLYdJGlGvZUg3ics+H87CNwPdEyYvgWTZA+XKDRjB9OyuYmjKCRCFxvdopJ9buRj45PTmL5ty4eSfRIpf8/DJCFhURiwuEg43oqQDsHlmyME9zTqWws7y+X39C9KvinfvnxFX+5zYGdafN1OCUEYEbHDVKeFtuMw8anSDyVblgXpUYIYBdFwrmNjiDZJebPXuonBVCci51gBnex0tcWrSjFvfRY8EwoRjw5GoB+Dh3MCf7+LvaeJEhdOrP1D+AcwqBuLyGrbzAAAAABJRU5ErkJggg==","width":453,"height":325,"src":"/static/83f5f4b1cf5d7d6e1c816c018c7d0eb3/b3029/elastalert.png","srcSet":"/static/83f5f4b1cf5d7d6e1c816c018c7d0eb3/b3029/elastalert.png 1x,\n/static/83f5f4b1cf5d7d6e1c816c018c7d0eb3/8d141/elastalert.png 1.5x,\n/static/83f5f4b1cf5d7d6e1c816c018c7d0eb3/ee72c/elastalert.png 2x"}}},"authorName":"Mike Rohland","authorDescription":"Mike is Software Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/elastalert/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/elastalert/kibana.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAYAAABYBvyLAAAACXBIWXMAAAsSAAALEgHS3X78AAAAhklEQVQI1zWLyQrCQBAF8//f40WPGiEegngRDxEJmH2yQmZiJpmyDdhQ9HtFt6eniU5YnMPBxn+sWymMZphn5nWlmgyjtdI/mGXBilPigiLDbxV+GOIZOb43injoqcaRUvjtWmvivuOYvrmpkkdTc5J8rQqCPN1+oq7lnCXsXk/2ecLhEvAFpWGWjjI3NkEAAAAASUVORK5CYII=","width":1280,"height":119,"src":"/static/76429fd0e0fe93fa11eac04381717bc4/26421/kibana.png","srcSet":"/static/76429fd0e0fe93fa11eac04381717bc4/26421/kibana.png 1x"}}}},"html":"<h1>\"ElastAlert Trips &#x26; Tricks\"</h1>\n<p>Besides using aggregate metrics gathered from machines and cloud resources, we extensively make use of our log data for monitoring. For this purpose we introduced Yelp’s ElastAlert to our monitoring setup some time ago. It queries our ELK cluster and sends notifications to teams in charge.</p>\n<p>Sometimes elastalert returns unexpected results, sometimes it does not alert although one would expect an alert. In this article I want to explain some of the common questions we have asked ourselves while rolling out elastalert:</p>\n<h2>How do buffer_time, the elastalert run model, late indexed events and timeframes play together?</h2>\n<p>Elastalert runs all rules in a loop on a fixed schedule. In the most use cases this means it loops over all rules once per minute. As events are usually not indexed in real time it adds some buffer_time (per default 15min) to the timeframe in which it searches for events. On each run elastalert filters the returned events based on the given timeframe and stores the result in memory . Also, if number of search result > threshold(num_hits) configured in the rule, it will directly alert. If following runs return new events it has not stored so far (based on document id) elastalert adds these and once it reaches the threshold alerts. It works like a sliding window over events. This behavior allows for late indexed events due to pipeline congestion which especially in error situations might happen due to increased event numbers.</p>\n<h2>What is the problem when using use_count_query for frequency rules?</h2>\n<p>Enabling use_count_query for frequency rules might sound like a good option to lower the load on the system(count queries are usually faster than real searches as no data has to be transported). However this deactivates the complete event filtering and storage on elastalert side. Still the rule is executed each run period(once per minute) and the counted query hits are stored. As the count query returns no timestamp elastalert uses the execution time to determine if a a rule has reached its threshold. If events are not indexed in realtime this easily leads to lost events to alert on. To compensate this set the query_delay parameter of a rule to at least one minute. Below you find a simplified view of how normal rules and rules with use_count_query are handled and why in most cases its better to not use_count_query.</p>\n<p><img src=\"data:image/png;base64,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\" alt=\"Elastalert\" title=\"Elastalert\"></p>\n<h2>If there is an in memory storage, what happens on Rule Reloading and service restart?</h2>\n<p>Each time a rule is reloaded or Elastalert is restarted the complete in-memory buffer gets discarded. This resets threshold counter and the sliding window starts new. For rules which have timeframe &#x3C; buffer_time (so on default setting &#x3C;15min) all events leading to a potential alert will be reread into elastalert. If the timeframe is > than 15min this is no longer the case. For this the property scan_entire_timeframe is available. However for frequency rules with use_count_query elastalert would have to set the timestamp of all events the rule matches to the startup or reload time of the rule. So they will be considered a whole timeframe long for alerting which could lead to a lot of false alerts due to a different assumption of the time window elastalert considered then manually checking the events.</p>\n<h2>How can I return the documents that caused the alert?</h2>\n<p>If your rule only reached its threshold after running multiple queries in the timeframe you can add the old events by using the attach_related property for your rule.  If that creates unreadable or to long alerts you can also just send interesting fields by using include: [„x“,“y“,“z“].</p>\n<h2>What Index pattern should I set?</h2>\n<p>When managing lots of alerts from different sources it might be tricky to find the sweet spot between a very specific index pattern (like one just for this type of events) and a broader one which would also include other events. In our experience its better to just specify a very broad index pattern in the alert rule and let elasticsearch do the job figuring out the indices to search through. This allows administative changes later like introducing new rollup patterns or splitting/merging indices.</p>\n<h2>How should a efficient rule look like?</h2>\n<p>To minimize startup &#x26; reload issues, either be ok if you loose some matches on elastalert restarts. Or try to not using a timeframe higher than buffer_time (15min). Use elastalert-test-rule to test your rule before deploying it and ensure special chars in strings are properly encoded etc. Otherwise small errors in the query might easily be missed and then the rule never alerts. And use query_key to minimize the number of queries to be sent to elasticsearch. F.i. by using it to monitor if a certain service has returned more than threshold of any http error status code with a common threshold.</p>","fields":{"slug":"/elastalert/","tags":["auto1","devops","elastalert","monitoring","alerting"]}}},{"node":{"id":"8a3ef6b7-5f44-5fd7-956d-39f4870cdf03","frontmatter":{"category":"Social","title":"New AUTO1 Tech Center In Katowice [Poland]","date":"2018-07-02","summary":"New Tech Center in Poland","thumbnail":{"relativePath":"pages/tech-center-in-katowice/katowice-poland-team.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAgX/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAABxZx3yzihP//EABsQAAICAwEAAAAAAAAAAAAAAAECABEDBBIh/9oACAEBAAEFAumBR7GxZy8mU7R/T//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABkQAAIDAQAAAAAAAAAAAAAAAAExABAhIv/aAAgBAQAGPwJzqtK2EoV//8QAGhABAAMBAQEAAAAAAAAAAAAAAQARIUFRYf/aAAgBAQABPyEUBZ9mjZ+8jRYHlEMMNRUB6h7Frt9tn//aAAwDAQACAAMAAAAQNP8A/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQARUf/aAAgBAwEBPxAell//xAAXEQADAQAAAAAAAAAAAAAAAAAAARFR/9oACAECAQE/EItKf//EABwQAQACAwADAAAAAAAAAAAAAAEAESExQWFxof/aAAgBAQABPxDM0q0lqqjtoeYo1hWAVbUePCgGV7XxmkoS1SAw+51jpcrbc//Z","width":433,"height":325,"src":"/static/91042890f4f1acc3777c0986c48a30bd/a2998/katowice-poland-team.jpg","srcSet":"/static/91042890f4f1acc3777c0986c48a30bd/a2998/katowice-poland-team.jpg 1x,\n/static/91042890f4f1acc3777c0986c48a30bd/99cce/katowice-poland-team.jpg 1.5x,\n/static/91042890f4f1acc3777c0986c48a30bd/6e995/katowice-poland-team.jpg 2x,\n/static/91042890f4f1acc3777c0986c48a30bd/968b1/katowice-poland-team.jpg 3x"}}},"authorName":"Szymon Pasko","authorDescription":null,"authorAvatar":null,"headerImage":{"relativePath":"pages/tech-center-in-katowice/katowice-poland-team.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAgX/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAABxZx3yzihP//EABsQAAICAwEAAAAAAAAAAAAAAAECABEDBBIh/9oACAEBAAEFAumBR7GxZy8mU7R/T//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABkQAAIDAQAAAAAAAAAAAAAAAAExABAhIv/aAAgBAQAGPwJzqtK2EoV//8QAGhABAAMBAQEAAAAAAAAAAAAAAQARIUFRYf/aAAgBAQABPyEUBZ9mjZ+8jRYHlEMMNRUB6h7Frt9tn//aAAwDAQACAAMAAAAQNP8A/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQARUf/aAAgBAwEBPxAell//xAAXEQADAQAAAAAAAAAAAAAAAAAAARFR/9oACAECAQE/EItKf//EABwQAQACAwADAAAAAAAAAAAAAAEAESExQWFxof/aAAgBAQABPxDM0q0lqqjtoeYo1hWAVbUePCgGV7XxmkoS1SAw+51jpcrbc//Z","width":1280,"height":960,"src":"/static/91042890f4f1acc3777c0986c48a30bd/966a5/katowice-poland-team.jpg","srcSet":"/static/91042890f4f1acc3777c0986c48a30bd/966a5/katowice-poland-team.jpg 1x,\n/static/91042890f4f1acc3777c0986c48a30bd/aa36d/katowice-poland-team.jpg 1.5x,\n/static/91042890f4f1acc3777c0986c48a30bd/26d0b/katowice-poland-team.jpg 2x,\n/static/91042890f4f1acc3777c0986c48a30bd/39d45/katowice-poland-team.jpg 3x"}}}},"html":"<style>\n#tech-center img {\n\tfloat:left;\n\tpadding-right:20px;\n}\n</style>\n<div id=\"tech-center\">\n<p><img src=\"data:image/png;base64,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\" alt=\"Office in Katowice\" title=\"New office in Katowice\"></p>\n<p>Few weeks ago AUTO1 started an exciting journey, looking for talented people in Silesia in Poland.</p>\n<p>Today we happily announce that on 02.07.2017 we had the pleasure to start our first Tech center in Katowice, Grabowa 2\nstreet.</p>\n<p>We are proud of having found talented, motivated and passionate engineers!</p>\n<h2>AUTO1</h2>\n<h2>#nobull #passionate #engineering</h2>\n<div style=\"clear:both;\"></div>\n</div>","fields":{"slug":"/tech-center-in-katowice/","tags":["auto1","engineering","social"]}}},{"node":{"id":"be97e700-7d99-5a92-a5b4-9fb3fbf0c3c3","frontmatter":{"category":"Social","title":"One more Hackathon at AUTO1","date":"2018-06-20","summary":"Event diary of our 2018 Spring Hackathon, UN<->DOCK","thumbnail":{"relativePath":"pages/one-more-hackathon-at-auto1/auto1-hackathon-builders-in-action.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAUCBAP/xAAXAQEBAQEAAAAAAAAAAAAAAAACAQAD/9oADAMBAAIQAxAAAAHppRcDrccBCV5kWRp//8QAGxAAAgIDAQAAAAAAAAAAAAAAAQMAAgQSEzH/2gAIAQEAAQUCabnIr5HMHYtBi3HWw2GxqOt5/8QAGREAAQUAAAAAAAAAAAAAAAAAAgAQERIx/9oACAEDAQE/ARGdVX//xAAXEQEAAwAAAAAAAAAAAAAAAAABABAR/9oACAECAQE/AVm3/8QAHhAAAgEEAwEAAAAAAAAAAAAAAREAAhIhMRAiUZH/2gAIAQEABj8CtpKE3w2saUwSV4J2fyXGouYm5//EABoQAQADAQEBAAAAAAAAAAAAAAEAESExUYH/2gAIAQEAAT8hGUTuxPYX2bBNVYjQYjwlL2lCcRCgUqy79n//2gAMAwEAAgADAAAAELgYvv/EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAgBAwEBPxARiyUOWsLf/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQARIf/aAAgBAgEBPxBB07AssL//xAAfEAEAAwEAAQUBAAAAAAAAAAABABEhQWExUYGxwdH/2gAIAQEAAT8QpmsQUx75mCCynZfDF+qGlae92Uz1A6jQA3XY1KOdafBNeXlr+ZHmV8B9QHat1X4z/9k=","width":325,"height":325,"src":"/static/e77add1988ced0aade2714bc66763b14/a2998/auto1-hackathon-builders-in-action.jpg","srcSet":"/static/e77add1988ced0aade2714bc66763b14/a2998/auto1-hackathon-builders-in-action.jpg 1x,\n/static/e77add1988ced0aade2714bc66763b14/99cce/auto1-hackathon-builders-in-action.jpg 1.5x,\n/static/e77add1988ced0aade2714bc66763b14/6e995/auto1-hackathon-builders-in-action.jpg 2x,\n/static/e77add1988ced0aade2714bc66763b14/968b1/auto1-hackathon-builders-in-action.jpg 3x"}}},"authorName":"Davide Debernardi","authorDescription":"Davide is Team Lead at AUTO1 Group, heading our Milan tech office.","authorAvatar":null,"headerImage":{"relativePath":"pages/one-more-hackathon-at-auto1/auto1-hackathon-the-engineers.jpg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAMEBf/EABYBAQEBAAAAAAAAAAAAAAAAAAIAAf/aAAwDAQACEAMQAAABqTnGKocG/8QAGxABAAICAwAAAAAAAAAAAAAAAQACBBMDETT/2gAIAQEAAQUCckDf3DlraHnyQJqo1//EABYRAQEBAAAAAAAAAAAAAAAAAAARIf/aAAgBAwEBPwGsf//EABURAQEAAAAAAAAAAAAAAAAAAAAS/9oACAECAQE/AVP/xAAdEAACAgEFAAAAAAAAAAAAAAAAAQIRIiEyQVGB/9oACAEBAAY/AtF4ZJG1Fka6I48H/8QAGxABAAIDAQEAAAAAAAAAAAAAAQARITFhUYH/2gAIAQEAAT8hLuR9ZInRHINaX2AKN3uA1VzB2haz/9oADAMBAAIAAwAAABCwP//EABgRAQEAAwAAAAAAAAAAAAAAAAEAQVGh/9oACAEDAQE/EAagzO3/xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8Qrb//xAAaEAEAAwEBAQAAAAAAAAAAAAABABEhQTFh/9oACAEBAAE/EA1tjTwcSXqB2/O7ty0RGq7+7KgBUU97FM31i6Y9MMqu9n//2Q==","width":1280,"height":720,"src":"/static/c0deec50dd3823b86375f427ba85f823/966a5/auto1-hackathon-the-engineers.jpg","srcSet":"/static/c0deec50dd3823b86375f427ba85f823/966a5/auto1-hackathon-the-engineers.jpg 1x,\n/static/c0deec50dd3823b86375f427ba85f823/aa36d/auto1-hackathon-the-engineers.jpg 1.5x,\n/static/c0deec50dd3823b86375f427ba85f823/26d0b/auto1-hackathon-the-engineers.jpg 2x"}}}},"html":"<p>It's not all about engineering! That's quite a statement from a software engineer, but I do believe that's a true fact\nin our life as professionals: sometimes you really need time to hack things together. We just had our fourth Hackathon\nover the last weekend and though I could not contribute to it actively with a project of mine it was a tremendous amount\nof fun!</p>\n<h2>Day 1</h2>\n<p>Unfortunately, the BBQ we were hoping to have got cancelled due to bad weather conditions - thunderstorms showering\nBerlin repeatedly during the two days and the first night of the event. We had a fallback plan of course, so we simply\nresorted to it, with a massive pizza delivery ordered for dinner. If I were superstitious, I would likely expect at\nleast <em>some</em> bad luck from a date like Friday 13th...</p>\n<p>The start of the event is marked by a very informal pitch of project ideas from all the teams, that happened in one of\nour lovely kitchens in our Berlin Headquarters. I cannot make it to the meeting, but thanks to Lukas this moment is\ndocumented in pictures I can enjoy later during the day.</p>\n<p>After the presentation the vibe of the Hackathon starts to percolate through the whole department, with groups of people\ndiscussing the nitty-gritty details of their plans: people start grouping around whiteboards, chatting in a kitchen over\na coffee or a cup of tea. Countless hours of hacking follow, seldom interrupted by breaks and further cross-team chats,\nuntil those three delivery guys make it to Engineering, carrying three huge piles of hot pizzas. Most participants leave\nbefore eleven, just a couple of hours - and of course a few drinks - after dinner.</p>\n<h2>Day 2</h2>\n<p>Day two doesn't start with the best premises either: one of the entrance doors got broken, forcing everybody to find\ntheir way in through a secondary door most people were unaware of until this very moment. When they finally make it,\nthey find a nice breakfast provisioned by this guy, earlier in the morning: bread, butter, berries jam, mortadella,\nprosciutto and salami... that's what you get when you send the Italian guy out for the groceries...</p>\n<p>Back to work, one more day of hacking. Hours fly by and in the afternoon everybody starts to look tired, with people\nleaving a few at a time when they either reach their goals or simply drop the towel. The last man standing leaves the\noffice at 9 pm, when I finally lock the door behind me and leave as well. We won't meet at the office on Sunday, though\nfurther remote work is allowed, for the overly-committed.</p>\n<h2>Wrapping up</h2>\n<p>The weekend is over, we are back to work. As the day is getting closer to its end, I see a few colleagues around the\noffice working on their projects presentations - the election of the winning teams is about to happen. We gather again\nin a meeting-room and groups take turns at the beamer, showing everybody else the best of their hacks. We all enjoy\nseeing our colleagues presenting implementations ranging from innovative to crazy and from business-focused to\nfun-making: cloud-based real-time analytics of business events, The-Matrix-style error logs visualization,\n\"The Mini Kevin 500\" - ok, this one would take some time to explain, in a nutshell, it's a hardware monitoring tool\nnamed after our CTO - and, to our greatest delight, somebody built a 3d printer for our office!</p>\n<p>We do our usual voting by popular acclaim and the winners finally get some brand new Nerf guns, the well-deserved prize\nfor their efforts!</p>\n<p>So once again, it’s not all about engineering, but also making crazy ideas become real and most importantly have fun\ntogether. And that’s why AUTO1 is such a great place to work!</p>","fields":{"slug":"/one-more-hackathon-at-auto1/","tags":["auto1","engineering","social","culture","hackathon"]}}},{"node":{"id":"f1483025-8f93-596d-89a4-e459c4718414","frontmatter":{"category":"Coding","title":"Database Transaction Isolation","date":"2018-06-20","summary":"What is transaction isolation level? What are differences? What are the default values for RDBMSs?","thumbnail":{"relativePath":"pages/transactionisolation/thumbnail.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAABIUlEQVQoz5VS7U7DMAzsa6A1cRynTT/WrTBNiB8gJN7/mczFVWHTWiF+nM750OXsS8XMGjhqbDplaRZuMupWKSZ1zqn3/g5EtIsqBNIAoTRdNeajpuPFIMOs0p+0Pjypqw9AvbADQ7Q8tAUIBg1wwk0PwdGEuO2VUTPcynAGnrE3GlNsFnHnH5wXVGvLQbLmy4ehe/3SfP20OnWTpmHQbh41n9BB32IvquS4OQ4TpLIgj7mhDh6OyyPB1t47c1TYu4UJYyr3dwXtgGpNmSFCgDdOHcbBZO3dw/2I3da/Dlm0nd8ww0ljf14CAsv4gofCppNV7MGhoD1uB8zrHa2wfZUSRuGSvve0K7gZSkrpJvZ6wfo9LE2362ZTUET+vPwfh9/1JBQjnS3wvwAAAABJRU5ErkJggg==","width":677,"height":325,"src":"/static/2691083d1efbcb8a271d80bf9ff6940f/b3029/thumbnail.png","srcSet":"/static/2691083d1efbcb8a271d80bf9ff6940f/b3029/thumbnail.png 1x"}}},"authorName":"Hayk Jhangiryan","authorDescription":"Hayk is Senior Java Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/transactionisolation/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/transactionisolation/header-image.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAABIUlEQVQoz5VS7U7DMAzsa6A1cRynTT/WrTBNiB8gJN7/mczFVWHTWiF+nM750OXsS8XMGjhqbDplaRZuMupWKSZ1zqn3/g5EtIsqBNIAoTRdNeajpuPFIMOs0p+0Pjypqw9AvbADQ7Q8tAUIBg1wwk0PwdGEuO2VUTPcynAGnrE3GlNsFnHnH5wXVGvLQbLmy4ehe/3SfP20OnWTpmHQbh41n9BB32IvquS4OQ4TpLIgj7mhDh6OyyPB1t47c1TYu4UJYyr3dwXtgGpNmSFCgDdOHcbBZO3dw/2I3da/Dlm0nd8ww0ljf14CAsv4gofCppNV7MGhoD1uB8zrHa2wfZUSRuGSvve0K7gZSkrpJvZ6wfo9LE2362ZTUET+vPwfh9/1JBQjnS3wvwAAAABJRU5ErkJggg==","width":838,"height":402,"src":"/static/2691083d1efbcb8a271d80bf9ff6940f/d5ccc/header-image.png","srcSet":"/static/2691083d1efbcb8a271d80bf9ff6940f/d5ccc/header-image.png 1x"}}}},"html":"<h1>Database Transaction Isolation</h1>\n<h2>What is transaction isolation level?</h2>\n<p>Transaction isolation level defines the degree to which one transaction must be isolated from resource or data modifications made by other transactions. </p>\n<p>Let's have a look at phenomena which can occur during the execution of concurrent transactions:</p>\n<ul>\n<li>\n<p>Dirty read - A transaction may read data written but not yet committed by other transactions.\n           <p>example: Transaction T1 modifies a row. Transaction T2 then reads that row before T1 performs a COMMIT. If T1 then performs a ROLLBACK, T2 have read a row that was never committed and that may be considered to have never existed.</p></p>\n</li>\n<li>\n<p>Nonrepeatable read - A transaction re-reads data it had previously read and finds that data has been modified by another transaction (that committed since the initial read).\n           <p>example: Transaction T1 reads a row. Transaction T2 then modifies or deletes that row and performs a COMMIT. If T1 then attempts to reread the row, it may receive the modified value or discover that the row has been deleted.</p></p>\n</li>\n<li>\n<p>Phantom read - A transaction re-executes a query returning a set of rows that satisfy a search condition and finds that the set of rows satisfying the condition has changed due to another recently-committed transaction.\n<p>example: Transaction T1 reads the set of rows N that satisfy some <em>search condition</em>. Transaction T2 then executes SQL-statements that generate one or more rows that satisfy the <em>search condition</em> used by transaction T1. If transaction T1 then repeats the initial read with the same <em>search condition</em>, it obtains a different set of rows.</p></p>\n</li>\n</ul>\n<p>Isolation is the <em>I</em> in the acronym <a href=\"https://en.wikipedia.org/wiki/ACID\"><em>ACID</em></a>. In ACID, atomicity and durability are strict requirements. Whereas consistency and isolation are more of configuration (kind of). Besides, they are closely related, so much so that the SQL standard defines four levels of transaction isolation based on the consistency they provide (from least to the most consistency):</p>\n<table>\n<thead>\n<tr>\n<th>ISOLATION  LEVEL</th>\n<th align=\"center\">DIRTY READ</th>\n<th align=\"center\">NON-REPEATABLE READ</th>\n<th align=\"center\">PHANTOM READ</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>READ UNCOMMITTED</td>\n<td align=\"center\">possible</td>\n<td align=\"center\">possible</td>\n<td align=\"center\">possible</td>\n</tr>\n<tr>\n<td>READ COMMITTED</td>\n<td align=\"center\">--</td>\n<td align=\"center\">possible</td>\n<td align=\"center\">possible</td>\n</tr>\n<tr>\n<td>REPEATABLE READ</td>\n<td align=\"center\">--</td>\n<td align=\"center\">--</td>\n<td align=\"center\">possible</td>\n</tr>\n<tr>\n<td>SERIALIZABLE</td>\n<td align=\"center\">--</td>\n<td align=\"center\">--</td>\n<td align=\"center\">--</td>\n</tr>\n</tbody>\n</table>\n<p>Different isolation levels are defined based on whether they allow (or prevent) the above phenomena (as described by the SQL standard). Note that transaction isolation does not affect the changes made by the same transaction. It means a transaction always sees all the changes made by itself. </p>\n<h2>Now what?</h2>\n<p>Inside Java services, the transaction isolation level can be controlled by Spring <a href=\"https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/annotation/Transactional.html\"><code class=\"language-text\">@Transactional</code></a> annotation which supports <a href=\"https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/annotation/Transactional.html#isolation--\"><code class=\"language-text\">isolation</code></a> attribute. If you do not specify the isolation level in the code explicitly, the default isolation level will be applied, which means that the default isolation level of the underlying datastore will be used.</p>\n<p>It is worth to mention that default isolation levels for each system might be different. For example, the default isolation level for <em>MySQL 5.7 (InnoDB)</em> and <em>PostgreSQL 9.5</em> is respectively, <em>REPEATABLE READ</em> and <em>READ COMMITTED</em>. To check the default isolation level, query:</p>\n<ul>\n<li><code class=\"language-text\">SHOW VARIABLES LIKE 'tx_isolation'; -- on MySQL</code></li>\n<li><code class=\"language-text\">SHOW default_transaction_isolation'; -- on PostgreSQL</code></li>\n</ul>\n<h3>References</h3>\n<ol>\n<li><a href=\"https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html\">MySQL Transaction Isolation Levels</a></li>\n<li><a href=\"https://www.postgresql.org/docs/9.6/static/transaction-iso.html\">Transaction Isolation in PostgreSQL</a></li>\n<li><a href=\"https://dzone.com/articles/spring-transaction-management\">Useful article</a></li>\n</ol>","fields":{"slug":"/transactionisolation/","tags":["coding","sql","transactions"]}}},{"node":{"id":"c61acf9d-7746-503a-ba8f-cf96f4042096","frontmatter":{"category":"Coding","title":"Secure coding practices for NodeJS Web Applications","date":"2018-06-20","summary":"This post highlights various coding practices for securing a NodeJS web application against the most critical web attacks.","thumbnail":{"relativePath":"pages/securing-nodejs-applications/thumbnail.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAIABQDASIAAhEBAxEB/8QAFwABAAMAAAAAAAAAAAAAAAAAAAECBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHMkZoCv//EABUQAQEAAAAAAAAAAAAAAAAAAAAS/9oACAEBAAEFApSl/8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BJ//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAECAQE/AWf/xAAXEAADAQAAAAAAAAAAAAAAAAAAECEx/9oACAEBAAY/AoYv/8QAGhABAAIDAQAAAAAAAAAAAAAAAQARIUFxUf/aAAgBAQABPyHOqLFGlciV85P/2gAMAwEAAgADAAAAEHvP/8QAFhEBAQEAAAAAAAAAAAAAAAAAARAh/9oACAEDAQE/EAJs/8QAFhEBAQEAAAAAAAAAAAAAAAAAARAR/9oACAECAQE/EFjP/8QAHBABAAEEAwAAAAAAAAAAAAAAASEAETFxUWHw/9oACAEBAAE/EMpW8q+4qwMgymddUsU0EV//2Q==","width":867,"height":325,"src":"/static/f21842b8ed2aa0a1b2cd57f6dbf9e7fc/a2998/thumbnail.jpeg","srcSet":"/static/f21842b8ed2aa0a1b2cd57f6dbf9e7fc/a2998/thumbnail.jpeg 1x"}}},"authorName":"Rajababu Pradhan","authorDescription":"Raja is Senior Frontend Engineer at AUTO1 Group.","authorAvatar":{"relativePath":"pages/securing-nodejs-applications/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/securing-nodejs-applications/header-image.jpeg","childImageSharp":{"resolutions":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAIABQDASIAAhEBAxEB/8QAFwABAAMAAAAAAAAAAAAAAAAAAAECBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHMkZoCv//EABUQAQEAAAAAAAAAAAAAAAAAAAAS/9oACAEBAAEFApSl/8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8BJ//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAECAQE/AWf/xAAXEAADAQAAAAAAAAAAAAAAAAAAECEx/9oACAEBAAY/AoYv/8QAGhABAAIDAQAAAAAAAAAAAAAAAQARIUFxUf/aAAgBAQABPyHOqLFGlciV85P/2gAMAwEAAgADAAAAEHvP/8QAFhEBAQEAAAAAAAAAAAAAAAAAARAh/9oACAEDAQE/EAJs/8QAFhEBAQEAAAAAAAAAAAAAAAAAARAR/9oACAECAQE/EFjP/8QAHBABAAEEAwAAAAAAAAAAAAAAASEAETFxUWHw/9oACAEBAAE/EMpW8q+4qwMgymddUsU0EV//2Q==","width":1200,"height":450,"src":"/static/f21842b8ed2aa0a1b2cd57f6dbf9e7fc/935ac/header-image.jpeg","srcSet":"/static/f21842b8ed2aa0a1b2cd57f6dbf9e7fc/935ac/header-image.jpeg 1x"}}}},"html":"<h1>Secure coding practices for NodeJS Web Applications</h1>\n<p>Everyone would agree that security is very important and with the increase in cyber attacks in the recent past, organizations are investing\nheavily on application security. In this post lets talk about securing a web application built in NodeJS.</p>\n<p><strong>NOTE</strong>: The security concepts discussed here are language or framework agnostic. However, here we will see how these practices are implemented\nin NodeJS web applications.</p>\n<h2>1. Use SSL/TLS for communication</h2>\n<p>It is always a good practice to send your data over HTTPS rather than HTTP and it is imperative if your app transmits sensitive data.\nEncrypting data transmitted between the client and server helps mitigate several attacks like <a href=\"https://www.owasp.org/index.php/Man-in-the-middle_attack\">man-in-the-middle(MITM)</a> attack, packet sniffing,\neavesdropping etc. Let’s see how to set up TLS/SSL in Express 4.x:</p>\n<p>Lets first generate a self-signed certificate:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365</code></pre></div>\n<p>This generates a self-signed certificate valid for 365 days.</p>\n<p><strong>NOTE</strong>: The self-signed certificate is not ideal for production. For production, you should get a certificate from a <em>Certificate Authority(CA)</em>.</p>\n<p>Next, enable HTTPS on Express. Additionally, redirect all HTTP traffic to HTTPS:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">const fs = require('fs');\nconst https = require('https');\nconst express = require('express');\n\nconst NODE_ENV = process.env.NODE_ENV || 'development';\nconst PORT = process.env.PORT || 3443;\n\nconst app = express();\n\nhttps.createServer({\n  key: fs.readFileSync('/path/to/key.pem'),\n  cert: fs.readFileSync('/path/to/cert.pem')\n}, app).listen(PORT);\n\n// Redirect http requests to use https in production\nif (NODE_ENV === 'production') {\n  app.use((req, res, next) => {\n    if (req.header('x-forwarded-proto') !== 'https') {\n      res.redirect(`https://${req.header('host')}${req.url}`);\n    } else {\n      next();\n    }\n  });\n}</code></pre></div>\n<h2>2. Use security headers generously</h2>\n<p><strong>i) Strict-Transport-Security:</strong> <em>The HTTP Strict Transport Security(HSTS)</em> if set in the response header, tells the browser that it should only communicate using HTTPS instead of HTTP while communicating with the specified domain.</p>\n<p><em>Syntax:</em></p>\n<p><code class=\"language-text\">Strict-Transport-Security: max-age=&lt;expire-time></code></p>\n<p>Here, max-age is the time(in secs) that the browser should remember that this site is only to be accessed using HTTPS.</p>\n<p><em>Example: from facebook.com:</em></p>\n<p><code class=\"language-text\">strict-transport-security:max-age=15552000;</code></p>\n<p><strong>ii) X-Frame-Options:</strong> This HTTP response header can be used to indicate whether or not a browser should be allowed to render a page in a <code class=\"language-text\">&lt;frame></code>, <code class=\"language-text\">&lt;iframe></code> or <code class=\"language-text\">&lt;object></code>. Sites can use this to avoid <a href=\"https://www.owasp.org/index.php/Clickjacking\">clickjacking</a> attacks, by ensuring that their content is not embedded into other sites.</p>\n<p><em>Syntax:</em></p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">X-Frame-Options: DENY\nX-Frame-Options: SAMEORIGIN\nX-Frame-Options: ALLOW-FROM https://siteutrust.com/</code></pre></div>\n<p><strong>iii) X-XSS-Protection:</strong> This HTTP response header enables the built-in XSS filter in modern browsers.</p>\n<p><em>Example:</em></p>\n<p><code class=\"language-text\">X-XSS-Protection: 1</code></p>\n<p><strong>iv) X-Content-Type-Options:</strong> This response HTTP header is a marker used by the server to indicate that the MIME types advertised in the Content-Type headers should not be changed and be followed. This prevents MIME type sniffing attacks.</p>\n<p><em>Syntax:</em></p>\n<p><code class=\"language-text\">X-Content-Type-Options: nosniff</code></p>\n<p><strong>v) Content-Security-Policy:</strong> Prevents a range of injection attacks including Cross Site Scripting(XSS) attack.</p>\n<p><em>Syntax:</em></p>\n<p><code class=\"language-text\">Content-Security-Policy: policy</code></p>\n<p>For a detailed explanation of CSP, go through this <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP\">link</a>.</p>\n<p>To set these headers in NodeJS, use the <a href=\"https://helmetjs.github.io/\">helmet</a> npm package:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">const express = require('express');\nconst helmet = require('helmet');\n\nconst app = express();\n\n&lt;b>app.use(helmet())&lt;/b></code></pre></div>\n<p>This sets all the necessary headers in response.</p>\n<p>To set the headers individually:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">app.use(helmet({\n  frameguard: {\n    action: 'deny'\n  }\n}));</code></pre></div>\n<p>For an exhaustive list of security headers that should be set in a web application, check out the <a href=\"https://www.owasp.org/index.php/OWASP_Secure_Headers_Project\">OWASP Secure Headers Project</a>.</p>\n<p><strong>NOTE:</strong> In some web servers, the security headers can be set in the server configuration file itself. For example, in nginx server, we can set the above headers in <em>nginx.conf</em> as shown below:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">add_header X-Frame-Options DENY;\nadd_header X-Content-Type-Options nosniff;\nadd_header X-XSS-Protection 1;\nadd_header Content-Security-Policy \"default-src 'self'\";</code></pre></div>\n<h2>3. Preventing CSRF attacks</h2>\n<p><a href=\"https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29\">Cross site request forgery (CSRF)</a>, also known as <em>XSRF</em>, <em>Sea Surf</em> or <em>Session Riding</em>, is an attack vector that tricks a web browser into executing an unwanted action in an application to which a user is logged in. CSRF attacks specially targets state-changing requests and can force the victim to transfer funds, change email/password and so on.</p>\n<p>CSRFs are typically conducted using social engineering, such as an email or link that tricks the victim into sending a request to a server on behalf of the attacker. The server has no way to distinguish a forged request from a genuine one.</p>\n<p>In NodeJS, to prevent CSRF attack, we usually use the <a href=\"https://github.com/expressjs/csurf\">csurf</a> express middleware:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">const cookieParser = require('cookie-parser');\nconst csrf = require('csurf');\nconst bodyParser = require('body-parser');\nconst express = require('express');\n\nconst csrfProtection = csrf({ cookie: true });\nconst parseForm = bodyParser.urlencoded({ extended: false });\n\n// create express app\nconst app = express();\n\n// we need this because \"cookie\" is true in csrfProtection\napp.use(cookieParser());\n\napp.get('/form', csrfProtection, (req, res) => {\n  // pass the csrfToken to the view\n  res.render('send', { csrfToken: req.csrfToken() });\n});</code></pre></div>\n<p>In the view use the CSRF token passed:</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>form</span> <span class=\"token attr-name\">action</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>/process<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">method</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>POST<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>input</span> <span class=\"token attr-name\">type</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>hidden<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>csrf_token<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">value</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>{{csrfToken}}<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n\n  Enter amount: <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>input</span> <span class=\"token attr-name\">type</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>number<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>amount<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>button</span> <span class=\"token attr-name\">type</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>submit<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>Submit<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>button</span><span class=\"token punctuation\">></span></span>\n\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>form</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<h2>4. Preventing XSS attacks</h2>\n<p>Cross-Site Scripting (XSS) attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted web sites.\nAn attacker can use XSS to send a malicious script to an unsuspecting user. The end user’s browser has no way to know that the script should not\nbe trusted, and will execute the script. Because it thinks the script came from a trusted source, the malicious script can access any cookies, session tokens, or other sensitive information retained by the browser and used with that site. These scripts can even rewrite the content of the HTML page.</p>\n<p>The thumb rule to prevent this category of attack is to always validate and sanitize user data before processing or storing in database. Never trust data coming from user.\nValidation must be done on the server-side as client-side validation can be easily bypassed using tools such as Burp Suite, TamperData etc.</p>\n<p>A common approach to validate and sanitize user data is to use a library like <a href=\"https://github.com/chriso/validator.js\">validator.js</a>.</p>\n<p>Example: To validate an email</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">import validator from 'validator';\n\nif(validator.isEmail('foo@bar.com')) {\n  // Process email or store in DB\n}</code></pre></div>\n<p>This library provides a number of validators and sanitizers to filter user inputs.</p>\n<p>Other useful libraries include <a href=\"https://github.com/cure53/DOMPurify\">DOMPurify</a> and <a href=\"https://github.com/yahoo/xss-filters\">xss-filters</a>.</p>\n<p>Here is an example to sanitize user input using xss-filters:</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\">const express = require('express');\nconst app = express();\nconst xssFilters = require('xss-filters');\n\napp.get('/', (req, res) => {\n  let firstname = req.query.firstname; //an untrusted input\n  res.send('<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>h1</span><span class=\"token punctuation\">></span></span> Hello, ' + xssFilters.inHTMLData(firstname) + '!<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>h1</span><span class=\"token punctuation\">></span></span>');\n});\n\napp.listen(3000);</code></pre></div>\n<h2>5. Preventing SQL Injection(SQLi) attacks</h2>\n<p>Passing unvalidated user input directly to a SQL statement is vulnerable to <a href=\"https://www.owasp.org/index.php/SQL_Injection\">SQL injection</a> attack.</p>\n<p>Conside the following example:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">// SQL query vulnerable to SQLi\nsql = \"SELECT * FROM users WHERE username='\" + username + \"' AND password='\" + password + \"'\";\n\n// Execute the SQL statement\ndatabase.execute(sql)</code></pre></div>\n<p>Now suppose the user enters the following in the username field:</p>\n<p><code class=\"language-text\">' OR '1'='1' --</code></p>\n<p>The above SQL statement becomes:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">sql = \"SELECT * FROM users WHERE username='\" + ' OR 1=1 -- + \"' AND password='\" + password + \"'\";</code></pre></div>\n<p>This effectively nullifies the need of a password and returns all the users in the database.</p>\n<p>This attack can be completely prevented by using parametrized or prepared statement.</p>\n<p>If you’re using an ORM to access the database (Mongoose, Sequelize etc), the ORM will normally take care of SQL injection by using prepared statements under the hood.</p>\n<h2>6. Secure cookies using cookie flags</h2>\n<p>XSS vulnerability in an application can be used to steal browser cookies. To prevent cookie stealing we can set the <strong>httpOnly</strong> flag of the cookie.\nAdditionaly, we can tell the browser to send cookies only over HTTPS using the <strong>secure</strong> flag.</p>\n<p><strong>secure :</strong> this attribute tells the browser to only send the cookie if the request is being sent over HTTPS.</p>\n<p><strong>HttpOnly :</strong> this attribute is used to help prevent attacks such as cross-site scripting, since it does not allow the cookie to be accessed via JavaScript.</p>\n<p>Example:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">app.use(session({\n  secret: ‘My super secret’,\n  &lt;b>cookie: { httpOnly: true, secure: true }&lt;/b>\n}));</code></pre></div>\n<h2>7. Preventing brute force and DoS attack</h2>\n<p>To prevent our site from overwhelming with a large number of requests, we need to put some kind of rate limiting to our API.</p>\n<p>We can use the <a href=\"https://github.com/tj/node-ratelimiter\">ratelimiter</a> npm package to implement rate limiting. If you are using Express, the <a href=\"https://github.com/nfriedly/express-rate-limit\">express-rate-limit</a> middleware can be used as shown below:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">const RateLimit = require('express-rate-limit');\n\nconst limiter = new RateLimit({\n  windowMs: 15*60*1000, // 15 minutes\n  max: 100, // limit each IP to 100 requests per windowMs\n  delayMs: 0 // disable delaying — full speed until the max limit is reached\n});\n\n// apply to all requests\napp.use(limiter);</code></pre></div>\n<h2>8. Error Handling</h2>\n<p>Any error in the application should be handled gracefully by showing a custom error page to the user instead of showing stack trace in the error page\nthereby leaking sensitive infrastructure information like server info.</p>\n<h2>9. Tools of the trade</h2>\n<p><strong>i) <a href=\"https://github.com/nodesecurity/nsp\">The Node Security Project</a></strong>\nTo check the various npm modules for known vulnerabilities, the Node Security Project provides the nsp tool to check for vulnerabilities:</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ nsp check</code></pre></div>\n<p><strong>ii) <a href=\"https://snyk.io/\">Synk</a></strong>\nSynk checks the application against Snyk’s open source vulnerability database for any known vulnerabilities in our dependencies.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ npm install -g snyk\n$ cd your-app\n$ snyk test</code></pre></div>\n<p><strong>iii) <a href=\"https://nmap.org/\">nmap</a></strong>\nNmap (“Network Mapper”) is a free and open source utility for network exploration or security auditing.</p>\n<p><strong>iv) <a href=\"http://sqlmap.org/\">sqlmap</a></strong>\nsqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers.</p>\n<p><strong>v) <a href=\"https://portswigger.net/burp\">Burp Suite</a></strong>\nThe must-have tool for application penetration testing. It includes an automated scanner to detect most common vulnerabilities in a web application.</p>\n<h3>Further Readings</h3>\n<p><a href=\"https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project\">OWASP Top 10 Most Critical Web Application Security Risks</a></p>\n<p><a href=\"https://blog.risingstack.com/node-js-security-checklist/\">NodeJS Security Checklist</a></p>","fields":{"slug":"/securing-nodejs-applications/","tags":["nodejs","javascript","security","appsec","infosec"]}}},{"node":{"id":"4e4e7faf-02d2-549f-a124-f3e793deb233","frontmatter":{"category":"Social","title":"Hello, World!","date":"2018-06-01","summary":"This is our first blog post. There must be millions of blogs that started exactly like this... wait, is this LOLCODE?","thumbnail":{"relativePath":"pages/inception/thumbnail.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAAAyUlEQVQoz62QaQ7CIBBGOUdTGMYCthSr1cZal2i8/50+LS4xmpja+OMFwgxvFuGcQ9u2qJc1jDXI8xxZZmCtG4XQWkdRKAJqv4D3JYyx6N+1ZlA8b/chCKUUpFSYTi32uwbrdo56UWHbdahCCSYCUZ8jByEofqCr0OF83OJ06FDmDs3MYxUKbCoPm3FMfhT/htCkwRNG4Qo0ocHKL69dMdK74Fdih8wcSWWKJE1igBSNE77O/xoYurOPHb5XkCNHfXb4D8mH8J9cAPsdE/GTu9H3AAAAAElFTkSuQmCC","width":666,"height":325,"src":"/static/ffa5b1899ce5b7ffc089e25d95e32b37/b3029/thumbnail.png","srcSet":"/static/ffa5b1899ce5b7ffc089e25d95e32b37/b3029/thumbnail.png 1x"}}},"authorName":"Paul Hofmann","authorDescription":"Paul is Director of Engineering at AUTO1 Group.","authorAvatar":{"relativePath":"pages/inception/avatar.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAACyElEQVQ4y4VUO2gUURR9mZmN8YcItoKVjeXuzsxu9jOzm92NkBBTqDEmjZAEgtqIpSgI1gp+uhS6kEI7wc7GQsFCLERiISGCaGHhF02yu+M5s/cujyC4cJY379573r3n3XdNvV51xsYiJ4rKbqlUyBj8wjAYyWazp4BVYB3YAraBDeAhMBcE/l76lkrFTLVachuNyCGXEbJMrVbx6ADnaWAtn88nvu8nWBMdQcJ9Auv3wCxjWq2aC9IMSF3DzCyyG1YAs9pSYkL2melmLpfT71tKGkUlz2iZJAuCgA5dEjGAwPoV0AbuAy+tfR7YkZjb5CiXR1OutEw5jWQdCfgCnEiSxNg/7LWAj+KTSiHSzBvrAtascrriPCmnDkP4AYQ0Em3TGPHf8P38ARpP/4PsHQ7aU69Hqdi4OJeI47JXLg9IX1tVbUuWCzSsygcJO+L0goGNRpySoB1colarerhEvcCn4tuxCB/TsC5ZdS3Ct2Ho75uZmRoigWbIbgCxt7Q0O8TLsgg17o2R2+JHzzJcV/1IoBlybel42SLsCcc3I6UqoaZ+lUHFYjjCzJSQa+4J4UVLKiX8ScOGVXJXDN+xd7SfZXFYS65U+n2Wz+cOw+ezHadSkfCRdVJiZdlmMG9ZtHMpgWR3Z0eMSvWExjmrbXoCbZ951dIim7Yk6u1IYtlwavChW51Pp01tXOwf01eC9RHs/Rbbnx2Hf4IUh/Q5zdol8H3KG22Pj9edOK54LF1876pd37TELhqdZ+J4MwxDHUvXgDOFQrB7YqLpjI4WdhG8GLYNbCeBK/1+TWNWRG+Pfy5Hj5Dek3IXzX9+8DkL/AIeLC/PDU1NHXdSQk5altNsDkjPAT+ArzKyFnK5bB2IxbYik4hanmfM5GTL6Q/Y2DUc25y0HLToubR8TI39cL4APJOxr/35AXgOXEJnHKQvepP6eiQj119kDrZjqLo8HAAAAABJRU5ErkJggg==","width":50,"height":50,"src":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png","srcSet":"/static/26a7a327ccc4b335712e5a7086f2b26d/45876/avatar.png 1x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/eb85b/avatar.png 1.5x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/4f71c/avatar.png 2x,\n/static/26a7a327ccc4b335712e5a7086f2b26d/9ec3e/avatar.png 3x"}}},"headerImage":{"relativePath":"pages/inception/hello.lol.png","childImageSharp":{"resolutions":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAAAyUlEQVQoz62QaQ7CIBBGOUdTGMYCthSr1cZal2i8/50+LS4xmpja+OMFwgxvFuGcQ9u2qJc1jDXI8xxZZmCtG4XQWkdRKAJqv4D3JYyx6N+1ZlA8b/chCKUUpFSYTi32uwbrdo56UWHbdahCCSYCUZ8jByEofqCr0OF83OJ06FDmDs3MYxUKbCoPm3FMfhT/htCkwRNG4Qo0ocHKL69dMdK74Fdih8wcSWWKJE1igBSNE77O/xoYurOPHb5XkCNHfXb4D8mH8J9cAPsdE/GTu9H3AAAAAElFTkSuQmCC","width":814,"height":397,"src":"/static/ffa5b1899ce5b7ffc089e25d95e32b37/7ab1b/hello.lol.png","srcSet":"/static/ffa5b1899ce5b7ffc089e25d95e32b37/7ab1b/hello.lol.png 1x"}}}},"html":"<h1>\"Hello, World!\"</h1>\n<p>This is our first blog post. There must be millions of blogs that started exactly like this. And there must be millions of engineers, Tech enthusiasts, computer scientists, script kids, “soon to be hackers”, and curious people out there who typed these virtually legendary words into their development environments, just to see them printed on screen seconds later. </p>\n<p>We’re smilingly shaking hands with tradition. While we have been more on the introverted side of things for the past five years, focussing on building a platform that is the cornerstone of a multi-billion Euro business, we're proud of the culture and stack we have been building and want to use this channel to open ourselves up from now on. </p>\n<p>We <code class=\"language-text\">print \"Hello, World!\"</code></p>\n<p>And pass the blinking cursor to our editorial team.</p>\n<p>Yours truly,</p>\n<p>The AUTO1 Group Tech Department.</p>\n<p><img src=\"data:image/gif;base64,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\" alt=\"Blinking Cursor\" title=\"Blinking Cursor\"></p>","fields":{"slug":"/inception/","tags":["auto1","engineering","inception","start"]}}}]}},"pageContext":{}}