Postagens

Mostrando postagens de 2009

6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

As vezes tem tantas maneiras diferentes de fazer o mesmo código que nós ficamos na dúvida quanto a qual maneira usar. O que seria considerado "boa prática" pela comunidade e o que sua equipe entenderia melhor. Suponhamos que você esteja trabalhando dentro de um método de um Domain Service chamado UmDomainServiceChique(objetoDoDominio) que será chamado por uma API. Você tem uma regra de negócio chique para ser verificada que por enquanto chamarei de VerificaMinhaRegraChiqueComplexa(). Você chama UmDomainServiceChique(objetoDoDominio) e caso VerificaMinhaRegraChiqueComplexa() retorne true você vai querer que UmDomainServiceChique faça o que tem que fazer e a api retornar Ok 200, caso contrário você quer que a API responda um erro qualquer, tipo BadRequest, e retornar uma mensagem dizendo que VerificaMinhaRegraChiqueComplexa deu ruim. Eu vejo 6 maneiras de fazer isso, gostaria de saber a opinião de outrs devs sobre qual seria a maneira menos gambiarr

Conversor de medidas Wii Fit

Se você possui um Wii e um Wii Fit em casa e precisou calibrar o sistema com as suas medidas você já se deparou com as unidades de medida americanas, que são diferentes. Se já usou qualquer produto americano ou precisou viajar para os EUA reparou que os americanos usam libras para peso, que equivalem a 453 gramas, e usam pés e polegadas para medida de distância (ou comprimento, altura, etc), sendo que cada polegada tem 2.54 centímetros e que 12 polegadas são um pé. Fiz um pequeno script em javascript para fazer essas conversões e espero que seja útil tanto para quem for jogar wii quanto para quem quer aprender javascript, como colocar um script n blog etc. Não sei porque cargas d'água o código js só funcionou em TODOS os browsers, exceto no mozilla Firefox. Testei no chrome, Opera, Safari e IE(ca)8. O mais estranho é que funcionou no Firefox FORA DO BLOGSPOT, NUMA PÁGINA EM BRANCO, mas dentro do blogspot não funcionou, e olha que eu uso scripts malucos no blogspot.... enfim,

Artigo sobre RTTI na Clube Delphi 113

Saiu mais um artigo meu na Revista Clube Delphi . Trata-se de um artigo sobre a RTTI. Para quem não sabe, RTTI é o mecanismo de reflexão e Introspecção do Delphi. Esse artigo vai mais além do que eu já publiquei sobre object inspector , e além de te ajudar a criar um object inspector ele servirá de semente para a criação de um framework de persistência e até mesmo de um framework de MVC. Reflexão é um dos meus assuntos favoritos em todas as linguagens, sabe porquê? Preguiça de ficar fazendo alterações bestas nos programas. Você tem o poder para deixar que o usuário faça certas alterações, como cores, layout, ordem de chamada de métodos e eventos e até cálculos simples. Pretendo escrever mais artigos, públicos e privados, sobre RTTI, Reflexão e Interfaces, também em C# e Prism. Quem tiver alguma dúvida sobre algum desses assuntos pode me perguntar no meu formspring Até +

Google Translator

Novo componente do google traz a api do google translator para o seu site. Vou incorporar esse componente no blog e recomendar os meus posts pros estrangeiros ;) Modo de usar: ronaldo, brilha muito no corinthians

Artigo sobre interfaces na Clube Delphi 112

Puxa vida! faz tempo que eu não posto nada nos meus blogs! Novembro inteiro sem postar, que feio! É tanto projeto, tanto compromisso que o tempo fica bem curto mesmo. Além disso ferramentas como facebook e twitter são maravilhosas para integração de pessoas e informações, para se fazer jabá e para se manter atualizado. Mas são um terror para a produtividade. Nos tomam muito tempo e causam muita distração. Imagina quem tem déficit de atenção então, é ainda pior. Também são tantas as novas tecnologias que surgem a cada dia que é impossível acompanhar o mercado ou o progresso da informática. É impossível até se manter informado sobre as mudanças. Quando eu estava planejando estudar Java caiu o C# de pára-quedas na minha vida. Quando planejei estudar Ruby atacaram o PHP no meu colo, quando estava ficando razoável em POO apareceu essa tal de programação funcional, a nova febre do momento. Fora as novas tecnologias do google, como o app engine, que são muito atraentes. Com certeza tive que a

