Postagens

Mostrando postagens de Novembro, 2013

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ística de fazer:1) se Ver…

Fazer uma consulta no SQL Server e enviar o resultado por e-mail, usando C#

Esse é um exemplo em C# que eu sempre passo para todo mundo que está começando na linguagem e quer aprender qualquer coisa um pouco mais complexa do que um "hello world".
Trata-se de um script / função que consulta um banco de dados e devolve o resultado, como um relatório, por e-mail. Então dois temas são abordados: conexão com o banco de dados consultando-o e envio de e-mail.
uso C# para me conectar com um banco de dados MS SQL Server e fazer uma query. O resultado da query é enviado por e-mail, como texto, no corpo do mesmo.
Originalmente escrevi esse programa como exemplo para um colega não programador, que já sabia programar um pouco, porém no VBA do Excel, e que já conhecia o Microsoft SQL Server muito bem e sabia fazer queries e trazê-las para uma planilha excel, mas não conhecia nada de C# e não tinha vivência como programador.

No entanto este tutorial também é destinado à webdesigners que precisam fazer um script para envio de e-mail, mas não querem se aprofundar n…

Testar se uma variável é undefined no javascript

Para testar se uma variável é undefined ou null pode-se compará-la com as palavras chave undefined e null usando os operadores:
== (valor igual),
!= (valor diferente),
=== (estritamente igual, mesmo valor e tipo),
!== (diferente, tipo diferente)

No script abaixo existe uma variável y não declarada. Por causa dela uma exceção é gerada e tratada no catch logo abaixo.

Sempre é necessário verificar se uma variável/objeto é nula ou undefined antes de se usá-la, chamar seus métodos ou alterar suas propriedades.
É a não verificação dessas duas condições que sempre causa erros de script na página (objetos que não existem, que são nulos etc...).

O try ... catch vai garantir que você encontre o erro mesmo que esqueça dessas coisas essenciais, e seu script não para de funcionar, mesmo com erro.
Teste de Undefined var x; try { if(x == null) { document.getElementById('resultado').innerHTML += "x é == null "; } else { document.getEleme…

Wildcards nos seletores JQuery

O JQuery pode ser usado com Wildcards / Coringas nos seletores.

Queria aplicar uma regra de formatação e validação em todos os campos input onde deveriam ser inseridas datas, no entanto, como é um sistema legado, os elementos html não possuem ID's, ou pelo menos não alguns que eu tenha controle. Também não é possível no meu sistema atual atribuir classes aos elementos sem alterar o software que hera o html.

Minha última opção seria confiar nos seletores jQuery e na propriedade name dos inputs. Uma vantagem é que, na minha aplicação, todos os inputs de data tem o prefixo "dt_" no nome. Tudo que eu precisava era de uma forma de selecionar todos os inputs que começavam com "dt_".

O jQuery permite seletores por tipo de tag e atributo, então para selecionar inputs seria $("input[atributo='valor']"). No entanto não existe apenas o operador "=". Os operadores possíveis são:

*= (contém)
$= (termina com)
^= (começa com)

Então, para selecionar…