terça-feira, 30 de janeiro de 2007

Zend Studio 5.5 e outras coisas

Estava lendo o blog do Yossi Leon (gerente de produto da Zend Technologies) e encontrei uma demonstração do Zend Studio 5.5 feita por ele mesmo.
O inglês dele não é dos melhores, mas não posso dizer nada, pois o meu ainda não é também!

Esses dias estive trabalhando numa classe simples para gerar xml's, estou colocando comentários nela e espero divulgá-la no phpclasses.org assim que terminar. Quando for publicada eu posto uma mensagem aqui.

Também estou trabalhando com C# desenvolvendo aplicativos para o Windows CE, num coletor de dados da empresa onde trabalho. Tem sido empolgante fazer progressos no desenvolvimento de aplicativos embarcados. Creio que profissionais desse tipo de software terão muito espaço, assim como os desenvolvedores de webaplicativos.

Juventude PIB Bebedouro

No fim de semana passado (dias 26, 27 e 28) fui a Bebedouro para visitar Família e amigos. Claro que não pude deixar de ir à PIB (Primeira Igreja Batista).
O pessoal do FP 378 (nome do ministério Jovem da PIB) iniciou o FP News! Ficou muito divertido e o vídeo está disponibilizado aí abaixo.



Quanto as publicações técnicas, vou ver se faço uma outra postagem ainda hoje.

Abraços e até o próximo post.

segunda-feira, 22 de janeiro de 2007

Constantes pré-definidas do PHP

O PHP fornece algumas constantes que podem ser de suma importancia para o desenvolvedor.
Uma lista de todas as constantes pode ser encontrada no site oficial do PHP

Abaixo uma lista de algumas constantes que considero importantes:

DIRECTORY_SEPARATOR - Dependendo do sistema operacional, as barras de seperação de diretório pode ser para frente (/) ou para trás (\), para não ter erro, utilize essa constante para informar o caminho de um arquivo.

PHP_EOL - Dependendo do sistema operacional, a quebra de linha em um arquivo texto pode ser apenas um caracter de line feed (\n) ou uma combinação dos caracteres de carriage return mais line feed (\r\n). Com essa constante, você pode inserir quebras de linhas sem se preocupar em qual SO está sendo gerado o arquivo.

M_PI - Informa o número do PI (aquele número matemático, lembra?)

Você também pode executar o código abaixo para ver todas as constantes definidas em seu ambiente e quais os valores de cada uma.

<?php
print
'<pre>';
print_r(get_defined_constants());
print
'</pre>';
?>


Parece que não, mas o conhecimento dessas constantes podem fazer uma grande diferença no desenvolvimento de seu webaplicativo.

Até o próximo post.

terça-feira, 16 de janeiro de 2007

Expressões regulares no MySQL

Expressões regulares é algo que de tempo em tempo temos que utilizar para obtermos um resultado adequado.
Alguns dias atrás tive que procurar em uma base de dados MySQL 4.1 clientes que tivessem pelo menos um email cadastrado corretamente. Na tabela, haviam duas colunas: email1 e email2.
Para resolver esse problema, recorri a instrução REGEXP e veja o que saiu:

SELECT nome_do_cliente, email1, email2,
email1 REGEXP "^.*@[a-zA-Z0-9].*$" AS valido1,
email2 REGEXP "^.*@[a-zA-Z0-9].*$" AS valido2
FROM clientes
HAVING (valido1 = 1 OR valido2 = 1)

Se o campo combinar com a expressão regular, então o SGBD retornará 1 (um), se não combinar retornará 0 (zero). Por isso fiz o HAVING para poder utilizar os apelidos das ERs.

Por hoje é só...

Abraços e até o próximo post.

segunda-feira, 15 de janeiro de 2007

Minimizador de códigos javascript

Estou percebendo que postar mensagens todos os dias num blog é algo trabalhoso! Esses dias estive com ilustres visitas aqui em casa e acabei ficando sem tempo de postar.

Hoje, em minhas "navegações perdidas" descobri o JSMIN. É um aplicativo interessante que pega o código javascript e retira um monte de caracteres desnecessários, reduzindo o tamanho do fonte a ser transferido ao cliente.

Vejam um código Javascript antes de ser "minificado":

// is.js

// (c) 2001 Douglas Crockford
// 2001 June 3


// is

// The -is- object is used to identify the browser. Every browser edition
// identifies itself, but there is no standard way of doing it, and some of
// the identification is deceptive. This is because the authors of web
// browsers are liars. For example, Microsoft's IE browsers claim to be
// Mozilla 4. Netscape 6 claims to be version 5.

