geek gyn

Nov16th

Acessar o conteúdo do Jornal OPopular

Então, aqui em Goiânia tem um jornal da TV Anhanguera, afiliada da Rede Globo, que se chama Jornal OPopular. Dizem aos ventos que é o mais lido e blábláblá.

De uns tempos pra cá vem sendo mais lido mesmo. Ainda mais que descobriram que para acessar o seu conteúdo, que é somente pra assinantes, basta desabilitar o Javascript. É mole ou quer mais?

Este mesmo site foi invadido duas vezes num período de 15 dias e ficou distribuindo vírus para computadores que acessavam via Windows.

Não sei quantos sobrinhos existem na Organização Jaime Câmara (OJC - dona da TV Anhanguera e OPopular, entre outros), mas que pouquíssimas vezes tinha visto um nível de tosqueira tão grande.

update

É nisso que dá contratar ‘progamadores sêniors’ com salário de R$1.500,00. Não sei se a OJC é uma empresa que faz isso igual várias outras por aí. Mas que fique como exemplo para empresas que fazem propostas indecentes oferecendo um salário baixo e exigindo nível altíssimo igual ando vendo todos os dias.

E já levantei a discussão de como mudar essa realidade, pelo menos localmente. Iremos discutir isto no GOPHPConference e em outras reuniões e vermos o que pode ser feito para valorizar o profissional PHP e exigir deste uma melhor qualificação para que possa ser valorizado.

Dec3rd

1º FreeComp

O 1º FreeComp será realizado na Área III da Católica (Praça Universitária), no dia 13 de Dezembro.
O evento está sendo organizado pelo CA de Ciência da Computação da Católica e, como não poderia deixar de ser em um evento de software livre de Goiás, conta com o apoio do GOPHP.

Além de nós, outros grupos de usuários, como o GOJAVA o PSL-GO e o Debian-BR-GO, estão apoiando o evento.

Convido todos vocês a participarem do evento. Já que a entrada é gratuita (apenas doação de alimentos) e será num sábado, não tem muita desculpa para não ir em pelo menos um período nesse evento.. ;)

Vamos mostrar para a comunidade de software livre que o pessoal do GOPHP também está interessado em promover tecnologias livres (como o próprio PHP).

Iremos contar com um hacklab do GOPHP para o pessoal poder trocar ideias, conhecimentos, ficar por dentro do mercado e fazer um “networking”. Quem sabe mais tarde não role até um PHPinga?

Nov4th

1º /dev/net

No próximo sábado (08/11/2008) acontecerá aqui em Goiânia o 1º /dev/net. Um evento voltado para desenvolvedores, administradores de rede e de servidores que desejem utilizar e/ou conhecer ferramentas livres para o seu trabalho. É um evento com a quantidade de vagas limitadas e voltado ao público que já conhece ou está querendo conhecer melhor.

A idéia da Associação Software Live de Goiás (ASL-GO) é fazer mais eventos desses anualmente voltado a pessoas que já trabalham na área e continuar com os outros eventos voltado a comunidade em geral, como o FGSL, SGSL e o FLISOL.

Como o grupo de usuários de php de Goiás anda meio parado vou fazer um hacklab sozinho mesmo para que as pessoas tenham onde tirar possíveis dúvidas sobre a linguagem ou somente bater um papo.

Terá palestras sobre php, java, segurança de rede, segurança de sistemas, dicas para administração de servidores, etc.

Se alguém se interessar, maiores informações aqui: http://www.aslgo.org.br/dev/net/.

Oct15th

str_replace

Uma dicazinha básica pra facilitar a vida.

Tenho visto muita gente usando str_replace no php desta maneira:

$linha[0] = str_replace(”‘”, “\’”, $linha[0]);

Sendo que $linha é um array que pode ter 100 posições ou mais. E então faz o comando acima para todas as posições do array. Canceira!
Não há nada de errado com isso. Mas é muito mais fácil fazer somente para o array. Exemplo:

$linha = str_replace(”‘”, “\’”, $linha);

Neste caso ele ira escapar todas as ocorrências da aspas simples em todo o array, não importando quantas posições tem o array.

Oct15th

Primeira apresentação

Bem, como sou uma pessoa tímida nunca fui de fazer apresentações. Tá certo que a última foi há uns 11 anos no antigo segundo grau. Já que faculdades comecei 4 e não concluí! :)

Aí esses dias o Júnio José me liga e fala: cara você vai fazer uma apresentação no dia 18/10 em Iporá no I Encontro de Software Livre do Oeste Goiano. Pensei: beleza, ganho o hotel e transporte e aproveito e vejo meu filho que mora lá.

Rapá, só de pensar na em fazer uma apresentação já me dá tremedeira. Aí passei alguns dias pensando que nada, que é só relaxar e gozar e já to mais tranquilo.

Agora to tentando fazer a apresentação no BrOffice. Que canseira! Sei que entendo bem sobre o assunto (PHP). Mas elaborar o roteiro da apresentação é mais complicado do que parece. Falar sobre o que você sabe na prática é mais difícil do que poderia imaginar.

