Dica rápida: a equipe de desenvolvimento do PHP disponibilizou a documentação das funções do PHP via manpage. A instalação é simples: basta instalar o PEAR e instalar o pacote "pman" (é só executar o comando abaixo).
$ pear install doc.php.net/pman
Dica rápida: a equipe de desenvolvimento do PHP disponibilizou a documentação das funções do PHP via manpage. A instalação é simples: basta instalar o PEAR e instalar o pacote "pman" (é só executar o comando abaixo).
$ pear install doc.php.net/pman
Em sistemas integrados de gestão (que atendem ao nível operacional, gerencial e estratégico), é muito comum o cálculo e apresentação de resultados estatísticos de dados gerados pelo nível operacional. Com estes resultados, é possível montar gráficos que facilitam a visualização (postei outro dia como gerar gráficos com o google chart). Neste artigo serão apresentadas algumas funções úteis para o cálculo de algumas informações estatísticas.
Ontem encontrei um software bacana para gerar estatísticas e gráficos sobre o progresso de projetos mantidos em SVN. Para quem não sabe, SVN é um software para controle de versões assim como o CVS. O nome do software é "StatSVN".
Acompanhando o site da especificação da futura CSS 3, achei algo bacana: CSS Gradient. Este recurso permite aplicar um degradê de uma cor para outra no fundo de um elemento. E não são degradês simples (de uma cor para outra) apenas. É possível especificar várias cores, o sentido em que caminhará o degradê, e em que pontos haverá mudança de cor, ou seja, é possível especificar várias cores e obter resultados muito bonitos.
Recentemente o Olhar Digital postou uma notícia com uma pesquisa sobre a média salarial de profissionais de TI nas cidades de São Paulo/SP, Rio de Janeiro/RJ e Campinas/SP. Veja os dados da pesquisa no link:
http://olhardigital.uol.com.br/negocios/digital_news/noticias/saiba_quanto_ganham_os_profissionais_de_ti_em_sp_rj_e_campinas
A web tem mudado muito nos últimos anos. Antigamente, a resolução mais indicada para desenvolvimento de sites era 800x600. Muitos sites optavam por um layout de largura fixa de aproximadamente 780px e deixavam margens desocupadas nas laterais. Com o tempo, a resolução dos computadores pessoais e notebooks foi aumentando, passou para 1024x768. Recentemente, é comum utilizar uma resolução acima de 1024x768.
Por outro lado, um outro mercado tem cada vez mais se conectado à web: o mercado de dispositivos móveis de pequeno porte. Este mercado inclui celulares, smartphones, ipads, tablets, etc. Alguns destes dispositivos tem uma resolução compatível com um notebook (por exemplo, os tablets), mas outros tem resoluções muito pequenas. Neste cenário, o desenvolvimento web precisa de uma outra atenção para atender a um público ainda maior.
Ontem me deparei com um problema que eu nunca tinha visto antes. Instalei o Apache no Fedora 14 (Linux), que vem configurado para utilizar o diretório "/var/www/html" como repositório de sites, mas ele não estava conseguindo acessar arquivos/diretórios em outras partições.
Search Engine Optimization (Otimização para Mecanismos de Busca) ou simplesmente SEO é um termo que tem aparecido cada vez mais vezes no meio tecnológico e dos negócios. Na atual "Era da Informação" e pelo atual nível de globalização, ter visibilidade digital (entre outras) tem grande importância econômica. A visibilidade digital é conquistada de diferentes formas e este artigo apresenta algumas delas, explicando o conceito de SEO.
Como hoje é meu aniversário, segue uma função em PHP para calcular a idade a partir de uma data de nascimento.
Muitas vezes vi programadores perguntando como se faz para um script PHP obter os links de um documento HTML (obter os links de uma página) ou então as imagens (obter as imagens de uma página) ou outro elemento qualquer. Este artigo mostra como percorrer elementos de um documento HTML e capturá-los de acordo com seu nome ou atributo. Para tanto, é utilizada a extensão DOM.
A arquitetura de aplicações Web define que o documento gerado dinamicamente no servidor seja renderizado através de um programa (navegador Web ou "browser") no computador cliente. Normalmente são utilizadas as linguagens HTML e CSS para geração do documento. No entanto, existem vários navegadores disponíveis no mercado, cada um com características próprias e com um motor (engine) de renderização específico, que procura (ou não) seguir as especificações da W3C a respeito das linguagens citadas, e manter um certo "padrão de qualidade" do resultado visual.
Diante das diferenças entre os motores de renderização, pode ser útil detectar qual deles o cliente está usando para, talvez, aplicar alguns ajustes no layout, seja para torná-lo mais atrativo, seja para contornar algum bug no motor de renderização.
Neste artigo, veremos como detectar qual programa está acessando o sistema e, a partir disso, conseguir ajustar o layout de acordo com este valor detectado, ou oferecer o download de um programa para uma plataforma específica, ou simplesmente gerar estatísticas sobre os programas usados por quem acessa o sistema.
Dica rápida: o Google Web Fonts permite utilizar algumas fontes estilizadas com facilidade no seu site. Basta seguir estes passos:
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_".
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.
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.
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.
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.
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.
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.
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:
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.