var is = {
ie: navigator.appName == 'Microsoft Internet Explorer',
java: navigator.javaEnabled(),
ns: navigator.appName == 'Netscape',
ua: navigator.userAgent.toLowerCase(),
version: parseFloat(navigator.appVersion.substr(21)) ||
parseFloat(navigator.appVersion),
win: navigator.platform == 'Win32'
}
is.mac = is.ua.indexOf('mac') >= 0;
if (is.ua.indexOf('opera') >= 0) {
is.ie = is.ns = false;
is.opera = true;
}
if (is.ua.indexOf('gecko') >= 0) {
is.ie = is.ns = false;
is.gecko = true;
}

Tamanho total: 1004 bytes.

Agora vejam depois de passar pelo JSMIN:

var is={ie:navigator.appName=='Microsoft Internet Explorer',java:navigator.javaEnabled(),ns:navigator.appName=='Netscape',ua:navigator.userAgent.toLowerCase(),version:parseFloat(navigator.appVersion.substr(21))||parseFloat(navigator.appVersion),win:navigator.platform=='Win32'}
is.mac=is.ua.indexOf('mac')>=0;if(is.ua.indexOf('opera')>=0){is.ie=is.ns=false;is.opera=true;}
if(is.ua.indexOf('gecko')>=0){is.ie=is.ns=false;is.gecko=true;}
}

Tamanho total: 438 bytes

Uma economia de 566 bytes... é uma diferença considerável para um script de exemplo. Para as nossas bibliotecas javascript com certeza fara uma diferença muito maior!


Abraços e até o próximo post.

quinta-feira, 11 de janeiro de 2007

Shell script com PHP

Para os programadores PHP que trabalham com linux, é possível utilizar a linguagem para fazer os famigerados shel scripts! Muito mais legal do que utilizar o bash. :-)
Para fazer isso, tente o seguinte:

1 - Abra o vi/vim:
$ vi teste.php

2 - Escreva o seguinte código:
#!/usr/bin/php -q
<?php
echo "Hello World!\n";
?>

3 - Saia do vi/vim salvando o código digitado:
[ESC][:][x] (Tecla ESC, depois, tecla dois pontos e por último, tecla x minúsculo)

4 - Coloque permissões de execução no arquivo:
$ chmod 744 teste.php

5 - Execute o fabuloso programa teste.php:
$ ./teste.php

6 - Você deverá ver a saída do programa:
Hello World!

Legal né?! Imagine agora você com toda a API do PHP disponível no shell! Imagine você fazendo acesso a banco de dados com a facilidade do PHP dentro do shell!!! Tudo de bom!
Depois disso, dei adeus ao bom bash!

Até o próximo post.

terça-feira, 9 de janeiro de 2007

Cotação do dólar

Esses dias eu tive a necessidade de colocar num site a cotação do dólar do Estadão. Para resolver esse problema desenvolvi o seguinte script:

if(!$fp=fopen("http://www.estadao.com.br/economia/financas/
cotacoes/resumo.htm"
,"r" )){
    echo
"Erro ao recuperar a cotação do dia" ;
    exit ;
}

$conteudo = '';

while(!
feof($fp))
    
$conteudo .= fgets($fp,1024);
fclose($fp);

$conteudo = substr($conteudo, strpos($conteudo, ""));
$pos = strpos($conteudo, "");
$conteudo = substr($conteudo, 0, strpos($conteudo, "", $pos+1));

echo
$conteudo;
?>

Espero que possa lhe ajudar caso esteja precisando de algo parecido com isso!

Ah! Hoje li a notícia de que o youtube seria bloqueado por causa da Srta. Daniela Cicarelli que teve seus públicos atos devassos publicados em um site de grande público como o youtube... simplesmente lamentável. Mas a decisão já foi revista e nós brasileiros podemos acessar o maior síte de vídeos do mundo.

Até o próximo post.

segunda-feira, 8 de janeiro de 2007

imagecreatefrombmp

Eu já havia enviado essa mensagem por email à várias pessoas, porém, creio que seja uma informação útil para ficar registrada aqui no blog.

Alguém já precisou de uma função imagecreatefrombmp?
Eu estava precisando de uma para pegar umas capas de livros que estavam
nesse formato, porém a API do PHP não fornece tal função. Eu creio que o problema nem é a API do PHP mas sim a biblioteca GD que o PHP empacota.
Na minha cruzada para resolver o problema, encontrei uma que faz o
serviço de modo igual as funções da API do PHP.
Vocês poderão encotrá-la no seguinte endereço:
http://www.jpexs.com/php.html

