PageSourceSearch

https://rponte.com.br/author/rponte/

html rponte.com.br collected 2026-09-24 10:23:33 UTC 146,442 bytes, 1,143 lines download raw bytes

1<!DOCTYPE html>
2<html lang="pt-BR">
3<head>
4<meta charset="UTF-8">
5<meta name="viewport" content="width=device-width, initial-scale=1">
6<link rel="profile" href="http://gmpg.org/xfn/11">
7
8<title>Rafael Ponte &#8211; Rafael Ponte</title>
9<script type="text/javascript">
10  WebFontConfig = {"google":{"families":["Karla:r,i,b,bi:latin,latin-ext"]},"api_url":"https:\/\/fonts-api.wp.com\/css"};
11  (function() {
12    var wf = document.createElement('script');
13    wf.src = '/wp-content/plugins/custom-fonts/js/webfont.js';
14    wf.type = 'text/javascript';
15    wf.async = 'true';
16    var s = document.getElementsByTagName('script')[0];
17    s.parentNode.insertBefore(wf, s);
18	})();
19</script>
19<style id="jetpack-custom-fonts-css">.wf-active body, .wf-active button, .wf-active input, .wf-active select, .wf-active textarea{font-family:"Karla",sans-serif;font-size:23.4px}.wf-active .author-name{font-size:23.4px}.wf-active .site-description, .wf-active .main-navigation a, .wf-active .archive-post-wrap .entry-summary, .wf-active button, .wf-active input[type="button"], .wf-active input[type="reset"], .wf-active input[type="submit"], .wf-active .site-info, .wf-active .footer-meta-area .author-bio, .wf-active .breadcrumb-area, .wf-active .wp-caption .wp-caption-text, .wf-active table caption, .wf-active blockquote cite, .wf-active #infinite-handle span, .wf-active .archive-posts-wrapper .nav-links a, .wf-active .comment-notes{font-size:18.2px}.wf-active .more-link{font-size:15.6px}.wf-active .drop-cap:first-letter{font-size:124.8px}.wf-active .dropdown-toggle{font-size:23.4px}.wf-active .custom-header-media .wp-custom-header-video-button{font-size:31.2px}.wf-active .page-links{font-size:31.2px}.wf-active .footer-meta-area .categories-label, .wf-active .footer-meta-area .tags-label, .wf-active .footer-meta-area .meta-nav, .wf-active .footer-meta-area .author-link, .wf-active .footer-meta-area .edit-link a{font-size:15.6px}.wf-active .portfolio-wrapper .entry-meta, .wf-active .featured-content-wrapper .entry-meta, .wf-active .first-post .entry-meta, .wf-active .archive-post-wrap .entry-meta, .wf-active .singular-content-wrap .entry-header .entry-meta{font-size:14.3px}.wf-active .two-columns .site-content .widget{font-size:20.8px}@media screen and (min-width: 985px){.wf-active .custom-header-media .wp-custom-header-video-button{font-size:41.6px}}@media screen and (min-width: 985px){.wf-active .first-post .entry-summary{font-size:28.6px}}@media screen and (min-width: 1280px){.wf-active .first-post .entry-summary{font-size:31.2px}}</style>
20<meta name='robots' content='max-image-preview:large' />
21
22<!-- Async WordPress.com Remote Login -->
23<script id="wpcom_remote_login_js">
24var wpcom_remote_login_extra_auth = '';
25function wpcom_remote_login_remove_dom_node_id( element_id ) {
26	var dom_node = document.getElementById( element_id );
27	if ( dom_node ) { dom_node.parentNode.removeChild( dom_node ); }
28}
29function wpcom_remote_login_remove_dom_node_classes( class_name ) {
30	var dom_nodes = document.querySelectorAll( '.' + class_name );
31	for ( var i = 0; i < dom_nodes.length; i++ ) {
32		dom_nodes[ i ].parentNode.removeChild( dom_nodes[ i ] );
33	}
34}
35function wpcom_remote_login_final_cleanup() {
36	wpcom_remote_login_remove_dom_node_classes( "wpcom_remote_login_msg" );
37	wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" );
38	wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_validate" );
39	wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_js" );
40	wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_iframe" );
41	wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_styles" );
42}
43
44// Watch for messages back from the remote login
45window.addEventListener( "message", function( e ) {
46	if ( e.origin === "https://r-login.wordpress.com" ) {
47		var data = {};
48		try {
49			data = JSON.parse( e.data );
50		} catch( e ) {
51			wpcom_remote_login_final_cleanup();
52			return;
53		}
54
55		if ( data.msg === 'LOGIN' ) {
56			// Clean up the login check iframe
57			wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" );
58
59			var id_regex = new RegExp( /^[0-9]+$/ );
60			var token_regex = new RegExp( /^.*|.*|.*$/ );
61			if (
62				token_regex.test( data.token )
63				&& id_regex.test( data.wpcomid )
64			) {
65				// We have everything we need to ask for a login
66				var script = document.createElement( "script" );
67				script.setAttribute( "id", "wpcom_remote_login_validate" );
68				script.src = '/remote-login.php?wpcom_remote_login=validate'
69					+ '&wpcomid=' + data.wpcomid
70					+ '&token=' + encodeURIComponent( data.token )
71					+ '&host=' + window.location.protocol
72					+ '//' + window.location.hostname
73					+ '&postid=1288'
74					+ '&is_singular=';
75				document.body.appendChild( script );
76			}
77
78			return;
79		}
80
81		// Safari ITP, not logged in, so redirect
82		if ( data.msg === 'LOGIN-REDIRECT' ) {
83			window.location = 'https://wordpress.com/log-in?redirect_to=' + window.location.href;
84			return;
85		}
86
87		// Safari ITP, storage access failed, remove the request
88		if ( data.msg === 'LOGIN-REMOVE' ) {
89			var css_zap = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } @media screen and ( max-width: 782px ) { html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } }';
90			var style_zap = document.createElement( 'style' );
91			style_zap.type = 'text/css';
92			style_zap.appendChild( document.createTextNode( css_zap ) );
93			document.body.appendChild( style_zap );
94
95			var e = document.getElementById( 'wpcom_request_access_iframe' );
96			e.parentNode.removeChild( e );
97
98			document.cookie = 'wordpress_com_login_access=denied; path=/; max-age=31536000';
99
100			return;
101		}
102
103		// Safari ITP
104		if ( data.msg === 'REQUEST_ACCESS' ) {
105			console.log( 'request access: safari' );
106
107			// Check ITP iframe enable/disable knob
108			if ( wpcom_remote_login_extra_auth !== 'safari_itp_iframe' ) {
109				return;
110			}
111
112			// If we are in a "private window" there is no ITP.
113			var private_window = false;
114			try {
115				var opendb = window.openDatabase( null, null, null, null );
116			} catch( e ) {
117				private_window = true;
118			}
119
120			if ( private_window ) {
121				console.log( 'private window' );
122				return;
123			}
124
125			var iframe = document.createElement( 'iframe' );
126			iframe.id = 'wpcom_request_access_iframe';
127			iframe.setAttribute( 'scrolling', 'no' );
128			iframe.setAttribute( 'sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-top-navigation-by-user-activation' );
129			iframe.src = 'https://r-login.wordpress.com/remote-login.php?wpcom_remote_login=request_access&origin=' + encodeURIComponent( data.origin ) + '&wpcomid=' + encodeURIComponent( data.wpcomid );
130
131			var css = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 46px !important; } * html body { margin-top: 46px !important; } @media screen and ( max-width: 660px ) { html { margin-top: 71px !important; } * html body { margin-top: 71px !important; } #wpcom_request_access_iframe { display: block; height: 71px !important; } } #wpcom_request_access_iframe { border: 0px; height: 46px; position: fixed; top: 0; left: 0; width: 100%; min-width: 100%; z-index: 99999; background: #23282d; } ';
132
133			var style = document.createElement( 'style' );
134			style.type = 'text/css';
135			style.id = 'wpcom_request_access_styles';
136			style.appendChild( document.createTextNode( css ) );
137			document.body.appendChild( style );
138
139			document.body.appendChild( iframe );
140		}
141
142		if ( data.msg === 'DONE' ) {
143			wpcom_remote_login_final_cleanup();
144		}
145	}
146}, false );
147
148// Inject the remote login iframe after the page has had a chance to load
149// more critical resources
150window.addEventListener( "DOMContentLoaded", function( e ) {
151	var iframe = document.createElement( "iframe" );
152	iframe.style.display = "none";
153	iframe.setAttribute( "scrolling", "no" );
154	iframe.setAttribute( "id", "wpcom_remote_login_key" );
155	iframe.src = "https://r-login.wordpress.com/remote-login.php"
156		+ "?wpcom_remote_login=key"
157		+ "&origin=aHR0cHM6Ly9ycG9udGUuY29tLmJy"
158		+ "&wpcomid=1295904"
159		+ "&time=" + Math.floor( Date.now() / 1000 );
160	document.body.appendChild( iframe );
161}, false );
162</script>
162
163<link rel='dns-prefetch' href='//s2.wp.com' />
164<link rel='dns-prefetch' href='//fonts-api.wp.com' />
165<link rel='dns-prefetch' href='//s0.wp.com' />
166<link rel="alternate" type="application/rss+xml" title="Feed para Rafael Ponte &raquo;" href="https://rponte.com.br/feed/" />
167<link rel="alternate" type="application/rss+xml" title="Feed de comentários para Rafael Ponte &raquo;" href="https://rponte.com.br/comments/feed/" />
168<link rel="alternate" type="application/rss+xml" title="Rafael Ponte &raquo; Feed dos posts para Rafael Ponte" href="https://rponte.com.br/author/rponte/feed/" />
169	
169<script type="text/javascript">
170		/* <![CDATA[ */
171		function addLoadEvent(func) {
172			var oldonload = window.onload;
173			if (typeof window.onload != 'function') {
174				window.onload = func;
175			} else {
176				window.onload = function () {
177					oldonload();
178					func();
179				}
180			}
181		}
182		/* ]]> */
183	</script>
183
184	<style id="wp-img-auto-sizes-contain-inline-css">
185img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
186/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
187</style>
188<link crossorigin='anonymous' rel='stylesheet' id='all-css-2-1' href='/wp-content/mu-plugins/jetpack-plugin/sun/modules/infinite-scroll/infinity.css?m=1777406400i&cssminify=yes' type='text/css' media='all' />
189<style id="wp-emoji-styles-inline-css">
190
191	img.wp-smiley, img.emoji {
192		display: inline !important;
193		border: none !important;
194		box-shadow: none !important;
195		height: 1em !important;
196		width: 1em !important;
197		margin: 0 0.07em !important;
198		vertical-align: -0.1em !important;
199		background: none !important;
200		padding: 0 !important;
201	}
202/*# sourceURL=wp-emoji-styles-inline-css */
203</style>
204<style id="wp-block-library-inline-css">
205:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
205--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
206
207/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/common.min.css */
208</style>
209<style id="wp-block-paragraph-inline-css">
210.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:var(--wp--style--block-background-padding,1.25em 2.375em)}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
211/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/paragraph/style.min.css */
212</style>
213<style id="wp-block-library-inline-css-extra">
214.has-text-align-justify {
215	text-align:justify;
216}
217.has-text-align-justify{text-align:justify;}
218/*# sourceURL=wp-block-library-inline-css */
219</style>
220
221<style id="classic-theme-styles-inline-css">
222.wp-block-button__link{background-color:#32373c;border-radius:9999px;box-shadow:none;color:#fff;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-file__button{background:#32373c;color:#fff}.wp-block-accordion-heading{margin:0}.wp-block-accordion-heading__toggle{background-color:inherit!important;color:inherit!important}.wp-block-accordion-heading__toggle:not(:focus-visible){outline:none}.wp-block-accordion-heading__toggle:focus,.wp-block-accordion-heading__toggle:hover{background-color:inherit!important;border:none;box-shadow:none;color:inherit;padding:var(--wp--preset--spacing--20,1em) 0;text-decoration:none}.wp-block-accordion-heading__toggle:focus-visible{outline:auto;outline-offset:0}.wp-block-tab:not(.has-text-color){color:inherit!important}.wp-block-tab:not(.has-background){background-color:inherit!important}.wp-block-tab:focus,.wp-block-tab:hover{text-decoration:none}.wp-block-tab:focus-visible{outline:auto;outline-offset:0}
223/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/classic.min.css */
224</style>
225
226<style id="coblocks-inline-format-inline-css">
227.uppercase{text-transform:uppercase}
228/*# sourceURL=coblocks-inline-format-inline-css */
229</style>
230<link crossorigin='anonymous' rel='stylesheet' id='all-css-12-1' href='/_static/??-eJx9jEEOAiEQBD/kQECjeDC+ZWEnijIwYWA3/l72op689KFTVXplCCU3zE1z6reYRYfiUwlP0VYZpwxIJE4IFRd10HOU9iFA2iuhCiI7/ROiDt9WxfETT20jCOc4YUIa2D9t5eGA91xRBMZS7ATtPkTZvCtdzNEZt7f2fHq8Afl7R7w=&cssminify=yes' type='text/css' media='all' />
231<style id="global-styles-inline-css">
232:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
2320) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 14px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 18px;--wp--preset--font-size--huge: 48px;--wp--preset--font-family--albert-sans: 'Albert Sans', sans-serif;--wp--preset--font-family--alegreya: Alegreya, serif;--wp--preset--font-family--arvo: Arvo, serif;--wp--preset--font-family--bodoni-moda: 'Bodoni Moda', serif;--wp--preset--font-family--bricolage-grotesque: 'Bricolage Grotesque', sans-serif;--wp--preset--font-family--cabin: Cabin, sans-serif;--wp--preset--font-family--chivo: Chivo, sans-serif;--wp--preset--font-family--commissioner: Commissioner, sans-serif;--wp--preset--font-family--cormorant: Cormorant, serif;--wp--preset--font-family--courier-prime: 'Courier Prime', monospace;--wp--preset--font-family--crimson-pro: 'Crimson Pro', serif;--wp--preset--font-family--dm-mono: 'DM Mono', monospace;--wp--preset--font-family--dm-sans: 'DM Sans', sans-serif;--wp--preset--font-family--dm-serif-display: 'DM Serif Display', serif;--wp--preset--font-family--domine: Domine, serif;--wp--preset--font-family--eb-garamond: 'EB Garamond', serif;--wp--preset--font-family--epilogue: Epilogue, sans-serif;--wp--preset--font-family--fahkwang: Fahkwang, sans-serif;--wp--preset--font-family--figtree: Figtree, sans-serif;--wp--preset--font-family--fira-sans: 'Fira Sans', sans-serif;--wp--preset--font-family--fjalla-one: 'Fjalla One', sans-serif;--wp--preset--font-family--fraunces: Fraunces, serif;--wp--preset--font-family--gabarito: Gabarito, system-ui;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--ibm-plex-sans: 'IBM Plex Sans', sans-serif;--wp--preset--font-family--ibarra-real-nova: 'Ibarra Real Nova', serif;--wp--preset--font-family--instrument-serif: 'Instrument Serif', serif;--wp--preset--font-family--inter: Inter, sans-serif;--wp--preset--font-family--josefin-sans: 'Josefin Sans', sans-serif;--wp--preset--font-family--jost: Jost, sans-serif;--wp--preset--font-family--libre-baskerville: 'Libre Baskerville', serif;--wp--preset--font-family--libre-franklin: 'Libre Franklin', sans-serif;--wp--preset--font-family--literata: Literata, serif;--wp--preset--font-family--lora: Lora, serif;--wp--preset--font-family--merriweather: Merriweather, serif;--wp--preset--font-family--montserrat: Montserrat, sans-serif;--wp--preset--font-family--newsreader: Newsreader, serif;--wp--preset--font-family--noto-sans-mono: 'Noto Sans Mono', sans-serif;--wp--preset--font-family--nunito: Nunito, sans-serif;--wp--preset--font-family--open-sans: 'Open Sans', sans-serif;--wp--preset--font-family--overpass: Overpass, sans-serif;--wp--preset--font-family--pt-serif: 'PT Serif', serif;--wp--preset--font-family--petrona: Petrona, serif;--wp--preset--font-family--piazzolla: Piazzolla, serif;--wp--preset--font-family--playfair-display: 'Playfair Display', serif;--wp--preset--font-family--plus-jakarta-sans: 'Plus Jakarta Sans', sans-serif;--wp--preset--font-family--poppins: Poppins, sans-serif;--wp--preset--font-family--raleway: Raleway, sans-serif;--wp--preset--font-family--roboto: Roboto, sans-serif;--wp--preset--font-family--roboto-slab: 'Roboto Slab', serif;--wp--preset--font-family--rubik: Rubik, sans-serif;--wp--preset--font-family--rufina: Rufina, serif;--wp--preset--font-family--sora: Sora, sans-serif;--wp--preset--font-family--source-sans-3: 'Source Sans 3', sans-serif;--wp--preset--font-family--source-serif-4: 'Source Serif 4', serif;--wp--preset--font-family--space-mono: 'Space Mono', monospace;--wp--preset--font-family--syne: Syne, sans-serif;--wp--preset--font-family--texturina: Texturina, serif;--wp--preset--font-family--urbanist: Urbanist, sans-serif;--wp--preset--font-family--work-sans: 'Work Sans', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
232.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-normal-font-size{font-size: var(--wp--preset--font-size--normal) !important;}.has-huge-font-size{font-size: var(--wp--preset--font-size--huge) !important;}.has-albert-sans-font-family{font-family: var(--wp--preset--font-family--albert-sans) !important;}.has-alegreya-font-family{font-family: var(--wp--preset--font-family--alegreya) !important;}.has-arvo-font-family{font-family: var(--wp--preset--font-family--arvo) !important;}.has-bodoni-moda-font-family{font-family: var(--wp--preset--font-family--bodoni-moda) !important;}.has-bricolage-grotesque-font-family{font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;}.has-cabin-font-family{font-family: var(--wp--preset--font-family--cabin) !important;}.has-chivo-font-family{font-family: var(--wp--preset--font-family--chivo) !important;}.has-commissioner-font-family{font-family: var(--wp--preset--font-family--commissioner) !important;}.has-cormorant-font-family{font-family: var(--wp--preset--font-family--cormorant) !important;}.has-courier-prime-font-family{font-family: var(--wp--preset--font-family--courier-prime) !important;}.has-crimson-pro-font-family{font-family: var(--wp--preset--font-family--crimson-pro) !important;}.has-dm-mono-font-family{font-family: var(--wp--preset--font-family--dm-mono) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-dm-serif-display-font-family{font-family: var(--wp--preset--font-family--dm-serif-display) !important;}.has-domine-font-family{font-family: var(--wp--preset--font-family--domine) !important;}.has-eb-garamond-font-family{font-family: var(--wp--preset--font-family--eb-garamond) !important;}.has-epilogue-font-family{font-family: var(--wp--preset--font-family--epilogue) !important;}.has-fahkwang-font-family{font-family: var(--wp--preset--font-family--fahkwang) !important;}.has-figtree-font-family{font-family: var(--wp--preset--font-family--figtree) !important;}.has-fira-sans-font-family{font-family: var(--wp--preset--font-family--fira-sans) !important;}.has-fjalla-one-font-family{font-family: var(--wp--preset--font-family--fjalla-one) !important;}.has-fraunces-font-family{font-family: var(--wp--preset--font-family--fraunces) !important;}.has-gabarito-font-family{font-family: var(--wp--preset--font-family--gabarito) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-ibm-plex-sans-font-family{font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;}.has-ibarra-real-nova-font-family{font-family: var(--wp--preset--font-family--ibarra-real-nova) !important;}.has-instrument-serif-font-family{font-family: var(--wp--preset--font-family--instrument-serif) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-josefin-sans-font-family{font-family: var(--wp--preset--font-family--josefin-sans) !important;}.has-jost-font-family{font-family: var(--wp--preset--font-family--jost) !important;}.has-libre-baskerville-font-family{font-family: var(--wp--preset--font-family--libre-baskerville) !important;}.has-libre-franklin-font-family{font-family: var(--wp--preset--font-family--libre-franklin) !important;}.has-literata-font-family{font-family: var(--wp--preset--font-family--literata) !important;}.has-lora-font-family{font-family: var(--wp--preset--font-family--lora) !important;}.has-merriweather-font-family{font-family: var(--wp--preset--font-family--merriweather) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}.has-newsreader-font-family{font-family: var(--wp--preset--font-family--newsreader) !important;}.has-noto-sans-mono-font-family{font-family: var(--wp--preset--font-family--noto-sans-mono) !important;}.has-nunito-font-family{font-family: var(--wp--preset--font-family--nunito) !important;}.has-open-sans-font-family{font-family: var(--wp--preset--font-family--open-sans) !important;}.has-overpass-font-family{font-family: var(--wp--preset--font-family--overpass) !important;}.has-pt-serif-font-family{font-family: var(--wp--preset--font-family--pt-serif) !important;}.has-petrona-font-family{font-family: var(--wp--preset--font-family--petrona) !important;}.has-piazzolla-font-family{font-family: var(--wp--preset--font-family--piazzolla) !important;}.has-playfair-display-font-family{font-family: var(--wp--preset--font-family--playfair-display) !important;}.has-plus-jakarta-sans-font-family{font-family: var(--wp--preset--font-family--plus-jakarta-sans) !important;}.has-poppins-font-family{font-family: var(--wp--preset--font-family--poppins) !important;}.has-raleway-font-family{font-family: var(--wp--preset--font-family--raleway) !important;}.has-roboto-font-family{font-family: var(--wp--preset--font-family--roboto) !important;}.has-roboto-slab-font-family{font-family: var(--wp--preset--font-family--roboto-slab) !important;}.has-rubik-font-family{font-family: var(--wp--preset--font-family--rubik) !important;}.has-rufina-font-family{font-family: var(--wp--preset--font-family--rufina) !important;}.has-sora-font-family{font-family: var(--wp--preset--font-family--sora) !important;}.has-source-sans-3-font-family{font-family: var(--wp--preset--font-family--source-sans-3) !important;}.has-source-serif-4-font-family{font-family: var(--wp--preset--font-family--source-serif-4) !important;}.has-space-mono-font-family{font-family: var(--wp--preset--font-family--space-mono) !important;}.has-syne-font-family{font-family: var(--wp--preset--font-family--syne) !important;}.has-texturina-font-family{font-family: var(--wp--preset--font-family--texturina) !important;}.has-urbanist-font-family{font-family: var(--wp--preset--font-family--urbanist) !important;}.has-work-sans-font-family{font-family: var(--wp--preset--font-family--work-sans) !important;}
233/*# sourceURL=global-styles-inline-css */
234</style>
235
236<link rel='stylesheet' id='verity-fonts-css' href='https://fonts-api.wp.com/css?family=Lato%3A400%2C700%2C900%2C400italic%2C700italic%2C900italic%7CPlayfair+Display%3A400%2C700%2C400italic%2C700italic%7CAmatic+SC%3A400%2C700&#038;subset=latin%2Clatin-ext' media='all' />
237<link crossorigin='anonymous' rel='stylesheet' id='all-css-16-1' href='/_static/??-eJyFzEEKAjEMheELGYMjQ92IZ6kl1mrTliYdmdtbZxYigu7y4P+CjwIuJ6WkqFdiEiyVODTGiWrQGUXnSFsnssG/rRUhFezxyuAcs7vLl+YGJTYfkmCl3vh++oW95y/kKUP/bDXk9DHgEm2oL3ri486MZjyYYT/cniOfVns=&cssminify=yes' type='text/css' media='all' />
238<link crossorigin='anonymous' rel='stylesheet' id='print-css-17-1' href='/wp-content/mu-plugins/global-print/global-print.css?m=1465851035i&cssminify=yes' type='text/css' media='print' />
239<style id="jetpack-global-styles-frontend-style-inline-css">
240:root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;}
241/*# sourceURL=jetpack-global-styles-frontend-style-inline-css */
242</style>
243<link crossorigin='anonymous' rel='stylesheet' id='all-css-20-1' href='/wp-content/themes/h4/global.css?m=1420737423i&cssminify=yes' type='text/css' media='all' />
244<script id="wpcom-actionbar-placeholder-js-extra">
245var actionbardata = {"siteID":"1295904","postID":"0","siteURL":"https://rponte.com.br","xhrURL":"https://rponte.com.br/wp-admin/admin-ajax.php","nonce":"8d3428c4ce","isLoggedIn":"","statusMessage":"","subsEmailDefault":"instantly","proxyScriptUrl":"https://s0.wp.com/wp-content/js/wpcom-proxy-request.js?m=1513050504i&amp;ver=20211021","i18n":{"followedText":"Novas publica\u00e7\u00f5es deste site agora aparecer\u00e3o no seu \u003Ca href=\"https://wordpress.com/reader\"\u003ELeitor\u003C/a\u003E","foldBar":"Esconder esta barra","unfoldBar":"Mostrar esta barra","shortLinkCopied":"Copied to clipboard."}};
246//# sourceURL=wpcom-actionbar-placeholder-js-extra
247</script>
vendor: 1 bytes, line 247
247
248<script id="jetpack-mu-wpcom-settings-js-before">
249var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https://s1.wp.com/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/sun/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/"};
250//# sourceURL=jetpack-mu-wpcom-settings-js-before
251</script>
vendor: 1 bytes, line 251
251
252<script crossorigin='anonymous' type='text/javascript'  src='/_static/??-eJyFi0EOgjAQAD9kWZSgeDC+hcBGtumWurtV+nsiwcSbpznMDLyTG+ZoGA28ggRzSealVF4P8ONsQkaFJMiUGV4oZAV6VTT9jJNxaL8TxSHkETfhnxml7KiY4t/IMT2kN9zjO9+Ol1PdNvW5u/oV6W5Aow=='></script>
vendor: 1 bytes, line 252
252
253<script id="rlt-proxy-js-after">
254	rltInitialize( {"token":null,"iframeOrigins":["https:\/\/widgets.wp.com"]} );
255//# sourceURL=rlt-proxy-js-after
256</script>
256
257<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://rponte.wordpress.com/xmlrpc.php?rsd" />
258<meta name="generator" content="WordPress.com" />
259
260<!-- Jetpack Open Graph Tags -->
261<meta property="og:type" content="profile" />
262<meta property="og:title" content="Rafael Ponte" />
263<meta property="og:url" content="https://www.rponte.com.br/" />
264<meta property="og:description" content="Engenheiro de Software na Zup Innovation tentando ajudar outros devs(as) e times a performarem melhor através da educação. Nas horas vagas um podcaster frustrado no @DevsCansados." />
265<meta property="profile:first_name" content="Rafael" />
266<meta property="profile:last_name" content="Ponte" />
267<meta property="og:site_name" content="Rafael Ponte" />
268<meta property="og:image" content="https://secure.gravatar.com/avatar/6a1d8993a5bc15581d35b0c4b183eca0a5a00e32be698f35a2a288801a65dd3c?s=200&#038;d=mm" />
269<meta property="og:image:alt" content="Rafael Ponte" />
270<meta property="og:locale" content="pt_BR" />
271<meta name="twitter:creator" content="@rponte" />
272<meta name="twitter:site" content="@rponte" />
273
274<!-- End Jetpack Open Graph Tags -->
275<link rel="shortcut icon" type="image/x-icon" href="https://s1.wp.com/i/favicon.ico?m=1713425267i" sizes="16x16 24x24 32x32 48x48" />
276<link rel="icon" type="image/x-icon" href="https://s1.wp.com/i/favicon.ico?m=1713425267i" sizes="16x16 24x24 32x32 48x48" />
277<link rel="apple-touch-icon" href="https://s2.wp.com/i/webclip.png?m=1713868326i" />
278<link rel='openid.server' href='https://rponte.com.br/?openidserver=1' />
279<link rel='openid.delegate' href='https://rponte.com.br/' />
280<link rel="search" type="application/opensearchdescription+xml" href="https://rponte.com.br/osd.xml" title="Rafael Ponte" />
281<link rel="search" type="application/opensearchdescription+xml" href="https://s1.wp.com/opensearch.xml" title="WordPress.com" />
282<meta name="description" content="Ler todos os posts de Rafael Ponte em Rafael Ponte" />
283		<style type="text/css">
284				.custom-header:before {
285					background-image: url( https://s2.wp.com/wp-content/themes/premium/verity/assets/images/header.jpg);
286					background-position: center;
287					background-repeat: no-repeat;
288					background-size: cover;
289					content: "";
290					display: block;
291					position: absolute;
292					top: 0;
293					left: 0;
294					width: 100%;
295					height: 100%;
296					z-index: -1;
297				}
298			</style>
299		<link crossorigin='anonymous' rel='stylesheet' id='all-css-0-5' href='/_static/??-eJydzNEKwjAMheEXsmYTdbsZPorULIxuaVqahrG3F0F3KeLlfzh8sGaHSSpJhWgus01BFGaq2ePyblATuAdBeHDCRUHXkKkcUfUAPwMxjcakgL4kU+L98xn+9GpgGt3kmals3+rl3+LQdv3l1J6b/jo/AVGyX1w=&cssminify=yes' type='text/css' media='all' />
300
301</head>
302
303<body class="archive author author-rponte author-1359413 wp-embed-responsive wp-theme-premiumverity customizer-styles-applied hfeed navigation-classic full-width-layout jetpack-reblog-enabled">
304<div id="page" class="site">
305	<div class="site-inner">
306
307		<a class="skip-link screen-reader-text" href="#content">Pular para o conteúdo</a>
308
309		<header id="masthead" class="site-header" role="banner">
310			<div class="site-header-main">
311				
312<div class="site-branding">
313
314	<div class="site-logo"></div><!-- .site-logo -->
315	<div class="site-branding-text">
316					<p class="site-title"><a href="https://rponte.com.br/" rel="home">Rafael Ponte</a></p>
317		
318					<p class="site-description">&quot;TEAM = Together Everyone Achieves More&quot;</p>
319			</div><!-- .site-branding-text -->
320
321</div><!-- .site-branding -->
322				<div id="site-header-menu" class="site-header-menu">
323
324	<div id="primary-menu-wrapper" class="menu-wrapper">
325		<div class="menu-toggle-wrapper"><button id="primary-menu-toggle"  class="menu-toggle" aria-controls="top-menu" aria-expanded="false"><svg class="icon icon-bars" aria-hidden="true" role="img"> <use href="#icon-bars" xlink:href="#icon-bars"></use> </svg><svg class="icon icon-close" aria-hidden="true" role="img"> <use href="#icon-close" xlink:href="#icon-close"></use> </svg><span class="menu-label">Menu</span></button></div><!-- .menu-toggle-wrapper -->
326
327		<div class="menu-inside-wrapper">
328							<div id="site-header-cart-wrapper" class="menu-wrapper">
329									</div><!-- #social-search-wrapper.menu-wrapper -->
330			
331							<nav id="site-navigation" class="main-navigation default-page-menu" role="navigation" aria-label="Menu principal">
332					<div class="primary-menu-container"><ul id="menu-primary-items" class="primary-menu"><li class="page_item page-item-1146"><a href="https://rponte.com.br/about-2/">Sobre Rafael Ponte</a></li><li class="page_item page-item-1157"><a href="https://rponte.com.br/todos-os-posts/">Todos os posts</a></li></ul></div>				</nav><!-- .main-navigation -->
333			
334			<div class="mobile-social-search">
335				<nav id="social-navigation" class="social-navigation" role="navigation" aria-label="Menu de links sociais">
336
337					<div class="search-container">
338						
339<form role="search" method="get" class="search-form" action="https://rponte.com.br/">
340	<label>
341		<span class="screen-reader-text">Pesquisar por:</span>
342		<input type="search" class="search-field" placeholder="Pesquisar &hellip;" value="" name="s" />
343	</label>
344	<button type="submit" class="search-submit"><svg class="icon icon-search" aria-hidden="true" role="img"> <use href="#icon-search" xlink:href="#icon-search"></use> </svg><span class="screen-reader-text">Pesquisar</span></button>
345</form>
346					</div>
347
348											<div class="social-mobile-wrapper social-inside-wrapper">
349													</div>
350					
351				</nav><!-- .social-navigation -->
352			</div><!-- .mobile-social-search -->
353
354		</div><!-- .menu-inside-wrapper -->
355
356	</div><!-- #primary-menu-wrapper.menu-wrapper -->
357
358	<div id="social-search-wrapper" class="menu-wrapper">
359
360					<div class="social-navigation social-top">
361							</div>
362		
363					<div id="site-header-cart-wrapper" class="menu-wrapper">
364							</div><!-- #social-search-wrapper.menu-wrapper -->
365		
366		<div class="menu-toggle-wrapper"><button id="social-search-toggle" class="menu-toggle"><svg class="icon icon-search" aria-hidden="true" role="img"> <use href="#icon-search" xlink:href="#icon-search"></use> </svg><svg class="icon icon-close" aria-hidden="true" role="img"> <use href="#icon-close" xlink:href="#icon-close"></use> </svg><span class="screen-reader-text">Search</span></button></div><!-- .menu-toggle-wrapper -->
367
368		<div class="menu-inside-wrapper">
369
370			<nav class="social-navigation social-bottom" role="navigation" aria-label="Menu de links sociais">
371
372				<div class="search-container">
373					
374<form role="search" method="get" class="search-form" action="https://rponte.com.br/">
375	<label>
376		<span class="screen-reader-text">Pesquisar por:</span>
377		<input type="search" class="search-field" placeholder="Pesquisar &hellip;" value="" name="s" />
378	</label>
379	<button type="submit" class="search-submit"><svg class="icon icon-search" aria-hidden="true" role="img"> <use href="#icon-search" xlink:href="#icon-search"></use> </svg><span class="screen-reader-text">Pesquisar</span></button>
380</form>
381				</div>
382
383									<div class="social-top-inside-wrapper social-inside-wrapper">
384											</div>
385				
386			</nav><!-- .social-navigation -->
387
388		</div><!-- .menu-inside-wrapper -->
389
390	</div><!-- #social-search-wrapper.menu-wrapper -->
391
392	
393</div><!-- .site-header-menu -->
394			</div><!-- .site-header-main -->
395		</header><!-- #masthead -->
396
397		<div class="below-site-header">
398
399			
400			
401
402			<div id="content" class="site-content">
403
404	<div id="primary" class="content-area">
405		<main id="main" class="site-main" role="main">
406
407			<div class="archive-posts-wrapper">
408				
409					<div class="archive-heading-wrapper">
410						<header class="page-header">
411							<h1 class="page-title">Autor: <span>Rafael Ponte</span></h1>						</header><!-- .page-header -->
412						<div class="square"><svg class="icon icon-square" aria-hidden="true" role="img"> <use href="#icon-square" xlink:href="#icon-square"></use> </svg></div>
413						<div class="archive-description">Engenheiro de Software na Zup Innovation tentando ajudar outros devs(as) e times a performarem melhor através da educação. Nas horas vagas um podcaster frustrado no @DevsCansados.</div>					</div><!-- .archive-heading-wrapper -->
414
415					<div id="infinite-post-wrap" class="archive-post-wrap">
416							
417<article id="post-1288" class="post-1288 post type-post status-publish format-standard has-post-thumbnail hentry category-uncategorized tag-arquitetura tag-concorrencia tag-escalabilidade tag-fila-de-mensagens tag-fila-em-banco-de-dados tag-kafka tag-locking tag-messaging tag-messaging-queue tag-queue tag-rabbitmq tag-rdbms tag-sistemas-distribuidos tag-skip-locked">
418
419	<div class="post-thumbnail archive-thumbnail">
420		<a href="https://rponte.com.br/2022/04/21/fila-em-banco-escalando-sua-aplicacao-com-banco-relacional/">
421			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" srcset="https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=888&amp;h=888&amp;crop=1 888w, https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=300&amp;h=300&amp;crop=1 300w, https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=768&amp;h=768&amp;crop=1 768w" sizes="(max-width: 444px) 100vw, 444px" data-attachment-id="1298" data-permalink="https://rponte.com.br/2022/04/21/fila-em-banco-escalando-sua-aplicacao-com-banco-relacional/screen-shot-2022-04-21-at-20-18-14/" data-orig-file="https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png" data-orig-size="2346,1422" data-comments-opened="1" data-image-title="Screen Shot 2022-04-21 at 20.18.14" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=2346" />		</a>
422
423		
424<div class="entry-meta">
425	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2022/04/21/fila-em-banco-escalando-sua-aplicacao-com-banco-relacional/" rel="bookmark"><time class="entry-date published" datetime="2022-04-21T23:42:43+00:00">abril 21, 2022</time><time class="updated" datetime="2022-04-21T23:49:51+00:00">abril 21, 2022</time></a></span></div><!-- .entry-meta -->
426	</div>
427
428	<div class="entry-container">
429
430		<header class="entry-header">
431			<h2 class="entry-title"><a href="https://rponte.com.br/2022/04/21/fila-em-banco-escalando-sua-aplicacao-com-banco-relacional/" rel="bookmark">Fila em Banco: Escalando sua Aplicação com Banco Relacional</a></h2>		</header>
432
433		<div class="entry-summary">
434			<p>Por mais controverso que pareça, podemos usar um banco de dados relacional como uma fila de mensagens, aproveitando sua natureza ACID e todo seu c
434ontrole de locking e concorrência.</p>
435		</div>
436
437		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/uncategorized/" rel="category tag">Uncategorized</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/arquitetura/" rel="tag">arquitetura</a>, <a href="https://rponte.com.br/tag/concorrencia/" rel="tag">concorrência</a>, <a href="https://rponte.com.br/tag/escalabilidade/" rel="tag">escalabilidade</a>, <a href="https://rponte.com.br/tag/fila-de-mensagens/" rel="tag">fila de mensagens</a>, <a href="https://rponte.com.br/tag/fila-em-banco-de-dados/" rel="tag">fila em banco de dados</a>, <a href="https://rponte.com.br/tag/kafka/" rel="tag">kafka</a>, <a href="https://rponte.com.br/tag/locking/" rel="tag">locking</a>, <a href="https://rponte.com.br/tag/messaging/" rel="tag">messaging</a>, <a href="https://rponte.com.br/tag/messaging-queue/" rel="tag">messaging queue</a>, <a href="https://rponte.com.br/tag/queue/" rel="tag">queue</a>, <a href="https://rponte.com.br/tag/rabbitmq/" rel="tag">rabbitmq</a>, <a href="https://rponte.com.br/tag/rdbms/" rel="tag">RDBMS</a>, <a href="https://rponte.com.br/tag/sistemas-distribuidos/" rel="tag">sistemas distribuidos</a>, <a href="https://rponte.com.br/tag/skip-locked/" rel="tag">SKIP LOCKED</a></span></span></footer> <!-- .entry-footer -->
438	</div><!-- .entry-container -->
439
440</article><!-- #post-## -->
441
442<article id="post-1261" class="post-1261 post type-post status-publish format-standard has-post-thumbnail hentry category-engenharia-de-software tag-3-pilares-da-escalabilidade tag-arquitetura tag-assincronicidade tag-balanceamento-de-carga tag-caching tag-escalabilidade tag-falsa-dicotomia tag-hibernate tag-java tag-jvm tag-microservices tag-monolito tag-performance tag-pool-de-conexoes tag-sistemas-distribuidos">
443
444	<div class="post-thumbnail archive-thumbnail">
445		<a href="https://rponte.com.br/2022/04/19/arquitetura-java-escalando-do-monolito-ao-microservices/">
446			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" srcset="https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png?w=300&amp;h=300&amp;crop=1 300w, https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png?w=768&amp;h=768&amp;crop=1 768w" sizes="(max-width: 444px) 100vw, 444px" data-attachment-id="1283" data-permalink="https://rponte.com.br/2022/04/19/arquitetura-java-escalando-do-monolito-ao-microservices/talk-capa-1-2/" data-orig-file="https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png" data-orig-size="1737,873" data-comments-opened="1" data-image-title="talk-capa-1.2" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png?w=1737" />		</a>
447
448		
449<div class="entry-meta">
450	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2022/04/19/arquitetura-java-escalando-do-monolito-ao-microservices/" rel="bookmark"><time class="entry-date published" datetime="2022-04-19T14:05:18+00:00">abril 19, 2022</time><time class="updated" datetime="2022-04-21T23:44:11+00:00">abril 21, 2022</time></a></span></div><!-- .entry-meta -->
451	</div>
452
453	<div class="entry-container">
454
455		<header class="entry-header">
456			<h2 class="entry-title"><a href="https://rponte.com.br/2022/04/19/arquitetura-java-escalando-do-monolito-ao-microservices/" rel="bookmark">Arquitetura Java: Escalando do Monolito ao Microservices</a></h2>		</header>
457
458		<div class="entry-summary">
459			<p>De forma didática, aprenda como escalar sua aplicação web, seja monolito ou microservices, usando os 3 pilares da escalabilidade: caching, assincronicidade e balanceamento de carga.</p>
460		</div>
461
462		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/engenharia-de-software/" rel="category tag">Engenharia de Software</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/3-pilares-da-escalabilidade/" rel="tag">3 pilares da escalabilidade</a>, <a href="https://rponte.com.br/tag/arquitetura/" rel="tag">arquitetura</a>, <a href="https://rponte.com.br/tag/assincronicidade/" rel="tag">assincronicidade</a>, <a href="https://rponte.com.br/tag/balanceamento-de-carga/" rel="tag">balanceamento de carga</a>, <a href="https://rponte.com.br/tag/caching/" rel="tag">caching</a>, <a href="https://rponte.com.br/tag/escalabilidade/" rel="tag">escalabilidade</a>, <a href="https://rponte.com.br/tag/falsa-dicotomia/" rel="tag">falsa dicotomia</a>, <a href="https://rponte.com.br/tag/hibernate/" rel="tag">hibernate</a>, <a href="https://rponte.com.br/tag/java/" rel="tag">Java</a>, <a href="https://rponte.com.br/tag/jvm/" rel="tag">jvm</a>, <a href="https://rponte.com.br/tag/microservices/" rel="tag">microservices</a>, <a href="https://rponte.com.br/tag/monolito/" rel="tag">monolito</a>, <a href="https://rponte.com.br/tag/performance/" rel="tag">performance</a>, <a href="https://rponte.com.br/tag/pool-de-conexoes/" rel="tag">pool de conexoes</a>, <a href="https://rponte.com.br/tag/sistemas-distribuidos/" rel="tag">sistemas distribuidos</a></span></span></footer> <!-- .entry-footer -->
463	</div><!-- .entry-container -->
464
465</article><!-- #post-## -->
466
467<article id="post-1253" class="post-1253 post type-post status-publish format-standard has-post-thumbnail hentry category-uncategorized tag-banco-de-dados tag-chave-primaria tag-database tag-hash-index tag-opaque-id tag-performance tag-pk tag-primary-key tag-rdbms tag-relacional tag-rest-api tag-security tag-seguranca tag-sequence tag-uuid">
468
469	<div class="post-thumbnail archive-thumbnail">
470		<a href="https://rponte.com.br/2021/01/30/nao-use-uuid-como-pk-nas-tabelas-do-seu-banco-de-dados/">
471			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" srcset="https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png?w=300&amp;h=300&amp;crop=1 300w, https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png?w=768&amp;h=768&amp;crop=1 768w" sizes="(max-width: 444px) 100vw, 444px" data-attachment-id="1255" data-permalink="https://rponte.com.br/2021/01/30/nao-use-uuid-como-pk-nas-tabelas-do-seu-banco-de-dados/uuid-as-pk/" data-orig-file="https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png" data-orig-size="1364,774" data-comments-opened="1" data-image-title="uuid-as-pk" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png?w=1364" />		</a>
472
473		
474<div class="entry-meta">
475	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2021/01/30/nao-use-uuid-como-pk-nas-tabelas-do-seu-banco-de-dados/" rel="bookmark"><time class="entry-date published updated" datetime="2021-01-30T15:52:35+00:00">janeiro 30, 2021</time></a></span></div><!-- .entry-meta -->
476	</div>
477
478	<div class="entry-container">
479
480		<header class="entry-header">
481			<h2 class="entry-title"><a href="https://rponte.com.br/2021/01/30/nao-use-uuid-como-pk-nas-tabelas-do-seu-banco-de-dados/" rel="bookmark">Pretende usar UUID como PK em vez de Int/BigInt no seu banco de dados? Pense novamente&#8230;</a></h2>		</header>
482
483		<div class="entry-summary">
484			<p>Não use UUID como chave primária nas tabelas do seu banco de dados. Favoreça o uso de PKs sequenciais no seu modelo relacional e use uma coluna extra do tipo UUID para expor na sua API REST.</p>
485		</div>
486
487		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/uncategorized/" rel="category tag">Uncategorized</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/banco-de-dados/" rel="tag">banco de dados</a>, <a href="https://rponte.com.br/tag/chave-primaria/" rel="tag">chave primaria</a>, <a href="https://rponte.com.br/tag/database/" rel="tag">database</a>, <a href="https://rponte.com.br/tag/hash-index/" rel="tag">hash index</a>, <a href="https://rponte.com.br/tag/opaque-id/" rel="tag">opaque ID</a>, <a href="https://rponte.com.br/tag/performance/" rel="tag">performance</a>, <a href="https://rponte.com.br/tag/pk/" rel="tag">PK</a>, <a href="https://rponte.com.br/tag/primary-key/" rel="tag">primary key</a>, <a href="https://rponte.com.br/tag/rdbms/" rel="tag">
487RDBMS</a>, <a href="https://rponte.com.br/tag/relacional/" rel="tag">relacional</a>, <a href="https://rponte.com.br/tag/rest-api/" rel="tag">REST API</a>, <a href="https://rponte.com.br/tag/security/" rel="tag">security</a>, <a href="https://rponte.com.br/tag/seguranca/" rel="tag">segurança</a>, <a href="https://rponte.com.br/tag/sequence/" rel="tag">sequence</a>, <a href="https://rponte.com.br/tag/uuid/" rel="tag">UUID</a></span></span></footer> <!-- .entry-footer -->
488	</div><!-- .entry-container -->
489
490</article><!-- #post-## -->
491
492<article id="post-1093" class="post-1093 post type-post status-publish format-standard has-post-thumbnail hentry category-java-ee category-jsf category-oracle-adf tag-11g tag-adf tag-adf-bc tag-change-indicator tag-history-column tag-jbo-25014 tag-jdeveloper tag-lost-update tag-optimistic-locking tag-oracle tag-oracle-adf tag-oracle-jbo-rowinconsistentexception tag-pessimistic-locking tag-phantom-user tag-version-number">
493
494	<div class="post-thumbnail archive-thumbnail">
495		<a href="https://rponte.com.br/2017/09/11/adf-jbo-25014-another-user-has-changed-the-row-with-primary-key/">
496			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2020/10/807d0-oracle-adf-1508x706_c.jpg?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://rponte.com.br/wp-content/uploads/2020/10/807d0-oracle-adf-1508x706_c.jpg?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/807d0-oracle-adf-1508x706_c.jpg?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/807d0-oracle-adf-1508x706_c.jpg?w=300&amp;h=300&amp;crop=1 300w" sizes="auto, (max-width: 444px) 100vw, 444px" data-attachment-id="1144" data-permalink="https://rponte.com.br/2017/09/11/adf-jbo-25014-another-user-has-changed-the-row-with-primary-key/oracle-adf-1508x706_c/" data-orig-file="https://rponte.com.br/wp-content/uploads/2020/10/807d0-oracle-adf-1508x706_c.jpg" data-orig-size="1508,706" data-comments-opened="1" data-image-title="Oracle-ADF-1508x706_c" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2020/10/807d0-oracle-adf-1508x706_c.jpg?w=1508" />		</a>
497
498		
499<div class="entry-meta">
500	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2017/09/11/adf-jbo-25014-another-user-has-changed-the-row-with-primary-key/" rel="bookmark"><time class="entry-date published" datetime="2017-09-11T10:34:17+00:00">setembro 11, 2017</time><time class="updated" datetime="2020-10-25T02:10:51+00:00">outubro 25, 2020</time></a></span></div><!-- .entry-meta -->
501	</div>
502
503	<div class="entry-container">
504
505		<header class="entry-header">
506			<h2 class="entry-title"><a href="https://rponte.com.br/2017/09/11/adf-jbo-25014-another-user-has-changed-the-row-with-primary-key/" rel="bookmark">ADF: JBO-25014: Another user has changed the row with primary key</a></h2>		</header>
507
508		<div class="entry-summary">
509			<p>Ao trabalhar com o framework Oracle ADF 11g&nbsp;é muito comum nos depararmos com o famigerado erro JBO-25014: Another user has changed the row with primary key, no qual significa que &hellip; <a href="https://rponte.com.br/2017/09/11/adf-jbo-25014-another-user-has-changed-the-row-with-primary-key/" class="more-link"><span>Continuar lendo <span class="screen-reader-text">ADF: JBO-25014: Another user has changed the row with primary key</span></span></a></p>
510		</div>
511
512		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/java-ee/" rel="category tag">Java EE</a>, <a href="https://rponte.com.br/category/jsf/" rel="category tag">Jsf</a>, <a href="https://rponte.com.br/category/oracle-adf/" rel="category tag">Oracle ADF</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/11g/" rel="tag">11g</a>, <a href="https://rponte.com.br/tag/adf/" rel="tag">adf</a>, <a href="https://rponte.com.br/tag/adf-bc/" rel="tag">adf bc</a>, <a href="https://rponte.com.br/tag/change-indicator/" rel="tag">change indicator</a>, <a href="https://rponte.com.br/tag/history-column/" rel="tag">history column</a>, <a href="https://rponte.com.br/tag/jbo-25014/" rel="tag">JBO-25014</a>, <a href="https://rponte.com.br/tag/jdeveloper/" rel="tag">jdeveloper</a>, <a href="https://rponte.com.br/tag/lost-update/" rel="tag">lost update</a>, <a href="https://rponte.com.br/tag/optimistic-locking/" rel="tag">optimistic locking</a>, <a href="https://rponte.com.br/tag/oracle/" rel="tag">oracle</a>, <a href="https://rponte.com.br/tag/oracle-adf/" rel="tag">Oracle ADF</a>, <a href="https://rponte.com.br/tag/oracle-jbo-rowinconsistentexception/" rel="tag">oracle.jbo.RowInconsistentException</a>, <a href="https://rponte.com.br/tag/pessimistic-locking/" rel="tag">pessimistic locking</a>, <a href="https://rponte.com.br/tag/phantom-user/" rel="tag">phantom user</a>, <a href="https://rponte.com.br/tag/version-number/" rel="tag">version number</a></span></span></footer> <!-- .entry-footer -->
513	</div><!-- .entry-container -->
514
515</article><!-- #post-## -->
516
517<article id="post-1089" class="post-1089 post type-post status-publish format-standard has-post-thumbnail hentry category-boas-praticas category-cdi category-clean-code category-java category-java-ee category-jsf category-jsf2-3 category-orientacao-a-objetos category-web tag-boas-praticas tag-cdi tag-faces tag-java tag-javaserver-faces tag-jsf tag-jsf2 tag-seguranca tag-web">
518
519	<div class="post-thumbnail archive-thumbnail">
520		<a href="https://rponte.com.br/2017/08/18/seguranca-nao-coloque-o-usuario-logado-no-controller/">
521			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=888&amp;h=888&amp;crop=1 888w, https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=300&amp;h=300&amp;crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=768&amp;h=768&amp;crop=1 768w" sizes="auto, (max-width: 444px) 100vw, 444px" data-attachment-id="1091" data-permalink="https://rponte.com.br/2017/08/18/seguranca-nao-coloque-o-usuario-logado-no-controller/computer_security_stock_image-100582931-orig/" data-orig-file="https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg" data-orig-size="2122,1415" data-comments-opened="1" data-image-title="computer_security_stock_image-100582931-orig" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=2122" />		</a>
522
523		
524<div class="entry-meta">
525	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2017/08/18/seguranca-nao-coloque-o-usuario-logado-no-controller/" rel="bookmark"><time class="entry-date published" datetime="2017-08-18T13:32:34+00:00">agosto 18, 2017</time><time class="updated" datetime="2020-10-25T02:04:09+00:00">outubro 25, 2020</time></a></span></div><!-- .entry-meta -->
526	</div>
527
528	<div class="entry-container">
529
530		<header class="entry-header">
531			<h2 class="entry-title"><a href="https://rponte.com.br/2017/08/18/seguranca-nao-coloque-o-usuario-logado-no-controller/" rel="bookmark">Segurança: não coloque o usuário logado no controller</a></h2>		</header>
532
533		<div class="entry-summary">
534			<p>É incrível como você aprende com a experiência. Saca só a jornada que tive para aprender a implementar segurança na web&#8230; Quando comecei minha carreira como programador, lá por volta &hellip; <a href="https://rponte.com.br/2017/08/18/seguranca-nao-coloque-o-usuario-logado-no-controller/" class="more-link"><span>Continuar lendo <span class="screen-reader-text">Segurança: não coloque o usuário logado no controller</span></span></a></p>
535		</div>
536
537		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/boas-praticas/" rel="category tag">Boas Práticas</a>, <a href="https://rponte.com.br/category/cdi/" rel="category tag">CDI</a>, <a href="https://rponte.com.br/category/clean-code/" rel="category tag">Clean Code</a>, <a href="https://rponte.com.br/category/java/" rel="category tag">Java</a>, <a href="https://rponte.com.br/category/java-ee/" rel="category tag">Java EE</a>, <a href="https://rponte.com.br/category/jsf/" rel="category tag">Jsf</a>, <a href="https://rponte.com.br/category/jsf2-3/" rel="category tag">JSF2</a>, <a href="https://rponte.com.br/category/orientacao-a-objetos/" rel="category tag">Orientação a Objetos</a>, <a href="https://rponte.com.br/category/web/" rel="category tag">web</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/boas-praticas/" rel="tag">Boas Práticas</a>, <a href="https://rponte.com.br/tag/cdi/" rel="tag">CDI</a>, <a href="https://rponte.com.br/tag/faces/" rel="tag">faces</a>, <a href="https://rponte.com.br/tag/java/" rel="tag">Java</a>, <a href="https://rponte.com.br/tag/javaserver-faces/" rel="tag">JavaServer Faces</a>, <a href="https://rponte.com.br/tag/jsf/" rel="tag">Jsf</a>, <a href="https://rponte.com.br/tag/jsf2/" rel="tag">
537jsf2</a>, <a href="https://rponte.com.br/tag/seguranca/" rel="tag">segurança</a>, <a href="https://rponte.com.br/tag/web/" rel="tag">web</a></span></span></footer> <!-- .entry-footer -->
538	</div><!-- .entry-container -->
539
540</article><!-- #post-## -->
541
542<article id="post-1082" class="post-1082 post type-post status-publish format-standard has-post-thumbnail hentry category-boas-praticas category-clean-code category-desenvolvimento-agil category-engenharia-de-software category-java category-java-ee category-orientacao-a-objetos tag-transactional tag-boas-praticas tag-design-pattern tag-fechar-conexao tag-hibernate tag-java tag-java-ee tag-jdbc tag-jpa tag-oo-na-pratica tag-oo-no-mundo-real tag-orientacao-a-objetos tag-transaction-management tag-transactions tag-triadworks mentions-all">
543
544	<div class="post-thumbnail archive-thumbnail">
545		<a href="https://rponte.com.br/2017/03/17/oo-no-mundo-real-evite-vazamento-de-conexoes-com-controle-transacional-programatico/">
546			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=888&amp;h=888&amp;crop=1 888w, https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=300&amp;h=300&amp;crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=768&amp;h=768&amp;crop=1 768w" sizes="auto, (max-width: 444px) 100vw, 444px" data-attachment-id="1087" data-permalink="https://rponte.com.br/2017/03/17/oo-no-mundo-real-evite-vazamento-de-conexoes-com-controle-transacional-programatico/database-transactions/" data-orig-file="https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png" data-orig-size="1853,1068" data-comments-opened="1" data-image-title="Controle Transaciona Programatico" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=1853" />		</a>
547
548		
549<div class="entry-meta">
550	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2017/03/17/oo-no-mundo-real-evite-vazamento-de-conexoes-com-controle-transacional-programatico/" rel="bookmark"><time class="entry-date published updated" datetime="2017-03-17T08:06:46+00:00">março 17, 2017</time></a></span></div><!-- .entry-meta -->
551	</div>
552
553	<div class="entry-container">
554
555		<header class="entry-header">
556			<h2 class="entry-title"><a href="https://rponte.com.br/2017/03/17/oo-no-mundo-real-evite-vazamento-de-conexoes-com-controle-transacional-programatico/" rel="bookmark">OO no mundo real: evite vazamento de conexões com controle transacional programático</a></h2>		</header>
557
558		<div class="entry-summary">
559			<p>No último Javou (evento da JavaCE) o prof. Alexandre Martins comentou na sua palestra que um dev junior conseguiu derrubar por alguns minutos o sistema de previdência social da Dataprev. &hellip; <a href="https://rponte.com.br/2017/03/17/oo-no-mundo-real-evite-vazamento-de-conexoes-com-controle-transacional-programatico/" class="more-link"><span>Continuar lendo <span class="screen-reader-text">OO no mundo real: evite vazamento de conexões com controle transacional programático</span></span></a></p>
560		</div>
561
562		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/boas-praticas/" rel="category tag">Boas Práticas</a>, <a href="https://rponte.com.br/category/clean-code/" rel="category tag">Clean Code</a>, <a href="https://rponte.com.br/category/desenvolvimento-agil/" rel="category tag">Desenvolvimento Ágil</a>, <a href="https://rponte.com.br/category/engenharia-de-software/" rel="category tag">Engenharia de Software</a>, <a href="https://rponte.com.br/category/java/" rel="category tag">Java</a>, <a href="https://rponte.com.br/category/java-ee/" rel="category tag">Java EE</a>, <a href="https://rponte.com.br/category/orientacao-a-objetos/" rel="category tag">Orientação a Objetos</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/transactional/" rel="tag">@transactional</a>, <a href="https://rponte.com.br/tag/boas-praticas/" rel="tag">Boas Práticas</a>, <a href="https://rponte.com.br/tag/design-pattern/" rel="tag">design pattern</a>, <a href="https://rponte.com.br/tag/fechar-conexao/" rel="tag">fechar conexão</a>, <a href="https://rponte.com.br/tag/hibernate/" rel="tag">hibernate</a>, <a href="https://rponte.com.br/tag/java/" rel="tag">Java</a>, <a href="https://rponte.com.br/tag/java-ee/" rel="tag">Java EE</a>, <a href="https://rponte.com.br/tag/jdbc/" rel="tag">jdbc</a>, <a href="https://rponte.com.br/tag/jpa/" rel="tag">jpa</a>, <a href="https://rponte.com.br/tag/oo-na-pratica/" rel="tag">oo na pratica</a>, <a href="https://rponte.com.br/tag/oo-no-mundo-real/" rel="tag">oo no mundo real</a>, <a href="https://rponte.com.br/tag/orientacao-a-objetos/" rel="tag">Orientação a Objetos</a>, <a href="https://rponte.com.br/tag/transaction-management/" rel="tag">transaction management</a>, <a href="https://rponte.com.br/tag/transactions/" rel="tag">transactions</a>, <a href="https://rponte.com.br/tag/triadworks/" rel="tag">triadworks</a></span></span></footer> <!-- .entry-footer -->
563	</div><!-- .entry-container -->
564
565</article><!-- #post-## -->
566
567<article id="post-1073" class="post-1073 post type-post status-publish format-standard has-post-thumbnail hentry category-boas-praticas category-desenvolvimento-agil category-desenvolvimento-de-software category-java category-tdd category-testes-automatizados tag-exceptions tag-java tag-junit tag-tdd tag-teste-de-unidade tag-testes tag-testes-automatizados mentions-all">
568
569	<div class="post-thumbnail archive-thumbnail">
570		<a href="https://rponte.com.br/2016/12/01/como-voce-testa-os-fluxos-alternativos-do-seu-codigo/">
571			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2020/10/cb483-junit-exceptions.jpg?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://rponte.com.br/wp-content/uploads/2020/10/cb483-junit-exceptions.jpg?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/cb483-junit-exceptions.jpg?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/cb483-junit-exceptions.jpg?w=300&amp;h=300&amp;crop=1 300w" sizes="auto, (max-width: 444px) 100vw, 444px" data-attachment-id="1079" data-permalink="https://rponte.com.br/2016/12/01/como-voce-testa-os-fluxos-alternativos-do-seu-codigo/junit-exceptions/" data-orig-file="https://rponte.com.br/wp-content/uploads/2020/10/cb483-junit-exceptions.jpg" data-orig-size="1164,731" data-comments-opened="1" data-image-title="junit-exceptions" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2020/10/cb483-junit-exceptions.jpg?w=1164" />		</a>
572
573		
574<div class="entry-meta">
575	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2016/12/01/como-voce-testa-os-fluxos-alternativos-do-seu-codigo/" rel="bookmark"><time class="entry-date published updated" datetime="2016-12-01T06:07:21+00:00">dezembro 1, 2016</time></a></span></div><!-- .entry-meta -->
576	</div>
577
578	<div class="entry-container">
579
580		<header class="entry-header">
581			<h2 class="entry-title"><a href="https://rponte.com.br/2016/12/01/como-voce-testa-os-fluxos-alternativos-do-seu-codigo/" rel="bookmark">Como você testa os fluxos alternativos do seu código?</a></h2>		</header>
582
583		<div class="entry-summary">
584			<p>Deixa eu te perguntar: quantos cenários de testes você enxerga 
584no código abaixo: E aí, quantos? 1, 2 ou 3 casos de teste? Não é tão simples assim não, é &hellip; <a href="https://rponte.com.br/2016/12/01/como-voce-testa-os-fluxos-alternativos-do-seu-codigo/" class="more-link"><span>Continuar lendo <span class="screen-reader-text">Como você testa os fluxos alternativos do seu código?</span></span></a></p>
585		</div>
586
587		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/boas-praticas/" rel="category tag">Boas Práticas</a>, <a href="https://rponte.com.br/category/desenvolvimento-agil/" rel="category tag">Desenvolvimento Ágil</a>, <a href="https://rponte.com.br/category/desenvolvimento-de-software/" rel="category tag">Desenvolvimento de Software</a>, <a href="https://rponte.com.br/category/java/" rel="category tag">Java</a>, <a href="https://rponte.com.br/category/tdd/" rel="category tag">TDD</a>, <a href="https://rponte.com.br/category/testes-automatizados/" rel="category tag">Testes automatizados</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/exceptions/" rel="tag">exceptions</a>, <a href="https://rponte.com.br/tag/java/" rel="tag">Java</a>, <a href="https://rponte.com.br/tag/junit/" rel="tag">JUnit</a>, <a href="https://rponte.com.br/tag/tdd/" rel="tag">TDD</a>, <a href="https://rponte.com.br/tag/teste-de-unidade/" rel="tag">teste de unidade</a>, <a href="https://rponte.com.br/tag/testes/" rel="tag">testes</a>, <a href="https://rponte.com.br/tag/testes-automatizados/" rel="tag">Testes automatizados</a></span></span></footer> <!-- .entry-footer -->
588	</div><!-- .entry-container -->
589
590</article><!-- #post-## -->
591
592<article id="post-1068" class="post-1068 post type-post status-publish format-standard has-post-thumbnail hentry category-boas-praticas category-desenvolvimento-agil category-desenvolvimento-de-software category-engenharia-de-software category-entrega-continua category-java category-java-ee category-web mentions-all">
593
594	<div class="post-thumbnail archive-thumbnail">
595		<a href="https://rponte.com.br/2016/10/10/aprenda-como-automatizar-seu-deploy-em-15min/">
596			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=888&amp;h=888&amp;crop=1 888w, https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=300&amp;h=300&amp;crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=768&amp;h=768&amp;crop=1 768w" sizes="auto, (max-width: 444px) 100vw, 444px" data-attachment-id="1069" data-permalink="https://rponte.com.br/2016/10/10/aprenda-como-automatizar-seu-deploy-em-15min/whale-small/" data-orig-file="https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png" data-orig-size="3000,1500" data-comments-opened="1" data-image-title="TriadWorks: Deploy Automatizado" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=3000" />		</a>
597
598		
599<div class="entry-meta">
600	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2016/10/10/aprenda-como-automatizar-seu-deploy-em-15min/" rel="bookmark"><time class="entry-date published updated" datetime="2016-10-10T18:40:24+00:00">outubro 10, 2016</time></a></span></div><!-- .entry-meta -->
601	</div>
602
603	<div class="entry-container">
604
605		<header class="entry-header">
606			<h2 class="entry-title"><a href="https://rponte.com.br/2016/10/10/aprenda-como-automatizar-seu-deploy-em-15min/" rel="bookmark">Aprenda como Automatizar seu Deploy em 15min&#8230;</a></h2>		</header>
607
608		<div class="entry-summary">
609			<p>Você faz deploy da sua aplicação manualmente? Em produção? Não cara, não faz isso. Você sabe que esse processo manual cedo ou tarde vai te trazer uma grande dor de &hellip; <a href="https://rponte.com.br/2016/10/10/aprenda-como-automatizar-seu-deploy-em-15min/" class="more-link"><span>Continuar lendo <span class="screen-reader-text">Aprenda como Automatizar seu Deploy em 15min&#8230;
609</span></span></a></p>
610		</div>
611
612		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/boas-praticas/" rel="category tag">Boas Práticas</a>, <a href="https://rponte.com.br/category/desenvolvimento-agil/" rel="category tag">Desenvolvimento Ágil</a>, <a href="https://rponte.com.br/category/desenvolvimento-de-software/" rel="category tag">Desenvolvimento de Software</a>, <a href="https://rponte.com.br/category/engenharia-de-software/" rel="category tag">Engenharia de Software</a>, <a href="https://rponte.com.br/category/entrega-continua/" rel="category tag">entrega continua</a>, <a href="https://rponte.com.br/category/java/" rel="category tag">Java</a>, <a href="https://rponte.com.br/category/java-ee/" rel="category tag">Java EE</a>, <a href="https://rponte.com.br/category/web/" rel="category tag">web</a></span></span></footer> <!-- .entry-footer -->
613	</div><!-- .entry-container -->
614
615</article><!-- #post-## -->
616
617<article id="post-1056" class="post-1056 post type-post status-publish format-standard has-post-thumbnail hentry category-boas-praticas category-eventos category-mercado category-slides tag-apresentacoes tag-codigo-em-slides tag-como-apresentar-codigo tag-cores tag-fonte-monospaced tag-how-to-present-code tag-palestras tag-presentation tag-slides tag-syntax-highlighting tag-tamanho-de-fonte mentions-all">
618
619	<div class="post-thumbnail archive-thumbnail">
620		<a href="https://rponte.com.br/2016/07/14/5-dicas-para-apresentar-codigo-em-slides/">
621			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=888&amp;h=888&amp;crop=1 888w, https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=300&amp;h=300&amp;crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=768&amp;h=768&amp;crop=1 768w" sizes="auto, (max-width: 444px) 100vw, 444px" data-attachment-id="1062" data-permalink="https://rponte.com.br/2016/07/14/5-dicas-para-apresentar-codigo-em-slides/como-apresentar-codigo-em-slides-triadworks/" data-orig-file="https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png" data-orig-size="1388,889" data-comments-opened="1" data-image-title="como-apresentar-codigo-em-slides-triadworks" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=1388" />		</a>
622
623		
624<div class="entry-meta">
625	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2016/07/14/5-dicas-para-apresentar-codigo-em-slides/" rel="bookmark"><time class="entry-date published updated" datetime="2016-07-14T16:00:42+00:00">julho 14, 2016</time></a></span></div><!-- .entry-meta -->
626	</div>
627
628	<div class="entry-container">
629
630		<header class="entry-header">
631			<h2 class="entry-title"><a href="https://rponte.com.br/2016/07/14/5-dicas-para-apresentar-codigo-em-slides/" rel="bookmark">5 dicas para apresentar código em slides</a></h2>		</header>
632
633		<div class="entry-summary">
634			<p>Você vai palestrar na faculdade, trabalho ou algum evento? Tem código nos teus slides? Então com certeza essas 5 dicas são para você&#8230; No último evento da JavaCE eu palestrei &hellip; <a href="https://rponte.com.br/2016/07/14/5-dicas-para-apresentar-codigo-em-slides/" class="more-link"><span>Continuar lendo <span class="screen-reader-text">5 dicas para apresentar código em slides</span></span></a></p>
635		</div>
636
637		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/boas-praticas/" rel="category tag">Boas Práticas</a>, <a href="https://rponte.com.br/category/eventos/" rel="category tag">Eventos</a>, <a href="https://rponte.com.br/category/mercado/" rel="category tag">mercado</a>, <a href="https://rponte.com.br/category/slides/" rel="category tag">slides</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/apresentacoes/" rel="tag">apresentacoes</a>, <a href="https://rponte.com.br/tag/codigo-em-slides/" rel="tag">codigo em slides</a>, <a href="https://rponte.com.br/tag/como-apresentar-codigo/" rel="tag">como apresentar codigo</a>, <a href="https://rponte.com.br/tag/cores/" rel="tag">cores</a>, <a href="https://rponte.com.br/tag/fonte-monospaced/" rel="tag">fonte monospaced</a>, <a href="https://rponte.com.br/tag/how-to-present-code/" rel="tag">how to present code</a>, <a href="https://rponte.com.br/tag/palestras/" rel="tag">palestras</a>, <a href="https://rponte.com.br/tag/presentation/" rel="tag">presentation</a>, <a href="https://rponte.com.br/tag/slides/" rel="tag">slides</a>, <a href="https://rponte.com.br/tag/syntax-highlighting/" rel="tag">syntax highlighting</a>, <a href="https://rponte.com.br/tag/tamanho-de-fonte/" rel="tag">tamanho de fonte</a></span></span></footer> <!-- .entry-footer -->
638	</div><!-- .entry-container -->
639
640</article><!-- #post-## -->
641
642<article id="post-1042" class="post-1042 post type-post status-publish format-standard has-post-thumbnail hentry category-boas-praticas category-desenvolvimento-agil category-java category-tdd category-testes-automatizados tag-arquivos tag-fileutils tag-junit tag-tdd tag-temporaryfolder tag-teste-de-integracao tag-testes tag-testes-automatizados mentions-all">
643
644	<div class="post-thumbnail archive-thumbnail">
645		<a href="https://rponte.com.br/2016/04/28/testando-classes-que-lidam-com-arquivos-com-junit-rules-e-temporaryfolder/">
646			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2020/10/1e699-files-and-folders-tiny.jpg?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://rponte.com.br/wp-content/uploads/2020/10/1e699-files-and-folders-tiny.jpg?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/1e699-files-and-folders-tiny.jpg?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/1e699-files-and-folders-tiny.jpg?w=300&amp;h=300&amp;crop=1 300w" sizes="auto, (max-width: 444px) 100vw, 444px" data-attachment-id="1054" data-permalink="https://rponte.com.br/2016/04/28/testando-classes-que-lidam-com-arquivos-com-junit-rules-e-temporaryfolder/files-and-folders-tiny/" data-orig-file="https://rponte.com.br/wp-content/uploads/2020/10/1e699-files-and-folders-tiny.jpg" data-orig-size="1200,627" data-comments-opened="1" data-image-title="jUnit: testando classe que mexem com arquivos" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2020/10/1e699-files-and-folders-tiny.jpg?w=1200" />		</a>
647
648		
649<div class="entry-meta">
650	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2016/04/28/testando-classes-que-lidam-com-arquivos-com-junit-rules-e-temporaryfolder/" rel="bookmark"><time class="entry-date published updated" datetime="2016-04-28T07:36:30+00:00">abril 28, 2016</time></a></span></div><!-- .entry-meta -->
651	</div>
652
653	<div class="entry-container">
654
655		<header class="entry-header">
656			<h2 class="entry-title"><a href="https://rponte.com.br/2016/04/28/testando-classes-que-lidam-com-arquivos-com-junit-rules-e-temporaryfolder/" rel="bookmark">Testando classes que lidam com arquivos com jUnit Rules e TemporaryFolder</a></h2>		</header>
657
658		<div class="entry-summary">
659			<p>É quase que mandatório todo projeto Java ter uma classe FileUtils da vida para manipular arquivos&#8230; É ou não é? Mas infelizmente ela não é levada tão a sério assim! &hellip; <a href="https://rponte.com.br/2016/04/28/testando-classes-que-lidam-com-arquivos-com-junit-rules-e-temporaryfolder/" class="more-link"><span>Continuar lendo <span class="screen-reader-text">Testando classes que lidam com arquivos com jUnit Rules e TemporaryFolder</span></span></a></p>
660		</div>
661
662		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/boas-praticas/" rel="category tag">Boas Práticas</a>, <a href="https://rponte.com.br/category/desenvolvimento-agil/" rel="category tag">Desenvolvimento Ágil</a>, <a href="https://rponte.com.br/category/java/" rel="category tag">Java</a>, <a href="https://rponte.com.br/category/tdd/" rel="category tag">TDD</a>, <a href="https://rponte.com.br/category/testes-automatizados/" rel="category tag">Testes automatizados</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/arquivos/" rel="tag">arquivos</a>, <a href="https://rponte.com.br/tag/fileutils/" rel="tag">fileutils</a>, <a href="https://rponte.com.br/tag/junit/" rel="tag">JUnit</a>, <a href="https://rponte.com.br/tag/tdd/" rel="tag">TDD</a>, <a href="https://rponte.com.br/tag/temporaryfolder/" rel="tag">TemporaryFolder</a>, <a href="https://rponte.com.br/tag/teste-de-integracao/" rel="tag">teste de integração</a>, <a href="https://rponte.com.br/tag/testes/" rel="tag">testes</a>, <a href="https://rponte.com.br/tag/testes-automatizados/" rel="tag">Testes automatizados</a></span></span></footer> <!-- .entry-footer -->
663	</div><!-- .entry-container -->
664
665</article><!-- #post-## -->
666
667<article id="post-1032" class="post-1032 post type-post status-publish format-standard has-post-thumbnail hentry category-boas-praticas category-java category-java-ee category-jee category-jsf category-jsf2-3 category-web tag-2o-mau-habito tag-el tag-expression-language tag-java-ee tag-javaee tag-jsf tag-maus-habitos tag-metodo-getter mentions-all">
668
669	<div class="post-thumbnail archive-thumbnail">
670		<a href="https://rponte.com.br/2016/04/19/metodo-getter-invocado-multiplas-vezes/">
671			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg?w=300&amp;h=300&amp;crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg?w=768&amp;h=768&amp;crop=1 768w" sizes="auto, (max-width: 444px) 100vw, 444px" data-attachment-id="1038" data-permalink="https://rponte.com.br/2016/04/19/metodo-getter-invocado-multiplas-vezes/2o-mau-habito-jsf-small/" data-orig-file="https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg" data-orig-size="1649,825" data-comments-opened="1" data-image-title="2o Mau Habito Dos Desenvolvedores JSF" data-image-description="&lt;p&gt;Evite colocar lógica custosa em métodos getters dos managed beans&lt;/p&gt;
672" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg?w=1649" />		</a>
673
674		
675<div class="entry-meta">
676	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2016/04/19/metodo-getter-invocado-multiplas-vezes/" rel="bookmark"><time class="entry-date published updated" datetime="2016-04-19T06:03:35+00:00">abril 19, 2016</time></a></span></div><!-- .entry-meta -->
677	</div>
678
679	<div class="entry-container">
680
681		<header class="entry-header">
682			<h2 class="entry-title"><a href="https://rponte.com.br/2016/04/19/metodo-getter-invocado-multiplas-vezes/" rel="bookmark">Método getter invocado múltiplas vezes?</a></h2>		</header>
683
684		<div class="entry-summary">
685			<p>
685Você sabia que uma simples consulta ao banco de dados colocada no método errado do seu managed bean pode tornar suas páginas 10x mais lentas? Entre 2008 e 2014 eu palestrei &hellip; <a href="https://rponte.com.br/2016/04/19/metodo-getter-invocado-multiplas-vezes/" class="more-link"><span>Continuar lendo <span class="screen-reader-text">Método getter invocado múltiplas vezes?</span></span></a></p>
686		</div>
687
688		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/boas-praticas/" rel="category tag">Boas Práticas</a>, <a href="https://rponte.com.br/category/java/" rel="category tag">Java</a>, <a href="https://rponte.com.br/category/java-ee/" rel="category tag">Java EE</a>, <a href="https://rponte.com.br/category/jee/" rel="category tag">JEE</a>, <a href="https://rponte.com.br/category/jsf/" rel="category tag">Jsf</a>, <a href="https://rponte.com.br/category/jsf2-3/" rel="category tag">JSF2</a>, <a href="https://rponte.com.br/category/web/" rel="category tag">web</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/2o-mau-habito/" rel="tag">2o mau habito</a>, <a href="https://rponte.com.br/tag/el/" rel="tag">el</a>, <a href="https://rponte.com.br/tag/expression-language/" rel="tag">expression language</a>, <a href="https://rponte.com.br/tag/java-ee/" rel="tag">Java EE</a>, <a href="https://rponte.com.br/tag/javaee/" rel="tag">javaee</a>, <a href="https://rponte.com.br/tag/jsf/" rel="tag">Jsf</a>, <a href="https://rponte.com.br/tag/maus-habitos/" rel="tag">maus habitos</a>, <a href="https://rponte.com.br/tag/metodo-getter/" rel="tag">metodo getter</a></span></span></footer> <!-- .entry-footer -->
689	</div><!-- .entry-container -->
690
691</article><!-- #post-## -->
692
693<article id="post-1018" class="post-1018 post type-post status-publish format-standard has-post-thumbnail hentry category-boas-praticas category-java tag-concatenar-strings tag-desempenho tag-dica tag-dicas tag-dicas-de-programacao tag-java tag-jvm tag-performance tag-string tag-stringbuffer tag-stringbuilder tag-triadworks mentions-all">
694
695	<div class="post-thumbnail archive-thumbnail">
696		<a href="https://rponte.com.br/2016/03/30/dica-de-programacao-4-stringbuilder/">
697			<img width="444" height="444" src="https://rponte.com.br/wp-content/uploads/2020/10/30678-triadworks-dicas-de-programacao-dica-4-stringbuilder1.png?w=444&amp;h=444&amp;crop=1" class="attachment-verity-featured-archive-image size-verity-featured-archive-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://rponte.com.br/wp-content/uploads/2020/10/30678-triadworks-dicas-de-programacao-dica-4-stringbuilder1.png?w=444&amp;h=444&amp;crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/30678-triadworks-dicas-de-programacao-dica-4-stringbuilder1.png?w=96&amp;h=96&amp;crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/30678-triadworks-dicas-de-programacao-dica-4-stringbuilder1.png?w=300&amp;h=300&amp;crop=1 300w" sizes="auto, (max-width: 444px) 100vw, 444px" data-attachment-id="1023" data-permalink="https://rponte.com.br/2016/03/30/dica-de-programacao-4-stringbuilder/triadworks-dicas-de-programacao-dica-4-stringbuilder-2/" data-orig-file="https://rponte.com.br/wp-content/uploads/2020/10/30678-triadworks-dicas-de-programacao-dica-4-stringbuilder1.png" data-orig-size="1272,749" data-comments-opened="1" data-image-title="Dica de Programação 4 &amp;#8211; StringBuilder" data-image-description="" data-image-caption="" data-large-file="https://rponte.com.br/wp-content/uploads/2020/10/30678-triadworks-dicas-de-programacao-dica-4-stringbuilder1.png?w=1272" />		</a>
698
699		
700<div class="entry-meta">
701	<span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://rponte.com.br/author/rponte/">Rafael Ponte</a></span></span> <span class="posted-on"><span class="date-label screen-reader-text">Posted on </span><a href="https://rponte.com.br/2016/03/30/dica-de-programacao-4-stringbuilder/" rel="bookmark"><time class="entry-date published updated" datetime="2016-03-30T10:03:41+00:00">março 30, 2016</time></a></span></div><!-- .entry-meta -->
702	</div>
703
704	<div class="entry-container">
705
706		<header class="entry-header">
707			<h2 class="entry-title"><a href="https://rponte.com.br/2016/03/30/dica-de-programacao-4-stringbuilder/" rel="bookmark">Dica de Programação #4 &#8211;
707 StringBuilder</a></h2>		</header>
708
709		<div class="entry-summary">
710			<p>Você já precisou ler um arquivo muito grande do disco, processar linha a linha para só então guardar as linhas válidas e? Estou falando de um código como este: O código é &hellip; <a href="https://rponte.com.br/2016/03/30/dica-de-programacao-4-stringbuilder/" class="more-link"><span>Continuar lendo <span class="screen-reader-text">Dica de Programação #4 &#8211; StringBuilder</span></span></a></p>
711		</div>
712
713		<footer class="entry-footer"><span class="cat-tags-links"><span class="cat-links"><span class="categories-label">Categorias:</span><a href="https://rponte.com.br/category/boas-praticas/" rel="category tag">Boas Práticas</a>, <a href="https://rponte.com.br/category/java/" rel="category tag">Java</a></span><span class="tags-links"><span class="tags-label">Tags:</span><a href="https://rponte.com.br/tag/concatenar-strings/" rel="tag">concatenar strings</a>, <a href="https://rponte.com.br/tag/desempenho/" rel="tag">desempenho</a>, <a href="https://rponte.com.br/tag/dica/" rel="tag">Dica</a>, <a href="https://rponte.com.br/tag/dicas/" rel="tag">Dicas</a>, <a href="https://rponte.com.br/tag/dicas-de-programacao/" rel="tag">dicas de programacao</a>, <a href="https://rponte.com.br/tag/java/" rel="tag">Java</a>, <a href="https://rponte.com.br/tag/jvm/" rel="tag">jvm</a>, <a href="https://rponte.com.br/tag/performance/" rel="tag">performance</a>, <a href="https://rponte.com.br/tag/string/" rel="tag">string</a>, <a href="https://rponte.com.br/tag/stringbuffer/" rel="tag">StringBuffer</a>, <a href="https://rponte.com.br/tag/stringbuilder/" rel="tag">StringBuilder</a>, <a href="https://rponte.com.br/tag/triadworks/" rel="tag">triadworks</a></span></span></footer> <!-- .entry-footer -->
714	</div><!-- .entry-container -->
715
716</article><!-- #post-## -->
717						</div><!-- .archive-post-wrap -->
718
719					
720	<nav class="navigation posts-navigation" aria-label="Posts">
721		<h2 class="screen-reader-text">Navegação por posts</h2>
722		<div class="nav-links"><div class="nav-previous"><a href="https://rponte.com.br/author/rponte/page/2/" >Publicações mais antigas</a></div></div>
723	</nav>			</div><!-- .archive-posts-wrapper -->
724
725		</main><!-- #main -->
726	</div><!-- #primary -->
727
728
729			</div><!-- #content -->
730
731			<footer id="colophon" class="site-footer" role="contentinfo">
732
733				
734				<div class="site-info">
735	<a href="https://wordpress.com/?ref=footer_blog" rel="nofollow">Blog no WordPress.com.</a>
736	
737	</div><!-- .site-info -->
738
739			</footer><!-- #colophon -->
740
741		</div><!-- .below-site-header -->
742	</div><!-- .site-inner -->
743</div><!-- #page -->
744
745<a href="#masthead" id="scrollup"><svg class="icon icon-angle-down" aria-hidden="true" role="img"> <use href="#icon-angle-down" xlink:href="#icon-angle-down"></use> </svg><span class="screen-reader-text">Scroll Up</span></a>		
745<script type="text/javascript">
746		var infiniteScroll = {"settings":{"id":"infinite-post-wrap","ajaxurl":"https://rponte.com.br/?infinity=scrolling","type":"scroll","wrapper":false,"wrapper_class":"infinite-wrap","footer":false,"click_handle":"1","text":"Posts mais antigos","totop":"Rolar de volta ao topo","currentday":"30.03.16","order":"DESC","scripts":[],"styles":[],"google_analytics":false,"offset":1,"history":{"host":"rponte.com.br","path":"/author/rponte/page/%d/","use_trailing_slashes":true,"parameters":""},"query_args":{"author_name":"rponte","error":"","m":"","p":0,"post_parent":"","subpost":"","subpost_id":"","attachment":"","attachment_id":0,"name":"","pagename":"","page_id":0,"second":"","minute":"","hour":"","day":0,"monthnum":0,"year":0,"w":0,"category_name":"","tag":"","cat":"","tag_id":"","author":1359413,"feed":"","tb":"","paged":0,"meta_key":"","meta_value":"","preview":"","s":"","sentence":"","title":"","fields":"all","menu_order":"","embed":"","category__in":[],"category__not_in":[],"category__and":[],"post__in":[],"post__not_in":[],"post_name__in":[],"tag__in":[],"tag__not_in":[],"tag__and":[],"tag_slug__in":[],"tag_slug__and":[],"post_parent__in":[],"post_parent__not_in":[],"author__in":[],"author__not_in":[],"search_columns":[],"lazy_load_term_meta":false,"posts_per_page":12,"ignore_sticky_posts":false,"suppress_filters":false,"cache_results":true,"update_post_term_cache":true,"update_menu_item_cache":false,"update_post_meta_cache":true,"post_type":"","nopaging":false,"comments_per_page":false,"no_found_rows":false,"order":"DESC"},"query_before":"2026-09-24 10:23:33","last_post_date":"2016-03-30 10:03:41","body_class":"infinite-scroll neverending","loading_text":"Carregando nova p\u00e1gina","stats":"blog=1295904\u0026v=wpcom\u0026tz=0\u0026user_id=0\u0026arch_author=rponte\u0026arch_results=12\u0026subd=rponte\u0026x_pagetype=infinite"}};
747		</script>
747
748		<!--  -->
749<script type="speculationrules">
750{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/files/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/premium/verity/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
751</script>
751
752	<div style="display:none">
753	</div>
754			<div id="actionbar" dir="ltr" style="display: none;"
755				class="actnbr-premium-verity" role="region" aria-label="Ações do site">
756			<span class="actnbr-live" aria-live="polite"></span>
757			<ul>
758										<li class="actnbr-btn actnbr-hidden">
759										<a class="actnbr-action actnbr-actn-follow " href="" role="button" aria-haspopup="dialog" aria-expanded="false">
760				<svg class="actnbr-icon actnbr-icon-bell" width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M17 11.5c0 1.353.17 2.368.976 3 .266.209.602.376 1.024.5v1H5v-1c.422-.124.757-.291 1.024-.5.806-.632.976-1.647.976-3V9c0-2.8 2.2-5 5-5s5 2.2 5 5v2.5ZM15.5 9v2.5c0 .93.066 1.98.515 2.897l.053.103H7.932a4.018 4.018 0 0 0 .053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5s3.5 1.528 3.5 3.5Zm-5.492 9.008c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20c-1.1 0-1.992-.892-1.992-1.992Z"/></svg>				<span>Assinar</span>
761			</a>
762			<a class="actnbr-action actnbr-actn-following  no-display" href="" role="button">
763				<svg class="actnbr-icon actnbr-icon-check" width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" style="fill: none" stroke="currentColor" stroke-width="1.5"><path d="M7 12L10 15L17 8" vector-effect="non-scaling-stroke"/></svg>				<span>Assinado</span>
764			</a>
765									<div class="actnbr-popover actnbr-panel actnbr-notice" id="follow-bubble" role="dialog" aria-label="Assinar Rafael Ponte">
766								<div class="actnbr-follow-bubble">
767								<div class="actnbr-panel__group"><a class="actnbr-menu__item actnbr-sitename" href="https://rponte.com.br"><img loading='lazy' alt='' src='https://s-ssl.wordpress.com/i/logo/wpcom-gray-white.png?m=1479929237i' srcset='https://s-ssl.wordpress.com/i/logo/wpcom-gray-white.png 1x' class='avatar avatar-50' height='50' width='50' /><span class="actnbr-menu__label">Rafael Ponte</span></a></div>																	<div class="actnbr-panel__group">
768										<div class="actnbr-message no-display" aria-live="polite"></div>
769										<form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" class="no-display">
770																						<input type="email" name="email" placeholder="Want updates? Enter your email" class="actnbr-email-field" aria-label="Endereço de e-mail" />
771											<input type="hidden" name="action" value="subscribe" />
772											<input type="hidden" name="blog_id" value="1295904" />
773											<input type="hidden" name="source" value="https://rponte.com.br/author/rponte/" />
774											<input type="hidden" name="sub-type" value="actionbar-follow" />
775											<input type="hidden" id="_wpnonce" name="_wpnonce" value="6dbd1db502" />											<button type="submit" class="actnbr-button">Cadastre-me</button>
776										</form>
777										<p class="actnbr-login-nudge">
778											Have a WordPress.com account? <a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Frponte.com.br%252F2022%252F04%252F21%252Ffila-em-banco-escalando-sua-aplicacao-com-banco-relacional%252F">Log in now.</a>										</p>
779									</div>
780																	</div>
781							</div>
782						</li>
783									<li class="actnbr-ellipsis actnbr-hidden">
784					<button type="button" class="actnbr-more-toggle" aria-haspopup="true" aria-expanded="false" aria-label="Mais opções">
785						<svg class="actnbr-icon actnbr-icon-more-horizontal" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path d="M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z"/></svg>					</button>
786					<div class="actnbr-popover actnbr-menu" role="menu" aria-label="Site options">
787						<div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-sitename" href="https://rponte.com.br"><img loading='lazy' alt='' src='https://s-ssl.wordpress.com/i/logo/wpcom-gray-white.png?m=1479929237i' srcset='https://s-ssl.wordpress.com/i/logo/wpcom-gray-white.png 1x' class='avatar avatar-50' height='50' width='50' /><span class="actnbr-menu__label">Rafael Ponte</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-reader" href="https://wordpress.com/reader/feeds/109812133"><span class="actnbr-menu__label">Visualizar site no Leitor</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-subs" href="https://subscribe.wordpress.com/"><span class="actnbr-menu__label">Gerenciar assinaturas</span></a><a role="menuitem" class="actnbr-menu__item actnbr-signup" href="https://wordpress.com/start/"><span class="actnbr-menu__label">Registre-se</span></a><a role="menuitem" class="actnbr-menu__item actnbr-login" href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Frponte.com.br%252F2022%252F04%252F21%252Ffila-em-banco-escalando-sua-aplicacao-com-banco-relacional%252F"><span class="actnbr-menu__label">Fazer login</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item flb-report" href="https://wordpress.com/abuse/?report_url=https://rponte.com.br" target="_blank" rel="noopener noreferrer"><span class="actnbr-menu__label">Denunciar este conteúdo</span><span class="actnbr-menu__icon"><svg class="actnbr-icon actnbr-icon-external" width="18" height="18" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path d="M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z"/></svg></span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-fold" href=""><span class="actnbr-menu__label">Esconder esta barra</span></a></div>					</div>
788				</li>
789			</ul>
790		</div>
791		
791<script>
792window.addEventListener( "DOMContentLoaded", function () {
793				var link = document.createElement( "link" );
794				link.href = "\/wp-content\/mu-plugins\/jetpack-plugin\/sun\/jetpack_vendor\/automattic\/jetpack-newsletter\/src\/..\/build\/action-bar.css?ver=9e2715140ce0af99d983";
795				link.rel = "stylesheet";
796				document.head.appendChild( link );
797
798				var script = document.createElement( "script" );
799				script.src = "\/wp-content\/mu-plugins\/jetpack-plugin\/sun\/jetpack_vendor\/automattic\/jetpack-newsletter\/src\/..\/build\/action-bar.js?ver=9e2715140ce0af99d983";
800				document.body.appendChild( script );
801			} );
802</script>
802
803<link rel="prefetch" href="/wp-content/mu-plugins/jetpack-plugin/sun/_inc/blocks/swiper.js" as="script" />
804		<div id="jp-carousel-loading-overlay" style="display: none;">
805			<div id="jp-carousel-loading-wrapper">
806				<span id="jp-carousel-library-loading"><svg class="jetpack-spinner" width="40" height="40" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><circle cx="50" cy="50" r="46" fill="none" stroke="#ddd" stroke-width="8"/><path d="M 50 4 A 46 46 0 0 1 96 50" fill="none" stroke="currentColor" stroke-width="8" stroke-linecap="round"><animateTransform attributeName="transform" type="rotate" dur="1.4s" from="0 50 50" to="360 50 50" repeatCount="indefinite"/></path></svg></span>
807			</div>
808		</div>
809		<div class="jp-carousel-overlay" style="display: none;">
810
811		<div class="jp-carousel-container">
812			<!-- The Carousel Swiper -->
813			<div
814				class="jp-carousel-wrap swiper jp-carousel-swiper-container jp-carousel-transitions"
815				itemscope
816				itemtype="https://schema.org/ImageGallery">
817				<div class="jp-carousel swiper-wrapper"></div>
818				<div class="jp-swiper-button-prev swiper-button-prev">
819					<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
820						<mask id="maskPrev" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="9" height="12">
821							<path d="M16.2072 16.59L11.6496 12L16.2072 7.41L14.8041 6L8.8335 12L14.8041 18L16.2072 16.59Z" fill="white"/>
822						</mask>
823						<g mask="url(#maskPrev)">
824							<rect x="0.579102" width="23.8823" height="24" fill="#FFFFFF"/>
825						</g>
826					</svg>
827				</div>
828				<div class="jp-swiper-button-next swiper-button-next">
829					<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
830						<mask id="maskNext" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="8" height="12">
831							<path d="M8.59814 16.59L13.1557 12L8.59814 7.41L10.0012 6L15.9718 12L10.0012 18L8.59814 16.59Z" fill="white"/>
832						</mask>
833						<g mask="url(#maskNext)">
834							<rect x="0.34375" width="23.8822" height="24" fill="#FFFFFF"/>
835						</g>
836					</svg>
837				</div>
838			</div>
839			<!-- The main close buton -->
840			<div class="jp-carousel-close-hint">
841				<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
842					<mask id="maskClose" mask-type="alpha" maskUnits="userSpaceOnUse" x="5" y="5" width="15" height="14">
843						<path d="M19.3166 6.41L17.9135 5L12.3509 10.59L6.78834 5L5.38525 6.41L10.9478 12L5.38525 17.59L6.78834 19L12.3509 13.41L17.9135 19L19.3166 17.59L13.754 12L19.3166 6.41Z" fill="white"/>
844					</mask>
845					<g mask="url(#maskClose)">
846						<rect x="0.409668" width="23.8823" height="24" fill="#FFFFFF"/>
847					</g>
848				</svg>
849			</div>
850			<!-- Image info, comments and meta -->
851			<div class="jp-carousel-info">
852				<div class="jp-carousel-info-footer">
853					<div class="jp-carousel-pagination-container">
854						<div class="jp-swiper-pagination swiper-pagination"></div>
855						<div class="jp-carousel-pagination"></div>
856					</div>
857					<div class="jp-carousel-photo-title-container">
858						<div class="jp-carousel-photo-caption"></div>
859					</div>
860					<div class="jp-carousel-photo-icons-container">
861						<a href="#" class="jp-carousel-icon-btn jp-carousel-icon-info" aria-label="Alternar visibilidade de metadados de imagem">
862							<span class="jp-carousel-icon">
863								<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
864									<mask id="maskInfo" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20">
865										<path fill-rule="evenodd" clip-rule="evenodd" d="M12.7537 2C7.26076 2 2.80273 6.48 2.80273 12C2.80273 17.52 7.26076 22 12.7537 22C18.2466 22 22.7046 17.52 22.7046 12C22.7046 6.48 18.2466 2 12.7537 2ZM11.7586 7V9H13.7488V7H11.7586ZM11.7586 11V17H13.7488V11H11.7586ZM4.79292 12C4.79292 16.41 8.36531 20 12.7537 20C17.142 20 20.7144 16.41 20.7144 12C20.7144 7.59 17.142 4 12.7537 4C8.36531 4 4.79292 7.59 4.79292 12Z" fill="white"/>
866									</mask>
867									<g mask="url(#maskInfo)">
868										<rect x="0.8125" width="23.8823" height="24" fill="#FFFFFF"/>
869									</g>
870								</svg>
871							</span>
872						</a>
873												<a href="#" class="jp-carousel-icon-btn jp-carousel-icon-comments" aria-label="Alternar visibilidade de comentários em imagem">
874							<span class="jp-carousel-icon">
875								<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
876									<mask id="maskComments" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20">
877										<path fill-rule="evenodd" clip-rule="evenodd" d="M4.3271 2H20.2486C21.3432 2 22.2388 2.9 22.2388 4V16C22.2388 17.1 21.3432 18 20.2486 18H6.31729L2.33691 22V4C2.33691 2.9 3.2325 2 4.3271 2ZM6.31729 16H20.2486V4H4.3271V18L6.31729 16Z" fill="white"/>
878									</mask>
879									<g mask="url(#maskComments)">
880										<rect x="0.34668" width="23.8823" height="24" fill="#FFFFFF"/>
881									</g>
882								</svg>
883
884								<span class="jp-carousel-has-comments-indicator" aria-label="Esta imagem contém c
884omentários."></span>
885							</span>
886						</a>
887											</div>
888				</div>
889				<div class="jp-carousel-info-extra">
890					<div class="jp-carousel-info-content-wrapper">
891						<div class="jp-carousel-photo-title-container">
892							<div class="jp-carousel-photo-title"></div>
893						</div>
894						<div class="jp-carousel-comments-wrapper">
895															<div id="jp-carousel-comments-loading">
896									<span>Carregando comentários...</span>
897								</div>
898								<div class="jp-carousel-comments"></div>
899								<div id="jp-carousel-comment-form-container">
900									<span id="jp-carousel-comment-form-spinner"><svg class="jetpack-spinner" width="20" height="20" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><circle cx="50" cy="50" r="46" fill="none" stroke="#ddd" stroke-width="8"/><path d="M 50 4 A 46 46 0 0 1 96 50" fill="none" stroke="currentColor" stroke-width="8" stroke-linecap="round"><animateTransform attributeName="transform" type="rotate" dur="1.4s" from="0 50 50" to="360 50 50" repeatCount="indefinite"/></path></svg></span>
901									<div id="jp-carousel-comment-post-results"></div>
902																														<form id="jp-carousel-comment-form">
903												<label for="jp-carousel-comment-form-comment-field" class="screen-reader-text">Escreva um Comentário</label>
904												<textarea
905													name="comment"
906													class="jp-carousel-comment-form-field jp-carousel-comment-form-textarea"
907													id="jp-carousel-comment-form-comment-field"
908													placeholder="Escreva um Comentário"
909												></textarea>
910												<div id="jp-carousel-comment-form-submit-and-info-wrapper">
911													<div id="jp-carousel-comment-form-commenting-as">
912																													<fieldset>
913																<label for="jp-carousel-comment-form-email-field">E-mail (obrigatório)</label>
914																<input type="text" name="email" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-email-field" />
915															</fieldset>
916															<fieldset>
917																<label for="jp-carousel-comment-form-author-field">Nome (obrigatório)</label>
918																<input type="text" name="author" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-author-field" />
919															</fieldset>
920															<fieldset>
921																<label for="jp-carousel-comment-form-url-field">Site</label>
922																<input type="text" name="url" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-url-field" />
923															</fieldset>
924																											</div>
925													<input
926														type="submit"
927														name="submit"
928														class="jp-carousel-comment-form-button"
929														id="jp-carousel-comment-form-button-submit"
930														value="Publicar comentário" />
931												</div>
932											</form>
933																											</div>
934													</div>
935						<div class="jp-carousel-image-meta">
936							<div class="jp-carousel-title-and-caption">
937								<div class="jp-carousel-photo-info">
938									<div class="jp-carousel-caption" itemprop="caption description"></div>
939								</div>
940
941								<div class="jp-carousel-photo-description"></div>
942							</div>
943							<a class="jp-carousel-image-download" href="#" aria-label="Fazer download da imagem" target="_blank" style="display: none;">
944								<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
945									<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="3" y="3" width="19" height="18">
946										<path fill-rule="evenodd" clip-rule="evenodd" d="M5.84615 5V19H19.7775V12H21.7677V19C21.7677 20.1 20.8721 21 19.7775 21H5.84615C4.74159 21 3.85596 20.1 3.85596 19V5C3.85596 3.9 4.74159 3 5.84615 3H12.8118V5H5.84615ZM14.802 5V3H21.7677V10H19.7775V6.41L9.99569 16.24L8.59261 14.83L18.3744 5H14.802Z" fill="white"/>
947									</mask>
948									<g mask="url(#mask0)">
949										<rect x="0.870605" width="23.8823" height="24" fill="#FFFFFF"/>
950									</g>
951								</svg>
952								<span class="jp-carousel-download-text"></span>
953							</a>
954							<div class="jp-carousel-image-map" style="display: none;"></div>
955						</div>
956					</div>
957				</div>
958			</div>
959		</div>
960
961		</div>
962		
963	
963<script type="text/javascript">
964		(function () {
965			var wpcom_reblog = {
966				source: 'toolbar',
967
968				toggle_reblog_box_flair: function (obj_id, post_id) {
969
970					// Go to site selector. This will redirect to their blog if they only have one.
971					const postEndpoint = `https://wordpress.com/post`;
972
973					// Ideally we would use the permalink here, but fortunately this will be replaced with the 
974					// post permalink in the editor.
975					const originalURL = `${ document.location.href }?page_id=${ post_id }`; 
976					
977					const url =
978						postEndpoint +
979						'?url=' +
980						encodeURIComponent( originalURL ) +
981						'&is_post_share=true' +
982						'&v=5';
983
984					const redirect = function () {
985						if (
986							! window.open( url, '_blank' )
987						) {
988							location.href = url;
989						}
990					};
991
992					if ( /Firefox/.test( navigator.userAgent ) ) {
993						setTimeout( redirect, 0 );
994					} else {
995						redirect();
996					}
997				},
998			};
999
1000			window.wpcom_reblog = wpcom_reblog;
1001		})();
1002	</script>
vendor: 1 bytes, line 1002
1002
1003<script id="verity-script-js-extra">
1004var screenReaderText = {"expand":"expand child menu","collapse":"collapse child menu","icon":"\u003Csvg class=\"icon icon-angle-down\" aria-hidden=\"true\" role=\"img\"\u003E \u003Cuse href=\"#icon-angle-down\" xlink:href=\"#icon-angle-down\"\u003E\u003C/use\u003E \u003Cspan class=\"svg-fallback icon-angle-down\"\u003E\u003C/span\u003E\u003C/svg\u003E","icon_zoom":"\u003Csvg class=\"icon icon-zoom\" aria-hidden=\"true\" role=\"img\"\u003E \u003Cuse href=\"#icon-zoom\" xlink:href=\"#icon-zoom\"\u003E\u003C/use\u003E \u003Cspan class=\"svg-fallback icon-zoom\"\u003E\u003C/span\u003E\u003C/svg\u003E"};
1005//# sourceURL=verity-script-js-extra
1006</script>
vendor: 1 bytes, line 1006
1006
1007<script id="jetpack-carousel-js-extra">
1008var jetpackSwiperLibraryPath = {"url":"/wp-content/mu-plugins/jetpack-plugin/sun/_inc/blocks/swiper.js"};
1009var jetpackCarouselStrings = {"widths":[370,700,1000,1200,1400,2000],"is_logged_in":"","lang":"pt","ajaxurl":"https://rponte.com.br/wp-admin/admin-ajax.php","nonce":"6054c8e67a","display_exif":"1","display_comments":"1","single_image_gallery":"1","single_image_gallery_media_file":"","background_color":"black","comment":"Coment\u00e1rio","post_comment":"Publicar coment\u00e1rio","write_comment":"Escreva um Coment\u00e1rio","loading_comments":"Carregando coment\u00e1rios...","image_label":"Abrir imagem em tela cheia.","download_original":"Visualizar tamanho original \u003Cspan class=\"photo-size\"\u003E{0}\u003Cspan class=\"photo-size-times\"\u003E\u00d7\u003C/span\u003E{1}\u003C/span\u003E","no_comment_text":"Certifique-se de enviar algum texto com o seu coment\u00e1rio.","no_comment_email":"Informe um endere\u00e7o de e-mail para comentar.","no_comment_author":"Forne\u00e7a seu nome para comentar.","comment_post_error":"Desculpe, mas ocorreu um erro ao postar seu coment\u00e1rio. Tente novamente mais tarde.","comment_approved":"Seu coment\u00e1rio foi aprovado.","comment_unapproved":"Seu coment\u00e1rio est\u
100900e1 aguardando modera\u00e7\u00e3o.","camera":"C\u00e2mera","aperture":"Abertura","shutter_speed":"Velocidade do Obturador","focal_length":"Comprimento Focal","copyright":"Direito autoral","comment_registration":"0","require_name_email":"1","login_url":"https://rponte.wordpress.com/wp-login.php?redirect_to=https%3A%2F%2Frponte.com.br%2F2017%2F09%2F11%2Fadf-jbo-25014-another-user-has-changed-the-row-with-primary-key%2F","blog_id":"1295904","meta_data":["camera","aperture","shutter_speed","focal_length","copyright"],"stats_query_args":"blog=1295904&v=wpcom&tz=0&user_id=0&arch_author=rponte&arch_results=12&subd=rponte","is_public":"1"};
1010//# sourceURL=jetpack-carousel-js-extra
1011</script>
vendor: 1 bytes, line 1011
1011
1012<script crossorigin='anonymous' type='text/javascript'  src='/_static/??-eJyVkM0OwjAMg1+IkiEmIQ6IK2+BRsm2bG1amoSft2cHhhAnONqyP0uGW3Y+sSIrRHM5WEcsMKDmxo8vDWIMR2IPJ6NwBuKWmBSd+JJCmPVjGYmXgyzgA6o9RhTIBSNZhCuWKQiNCOo0IyAjZReIR9cmb+Jauv+LGC6GZRpv1PcHpK7XfwmtsVdKLN/Fny/xTUkmGN6x2Xh9so+71WZbVZtqXdfDE54djQM='></script>
vendor: 1 bytes, line 1012
1012
1013<script id="jetpack-portfolio-theme-supports-js-after">
1014const jetpack_portfolio_theme_supports = false
1015//# sourceURL=jetpack-portfolio-theme-supports-js-after
1016</script>
vendor: 1 bytes, line 1016
1016
1017<script id="jetpack-testimonial-theme-supports-js-after">
1018const jetpack_testimonial_theme_supports = false
1019//# sourceURL=jetpack-testimonial-theme-supports-js-after
1020</script>
vendor: 1 bytes, line 1020
1020
1021<script data-wp-strategy="defer" defer id="tiled-gallery-js" src="/wp-content/mu-plugins/jetpack-plugin/sun/_inc/build/tiled-gallery/tiled-gallery/tiled-gallery.min.js?m=1755011788i&#038;ver=16.3-a.4"></script>
vendor: 1 bytes, line 1021
1021
1022<script crossorigin='anonymous' type='text/javascript'  src='/wp-content/mu-plugins/carousel-wpcom/carousel-wpcom.js?m=1761899756i'></script>
vendor: 1 bytes, line 1022
1022
1023<script id="wp-emoji-settings" type="application/json">
1024{"baseUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/","ext":".png","svgUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/svg/","svgExt":".svg","source":{"concatemoji":"/wp-includes/js/wp-emoji-release.min.js?m=1783090810i&ver=7.1.1-alpha-63587"}}
1025</script>
vendor: 1 bytes, line 1025
1025
1026<script type="module">
1027/*! This file is auto-generated */
1028var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
1029//# sourceURL=/wp-includes/js/wp-emoji-loader.min.js
1030</script>
1030
1031		
1031<script type="text/javascript">
1032			(function() {
1033				var extend = function(out) {
1034					out = out || {};
1035
1036					for (var i = 1; i < arguments.length; i++) {
1037						if (!arguments[i])
1038						continue;
1039
1040						for (var key in arguments[i]) {
1041						if (arguments[i].hasOwnProperty(key))
1042							out[key] = arguments[i][key];
1043						}
1044					}
1045
1046					return out;
1047				};
1048				extend( window.infiniteScroll.settings.scripts, ["jetpack-mu-wpcom-settings","rlt-proxy","verity-html5","jquery-core","jquery-migrate","jquery","wpcom-actionbar-placeholder","jetpack-portfolio-theme-supports","jetpack-testimonial-theme-supports","the-neverending-homepage","verity-skip-link-focus-fix","jquery-match-height","verity-script","jetpack-carousel","tiled-gallery","carousel-wpcom"] );
1049				extend( window.infiniteScroll.settings.styles, ["the-neverending-homepage","coblocks-frontend","wpcom-core-compat-playlist-styles","wpcom-bbpress2-staff-css","verity-style","verity-style-blocks","reblogging","geo-location-flair","a8c-global-print","h4-global","wp-img-auto-sizes-contain","wp-emoji-styles","wp-block-library","classic-theme-styles","wp-block-styles-placeholder","coblocks-inline-format","wp-global-styles-placeholder","verity-fonts","jetpack-global-styles-frontend-style","wp-block-paragraph","wp-block-paragraph-theme","global-styles","jetpack-swiper-library","jetpack-carousel","tiled-gallery","core-block-supports-duotone"] );
1050			})();
1051		</script>
1051
1052				<span id="infinite-aria" aria-live="polite"></span>
1053		
1053<script src="//stats.wp.com/w.js?69" defer></script>
1053 
1053<script type="text/javascript">
1054_tkq = window._tkq || [];
1055_stq = window._stq || [];
1056_tkq.push(['storeContext', {'blog_id':'1295904','blog_tz':'0','user_lang':'pt-br','blog_lang':'pt-br','user_id':'0'}]);
1057		// Prevent sending pageview tracking from WP-Admin pages.
1058		_stq.push(['view', {'blog':'1295904','v':'wpcom','tz':'0','user_id':'0','arch_author':'rponte','arch_results':'12','subd':'rponte'}]);
1059		_stq.push(['extra', {'crypt':'UE5tW3cvZGRZOEFuLCZuVW1xfnVtayVTUGcxOXlxeHJ0SEkvXUMzd1pua35UTEJQPzRscitpS1ZoKy50WzU3aD1+TD9vV105SGVwfGwxQ04vS0NmdUM/VWgtSk5DcUhbZ1FnS3VRPTZ2LHdQWm9yaj1MRjl5cWlpR1UxM0FwL21WUXxBXy02WFJBNHpMTWQ5Rj1VZzBsOHJTRy9ORGhtTEp1TG5HfG8uYWFucHJVa1kudHNW'}]);
1060_stq.push([ 'clickTrackerInit', '1295904', '0' ]);
1061</script>
1061
1062<noscript><img src="https://pixel.wp.com/b.gif?v=noscript" style="height:1px;width:1px;overflow:hidden;position:absolute;bottom:1px;" alt="" /></noscript>
1063<meta id="bilmur" property="bilmur:data" content="" data-provider="wordpress.com" data-service="simple" data-site-tz="Etc/GMT-0" data-custom-props="{&quot;enq_jquery&quot;:&quot;1&quot;,&quot;logged_in&quot;:&quot;0&quot;,&quot;wptheme&quot;:&quot;premium\/verity&quot;,&quot;wptheme_is_block&quot;:&quot;0&quot;}"   >
1064		
1064<script defer src="/wp-content/js/bilmur.min.js?i=19&amp;m=202639"></script>
1064 	<svg style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
1065<defs>
1066<symbol id="icon-curve" viewBox="0 0 80 24">
1067<path class="st0" d="M40,24c0,0,10.1-12,20-18c10.1-6,20-6,20-6H0c0,0,10.1,0,20,6C30.1,12,40,24,40,24z"></path>
1068</symbol>
1069<symbol id="icon-square" viewBox="0 0 33 33">
1070<path class="cls1" d="M7.646,0.354L8.354-.354l25,25-0.707.707ZM25.01,0.706L24.294-.01l-25.3,25.3,0.716,0.716Zm0,31.588-0.716.716-25.3-25.3,0.716-.716Zm-17.02,0L8.706,33.01l25.3-25.3L33.294,6.99Zm7.656-21.941,0.707-.707,7,7-0.707.707Zm1.363,0.281-0.644-.644L9.991,16.365l0.644,0.644Zm0,11.73-0.644.644L9.991,16.635l0.644-.644Zm-1.018,0,0.644,0.644,6.374-6.374-0.644-.644ZM15.808,12.47l0.477-.477,4.721,4.721-0.477.477Zm0.919,0.19-0.434-.434-4.3,4.3,0.434,0.434Zm0,7.912-0.434.434-4.3-4.3,0.434-.434Zm-0.686,0,0.434,0.434,4.3-4.3-0.434-.434Z"></path>
1071</symbol>
1072<symbol id="icon-comment" viewBox="0 0 512 640">
1073<path d="M59.74,477.12a23.48,23.48,0,0,1-21.4-12.67c-5.11-9.37-4-19.68,3.06-28.3,4.12-5,8.94-10.74,14.24-16.13a142.43,142.43,0,0,0,34.24-56.95l-1.49-1c-6.32-4.29-12.85-8.73-19.12-13.55-26.71-20.59-45.23-43.31-56.61-69.43-20-45.8-16.33-91.13,10.85-134.75,24.9-40,62-68.62,113.4-87.54,75.94-28,153.14-29.17,229.46-3.59,49.76,16.68,87.34,42.58,114.9,79.19,21.36,28.4,31.94,61.19,30.6,94.81S497.44,292.73,474,319.63c-34.14,39.15-80,65.09-140.08,79.29-35,8.29-72,10.6-113,7.09a7,7,0,0,0-1.76,1c-39.76,33.47-87,56.13-140.28,67.37-4.16.86-8.22,1.44-12.15,2l-2.48.36A31,31,0,0,1,59.74,477.12Zm-0.32-23.83a6.64,6.64,0,0,0,1.36-.08l2.56-.37c3.73-.53,7.25-1,10.64-1.74,49.41-10.41,93.09-31.37,129.81-62.28,4.29-3.61,11.39-7.24,18.47-6.62,38.75,3.39,73.47,1.27,106.15-6.47,55.11-13,96.85-36.49,127.61-71.76,40.61-46.55,43-108.28,6.23-157.25-24.55-32.63-58.38-55.83-103.42-70.92-71-23.81-142.93-22.67-213.66,3.36-46.25,17-79.42,42.46-101.41,77.77C20.66,194,17.64,230.84,34.52,269.56c9.74,22.35,25.87,42,49.31,60.08,5.69,4.39,11.65,8.43,18,12.71,2.85,1.93,5.8,3.94,8.72,6l6.76,4.71-2,8a166.27,166.27,0,0,1-42.6,75.72c-4.64,4.71-9.05,10-12.83,14.55A5.33,5.33,0,0,0,59,452.5a3.65,3.65,0,0,0,.24.53Z"/>
1074</symbol>
1075<symbol id="icon-search" viewBox="0 0 30 32">
1076<path class="path1" d="M20.571 14.857q0-3.304-2.348-5.652t-5.652-2.348-5.652 2.348-2.348 5.652 2.348 5.652 5.652 2.348 5.652-2.348 2.348-5.652zM29.714 29.714q0 0.929-0.679 1.607t-1.607 0.679q-0.964 0-1.607-0.679l-6.125-6.107q-3.196 2.214-7.125 2.214-2.554 0-4.884-0.991t-4.018-2.679-2.679-4.018-0.991-4.884 0.991-4.884 2.679-4.018 4.018-2.679 4.884-0.991 4.884 0.991 4.018 2.679 2.679 4.018 0.991 4.884q0 3.929-2.214 7.125l6.125 6.125q0.661 0.661 0.661 1.607z"></path>
1077</symbol>
1078<symbol id="icon-envelope-o" viewBox="0 0 32 32">
1079<path class="path1" d="M29.714 26.857v-13.714q-0.571 0.643-1.232 1.179-4.786 3.679-7.607 6.036-0.911 0.768-1.482 1.196t-1.545 0.866-1.83 0.438h-0.036q-0.857 0-1.83-0.438t-1.545-0.866-1.482-1.196q-2.821-2.357-7.607-6.036-0.661-0.536-1.232-1.179v13.714q0 0.232 0.17 0.402t0.402 0.17h26.286q0.232 0 0.402-0.17t0.17-0.402zM29.714 8.089v-0.438t-0.009-0.232-0.054-0.223-0.098-0.161-0.161-0.134-0.25-0.045h-26.286q-0.232 0-0.402 0.17t-0.17 0.402q0 3 2.625 5.071 3.446 2.714 7.161 5.661 0.107 0.089 0.625 0.527t0.821 0.67 0.795 0.563 0.902 0.491 0.768 0.161h0.036q0.357 0 0.768-0.161t0.902-0.491 0.795-0.563 0.821-0.67 0.625-0.527q3.714-2.946 7.161-5.661 0.964-0.768 1.795-2.063t0.83-2.348zM32 7.429v19.429q0 1.179-0.839 2.018t-2.018 0.839h-26.286q-1.179 0-2.018-0.839t-0.839-2.018v-19.429q0-1.179 0.839-2.018t2.018-0.839h26.286q1.179 0 2.018 0.839t0.839 2.018z"></path>
1080</symbol>
1081<symbol id="icon-close" viewBox="0 0 25 32">
1082<path class="path1" d="M23.179 23.607q0 0.714-0.5 1.214l-2.429 2.429q-0.5 0.5-1.214 0.5t-1.214-0.5l-5.25-5.25-5.25 5.25q-0.5 0.5-1.214 0.5t-1.214-0.5l-2.429-2.429q-0.5-0.5-0.5-1.214t0.5-1.214l5.25-5.25-5.25-5.25q-0.5-0.5-0.5-1.214t0.5-1.214l2.429-2.429q0.5-0.5 1.214-0.5t1.214 0.5l5.25 5.25 5.25-5.25q0.5-0.5 1.214-0.5t1.214 0.5l2.429 2.429q0.5 0.5 0.5 1.214t-0.5 1.214l-5.25 5.25 5.25 5.25q0.5 0.5 0.5 1.214z"></path>
1083</symbol>
1084<symbol id="icon-angle-down" viewBox="0 0 21 32">
1085<path class="path1" d="M19.196 13.143q0 0.232-0.179 0.411l-8.321 8.321q-0.179 0.179-0.411 0.179t-0.411-0.179l-8.321-8.321q-0.179-0.179-0.179-0.411t0.179-0.411l0.893-0.893q0.179-0.179 0.411-0.179t0.411 0.179l7.018 7.018 7.018-7.018q0.179-0.179 0.411-0.179t0.411 0.179l0.893 0.893q0.179 0.179 0.179 0.411z"></path>
1086</symbol>
1087<symbol id="icon-folder-open" viewBox="0 0 34 32">
1088<path class="path1" d="M33.554 17q0 0.554-0.554 1.179l-6 7.071q-0.768 0.911-2.152 1.545t-2.563 0.634h-19.429q-0.607 0-1.080-0.232t-0.473-0.768q0-0.554 0.554-1.179l6-7.071q0.768-0.911 2.152-1.545t2.563-0.634h19.429q0.607 0 1.080 0.232t0.473 0.768zM27.429 10.857v2.857h-14.857q-1.679 0-3.518 0.848t-2.929 2.134l-6.107 7.179q0-0.071-0.009-0.223t-0.009-0.223v-17.143q0-1.643 1.179-2.821t2.821-1.179h5.714q1.643 0 2.821 1.179t1.179 2.821v0.571h9.714q1.643 0 2.821 1.179t1.179 2.821z"></path>
1089</symbol>
1090<symbol id="icon-bars" viewBox="0 0 27 32">
1091<path class="path1" d="M27.429 24v2.286q0 0.464-0.339 0.804t-0.804 0.339h-25.143q-0.464 0-0.804-0.339t-0.339-0.804v-2.286q0-0.464 0.339-0.804t0.804-0.339h25.143q0.464 0 0.804 0.339t0.339 0.804zM27.429 14.857v2.286q0 0.464-0.339 0.804t-0.804 0.339h-25.143q-0.464 0-0.804-0.339t-0.339-0.804v-2.286q0-0.464 0.339-0.804t0.804-0.339h25.143q0.464 0 0.804 0.339t0.339 0.804zM27.429 5.714v2.286q0 0.464-0.339 0.804t-0.804 0.339h-25.143q-0.464 0-0.804-0.339t-0.339-0.804v-2.286q0-0.464 0.339-0.804t0.804-0.339h25.143q0.464 0 0.804 0.339t0.339 0.804z"></path>
1092</symbol>
1093<symbol id="icon-quote-right" viewBox="0 0 30 32">
1094<path class="path1" d="M13.714 5.714v12.571q0 1.857-0.723 3.545t-1.955 2.92-2.92 1.955-3.545 0.723h-1.143q-0.464 0-0.804-0.339t-0.339-0.804v-2.286q0-0.464 0.339-0.804t0.804-0.339h1.143q1.893 0 3.232-1.339t1.339-3.232v-0.571q0-0.714-0.5-1.214t-1.214-0.5h-4q-1.429 0-2.429-1t-1-2.429v-6.857q0-1.429 1-2.429t2.429-1h6.857q1.429 0 2.429 1t1 2.429zM29.714 5.714v12.571q0 1.857-0.723 3.545t-1.955 2.92-2.92 1.955-3.545 0.723h-1.143q-0.464 0-0.804-0.339t-0.339-0.804v-2.286q0-0.464 0.339-0.804t0.804-0.339h1.143q1.893 0 3.232-1.339t1.339-3.232v-0.571q0-0.714-0.5-1.214t-1.214-0.5h-4q-1.429 0-2.429-1t-1-2.429v-6.857q0-1.429 1-2.429t2.429-1h6.857q1.429 0 2.429 1t1 2.429z"></path>
1095</symbol>
1096<symbol id="icon-mail-reply" viewBox="0 0 32 32">
1097<path class="path1" d="M32 20q0 2.964-2.268 8.054-0.054 0.125-0.188 0.429t-0.241 0.536-0.232 0.393q-0.214 0.304-0.5 0.304-0.268 0-0.42-0.179t-0.152-0.446q0-0.161 0.045-0.473t0.045-0.42q0.089-1.214 0.089-2.196 0-1.804-0.313-3.232t-0.866-2.473-1.429-1.804-1.884-1.241-2.375-0.759-2.75-0.384-3.134-0.107h-4v4.571q0 0.464-0.339 0.804t-0.804 0.339-0.804-0.339l-9.143-9.143q-0.339-0.339-0.339-0.804t0.339-0.804l9.143-9.143q0.339-0.339 0.804-0.339t0.804 0.339 0.339 0.804v4.571h4q12.732 0 15.625 7.196 0.946 2.393 0.946 5.946z"></path>
1098</symbol>
1099
1100<symbol id="icon-hashtag" viewBox="0 0 32 32">
1101<path class="path1" d="M17.696 18.286l1.143-4.571h-4.536l-1.143 4.571h4.536zM31.411 9.286l-1 4q-0.125 0.429-0.554 0.429h-5.839l-1.143 4.571h5.554q0.268 0 0.446 0.214 0.179 0.25 0.107 0.5l-1 4q-0.089 0.429-0.554 0.429h-5.839l-1.446 5.857q-0.125 0.429-0.554 0.429h-4q-0.286 0-0.464-0.214-0.161-0.214-0.107-0.5l1.393-5.571h-4.536l-1.446 5.857q-0.125 0.429-0.554 0.429h-4.018q-0.268 0-0.446-0.214-0.161-0.214-0.107-0.5l1.393-5.571h-5.554q-0.268 0-0.446-0.214-0.161-0.214-0.107-0.5l1-4q0.125-0.429 0.554-0.429h5.839l1.143-4.571h-5.554q-0.268 0-0.446-0.214-0.179-0.25-0.107-0.5l1-4q0.089-0.429 0.554-0.429h5.839l1.446-5.857q0.125-0.429 0.571-0.429h4q0.268 0 0.446 0.214 0.161 0.214 0.107 0.5l-1.393 5.571h4.536l1.446-5.857q0.125-0.429 0.571-0.429h4q0.268 0 0.446 0.214 0.161 0.214 0.107 0.5l-1.393 5.571h5.554q0.268 0 0.446 0.214 0.161 0.214 0.107 0.5z"></path>
1102</symbol>
1103<symbol id="icon-chain" viewBox="0 0 30 32">
1104<path class="path1" d="M26 21.714q0-0.714-0.5-1.214l-3.714-3.714q-0.5-0.5-1.214-0.5-0.75 0-1.286 0.571 0.054 0.054 0.339 0.33t0.384 0.384 0.268 0.339 0.232 0.455 0.063 0.491q0 0.714-0.5 1.214t-1.214 0.5q-0.268 0-0.491-0.063t-0.455-0.232-0.339-0.268-0.384-0.384-0.33-0.339q-0.589 0.554-0.589 1.304 0 0.714 0.5 1.214l3.679 3.696q0.482 0.482 1.214 0.482 0.714 0 1.214-0.464l2.625-2.607q0.5-0.5 0.5-1.196zM13.446 9.125q0-0.714-0.5-1.214l-3.679-3.696q-0.5-0.5-1.214-0.5-0.696 0-1.214 0.482l-2.625 2.607q-0.5 0.5-0.5 1.196 0 0.714 0.5 1.214l3.714 3.714q0.482 0.482 1.214 0.482 0.75 0 1.286-0.554-0.054-0.054-0.339-0.33t-0.384-0.384-0.268-0.339-0.232-0.455-0.063-0.491q0-0.714 0.5-1.214t1.214-0.5q0.268 0 0.491 0.063t0.455 0.232 0.339 0.268 0.384 0.384 0.33 0.339q0.589-0.554 0.589-1.304zM29.429 21.714q0 2.143-1.518 3.625l-2.625 2.607q-1.482 1.482-3.625 1.482-2.161 0-3.643-1.518l-3.679-3.696q-1.482-1.482-1.482-3.625 0-2.196 1.571-3.732l-1.571-1.571q-1.536 1.571-3.714 1.571-2.143 0-3.643-1.5l-3.714-3.714q-1.5-1.5-1.5-3.643t1.518-3.625l2.625-2.607q1.482-1.482 3.625-1.482 2.161 0 3.643 1.518l3.679 3.696q1.482 1.482 1.482 3.625 0 2.196-1.571 3.732l1.571 1.571q1.536-1.571 3.714-1.571 2.143 0 3.643 1.5l3.714 3.714q1.5 1.5 1.5 3.643z"></path>
1105</symbol>
1106<symbol id="icon-thumb-tack" viewBox="0 0 21 32">
1107<path class="path1" d="M8.571 15.429v-8q0-0.25-0.161-0.411t-0.411-0.161-0.411 0.161-0.161 0.411v8q0 0.25 0.161 0.411t0.411 0.161 0.411-0.161 0.161-0.411zM20.571 21.714q0 0.464-0.339 0.804t-0.804 0.339h-7.661l-0.911 8.625q-0.036 0.214-0.188 0.366t-0.366 0.152h-0.018q-0.482 0-0.571-0.482l-1.357-8.661h-7.214q-0.464 0-0.804-0.339t-0.339-0.804q0-2.196 1.402-3.955t3.17-1.759v-9.143q-0.929 0-1.607-0.679t-0.679-1.607 0.679-1.607 1.607-0.679h11.429q0.929 0 1.607 0.679t0.679 1.607-0.679 1.607-1.607 0.679v9.143q1.768 0 3.17 1.759t1.402 3.955z"></path>
1108</symbol>
1109<symbol id="icon-arrow-left" viewBox="0 0 43 32">
1110<path class="path1" d="M42.311 14.044c-0.178-0.178-0.533-0.356-0.711-0.356h-33.778l10.311-10.489c0.178-0.178 0.356-0.533 0.356-0.711 0-0.356-0.178-0.533-0.356-0.711l-1.6-1.422c-0.356-0.178-0.533-0.356-0.889-0.356s-0.533 0.178-0.711 0.356l-14.578 14.933c-0.178 0.178-0.356 0.533-0.356 0.711s0.178 0.533 0.356 0.711l14.756 14.933c0 0.178 0.356 0.356 0.533 0.356s0.533-0.178 0.711-0.356l1.6-1.6c0.178-0.178 0.356-0.533 0.356-0.711s-0.178-0.533-0.356-0.711l-10.311-10.489h33.778c0.178 0 0.533-0.178 0.711-0.356 0.356-0.178 0.533-0.356 0.533-0.711v-2.133c0-0.356-0.178-0.711-0.356-0.889z"></path>
1111</symbol>
1112<symbol id="icon-arrow-right" viewBox="0 0 43 32">
1113<path class="path1" d="M0.356 17.956c0.178 0.178 0.533 0.356 0.711 0.356h33.778l-10.311 10.489c-0.178 0.178-0.356 0.533-0.356 0.711 0 0.356 0.178 0.533 0.356 0.711l1.6 1.6c0.178 0.178 0.533 0.356 0.711 0.356s0.533-0.178 0.711-0.356l14.756-14.933c0.178-0.356 0.356-0.711 0.356-0.889s-0.178-0.533-0.356-0.711l-14.756-14.933c0-0.178-0.356-0.356-0.533-0.356s-0.533 0.178-0.711 0.356l-1.6 1.6c-0.178 0.178-0.356 0.533-0.356 0.711s0.178 0.533 0.356 0.711l10.311 10.489h-33.778c-0.178 0-0.533 0.178-0.711 0.356-0.356 0.178-0.533 0.356-0.533 0.711v2.311c0 0.178 0.178 0.533 0.356 0.711z"></path>
1114</symbol>
1115<symbol id="icon-play" viewBox="0 0 22 28">
1116<path d="M21.625 14.484l-20.75 11.531c-0.484 0.266-0.875 0.031-0.875-0.516v-23c0-0.547 0.391-0.781 0.875-0.516l20.75 11.531c0.484 0.266 0.484 0.703 0 0.969z"></path>
1117</symbol>
1118<symbol id="icon-pause" viewBox="0 0 24 28">
1119<path d="M24 3v22c0 0.547-0.453 1-1 1h-8c-0.547 0-1-0.453-1-1v-22c0-0.547 0.453-1 1-1h8c0.547 0 1 0.453 1 1zM10 3v22c0 0.547-0.453 1-1 1h-8c-0.547 0-1-0.453-1-1v-22c0-0.547 0.453-1 1-1h8c0.547 0 1 0.453 1 1z"></path>
1120</symbol>
1121<symbol id="icon-cart" viewBox="0 0 16 16">
1122<path d="M11,12c-0.6,0-1,0.4-1,1s0.4,1,1,1s1-0.4,1-1S11.6,12,11,12z M5,12c-0.6,0-1,0.4-1,1s0.4,1,1,1s1-0.4,1-1 S5.6,12,5,12z M11,10H5V9h5.6c0.8,0,1.5-0.5,1.9-1.3L14,4H5V3c0-0.6-0.4-1-1-1H2v1h2v7c0,0.6,0.4,1,1,1h6h1C12,10.4,11.6,10,11,10z"></path>
1123</symbol>
1124<symbol id="icon-zoom" viewBox="0 0 16 16">
1125<path d="M7,4H6v2H4v1h2v2h1V7h2V6H7V4z M11,9.6c0.6-0.9,1-2,1-3.1C12,3.5,9.5,1,6.5,1S1,3.5,1,6.5S3.5,12,6.5,12 c1.2,0,2.2-0.4,3.1-1l3.7,3.7l1.4-1.4L11,9.6z M6.5,10.5c-2.2,0-4-1.8-4-4s1.8-4,4-4s4,1.8,4,4S8.7,10.5,6.5,10.5z"/>
1126</symbol>
1127<symbol id="icon-edit" viewBox="0 0 16 16">
1128<g>
1129	<path d="M12.6,6.9l0.5-0.5c0.8-0.8,0.8-2,0-2.8l-0.7-0.7c-0.8-0.8-2-0.8-2.8,0L9.1,3.4L12.6,6.9z"/>
1130	<polygon points="8.4,4.1 2,10.5 2,14 5.5,14 11.9,7.6"/>
1131</g>
1132</symbol>
1133<symbol id="icon-time" viewBox="0 0 16 16">
1134<path d="M8 2C4.7 2 2 4.7 2 8s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6zm2.5 9.5L7.2 8.3V4h1.5v3.7l2.8 2.8-1 1z"></path>
1135</symbol>
1136<symbol id="icon-check" viewBox="0 0 1792 1792">
1137<path d="M1671 566q0 40-28 68l-724 724-136 136q-28 28-68 28t-68-28l-136-136-362-362q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295 656-657q28-28 68-28t68 28l136 136q28 28 28 68z"></path>
1138</symbol>
1139</defs>
1140</svg>
1141
1142</body>
1143</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.