PageSourceSearch

https://simply-how.com/tags/DevOps

html simply-how.com collected 2026-10-03 23:12:42 UTC 59,207 bytes, 236 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head>
2    <meta charset="utf-8">
3    <title>#DevOps | Simply-How.com</title>
4    <base href="/">
5    <meta name="viewport" content="width=device-width, initial-scale=1">
6    <link rel="icon" type="image/x-icon" href="favicon.ico">
7    <link rel="alternate" type="application/rss+xml" title="Simply-How Feed" href="/rss.xml">
8  <link rel="stylesheet" href="styles.2a26430ffd34b5f9e5db.css"><style ng-transition="server-app">.router-container[_ngcontent-sc35] {
9  flex: 1 0 auto;
10}
11.route-progress[_ngcontent-sc35] {
12  position: fixed;
13  bottom: 0;
14  left: 0;
15  width: 100%;
16  z-index: 999;
17}
18.mat-progress-bar[_ngcontent-sc35] {
19  height: 10px;
20}
21article[_ngcontent-sc35] {
22  display: flex;
23  -moz-flex-direction: column;
24  flex-direction: column;
25  height: 100%;
26}</style><style ng-transition="server-app">.navbar[_ngcontent-sc27] {
27  text-decoration: none;
28  color: white;
29  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
30  background: url(/assets/navbar-bg.jpg) repeat center center;
31}
32.navbar[_ngcontent-sc27]   a[_ngcontent-sc27], .navbar[_ngcontent-sc27]   a[_ngcontent-sc27]:hover {
33  text-decoration: none;
34  color: white;
35}
36.sidebar-toggler[_ngcontent-sc27] {
37  font-size: 1.2rem;
38}
39.mat-mini-fab.mat-accent.navbar-toggler[_ngcontent-sc27]:hover, .mat-mini-fab.mat-accent.sidebar-toggler[_ngcontent-sc27]:hover {
40  background-color: #607d8b;
41}
42button[_ngcontent-sc27]:focus {
43  outline-style: none;
44}
45.navbar-toggler[_ngcontent-sc27] {
46  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
47}
48#navbar-content[_ngcontent-sc27]   a[_ngcontent-sc27] {
49  padding: 1%;
50  min-width: 5rem;
51}
52#navbar-content[_ngcontent-sc27]   span[_ngcontent-sc27] {
53  font-family: "Indie Flower", cursive;
54  font-size: 1.5rem;
55  opacity: 0.9;
56}
57#navbar-content[_ngcontent-sc27]    > a.active[_ngcontent-sc27] {
58  background-color: rgba(0, 0, 0, 0.06);
59}
60.navbar-collapse.show[_ngcontent-sc27], .navbar-collapse.collapsing[_ngcontent-sc27] {
61  display: flex;
62}
63@media (min-width: 768px) {
64  .start-spacer[_ngcontent-sc27] {
65    display: none;
66  }
67
68  .navbar-collapse[_ngcontent-sc27]    > a[_ngcontent-sc27] {
69    margin-right: 1%;
70  }
71}
72@media (max-width: 767px) {
73  .navbar[_ngcontent-sc27] {
74    -moz-justify-content: space-between;
75    -ms-justify-content: space-between;
76    justify-content: space-between;
77    -ms-flex-pack: space-between;
78  }
79
80  .navbar-collapse[_ngcontent-sc27] {
81    padding-bottom: 0.5rem;
82    padding-left: 0.5rem;
83    flex-direction: column;
84  }
85
86  .navbar-collapse[_ngcontent-sc27]    > a[_ngcontent-sc27] {
87    width: 100%;
88  }
89}
90@media (max-width: 865px) and (min-width: 768px) {
91  app-social-links[_ngcontent-sc27] {
92    display: none;
93  }
94}</style><style ng-transition="server-app">footer[_ngcontent-sc34] {
95  text-decoration: none;
96  color: white;
97  display: flex;
98  background-color: #00796b;
99}
100.main-footer[_ngcontent-sc34] {
101  -moz-flex-grow: 1;
102  -ms-flex-grow: 1;
103  flex-grow: 1;
104}
105.copyright[_ngcontent-sc34], .powered-by[_ngcontent-sc34], .legal[_ngcontent-sc34] {
106  font-size: 0.75rem;
107}
108footer[_ngcontent-sc34]    > [_ngcontent-sc34]:not(.main-footer) {
109  display: flex;
110  -ms-flex-basis: 30%;
111  flex-basis: 30%;
112}
113.social-links[_ngcontent-sc34] {
114  -moz-align-items: center;
115  -ms-align-items: center;
116  align-items: center;
117}
118.right-section[_ngcontent-sc34] {
119  -moz-justify-content: flex-end;
120  -ms-justify-content: flex-end;
121  justify-content: flex-end;
122  -ms-flex-pack: flex-end;
123  -moz-align-items: center;
124  -ms-align-items: center;
125  align-items: center;
126}
127.powered-by[_ngcontent-sc34]   a[_ngcontent-sc34] {
128  margin-left: 8px;
129}
130.powered-by[_ngcontent-sc34]   img[_ngcontent-sc34] {
131  width: auto;
132  height: 18px;
133}
134a[_ngcontent-sc34]:hover {
135  color: #4db6ac;
136  text-decoration: none;
137}
138a[_ngcontent-sc34] {
139  color: #b2dfdb;
140}
141[_nghost-sc34] {
142  -ms-flex-shrink: 0;
143  flex-shrink: 0;
144}
145@media (min-width: 768px) {
146  app-social-links[_ngcontent-sc34] {
147    margin-left: 0.75rem;
148  }
149}
150@media (max-width: 767px) {
151  footer[_ngcontent-sc34]    > [_ngcontent-sc34]:not(.main-footer) {
152    display: none;
153  }
154}</style><style ng-transition="server-app">a[_ngcontent-sc11] {
155  font-family: "Indie Flower", cursive;
156  display: flex;
157  -moz-flex-direction: row-reverse;
158  flex-direction: row-reverse;
159  -moz-justify-content: center;
160  -ms-justify-content: center;
161  justify-content: center;
162  -ms-flex-pack: center;
163  font-size: 2rem;
164}
165a[_ngcontent-sc11]:hover {
166  text-shadow: 0 0 5px #fff;
167}
168img[_ngcontent-sc11] {
169  transition: 200ms ease;
170}
171img[_ngcontent-sc11]:hover, span[_ngcontent-sc11]:hover    + img[_ngcontent-sc11] {
172  transform: rotateZ(-20deg);
173  transition: 200ms ease;
174}</style><style ng-transition="server-app">.mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}
174.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:block;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}
175</style><style ng-transition="server-app">[_nghost-sc26] {
176  flex: 1 1 auto;
177}
178@media (max-width: 767px) {
179  .full-width-md-down[_nghost-sc26] {
180    width: 100%;
181    flex: 0 1 auto;
182  }
183  .full-width-md-down[_nghost-sc26]   div[_ngcontent-sc26] {
184    text-align: center;
185  }
186}
187.mat-mini-fab.mat-accent.rss-btn[_ngcontent-sc26]:hover, .mat-mini-fab.mat-accent.rss-btn.plain[_ngcontent-sc26] {
188  background-color: #f26522;
189}
190div[_ngcontent-sc26] {
191  margin-top: -0.5rem;
192}
193.nav-icon[_ngcontent-sc26] {
194  font-size: 1.5rem;
195  margin-left: 0.3rem;
196  margin-top: 0.5rem;
197}</style><style ng-transition="server-app">img[_ngcontent-sc33] {
198  width: auto;
199  height: 18px;
200}</style><style ng-transition="server-app">h1[_ngcontent-sc90] {
201  color: var(--secondary);
202}</style><style ng-transition="server-app">.card[_ngcontent-sc76]   a[_ngcontent-sc76]:hover {
203  text-decoration: none;
204}
205.card-title[_ngcontent-sc76] {
206  color: #455a64;
207}
208.card[_ngcontent-sc76] {
209  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
210  border-radius: 1rem;
211}
212.card[_ngcontent-sc76]:hover {
213  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
214  transform: scale(1.01);
215}
216img[_ngcontent-sc76] {
217  border-radius: 1rem 0 0 1rem;
218}
219@media (max-width: 767px) {
220  img[_ngcontent-sc76] {
221    border-radius: 1rem 1rem 0 0;
222  }
223}
224@media (max-width: 991px) {
225  .card-title[_ngcontent-sc76] {
226    font-size: 1.5rem;
227  }
228}</style></head>
229
230  <body>
231    <app-root _nghost-sc35="" ng-version="11.0.2"><article _ngcontent-sc35=""><app-navbar _ngcontent-sc35="" _nghost-sc27=""><header _ngcontent-sc27="" id="navbar-header">
231<nav _ngcontent-sc27="" class="navbar navbar-expand-md navbar-dark p-0"><span _ngcontent-sc27="" class="start-spacer"></span><app-brand-logo _ngcontent-sc27="" _nghost-sc11=""><a _ngcontent-sc11="" href="" class="navbar-brand"><span _ngcontent-sc11="" style="line-height:50px;font-size:2rem;">Simply-How.com</span><img _ngcontent-sc11="" src="assets/logo.png" alt="Simply-How.com Logo" height="50" width="50"></a></app-brand-logo><button _ngcontent-sc27="" type="button" data-toggle="collapse" data-target="#navbar-content" aria-controls="navbar-content" aria-expanded="false" aria-label="Toggle navigation" mat-mini-fab="" class="mat-focus-indicator navbar-toggler nav-icon mr-2 mat-mini-fab mat-button-base mat-accent _mat-animation-noopable"><span class="mat-button-wrapper"><span _ngcontent-sc27="" class="navbar-toggler-icon"></span></span><span matripple="" class="mat-ripple mat-button-ripple mat-button-ripple-round" ng-reflect-disabled="false" ng-reflect-centered="false" ng-reflect-trigger="[object Object]"></span><span class="mat-button-focus-overlay"></span></button><div _ngcontent-sc27="" id="navbar-content" class="collapse navbar-collapse pr-2"><a _ngcontent-sc27="" href="tags/Programming" mat-button="" class="mat-focus-indicator mat-button mat-button-base _mat-animation-noopable" tabindex="0" aria-disabled="false"><span class="mat-button-wrapper"><span _ngcontent-sc27="">Programming</span></span><span matripple="" class="mat-ripple mat-button-ripple" ng-reflect-disabled="false" ng-reflect-centered="false" ng-reflect-trigger="[object Object]"></span><span class="mat-button-focus-overlay"></span></a><a _ngcontent-sc27="" href="tags/DevOps" mat-button="" class="mat-focus-indicator mat-button mat-button-base _mat-animation-noopable" tabindex="0" aria-disabled="false"><span class="mat-button-wrapper"><span _ngcontent-sc27="">DevOps</span></span><span matripple="" class="mat-ripple mat-button-ripple" ng-reflect-disabled="false" ng-reflect-centered="false" ng-reflect-trigger="[object Object]"></span><span class="mat-button-focus-overlay"></span></a><a _ngcontent-sc27="" href="category/for-geeks" mat-button="" class="mat-focus-indicator mat-button mat-button-base _mat-animation-noopable" tabindex="0" aria-disabled="false"><span class="mat-button-wrapper"><span _ngcontent-sc27="">For Geeks</span></span><span matripple="" class="mat-ripple mat-button-ripple" ng-reflect-disabled="false" ng-reflect-centered="false" ng-reflect-trigger="[object Object]"></span><span class="mat-button-focus-overlay"></span></a><span _ngcontent-sc27="" class="menu-spacer"></span><app-social-links _ngcontent-sc27="" _nghost-sc26="" style="text-align:right;" class=""><div _ngcontent-sc26=""><a _ngcontent-sc26="" href="/rss.xml" target="_blank" mat-mini-fab="" class="mat-focus-indicator nav-icon rss-btn mat-mini-fab mat-button-base mat-accent _mat-animation-noopable" tabindex="0" aria-disabled="false"><span class="mat-button-wrapper"><i _ngcontent-sc26="" class="fa fa-rss fa-inverse"></i></span><span matripple="" class="mat-ripple mat-button-ripple mat-button-ripple-round" ng-reflect-disabled="false" ng-reflect-centered="false" ng-reflect-trigger="[object Object]"></span><span class="mat-button-focus-overlay"></span></a></div></app-social-links></div></nav></header></app-navbar><div _ngcontent-sc35="" class="router-container"><router-outlet _ngcontent-sc35=""></router-outlet><app-tag-page _nghost-sc90=""><main _ngcontent-sc90="" class="mt-2 pt-2"><h1 _ngcontent-sc90="" class="display-5"><span _ngcontent-sc90="" class="ml-4"><i _ngcontent-sc90="" aria-hidden="true" class="fa fa-tag"></i></span> DevOps </h1><div _ngcontent-sc90="" class="container"><section _ngcontent-sc90=""><div _ngcontent-sc90="" class="container py-3"><div _ngcontent-sc90="" class="card-container"><app-card _ngcontent-sc90="" _nghost-sc76="" ng-reflect-article="[object Object]"><div _ngcontent-sc76="" class="card d-block"><a _ngcontent-sc76="" href="/python-docker-image-build"><div _ngcontent-sc76="" class="row align-items-center"><div _ngcontent-sc76="" class="col-md-7"><img _ngcontent-sc76="" class="mw-100 mh-100 p-1" src="//images.ctfassets.net/uiz257wkgye1/4pG3txDeOxy6qq3RNy4r79/91df34714f5a17807947287e4a8e5f34/Base_docker_image_for_Python.jpg"></div><div _ngcontent-sc76="" class="col-md-5 p-3"><div _ngcontent-sc76="" class="card-block px-3"><h2 _ngcontent-sc76="" class="card-title">Best docker base image to build your Python application</h2></div></div></div></a></div></app-card></div><div _ngcontent-sc90="" class="card-container"><app-card _ngcontent-sc90="" _nghost-sc76="" ng-reflect-article="[object Object]"><div _ngcontent-sc76="" class="card d-block"><a _ngcontent-sc76="" href="/free-docker-container-registry"><div _ngcontent-sc76="" class="row align-items-center"><div _ngcontent-sc76="" class="col-md-7"><img _ngcontent-sc76="" class="mw-100 mh-100 p-1" src="//images.ctfassets.net/uiz257wkgye1/2XaWnk3Rh9IkYJaK9v6KfN/37ee17c2cff9886c4423f8dc55cf7e94/Private_Docker_Registry_-_GitLab__Docker_Hub_and_Red_Hat_Quay.io.jpg"></div><div _ngcontent-sc76="" class="col-md-5 p-3"><div _ngcontent-sc76="" class="card-block px-3"><h2 _ngcontent-sc76="" class="card-title">Docker Registries You Can Use For Your Private Projects With An Always Free Plan</h2></div></div></div></a></div></app-card></div><div _ngcontent-sc90="" class="card-container"><app-card _ngcontent-sc90="" _nghost-sc76="" ng-reflect-article="[object Object]"><div _ngcontent-sc76="" class="card d-block"><a _ngcontent-sc76="" href="/free-paas"><div _ngcontent-sc76="" class="row align-items-center"><div _ngcontent-sc76="" class="col-md-7"><img _ngcontent-sc76="" class="mw-100 mh-100 p-1" src="//images.ctfassets.net/uiz257wkgye1/5ChVG7kAW4KGaowM6wim4S/752f95a16aedae4518a5a71b621b8f9a/Platform_as_a_Service_Tutorial_-_Google_App_Engine_vs_Render.jpg"></div><div _ngcontent-sc76="" class="col-md-5 p-3"><div _ngcontent-sc76="" class="card-block px-3"><h2 _ngcontent-sc76="" class="card-title">How to deploy your web app to Google Cloud and Render for free</h2></div></div></div></a></div></app-card></div><div _ngcontent-sc90="" class="card-container"><app-card _ngcontent-sc90="" _nghost-sc76="" ng-reflect-article="[object Object]"><div _ngcontent-sc76="" class="card d-block"><a _ngcontent-sc76="" href="/free-kubernetes-hosting"><div _ngcontent-sc76="" class="row align-items-center"><div _ngcontent-sc76="" class="col-md-7"><img _ngcontent-sc76="" class="mw-100 mh-100 p-1" src="//images.ctfassets.net/uiz257wkgye1/763tkMVIIyNJf6N11mULu6/6b6fd2282ad50f7c54b1d8ac3de82064/Kubernetes_as_a_Service.jpg"></div><div _ngcontent-sc76="" class="col-md-5 p-3"><div _ngcontent-sc76="" class="card-block px-3"><h2 _ngcontent-sc76="" class="card-title">Deploy a Private Kubernetes Cluster to the Cloud for free</h2></div></div></div></a></div></app-card></div><div _ngcontent-sc90="" class="card-container"><app-card _ngcontent-sc90="" _nghost-sc76="" ng-reflect-article="[object Object]"><div _ngcontent-sc76="" class="card d-block"><a _ngcontent-sc76="" href="/hosted-log-management-and-analysis"><div _ngcontent-sc76="" class="row align-items-center"><div _ngcontent-sc76="" class="col-md-7"><img _ngcontent-sc76="" class="mw-100 mh-100 p-1" src="//images.ctfassets.net/uiz257wkgye1/7BvNsMC4xc7CLcpahGWHk1/a220585383ce4f496b6cc17dddcb4cbc/Logging_as_a_Service_with_Loggly_and_Logz.io.jpg"></div><div _ngcontent-sc76="" class="col-md-5 p-3"><div _ngcontent-sc76="" class="card-block px-3"><h2 _ngcontent-sc76="" class="card-title">Centralize And Monitor Your Application &amp; System Logs On The Cloud For Free</h2></div></div></div></a></div></app-card></div><div _ngcontent-sc90="" class="card-container"><app-card _ngcontent-sc90="" _nghost-sc76="" ng-reflect-article="[object Object]"><div _ngcontent-sc76="" class="card d-block"><a _ngcontent-sc76="" href="/free-headless-cms-a-content-as-a-service-review"><div _ngcontent-sc76="" class="row align-items-center"><div _ngcontent-sc76="" class="col-md-7"><img _ngcontent-sc76="" class="mw-100 mh-100 p-1" src="//images.ctfassets.net/uiz257wkgye1/5DJJeUff6Eeww6WkiEUOq2/426322c14692ba386ed8782be9ea7bbb/Content-as-a-Service_Free_Headless_CMS.jpg"></div><div _ngcontent-sc76="" class="col-md-5 p-3"><div _ngcontent-sc76="" class="card-block px-3"><h2 _ngcontent-sc76="" class="card-title">Free Headless CMS: Contentful Vs Prismic Vs Sanity</h2></div></div></div></a></div></app-card></div><!--bindings={
232  "ng-reflect-ng-for-of": "[object Object],[object Object"
233}--></div></section></div></main></app-tag-page><!--container--></div><app-footer _ngcontent-sc35="" _nghost-sc34=""><footer _ngcontent-sc34="" class="mt-4 text-center"><div _ngcontent-sc34="" class="pl-3 social-links"> Follow us <app-social-links _ngcontent-sc34="" plain="true" textalign="left" fullwidthmddown="true" _nghost-sc26="" ng-reflect-plain="true" ng-reflect-text-align="left" ng-reflect-full-width-md-down="true" style="text-align:left;" class="full-width-md-down"><div _ngcontent-sc26="">
233<a _ngcontent-sc26="" href="/rss.xml" target="_blank" mat-mini-fab="" class="mat-focus-indicator nav-icon rss-btn mat-mini-fab mat-button-base mat-accent plain _mat-animation-noopable" tabindex="0" aria-disabled="false"><span class="mat-button-wrapper"><i _ngcontent-sc26="" class="fa fa-rss fa-inverse"></i></span><span matripple="" class="mat-ripple mat-button-ripple mat-button-ripple-round" ng-reflect-disabled="false" ng-reflect-centered="false" ng-reflect-trigger="[object Object]"></span><span class="mat-button-focus-overlay"></span></a></div></app-social-links></div><div _ngcontent-sc34="" class="p-4 navbar-dark main-footer"><app-brand-logo _ngcontent-sc34="" size="100" fontsize="4rem" class="d-none d-md-block" _nghost-sc11="" ng-reflect-size="100" ng-reflect-font-size="4rem"><a _ngcontent-sc11="" href="" class="navbar-brand"><span _ngcontent-sc11="" style="line-height:100px;font-size:4rem;">Simply-How.com</span><img _ngcontent-sc11="" src="assets/logo.png" alt="Simply-How.com Logo" height="100" width="100"></a></app-brand-logo><app-brand-logo _ngcontent-sc34="" class="d-block d-md-none" _nghost-sc11=""><a _ngcontent-sc11="" href="" class="navbar-brand"><span _ngcontent-sc11="" style="line-height:50px;font-size:2rem;">Simply-How.com</span><img _ngcontent-sc11="" src="assets/logo.png" alt="Simply-How.com Logo" height="50" width="50"></a></app-brand-logo><app-powered-by-contentful _ngcontent-sc34="" class="d-block d-md-none mt-2" _nghost-sc33=""><a _ngcontent-sc33="" href="https://www.contentful.com/" rel="nofollow" target="_blank"><img _ngcontent-sc33="" src="https://images.ctfassets.net/fo9twyrwpveg/7Htleo27dKYua8gio8UEUy/0797152a2d2f8e41db49ecbf1ccffdaa/PoweredByContentful_DarkBackground_MonochromeLogo.svg" alt="Powered by Contentful" style="max-width: 100px; width: 100%;"></a></app-powered-by-contentful><div _ngcontent-sc34="" class="legal mt-5"><a _ngcontent-sc34="" href="privacy-policy" class="mr-2"> Privacy Policy </a></div><div _ngcontent-sc34="" class="copyright mt-3"> Copyright © 2026 <a _ngcontent-sc34="" target="_blank" class="mx-1" href="mailto:[email protected]">Simply-How.com</a><br _ngcontent-sc34="" class="d-block d-md-none"> All Rights Reserved </div></div><div _ngcontent-sc34="" class="pr-3 py-4 right-section"><div _ngcontent-sc34="" class="powered-by"><div _ngcontent-sc34="" class="mt-2"><app-powered-by-contentful _ngcontent-sc34="" _nghost-sc33=""><a _ngcontent-sc33="" href="https://www.contentful.com/" rel="nofollow" target="_blank"><img _ngcontent-sc33="" src="https://images.ctfassets.net/fo9twyrwpveg/7Htleo27dKYua8gio8UEUy/0797152a2d2f8e41db49ecbf1ccffdaa/PoweredByContentful_DarkBackground_MonochromeLogo.svg" alt="Powered by Contentful" style="max-width: 100px; width: 100%;"></a></app-powered-by-contentful></div></div></div></footer></app-footer></article></app-root>
234  
234<script src="runtime-es2020.6dc8c03de31bc008f591.js" type="module"></script>
234<script src="runtime-es5.6dc8c03de31bc008f591.js" nomodule="" defer=""></script>
234<script src="polyfills-es5.50a9ddc0efd481680251.js" nomodule="" defer=""></script>
234<script src="polyfills-es2020.d0a95f48047dfd7f2046.js" type="module"></script>
234<script src="scripts.91929aa4523914bef354.js" defer=""></script>
234<script src="main-es2020.7db66edb42e497b3fe4b.js" type="module"></script>
234<script src="main-es5.7db66edb42e497b3fe4b.js" nomodule="" defer=""></script>
234
235
236<script id="server-app-state" type="application/json">{&q;G.https://simply-how.com/article-cards?&q;:{&q;body&q;:[{&q;title&q;:&q;How To Install, Use And Write A Userscript: A Tampermonkey &a; Violentmonkey Tutorial&q;,&q;slug&q;:&q;enhance-and-fine-tune-any-web-page-the-complete-user-scripts-guide&q;,&q;description&q;:&q;Learn how to search, download, set up and even make your own userscripts to improve your browsing experience and increase your productivity online by changing the appearance and adding or modifying functionality to web pages using userscript managers such as Tampermonkey and Violentmonkey (with Chrome, Firefox or Opera).&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/1W0E51xevujHneFjQluJzR/63d8736b3fc6f86030929d5938972976/Browsing_experience_hacks_the_ultimate_user_scripts_guide.png&q;,&q;caption&q;:&q;Browsing Experience Hacks: The Ultimate User Scripts Tutorial&q;,&q;alt&q;:&q;Browsing Experience Hacks: The Ultimate User Scripts Tutorial&q;,&q;type&q;:&q;image/png&q;,&q;size&q;:216151},&q;featured&q;:true,&q;order&q;:195,&q;publishDate&q;:&q;2019-01-20&q;,&q;category&q;:&q;web-and-media&q;,&q;tags&q;:[&q;Userscripts&q;,&q;Google Chrome&q;,&q;Firefox&q;,&q;Tampermonkey&q;,&q;Violentmonkey&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Installing a userscript manager&q;,&q;Searching for userscripts&q;,&q;Using userscripts&q;,&q;Writing your own userscripts&q;]},{&q;title&q;:&q;Modern Scripting with TypeScript: Development Tools Configuration&q;,&q;slug&q;:&q;scripting-with-typescript-dev-tools-configuration&q;,&q;description&q;:&q;How to set up your scripting workspace for TypeScript (tsconfig.json, package.json and Visual Studio Code) and a project starter to run and debug your scripts.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/1GZ5AWeQcJP71hyvUuknoE/31a6382a6c32b0bd2e8c659e54ac4705/Optimal_Set_Up_For_Scripts_Development.jpg&q;,&q;caption&q;:&q;Optimal Set Up For Scripts Development&q;,&q;alt&q;:&q;Optimal Set Up For Scripts Development&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:104858},&q;featured&q;:true,&q;order&q;:150,&q;publishDate&q;:&q;2025-11-27&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Programming&q;,&q;Scripting&q;,&q;TypeScript&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Workspace&q;,&q;Installing development dependencies with npm&q;,&q;TypeScript configuration with tsconfig.json&q;,&q;VS code configuration to run and debug scripts&q;]},{&q;title&q;:&q;Modern Scripting with TypeScript: Deno, Bun&q;,&q;slug&q;:&q;scripting-with-typescript&q;,&q;description&q;:&q;How you can run your TypeScript based scripts with ease without compilation using Deno and Bun&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/4rhz5McIEuy3vCJVjMBJkJ/b30b580ee500f74b1d99483dcc3cf7da/Alternative_TypeScript_Runtimes.jpg&q;,&q;caption&q;:&q;Alternative TypeScript Runtimes&q;,&q;alt&q;:&q;Alternative TypeScript Runtimes&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:311916},&q;featured&q;:true,&q;order&q;:121,&q;publishDate&q;:&q;2025-11-18&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Scripting&q;,&q;TypeScript&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Using Deno&q;,&q;Using Bun&q;]},{&q;title&q;:&q;Best docker base image to build your Python application&q;,&q;slug&q;:&q;python-docker-image-build&q;,&q;description&q;:&q;The base docker image you can use for you Python applications and scripts&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/4pG3txDeOxy6qq3RNy4r79/91df34714f5a17807947287e4a8e5f34/Base_docker_image_for_Python.jpg&q;,&q;caption&q;:&q;Base docker image for Python&q;,&q;alt&q;:&q;Base docker image for Python&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:413800},&q;featured&q;:true,&q;order&q;:121,&q;publishDate&q;:&q;2025-11-18&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;DevOps&q;,&q;Docker&q;,&q;Python&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Docker Official Image&q;,&q;Slim image variant&q;,&q;Alpine image variant&q;,&q;Windowsservercore image variant&q;]},{&q;title&q;:&q;12 Tips for New Python Coders&q;,&q;slug&q;:&q;12-tips-for-new-python-coders&q;,&q;description&q;:&q;Python is one of the most popular and powerful programming languages today and is used for everything from web development to data science. Getting up to speed can seem daunting for those just taking their first steps with Python.\n\nFortunately, there are plenty of tips out there to help you get the hang of coding in Python faster.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/1yMXB6KM0URJyfgIGlD4Su/8a5419b80543c3c759e08aea5f537c92/Get_started_coding_with_Python.jpg&q;,&q;caption&q;:&q;Get started coding with Python&q;,&q;alt&q;:&q;Get started coding with Python&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:199795},&q;featured&q;:false,&q;order&q;:90,&q;publishDate&q;:&q;2023-03-16&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Programming&q;,&q;Python&q;],&q;stepTitles&q;:[&q;Take Advantage of Free Resources&q;,&q;Master the Fundamentals&q;,&q;Use IDEs&q;,&q;Utilize Libraries&q;,&q;Focus on Readability &a; Simplicity&q;,&q;Make Use of Documentation&q;,&q;Comment Your Code&q;,&q;Understand User Input &a; Outputs&q;,&q;Practice Debugging Regularly&q;,&q;Use Code Refactoring&q;,&q;Take Breaks&q;,&q;Have Fun&q;]},{&q;title&q;:&q;Get Started With Compose Multiplatform To Build Desktop And Mobile Apps&q;,&q;slug&q;:&q;getting-started-with-compose-multiplatform&q;,&q;description&q;:&q;Cross platform desktop and mobile development using the Kotlin programming language and the Compose Multiplatform technology by JetBrains.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/2hOolDVnfkHLFfKDWuIwZ6/7395bdd9bc4ac6f97241c3864caa8156/Get_started_with_Compose_Multiplatform_by_JetBrains_-_UI_toolkit_to_build_desktop_and_mobile_apps_using_Kotlin.jpg&q;,&q;caption&q;:&q;Get started with Compose Multiplatform by JetBrains&q;,&q;alt&q;:&q;Get started with Compose Multiplatform by JetBrains&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:518788},&q;featured&q;:true,&q;order&q;:88,&q;publishDate&q;:&q;2020-11-19&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Programming&q;,&q;Kotlin&q;,&q;UI&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Getting started&q;,&q;
236Example: Simple calculator implementation&q;,&q;References&q;]},{&q;title&q;:&q;SSR Frameworks: Next.js vs SvelteKit vs Nuxt vs Quasar vs Gatsby&q;,&q;slug&q;:&q;server-side-rendering-web-frameworks&q;,&q;description&q;:&q;Frameworks that provides a streamlined development experience and an abstraction for writing a SSR (server-side rendered) web application with a React, Vue, Svelte or Angular frontend: Next.js, Gatsby, Nuxt, Quasar &a; SvelteKit.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/5zEVavPYbkXpwQTxm8BSlk/cc6f275c9b64ed6599ebccd3466d84a6/Next.js_vs_Gatsby_vs_Nuxt_vs__Quasar_vs_SvelteKit.jpg&q;,&q;caption&q;:&q;Server-Side Rendering - Vue vs React vs Svelte&q;,&q;alt&q;:&q;Server-Side Rendering - Vue vs React vs Svelte&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:249472},&q;featured&q;:true,&q;order&q;:80,&q;publishDate&q;:&q;2021-11-13&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Programming&q;,&q;Web Technology&q;,&q;Web Frameworks&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;SvelteKit&q;,&q;Next.js&q;,&q;Gatsby&q;,&q;Nuxt&q;,&q;Quasar Framework&q;,&q;Conclusion&q;]},{&q;title&q;:&q;Docker Registries You Can Use For Your Private Projects With An Always Free Plan&q;,&q;slug&q;:&q;free-docker-container-registry&q;,&q;description&q;:&q;How to build, push and securely store private docker container images in fully-managed docker repository and registry providers with a free tier such as GitLab, Docker Hub and Red Hat Quay.io.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/2XaWnk3Rh9IkYJaK9v6KfN/37ee17c2cff9886c4423f8dc55cf7e94/Private_Docker_Registry_-_GitLab__Docker_Hub_and_Red_Hat_Quay.io.jpg&q;,&q;caption&q;:&q;Private Docker Registry - GitLab, Docker Hub and Red Hat Quay.io&q;,&q;alt&q;:&q;Private Docker Registry - GitLab, Docker Hub and Red Hat Quay.io&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:833182},&q;featured&q;:true,&q;order&q;:45,&q;publishDate&q;:&q;2019-11-01&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;SaaS&q;,&q;Docker&q;,&q;DevOps&q;,&q;Web Technology&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;GitLab Container Registry&q;,&q;Docker Hub: Unlimited public repositories&q;,&q;Red Hat Quay.io&q;]},{&q;title&q;:&q;Getting Started With Java 21&q;,&q;slug&q;:&q;getting-started-with-java-21&q;,&q;description&q;:&q;Overview the key features and changes since Java 17 (with code examples), download the right production-ready builds of the JDK 21 and get to know the tooling support of Java 21 (Maven, Gradle, IntelliJ IDEA and Eclipse).&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/2KOXWOAi28R9Q4tntRE3JU/e67645a6b20b5b7b193994ce29dddea9/java-21-overview.jpg&q;,&q;caption&q;:&q;Java 21 overview&q;,&q;alt&q;:&q;Java 21 overview&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:158415},&q;order&q;:40,&q;publishDate&q;:&q;2023-12-30&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Programming&q;,&q;Java&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Key features since Java 17&q;,&q;IntelliJ IDEA support for Java 21&q;,&q;Eclipse support for Java 21&q;,&q;Tooling support for Java 21&q;]},{&q;title&q;:&q;How to deploy your web app to Google Cloud and Render for free&q;,&q;slug&q;:&q;free-paas&q;,&q;description&q;:&q;How to deploy and host a dynamic web application (Node.js, Java, Ruby, Python, Go) on the cloud for free with a PaaS (Platform as a Service) provider such as Google App Engine and Render&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/5ChVG7kAW4KGaowM6wim4S/752f95a16aedae4518a5a71b621b8f9a/Platform_as_a_Service_Tutorial_-_Google_App_Engine_vs_Render.jpg&q;,&q;caption&q;:&q;Platform as a Service Tutorial - Google App Engine vs Render&q;,&q;alt&q;:&q;Platform as a Service Tutorial - Google App Engine vs Render&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:181334},&q;featured&q;:true,&q;order&q;:30,&q;publishDate&q;:&q;2023-04-30&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;SaaS&q;,&q;Hosting&q;,&q;DevOps&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Google App Engine: extra cloud features&q;,&q;Render: the ultimate Heroku alternative&q;]},{&q;title&q;:&q;Quarkus vs Micronaut: a feature comparison&q;,&q;slug&q;:&q;quarkus-vs-micronaut&q;,&q;description&q;:&q;How does the Quarkus framework compares with Micronaut: features and library compatibility&q;,&q;
236cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/110bSbB04A9tl4qQlz0z3m/704a8d4cbcbf31e71f9a31f282d4ca68/Quarkus-vs-Micronaut.jpg&q;,&q;caption&q;:&q;Quarkus vs Micronaut&q;,&q;alt&q;:&q;Quarkus vs Micronaut&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:199383},&q;featured&q;:true,&q;order&q;:20,&q;publishDate&q;:&q;2020-02-02&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Java&q;,&q;Quarkus&q;,&q;Micronaut&q;,&q;GraalVM&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Features&q;,&q;Conclusion&q;]},{&q;title&q;:&q;Getting Started With Java 17&q;,&q;slug&q;:&q;getting-started-with-java-17&q;,&q;description&q;:&q;Overview the key features and changes since Java 11 (with code examples), download the right production-ready builds of the JDK 17 and get to know the tooling support of Java 17 (Maven, Gradle, IntelliJ IDEA and Eclipse).&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/518Pjw32LSDSBQ8y6lGsbq/192832430325b3c815df359ea4587658/jdk_11_to_jdk_17.jpg&q;,&q;caption&q;:&q;Java SE Platform version 17 overview&q;,&q;alt&q;:&q;Java SE Platform version 17&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:190982},&q;featured&q;:true,&q;order&q;:10,&q;publishDate&q;:&q;2021-09-26&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Programming&q;,&q;Java&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Key features since Java 11&q;,&q;Tooling support for Java 17&q;]},{&q;title&q;:&q;Deploy a Private Kubernetes Cluster to the Cloud for free&q;,&q;slug&q;:&q;free-kubernetes-hosting&q;,&q;description&q;:&q;How to deploy and host your private or public Kubernetes cluster for learning, experimenting, testing and development purposes with managed Kubernetes namespace providers with a free plan using Okteto Cloud.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/763tkMVIIyNJf6N11mULu6/6b6fd2282ad50f7c54b1d8ac3de82064/Kubernetes_as_a_Service.jpg&q;,&q;caption&q;:&q;Kubernetes as a Service&q;,&q;alt&q;:&q;Kubernetes as a Service&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:187833},&q;featured&q;:true,&q;order&q;:7,&q;publishDate&q;:&q;2020-09-01&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;SaaS&q;,&q;Hosting&q;,&q;DevOps&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Getting started&q;,&q;Quotas and Limits&q;,&q;References&q;]},{&q;title&q;:&q;Quarkus vs Spring Boot: Features and GraalVM native support&q;,&q;slug&q;:&q;quarkus-vs-spring-boot&q;,&q;description&q;:&q;Learn the differences between the Quarkus framework and Spring Boot: features &a; library compatibility and the GraalVM native image support.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/5xehKDLTi6JyMMtiJjystz/bcb35e00fb6415bb902f488d43adaa2d/Spring_Boot_vs_Quarkus.jpg&q;,&q;caption&q;:&q;Spring Boot vs Quarkus&q;,&q;alt&q;:&q;Spring Boot vs Quarkus&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:208448},&q;featured&q;:false,&q;order&q;:5,&q;publishDate&q;:&q;2019-10-01&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Java&q;,&q;Quarkus&q;,&q;Spring Boot&q;,&q;GraalVM&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Features Table&q;,&q;GraalVM native features&q;,&q;Conclusion&q;]},{&q;title&q;:&q;Potential Web Technologies For Web Developers to Leverage In 2025&q;,&q;slug&q;:&q;web-tech-trends&q;,&q;description&q;:&q;The upcoming year is full of surprises, and many emerging technologies are expanding their roots. In this blog, we will discuss potential web development technologies for developers in the year ahead. These technologies will be the future and help developers bring out the best.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/7hnRRL5ZRf3QJ9OQTfzIxQ/cff7326eead0a617b982cc8c739c5c04/web-technologies.png&q;,&q;caption&q;:&q;&q;,&q;alt&q;:&q;web-technologies&q;,&q;type&q;:&q;image/png&q;,&q;size&q;:179163},&q;featured&q;:true,&q;order&q;:4,&q;publishDate&q;:&q;2023-12-16&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Web Technology&q;,&q;Programming&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Artificial Intelligence, Machine Learning and Natural Language Processing&q;,&q;Blockchain: Security at a Global Scale&q;,&q;Progressive Web Applications: Bring a Native Feel to Your Apps&q;,&q;WebAssembly (Wasm): Bring High Performance to Your System&q;,&q;Conclusion&q;]},{&q;title&q;:&q;The Elixir Language: a Features Summary&q;,&q;slug&q;:&q;elixir-lang&q;,&q;description&q;:&q;Overview the key features offered by the Elixir programming language and what are it&s;s main use cases.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/1bfLRtO1SAi3LTOT4O7H51/8d89e53ff6160b89
236605dcb4efccbc697/elixir-language.jpg&q;,&q;caption&q;:&q;Elixir language&q;,&q;alt&q;:&q;The Elixir language&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:61985},&q;featured&q;:true,&q;order&q;:1,&q;publishDate&q;:&q;2022-07-02&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Programming&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Elixir language features&q;,&q;Elixir language uses&q;,&q;Conclusion&q;]},{&q;title&q;:&q;Create your own project, pattern, component and files generator: Yeoman vs Plop&q;,&q;slug&q;:&q;project-and-files-generators&q;,&q;description&q;:&q;Scaffold &a; bootstrap any kind of app (Web, Java, Spring Boot, Python, C#, Node.js), generate a project section or a group of files that follow a common pattern from the CLI and get started authoring custom template based generators with Yeoman (with ejs.js) and Plop.js (with Handlebars.js)&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/7oJAx0H8nGArJnl1bgkRgc/ce33a89d30c89213bbb6bcb127ced999/How_to_generate_projects_and_files_with_yo__plop_and_npm.jpg&q;,&q;caption&q;:&q;&q;,&q;alt&q;:&q;A yeoman and plop.js tutorial for getting started generating projects and files&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:344700},&q;featured&q;:true,&q;publishDate&q;:&q;2019-07-07&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Generator&q;,&q;npm&q;,&q;Yeoman&q;,&q;Plop&q;],&q;stepTitles&q;:[&q;Yeoman&q;,&q;Plop.js&q;]},{&q;title&q;:&q;Get Started Using Web Components: A Microsoft FAST Tutorial&q;,&q;slug&q;:&q;microsoft-fast-tutorial&q;,&q;description&q;:&q;Build enterprise-grade websites and modern applications using a library of web components offered by Microsoft&s;s FAST UI framework.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/5CmcnhWRr4S4OZuaVGDNbh/27b8365beb4f519f6c720a4f15f60263/Microsoft_FAST.png&q;,&q;caption&q;:&q;Microsoft FAST&q;,&q;alt&q;:&q;Microsoft FAST&q;,&q;type&q;:&q;image/png&q;,&q;size&q;:18546},&q;featured&q;:false,&q;publishDate&q;:&q;2021-06-27&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Web Frameworks&q;,&q;UI&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Getting started&q;,&q;More resources and documentation&q;]},{&q;title&q;:&q;Getting Started With React Hooks By Example: UseState, UseEffect&q;,&q;slug&q;:&q;react-hooks-by-example&q;,&q;description&q;:&q;Get introduced to React Hooks, useState and useEffect to write less complex components and better reuse stateful behavior.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/2XMy5UeZVUN37drr3zFrGr/9418f9070a8addb01e39b1a8811c5b4b/React_Hooks_-_The_beginners_guide.jpg&q;,&q;caption&q;:&q;React Hooks by example&q;,&q;alt&q;:&q;React Hooks by example&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:73959},&q;featured&q;:false,&q;publishDate&q;:&q;2020-12-20&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Web Frameworks&q;,&q;UI&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Adding state with useState&q;,&q;Performing side-effects with useEffect&q;]},{&q;title&q;:&q;What To Expect From Android 11 As A Developer And How To Try It&q;,&q;slug&q;:&q;getting-started-with-android-11&q;,&q;description&q;:&q;Overview the key features and changes, set up your Android Studio, and get started developing mobile apps targeting Android 11.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/1YatHN1ezyJkc8ktNysge4/51cfccf93cf335571ed3ac4e25be429f/Android_11_new_features_and_how_to_test_it_with_the_Android_Studio_emulator.jpg&q;,&q;caption&q;:&q;Android 11: new features with Android Studio emulator tutorial&q;,&q;alt&q;:&q;Android 11: new features with Android Studio emulator tutorial&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:84834},&q;featured&q;:false,&q;publishDate&q;:&q;2020-09-30&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Android&q;,&q;Android Studio&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Key features and changes&q;,&q;Installation&q;]},{&q;title&q;:&q;Fix GraalVM Native Image Build Issues&q;,&q;slug&q;:&q;fix-graalvm-native-image-compilation-issues&q;,&q;description&q;:&q;Understand and troubleshoot your GraalVM native image compilation and runtime errors and s
236olve them with custom or agent-generated configuration, or with code substitutions.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/2FKaxlvX7GTMQmTbDvKAHW/1fc591dc3d2a1ca29fd1cb97a6de920d/Debug_GraalVM_native_image_builds.jpg&q;,&q;caption&q;:&q;Debug GraalVM native image builds&q;,&q;alt&q;:&q;Debug GraalVM native image builds&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:380874},&q;featured&q;:false,&q;publishDate&q;:&q;2020-07-30&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;GraalVM&q;,&q;Java&q;,&q;Kotlin&q;,&q;Quarkus&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Getting started&q;,&q;Build-time errors&q;,&q;Runtime errors&q;,&q;Advanced techniques&q;]},{&q;title&q;:&q;Quarkus Vs Spring Boot: A Real-world Performance Comparison&q;,&q;slug&q;:&q;quarkus-vs-spring-boot-production-performance&q;,&q;description&q;:&q;A performance comparison before and after switching from Spring Boot to Quarkus in production: Heap and Non-Heap Memory Usage, Garbage Collection count and time, loaded classes count and thread count, time to first request, request per second &a; request latency.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/7BLkkQPlLTLLtiWTWjWA1f/3be2027ac5b8c5a10fe8aa77e1bca009/Quarkus_vs_Spring_Boot_-_A_real_world_JVM_Performance_and_benchmarking_comparison_for_Kotlin_and_Java_on_JDK_14.jpg&q;,&q;caption&q;:&q;&q;,&q;alt&q;:&q;Quarkus vs Spring Boot - A real world JVM Performance comparison for Kotlin and Java on JDK 14&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:233276},&q;featured&q;:false,&q;publishDate&q;:&q;2020-05-31&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Java&q;,&q;Kotlin&q;,&q;Quarkus&q;,&q;Spring Boot&q;,&q;Performance&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Memory usage&q;,&q;Other metrics&q;,&q;Benchmarks&q;,&q;Conclusion&q;]},{&q;title&q;:&q;Migrate Your Spring Boot App To Quarkus: Java, Kotlin &a; Gradle&q;,&q;slug&q;:&q;migrate-spring-boot-app-to-quarkus&q;,&q;description&q;:&q;How to migrate your Spring Boot web app to Quarkus with class and annotation equivalence tables, common code snippets and Gradle configuration example.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/7cT5dA1h2QImljUrzeHfd5/8a0748868a30a3844de8303458ec6fac/Migrating_to_Quarkus_from_Spring_Boot_with_Gradle__Java___Kotlin_-_Tips__Configuration___Conversion_Table.jpg&q;,&q;caption&q;:&q;&q;,&q;alt&q;:&q;Migrating to Quarkus from Spring Boot with Gradle, Java &a; Kotlin - Tips, Configuration &a; Conversion Table&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:199214},&q;featured&q;:false,&q;publishDate&q;:&q;2020-05-31&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Java&q;,&q;Kotlin&q;,&q;Quarkus&q;,&q;Spring Boot&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Gradle adaptations&q;,&q;Class and Annotation Equivalence Between Spring Boot and Quarkus&q;,&q;Common configuration equivalence Between Spring Boot and Quarkus&q;,&q;Conclusion&q;]},{&q;title&q;:&q;Angular Universal Example: Server Side Rendering (SSR), Prerender&q;,&q;slug&q;:&q;angular-web-app-with-ssr-and-prerendering-example&q;,&q;description&q;:&q;Learn how to create and build a new Angular 9/10 project from scratch, implement an example with routing and HTTP client, and set up serve-side rendering and pre-rendering with Angular Universal and Express.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/HJ7HsuuBbEBye05WIm9Dk/721382c394f05c4f3dbe9e1cfbe0d703/SEO_optimized_Angular_-_The_Ultimate_Angular_Universal_Tutorial.jpg&q;,&q;caption&q;:&q;SEO optimized Angular - The Ultimate Angular Universal Tutorial&q;,&q;alt&q;:&q;SEO optimized Angular - The Ultimate Angular Universal Tutorial&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:238444},&q;featured&q;:false,&q;publishDate&q;:&q;2020-05-01&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Web Frameworks&q;,&q;UI&q;,&q;npm&q;],&q;stepTitles&q;:[&q;Getting started with Angular 10&q;,&q;Routing and HttpClient implementation example&q;,&q;Server side rendering (SSR) implementation example&q;,&q;Pre-rendering example with dynamic routes&q;]},{&q;title&q;:&q;Kotlin Coroutines: An Introduction&q;,&q;slug&q;:&q;kotlin-coroutines-introduction&q;,&q;description&q;:&q;Get started with Coroutines and their implementation in Kotlin using the kotlinx.coroutines library: suspending functions, Coroutine scopes and contexts&q;,&q;
236cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/79MNF0dugSHagbw5OEllSO/20d8d5d82db435d13660f0d0c9646b99/Kotlin_Coroutine_Introduction.jpg&q;,&q;caption&q;:&q;Kotlin Coroutine Introduction&q;,&q;alt&q;:&q;Kotlin Coroutine Introduction&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:77164},&q;featured&q;:false,&q;publishDate&q;:&q;2019-12-29&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Kotlin&q;,&q;Coroutines&q;,&q;kotlinx.coroutines&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Coroutine scopes and contexts&q;]},{&q;title&q;:&q;Fix Core Web Vitals Issues: LCP, CLS, FID&q;,&q;slug&q;:&q;fix-core-web-vital-issues&q;,&q;description&q;:&q;Understand your site&s;s Search Console Core Web Vitals report, investigate the user experience issues with various tools and find out how to fix them.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/2EIwOgl25SAuMuvcKnjCLz/1eb14d4a2464bcf08d8ee0556ad4112e/Fix_Core_Web_Vitals_issues__Largest_Contentful_Paint__First_Input_Delay__Cumulative_Layout_Shift.jpg&q;,&q;caption&q;:&q;Fix Core Web Vitals issues&q;,&q;alt&q;:&q;Fix Core Web Vitals issues&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:139021},&q;featured&q;:false,&q;publishDate&q;:&q;2019-12-05&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Performance&q;,&q;Google Chrome&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;Tools to help you investigate your Core Web Vitals issues&q;,&q;Fix your Core Web Vital issues&q;]},{&q;title&q;:&q;Centralize And Monitor Your Application &a; System Logs On The Cloud For Free&q;,&q;slug&q;:&q;hosted-log-management-and-analysis&q;,&q;description&q;:&q;Get started monitoring and analyzing your logs (AWS, Java, Python, Syslog, Docker &a; More) in the cloud for free using Logging as a Service providers such as Loggly and Logz.io&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/7BvNsMC4xc7CLcpahGWHk1/a220585383ce4f496b6cc17dddcb4cbc/Logging_as_a_Service_with_Loggly_and_Logz.io.jpg&q;,&q;caption&q;:&q;Logging as a Service with Loggly and Logz.io&q;,&q;alt&q;:&q;Logging as a Service with Loggly and Logz.io&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:330015},&q;featured&q;:false,&q;publishDate&q;:&q;2019-09-15&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;SaaS&q;,&q;Logging&q;,&q;DevOps&q;,&q;Web Technology&q;],&q;stepTitles&q;:[&q;Loggly&q;,&q;Logz.io&q;]},{&q;title&q;:&q;Bundle A Java 11 App Into A Minimal JRE (without Module System Adaptations)&q;,&q;slug&q;:&q;custom-java-runtime&q;,&q;description&q;:&q;Generate a self-contained Java application package that includes a custom runtime environment containing the necessary JDK modules and components needed to run your app, without requiring users to install Java, using Gradle and the Badass Runtime Plugin&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/4STRzasb38YkW39Nj4RfKq/13b2b725c4684e739f60312a7d5b707d/Run_Java_apps_without_installing_JDK_or_JRE.jpg&q;,&q;caption&q;:&q;&q;,&q;alt&q;:&q;Run Java apps without installing JDK or JRE&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:141832},&q;featured&q;:false,&q;publishDate&q;:&q;2019-09-02&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Java&q;,&q;Gradle&q;],&q;stepTitles&q;:[&q;Requirements&q;,&q;Getting started&q;,&q;Badass Runtime Plugin configuration&q;,&q;Spring Boot example&q;]},{&q;title&q;:&q;Share A Collection Of Bookmarks With Your Team, Friends And Others&q;,&q;slug&q;:&q;bookmark-sharing-services-review&q;,&q;description&q;:&q;How to import, add, save and organize articles, posts and other links in a private online board and send it to your  group (teammates, colleagues, coworkers in your company, students, family and friends) using bookmark managers such as Start.me, Raindrop.io, Dropmark and GGather ; An alternative solution to sync bookmarks between chrome and firefox &a; across all your devices.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/1DTPbemnYcw8EjNkXQlL79/f3aa59853a889b56ab08f79cd7365b0d/Bookmark_Sharing_Guide_-_Dropmark_vs_Raindrop_vs_Start.me_vs_GGather.jpg&q;,&q;caption&q;:&q;&q;,&q;alt&q;:&q;Bookmark Sharing Guide - Dropmark vs Raindrop vs Start.me vs GGather&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:217129},&q;featured&q;:false,&q;publishDate&q;:&q;2019-07-31&q;,&q;category&q;:&q;web-and-media&q;,&q;tags&q;:[&q;Bookmarks&q;,&q;Google Chrome&q;,&q;Firefox&q;,&q;Opera&q;],&q;stepTitles&q;:[&q;Start.me: a multi-column dashboard&q;,&q;Raindrop.io: a multi-platform bookmark manager&q;,&q;Dropmark: visual collections&q;,&q;GGather: tag sharing, annotations and rating&q;]},{&q;title&q;:&q;OpenAPI 3.0 Editor And Generator With A Spring Boot Example&q;,&q;slug&q;:&q;design-and-generate-api-code-from-openapi&q;,&q;description&q;:&q;How to design APIs visually with Apicurio Studio and bootstrap RESTful API clients and server stubs for Java (Spring Boot, JAX-RS), Javascript, Python, C#, C++, Ruby, Go, PHP, Kotlin, Scala and more languages using a Swagger 2.0 or OpenAPI 3.0 specification file with OpenAPI Generator&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/5c6tCTJrIpyP5tIwSbHHSD/576dde9b9eedbbce55c11858b2c66e75/Visual_API_Design__Automated_API_Generation.jpg&q;,&q;caption&q;:&q;Visual API Design, Automated API Generation&q;,&q;alt&q;:&q;Visual API Design, Automated API Generation&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:155641},&q;featured&q;:false,&q;publishDate&q;:&q;2019-04-30&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;API&q;,&q;Swagger&q;,&q;OpenAPI&q;,&q;Generator&q;,&q;npm&q;],&q;stepTitles&q;:[&q;Design your API with Swagger or OpenAPI&q;,&q;Generate a REST API server or client using the OpenAPI Generator&q;]},{&q;title&q;:&q;Kotlin Coroutines By Example (Exception Handling, Delay, Timeout &a; More)&q;,&q;slug&q;:&q;kotlin-coroutines-by-example-guide&q;,&q;description&q;:&q;Get started using Kotlin Coroutines to launch asynchronous and non-blocking operations on the JVM and on Android.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/5oI2jGcbEYBR4K0TfV67fv/efd5f79387156ad475b27d4ed6df0c66/Kotlin_Coroutine_Example.jpg&q;,&q;caption&q;:&q;Kotlin Coroutine by Example&q;,&q;alt&q;:&q;Kotlin Coroutine Example&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:76070},&q;featured&q;:false,&q;publishDate&q;:&q;2019-02-28&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Kotlin&q;,&q;Coroutines&q;,&q;kotlinx.coroutines&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;
236Execute code in the background and continue&q;,&q;Concurrent code execution&q;,&q;Cancelling a coroutine execution&q;,&q;Execution timeout&q;,&q;Exception handling&q;,&q;Android usage&q;]},{&q;title&q;:&q;Free Headless CMS: Contentful Vs Prismic Vs Sanity&q;,&q;slug&q;:&q;free-headless-cms-a-content-as-a-service-review&q;,&q;description&q;:&q;How to manage your digital content in a hosted backend and make it accessible to your frontend via a RESTful API for free using a Headless Content Management System such as Contentful, Prismic and Sanity.io&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/5DJJeUff6Eeww6WkiEUOq2/426322c14692ba386ed8782be9ea7bbb/Content-as-a-Service_Free_Headless_CMS.jpg&q;,&q;caption&q;:&q;Free API-first Content Management System&q;,&q;alt&q;:&q;Content-as-a-Service: Free Headless CMS&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:219465},&q;featured&q;:false,&q;publishDate&q;:&q;2018-12-02&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;SaaS&q;,&q;CMS&q;,&q;DevOps&q;],&q;stepTitles&q;:[&q;Contentful: Intuitive Authoring and Generous Free Usage Limits&q;,&q;Prismic: Modern Editor and Advanced Release Management&q;,&q;Sanity.io: Customizable Content Editor and a Feature Rich CLI&q;]},{&q;title&q;:&q;Getting Started With Java 11 (If You Are Still Using Java 8)&q;,&q;slug&q;:&q;getting-started-with-java-11&q;,&q;description&q;:&q;Overview the key features and changes since Java 8 (including Java 9 and Java 10), download the right production-ready builds of the JDK 11, and get started using Java 11 with IDEs such as IntelliJ IDEA and Eclipse or build tools like Maven and Gradle.&q;,&q;cover&q;:{&q;img&q;:true,&q;src&q;:&q;//images.ctfassets.net/uiz257wkgye1/3TUii4AN6gAiZdigXlRCP0/ee3a35ab20028938497552f7bc352c44/cover.jpg&q;,&q;caption&q;:&q;Java 11 Overview: OpenJDK, IntelliJ IDEA, Eclipse, Maven and Gradle&q;,&q;alt&q;:&q;Java 11 Overview: OpenJDK, IntelliJ IDEA, Eclipse, Maven and Gradle&q;,&q;type&q;:&q;image/jpeg&q;,&q;size&q;:235729},&q;publishDate&q;:&q;2019-01-31&q;,&q;category&q;:&q;software-and-development&q;,&q;tags&q;:[&q;Programming&q;,&q;Java&q;],&q;stepTitles&q;:[&q;Introduction&q;,&q;IntelliJ IDEA usage&q;,&q;Eclipse usage&q;,&q;Build tools support&q;]}],&q;headers&q;:{&q;x-powered-by&q;:[&q;Express&q;],&q;content-type&q;:[&q;application/json; charset=utf-8&q;],&q;content-length&q;:[&q;28824&q;],&q;etag&q;:[&q;W/\&q;7098-kFxZZGNG02YUHIlSDqUvUnDXmfs\&q;&q;],&q;date&q;:[&q;Tue, 08 Sep 2026 17:01:42 GMT&q;],&q;connection&q;:[&q;keep-alive&q;],&q;keep-alive&q;:[&q;timeout=5&q;]},&q;status&q;:200,&q;statusText&q;:&q;OK&q;,&q;url&q;:&q;https://simply-how.com/article-cards&q;}}</script>
236</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.