Google Web Fonts

Dica rápida: o Google Web Fonts permite utilizar algumas fontes estilizadas com facilidade no seu site. Basta seguir estes passos:

  1. procurar uma fonte no site Google Web Fonts,
  2. clicar sobre uma fonte,
  3. clicar sobre "Use this font",
  4. copiar a tag <link> para dentro do <head> da sua página e
  5. aplicar a diretiva font-family sobre os elementos desejados via CSS.

Obtendo dados de tabelas, colunas e relacionamentos no PostgreSQL

Resumo:
Elefante
Introdução

No post anterior, vimos como consultar informações sobre tabelas, colunas e relacionamentos em bancos de dados MySQL. Neste post serão apresentados os recursos correspondentes no banco de dados PostgreSQL.

Diferente do MySQL, o PostgreSQL não possui um banco de dados reservado chamado information_schema. Ao invés disso, possui algumas tabelas reservadas prefixadas por "pg_".

Obtendo dados de tabelas, colunas e relacionamentos no MySQL

Resumo:
Golfinho
Introdução

Ao desenvolver um framework ou um sistema que possui uma "porta dos fundos" para o BD, onde é possível acessar a base de dados diretamente através de uma interface genérica, podemos precisar obter informações sobre as tabelas, colunas, relacionamentos, etc. No MySQL, estas informações ficam em um banco reservado chamado information_schema, que possui diversas VIEWS para consulta de dados.

Este artigo apresenta algumas SQLs úteis para se obter informações a respeito de tabelas, colunas, índices, chaves e relacionamentos entre tabelas, no SGBD MySQL.

Portabilidade de códigos em PHP

Resumo:
portabilidade
Introdução

PHP, no contexto da Web, é uma linguagem portável entre diferentes servidores HTTP, entre diferentes sistemas operacionais, e entre diferentes arquiteturas de hardware. No entanto, alguns recursos específicos nem sempre estão disponíveis de forma tão ampla e podem requerer um servidor HTTP, S.O. ou hardware específico. Neste artigo vamos ver por que isso ocorre e, quando possível, como solucionar ou evitar este problema.

Monitorando o LoadAvg e a Sobrecarga do Sistema com PHP

Resumo:
imagem cômica sobre sobrecarga

Uma características dos sistemas web de grande porte é o volume de usuários que trafegam por ele e realizam operações simultâneas. Nem sempre o servidor está preparado para suportar um volume de processamento tão alto, então, talvez seja útil implementar no seu sistema um mecanismo para medir o nível de processamento. No script abaixo, é mostrado um exemplo de como obter o Load AVG. A partir deste valor, podemos então emitir uma mensagem de alerta aos usuários, para prevenir que a situação se agrave ainda mais.

Lendo Arquivos CSV via SplFileObject do PHP

Resumo:

Navegando pelo manual do PHP, encontrei a classe SplFileObject, que permite a manipulação de arquivos através de uma proposta orientada a objetos. Ela extende a classe SplFileInfo, que serve para obter informações sobre o arquivo.

Além dos métodos básicos, que inclusive tem nomes semelhantes aos das funções de mesmo propósito (paradigma procedural), vi que ela oferece uma forma de leitura de arquivos CSV através de um iterador.

Utilizando Sessões em PHP de forma inteligente

Resumo:
macaco pensando
Introdução

Armazenamento de dados em sessão é um mecanismo oferecido pelo PHP que permite que a aplicação armazene/recupere dados específicos por usuário e compartilhados entre diferentes scripts. Este recurso é comumente utilizado para garantir a autenticação do usuário para que ele só precise informar a sua credencial uma única vez (log-in). Porém, este recurso também é importantíssimo para criar aplicações com nível de dinamicidade alto, e que requer o armazenamento constante de dados temporários, como uma cesta de compras, por exemplo. Neste artigo, veremos como utilizar a sessão de forma inteligente e otimizada, além de aprofundar em seu funcionamento.

Textos em colunas

Resumo:
Introdução

Continuando a sequência de artigos sobre CSS 3, veremos agora um recurso que permite a disposição de um texto em várias colunas, de forma semelhante à disposição de um jornal. Trata-se do módulo Multi-column Layout Module (Módulo para Leiaute de Múltiplas Colunas).

O principal benefício deste recurso é facilitar a leitura de um texto que está em um espaço relativamente largo da página (pode ser um "DIV", ou outro elemento qualquer). Atualmente, usuários da Web utilizam as mais variadas resoluções de tela (exemplos: 800x600, 1024x768, 1280x800, etc.) e, dependendo do estilo de layout do site, pode ocorrer de uma região ficar muito larga. De fato, um layout de largura fixa (ou seja, que não aumenta ou diminui a largura de acordo com a resolução ou tamanho da fonte) permite a elaboração de efeitos bastante atrativos visualmente, embora em muitos casos prejudique a acessibilidade. Por outro lado, um layout elástico (que expande ou reduz de acordo com a resolução da tela ou do tamanho da fonte) pode ser mais acessível, mas também pode propiciar o aparecimento de regiões muito largas com texto. Acompanhar a leitura de uma linha muito grande horizontalmente é um tanto quanto "desagradável" para alguns usuários, por isso separar estes textos em colunas com largura menor pode facilitar bastante a leitura.

Visualização dinâmica

Visualização dinâmica estilo Flipcard

O Blogger lançou outro recurso bacana de visualização dinâmica de feeds. Aparentemente é uma interface rica, que utiliza recursos do HTML 5 para apresentar as postagens do blog de forma diâmica, ou seja, sem precisar recarregar toda a página a cada clique. O resultado é bacana, dê uma olhada:

  • Flipcard - Figurinhas que podem ser organizadas por categoria, por data, ou por autor.
  • Mosaic - As postagens ficam espalhadas em retângulos com dimensões variadas.
  • Sidebar - Uma barra lateral mostra as postagens em ordem cronológica, indicando o número de comentários.
  • Snapshot - Mostra as postagens que tem imagens e as apresenta na forma de foto estilo polaroid.
  • Timeline - Mostra as postagens numa linha do tempo. Não entendi exatamente o critério para agrupar algumas postagens na esquerda (com fotos, título e texto), no centro (com títulos e textos) e na direita (com títulos apenas) (estilo eliminado)

E então, qual estilo você gostou mais? Eu achei interessante o Flipcard, que permite agrupar por diferentes critérios, e do Sidebar, por ser um estilo bem ágil e eficiênte.

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.