Pessoal,
Vim aqui rapidinho somente para divulgar uma Cheat Sheet do jQuery. Uma Cheat Sheet seria uma cola. Serve como referência para visualizar rapidamente alguns recursos do framework.
http://bit.ly/ctOSIE
Publicado em Tecnologia | Etiquetado jQuery | Deixar um comentário »
Passei por uma situação hoje e gostaria de compartilhá-la. Precisava fazer uma consulta em vários bancos no MySQL para me trazer uma listagem. Porém eu presisava, para poder paginar, saber quantos registros ao todo haviam.
Ao usar o UNION eu conseguia trazer os dados, mas se eu tentasse contar os registros a seguinte consulta me trazia o seguinte resultado:
SELECT COUNT(id) AS N FROM a.table UNION SELECT COUNT(id) AS N FROM b.table UNION SELECT COUNT(id) AS N FROM c.table
O Resultado foi o seguinte:
| N |
|---|
| 75 |
| 23 |
| 12 |
O problema é que o resultado esperado é 110 registros. Para otimizar esta consulta, fui atrás de informações na internet e encontrei a seguinte solução:
SELECT ((SELECT COUNT(id) AS N FROM a.table) +
(SELECT COUNT(id) AS N FROM b.table) +
(SELECT COUNT(id) AS N FROM c.table)) AS N
A consulta enfim retornou meus 110 registros, como esperado. Mas a solução parece um pouco com uma gambiarra. Depois de consultas com o meu colega de trabalho (e chefe) chegamos a seguinte consulta:
SELECT COUNT(id) AS N FROM ( SELECT id AS N FROM a.table UNION SELECT id AS N FROM b.table UNION SELECT id AS N FROM c.table ) AS TABLE
É uma forma mais elegante e otimizada. Ao invés de fazer N processos de COUNT, é feito apenas um. E isso reduz carga no processador do servidor.
Fica aí a dica para quem passou (ou passa) por problema parecido…
Publicado em Tecnologia | Etiquetado COUNT, MySQL, UNION | Deixar um comentário »
Olá, pessoal. Neste post vamos falar um pouco como modelagem pode ajudar um projeto ágil.
Segundo a wikipedia, Modelagem de software é a atividade de construir modelos que expliquem as características ou o comportamento de um software ou de um sistema de software. Mas para equipes que trabalham com metodologias ágeis a modelagem nem sempre é útil. É preciso investir tempo, e isso atrapalha o processo, que deixaria de ser ágil. Mas é interessante analisar um outro ponto de vista sobre a modelagem para poder aplicá-la em um contexto ágil.
Ser ágil significa que o foco está na equipe, e não em um processo de desenvolvimento específico. Para se ágil, é preciso que se tenha uma equipe focada e integrada para que o desenvolvimento consiga fluir bem. Ao tirar a atenção da equipe para modelos convencionais, o conceito de agilidade é quebrado. Mas, em contrapartida, a melhor forma de tirar dúvidas é através de consulta a modelos, pois a consulta visual é intuitiva e é melhor do que ter que procurar um pedaço de código dentro de uma classe. Mas como usar duas ideias tão paradoxais simultaneamente sem influenciar no processo ágil?
Há diversas situações que um desenvolvedor se depara com alguns problemas que seriam resolvidos com a ajuda de outras partes do sistema. O que poderia ajudar em uma situação desse tipo seria a consulta de um modelo. Para auxiliar a tomar uma decisão, é interessante que se crie um modelo, mas não um diagrama de classes completo. O que pode ser criado é um diagrama com instâncias, que seriam apenas referências aos elementos maiores e mais complexos. Simplificando a modelagem, não se perde tempo como seria perdido ao criar um modelo completo e complexo. E a ferramenta? Pode ser em um papel mesmo. Não é preciso usar um software que trabalhe com UML pada criar um diagrama simples. Tudo para agilizar o processo e entregar um produto final de qualidade.
Publicado em Agile Development, Desenvolvimento, Tecnologia | Etiquetado Agile, Modelling | Deixar um comentário »
Muitas vezes nos deparamos com campos de formulário que devem somente aceitar determinados tipos de caracteres, como números em um campo de telefone.
Para isso, junto com o Jquery, é possível filtrar essas teclas já na hora que o usuário digita, economizando recursos para uma possível validação em seguida.
$('#inputDesejado').keypress(function(e){
if ((e.which>=48 && e.which<=57) || e.which==8 || e.which==0) {
return true;
} else {
//possível alerta
return false;
}
});
Este trecho de código acima aceita apenas números (observar o range 48 a 57), backspace (8) e outras teclas de navegação (setas, home, end, delete, …).
Para consultar os códigos dos caracteres que podem ser aplicados em um script semelhantes, favor consultar a Tabela ASCII.
Publicado em Desenvolvimento | Etiquetado javascript, jQuery | Deixar um comentário »