Este blog foi criado para poder compartilhar com meus amigos: idéias, notícias e dicas sobre o universo da programação Web.
sexta-feira, 15 de agosto de 2008
DeuTapaOnde.com.br - PodCast sobre o futebol de Cachoeirinha e Gravataí.
essa semana entrou no ar um projeto particular meu e do meu pai Alceu (Careca), um podcast que fala sobre o futebol de Cachoeirinha e Gravataí, de uma forma divertida.
Gostaria que participassem comentando, opinando, divulgando ou mandando e-mail para deutapaonde@deutapaonde.com.br.
Acessem http://www.deutapaonde.com.br e participem!
Abraço à todos.
quarta-feira, 30 de julho de 2008
Discobolum.com.br - Sistema Profissional para Controle e Prescrição de Treinamento
Esta novidade e para quem faz atividades físicas ou trabalha neste ramo: treinadores, atletas, academias, atletas de fim de semana, professores de educação física, personal trainers.
É o sistema Discobolum de Controle e Prescrição de Treinamento Física, este sistema promete revolucionar o mercado da atividade física, pois é feito por profissionais de educação física, sabendo assim oque é necessário para tal atividade.
O sistema está em fase de ajustes, mas logo será liberado para uso.
Blog do Discobolum
Sistema Discobolum
Abraço.
quinta-feira, 26 de junho de 2008
O Cara da informática
Se prepare, pois alguns mitos vão ser desmentidos aqui! :)
1) O CARA DA INFORMÁTICA dorme. Pode parecer mentira, mas o CARA DA
INFORMÁTICA precisa dormir como qualquer outra pessoa. Esqueça que ele tem
celular e telefone em casa, ligue só para o escritório;
2) O CARA DA INFORMÁTICA come. Parece inacreditável, mas é verdade. O CARA
DA INFORMÁTICA também precisa se alimentar e tem hora para isso;
3) CARA DA INFORMÁTICA pode ter família. Essa é a mais incrível de todas:
Mesmo sendo um CARA DA INFORMÁTICA, a pessoa precisa descansar no final de
semana para poder dar atenção à família, aos amigos e a si próprio, sem
pensar ou falar em informática, impostos, formulários, concertos e
demonstrações, manutenção, vírus e etc.;
4) CARA DA INFORMÁTICA, como qualquer cidadão, precisa de dinheiro. Por essa
você não esperava, né? É surpreendente, mas o CARA DA INFORMÁTICA também
paga impostos, compra comida, precisa de combustível, roupas e sapatos, e
ainda consome Lexotan para conseguir relaxar. Não peça aquilo pelo que não
pode pagar ao CARA DA INFORMÁTICA;
5) Ler, estudar também é trabalho. E trabalho sério. Pode parar de rir. Não
é piada. Quando um CARA DA INFORMÁTICA está concentrado num livro ou
publicação especializada ele está se aprimorando como profissional, logo
trabalhando;
6) De uma vez por todas, vale reforçar: O CARA DA INFORMÁTICA não é vidente,
não joga tarô e nem tem bola de cristal, pois se você achou isto demita-o e
contrate um PARANORMAL OU DETETIVE. Ele precisa planejar, se organizar e
assim ter condições de fazer um bom trabalho, seja de que tamanho for.
Prazos são essenciais e não um luxo. Se você quer um milagre, ore bastante,
faça jejum, e deixe o pobre do CARA DA INFORMÁTICA em paz;
7) Em reuniões de amigos ou festas de família, o CARA DA INFORMÁTICA deixa
de ser o CARA DA INFORMÁTICA e reassume seu posto de amigo ou parente,
exatamente como era antes dele ingressar nesta profissão. Não peça
conselhos, dicas. ele tem direito de se divertir;
8) Não existe apenas um 'levantamentozinho' , uma 'pesquisazinha' , nem um
'resuminho', um 'programinha pra controlar minha loja', um 'probleminha que
a maquina não liga', um 'sisteminha' , uma 'passadinha rápida(ALIAS CONTA-SE
DE ONDE SAIMOS E ATÉ CHEGARMOS)', pois esqueça os 'inha e os inho
(programinha, sisteminha, olhadinha, )' pois OS CARAS DA INFORMATICA não
resolvem este tipo de problema. Levantamentos, pesquisas e resumos são
frutos de análises cuidadosas e requerem atenção, dedicação. Esses tópicos
podem parecer inconcebíveis a uma boa parte da população, mas servem para
tornar a vida do CARA DA INFORMATICA mais suportável;
9) Quanto ao uso do celular: celular é ferramenta de trabalho. Por favor,
ligue, apenas, quando necessário. Fora do horário de expediente, mesmo que
você ainda duvide, o CARA DA INFORMATICA pode estar fazendo algumas coisas
que você nem pensou que ele fazia, como dormir ou namorar, por exemplo;
10) Pedir a mesma coisa várias vezes não faz o CARA DA INFORMATICA trabalhar
mais rápido. Solicite, depois aguarde o prazo dado pelo CARA DA INFORMATICA;
11) Quando o horário de trabalho do período da manhã vai até 12h, não
significa que você pode ligar às 11:58 horas. Se você pretendia cometer essa
gafe, vá e ligue após o horário do almoço (relembre o item 2). O mesmo vale
para a parte da tarde: ligue no dia seguinte;
12) Quando CARA DA INFORMATICA estiver apresentando um projeto, por favor,
não fique bombardeando com milhares de perguntas durante o atendimento. Isso
tira a concentração, além de torrar a paciência.
ATENÇÃO: Evite perguntas que não tenham relação com o projeto, tipo como..
vocês entendem é claro..;
13) O CARA DA INFORMATICA não inventa problemas, não muda versão de WINDOWS,
não tem relação com vírus, NÃO É CULPADO PELO MAL USO DE EQUIPAMENTOS,
INTERNET E AFINS. Não reclame! O CARA DA INFORMATICA com certeza fez o
possível para você pagar menos. Se quer EMENDAR, EMENDE, mas antes demita o
CARA DA INFORMATICA e contrate um QUEBRA GALHO;
14) Os CARAS DA INFORMATICA não são os criadores dos ditados 'o barato sai
caro' e 'quem paga mal paga em dobro'. Mas eles concordam. ;
15) E, finalmente, o CARA DA INFORMATICA também é filho de DEUS e não filho
disso que você pensou.
16) Agora, depois de aprender sobre O CARA DA INFORMATICA, repasse aos seus
amigos,afinal, essas verdades precisam chegar a todos. O CARA DA INFORMATICA
agradece.
17) Não pergunte para O CARA DA INFORMATICA uma sugestão de computador BOM e
BARATO para você comprar. Não existe computador BOM e BARATO. Ou é uma
coisa, ou é outra.
Sensacional!!!
Abraços.
quarta-feira, 11 de junho de 2008
Dicas sobre produtividade
Essas dicas foram dadas pelo Marco Gomes no seu blog, eu estou somente parafraseando algumas coisas, oque eu achei interessante foi o documento que o Marco fez sobre produtividade para uma empresa que ele trabalhava em 2006, é um documento do Google Docs sobre produtividade.
Link para o documento sobre produtividade
Apesar de ser de 2006 (nessa era de um ano estar defasado) é um texto bastante instrutivo e pode ajudar a conseguirmos nos organizar melhor, além das dicas de ferramentas para conseguir isso.
Falando dessas ferramentas, eu particularmente uso a Remember The Milk (Lembre-se do leite) e acho muito genial!
Nessa ferramenta tu consegues organizar as tarefas de uma forma simples, prática, centraliza todos os assuntos nela e também é sincronizada com o Google Calendar.
Valeu.
Abraços.
Getting Real (Caindo na Real)
Um livro bastante conhecido o Getting Real (caindo na real), que aborda o assunto de desenvolvimento de software baseado em Web, onde eles sugerem técnicas novas para a contexto de desenvolvimento de software, fazendo o desenvolvimento de software uma tarefa menos burocrática e a tornando mais real.
Nesse livro eles desmistificam algumas técnicas ultrapassadas e mostram um novo modo de se construir software.
Para ter uma noção, quem escreveu esse livro foi a equipe da 37 signals, tá mais e daí, quem são esses caras?
É só a galera que criou: o framework Ruby on Rails, Basecamp, Campfire, etc.
Os caras são bons!
Eu li o livro à algum tempo atrás e confesso que gostei muito! Tanto é que estou lendo de novo. :p
O livro é originalmente escrito em inglês, mas tem a versão em português que é essa do link abaixo.
Link do Livro on-line Caindo na Real.
Tá aí a dica!
Boa leitura.
Abraços.
quarta-feira, 4 de junho de 2008
Brasil fica em 2º Lugar no WIF (Web Designer Internacional Festival) na frança
Tirou o segundo lugar no WIF (Web Designer Internacional Festival) em Limoges na França, perdendo apenas por um ponto para uma equipe sueca.
Lembrando que para eles se classificarem para a França, teve uma competição aqui no Brasil na Unisinos - RS (se não me falha a memória), onde os cinco melhores trabalhos ganhavam o direito de participarem da etapa internacional na França.
A competição consistia em fazer todo o projeto de um site em 24 horas, desde projeto à execução, sendo que o tema do site era dado no dia.
Na primeira etapa a equipe bope fez o seguinte trabalho sobre o futuro das águas.
Link do trabalho sobre as águas.
Já na segunda etapa, a internacional, a gurizada se puxou num vídeo interativo que na minha modesta opnião, foi melhor que os ganhadores!
O tema da etapa internacional foi como será o e-mail em 2020.
Link sobre o trabalho do e-mail em 2020.
Vídeo da comemoração da galera!
Conheço essa galera e sei que realmente são muito talentosos, parabéns!
Falou.
Abraços.
terça-feira, 3 de junho de 2008
Ferramentas interessantes
Gerador de sitemap
Também estava procurando uma ferramenta para criação de ícones favicon, aqueles pequenos ícones que ficam ao lado do nome do site na barra de endereço do navegador.
Achei essa ferramenta: Gerador de ícone favicon.
Falou.
Abraços.
sábado, 31 de maio de 2008
O melhor site de bodyboarding!
para aqueles que gostam, praticam ou simpatizam com o bodyboarding.
Vou deixar uma dica, para que possam dar uma olhada no site da B2BR - BodyBoarding Brasil e estar por dentro dos acontecimentos nesse esporte.
Conheço a galera da equipe B2BR: o Rodrigo Monti e a Desiree Kinashi, que além de serem muito gente boa, são profissionais de bodyboard do mais alto nível!
O site tem muitas fotos, vídeos e matérias super atualizadas, sobre oque acontece no BodyBoarding Brasileiro e Mundial e tem também a loja virtual deles a B2BR SHOP.
Link do site da Bodyboarding Brasil.
Valeu, tá aí a dica!
Abraços.
Download Day - Firefox 3
Para isso, a Mozilla acaba de lançar a página do Download Day (http://www.spreadfirefox.com/pt-BR/worldrecord) onde os interessados podem participar na tentativa de recorde. Ao fazer a inscrição, o participante receberá um lembrete do momento certo de fazer o download.
Além disso, caso o recorde venha a ser confirmado, cada participante passa a ter direito a um certificado pessoal de participação no recorde.
Link do site.
Eu tô dentro!
Falou!
Abraços.
sexta-feira, 30 de maio de 2008
Boo-box - Plugin Brazuca para enriquecer o conteúdo do seu site
O objetivo do boo-box é fazer que algumas palavras do seu site sejam vinculadas com produtos dos seus parceiros e se alguém comprar esses produtos vindo dos links do seu site gere uma renda para você.
Tá mais como assim? Não entendi!
Segue o link para ver uma explicação detalhada.
Como o pessoal da boo-box fala conteúdo relevante e marketing inteligente. :)
Link do site da boo-box
Eu uso!
Falou.
Abraços.
quarta-feira, 28 de maio de 2008
GreyBox - no evento onClick do link
Vamos lá:
Método GB_show
Assinatura do método: GB_show(título, endereço da página que vai ser aberta no GreyBox, /*opcional*/ altura, largura, função a ser chamada).
Esse método abre o uma janela GreyBox no topo da página.
Ex:
<html>
<head>
<title>Usando GreyBox</title>
<!-- greybox -->
<script type="text/javascript">
//referente a instalação do greybox
var GB_ROOT_DIR = "greybox/greybox/";
</script>
<script type="text/javascript" src="greybox/greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/greybox/gb_scripts.js"></script>
<link href="greybox/greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- / greybox -->
</head>
<body>
<div>
<a href="http://google.com/" onclick="return GB_show('Google', this.href)">Visitar o Google</a><br />
</div>
</body>
</html>
Método GB_showCenter
Assinatura do método: GB_showCenter(título, endereço da página a ser aberta pelo GreyBox, /* opcional*/ altura, largura, função a ser chamada).
Esse método abre uma janela GreyBox no centro da página.
Ex:
<html>
<head>
<title>Usando GreyBox</title>
<!-- greybox -->
<script type="text/javascript">
//referente a instalação do greybox
var GB_ROOT_DIR = "greybox/greybox/";
</script>
<script type="text/javascript" src="greybox/greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/greybox/gb_scripts.js"></script>
<link href="greybox/greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- / greybox -->
</head>
<body>
<div>
<a href="http://google.com/" onclick="return GB_showCenter('Google', this.href)">Visitar o Google com Página Centralizada</a>
</div>
</body>
</html>
Método GB_showFullScreen:
Assinatura do método: GB_showFullScreen(título, endereço da página a ser aberta, função a ser chamada).
Esse método abre uma janela GreyBox em fullscreen.
Ex:
<html>
<head>
<title>Usando GreyBox</title>
<!-- greybox -->
<script type="text/javascript">
//referente a instalação do greybox
var GB_ROOT_DIR = "greybox/greybox/";
</script>
<script type="text/javascript" src="greybox/greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/greybox/gb_scripts.js"></script>
<link href="greybox/greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- / greybox -->
</head>
<body>
<div>
<a href="http://google.com/" onclick="return GB_showFullScreen('Google', this.href)">Visitar o Google em FullScreen</a>
</div>
</body>
</html>
Método GB_showImage
Assinatura do método: GB_showImage(título, endereço da imagem a ser aberta no GreyBox, função a ser chamada).
Esse método abre uma janela GreyBox com a imagem.
Ex:
<html>
<head>
<title>Usando GreyBox</title>
<!-- greybox -->
<script type="text/javascript">
//referente a instalação do greybox
var GB_ROOT_DIR = "greybox/greybox/";
</script>
<script type="text/javascript" src="greybox/greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/greybox/gb_scripts.js"></script>
<link href="greybox/greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- / greybox -->
</head>
<body>
<div>
<a href="http://static.flickr.com/119/294309231_a3d2a339b9.jpg"
onclick="return GB_showImage('Flower', this.href)">Abrindo a imagem de uma flor</a>
</div>
</body>
</html>
GB_showPage
Assinatura do método: GB_showPage(título, endereço da página a ser aberta no GreyBox, função a ser chamada).
Esse método abre uma janela GreyBox com a página em FullScreen mas com um layout do GreyBox diferente.
Ex:
<html>
<head>
<title>Usando GreyBox</title>
<!-- greybox -->
<script type="text/javascript">
//referente a instalação do greybox
var GB_ROOT_DIR = "greybox/greybox/";
</script>
<script type="text/javascript" src="greybox/greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/greybox/gb_scripts.js"></script>
<link href="greybox/greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- / greybox -->
</head>
<body>
<div>
<a href="http://google.com" onclick="return GB_showPage('Google', this.href)">Abre o Google em FullScreen mais com um layout do GreyBox diferente</a>
</div>
</body>
</html>
GB_showFullScreenSet
Assinatura do método: GB_showFullScreenSet(array de sites a serem abertos, seta qual site vai ser aberto ao iniciar o GreyBox, função a ser chamada).
Esse método abre uma janela GreyBox com a página em FullScreen com um layout do GreyBox diferente e paginação para poder abrir mais de um site.
Ex:
<html>
<head>
<title>Usando GreyBox</title>
<!-- greybox -->
<script type="text/javascript">
//referente a instalação do greybox
var GB_ROOT_DIR = "greybox/greybox/";
</script>
<script type="text/javascript" src="greybox/greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/greybox/gb_scripts.js"></script>
<link href="greybox/greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- / greybox -->
</head>
<body>
<div>
<script>
var page_set = [{'caption': 'Google', 'url': 'http://google.com/'},
{'caption': 'Yahoo', 'url': 'http://yahoo.com/'}];
</script>
<a href="#" onclick="return GB_showFullScreenSet(page_set, 1)">Abre o GreyBox com paginação para sites, veja que o google vai ser aberto primeiro por ser o primeiro elemento do array e no método estar setado a 1 posição para abrir ao ser executado o GreyBox</a>
</div>
</body>
</html>
GB_showImageSet
Assinatura do método: GB_showImageSet(array de imagens a serem abertas, seta qual imagem vai iniciar o GreyBox, função a ser chamada).
Esse método abre uma janela GreyBox com um layout do GreyBox diferente e paginação para poder abrir mais de uma imagem.
Ex:
<html>
<head>
<title>Usando GreyBox</title>
<!-- greybox -->
<script type="text/javascript">
//referente a instalação do greybox
var GB_ROOT_DIR = "greybox/greybox/";
</script>
<script type="text/javascript" src="greybox/greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/greybox/gb_scripts.js"></script>
<link href="greybox/greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- / greybox -->
</head>
<body>
<div>
<script>
var image_set = [{'caption': 'Flower', 'url': 'http://static.flickr.com/119/294309231_a3d2a339b9.jpg'},
{'caption': 'Nice waterfall', 'url': 'http://www.widerange.org/images/large/plitvicka.jpg'}];
</script>
<a href="#" onclick="return GB_showImageSet(image_set, 1)">Abre imagens com paginação</a>
</div>
</body>
</html>
E isso aí, para quem quizer ver estes e outros exemplos de como utilizar o GreyBox na prática ou as assinaturas dos métodos segue o link:
Exemplos de GreyBox na prática.
Falou!
Abraços.
GreyBox - Como usar?
Mas para que serve esse GreyBox? Alguém pode estar se perguntando.
Seguinte, o GreyBox é usado para se abrir uma janela centralizada ou não dentro da sua página (evitando abrir um conteúdo em popup) e dando um fade cinza na página principal (que fica atrás da janela do GreyBox).
O GreyBox faz a mesma coisa que scripts tais como: modal, lightbox
, lyteBox, etc.
Chega de conversa e vamos ao código, né. :p
Primeiramente, você tem que baixar a biblioteca GreyBox do site orango que detém os direitos desta biblioteca.
Em seguida, temos que setar o local onde vai estar a biblioteca assim:
<script type="text/javascript">
//referente a instalação do greybox
var GB_ROOT_DIR = "greybox/greybox/";
</script>
Aqui dissemos que a nossa biblioteca GreyBox vai estar na pasta greybox dentro da sub-pasta greybox.
A variável GB_ROOT_DIR definida como pública no JavaScript pela palavra var é de extrema importância no GreyBox porque é usada dentro da biblioteca para achar as imagens de loading ao começar a carregar a página dentro do GreyBox.
Portanto devemos colocar essa parte de nosso código sempre antes de chamarmos nosso link para a biblioteca GreyBox.
Em seguida colocamos os links da biblioteca:
<script type="text/javascript" src="greybox/greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/greybox/gb_scripts.js"></script>
<link href="greybox/greybox/gb_styles.css" rel="stylesheet" type="text/css" />
Agora vamos ao código completo:
<html>
<head>
<title>Usando GreyBox</title>
<!-- greybox -->
<script type="text/javascript">
//referente a instalação do greybox
var GB_ROOT_DIR = "greybox/greybox/";
</script>
<script type="text/javascript" src="greybox/greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/greybox/gb_scripts.js"></script>
<link href="greybox/greybox/gb_styles.css" rel="stylesheet" type="text/css" />
<!-- / greybox -->
</head>
<body>
<div>
<a href="http://google.com/" rel="gb_page_center[640, 480]">Abrir o Google em 640px por 480px</a>
<br />
<a href="http://google.com/" rel="gb_page_fs[]">Abrir o Google em Fulscreen</a>
<br />
<script>
var image_set = [{'caption': 'Flower', 'url': 'http://static.flickr.com/119/294309231_a3d2a339b9.jpg'},
{'caption': 'Nice waterfall', 'url': 'http://www.widerange.org/images/large/plitvicka.jpg'}];
</script>
<a href="#" onclick="return GB_showImageSet(image_set, 1)">Show first picture in image_set</a>
</div>
</body>
</html>
Vamos as explicações do código:
Bem, no primeiro link em Abrir o Google em 640px por 480, devemos nos deter a atenção na tag rel do link, nesta tag temos gb_page_center[640, 480], onde o gb_page_center é para abrir uma janela centralizada, 640 ou o primeiro parâmetro é largura do GreyBox e 480 ou o segundo parâmetro é a altura do GreyBox.
Ao ser carregar a página o GreyBox varre todos os links que tem essa tag e faz esses links chamarem um GreyBox com a página setada no href em questão.
Então ele encontra todos os links que contém gb_page_center e pega o href como página a ser aberta pelo GreyBox.
O segundo link Abrir o Google em Fulscreen
, faz quase a mesma coisa que o primeiro link diferenciando apenas na questão que abre em fullscreen a página do GreyBox e a tag rel tem o seguinte valor
gb_page_fs[].
Surgem casos que o GreyBox, demora um pouco para carregar esses links por javascript em decorrência disso, ao invés de abrir a janela GreyBox ao clicar no link abre a página mesmo, neste caso eu dou uma dica para se usar as funções do GreyBox no onclick do link em questão.
No terceiro exemplo (Show first picture in image_set), estou dando uma prévia sobre isso.
No meu próximo post eu falo sobre isso...
Falou.
Abraços.
HTC Touch e Windows Mobile 6 Professional, combinação genial!
Porque eu estou falando isso? Bem, para resumir comprei o HTC Touch que vem como sistema operacional o Windows Mobile 6 Professional e realmente me apaixonei com sua interface, usabilidade, funcionalidades, enfim... até agora não vi nada de ruim nesse Smartphone.
Como desenvolvo em J2ME e o sistema operacional é Windows, fui ver como seria para instalar aplicativos Java nele e logo percebi que ele tem uma opção para se instalar aplicativos Java que me parece muito fácil de se operar (na teoria, não testei ainda), até agora estou gostando muito da combinação entre HTC Touch e Windows Mobile!
Em breve estarei postando alguns códigos em J2ME para desenvolver software para esse dispositivo...
Falou.
Abraços
quarta-feira, 21 de maio de 2008
URL amigável
Além de tornar mais “amigável” ao usuário isso facilita muito nos motores de busca, e normalmente um link desses atrai sempre mais visitantes.
Ao que interessa então:
mod_rewrite, como diz o nome re-write, reescrever, este modulo convete uma url em qualquer formato em um formato pré programado por voce.
Etapa 1 - Configuração
Verifique dentro do seu httpd.conf por:
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c
Se os mesmos estiverem comentados (# na frente), descomente ambos (retire o #) e reinicie o apache.
Etapa 2 - Arquivo .htaccess
Nesta etapa deve-se criar o arquivo .htaccess (ex: touch .htaccess) se o mesmo já existir, apenas verifique as permissões dele de leitura e escrita, lembrando que para criar o arquivo .htaccess complexos você deve ter o conhecimento sobre expressões regulares.
Arquivo .htaccess:
Options +FollowSymLinks
##liga motor de reescrita de URL
RewriteEngine on
##Regra para cair na index.php
RewriteRule index.html$ http://localhost/testes/index.php
RewriteRule index.htm$ http://localhost/testes/index.php
##Regra para cair na página categoria.php
RewriteRule categoria/(.*)$ http://localhost/testes/
categoria.php?categoria=$1
##Regra para cair na página busca.php
RewriteRule busca/(.*)/(.*)$ http://localhost/testes/
busca.php?data=$1&categoria=$2
Vamos ver oque significa esse código:
Options +FollowSymLinks: A opção FollowSymLinks ativada determina que o Apache deverá solicitar o arquivo real do link simbólico que será criado, sem isso resultaria em um erro 505 (em alguns casos sem essa opção funciona mesmo assim pois não foi necessário a criação de links simbolicos).
RewriteEngine on: Ativa a engine (motor) do rewrite.
RewriteRule Site-(.*)-(.*)-(.*)\.htm$ : Esta parte é o fundamento do Rewrite, é a criação da regra que será utilizada na montagem da nova URL, nessa sentença podemos traduzir que a nova URL será montada da seguinte forma: Site-1-2-3.htm sendo 1,2,3 parametros de $ definido ao final, mais quem são esses parametros ? espera p****.
busca/(.*)/(.*)$ http://localhost/testes/busca.php?data=$1&categoria=$2 : Está parte trabalha em cima da nossa URL original, repare que a URL está sendo decomposta em parametros $1, $2, $3, isso mesmo, os mesmos que serão substituidos na abordagem anterior, simples demais, ah você quer colocar o dia como sendo paramêtro ? busca.php?data=$1&categoria=$2, resolvido basta agora alterar na URL de saída.
Obs: O arquivo deverá ser criado ou deverá existir no mesmo local que foi definido no apache o DocumentRoot (diretório principal) e o nome do arquivo é .htaccess (tem que ser assim o nome do arquivo).
Etapa 3 - Criando sua Url Amigável
Quando se chama a url index.html ou index.htm o arquivo .htaccess direciona para a página index.php, conforme nossa primeira regra no .htacces:
##Regra para cair na index.php
RewriteRule index.html$ http://localhost/testes/index.php
RewriteRule index.htm$ http://localhost/testes/index.php
Arquivo index.php:
<html>
<head>
<title>Teste de reescrita de URL</title>
</head>
<body>
<div>
<a href="categoria/1">Categoria 1</a>
<br />
<a href="categoria/2">Categoria2</a>
<br />
<a href="busca/2008-01-12/1">Busca por data</a>
</div>
</body>
</html>
Se for chamada a página busca/"data"/"categoria" o .htaccess envia para a página busca.php passando também as variáveis por $_GET.
Arquivo busca.php:
<html>
<head>
<title>Busca - Verifica as variáveis passadas e se está funcionando a reescrita de URL</title>
</head>
<body>
<div>
<?php echo 'Categoria = '.$_GET['categoria'].
'<br />'.'Data = '.$_GET['data'].'
';?>
<a href="http://localhost/testes/index.html">Voltar</a>
</div>
</body>
</html>
Se for chamada a página categoria/"categoria" o .htaccess envia para a página categoria.php passando também a variável por $_GET.
Arquivo categoria.php:
<html>
<head>
<title>Categoria - Verifica as variáveis passadas e
se está funcionando a reescrita de URL</title>
</head>
<body>
<div>
<?php echo 'Categoria = '.$_GET['categoria'].'
';?>
<a href="http://localhost/testes/index.html">Voltar</a>
</div>
</body>
</html>
Gerador de .htaccess
Manual do mod_rewrite
Manual de expressão regular
Falou.
Abraços.
JEDI - Iniciativa para desenvolvimento e educação JAVA a distância.
Bem, visto que o mercado de java está prescisando de profissionais qualificados e java é a linguaguem mais casca grossa para se aprender, a Universidade das Filipinas, através do Java Research & Development Center, criou a iniciativa JEDI (Java Education and Development Initiative), que tem como principais objetivos o de melhorar a experiência do ensino e da aprendizagem; Aumentar a qualidade dos graduados em Ciência da Computação e Tecnologia da Informação (disponibilizando os materiais de seus cursos gratuitamente para quem se interessar); Aumentar o banco de especialistas em Java e, Fornecer serviços e produtos a altura das necessidades do mercado mundial.
Só para dar noção do tamanho da jogada, entre os parceiros que apoiam esta iniciativa mundial estão: Sun Microsystems, Universidade das Filipinas, Politec, DFJUG, Borland e CNBB/Instituto Gaudium.
Segue o link sobre a descrição do JEDI: Descritivo do JEDI
Site do DFJUG: DFJUG
Cursos JEDI on-line: Curso JEDI on-line
Tá aí a dica!
Eu estou fazendo esses cursos e são realmente muito bons!
Hoje só não aprende java quem não quer né. :)
Falou.
Abraços.
segunda-feira, 19 de maio de 2008
Scripts em JavaScript
Segue abaixo alguns links sobre JavaScript que fuçando pela internet achei e resolvi compartilhar com todos os meus amigos.
Prototype window formulário de login
| A extensão Window do framework Prototype possui diversos recursos de interação entre o usuário e o site. Entre eles está o formulário de login. Veja o exemplo 7. |
Plugin de formulário com máscara para jQuery
| Permite que o usuário preencha de forma mais fácil formulários fazendo com que os mesmos aceitem apenas entradas em um certo formato (datas, telefones, etc). Testado no Internet Explorer 6/7, Firefox 1.5/2, Safari, e Opera. |
Script de Valição de Formulário
| Mostra alguns validadores de formulário (tanto no lado do cliente como no lado do servidor). |
| Uma extensão para Ext.tree.TreeNodeUI que permite que os nodos sejam ‘checados’. |
| Script de sugestão automática. |
Caixas de Texto Redimensionáveis
| Tutorial que ensina a criar caixas de texto redimensionáveis. |
Formulário de login Ajax (PHP)
| Outro exemplo de formulário de login usando AJAX. |
| KFM é um gerenciador / navegador de arquivos ajax que pode ser usando em seus códigos ou como um plugin para editores de texto, como o FCKeditor. |
Layouts corretos em formulários
| Demonstração de extensão do EXT JS mostrando como ela corrige o tamanho dos elementos quando o elemento superior é redimensionado. |
| Um script de autocompletador super personalizável |
| Outro script que sugere resultados |
Elementos de Formulário Personalizados
| Cansado dos mesmos formulários de sempre dos navegadores? Esse script mostra alguns formulários personalizados. |
| O ÁjaxContact é um sistema de contato simples e eficiente em javascript e PHP para você incluir em seus códigos. Funciona com javascript desabilitado. |
| Editor personalizável excelente para conteúdos simples. Funcionando substituindo automaticamente os textareas. |
ASP.net validação de formulário
| Validador client-side que usa AJAX Control Toolkit adicionando chamadas externas e caixas de diálogo. |
| Mantenha seus formulários longe dos spams. |
Estilizando formulários de arquivo com CSS e dom
| Alterar formulários de arquivo não é uma tarefa fácil. Use esse script para facilitar sua vida. |
| O pin plugin usa cookies para guardar os valores de alguns campos de formulário que você escolher. Isso evita que seu usuário tenha que preencher muitas vezes as mesmas coisas. |
| Outro plugin de verificação para Mootools. Personalizável. |
Envio de Arquivo Assíncrono - YUI
| Esse script usas o Gerenciador de Conexões YUI para possibilitar o envio assíncrono de arquivos ao servidor. |
Aumente um textarea – Um plugin Mootools
| Simplesmente crie seu formulário e esse script irá adicionar a habilidade de redimensionar qualquer textarea. |
| Uma extensão Ext.form.BasicForm que permite o envio fácil de (múltiplos) arquivos a um servidor. |
| Caixas de checagem com skins. Mude de vez a cara de seus sistemas. |
| Use e tenha a melhor flexibilidade em alterar a aparência de seus formulários. |
| Um autocompletador usando o framework Easy Ajax. O código está disponível para download. |
| Mais um validador de formulário Mootools com suporte a múltiplos formulários independentes. |
| Selecione caixas de checagem usando SHIFT para seleção múltipla. |
Elemento de Formulário Barra de Deslizamento em Ajax
| Altere esta barra e automaticamente este script atualiza os valores no banco de dados. |
Plugin de campo marca d’água - jQuery
| Cria um campo marca d’água ao lado dos campos de formulário que mostra informações a respeito daqueles campos. |
jQuery: Desabilite a seleção de texto
| Um plugin básico para não permitir que o texto dentro daquela tag seja selecionado. |
| Salva dados de uma sessão para que não seja perdida quando encerrada. |
Plugin para caixa de seleção - jQuery
| Adicione novas opções ou altere as existentes de um select box. |
jQuery – plugin de foco em campo
| Quando um campo ganha foco, desenha uma linha em volta dele. |
| Permite que apenas caracteres válidos (por exemplo, números) sejam escritos em um campo. |
YAV: plugin para jQuery para validação client side
| Biblioteca padrão XHTML, acessível e útil, para validação usando jQuery. |
| Usa um iframe oculto para enviar o arquivo e Ajax para verificar o progresso, como o GMail. |
Redimensionamento de textarea usando prototype
| Permite que textareas sejam redimensionadas usando a biblioteca prototype |
| Deixe seus elementos de formulários mais bonitos, com cantos arredondados usando a levíssima biblioteca JQuery. |
| Um controle UI que permite a formatação de texto usando YUI. |
Validador JS – Validador de Formulário
| Um validador de formulário fácil de configurar que usa prototype e scriptaculous. |
| Formulários chamativos, estruturados, personalizáveis, acessíveis e úteis. |
| Validação de formulários usando o framework Spry da Adobe |
| Avisa ao usuário o que o seu formulário espera dele, especialmente enquanto preenche o formulário. |
jQuery : Plugin de formulários
| Permite que facilmente atualize seu formulário HTML para usar Ajax. |
Widget Ext para Upload de Arquivo
| Widget para envio rápido e fácil de arquivos ao servidor. |
YUI : Controles de Formulário DHTML
| Controles DHTML construídos com a Biblioteca de Interface com o Usuário do Yahoo |
| Útil quando você quer implantar um auto completador em um framework existente. |
| Quando você seleciona um item no primeiro dropdown, o segundo é populado automaticamente. |
| Mais uma validação de formulário. |
Formulário de Contato Ajax com validação
| Um formulário de contato com validação dos campos obrigatórios. |
| Uma alternativa aos campos do tipo select múltiplo. |
| Cria uma barra de ferramentas nas textareas onde os usuários estão escrevendo. |
| Cria sugestões nos campos de formulário. Customizável. |
| Uma extensão moo tool que providencia um caminho para enviar formulários HTML via Ajax |
| Uma barra de navegação simples usando Moo Tools. |
Verificação de Nome de Usuário Ajax - Usando JQuery!
| Verifica se o nome de usuário está disponível no evento onblur do campo usando Ajax e jQuery. |
Web SpinButton / Controle SpinBox
| Essa página mostra um controle Web Spin-Button usando somente uma caixa de texto. |
| Método simples de como alterar o estilo das checkboxes usando JQuery. |
| Construa seus formulários Ajax com este script PHP & MySQL. Usa JQuery. |
| Autocompletador com destaque na seleção. |
Combo Box Redimensionável - ExtJS
| Redimensione seus Combo Box. Pode usar qualquer tipo de Ext.data.Store como origem dos dados. |
| Como fazer um medidor de força de senha como o do Google em uma demonstração simples. |
Campos Editáveis, como os do Flickr (in-place editor)
| Mova o mouse sobre um campo para destacar as palavras e clique para editá-las. |
Validação de Formulário com JQuery
| Plugin de validação de formulário para JQuery. Simples e fácil de integrar. |
Autopopulando Select Boxes (caixas de seleção)
| Selecione uma categoria em um select box para automaticamente popular a segunda. |
| O componente Ajax de auto completar mais simples, elegante e bonito |
| Com CSS, Ajax e Javascript. Busca enquanto você escreve. |
wForms - A JS extension to web forms
| Uma biblioteca Javascript que adiciona alguns componentes necessários a formulários web tradicionais. |
| Automaticamente preenche outros campos usando Ajax quando uma entrada válida é feita. |
Aumente o Texto como no del.icio.us
| Crie formulários com grandes textos como é usado no del.icio.us e Wordpress. |
| Crie máscaras em seus campos usando esta ferramenta open source. |
| Ferramenta de validação baseada em javascript para formulários HTML |
| Controle captcha simples e limpo com ajax. Inclui demonstração e código. |
| Crie máscaras em seus formulários. Não inclui validação. |
Validação Fácil de Formulários com Prototype
| O que você precisa é apenas criar o formulário. Sem trabalho extra. |
Verificação de Nome de Usuário Ajax
| Faz uma verificação semelhante a do Gmail para verificar se o nome de usuário é único. |
| Uma alternativa para o select multiple. Muito mais agradável para o usuário. |
Form layout Accessible and Stylish
| Código semântico que faz os formulários ficarem mais acessíveis e usáveis. |
| Coleção de scripts muito interessantes para adicionar mais conteúdo aos seus formulários. |
| Saiba como fazer seus formulários mais fáceis de usar e acessíveis substituindo os select do tipo combobox por checkboxes. |
| Cria um menu com sugestões abaixo do campo de texto. |
Estilizando campos de formulário
| Use para construir formulários completos, agradáveis e informativos. |
Ajuda em Formulários sem Popups
| Aqui você encontra uma pequena técnica. Não abra mais nada em novas janelas. |
Formulários Web com Estilo CSS
| Você pode mudar a aparência padrão de seus formulários estilizando as tags HTML. |
| Crie todos os tipos de formulários com a ajuda deste script. |
| Use CSS para gerar formulários de duas colunas. Bom especialmente se você ainda usa tabelas para isso. Substitua-as. |
| Use CSS e acabe com formulários tortos e de má aparência. |
| Inclua um arquivo Javascript, um CSS e conteúdos sem interromper qualquer funcionalidade. |
| Um script para obter bons formulários em relação a estilo e estrutura HTML. |
Formulários Horizontais Semânticos
| Encontre a beleza dos códigos por trás de seus formulários e arquive seus antigos layouts. |
| Um verdadeiro jardim de estilos CSS para você escolher e usar em seus formulários. |