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 – 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 »" href="https://rponte.com.br/feed/" /> 167<link rel="alternate" type="application/rss+xml" title="Feed de comentários para Rafael Ponte »" href="https://rponte.com.br/comments/feed/" /> 168<link rel="alternate" type="application/rss+xml" title="Rafael Ponte » 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&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&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&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">"TEAM = Together Everyone Achieves More"</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 …" 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 …" 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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=888&h=888&crop=1 888w, https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=300&h=300&crop=1 300w, https://rponte.com.br/wp-content/uploads/2022/04/screen-shot-2022-04-21-at-20.18.14.png?w=768&h=768&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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png?w=300&h=300&crop=1 300w, https://rponte.com.br/wp-content/uploads/2022/04/talk-capa-1.2.png?w=768&h=768&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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png?w=300&h=300&crop=1 300w, https://rponte.com.br/wp-content/uploads/2021/01/uuid-as-pk.png?w=768&h=768&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…</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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/807d0-oracle-adf-1508x706_c.jpg?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/807d0-oracle-adf-1508x706_c.jpg?w=300&h=300&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 é muito comum nos depararmos com o famigerado erro JBO-25014: Another user has changed the row with primary key, no qual significa que … <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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=888&h=888&crop=1 888w, https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=300&h=300&crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/46801-computer_security_stock_image-100582931-orig.jpg?w=768&h=768&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… Quando comecei minha carreira como programador, lá por volta … <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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=888&h=888&crop=1 888w, https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=300&h=300&crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/6fcad-database-transactions.png?w=768&h=768&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. … <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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/cb483-junit-exceptions.jpg?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/cb483-junit-exceptions.jpg?w=300&h=300&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, é … <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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=888&h=888&crop=1 888w, https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=300&h=300&crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/629fc-whale-small.png?w=768&h=768&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…</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 … <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…
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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=888&h=888&crop=1 888w, https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=300&h=300&crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/b7fc8-como-apresentar-codigo-em-slides-triadworks.png?w=768&h=768&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ê… No último evento da JavaCE eu palestrei … <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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/1e699-files-and-folders-tiny.jpg?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/1e699-files-and-folders-tiny.jpg?w=300&h=300&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… à ou não é? Mas infelizmente ela não é levada tão a sério assim! … <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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg?w=300&h=300&crop=1 300w, https://rponte.com.br/wp-content/uploads/2020/10/518c3-2o-mau-habito-jsf-small.jpg?w=768&h=768&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="<p>Evite colocar lógica custosa em métodos getters dos managed beans</p> 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 … <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&h=444&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&h=444&crop=1 444w, https://rponte.com.br/wp-content/uploads/2020/10/30678-triadworks-dicas-de-programacao-dica-4-stringbuilder1.png?w=96&h=96&crop=1 96w, https://rponte.com.br/wp-content/uploads/2020/10/30678-triadworks-dicas-de-programacao-dica-4-stringbuilder1.png?w=300&h=300&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 &#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 –
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 é … <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 – 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&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="{"enq_jquery":"1","logged_in":"0","wptheme":"premium\/verity","wptheme_is_block":"0"}" > 1064
1064<script defer src="/wp-content/js/bilmur.min.js?i=19&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.