quarta-feira, 30 de abril de 2008
O editor de Texto VI
"vi" é a sigla para "Visual Interface". A origem desse nome se deve ao seguinte fato: quando o vi foi criado (começo da década de 80), não era comum existirem editores de textos como nos dias de hoje. Naquela época, você digitava um texto mas não podia vê-lo! Isso mesmo! Em 1992, foi criado o vim (Vi IMitator), um clone fiel ao vi, porém com muitas outras funcionaliades, que só foram sendo adicionadas. Algum tempo depois, o vim passou a ser chamado de `Vi IMproved' (vi melhorado).
O vim é um dos editores de textos mais utilizados no mundo Unix. Em alguns sistemas, existe um link simbólico (/bin/vi) apontando para o /usr/vim. Em outros, o /bin/vi é o executável, só que executa diretamente o vim. Muita gente acha que usa vi, mas na verdade utiliza o vim, e eles têm algumas diferenças. O que você verá abaixo fala sobre o vim.
O vim é um editor de textos muito poderoso, ele pode: abrir vários arquivos ao mesmo tempo, possui sistema de autocorreção, auto-identação, seleção visual, macros, seleção vertical de texto, uso de expressões regulares, sintaxe colorida, e muito mais. Ele não é exclusivo do Unix, ou seja, pode ser executado em outras plataformas, como Amiga, MacOS, Sun, Windows entre outras.
Existe também o gvim, que é o vim em modo gráfico, com todas as funcionalidades do vim em pleno funcionamento, o que muda é apenas o modo gráfico mesmo.
domingo, 27 de abril de 2008
8 EXPRESSÕES REGULARES PARA PHP CONSIDERADAS ÚTEIS » Pinceladas da Web - Reflexões sobre XHTML, CSS, PHP e WebStandards
EXPRESSÕES REGULARES PARA PHP CONSIDERADAS ÚTEIS
No site Devolio, você pode encontrar uma lista com 8 expressões regulares muito úteis na hora de se programar em PHP, muitas delas utilizadas para validar e-mail, nomes de usuário, números telefônicos, e-mails entre outras.
Validar nome de usuário
Essa regra é para permitir usuários com nome de 4 a 28 caracteres, alfanuméricos e acentuados:
$string = "userNaME4234432_";
if (preg_match('/^[a-z\d_]{4,28}$/i’, $string)) {
echo “example 1 successful.”;
}
Números telefônicos
Essa regra é para validar números de telefone, e os números devem ser escritos da seguinte maneira (###)###-####:
$string = "(032)555-5555";
if (preg_match('/^(\(?[2-9]{1}[0-9]{2}\)?[0-9]{3,3}[-. ]?)[ ][0-9]{3,3}[-. ]?[0-9]{4,4}$/’, $string)) {
echo “example 2 successful.”;
}
Endereços de e-mail
A regra para validar e-mails é a seguinte:
$string = "first.last@domain.co.uk";
if (preg_match(
'/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/’,
$string)) {
echo “example 3 successful.”;
}
Códigos Postais
Permie utilizar números no seguinte formato: xxxxx e xxxxx-xxxx
$string = "55324-4324";
if (preg_match('/^[0-9]{5,5}([- ]?[0-9]{4,4})?$/’, $string)) {
echo “example 4 successful.”;
}
Endereços IP
Não é necessário efetuar PING ou qualquer coisa do tipo, essa regra é válida para verificar se os IPs foram escritos corretamente, como esse exemplo 255.255.255.0:
$string = "255.255.255.0";
if (preg_match(
'^(?:25[0-5]2[0-4]\d1\d\d[1-9]\d\d)(?:[.](?:25[0-5]2[0-4]\d1\d\d[1-9]\d\d)){3}$’,
$string)) {
echo “example 5 successful.”;
}
Cores Hexadecimais
Você também pode verificar valores hexadecimais em suas 2 formas, a normal e a abreviada: (#333, 333, #333333 o 333333) com o símbolo # opcional
$string = "#666666";
if (preg_match('/^#(?:(?:[a-f\d]{3}){1,2})$/i’, $string)) {
echo “example 6 successful.”;
}
Buscar comentários multi-linha
Uma forma simples de buscar e eliminar comentários multi-linha em PHP, CSS e outras linguagens:
$string = "/* commmmment */";
if (preg_match('/^[(/*)+.+(*/)]$/’, $string)) {
echo “example 7 successful.”;
}
Datas
Um formato de data típico MM/DD/YYYY e sua validação é a seguinte:
$string = "10/15/2007";
if (preg_match('/^\d{1,2}\/\d{1,2}\/\d{4}$/', $string)) {
echo "example 8 successful.";
}
Referências
Carlos Leopoldo - 8 expresiones regulares para PHP muy útiles
Devolio.com - 8 Practical PHP Regular Expressions
WF/PHPDoc - ExpressoLivre - Trac
phpDocumentor usa um sistema completo de templates para mudar os comentários do seu código-fonte em formatos mais legíveis e, portanto, úteis. Este sistema permite a criação de documentações de fácil leitura em 15 estilos prontos em versões HTML, PDF, CHM e XML. Você também pode criar seus próprios templates para obter um visual mais próximo do seu projeto."
wikiPadroesdeCodificacaoPHP - ExpressoLivre - Trac
quarta-feira, 16 de abril de 2008
80+ AJAX-Solutions For Professional Coding | Developer's Toolbox | Smashing Magazine
Web-developers can create amazing web-applications with AJAX. Stikkit, Netvibes, GMail and dozens of further web-projects offer a new level of interactivity we’ve used to give up the idea of. Modern web-applications can be designed with enhanced user interfaces and functionalities, which used to be the privelege of professional desktop-applications. AJAX makes it possible to create more interactive, more responsive and more flexible web-solutions. And it’s the first step towards rich internet applications of the future."
60 More AJAX- and Javascript Solutions For Professional Coding | Developer's Toolbox | Smashing Magazine
IP OK - Qual seu ip? Checagem de reverso, dns reverso, dnsreport
Você poderá testar seu servidor de email ou servidor dedicado, dnsreport, dns reverso, testes de dns, ping, traceroute, cálculo de subrede, entre outras.
A cada dia milhares de usuários certificam suas configurações através de nossas ferramentas. Entre nesse time!"
terça-feira, 15 de abril de 2008
Richard de Oliveira
Para quem possui vídeos já prontos (ou seja, sem que haja a necessidade de editoração) nos formatos '.AVI', '.MOV' e '.MPG' e quer simplesmente converter um desses formatos para o formato '.FLV (o formato dos vídeos disponíveis no Site YouTube)', basta usar um programa chamado 'Riva FLV Encoder (cuidado para não confundir com o Player mencionado na resposta para a dúvida ' 99- Como assistir um vídeo '.FLV' estando fora da Internet ? ').
Assim como o 'Riva FLV Player', ou 'Riva FLV Encoder' é de autoria de 'Rothenberger & Partner'. Portanto, o seu download pode ser feito através do endereço ' http://rivavx.de/index.php?downloads&L=3 '.
OBS: Se tiver interessado em saber os detalhes sobre os formatos de vídeo que o 'Riva FLV Encoder' suporta, vá até o Site do autor, através deste endereço: ' http://www.rivavx.de/index.php?encoderhelp&L=3 '. De acordo com esta página, é possível também converter alguns formatos do Windows Media Video ('.WMV'). Eu testei apenas os 3 mencionados acima e funcionou perfeitamente."
flyback - Google Code
Website: http://flyback-project.org/"
sexta-feira, 11 de abril de 2008
Webnaria Download
"Webnaria é o programa que você precisava para criar seus próprios vídeos tutoriais e apresentações dinâmicas, através de um sistema tão simples, que vai deixar o processo de gravação fácil até para crianças.
Ótimo para quem deseja compartilhar seus conhecimentos sobre como usar programas variados ou mesmo para quem quer demonstrar suas habilidades nos games, ele se constitui numa interface atrativa visualmente e bem organizada, que ajuda significativamente na construção de um ambiente amigável com o usuário.
Para isso, ele apresenta muitas vantagens interessantes, que incluem a utilização do formato final em AVI (com possibilidade de conversão dos vídeos para Flash), variadas taxas de quadros por segundo que podem ser facilmente alternadas, possibilidade de gravações com áudio adicional (narrações), presença de atalhos e até a disponibilidade de ferramentas simples de edição.
E, para ajudar mais ainda nas gravações, o programa fica minimizado na sua barra de sistema, com um ícone logo ao lado do relógio do Windows, e por ali você pode acessar as ações principais necessárias para construir uma apresentação de qualidade.
No final, você vai poder conferir resultados bastante satisfatórios, dos quais a qualidade gráfica"
Flash FLV Video Player Embedded HTML Code Generator
"Flash FLV Video Player Embedded HTML Code Generator"
segunda-feira, 25 de fevereiro de 2008
Os 12 melhores artigos e dicas sobre CSS de 2005 | Ciro Feitosa
Segunda-feira, 12 de Dezembro, 2005 | 9 comentários | Del.icio.us
Esta é uma tradução de um post feito por droppyale no CSS Beauty. Uma coleta de links interessantes focando o CSS, um para cada mês :-)"
- Criando uma barra de navegação a partir de uma lista
- Como limpar Floats sem usar estrutura de marcação
- Uma tabela estilizada com CSS
- Gerando CSS dinamicamente com PHP
- Um Framework CSS
- Evitando classes excessivas
- Projetando CSS
- Criando um ranking de estrelas com CSS
- Introdução ao módulo Multi-Coluna do CSS3
- Na busca de Um Verdadeiro Layout
- Uma marcação HTML limpa, vários layouts
- Substituição de texto dinâmico com PHP + CSS
Onze dicas para trabalhar com CSS
Por Erika Sarti, em 22/01/2007.
Introdução
Não importa se você é um iniciante na área ou já desenvolveu vários sites: a essa altura, você já está cansado de saber que as folhas de estilo externas são obrigatórias em qualquer projeto. Porém algumas dicas simples são sempre úteis para facilitar nosso trabalho. Veja 11 delas a seguir:
1 - div1 é diferente de menu
Evite dar nomes como div1, div2, div3 aos seus elementos. Eles não explicam nada e na hora da manutenção vão tornar seu trabalho mais lento. Da mesma maneira, barra_azul não faz muito sentido: e se você mudar a cor do site? Prefira nomes explicativos, como menu ou barra_links.
2 - Maiúsculas e minúsculas
Nomes de elementos fazem diferença entre letras maiúsculas e minúsculas: BarraLinks é diferente de barralinks. Preste atenção na hora de usar seu elemento no HTML.
3 - id x class
Para elementos que aparecem apenas uma vez no layout (menu, rodapé, cabeçalho, etc) prefira a declaração id, precedida por um sinal de # (como #menu). Para elementos que vão aparecer várias vezes, utilize a declaração class, precedida por um ponto (como .noticia)."
4 - Compartilhe declarações entre vários elementos comuns
Se vários elementos terão características em comum, declare-os todos de uma vez, separados por vírgula:
h1, h2, h3, h4 {
font-family: Arial, Helvetica, Sans-Serif;
} 5 - Lembre-se da hierarquia e organize-se
Por ser uma folha de estilo em cascata, a última declaração é a que prevalece. Preste atenção para não declarar um elemento duas vezes: na hora da manutenção, você pode fazer a alteração na primeira e se perguntar porque ela não funciona, quando na verdade uma segunda declaração está perdida no meio do seu código (por isso organização é fundamental!).
6 - Comente os códigos avançados
Quando você utilizar o CSS para efeitos mais avançados, como um menu em abas, comente seu código para não esquecer o que cada parte dele faz:
#menu ul li a
/* aba normal */
{background: #444; color: #FFF; border: 1px #FFF solid;}
#menu ul li a:hover{
/* aba selecionada*/
{background: #FFF; color: #F00; border: #F00 1px solid;}
7 - Anote suas cores
#09F ou #F09, qual é o rosa e qual é o azul? Mesmo se você conseguir fazer cálculos RGB de cabeça pra saber a tonalidade da cor sem uma tabela de cores hexadecimal, econonize tempo anotando a cor correspondente de cada código no seu arquivo:
/* ************************************ */
/* */
/* Cores usadas no layout */
/* */
/* cinza fundos: #F5F5F5; */
/* cinza bordas: #B6B6B6; */
/* azul link: #336699; */
/* azul lnk ativo: #003366; */
/* */
/* ************************************ */
8 - Declare as unidades
Quando trabalhar com valores diferentes de zero, declare as unidades (px, pt, etc). Cada navegador assume uma unidade padrão quando ela não é especificada, gerando resultados diferentes em cada navegador.
9 - Tenha certeza que o efeito desejado funciona em todos os navegadores
Barras de rolagem coloridas, divs semi-transparentes... Tudo isso é muito bonitinho, mas não funciona em todos os navegadores. Projete seu site de uma maneira atraente sem esses recursos, e, de novo, certifique-se de que seu CSS tem o mesmo efeito no maior número de navegadores possível.
10 - Não confie na sua memória
Com o tempo, é natural que decoremos os principais elementos e seus atributos. Mesmo assim, tenha sempre um guia de consulta rápida ao seu alcance, para tirar dúvidas sobre o funcionamento deles. Um ótimo livro que eu uso e recomendo é o CSS - Cascading Style Sheets - Guia de Consulta Rápida, de Luis Gustavo Amaral.
11 - Inspire-se
Sites como o css Zen Garden e o Maujour são ótimos para ter uma idéia das novas tendências. Visitar esses e outros endereços regularmente é recomendável.
Erika Sarti é web designer e trabalha como free-lancer desde 2000. É a responsável pelo novo layout do InfoWester, basicamente feito com tableless, um de seus assuntos preferidos. Seu portfólio está em www.erikasarti.net.
10 Dicas de CSS, parte 2, por Rodrigo Freitas
Mesmo código de navegação em cada página
A maioria dos websites possuem um item de navegação destacado relativo a cada local do usuário no website para ajudar os usuários a se orientarem por si mesmos. Este é um quesito fundamental de usabilidade básica, mas pode ser um problema: nós precisamos ajustar o código HTML atrás da navegação para cada página. podemos ter o melhor dos dois mundos? É possível ter uma navegação destacada em cada página do site, se ter que fazer pequenos ajustes no código HTML em cada página? Claro que sim!
Primeiro de tudo, você precisa designar uma classe para cada item de navegação:
a href="#" class="home">HomeVocê precisará inserir um id dentro da tag . O id deve ser a representação de onde os usuários estão localizados no site e devem mudar de acordo com o deslocamento do usuário nas diferentes seções. Quando estiver na 'Home', ele lerá , no 'About us', deve-se ler ."
a href="#" class="about">About us
a href="#" class="contact">Contact us
#home .home, #about .about, #about .about, #contact .contact
{
os comandos da navegação destacada entram aqui
}
EAD/CCUEC - Mini Cursos Virtuais
Minu Cursos Virtuaishttp://www.dicas-l.com.br/dicas-l/20020430.php
EAD/CCUEC - Mini Cursos Virtuais: "Todo o material didático do projeto Mini Cursos Virtuais, desenvolvido pela equipe de Educação a Distância do Centro de Computação da Unicamp, é de uso livre, gratuito e irrestrito, licenciado segundo os termos da licença GNU/FDL (Free Documentation License) criada pela Free Software Foundation. Na elaboração do projeto, desenvolveu-se uma metodologia de auto-aprendizagem.
Para acessar qualquer um dos Mini Cursos Virtuais não é necessário fazer inscrição. Para isso, basta clicar no título do material de interesse, relacionado a seguir. O estudo pode ser feito on-line ou através de um arquivo que contém todo o material do curso. O arquivo para download se encontra na página de Apresentação de cada mini curso. Ao final do estudo não há a emissão de certificado.
Os usuários do curso têm à sua disposição ferramentas para solucionar dúvidas, fazer pesquisas externas sobre o assunto abordado e familiarizar-se com o vocabulário apresentado. Funções como acesso a arquivos com informações extras sobre o conteúdo, arquivos de animação, som, vídeo, figuras e também para download são representadas por ícones intuitivos e de fácil memorização por parte do aluno.
Relação dos Mini Cursos oferecidos
Relação dos Mini Cursos oferecidos
[Dicas-L] Camaleão
http://dicaslinux.linuxsecurity.com.br/?modulo=artigos&id=107
Módulo para entrada de senha sem o uso do teclado
Arquivo PHP desenvolvido utilizando HTML, PHP e JavaScript para entrada de senha em um determinado módulo de um site sem a utilização do teclado, o que inibe trojans que capturem a senha digitada. O mesmo processo utilizado em site de bancos. Por Rafael Lossurdo.
Desenvolvi este arquivo com o intuito de aprender e ao mesmo tempo, disponibilizar aos linuxer esta ferramenta que pode em muito, melhorar a segurança num módulo de administração dentro de uma empresa ou mesmo na manutenção de um site por um cliente, inibindo a utilização de trojans para acesso aos dados digitados através do teclado.
A mudança dos números para composição da senha se alteram aleatóriamente a cada reload da página!"
MySQLdiff - checking for differences in database structures
MySQLdiff is a little Tool to detect layout differences between two databases.
Almost every developer knows the that changes of the database on the developement system have to be logged in order to update the live-system later on.
To make this easier the tool MySQLdiff has been developed. Not as a real project but ...
MySQLdiff will create a SQL-ALTER-Script which has to be run onto the live-system to 'patch' it to the state of the developement system."
MySQL Diff
==========
Colaboração: Rogerio Acquadro
Data de Publicação: 24 de fevereiro de 2008
Recentemente, enfrentei uma grande dificuldade. Assumi o desenvolvimento de um
site que já estava no ar e tinha uma programação em PHP e base de dados MySQL.
Fiz uma cópia completa do sistema para meu servidor de testes, para realizar
o desenvolvimento e as mudanças solicitadas pelo cliente. Trabalho vai,
trabalho vem e, lá pelas tantas, a base de dados local já havia sido tão
modificada que seria quase impossível alterá-la no site. Detalhe, nem todas
as modificações haviam sido anotadas.
Buscando na Internet, encontrei uma ferramenta chamada MySQLDiff
(http://www.mysqldiff.org). Trata-se de um software em PHP que faz a
comparação entre duas bases de dados (não necessariamente locais) e, como
resultado da análise, gera um script SQL. A idéia é que, ao aplicar esse
script SQL à base local, esta fique com a estrutura idêntica da base final.
O programa é bem completo e ainda conta com alguns filtros. Por exemplo,
o programador pode optar se o MySQLDiff vai trazer no script apenas as
alterações estruturais (que era o que eu buscava) ou se também analizará o
conteúdo das tabelas, entre outras opções.
Com pequenas modificações no script SQL gerado pelo MySQLDiff consegui
equiparar a estrutura da base de dados do site e continuar meu trabalho.
Rogerio Acquadro trabalha com software livre há 12 anos e é consultor da (PC)² Consultoria (http://www.pc2consultoria.com)
quinta-feira, 21 de fevereiro de 2008
Drobo - Um novo conceito de disco externo ( Drobo Robo Discos Seguranca RAID Storage )
Um dos produtos mais sensacionais que tenho visto nos últimos tempos. Um dos grandes problemas da actualidade é sem dúvida o armazenamento de grande volume de dados com segurança, flexibilidade e facilidade de operação.
terça-feira, 19 de fevereiro de 2008
Web na Veia » Ajax - Resolvendo problemas de codificação
Ajax - Resolvendo problemas de codificação
"
Já li em vários sites sobre como resolver os terríveis problemas de codificação usando Ajax, mas nenhum deles resolveu completamente todos os meus problemas. Sempre tem um navegador que têm as suas configurações particulares, e acaba ocasionando dores de cabeça inevitáveis a muitos desenvolvedores web. Neste (quase) artigo vou dar a você algo melhor que Ácido Acetilsalicílico (AAS)."