sexta-feira, 27 de junho de 2008

Estamos com domínio próprio!!

É isso aí pessoal! Agora você pode conferir as novidades do diário através do endereço

www.diariodeumprogramador.com.br

Todos os posts foram migrados para o novo endereço. Clique e confira o novo Diario de um Programador! Atualizem seus favoritos e seus feeds!

Abraços!

quinta-feira, 26 de junho de 2008

Uma virgula faz valer mais mil palavras!

Salve Salve, caros amigos!

Recebi esse texto por email, e achei muito curioso. Vejam o que uma vírgula pode mudar completamente aquilo que queremos expressar!

A vírgula pode ser uma pausa... ou não:
Não, espere.
Não espere.

Pode ser uma alternativa à dúvida... ou à certeza:
Beije, não abrace!
Beije não, abrace!
Beije, não, abrace!

Ela pode sumir com seu dinheiro:
R$ 23,4.
R$ 2,34.

Pode ser autoritária:
Aceito, obrigado.
Aceito obrigado.

Pode criar heróis:
Isso só, ele resolve.
Isso só ele resolve.

E vilões:
Esse, juiz, é corrupto.
Esse juiz é corrupto.

Ela pode ser a solução:
Vamos perder, nada foi resolvido.
Vamos perder nada, foi resolvido.

A vírgula muda uma opinião:
Não queremos saber.
Não, queremos saber.


Uma vírgula muda tudo:
'para que ninguém mude uma vírgula da sua informação'.

E finalizando:
Quer café fresco?
ou
Quer café, fresco?

quarta-feira, 30 de abril de 2008

Economizando nos caracteres

Cada vez mais me convenço de que a programação é uma arte! E como cada artista tem seu próprio estilo, cara programador é capaz de desenvolver seu próprio método de organizar seu código fonte.

É muito comum em alguns sistemas, dependendo do estudo de caso, testar a existência de uma determinada variável antes de exibí-la na tela. E cada programador tem sua forma favorita de fazer isso em PHP. Seja com if em sintaxe clássica:

if(isset($menu)){
    print($menu);
}

Ou uma forma mais resumida, em casos simples:

if(isset($menu)) print($menu);

Outro método muito utilizado utilizado é o if ternário:

echo isset($menu) ? $menu : '';

Hoje pela manhã, recebemos no grupo de discussão sobre o CodeIgniter, uma sugestão do nosso amigo Edinho era basicamente substituir esta sequência de aninhamentos por um código simples, de apenas uma linha:

isset($menu) AND print($menu);

Em teoria, o PHP só executa o segunto teste (após o AND) se o primeiro for verdadeiro. Ou seja, a variável $menu só será exibida se o valor retornado por isset() for true, caso contrário o print() nem será executado.

Um outro exemplo:

$a=1;
true OR $a=2;
echo $a; //imprimirá 1

O resultado de $a será 1, já que a primeira condição é verdadeira. Caso fosse falsa, o código após o operador OR seria executado, alterando assim o valor de $a para 2.

Um terceiro caso:

!empty($valor) OR $valor=3;

Em palavras, a variável $valor não pode ser vazia 'ou' será atribuido 3 a ele.

Esse método de programação é muito utilizado em Ruby, e também incentivado no framework Kohana. Mas o pessoal do Zend Framework pregam um estilo mais tradicional de programação, onde são utilizados <?php echo $var; ?> em vez do simpático <?= $var; ?>.

Talvez esse possa não ser o mais eficaz dos métodos; talvez você prefira utilizar métodos de verificação mais simples de ler; mas em uma coisa temos que concordar: programadores são verdadeiros artistas! ;-)

quinta-feira, 10 de abril de 2008

Ignição: Codificar!


Há algum tempo eu estou me deliciando com as facilidades oferecidas pelos frameworks. Comecei a estudar PHP desde 2004, mas comecei a me aprofundar mais apenas em 2005 com o lançamento do carro-chefe dos meus projetos para web. Desde então eu venho estudando vários métodos, e há pouco mais de um ano conheci as facilidades que o framework oferece. Já passei pelo CakePHP, Zend Framework, e finalmente parei no Code Igniter.

O Code Igniter é uma verdadeira mão na roda para aqueles que não gostam de perder tempo "reinventando a roda". Trata-se de um framework que trabalha com conceitos Model-View-C ontroller (MVC).

Model-view-controller (MVC) é um padrão de arquitetura de software. Isso significa que ele separa o processamento dos dados da aplicação/website do layout. Desta forma, alterações feitas no layout não afetam a manipulação dos dados, e estes poderão ser reorganizados sem alterar o layout.

Em resumo, para se ter uma simples página que mostre os registros guardados numa tabela mySQL, vc precisaria de três arquivos, que trabalhando em conjunto, resultariam na saída para o usuário.

Talvez possa parecer um tanto assustador no inicio, como foi para mim, mas logo esse conceito de programação MVC é digerido e tudo se torna muito claro.

O CodeIgniter é um framework que vale a pena ser estudado. Diferente de outros frameworks, ele é capaz de facilitar a vida do programador, sem forçá-lo a aprender e seguir novas regras de programação (caso muito comum em muitos frameworks existentes).

Para ajudar:

Manual do CodeIgniter (em Português)
Página do CodeIgniter em Português
Página oficial do CodeIgniter (em Inglês)
Assinar a lista de discussão do CodeIgniter (Português)

terça-feira, 18 de março de 2008

Como seria a aparencia de um virus?

Desde que os computadores tornaram-se tão presentes no nosso cotidiano, os virus tem despertado inumeras sensações nos usuários dessa maquinas maravilhosas. Medo, desespero, curiosidade, e há até quem trate essas "criaturas" como seres vivos, e não como meros programas de computador.

Ok, até nada de anormal, mas você ja se pegou tentando imaginar a aparência de um virus? Não, não me refiro aos vírus orgânicos, que estudamos nas aulas de biologia da 7ª série, mas sim a aquele programinha nojento que se infiltra no micro e faz os mais diversos estragos.

Um povo muito criativo resolveu criar como seriam a aparência de alguns virus, baseando-se no seu código. Veja alguns resultados:


Reino Unido, 05/03/2008 - Na imagem, uma espécie de malware (softwares maliciosos) chamada de Storm. Em janeiro de 2007, o vírus criou uma rede de dois milhões de computadores zumbis.



Reino Unido, 05/03/2008 - Alex Dragulesco criou as imagens das ameaças virtuais com base nos cógidos dos vírus. Acima, o vírus Netsky, que faz cópias de si próprio para os e-mails encontrados no computador infectado.



Reino Unido, 05/03/2008 - Segundo uma porta-voz da empresa MessageLabs, as imagens são uma correlação real entre o código dos vírus e sua aparência. Na foto, um tipo de Phishing.



Reino Unido, 05/03/2008 - Imagem do Russian 3, um tipo de spam que usa a insegurança dos usuários para incentivar o acesso com mensagens como "sei que você está ficando gorda", entre outras.



Reino Unido, 05/03/2008 - A imagem representa o vírus Trojan, um programa que entra no computador e libera uma porta de entrada para possíveis invasores. O nome é inspirado na lenda do Cavalo de Tróia.



Reino Unido, 05/03/2008 - Nesta imagem, Dragulesco decodificou uma espécie de spyware, vírus que recolhe informações do computador infectado e as tranfere para outra fonte, geralmente para uso em atividades fraudulentas.