Utilizando os botões voltar, avançar e atualizar com AJAX

Resumo:
Botões voltar, avançar e atualizar do navegador
Introdução

Fim da guerra entre AJAX e Botões do Navegador!

Um dos maiores inconvenientes dos sistemas que utilizavam AJAX é que era relativamente complexo utilizar este modelo e manter funcionando os botões voltar, avançar e atualizar do navegador. Porém, o novo Firefox 4 trouxe outro recurso previsto no HTML 5 que resolve este problema com bastante facilidade. Este artigo mostra como voltar o suporte a estes botões do navegador através do método history.pushState.

CSS Transitions

Resumo:
Introdução

CSS Transitions é um módulo da linguagem CSS 3 que permite especificar como serão as transições entre propriedades CSS quando ocorre algum evento. Por exemplo, no CSS 2.1, quando utilizamos a pseudo-classe ":hover" em um link e especificamos uma cor de fonte diferente, a transição da cor antiga para a nova é instantânea ao passar o mouse sobre o link. Com CSS Transitions, é possível especificar como se dará a transição de uma cor para a outra, ou seja, dentro de um tempo especificado, a cor do link irá variar várias vezes, percorrendo o degradê que varia entre a cor inicial e a cor final, causando um efeito [eu diria] mais "agradável" de se ver. E o melhor: é uma animação nativa do navegador, sem precisar de JavaScript ou Flash.

Uma das melhorias da nova engine do Firefox 4 (Gecko 2) é justamente o suporte (ainda incompleto) às transições CSS. Portanto, nada melhor que aprender um novo recurso e já curtir os efeitos onde eles são suportados.

Firefox 4 e Gecko 2

Resumo:
firefox logo
Introdução

Ontem foi lançado o Firefox 4. Você já viu? Para usuários finais deste navegador (que considero bastante satisfatório) a mudança na interface é facilmente perceptivel. Mas não é só isso que o novo Firefox tem a oferecer. Existem vários pontos fortes para programadores Web por debaixo de uma "roupinha" nova. Então vamos conhecer alguns deles.

Manipulando arquivos ZIP pelo PHP

Resumo:
zip
Introdução

Existem situações em sistemas de informação Web onde é necessário o envio de um arquivo muito grande ou então vários arquivos de uma vez para o cliente. Talvez uma imagem, talvez um pacote de relatórios, ou simplesmente conjuntos de arquivos. Este artigo mostra como utilizar a extensão Zip do PHP para criar um pacote ZIP (ou ler um pacote existente) e realizar operações sobre ele, tais como incluir arquivos/diretórios para serem compactados, extrair o conteúdo, enviar o pacote para o cliente, etc.

Gravando arquivos em BD usando PDO do PHP

Resumo:
escrevendo no HD
Introdução

Existem duas formas mais convencionais de se armazenar arquivos em sistemas de informação: gravando em um diretório reservado ou gravando no banco de dados. Gravando em um diretório, existem alguns riscos como o arquivo poder ser acessado por usuários do servidor, ou o arquivo ser acessado por qualquer pessoa da Web se ficar em um diretório visível na Web. Guardando o arquivo em BD, existe o inconveniente do BD poder ficar com um tamanho muito grande, embora ofereça uma segurança adicional. Neste artigo veremos como gravar e recuperar arquivos do BD usando PDO. Para mais detalhes sobre PDO, leia antes o artigo PDO.

var_dump para JavaScript

Resumo:

Acho que a função var_dump (ou similares, como print_r e debug_zval_dump) é uma das mais úteis para se depurar alguns problemas em PHP. Ela avalia uma ou mais variáveis ou valores, mostrando informações sobre elas (tipo, classe, etc). O var_dump, no entanto, não existe nativamente em JavaScript. Para prover esta solução em JavaScript, tentei implementar uma var_dump parecida com a de PHP. Como ela não consegue detectar recursividade infinita (quando um elemento aponta para algum que já foi mostrado), então criei o atributo "max_iteracoes", que pode ser configurado antes de se chamar a função. Com isso, a função previne loops infinitos.

Criando Gráficos com o Google Chart e PHP

Resumo:
Introdução

Atenção: o "Image Chart" mostrado neste artigo foi depreciado pelo Google em 2012. Um artigo mais recente sobre o assunto apresenta o novo recurso para Gerar Gráficos em PHP com o Google Charts.

Google Chart é um serviço do Google que provê a criação de gráficos dinamicamente. O funcionamento é simples: o programador faz uma requisição ao site do Google Chart com os parâmetros desejados (através da própria URL); e o Google devolve uma imagem com os dados plotados na forma de gráfico. Normalmente o programador cria uma tag <img> com o atributo src apontando para uma URL gerada dinamicamente e o resultado já é visto no HTML. Outra alternativa é o programador realizar a requisição, recuperar a imagem em formato binário, salvá-la em algum lugar, depois exibí-la quando quiser.