Segurança dos bancos na Internet

Tudo bem que esse blog é sobre programação e outras dicas mas.... Quero deixar claro e tornar público meu repúdio à decisão judicial favorável ao banco ITAÚ e meu total repúdio e aversão à atitude tomada pelo referido banco. Sou correntista do ITAÚ, mas a partir de hoje, se puder, deixo todo meu dinheiro no BRADESCO. O pior: como o ITAÚ mancha sua reputação por míseros R$4000,00. Só de taxas já deve ter faturado isso de mim só esse ano. O ITAÚ pode e DEVE ser processado, pelo cliente, por DANOS MORAIS E MATERIAIS se continuar com essa atitude. Como acompanhamos o caso postado pelo IDG Now, a sentença, que antes era favorável ao cliente, foi mudada por um certo magistrado (parcial, vendido, subornado) estando agora favorável ao banco. Foi feita alguma perícia (EU MESMO PODERIA FAZE-LA) com o computador do cliente para se provar que o mesmo estava inseguro. Mesmo se estivesse, é a culpa EXCLUSIVAMENTE do cliente ou o banco tem sua parcela de culpa? Eu me pergunto se o BANCO avisou o cli

Por que Delphi?

Antes de ser um texto apaixonado de um fanboy qualquer de uma tecnologia qualquer, isso é um texto explicativo do básico do básico sobre linguagens de programação e compiladores. Muitas pessoas confundem erroneamente uma linguagem de programação com o seu compilador e com a IDE em que se programa, caso houver uma. Muitas pessoas também confundem o fato de uma linguagem ser "compilada" ou "interpretada" por um outro sistema como uma limitação da linguagem em si. O que deve ficar claro para qualquer programador, iniciante ou experiente, é que a linguagem é a parte mais abstrata e flexível do ato de programar em si. Uma linguagem de programação, assim como a linguagem natural nativa de um povo ou civilização qualquer, não passa de um conjunto de simbolos, grupos de simbolos, palavras e regras gramaticais para interligação e relacionamento entre esses simbolos. Mais do que isso, uma linguagem, seja

O dilema do envio de e-mail

Hoje em dia um sistema enviar um e-mail automático é não só comum como uma necessidade. Sistemas enviam e-mails automáticos para usuarios que se cadastram num sistema, enviam login e senha para quem esqueceu, enviam as ofertas da semana e uma infinidade de eventos que acontecem em sistemas online. Mas não são apenas os sistemas web como e-commerce ou sites de rede social, mas ERP's, CRM, SCM e HRM também enviam e-mails. Pipelines de produção avisam gerentes quando uma variável atingiu um valor crítico ou exige atenção. Por exemplo, quando um determinado produto ou insumo no estoque atinge um determinado nivel, o responsável recebe um e-mail, e , as vezes, o fornecedor também recebe um e-mail com a proposta de compra. Programas de monitoria de rede, de segurança etc enviam e-amils. Enfim, as aplicações precisam enviar e-mails para os mais diversos fins. Cada linguagem tem a sua maneira e a sua peculiaridade. Mas o que é necessário para enviar um e-mail? Pasmem, embora o spam s

Criando um Port Scanner em Delphi

Imagem
Um port scanner é um programa que serve para procurar por portas TCP/IP abertas em um ou mais computadores da rede. É possível criar um port scanner em delphi facilmente com poucas linhas de código. Criei um port scanner multithread apenas para demonstrar como threads podem ser usadas no dia a dia. Vale a pena conferir, no meu space da dev media. http://www.devmedia.com.br/articles/viewcomp.asp?comp=14097 você pode fazer o download direto dele aqui no meu drop box Esta é apenas a primeira versão. Faremos sucessivas melhorias até ele se tornar uma ferramenta que possa ser usada por algum administrador de redes.

Transformando imagem em HTML

