Programação

Plugins Jquery

0

Alguem aí conhece o Jquery? ;-)

Para quem não conhece, Jquery é um framework que nos fornece uma gama muito grande de ferramentas, você pode conhecer melhor neste link: www.jquery.com

Vou deixar para vocês que tenho certeza que irá ser uma mão na roda em seu trabalho, tem de tudo.

plugins.jquery.com

Para usar estes plugins, primeiro você deve baixar o script jquery.

Logo mais estarei postando tutoriais de como usar os plugins.

Programador ninja. Ninja?

1

A filosofia de vida dos ninjas era chamada de Ninpō (Ninjutsu), envolvendo a adaptação, a liberdade e a perseverança férrea como princípios basilares.(Wikipédia)

E então um amigo recebeu o seguinte email:

“Procuramos um desenvolvedor ninja (experiente e versátil) voltado para o desenvolvimento de aplicativos desktop para a plataforma windows. A aplicação é desenvolvida em Powerbuilder 10 e 11, mas encorajamos o contato de ninjas que dominem outras tecnologias de desenvolvimento de aplicações desktop. Acreditamos que um verdadeiro ninja poderá estudar a plataforma Powerbuilder e dominá-la com velocidade e maestria “

Legal, powerbuilder… hã?

Um programador ninja não é conhecido como um programador php, nem programador Java, é simplesmente um programador ninja, ou um cara que codifica, maneja códigos.

Um programador ninja se adapta ao seu ambiente, portanto se um ninja trabalha com php e depois vai para uma empresa que requer Java ee, o ninja, versátil e experiente, aprende com seu novo ambiente e se torna brilhante naquilo.

É uma tendência se formando, onde o programador quebra barreiras, cria liberdade profissional e expande sua experiência técnica.

Então percebemos que mão precisamos ficar presos à uma ferramenta ou linguagem de programação. Hoje, empresas como Google não procuram programadores php e sim programadores ninjas brilhantes.

Como mostrar erros relevantes em um sistema

0

Erro não é só mostrar uma mensagem informando que o usuário fez algo errado, devemos informar o que ele fez de errado e o que ele deverá fazer para solucionar o problema. Isso se chama programação saudável e é isso que veremos neste post.

Certa vez eu estava usando uma aplicação e ao submeter um formulário apareceu uma mensagem informando o seguinte: ERRO! Cadastro inválido!

De cara a máquina grita comigo, acredito que esta mensagem tenha sido feita para me intimidar, não sei pra que tanta exclamação. Já me sentir inferior sendo chamado atenção por uma máquina, nada pessoal, mas e agora, o que tenho que fazer para solucionar o problema?

Perceberam quantas dúvidas? A mensagem de erro não me informou nada, apenas disse que eu estava errado, e gritando. rs Esta não é uma programação saudável.

Outro caso é quando nos deparamos com o ERRO 00359, ou ainda ERRO B15647.
Neste caso até faz sentido, não para o usuário, mas sim para o programador. As vezes existe um sistema gigantesco que segue uma seqüência hierárquica de erros e isso facilita os desenvolvedores a identificar o problema. Mas mesmo assim, o usuário continua sem saber o porque do erro.

Bem, com base em minha humilde experiência como desenvolvedor web, sigo um modelo simples para orientar o usuário durante o erro.

Modelo de erro

- Informe exatamente o erro acontecido, não mostre a menos que esta informação seja restrita, ou seja, uma informação de segurança.

- Informe o usuário o que ele deve fazer para se livrar deste erro.

Vamos a um exemplo prático. Imagine que um usuário está fazendo um cadastro com 15 campos. O usuário esquece de uma informação obrigatória, nesta suposição será o campo País. O que devemos mostrar ao usuário?

Resposta: Você não informou o campo PAÍS. Este campo é obrigatório, preencha-o para continuar seu cadastro.

Para tornar a mensagem informal, podemos fazer o seguinte:

Resposta: Ops! Você esqueceu de informar seu PAÍS. Para contornar este problema informa seu país.