Profissões de TI

programador

TI é uma área bastante abrangente e está relacionada a diversas profissões. Nem todos conhecem bem todos os possíveis papeis nesta área, portanto indico um blog bastante interessante sobre o assunto: o blog Profissões em TI.

Dentre os principais artigos, está aquele que mostra uma vasta lista de profissões de TI com a respectiva estimativa salarial: Lista de Profissões, extraída da Info Online.

SimpleXML para manipular XML pelo PHP

Resumo:
Introdução

SimpleXML é uma extensão do PHP que permite ler e manipular XML de maneira bastante simples, embora com várias restrições. A principal restrição é que um elemento (tag) só pode conter texto ou outros elementos, nunca texto junto com outros elementos, como ocorre no HTML.

Transformação de Dados

Resumo:

Ao desenvolver uma grande aplicação ou um framework Web, é preciso ter consciência de que precisará trabalhar com camadas e que fará várias conversões entre estas camadas para manter o sistema portável. Vamos observar a imagem abaixo:

Conversão de dados entre camadas do sistema

Apesar de ser possível utilizar a mesma notação para representar números reais no formulário, na aplicação e no BD, pode ser que o usuário esteja em uma localidade que usa uma notação diferente da americana (usada no PHP), e pode ser que o BD não utilize a mesma notação que a aplicação para todos tipos de dados. Portanto, é importante realizar a transformação de dados entre as camadas do sistema.

São Paulo Perl Workshop

II São Paulo Perl Workshop

Dia ocorre a segunda edição do evento "São Paulo Perl Workshop", um evento promovido anualmente pelo grupo São Paulo Perl Mongers. Nesta edição, o evento será aberto com o tema "Desenvolvimento Ágil no Mundo Real" e contará com as presenças internacionais de Larry Wall, Brian D Foy e Brad Fitzpatrick.

Local: Espaço ABM
R. Antonio Comparato, 218 - Campo Belo
São Paulo - SP - Brasil

Telefone para contato: (11) 5534-4333

Informações sobre o evento são disponíveis no site oficial: http://www.perlworkshop.com.br/

Call to undefined function

Resumo:

Sempre surge alguém perguntando o que há de errado com seu PHP quando surge a mensagem "Fatal error: Call to undefined function ... in ... on line ...". Podem ser dois motivos: (i) ou o nome da função foi digitado errado ou (ii) a extensão que define a função não foi carregada.

Web Developer, plugin essencial

Resumo:
inspetor bugiganga
Introdução

Web Developer é um plugin para o navegador Firefox que oferece vários recursos úteis para programadores Web. Este artigo vai apresentar seus principais recursos.

De fato, ao instalar, a impressão que temos é que instalamos um canivete com mil e uma utilidades e nem sabemos por onde começar a utilizar. Aos poucos, descobrimos as de uso mais comum e nos adaptamos para utilizar o que interessa.

Obter Caminhos de Arquivos e Diretórios com PHP

Resumo:

Frequentemente surge uma ferramenta em uma aplicação que precisa recuperar um determinado dado de um caminho completo a um arquivo ou diretório. As vezes precisamos apenas do diretório, ou apenas o nome do arquivo, ou apenas a extensão do arquivo, etc. Frequentemente os programadores utilizam funções como explode, strpos e substr para obter o que querem. De fato, até conseguem, mas nem todos sabem que já existem funções no PHP próprias para isso.

Configurações do PHP

Resumo:
Introdução

PHP é uma linguagem interpretada que permite que sejam configuradas várias diretivas, tanto do core da linguagem quanto das suas extensões. A lista com todas as diretivas da linguagem são mostradas no manual.

Cada diretiva possui um "modo de mudança", que define onde e quando ela pode ser modificada. Por exemplo, algumas só podem ser definidas no arquivo de configurações gerenciado pelo administrador do servidor, por questões de segurança, enquanto outras podem ser alteradas pelo programador na própria aplicação.

Os modos de mudança das diretivas são:

  • PHP_INI_USER - Pode ser modificada com a função ini_set, arquivo .user.ini ou no Registro do Windows.
  • PHP_INI_PERDIR - Pode ser modificada no arquivo php.ini, .htaccess, httpd.conf ou .user.ini.
  • PHP_INI_SYSTEM - Pode ser modificada no arquivo php.ini ou httpd.conf.
  • PHP_INI_ALL - Pode ser modificada em qualquer lugar.

Observação: algumas diretivas pertenciam a um modo de mudança até determinada versão do PHP, mas mudaram para outro modo em outra versão do PHP. Estas informações são apresentadas na lista de diretivas da linguagem.