Postagens

Mostrando postagens de fevereiro, 2011

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

Artigo sobre WordPress publicado na Clube Delphi 126

Imagem
Já está disponível no site da Dev Media a algum tempo, e logo chegará nas bancas a revista Clube Delphi edição 126. Nesta edição saiu um artigo meu sobre o WordPress, como integra-lo com uma aplicação Delphi para postagens ou monitoria do que se fala sobre sua marca. Esse artigo foi uma pincelada no assunto. A integração ainda pode se dar via RSS, webservices e outros tipos de customização. Além disso o que foi apresentado não se aplica apenas ao WordPress, mas ao Magento e Joomla também. Gostaria de destacar o artigo do Rodrigo Araújo sobre Expressões Regulares. Sempre quisemos ter isso no Delphi e agora temos nativo, o que é muito bom. Padrão Strategy do Rafael Stavarengo é um dos que eu recomendo fortemente a leitura. Aliás, todos os artigos do Rafael Stavarengo são fortemente recomendados. O cara manja muito de POO eDesign Patterns. O Datasnap XE é O DATASNAP. Tudo o que você esperava de melhorias nessa tecnologia agora estão aí, disponíveis. E o Rodrigo Carreiro Mourão, ou

Criando um arquivo unicode com BOM a partir do Delphi 7

Hoje um colega que leu meu post sobre quebra de linhas no Delphi 7 e no Delphi novo teve uma dúvida: Ele não estava conseguindo criar um arquivo de conexão UDL válido. Todos eles davam erro ao abrir. Ele me disse que usar widestring não resolveu. Fiquei surpreso do porque ele precisaria gerar o udl pelo Delphi, já que é possível apenas criar um arquivo de texto vazio, renomear ara .udl, e o arquivo será criado normalmente. Mas, ele tinha essa necessidade. Uma das coisas que descobri hoje é que este arquivo, além de começar com [oledb], deve obrigatoriamente ter o "comentário" abaixo. Ou seja, não é apenas um comentario. [oledb] ; Everything after this line is an OLE DB initstring O conteúdo deve ser idêntico a esse. Mas não é apenas o conteúdo. Mesmo que se grave os cabeçalhos corretamente e as strings de conexão, e mesmo que as strings sejam widestrings de dois bytes (unicode) o arquivo em si ainda precisa de alguma coisa. Essa alguma coisa é o BOM: Abrindo um ar

Coisas que eu aprendi no Delphi Meeting

Imagem
A apple é mesmo revolucionária. Depois do Ipod do IPhone E do IPad É hora do..... IPim

Qual é sua segunda linguagem? E sua terceira?

Imagem
Bom pessoAll, antes de mais nada, minha primeira linguagem é Delphi/Lazarus/Object Pascal e ponto final. Tirando o Delphi a que eu mais gosto e respeito é C/C++, porém nunca arrumei um projeto, pago ou hobby, nessas linguagens. Só coisa acadêmica mesmo. Todos os posts que discutem sobre linguagens geram bastante polêmica, por mais bobo que seja o assunto. Eu gosto de olhar o site da TIOBE freqüentemente  http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Position Feb 2011 Position Feb 2010 Delta in Position Programming Language Ratings Feb 2011 Delta Feb 2010 Status 1 1 Java 18.482% +1.13%   A 2 2 C 14.986% -1.62%   A 3 4 C++ 8.187% -1.26%   A 4 7 Python 7.038% +2.72%   A 5 3 PHP 6.973% -3.03%   A 6 6 C# 6.809% +1.79%   A 7 5 (Visual) Basic 4.924% -2.13%   A 8 12 Objective-C 2.571% +0.79%   A 9 10 JavaScript 2.558% -0.08%   A 10 8 Perl 1.907% -1.69%   A 11 11 Ruby 1.615% -0.82%   A 12 - Assembly * 1.269% -   A- 13 9 Delphi 1.060% -1.60%   A 14 1