Postagens

Mostrando postagens de abril, 2020

Postagem em destaque

Código Limpo: Nomes Significativos

Imagem
Às vezes fico com um assunto na cabeça por semanas, até achar uma situação ou um exemplo que esclareça a situação. Explico: estava querendo já a algum tempo escrever sobre boas práticas de programação, e pensei em iniciar por "Nomes Significativos", para seguir a nomenclatura utilizada pelo ótimo livro Código Limpo , de Robert C. Martin.  Entretanto, ficava sempre amarrado em exemplos que pareciam ser bons, mas que ainda eu não tinha visto a utilidade prática.  Antes de continuar preciso explicar que tenho um hábito de anotar num bloco de papel todas as ideias que surgem, pois elas desaparecem com a mesma velocidade que aparecem. Para isso tenho um bloco e caneta na mesa de cabeceira (além de um no banheiro), pois esses são os lugares onde tenho mais ideias... Vai entender... Semana passada, estava com um problema bem complicado e tive uma ideia: "vou criar uma variável para indicar que quando um arquivo tiver um certo tamanho deve gravar algumas informações no log. Pois

Concorrência com GO

Imagem
Comecei a programar com GO há pouco tempo. E logo me deparei com algumas dúvidas de como usar a concorrência. Pesquisei bastante e encontrei algumas soluções muito interessantes, as quais compartilho aqui. Sugiro você primeiro assistir esse video do Rob Pike no Google I/O 2012: https://youtu.be/f6kdp27TYZs . Os programas que ele mostra podem ser encontrados aqui: https://github.com/kevchn/go-concurrency-patterns . E a apresentação que ele utilizou está aqui: https://talks.golang.org/2012/concurrency.slide Outros links que li e achei úteis sobre concorrência em GO: https://golangbot.com/buffered-channels-worker-pools/ https://medium.com/trainingcenter/goroutines-e-go-channels-f019784d6855 Por fim, criei um exemplo ( https://github.com/alexsetta/seqVsConc ), no qual comparo o desempenho de duas funções que fazem a mesma coisa: acessar um slice de URLs e retornar o StatusCode de cada uma. A diferença é que uma função faz a busca sequencial e a outra de forma concorrente. Na prática, o t

Coldfusion

Em 2004 tive que aprender uma nova linguagem de programação para o meu trabalho: Coldfusion. Na época eu usava Delphi e Visual Fox Pro e sendo sincero, nunca havia ouvido falar de Coldfusion! Minha sorte que a curva de aprendizado do Coldfusion é extremamente rápida e em pouco tempo já estava dando manutenção e desenvolvendo software em Coldfusion. Hoje, 16 anos depois, vejo um twitter do Ben Nadel ( https://twitter.com/BenNadel/status/1249679353660739585 ) falando sobre porque gosta de Coldfusion. Não vou falar porque eu gosto de Coldfusion, até porque o Ben fala com mais propriedade que eu, mas não foge muito do que ele disse. Infelizmente, minha empresa está abandonando o Coldfusion, mas sempre vou ter um carinho especial por essa linguagem.