Mas espero que tudo dê certo.

Como diria o Júnio: vamos que vamos!

Jun11th

PHP 5.2.6 + Postgresql 8.3.1-1

Isso não funfa nem a pau Juvenal!!!!

Brincadeiras a parte se você estiver tendo problemas para fazer o PHP + Postgresql conversarem faça um teste básico. Vá no prompt de comando (windows né! argh). Digite php. Se você receber uma mensagem assim: PHP Warning: PHP Startup: Unable to load dynamic library´C:\PHP\ext\php_pgsql.dll´ - Não foi possível encontrar o módulo especificado. E você tiver certeza que este arquivo está lá, você vai pensar que lascou tudo. Phudeu! Lascou mesmo! kkkk

Quer saber a solução? Desinstala o PHP 5.2.6 e instala a versão  5.2.5. Básico assim. Mas parece que se você copiar umas lib da versão 5.2.6 para a 5.2.5 esse erro para de acontecer. Mas quem garante que outros (e, talvez, piores) erros não vão acontecer.

Apr29th

Manuais

Como tem algumas pessoas me pedindo o manual do php vai aí o download dele e também do mysql. Os dois no formato chm que é bem tranquilo para pesquisar.

PHP Manual

MySQL Manual

Mar10th

subtração no php

Em plena segunda-feira eis que aparece uma subtração para o php fazer:

$var1 = 6178.78;

$var2 = 6178.77;

echo = $var1 - $var2;

deveria imprimir 0.01.

Mas devido a alguma sacanagem de Murphy imprime: 0.0099999999993088.

Como isto faz parte de um sistema de materiais e este resultado seria o resíduo com apenas duas casas sem arredondar fica errado.

Solução (alguém já tinha sofrido na pele resolveu implementar):

$var1 = 6178.78;

$var2 = 6178.77;

echo = bcsub($var1, $var2, 4);

imprime 0.0100. aí pego as duas primeiras casas e tá tudo ok.

Mas é muita sacanagem de Murphy fazer isso comigo justamente na segunda de manhã.

Feb9th

Conexão do php com o oracle

Uma classe para conexão do php com Oracle.
É simples, mas é prática e a que utilizo no dia a dia.
Não irei detalhar pois os comandos são todos encontrados em php.net
<?php
class BancoRollback{
public static $conn;
public $sql;
public $res_sql;
public $stmt;
public $total_linhas;
public $erro = “”;

//método que faz a conexão com o banco
public static function conectaBD(){
self::$conn = OCILogon(”usuario”, “senha”, “//127.0.0.1/orcl”);
if (!self::$conn) {
exit;
}
}

//método para desconectar do banco
public static function desconectaBD(){
oci_close(self::$conn);
}

//este método é utilizado para comitar a transação após dar um insert/update/delete com o outro método abaixo (executa_SQL()).
public static function comitar(){
oci_commit(self::$conn);
}

//este método é utilizado para desfazer a operação após dar um insert/update/delete com o outro método abaixo (executa_SQL()).
public static function rollBack(){
oci_rollback(self::$conn);
}

//método que executa o comando sql repassado.
public function executa_SQL(){
//prepara o sql
$this->stmt = oci_parce(self::$conn, $this->sql);
/*executa o sql. note no OCI_DEFAULT. se no lugar dele estivesse OCI_COMMIT_ON_SUCCESS não seria preciso comitar usando o método comitar, pois todos os comandos executados seriam COMITADOS SE HOUVER SUCESSO. você pode não especificar este segundo parâmetro, mas se você fizer isto por padrão ele assume OCI_COMMIT_ON_SUCCESS.*/
$this->res_sql = oci_execute($this->stmt, OCI_DEFAULT);
//testa se retornou false, ou seja, se falhou
if(!$this->res_sql){
aqui ele retorna o erro, sendo que este pode ser facilmente visto somente chamando a variável erro da classe.
$msg_erro = oci_error($this->stmt);
$this->erro = $msg_erro['message'];
}
//então retorna o resultado da execução do comando
return $this->res_sql;
}
}
?>
Então é isso. Uma classe simples e fácil de ser implementada.
Bom proveito. Se gostou não esqueça de comentar. Se não gostou comente também. Críticas são bem vindas mas talvez eu não responda. ;)

Jan23rd

Certificação Zend PHP5

Bem, estou começando a estudar para a certificação ZEND PHP5. Eu e mais uma turma do GOPHP

Estudaremos em casa. De 15 em 15 dias nos reuniremos para discutirmos o conteúdo proposto e tirar possíveis dúvidas. Vou tentar ir postando a evolução aqui.

Não será nada fácil pois Estou sem tempo. Estou com dois clientes free-lance, trabalho em emprego fixo no horário comercial, as aulas da faculdade começarão em fevereiro e também estou estudando java, ou seja, vou ter que ralar muito nos finais de semana, diminuir as horas de sono, etc.

Mas se quero me tornar um profissional cada vez mais reconhecido (leia-se: ganhar mais) tenho que ralar mesmo.

Estou me baseando nesse guia: Guia Oficial Zend para a Certificação PHP 5