{"id":63895,"date":"2025-03-19T14:47:49","date_gmt":"2025-03-19T17:47:49","guid":{"rendered":"https:\/\/quebrandocontrole.com.br\/site\/?p=63895"},"modified":"2025-03-19T14:47:58","modified_gmt":"2025-03-19T17:47:58","slug":"por-um-punhado-de-bits-adote-um-release","status":"publish","type":"post","link":"https:\/\/quebrandocontrole.com.br\/site\/por-um-punhado-de-bits-adote-um-release\/","title":{"rendered":"Por Um Punhado De Bits: Adote Um Release"},"content":{"rendered":"\n<p>Vou narrar duas passagens, para ilustrar um ponto que todo desenvolvedor deve avaliar com muito cuidado. Tempos atr\u00e1s estava desenvolvendo uma nova fun\u00e7\u00e3o para o meu sistema de Micro Aventuras e estava, como se diz, malhando em ferro frio. O sistema \u00e9 formado por tr\u00eas bases: php, html e javascript, tendo como administrador de dados o MySql.<\/p>\n\n\n\n<p>O problema estava no PHP que, na minha opini\u00e3o, \u00e9 a linguagem mais insana que eu j\u00e1 usei em toda a minha vida de programa\u00e7\u00e3o. Tenta de um jeito, tenta de outro e nada da fun\u00e7\u00e3o funcionar como eu queria. N\u00e3o era um mero caso de erro de sintaxe ou n\u00e3o observ\u00e2ncia de alguma regra obscura mas a simples l\u00f3gica da programa\u00e7\u00e3o, ou falta dela.<\/p>\n\n\n\n<p>Corte (s\u00f3 pra quem n\u00e3o conhece, saboreie a insanidade): no PHP existem tr\u00eas formas de usar o sinal &#8220;=&#8221;. Um \u00fanico caracter indica uma atribui\u00e7\u00e3o, do tipo isso \u00e9 &#8220;igual&#8221; aquilo ($Px = 10); dois caracteres &#8220;==&#8221; indica condi\u00e7\u00e3o de igualdade, ou seja se isso \u00e9 igual aquilo ent\u00e3o faz alguma coisa. E existe o uso de tr\u00eas caracteres &#8220;===&#8221; que tamb\u00e9m \u00e9 uma condi\u00e7\u00e3o de igualdade. Como assim? Se uma coisa \u00e9 igual a outra, ponto final. N\u00e3o tem como ser &#8220;mais&#8221; igual que isso.<\/p>\n\n\n\n<p>No PHP tem, ou seja, n\u00e3o basta duas coisas serem iguais, mas elas tem que ser iguais at\u00e9 na sua natureza, tipo um inteiro s\u00f3 pode ser igual a outro inteiro. Mas n\u00e3o era assim antes, no caso &#8220;==&#8221;? N\u00e3o. Aqui, um inteiro pode ser igual a uma string. Bugou o c\u00e9rebro? Pois \u00e9, bem vindo ao PHP.<\/p>\n\n\n\n<p>Enfim, estava l\u00e1 tendo minhas desaven\u00e7as com a l\u00f3gica quando os diabinhos que ficam martelando a cabe\u00e7a da gente falaram: usa goto. S\u00f3 pra situar, nas esferas mais esnobes da programa\u00e7\u00e3o, a instru\u00e7\u00e3o goto \u00e9 tida como algo de quinta categoria. Usada apenas por deficientes intelectuais. Pra mim isso n\u00e3o tem a menor import\u00e2ncia e se goto resolve, vamos de goto. S\u00f3 que a vers\u00e3o PHP instalada no servidor n\u00e3o tinha goto (pra voc\u00ea ver que quem fez o PHP era meio elitista mesmo).<\/p>\n\n\n\n<p>Sem problema, bastou atualizar a vers\u00e3o (uns 4 releases \u00e0 frente) e crau: minha vida passou por um inferno astral da programa\u00e7\u00e3o. Tudo parou de funcionar apenas porque a turma do PHP n\u00e3o tem a menor preocupa\u00e7\u00e3o com quem usou releases anteriores ao \u00faltimo e mudam, na cara dura, n\u00e3o apenas sintaxes como ordem de par\u00e2metros e at\u00e9 mesmo desaparecem com instru\u00e7\u00f5es. Perto do PHP o Windows merece o oscar da programa\u00e7\u00e3o limpa e eficiente.<\/p>\n\n\n\n<p>Mas vamos l\u00e1. Na sequ\u00eancia, tempo e esfor\u00e7o descomunal para colocar tudo nos conformes e fazer todos os arquivos voltarem a funcionar normalmente. Tudo por uma instru\u00e7\u00e3o de quinta categoria, mas \u00e9 o que tinha. Li\u00e7\u00e3o aprendida? Mais ou menos.<\/p>\n\n\n\n<p>Recentemente, numa ensolarada manh\u00e3 de labuta, vou conferir o site e nada est\u00e1 funcionando direito. Erros atr\u00e1s de erros. Pesquisa daqui, pesquisa dali e finalmente descobri que o PHP estava estrilando em alguns pontos. Mas u\u00e9, eu n\u00e3o mudei nada da noite anterior, quando tudo estava funcionando bem. S\u00f3 pode ser release.<\/p>\n\n\n\n<p>Bingo, sem minha expressa autoriza\u00e7\u00e3o, o provedor atualizou a vers\u00e3o do PHP na minha hospedagem e deu caca. Igualzinho da outra vez, s\u00f3 que dessa vez n\u00e3o foi culpa minha e o tempo que gastaria refazendo e conferindo tudo, usei para escrever uma mensagem delicada e enaltecedora para os &#8220;t\u00e9cnicos&#8221; da dita hospedagem. Claro que voltei ao release anterior e tudo funcionou \u00e0s mil maravilhas.<\/p>\n\n\n\n<p>Moral disso tudo: n\u00e3o tem como n\u00e3o depender de algum sistema, linguagem, regras de fluxo da internet, etc. Mais cedo ou mais tarde uma coisa dessas acontece com a gente e j\u00e1 ouvi historias horripilantes de releases da Unreal. Por isso sempre mantenho um p\u00e9 atr\u00e1s: t\u00e1 funcionando no release X, ent\u00e3o deixa quieto. Resista \u00e0 tenta\u00e7\u00e3o de atualizar uma ferramenta apenas por atualizar. Acredite, sua paci\u00eancia e seu f\u00edgado agradecem.<\/p>\n\n\n\n<p>Ent\u00e3o, se quiser criticar, elogiar, xingar, falar palavras de incentivo, mandar pix pra ajudar na aposentadoria, etc, o canal mais eficiente \u00e9 o velho e surrado e-mail: renato@tilt.net. Sinta-se livre pra descer o sarrafo porque nesta altura do campeonato, meu amigo, eu j\u00e1 sofri todas as cr\u00edticas positivas e negativas que um gamedev pode sofrer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea j\u00e1 enfrentou problemas com atualiza\u00e7\u00f5es de sistemas ou linguagens de programa\u00e7\u00e3o? ???? No nosso novo artigo no Quebrando Controle, compartilhamos duas hist\u00f3rias reais de frustra\u00e7\u00e3o com o PHP e as li\u00e7\u00f5es aprendidas. ????<\/p>\n","protected":false},"author":78,"featured_media":63944,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[178,1582,6],"tags":[356,3040,1393],"class_list":["post-63895","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artigos","category-renato_degiovani","category-ultimas-noticias","tag-jogos","tag-pho","tag-renato-degiovani"],"jetpack_featured_media_url":"https:\/\/quebrandocontrole.com.br\/site\/wp-content\/uploads\/2025\/03\/Topo-Colunas-5.png","wpmagazine_modules_lite_featured_media_urls":{"thumbnail":["https:\/\/quebrandocontrole.com.br\/site\/wp-content\/uploads\/2025\/03\/Topo-Colunas-5-150x150.png",150,150,true],"cvmm-medium":["https:\/\/quebrandocontrole.com.br\/site\/wp-content\/uploads\/2025\/03\/Topo-Colunas-5-300x300.png",300,300,true],"cvmm-medium-plus":["https:\/\/quebrandocontrole.com.br\/site\/wp-content\/uploads\/2025\/03\/Topo-Colunas-5-305x207.png",305,207,true],"cvmm-portrait":["https:\/\/quebrandocontrole.com.br\/site\/wp-content\/uploads\/2025\/03\/Topo-Colunas-5-400x600.png",400,600,true],"cvmm-medium-square":["https:\/\/quebrandocontrole.com.br\/site\/wp-content\/uploads\/2025\/03\/Topo-Colunas-5-600x600.png",600,600,true],"cvmm-large":["https:\/\/quebrandocontrole.com.br\/site\/wp-content\/uploads\/2025\/03\/Topo-Colunas-5-1024x720.png",1024,720,true],"cvmm-small":["https:\/\/quebrandocontrole.com.br\/site\/wp-content\/uploads\/2025\/03\/Topo-Colunas-5-130x95.png",130,95,true],"full":["https:\/\/quebrandocontrole.com.br\/site\/wp-content\/uploads\/2025\/03\/Topo-Colunas-5.png",1280,720,false]},"categories_names":{"178":{"name":"Artigos","link":"https:\/\/quebrandocontrole.com.br\/site\/category\/artigos\/"},"1582":{"name":"Renato Degiovani","link":"https:\/\/quebrandocontrole.com.br\/site\/category\/artigos\/renato_degiovani\/"},"6":{"name":"\u00daltimas not\u00edcias","link":"https:\/\/quebrandocontrole.com.br\/site\/category\/noticias\/ultimas-noticias\/"}},"tags_names":{"356":{"name":"Jogos","link":"https:\/\/quebrandocontrole.com.br\/site\/tag\/jogos\/"},"3040":{"name":"PHO","link":"https:\/\/quebrandocontrole.com.br\/site\/tag\/pho\/"},"1393":{"name":"Renato Degiovani","link":"https:\/\/quebrandocontrole.com.br\/site\/tag\/renato-degiovani\/"}},"comments_number":"0","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/posts\/63895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/comments?post=63895"}],"version-history":[{"count":0,"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/posts\/63895\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/media\/63944"}],"wp:attachment":[{"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/media?parent=63895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/categories?post=63895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quebrandocontrole.com.br\/site\/wp-json\/wp\/v2\/tags?post=63895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}