Com certeza uma ótima ferramenta para se ter em mãos... quem sabe um
dia você não vai precisar!

Até o próximo post.

sábado, 6 de janeiro de 2007

Editores PHP

Faz algum tempo estou procurando uma IDE melhor para desenvolver meus projetos PHP.
Principalmente uma ferramenta que forneça um debugador, pois essa característica realmente acelera a detecção de problemas em relação ao uso de echo's e var_dump's.
Certamente nessa lista ainda falta editores. Se você souber de mais algum que eu não coloquei aqui, por favor, deixe um comentário.
Abaixo segue uma lista dos editores que encontrei:

  1. Edit Plus (windows | pago [possui trial] )
  2. Tulip (linux e windows | free e open source | feito com PHP-GTK)
  3. Crimson Editor (windows | free e open source)
  4. PHPEclipse (JVM - Java Virtual Machine | free e open source)
  5. Notepad++ (windows | free e open source)
  6. PHP Designer (windows | pago)
  7. Programmer's Notepad (windows | free e open source)
  8. Zend Studio (linux, windows, mac os x power | pago)
  9. EmEditor (windows | pago, mas possui versão free)
  10. UltraEdit (windows | pago [possui trial])
  11. Vi (linux | free)
  12. Vim (linux, ms-dos, windows, amiga, os/2, mac os, qnx e etc... | free e open source)
  13. SciTE (linux e windows | free e open source)
  14. Kate (linux | free e open source)
  15. jEdit (JVM | free e open source)
  16. PHP Development Tool (JVM | free e open source, menos o debugger)
  17. PSPad (windows | free)
  18. Dreamweaver (windows, mac | pago)
  19. gPHPEdit (linux | free e open source)
  20. TextWrangler (mac os x | free)
  21. Rapid PHP (windows | pago [possui trial])
  22. skEdit (mac os x | pago [possui trial])
  23. Quanta (linux | free e open source)
  24. BBEditor (mac | pago)
  25. Kwrite (linux | free e open source)
  26. EasyEclipse PHP (linux, mac, windows | empacota vários aplicativos que funcionam no Eclipse)
  27. Bluefish (linux | free e open source)
  28. PHPed (windows | pago [possui trial])
  29. Komodo (linux, solaris, mac os x, windows | pago [possui trial])
  30. BrEdit (windows | free)
  31. PHP Editor (windows | free)
  32. Davor's PHP Constructor (windows | pago)
  33. Alleycode (windows | free)
  34. CodeCharge Studio (windows | pago)
  35. PHP Expert Editor (windows | pago)
  36. Antechinus PHP Editor (windows | pago)
  37. HandyHTML Editor (windows | pago)
  38. DzSoft PHP Editor (windows | pago)
  39. Jext (JVM | free e open source)
  40. FastHTML (windows | free)
  41. EngInSite PHP Editor (windows | pago)
  42. Dynamic HTML Editor (windows | free e pago)
  43. Top PHP Studio (windows | pago)
  44. PHPEdit (windows | pago)
  45. Maguma Open Studio (windows | free e open source)
  46. TSW WebCoder (windows | pago)
  47. TruStudio Foundation (JVM | free e open source)
  48. HTML Kit (windows | free e pago)
  49. HAPEdit (windows | free)
  50. Smultron (mac os x | free e open source)
  51. emacs (linux e windows | free e open source)
  52. xemacs (linux, mac e windows | free e open source)
  53. Delphi for PHP (windows | pago)
Encontrei os 50 primeiros editores, os demais foram sugestões dos comentários. Não testei todos, mas tem muito coisa boa aí no meio.
Essa grande quantidade de editores mostra como a linguagem PHP é amplamente suportada por todo o mundo e nos garante (nós programadores PHP) opção de uma solução que mais se adeque às nossas necessidades.
Outro fato interessante é a quantidade de sistemas operacionais que são suportados pelos editores, com isso, podemos escrever PHP em nosso S.O. preferido.

Até o próximo post.

sexta-feira, 5 de janeiro de 2007

Até que enfim!!!

Até que enfim tenho um blog!
Meu nome é Thiago Melo de Paula, sou Desenvolvedor Web, Cristão (Batista) e Casado (muito bem casado!).
Postarei aqui informações sobre o meu dia-a-dia no trabalho e outras coisas que acontem ao meu redor.

Abraços e até o próximo post.