Observe que eu dei ênfase no campo de erro, ou seja, dei um destaque neste caso na palavra PAÍS, para o usuário ver logo de inicio onde ocorreu o problema. Isso sim é uma programação saudável.

Outra coisa interessante é você não culpar o usuário. Se ele não preencher um campo, diga-o que esqueceu ou de alguma outra forma, mas não o culpe. O usuário não se sente bem com uma máquina culpando ele. Eu não gostaria.

São coisas simples que realmente fazem a diferença. Vale a pena você usar alguns segundos a mais elaborando uma boa mensagem de erro, além do mais, depois que você acostumar com isso, se tornará um habito, um hábito saudável, uma programação saudável, tanto para você quanto para o usuário.

Cakephp e seus acumulos de cache. SOLUÇÃO!

0

Lembra do pog que usei para resolver uma situação no cake? Se não lembra veja aqui:

Bem galera, descobri a solução!

Não contente em usar o POG resolvi pesquisar e encontrei um recurso que o cake disponibiliza chamado beforeSave.

O beforeSave faz nada mais que executar uma instrução antes de salvar um dado no banco. Assim como ele, tem o afterSave, beforeFind e afterFind. O after tem o efeito oposto do before.

É muito simples de usar, veja os códigos abaixo:

Sem o before:

$conditions = array(‘mes’=>$mes,’ano’=>$ano);
$this->CoorporativoLigacoes->find($conditions);


$this->CoorporativoLigacoes->save($this->data());

Isso resultava em um erro, pois o resultado da consulta sempre será o mesmo, o ultimo dado cadastrado. Isso porque o cake salva no banco antes de fazer a consulta, ou melhor, ele executa as duas instruções ao mesmo tempo, mas o save é mais rápido.

Agora veja a solução usando o beforeSave

function beforeSave()
{
$conditions = array(‘mes’=>$mes,’ano’=>$ano);
$result = $this->CoorporativoLigacoes->find($conditions);
return $result;
}

function index()
{
$result = $this->beforeSave(); // este será executado primeiro
$this->CoorporativoLigacoes->save($this->data()); // Este só será executado depois do beforeSave
}

O mesmo uso deste você pode aplicar no afterSave, beforeFind, afterFind, etc.

Qualquer dúvida, só postar aqui.

PS: Nada de POG. ;)

Cakephp e seus acúmulos de cache. Problemas

0

Encontrei a solução deste problema e postei no blog, veja aqui.

Cakephp e seus acúmulos de cache. Algo a ser melhorado.

A partir de hoje vou começar a falar da minha experiência com o CakePHP, para os íntimos somente Cake. Tentarei passar a você o máximo de dicas. :)

Hoje perdi algumas horas tentando resolver uma questão no Cake. Tá rindo? Foi sinistro.

Estava precisando realizar as seguintes instruções dentro de um loop:

- Verificar se o dado existe no banco
- Se não existir, grava o dado no banco

Bem, é uma coisa bem simples dentro de uma aplicação meio complexa, mas enfim, acontece que o cake armazena os dados buscados no banco em cache, isso melhora a performance do processo mas as vezes atrapalha.

Com o cash abastecido, mesmo que tivesse dado preenchido no banco, o cake não o encontrava, pois usava o cache do Find anterior e não me retornava nada.

Tentei usar o $cacheSources=false, getInsertId, execute, mas por incrível que pareça não funcionou.

Depois de algumas horas de tentativas resolvi usar uma espécie de POG. Eu não queria, mas pog sempre resolve.:)

Então eu coloquei a query – como diz um amigo aqui do trabalho – na mão. E lá fui eu “mysql_query(select ……….);”.

Ual! Foi impressionante, mas funcionou. Isso mesmo, com o POG.

Depois ainda fiquei pesquisando o porque disso, será que é um bug do cake, eu não acredito, eu é que não devo estar sabendo usar isso adequadamente.

Bem, até agora eu não sei, se você souber, gostaria de saber. :)

Perdi algumas horas mas adquiri conhecimento, isso vale mais.