Recentemente minha esposa perguntou como transformar imagens em html, para postar imagens em blogs e talz. Uma rápida pesquisa no google levou a conclusão de que a maioria deles não faz muito bem o que se presta a fazer. Talvez uma busca mais aprofundada me levasse a um belo programinha open-source, mas eu desisti de procurar. A principio eu disse simplesmente que não dá, tem que colocar a imagem em algum lugar na web, um fotolog, drop box ou coisa parecida, e depois adicionar uma tag img que faça referência a ela. Mas como todo programador adora desafios, ta aí, resultado de 5 min de código e do nosso .net framework. Em breve eu posto o código fonte :) mas só se comentarem! A imagem: Infelizmente não poderá ser postada aqui no blogspot porque todos os pixeis ficam em cima de um só. Parece que aqui não funciona direito o "position".

Criando uma galeria de imagens em javascript

Isso é tanto um tutorial como uma bibliotequinha de galeria open source. Acho que todos já precisaram fazer uma galeria de imagens para um site, fosse apenas institucional, fosse e-commerce. Existem 1001 maneiras de se fazer uma galeria dessas. Eu criei uma simples, sem usar muitos recursos do DOM. Criei onze exemplos, de "A" a "K" que mostram como fazer uma galeria de imagens. O primeiro exemplo mostra como fazer da maneira mais simples possível, e a complexidade vai aumentando conforme você vai chegando no exemplo K. Todos os exemplos estão comentados detalhadamente. É bom abrir os exemplos apenas de dois em dois para comparar as diferenças entre eles. Você pode usar o winmerge :) É importante ressaltar que para alguns esses exemplos podem parecer fracos, mas eles foram desenvolvidos visando quem é totalmente leigo em javascript. Primeiro de tudo você precisa ter uma área com as imagens pequenas, que ao serem clicadas aparecerão em uma imagem maior. Na

Integer overflow no delphi 7

Dica sobre diferenças entre a sintaxe do delphi 2009 e do delphi 7 para se trabalhar com numeros negativos. Isso soluciona o problema do integer overflow http://www.devmedia.com.br/articles/viewcomp.asp?comp=13695

Até que ponto os softwares modernos necessitam de hardware?

Isso é apenas uma coisinha boba, mas fundamenta meu argumento: Sempre achei que os softwares modernos estão ficando cada vez mais exagerados no que eles exigem de hardware, e acredito que é porque estão ficando cada vez mais mal-feitos. Acredito que programadores sem um conhecimento técnico muito grande, iniciantes ou medianos podem tornar um programa mais lento e exigente a medida que ele faz mal uso do processador e da memória. Para exemplificar isso criei um cenário onde poderíamos codificar um programinha. Se eu tenho uma função que subtrai um valor de um determinado montante, mas o resultado não pode ser negativo, porque essa função alimentará uma outra que aceita como entrada apenas números naturais não negativos. Caso o valor seja maior que o montante a função deve retornar zero. Imagine uma operadora de celular pré-pago. Ela deve cortar a ligação do usuário quando os créditos chegam a zero, e impedir que faça novas ligações, mas jamais permitir que os créditos do client

Destacar o Edit em foco: Mesma classe em 4 linguagens!

  Sabe quando você tem varios Edits (ou textbox) num form, quer destacar com uma determinada cor quando eles ganharem o foco mas todos eles já tem eventos e você não quer sobrescrever, substituir e nem mecher nos eventos deles? Tambem não quer escrever o codigo pra mudar de cor no proprio evento, porque são varios edits e você quer reaproveitamento de código e o minimo possivel de retrabalho?   no C# isso é facil porque você pode concatenar eventos, colocando facilmente dois metodos para um mesmo evento. No javascript tambem dá para você chamar dois ou mais metodos por evento. Mas e no C++, delphi e Lazarus?   OBS.: Coloquei delphi e lazarus como duas "linguagens" diferentes porque apesar de serem praticamente iguais, no lazarus, para se trabalhar com variaveis de métodos de objetos e atribuir metodos à variaveis você precisa obrigatoriamente do operador de endereço "@". No delphi tambem era assim antigamente, mas não sei em que versão que iss