<?xml version="1.0" encoding="UTF-8"?><feed
	xmlns="http://www.w3.org/2005/Atom"
	xmlns:thr="http://purl.org/syndication/thread/1.0"
	xml:lang="en-US"
	>
	<title type="text">Kleber Carvalho</title>
	<subtitle type="text">Java Architect, Arquiteto Java, Software Architect, Aquiteto de Software, Software Engineer, Engenheiro de Software, Software Developer, Desenvolvedor de Software, Architect Node.js. Node.js Architect</subtitle>

	<updated>2020-03-07T17:43:44Z</updated>

	<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog" />
	<id>http://www.klebercarvalho.com/blog/feed/atom/</id>
	<link rel="self" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/feed/atom/" />

	<generator uri="https://wordpress.org/" version="6.9.1">WordPress</generator>
	<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[UFSCar DW EES]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/ufscar-dw-ees/" />

		<id>http://www.klebercarvalho.com/blog/?p=994</id>
		<updated>2020-03-07T17:43:44Z</updated>
		<published>2019-02-02T03:30:26Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="Education" /><category scheme="http://www.klebercarvalho.com/blog" term="Javascript" /><category scheme="http://www.klebercarvalho.com/blog" term="pt-br" /><category scheme="http://www.klebercarvalho.com/blog" term="desenvolvimento web" /><category scheme="http://www.klebercarvalho.com/blog" term="education" /><category scheme="http://www.klebercarvalho.com/blog" term="engenharia de software" /><category scheme="http://www.klebercarvalho.com/blog" term="especialzação" /><category scheme="http://www.klebercarvalho.com/blog" term="node.js" /><category scheme="http://www.klebercarvalho.com/blog" term="sorocaba" /><category scheme="http://www.klebercarvalho.com/blog" term="ufscar" />
		<summary type="html"><![CDATA[Está página é para os alunos da UFSCar Campus Sorocaba, especialização em Engenharia de Software EES, disciplina desenvolvimento Web (DW) com Node.js. 1 &#8211; Slides da Aula 1 Link 2 &#8211; Códigos Fontes da Aula 1 https://github.com/klebercarvalho/UFSCar-DW-EES/ 3 &#8211; Acordo Avaliação (Prova, Trabalho, Apresentação) Link 4 &#8211; Lista dos Grupo do Trabalho Link 5 &#8211; &#8230; <a href="http://www.klebercarvalho.com/blog/ufscar-dw-ees/" class="more-link">Continue reading <span class="screen-reader-text">UFSCar DW EES</span></a>]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/ufscar-dw-ees/"><![CDATA[<p>Está página é para os alunos da UFSCar Campus Sorocaba, especialização em Engenharia de Software EES, disciplina desenvolvimento Web (DW) com Node.js.</p>
<p><span style="font-weight: 400;">1 &#8211; Slides da Aula 1</span></p>
<p><a href="https://docs.google.com/presentation/d/1LXZ13PioA1VnxdgUlp8-aKwsIrANW7T8zFhk8zKT1KI/edit#slide=id.g4e9f7fdd39_2_195" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">2 &#8211; Códigos Fontes da Aula 1</span></p>
<p><a href="https://github.com/klebercarvalho/UFSCar-DW-EES/" target="_blank" rel="noopener"><span style="font-weight: 400;">https://github.com/klebercarvalho/UFSCar-DW-EES/</span></a></p>
<p><span style="font-weight: 400;">3 &#8211; Acordo Avaliação (Prova, Trabalho, Apresentação)</span></p>
<p><a href="https://docs.google.com/presentation/d/1P3AbdUN1ks5F-d1RfVOsHLToHpiJ63qSG1whuEMHWaA/edit?usp=sharing" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">4 &#8211; Lista dos Grupo do Trabalho</span></p>
<p><a href="https://docs.google.com/document/d/1mgF8L1FMBJKxBAAOMiOTwevUj2AAA_fkjsVB7teEHdw/edit?usp=sharing" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">5 &#8211; Node CRUD Mongo &#8211; Tutorial</span></p>
<p><a href="https://docs.google.com/document/d/184HubmggLBGPDs_egObLbDVambcA0NwVXum-1ntdlZ8/edit?usp=sharing" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">6 &#8211; Node CRUD Mongo &#8211; github</span></p>
<p><a href="https://github.com/klebercarvalho/node-crud-mongo" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">7 &#8211; Node API Mongo</span></p>
<p><a href="https://docs.google.com/document/d/1j5QPi7AafuL2ni5yBUPku3RCrnssXGurv9daX56bzt0/edit?usp=sharing" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">8 &#8211; Node API Mongo &#8211; github</span></p>
<p><a href="https://github.com/klebercarvalho/node-api-rest-mongo" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">9 &#8211; Node REST API Auth</span></p>
<p><a href="https://docs.google.com/document/d/1pDbXczhIImm40xUOWm4kkJTjB5ThArFsAeX6LML41To/edit?usp=sharing" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">10 &#8211; Node REST API Auth &#8211; github</span></p>
<p><a href="https://github.com/klebercarvalho/node-rest-api-auth" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p>10 &#8211; <a href="https://code-maze.com/top-rest-api-best-practices/" target="_blank" rel="noopener">Top REST API Best Practices</a></p>
<p><span style="font-weight: 400;">11- Exercícios &#8211; Estilo e potenciais perguntas para a prova</span></p>
<p><a href="https://docs.google.com/document/d/1UvudvGsiMEXT0yQMGurjSP3le1jc7uPpC4Z5HmMxln0/edit?usp=sharing" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">12- TDD Node Mocha Chai</span></p>
<p><a href="https://docs.google.com/document/d/1LFNtN6R8d7avFE4p_7GiICHpDZk3OdbaypTOxf4LjIU/edit?usp=sharing" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p><span style="font-weight: 400;">13- TDD Node Jest</span></p>
<p><a href="https://docs.google.com/document/d/1h_pdO6VHe8jqfiCAKsovOvJPCD-Lqlte_Obqndcc2VQ/edit?usp=sharing" target="_blank" rel="noopener"><span style="font-weight: 400;">Link</span></a></p>
<p>14 &#8211; Prova</p>
<p><a href="https://forms.gle/E2JCkMjBuwj3CqJ77" target="_blank" rel="noopener">Link</a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/ufscar-dw-ees/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/ufscar-dw-ees/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[Microsoft Architecture Docs]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/microsoft-architecture-docs/" />

		<id>http://www.klebercarvalho.com/blog/?p=991</id>
		<updated>2018-11-26T11:34:02Z</updated>
		<published>2018-11-26T11:34:02Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="Architecture" /><category scheme="http://www.klebercarvalho.com/blog" term="en-us" /><category scheme="http://www.klebercarvalho.com/blog" term="Microsoft" /><category scheme="http://www.klebercarvalho.com/blog" term="architect" /><category scheme="http://www.klebercarvalho.com/blog" term="docs" /><category scheme="http://www.klebercarvalho.com/blog" term="microsoft" />
		<summary type="html"><![CDATA[https://docs.microsoft.com/en-us/azure/architecture/]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/microsoft-architecture-docs/"><![CDATA[<p><a href="https://docs.microsoft.com/en-us/azure/architecture/" target="_blank" rel="noopener">https://docs.microsoft.com/en-us/azure/architecture/</a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/microsoft-architecture-docs/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/microsoft-architecture-docs/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[Diamond Operator]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/diamond-operator/" />

		<id>http://www.klebercarvalho.com/blog/?p=989</id>
		<updated>2018-11-26T11:31:34Z</updated>
		<published>2018-11-26T11:31:34Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="en-us" /><category scheme="http://www.klebercarvalho.com/blog" term="Java" /><category scheme="http://www.klebercarvalho.com/blog" term="diamond" /><category scheme="http://www.klebercarvalho.com/blog" term="java" /><category scheme="http://www.klebercarvalho.com/blog" term="operator" />
		<summary type="html"><![CDATA[https://www.javaworld.com/article/2074080/core-java/core-java-jdk-7-the-diamond-operator.html]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/diamond-operator/"><![CDATA[<p><a href="https://www.javaworld.com/article/2074080/core-java/core-java-jdk-7-the-diamond-operator.html" target="_blank" rel="noopener">https://www.javaworld.com/article/2074080/core-java/core-java-jdk-7-the-diamond-operator.html</a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/diamond-operator/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/diamond-operator/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[REST API best pratices]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/rest-api-best-pratices/" />

		<id>http://www.klebercarvalho.com/blog/?p=987</id>
		<updated>2018-11-26T11:10:32Z</updated>
		<published>2018-11-26T11:10:32Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="Architecture" /><category scheme="http://www.klebercarvalho.com/blog" term="en-us" /><category scheme="http://www.klebercarvalho.com/blog" term="Microservice" /><category scheme="http://www.klebercarvalho.com/blog" term="API" /><category scheme="http://www.klebercarvalho.com/blog" term="best" /><category scheme="http://www.klebercarvalho.com/blog" term="practices" /><category scheme="http://www.klebercarvalho.com/blog" term="rest" />
		<summary type="html"><![CDATA[https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/rest-api-best-pratices/"><![CDATA[<p><a href="https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api" target="_blank" rel="noopener">https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api</a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/rest-api-best-pratices/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/rest-api-best-pratices/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[Front-end stack]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/front-end-stack/" />

		<id>http://www.klebercarvalho.com/blog/?p=985</id>
		<updated>2018-11-26T10:34:29Z</updated>
		<published>2018-11-26T10:32:44Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="Front-End" /><category scheme="http://www.klebercarvalho.com/blog" term="pt-br" /><category scheme="http://www.klebercarvalho.com/blog" term="front-end" /><category scheme="http://www.klebercarvalho.com/blog" term="stack" />
		<summary type="html"><![CDATA[O processo de desenvolvimento web pode se dividir em três categorias: design, front-end e back-end. Na minha opinião, a categoria que tem mais processos manuais e repetitivos é sem duvida o front-end. Pare pra pensar: o core do trabalho do front-end se resume em duas partes: implementação do layout: produção da primeira camada de código, &#8230; <a href="http://www.klebercarvalho.com/blog/front-end-stack/" class="more-link">Continue reading <span class="screen-reader-text">Front-end stack</span></a>]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/front-end-stack/"><![CDATA[<p>O processo de desenvolvimento web pode se dividir em três categorias: design, front-end e back-end. Na minha opinião, a categoria que tem mais processos manuais e repetitivos é sem duvida o front-end.</p>
<p>Pare pra pensar: o core do trabalho do front-end se resume em duas partes:</p>
<ul>
<li><strong>implementação do layout</strong>: produção da primeira camada de código, onde replicamos o layout criado em algum programa gráfico, para código estático em HTML, CSS e JS.</li>
<li><strong>integração com API</strong>: depois (ou junto, tanto faz) de feito o código estático, a interface é integrada com a API, que geralmente carrega boa parte da lógica, já que essa mesma API é usada para alimentar outras plataformas como mobile, robôs etc.</li>
</ul>
<p>As outras “responsabilidades” que orbitam em volta do front-end como acessibilidade, SEO, performance, compatibilidade entre browsers, código semântico, entre outras coisas que você pode julgar serem de responsabilidade de um front-end <strong>são um mero apetrecho</strong>. Elas podem existir ou não em um projeto. Mas um projeto não sobrevive sem o código front-end do layout e sem o conteúdo integrado à interface.</p>
<p><em>Um observação: acessibilidade é algo que as máquinas podem fazer muito melhor que um ser humano. Embora eu tenha colocado como algo que possa existir ou não em um projeto, é importante demais que você faça um esforço para que todos os seus projetos sejam acessíveis. Eu sei que isso não é a realidade até hoje no mercado e provavelmente nunca será até que esse processo seja automatizado.</em></p>
<p>Existem uma série de tarefas manuais que nós delegamos para ferramentas criadas afim de economizar parte do nosso tempo evitando a execução de tarefas repetitivas, automatizando o workflow do front-end. Só para citar algumas:</p>
<ul>
<li><strong>Pre-processadores CSS:</strong> Sass, Less, Stylus</li>
<li><strong>Task runners:</strong> Gulp, Grunt , Make, NPM Scripts</li>
<li><strong>Scaffolding:</strong> Yeoman, Slush</li>
<li><strong>Dependências/Module Bundles:</strong> Bower, NPM, Yarn, Webpack, Duo, RequireJS, Browserify, JSPM, Rollup</li>
<li><strong>SPA/Libraries/Frameworks:</strong> React, Angular, Vue.js, Backbone, EmberJS, todomvc, Polymer, Lodash, Aurelia, MeteorJS</li>
<li><strong>CSS Frameworks/Libraries:</strong> SemanticUI, Bootstrap, Foundation, UiKit, YUI, Susy</li>
<li><strong>JS Test</strong>: Mocha, Jasmine, QUnit, Ava, Tape, Jest</li>
<li><strong>JS Templates:</strong> Underscore, Mustache, Handlebars, DoT, Dust, EJS</li>
</ul>
<p>Mas mesmo com todas essas ferramentas, o core da responsabilidade de um front-end ainda continua sendo <strong>implementar layout original</strong> e <strong>integrar a interface com o back-end</strong>. Você ainda continua <strong>replicando</strong> o layout que alguém passou dias desenhando e integra o conteúdo que está numa API, que outra pessoa criou. Seu dia se resume em alternar entre as janelas do Sublime / Sketch / Browser / Sublime / API / Browser / Sublime.</p>
<blockquote><p>“Automation isn’t about being lazy. It’s about being efficient.” — Addy Osmani</p></blockquote>
<p>Esse processo se torna tedioso e a lista de requisitos para tentar tornar o trabalho de front-end eficiente só aumenta. Toda tarefa mecânica, repetitiva e manual tende a ser automatizada e na minha opinião, em pouco tempo, <strong>não vamos precisar de alguém executando o trabalho de front-end de ponta a ponta</strong>.</p>
<p>Okay, respira. Isso é a minha opinião. Dado que o front-end é a parte mais operacional de todo o processo, mais cedo ou mais tarde todo o trabalho executado no front-end vai ser automatizado. A parte mais difícil são essas duas tarefas que nós fazemos desde os primórdios. Contudo, elas já podem estar com seus dias contados.</p>
<h2 id="trabalhando-com-dados-reais-direto-no-design">Trabalhando com dados reais direto no Design</h2>
<p>Você pode não ser designer, mas há uma premissa no mundo dos designers que diz que <strong>você deve trabalhar sempre com conteúdo real</strong>. Isso quer dizer que entregar um layout com texto em <em>Lorem Ipsum Dolor</em> é coisa de designer júnior.</p>
<blockquote><p>“If your site or application requires data input, enter real and relevant words and type the text, don’t just paste it in from another source.” — Jason Fried</p></blockquote>
<p>A ideia é que você crie um layout da forma mais fiel possível usando os termos, palavras, nomes, datas etc, a fim de chegar mais perto da experiência do usuário.</p>
<p>Atualmente a maioria dos programas visuais utilizados para criar layouts para web tem alguma feature ou plugin que permite a integração com alguma fonte de dados que contenha o conteúdo real.</p>
<p>Por exemplo o Sketch, que é o programa de criação visual mais querido do momento, conta com plugins que permitem a integração direta entre API e layout. Veja por exemplo o vídeo abaixo demonstrando a utilização do plugin Craft (também disponível para Photoshop):</p>
<p>Ou essa demonstração que usa a API do Stackoverflow:</p>
<blockquote><p>Em pouco tempo, não vamos precisar de alguém executando o trabalho de front-end de ponta a ponta.</p></blockquote>
<p>O ponto aqui é: nós só precisamos criar o layout uma vez, usando o programa desejado (Sketch/Photoshop/Figma/Adobe XD etc) e pronto. Não precisamos de uma pessoa para refazer esse layout com HTML/CSS/JS de forma alguma. Isso nos leva para uma segunda discussão: mesmo com o design pronto, usando dados reais de uma API, nós ainda precisamos que ele seja acessível pelos browsers. Como resolvemos isso?</p>
<p><em>Obs.: E aquele movimento do “Design in the Browser”? Esse é um movimento criado exatamente para evitar o trabalho de produzir duas vezes o mesmo layout. Mas é MUITO melhor fazer um design usando um programa visual do que escrever direto no código. IMHO.</em></p>
<p>&nbsp;</p>
<p>https://tableless.com.br/carreira-de-front-end-vai-morrer/</p>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/front-end-stack/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/front-end-stack/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[Designing a Microservices Architecture for Failure]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/designing-a-microservices-architecture-for-failure/" />

		<id>http://www.klebercarvalho.com/blog/?p=983</id>
		<updated>2018-11-22T23:33:49Z</updated>
		<published>2018-11-22T23:33:49Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="Architecture" /><category scheme="http://www.klebercarvalho.com/blog" term="Microservice" /><category scheme="http://www.klebercarvalho.com/blog" term="architecture" /><category scheme="http://www.klebercarvalho.com/blog" term="microservice" />
		<summary type="html"><![CDATA[The Risk of the Microservices Architecture Graceful Service Degradation One of the best advantages of a microservices architecture is that you can isolate failures and achieve graceful service degradation as components fail separately. For example, during an outage customers in a photo sharing application maybe cannot upload a new picture, but they can still browse, &#8230; <a href="http://www.klebercarvalho.com/blog/designing-a-microservices-architecture-for-failure/" class="more-link">Continue reading <span class="screen-reader-text">Designing a Microservices Architecture for Failure</span></a>]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/designing-a-microservices-architecture-for-failure/"><![CDATA[<p><strong>The Risk of the Microservices Architecture</strong></p>
<p><strong>Graceful Service Degradation</strong></p>
<p>One of the best advantages of a microservices architecture is that you can isolate failures and achieve graceful service degradation as components fail separately. For example, during an outage customers in a photo sharing application maybe cannot upload a new picture, but they can still browse, edit and share their existing photos.</p>
<p><strong>Change Management &#8211; Rolling Deployment</strong></p>
<p><strong>Health-check and Load Balancing</strong></p>
<p>Modern service discovery solutions continuously collect health information from instances and configure the load-balancer to route traffic only to healthy components.</p>
<p><strong>Self-healing</strong></p>
<p><strong>Failover Caching</strong></p>
<p><strong>Retry Logic</strong></p>
<p>As a retry is initiated by the client (browser, other microservices, etc.) and the client doesn&#8217;t know that the operation failed before or after handling the request, you should prepare your application to handle idempotency. For example, when you retry a purchase operation, you shouldn&#8217;t double charge the customer. Using a unique idempotency-key for each of your transactions can help to handle retries.</p>
<p><strong>Rate Limiters and Load Shedders</strong></p>
<p><strong>Fail Fast and Independently</strong></p>
<p><strong>Bulkheads</strong></p>
<p><strong>Circuit Breakers</strong></p>
<p><strong>Testing for Failures</strong></p>
<p><strong>Outro</strong></p>
<p><strong>Key Takeways</strong></p>
<p><a href="https://blog.risingstack.com/designing-microservices-architecture-for-failure/" target="_blank" rel="noopener">https://blog.risingstack.com/designing-microservices-architecture-for-failure/</a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/designing-a-microservices-architecture-for-failure/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/designing-a-microservices-architecture-for-failure/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[Introduction to Data Structures]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/introduction-to-data-structures/" />

		<id>http://www.klebercarvalho.com/blog/?p=980</id>
		<updated>2018-11-14T11:06:34Z</updated>
		<published>2018-11-14T11:06:34Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="en-us" /><category scheme="http://www.klebercarvalho.com/blog" term="Programming Language" /><category scheme="http://www.klebercarvalho.com/blog" term="data structure" />
		<summary type="html"><![CDATA[https://medium.com/swlh/introduction-to-data-structures-9134b7d064a6]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/introduction-to-data-structures/"><![CDATA[<p><a href="https://medium.com/swlh/introduction-to-data-structures-9134b7d064a6">https://medium.com/swlh/introduction-to-data-structures-9134b7d064a6</a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/introduction-to-data-structures/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/introduction-to-data-structures/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[Modelagem Arquitetural e Modelo 4 + 1]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/modelagem-arquitetural-e-modelo-4-1/" />

		<id>http://www.klebercarvalho.com/blog/?p=978</id>
		<updated>2018-11-14T11:08:50Z</updated>
		<published>2018-11-14T11:00:21Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="Architecture" /><category scheme="http://www.klebercarvalho.com/blog" term="en-us" /><category scheme="http://www.klebercarvalho.com/blog" term="architecture" />
		<summary type="html"><![CDATA[Modelagem Arquitetural e Visão 4+1 from Adriano Tavares]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/modelagem-arquitetural-e-modelo-4-1/"><![CDATA[<p><iframe title="Modelagem Arquitetural e Visão 4+1" src="https://www.slideshare.net/slideshow/embed_code/key/2BY1PA3Mo5t058" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> </p>
<div style="margin-bottom:5px"> <strong> <a href="https://pt.slideshare.net/slideshow/modelagem-arquitetural-e-viso-41-presentation/905341" title="Modelagem Arquitetural e Visão 4+1" target="_blank">Modelagem Arquitetural e Visão 4+1</a> </strong> from <strong><a href="https://www.slideshare.net/adrianotavares" target="_blank">Adriano Tavares</a></strong> </div>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/modelagem-arquitetural-e-modelo-4-1/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/modelagem-arquitetural-e-modelo-4-1/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[JVM Ecosystem Report]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/jvm-ecosystem-report/" />

		<id>http://www.klebercarvalho.com/blog/?p=975</id>
		<updated>2018-11-01T00:45:42Z</updated>
		<published>2018-11-01T00:45:42Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="en-us" /><category scheme="http://www.klebercarvalho.com/blog" term="Java" /><category scheme="http://www.klebercarvalho.com/blog" term="ecosystem" /><category scheme="http://www.klebercarvalho.com/blog" term="java" /><category scheme="http://www.klebercarvalho.com/blog" term="report" />
		<summary type="html"><![CDATA[https://snyk.io/blog/jvm-ecosystem-report-2018 https://spring.io/blog/2018/10/18/how-welcoming-is-the-spring-community-for-apprentice-developers-a-recent-survey-says-we-can-do-better]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/jvm-ecosystem-report/"><![CDATA[<p><a href="https://snyk.io/blog/jvm-ecosystem-report-2018" target="_blank" rel="noopener">https://snyk.io/blog/jvm-ecosystem-report-2018</a></p>
<p><a href="https://spring.io/blog/2018/10/18/how-welcoming-is-the-spring-community-for-apprentice-developers-a-recent-survey-says-we-can-do-better" target="_blank" rel="noopener">https://spring.io/blog/2018/10/18/how-welcoming-is-the-spring-community-for-apprentice-developers-a-recent-survey-says-we-can-do-better</a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/jvm-ecosystem-report/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/jvm-ecosystem-report/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>admin</name>
							<uri>http://www.rebelk.com.br</uri>
						</author>

		<title type="html"><![CDATA[Cloud Trends by Adrian Cockcroft]]></title>
		<link rel="alternate" type="text/html" href="http://www.klebercarvalho.com/blog/cloud-trends-by-adrian-cockcroft/" />

		<id>http://www.klebercarvalho.com/blog/?p=966</id>
		<updated>2018-11-14T11:07:29Z</updated>
		<published>2018-10-31T21:59:19Z</published>
		<category scheme="http://www.klebercarvalho.com/blog" term="Architecture" /><category scheme="http://www.klebercarvalho.com/blog" term="en-us" /><category scheme="http://www.klebercarvalho.com/blog" term="Microservice" /><category scheme="http://www.klebercarvalho.com/blog" term="architecture" /><category scheme="http://www.klebercarvalho.com/blog" term="cloud" /><category scheme="http://www.klebercarvalho.com/blog" term="microservices" /><category scheme="http://www.klebercarvalho.com/blog" term="trends" />
		<summary type="html"><![CDATA[https://gotoams.nl/2017/sessions/190 Migration Sequence (from on promise to cloud) https://youtu.be/EDZBYbEwhm8?t=1109 The new de-normal https://youtu.be/EDZBYbEwhm8?t=1300 Adrian Cockcroft on The New De-Normal &#8211; Untangling &#8220;Kitchen Sink&#8221; Database Schemas https://youtu.be/Y6nKD-sK6tg]]></summary>

					<content type="html" xml:base="http://www.klebercarvalho.com/blog/cloud-trends-by-adrian-cockcroft/"><![CDATA[<p><a href="https://gotoams.nl/2017/sessions/190" target="_blank" rel="noopener">https://gotoams.nl/2017/sessions/190</a></p>
<p>Migration Sequence (from on promise to cloud)<br />
<a href="https://youtu.be/EDZBYbEwhm8?t=1109" target="_blank" rel="noopener">https://youtu.be/EDZBYbEwhm8?t=1109</a></p>
<p>The new de-normal<br />
<a href="https://youtu.be/EDZBYbEwhm8?t=1300" target="_blank" rel="noopener">https://youtu.be/EDZBYbEwhm8?t=1300</a></p>
<p>Adrian Cockcroft on The New De-Normal &#8211; Untangling &#8220;Kitchen Sink&#8221; Database Schemas<br />
<a href="https://youtu.be/Y6nKD-sK6tg" target="_blank" rel="noopener">https://youtu.be/Y6nKD-sK6tg</a></p>
]]></content>
		
					<link rel="replies" type="text/html" href="http://www.klebercarvalho.com/blog/cloud-trends-by-adrian-cockcroft/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="http://www.klebercarvalho.com/blog/cloud-trends-by-adrian-cockcroft/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
	</feed>