Uma vez um amigo aqui do trabalho consegui resolver o mesmo problema simplesmente com o cacheSources, mas hoje, não foi o caso.

Até a próxima!

Encontrei a solução deste problema e postei no blog, veja aqui.

 

Todas as versões do Internet Explorer no seu PC

4

Este software está obsoleto, existe um melhor, clique aqui para ser redirecionado ao post.

Qual desenvolvedor nunca teve problemas com os navegadores?
Que atire a primeira pedra! ;)

Muitas vezes (sempre) precisamos testar um site em diversos navegadores, e isso não tem problema algum, porem, se você tiver instalado o IE7 não dá para instalar o IE6 e é aí que está o verdadeiro problema.

O IE7 está parecido (nem tanto) com o firefox, então nosso problema continua sendo o IE6, pois este é o navegador mais usado no mundo e precisamos adaptar nossos sites.
Uma solução seria desinstalar o IE7 e usar somente o IE6, mas aí quando precisar testar o IE7 novamente, como fica?

Pensando nisso a empresa TredoSoft desenvolveu um software chamado IE multiple. É exatamente como o nome diz, o programa instala em seu computador as versões 3, 4.1, 5.1, 5.5 e 6 no seu sistema, mas para isso é preciso ter instalado o IE7.

Eu instalei na empresa onde trabalho e está correndo tudo certo, em minha casa também, este software é maior mão na roda.

Alguns relatam que há bugs no software, mas a empresa garante que já foram solucionados.

Veja na pagina oficial do site e baixe o programa: http://tredosoft.com/Multiple_IE

Baixe o programa direto neste link (Recomendo que leia a pagina do link a cima antes de baixar): http://tredosoft.com/files/multi-ie/multiple-ie-setup.exe

Este software está obsoleto, existe um melhor, clique aqui para ser redirecionado ao post.

Algoritmo de um gerador de CPF

6

Para exemplificar o processo vamos gerar um CPF válido, calculando os dígitos verificadores de um número hipotético, 111.444.777-XX.

Calculando o Primeiro Dígito Verificador

O primeiro dígito verificador do CPF é calculado utilizando-se o seguinte algoritmo.

1) Distribua os 9 primeiros dígitos em um quadro colocando os pesos 10, 9, 8, 7, 6, 5, 4, 3, 2 abaixo da esquerda para a direita, conforme representação abaixo:

1

1

1

4

4

4

7

7

7

10

9

8

7

6

5

4

3

2

2) Multiplique os valores de cada coluna:

 

1

1

1

4

4

4

7

7

7

10

9

8

7

6

5

4

3

2

10

9

8

28

24

20

28

21

14

3) Calcule o somatório dos resultados (10+9+…+21+14) = 162

4) O resultado obtido (162) será divido por 11. Considere como quociente apenas o valor inteiro, o resto da divisão será responsável pelo cálculo do primeiro dígito verificador.

Vamos acompanhar: 162 dividido por 11 obtemos 14 como quociente e 8 como resto da divisão. Caso o resto da divisão seja menor que 2, o nosso primeiro dígito verificador se torna 0 (zero), caso contrário subtrai-se o valor obtido de 11, que é nosso caso. Sendo assim nosso dígito verificador é 11-8, ou seja, 3 (três). Já temos portanto parte do CPF, confira: 111.444.777-3X.

Calculando o Segundo Dígito Verificador

1) Para o cálculo do segundo dígito será usado o primeiro dígito verificador já calculado. Montaremos uma tabela semelhante a anterior só que desta vez usaremos na segunda linha os valores 11,10,9,8,7,6,5,4,3,2 já que estamos incorporando mais um algarismo para esse cálculo. Veja:

 

1

1

1

4

4

4

7

7

7

3

11

10

9

8

7

6

5

4

3

2

2) Na próxima etapa faremos como na situação do cálculo do primeiro dígito verificador, multiplicaremos os valores de cada coluna e efetuaremos o somatório dos resultados obtidos: (11+10+…+21+6) = 204.

 

1

1

1

4

4

4

7

7

7

3

11

10

9

8

7

6

5

4

3

2

11

10

9

32

28

24

35

28

21

6

3) Realizamos novamente o cálculo do módulo 11. Dividimos o total do somatório por 11 e consideramos o resto da divisão.

Vamos acompanhar: 204 dividido por 11 obtemos 18 como quociente e 6 como resto da divisão.

4) Caso o valor do resto da divisão seja menor que 2, esse valor passa automaticamente a ser zero, caso contrário (como no nosso caso) é necessário subtrair o valor obtido de 11 para se obter o dígito verificador. Logo, 11-6= 5, que é o nosso segundo dígito verificador.

Neste caso chegamos ao final dos cálculos e descobrimos que os dígitos verificadores do nosso CPF hipotético são os números 3 e 5, portanto o CPF ficaria assim: 111.444.777-35.

O gerador de CPF apresentado neste site funciona com base neste algoritmo. A rotina de gerar CPF ‘s válidos, inicialmente sorteia 9 números. Calcula-se o 1o dígito verificador e integra-se o mesmo aos 9 números iniciais. Prossegue-se com o cálculo do segundo dígito verificador como ensinado. Ao final, o criador de CPF emite um número de CPF válido.

Esta explicação pertence ao site Gerador de CPF, onde por ele mesmo você pode gerar CPF para estudo.

Eu vou passar esse algoritmo para a linguagem PHP e posto em seguida aqui no blog. Acredito ser útil para muita gente.
Até a próxima.

Iniciando em PHP – Instalando servidor e rodando scripts

8

Vamos estudar PHP do básico até o avançado, mas hoje, vamos nos limitar somente a instalação do servidor php, o que é suficiente para rodar arquivos PHP.

Bom, primeiramente você precisa baixar o servidor. Na verdade é um software que simula um servidor em sua máquina, possibilitando que a mesma rode PHP.

Download: http://sourceforge.net/project/showfiles.php?group_id=14045

Em Current version, tem duas opções para baixar, a 2.0 que roda php 5 e a versão 1.8 que roda PHP 4,3 e …

Sugiro que baixe a versão 1.8, pois vamos começar a estudar PHP 4.

Ao terminar o download, instale o software.

A instalação é muito simples, é daquelas que só precisa dar next, next e next.

Terminando a instalação, vamos testar um código PHP.

Vá a Arquivos de programas > EasyPHP1-8.

Dentro da pasta EasyPHP1-8 há uma pasta chamada www. Todos os arquivos php deverão ficar dentro desta pasta, caso contrário, não funciona.

Uma dica é você criar um atalho na área de trabalho que ligue você direto a esta pasta, a www.

Clique na pasta www com o botão direito, depois em Enviar Para e clique em Área de trabalho (Criar atalho). Pronto, agora você já fica fácil o acesso a esta pagina.

Agora vamos fazer um código PHP funcionar.

Abra seu bloco de notas ou qualquer outro editor de código. Um dos melhores são o Dreamweaver e o Zend.

Abrindo seu editor, escreva

<?

echo “Aprendendo PHP”;

?>

 

Salve o arquivo com o nome teste.php . Se tiver usando o bloco de notas, certifique-se de não estar salvando-o como tipo texto, veja na imagem abaixo como você deve salvar:

Salvando arquivo php

Tendo salvo este arquivo na pasta www, já podemos testar o script. ;)

Ative o EasyPHP clicando em seu icone na área de trabalho. O ícone de atalho e não o de instalação.
Onde fica o reloginho do Ruindows, ops, windows ;) veja se o icone do easy php está piscando.

Isso mesmo, piscando, igual essa imagem aqui: PHP Ativo

Abra seu navegador, digite no endereço 127.0.0.1 ou localhost. Eu particularmente prefiro usar o 127.0.0.1, é bem mais pratico.

Feito isso, irá aparecer o arquivo que você criou chamado teste.php, clique nele para executar.

O resultado é:

aprendendo PHP

 

Simples não?

Qualquer dúvida é só comentar no blog.

Go to Top