DGmike

Calma! não entre em pânico! Amanhã (talvez) tem novo post…

DGmikee jQuery na WebDesign

Posted by DGmike On November - 15 - 2008

Este post deveria ter saído já há um tempo, mas devido às minhas obrigações assim como aulas sequenciais não tive tempo de escrever, mas estou voltando a dar alguns pitacos em alguns assuntos. Por exemplo, colaborei na WebDesign junto com o Ciro Feitosa e o Felipe Diesel sobre um assunto que gosto muito: jQuery.

A revista WebDesign de Novembro traz uma matéria com minha humilde colaboração

A revista WebDesign de Novembro traz uma matéria com minha humilde colaboração

A colaboração foi feita há quase dois meses e a revista já está nas bascas há quase um mês, mas se você ainda não viu pode ir correndo até a banca mais próxima ever a gente falando sobre essa maravilha que é a jQuery.

Falamos sobre a jQuery como um dos frameworks mais legais e inovadores de todos os tempos, e não é para menos, com ela é possivel criar efeitos muito legais com apenas algumas linhas de código. Não acredita?! Veja o que pessoal anda falando por aí.

Share/Save/Bookmark

Firefox 3.1 irá suportar a TAG video e audio

Posted by DGmike On November - 8 - 2008

Vi no Ajaxian que o Firefox 3.1 irá suportar a tag video do html 5. Isso é um grande avanço para nós, que criamos páginas. Como qualquer desenvolvedor Web não vejo a hora de começar a escrever códigos novos e simples que deveriam ter sido inventados muito antes.

Nume viagem maluca pra São Paulo, há um tempo com meu amigo Zamana, nos deparamos com esse CrossFox Firefox. Fã é assim mesmo!

Nume viagem maluca pra São Paulo, há um tempo com meu amigo Zamana, nos deparamos com esse CrossFox Firefox. Fã é assim mesmo!

Hoje, para rodar um video nos navegadores você precisa usar uma embed complicada que muitas vezes não conseguimos decorar e precisamos procurar no google como resolver tal problema. E ainda parece que não roda mpeg direito.

<embed src="nomedoarquivo.wmv" controller="true" autoplay="true" width="320" height="240">

Já com a tag video podemos inserir videos nativamente ao firefox. Navegando um pouco, encontrei que a última versão do WebKit também suporta as tags video e audio, já o Opera suporta apenas a tag video e não a audio. Vale também lembrar que nenhum deles suporta essas funcionalidades por completo. Mas com o que já é suportado, podemos inserir videos facilmente:

<video src="nomedoarquivo.ogg" />

E obviamente, para alterar suas propriedades, o bom e velho CSS vem à calhar.

<video src="nomedoarquivo.ogg" style="width:130px;height:130px" />

Para que o video seja rodado automaticamente basta colocar o atributo autoplay.

<video src="video.ogg" autoplay="autoplay" />

Ainda podemos manipular os videos por meio de javascript, assim.

<script language="JavaScript"><!--
document.getElementsByTagName('video')[0].play()
--></script>

Ou com a jQuery…

<script language="JavaScript"><!--
$('video')[0].play()
--></script>

E se não bastasse, a tag video também pode receber uma lista de videos com o auxilio da tag source.

<video>
  <source src="foo.ogg" type="video/ogg"></source>
  <source src="foo.mov"></source>
</video>

O fato é que vai ficar muito mais simples implementar videos e audios para nossos clientes (ha-ham…) nosos usuários. Pena que o Internet Explorer não roda direito. É simples fazer uma implementação que faça substituir a tag video por uma tag embed, alguém aí se disponibiliza a fazer? Mas como eu gosto de incentivar o usuário a “atualizar-se a um browser de verdade” prefiro fazer o seguinte.

<video src="video.ogg">
Seu navegador não suporta a tag video, por favor mude para o Firefox... :D
</video>

Claro que com uma mensagem mais amigável, mas não pretendo escrever o script que fará a gambiarra para o Internet Explorer simplesmente porque penso (lembrando que é minha humilde opinião) que se não dizermos ao usuário Seu internet explorer é um lixo, troque agora! [link para um browser melhor] ele nunca se mecherá para trocar (afinal, pra que trocar se roda tudo que preciso nele?!), mesmo que esse mecher leve-o a chamar alguém que saiba como fazer a troca.

Você ainda pode ver o video demo do pessoal da Mozilla Labs demonstrando que funciona mesmo!

[Nota]

Vale a pena lembrar que a tag source não é suportada por completo ainda e que a tag video e audio apenas suporta o formato ogg. Mas espero que suporte um dia o formato flv para videos e o famoso mp3. Mas, assim que sair a nova versão do Firefox implementarei com certeza essa tag. :D

Este pos foi escrito ao som de:

  • You Should Be Dancing - Bee Gees
  • Born To Be Wild - SteppenWolf
  • Smoke On The Water - Deep Purple
  • Money For Nothing - Dire Straits
  • Sheet Child O’ Mine - Guns N’ Roses




Technorati Tags: audio, desenvolvimento, Firefox, flv, internet, Internet Explorer, mp3, navegador, opensource, opera, padrões web, tableless, video, web

Share/Save/Bookmark

Listas definitivas

Posted by DGmike On October - 28 - 2008

Vamos falar um pouco de listas em xHTML. No mundo do html existem três tipos de listas: ordenadas, desordenadas e definição. Devemos usar cada uma com base em seus fundamentos. É assim que implantamos a semântica no html, não se preocupe se a lista aparece estrana no seu layout, o CSS é seu amigo e vai reestruturar a lista como você desejar. Também não se preocupe com os itens que aparecem antes de cada item, eles também podem ser trocados via CSS.

Os tipos diferentes de listas que podemos ter em HTML

Os tipos diferentes de listas que podemos ter em HTML

Para realizarmos estas listas usamos as tags OL, UL, LI, DL, DT e DL.

Desmistificando…

As listas desordenadas são utilizadas quando ela não deve ser utilizada na sequência em que  foi passada, sendo assim podemos efetuar as ações de uma determinada lista em qualquer ordem que ela continuará fazendo sentido. Para esta lista, usamos a tag UL, que em inglês, é o resumo de “Unordened List“. Sendo assim, para cada item da lista usamos a tag LI, que seria o resumo de “List Item” em inglês.

Um código de exemplo, mantendo o que estou falando é:

<ul>
<li>Catar as roupas</li>
<li>Varrer o chão</li>
<li>Cozinhar o almoço</li>
</ul>

O mesmo ocorre com as listas ordenadas, a diferença é que elas devem ser executadas ou lidas nessa determinada ordem, senão o sentido da lista pode mudar completamente, ficando inintendível. Um belo exemplo de lista ordenada é quando nos deparamos com o índice de um livro: que tem uma ordem a ser seguida.

Para este tipo de lista usa-se a tag OL que é uma abreviação para “Ordened List” em inglês. E para cada item, assim como em listas desordenadas, usa-se “List Item“, ou seja, LI.

<ol>
<lt>Tire as penas da galinha</li>
<li>Coloque-a na panela fervendo</li>
<li>Adicione água até cobrir ela por inteiro</li>
<li>Cozinhe por 30 minutos</li>
</ol>

Estas duas são as listas mais comuns no nosso dia-a-dia, mas ainda temos as listas de definição. As listas de definição são separadas para escrever itens com seus respectivos detalhes. A lista de definição mais comum que encontramos hoje é o dicionário, mas podemos nos aproveitar dessa lista de diversas formas. É muito interessante quando quisermos descrever uma série de itens, como os cômodos de uma casa ou vários itens de uma loja virtual.

Para uma lista de definição, usamos a tag DL, ou seja, “Definition List” e para cada item a tag DT que em inglês, é uma abreviação para “Definition Term“. Para os detalhes desse termo, a tag DD é quem se encarrega dessa tarefa, ela significa “Definition Description“.


<dl>
<dt>Lista</dt>
<dd>relação ordenada de nomes ou de quaisquer objectos que tenham de ser inventariados</dd>
<dt>Música</dt>
<dd>arte e ciência de combinar harmoniosamente os sons</dd>
</dl>

Algumas notas: Podemos ter mais de uma descrição para um mesmo termos, assim como dois ou mais termos podem ter a mesma descrição. Você pode fazer os agrupamentos como desejar, logo pode colocar dois ou mais DDs em sequência, assim como dois ou mais DTs em sequência. Outra forma de uso, menos comum, é o log de um chat, onde o termo é o nick do usuário e sua descrição são as mensagens enviadas por ele.

<dl>
<dt>Centro</dt>
<dt>Meio</dt>
<dd>ponto que se encontra a igual distância de todos os pontos da circunferência ou da superfície da esfera;</dd>
<dd>ponto que divide ao meio as rectas que, por sua vez, dividem a figura geométrica em duas partes iguais;</dd>
<dd>o meio de qualquer espaço;</dd>
</dl>

Technorati Tags: definição, desordem, html, itens, list, listas, ordem, Semântica

Share/Save/Bookmark

Promoção Blogresso, assista uma ótima comédia na faixa!

Posted by DGmike On October - 27 - 2008

Desde que me deparei com o Improvável não parei mais de rir, os Barbixas são muito bons. O pessoal faz um jovem mortal como eu morrer de rir a cada video do que é relacionado no Youtube como este aqui:

Simplesmente fantástico! E para você assistir a essa peça maravilhosa basta você fazer o que eu fiz, colocar um video dos caras em um dos seus post em seu blog. Não é sorteio, basta você colocar um dos vídeos no seu blog e mandar um e-mail dizendo “Olha, eu coloquei seu video lá, fazendo propaganda para vocês! Agora, cadê o meu ingresso!” Ah sim, e você ainda pode levar aquela gatinha que está te dando mole no serviço porque eles vão te dar não um mas dois ingressos para o espetáculo. Se você quiser saber mais informações a respeito, veja este video e leia a regulamentação da coisa!

Se deu tantas risadas como eu, veja os caras atuando aqui, aqui e aqui ou aqui.

Simplesmente fantástico! E para você assistir a essa peça maravilhosa basta você fazer o que eu fiz, colocar um video dos caras em um dos seus post em seu blog. Não é sorteio, basta você colocar um dos vídeos no seu blog e mandar um e-mail dizendo “Olha, eu coloquei seu video lá, fazendo propaganda para vocês! Agora, cadê o meu ingresso!” Ah sim, e você ainda pode levar aquela gatinha que está te dando mole no serviço porque eles vão te dar não um mas dois ingressos para o espetáculo. Se você quiser saber mais informações a respeito, veja este video e leia a regulamentação da coisa! Se deu tantas risadas como eu, veja os caras atuando aqui, aqui e aqui ou aqui. " />

Technorati Tags: barbixas, comédia, evento, grátis, improváveis, na faixa

Share/Save/Bookmark

Decepção: Intercon 2008

Posted by DGmike On October - 26 - 2008

Nota: Não gosto de colocar posts negativos no meu blog, quem me conhece sabe que sou uma pessoa pacata pra caramba e sempre procuro amenizar o máximo os fatos, mas como este é um blog pessoal eu posso expor minha humilde opinião.

Na edição do ano passado tivemos (@aliceandade e eu) a oportunidade de por conta de uma promoção que o @crisdias e do @gilbertojr colocou em seus blogs, mas como foi um passaport de última hora resolvi garantir comprando os passaports como qualquer mortal. Bem, antes do evento conversei com a equipe por e-mail e eles disseram que não haveria problema em comprar pois seria feita a extorsão do dinheiro em no máximo dois dias.

Bela campanha, belo design, mas pecou em uns pontos fundamentais

Bela campanha, belo design, mas pecou em uns pontos fundamentais

O que aconteceu a seguir foi uma série de enrolação para cima do meu lado. Por volta de duas semanas depois de muito papo, muita enrolação consegui receber o dinheiro. O problema é que eu não sou rico e algumas vezes conto com algum dinheiro para pagar as contas e se alguém me diz que vai pagar, eu confio e passo para frente que vou pagar minhas contas (fora os juros de atraso). Isso é chato pa-ca-ram-ba! Se prometer que vai pagar, não fique enrolando, isso é sério: as pessoas muitas vezes dependem disso e não adianta dizer que vai pagar mesmo que atrasado, você provalemtente não vai pagar comos juros que os bancos cobram.

Bom, passou. Levei no mais alto cavalheirismo e deixei passar. Este ano está sendo um ano muito deturpado, minha familía tem pouco mais de um ano de constituição e eu morava com ajuda dos meus pais e sogros para viver. Foi quando vim para Sampa e resolvi andar com minhas próprias pernas, está tudo correndo bem, mas não posso me dar ao luxo de comprar dois passaports para um evento como o Intercon, então resolvi não ir nesta edição. Também não descolei nenhum convite por conta de blogueiros.

Já tinha esquecido que iria rolar o evento e queria tirar um final de semana bacana, quando meu amigo @paladino desceu do norte do estado do Rio (Campos) para bater à minha porta para vir ao evento. Nada demais, eu convidei-o para vir várias vezes e acho que o intercon fala bastante de mercado e ele como empresário deveria ver. Fui deixá-lo ao evento no meu carro (sim, já consigo dirigir em Sampa! Isso é ótimo para quem veio de cidade de interior =D ) e deixando um fio de saudades do evento do ano passado.

Um pouco depois, acompanhando pelo twitter vi que estava rolando uma transmissão ao vivo do evento, foi quando pulei da cadeira e falei: CA-RA-CA!!! Muito bom, muito bom mesmo! Foi uma das iniciativas mais interessantes que já vi acontecerem. Este ano rolou o evento de produtividade da visie online e achei muito bom e muito importante essa divulgação. Muitos internautas não podem viajar de certas distâncias e certamente algumas palestras deixariam de ser apresentadas, afinal rolaria palestra em vários lugares, então é uma ótima forma de divulgar o evento e inová-lo. Tudo foi transmitido onlie. Até tirei um screen do que rolava.

Com um layout muito inteuitivo o pessoal da DialHost mandou bem nessa campanha

Com um layout muito inteuitivo o pessoal da DialHost mandou muito bem nessa campanha

O pessoal teve a oportunidade de conversar e dar opiniões durante o evento para quem estivesse assistindo online, com um belo chat a interação foi muito explicita.

A interação dos internautas foi um ponto possitivo muito bom!

A interação dos internautas foi um ponto possitivo muito bom!

No começo da transmissão ouveram algumas falhas de audio e não conseguimos ouvir o palestrante por uma meia hora, mas logo normalizou. Isso seria uma coisa normal se não fosse um evento de tamanho porte.

Fiquei sabendo que o pessoal também teve problemas lá, localmente. Uma das inovações do Intercon deste ano é que houveram palestras simultâneas e três telões para manter todo mundo antenado. O problema é que a transmição estava com a mesma (falta de) qualidade que estava no video ao vivo: uma porcaria! Acontece que algumas vezes falhava, outras a transmição se misturava entre os canais, mostrando involuntáriamente o que o outro estava falando, perdendo assim a palestra que você está assistindo. :/ Isso sem falar que o sujeito fica injuriado por saber que está perdendo muita informação que está logo alí, há alguns metros de distância. Sinceramente, não vejo vantagem nisso.

Bom, o que mais me chateou sobre o Intercon foi que durante a transmição ao vivo conversei com algumas pessoas (a simpática @claudiaregina do Mulher Design e o @brennohayden) que compraram o evento e que não poderiam ir ao evento por motivos particulares e queriam passar seu passaport para alguém. Me prontifiquei no mesmo instante, eu e Alice. Resultado, não conseguimos atenção de ninguém do evento e o moderador da equipe de transmição não poderia fazer nada, afinal “as equipes são independentes umas das otras.

Tanto a Claudia como o Brenno foram muito amáveis e me disseram que passariam o passaport sem problemas, mas como não consegui falar com ninguém do evento resolvi ir lá (25 min de carro em Sampa) para o evento, de repente se eu telefonasse para eles e eles falassem direto com a equipe do intercon poderia rolar alguma coisa né? Emfim! O pessoal me barrou no evento. Um segurança mal encarado com as meninas que ficaram na distribuição do crachá disseram o seguinte.

Não estamos autorizados a disponibilizar a entrada de ninguém que não tenha pagado o evento. O máximo que podemos fazer é - se você tiver uma procuração assinada em cartório, deixar você entrar com o crachá da pessoa.

Entrar com o crachá de outro não tem problema, mas peraê! Procuração assinada em cartório. Pel´amor-de-Deus! Consegui o passaport aquela hora e a Claudia me disse que estava tentando falar com a equipe há uma semana e não conseguiu nada, nem extorção, nem transferir para ninguém. Como eu conseguiria uma procuração naquele momento??? Ainda mais assinado em um cartório que estava fechado no sábado! O pior é que, ao encontrar algumas pessoas lá no evento, descobri que não foi um caso isolado, alguns conhecidos também não conseguiram transferir seu ingresso!

Bah, perdi o evento ao vivo, o evento local, e fiquei muito frustrado. Para finalizar estava à frente do elevador com Alice e estava um pouco cheio e um segurança (do prédio) veio nos falar. “Os senhores poderiam ir por outro caminho para não tumultuar aqui?” Pra que?! Alice é deficiente física e já dei uma resposta meio atravessada. Minha esposa é deficiente física e ela tem prioridade. E ele retrucou: “Mas vocês poderiam ir pelo outro elevador (do outro lado do salão) que é mais vazio.” Cara, por que ele não disse, vou colocar vocês na frente de todo mundo, já que ela tem preferência, ou mesmo vou colocá-la na frente e o senhor vá de escada. Tinha que falar um absurdo desses?! Foi quando minha linda esposa teve um estouro: “meu caro, eu sou deficiente e tenho preferencia.”

Foi o suficiente para o elevador chegar e irmos fulos da vida. Na parte da tarde, @paladino nos contou que o evento estava tão cheio que tinha gente em pé assistindo as palestras. o.O como assim em pé?! O pessoal paga R$ 90,00 (antecipado) para assistir palestras em pé?!

O evento é um dos melhores que já fui, mas a falta de organização, como um todo deixa muito a desejar. Não sei se no ano que vem eu terei vontade de ir. Só espero que a organização do evento leia meu post e nos próximos intercons a organização seja exemplar, como todo evento deve ser.

Technorati Tags: ao vivo, curiosidades, evento, grátis, intercon, online, palestras

Share/Save/Bookmark

Programas antigos: por que nem sempre a nova versão é melhor

Posted by DGmike On October - 11 - 2008

O player que eu sempre uso para ouvir mp3 me deixa muito fulo por um simples motivo: ele inclui um espaço em branco entre uma música e outra, o que é chato se você estiver ouvindo um disco que emenda uma faixa na outra como Pink Floyd[bb] - The Wall[bb]. Decidi produrar o bom e velho Winamp, mas para minha surpresa, o winamp não disponibiliza a velha versão 2.0 de 1995. Infeliz, fui procurar uma alma caridosa que estivesse disponibilizando tal versão.

Muitas vezes, os velhos são melhores que os novos

Muitas vezes, os velhos são melhores que os novos

Para minha surpresa - e boa por sinal, encontrei um site especializado em disponibilizar versões antigas de softwares. A lágrima rolou quando eu vi o mIRC (eu comecei a programar nele), iMesh, Napster (quem não lembra?!), ICQ e AcdSee (este eu guardo uma cópia da versão 2.4 em todas as máquinas que eu chego, que para mim foi a versão mais leve e que resolve muito dos meus problemas) e todas as suas versões.

Vale o click ou guardar nos favoritos para futuras consultas, ele já está na minha barra de favoritos para quem sabe um dia, né?! Às vezes os progrmas antigos são melhores porque eles foram feitas para máquinas menos rápidas, isso forçava os programadores a pensar em soluções mais leves e simples. Por isso eu gosto mais da versão mais antiga do Winamp.

Technorati Tags: ACDsee, bookmark, download, favoritos, ICQ, iMesh, mIRC, mp3, Napster, pink floyd, player, software, winamp

Share/Save/Bookmark

AJAX: anotações diversas

Posted by DGmike On October - 8 - 2008

Navegando pela internet me deparei com vários plugins, extensões, scripts que trabalham com ajax. Mantenho sempre meus feeds marcados como não lidao para utilizar depois, mas percebi que a lista de não lidos estava ficando um pouco grande, então resolvi escrever este memo para registrar bons scripts que podem ser usados em um futuro distante (ou não).

Várias ferramentas em javascript para você poder usar no seu site/blog/sistema

Várias ferramentas em javascript para você poder usar no seu site/blog/sistema

Tree View para jQuery

Emular um sistema de arvores como o que o windows explorer tem é uma tarefa um pouco complicada se formos parar para colocar imagens diferentes para cada estado (pasta aberta ou não), se quisermos aplicar uma animação a cada ação ou mesmo se quisermos que ela seja dinâmica, atualizando os eventos de cada elemento atomaticamente. Como jQuery é minha biblioteca favorita, este plugin resolve este problema e os mais comuns relacionados a arvores.

Você pode ver vários exemplos de formas de customização no próprio site do desenvolvedor.

Se você pretende fazer uma aplicação com opções, este plugin resolve um de seus problemas.

Se você pretende fazer uma aplicação com opções, este plugin resolve um de seus problemas.

Time Picker (Experimental)

Um gosto muito de projetos experimentais porque eles podem nos dar uma breve visão de como vão ser os projetos em um futuro próximo. Este projeto é um selecionador de horas - um plugin para jQuery, que trabalha de uma forma diferente, você vai selecionando por partes as horas, minutos e duração (am ou pm). O legal é que é intuitivo e não é necessário ficar clicando em botões desnecessários, só no que realmente é necessário. Bom, fica a dica, mas lembre-se: é um projeto experimental, só use se seus usuários forem cabeça aberta…

Para utilizar este plugin, mais que uma linha de código não é necessário, e você ainda tem uma série de opções para customizar seu novo “relógio”. Confira na página do projeto.

Não gaste seu mouse clicando várias vezes para definir a hora. É o que propõe este script experimental

Não gaste seu mouse clicando várias vezes para definir a hora. É o que propõe este script experimental

jCrop

Tá aí a solução para nossos problemas! Que tal criar um sisteminha de upload onde o usuário escolhe qual área da foto ele quer usar no site? Complicado, né? Criar uma div para fazer a area a ser cortada, criar um outro que manipule cada área de onde o elemento será cortado. Dependendo da área, o cursos do mouse deve ser alterado. Sim, é complicado fazer isso. Ainda mais porque tem que interagir com o servidor (aliás, quem vai cortar na verdade é o servidor e não o javascript) e escrever uma função que use a biblioteca GD se for em PHP. Se ainda achou fácil, que tal definir um tamanho mímino para a imagem ou proporção ou mesmo criar uma prévia de como vai ficar depois de pronto?

Para resolver todos esses pontos, existe um plugin para jQuery chamado jCrop que faz o crop com maestria, ele já vem com um script em PHP de exemplo que você pode usar sem problemas para implementar. Eu já usei e aprovo este plugin, o cliente ficou muito satisfeito e queria até implementar em outras áreas.

Cortar imagens no Browser do usuário se tornou uma tarefa fácil

Cortar imagens no Browser do usuário se tornou uma tarefa fácil

Tem muita coisa legal chegando nos meus feeds, mas muita coisa sem nexo também, então para quem quiser acompanhar o que eu leio sobre ajax, pode assinar meu feed de Categoria Ajax, assim eu filtro, pessoalmente, o que é bom para seus ouvidos. :D

Technorati Tags: ajax, crop, date, feed, ferramentas, image, javascript, jcrop, jQuery, php, plugin, rss, script, time, tree

Share/Save/Bookmark

Cidades e Estados em Javascript

Posted by DGmike On October - 4 - 2008

Uma das dúvidas mais comuns para quem está começando ajax é criar uma função que chame os estados e cidades nacionais. Sempre tenho que explicar uma serie de coisas como objeto httpRequest ou mesmo um mínimo de jQuery.

Pensando nos programadores do Brasil, desenvolvi este script de selects de estado e cidades do Brasil

Pensando nos programadores do Brasil, desenvolvi este script de selects de estado e cidades do Brasil

Pensando nisso, resolvi escrever uma biblioteca que resolva este problema, além de estar disponível em uma única URL (JavaScript[bb], hospedado pelo Google Code”>hospedado no google) no qual qualquer um pode utilizar. Assim, o usuário guarda em cache apenas um arquivo, e se o usuário passar em um site que chama a biblioteca, no próximo site que ele entrar e usar a biblioteca de novo, carregará o arquivo em cache e não precisará fazer o download de novo.

Outra vantagem é que o arquivo possui os estados e cidades no próprio core, assim não é necessário de interação com o servidor, o que deixa a resposta ao usuário mais rápida, deixando-o satisfeito. Ah, e sem falar que ele é crossbrowser e funciona com (ou sem) todas as bibliotecas conhecidas (como jQuery, prototype, dojo ou mootools) por trabalhar com apenas as funções que já existem no javascript.

Decidi hospedá-lo no servidor do google porque assim é mais improvável que hajam problemas de servidor em qualquer servidor que eu hospede. Para instalá-lo em seu site, coloque a seguinte instrução entre suas tags head.

<script type="text/javascript" src="http://cidades-estados-js.googlecode.com/files/cidades-estados-v0.2.js"></script>

Coloque este código (ou algo parecido) no seu html, para poder referenciar para a biblioteca.

Estado: <select id="estado" name="estado"></select>
Cidade: <select id="cidade" name="cidade"></select>

A forma mais simples de ativar a biblioteca é esta, usando o objeto dgCidadesEstados passando os objetos que serão serão usados como select de estados e cidades respectivamente. Veja um exemplo.

window.onload = function() {
  new dgCidadesEstados(document.getElementById('estado'), document.getElementById('cidade'), true);
}

O projeto é opensource, então se sua cidade não está na biblioteca, por favor me informe que eu mesmo colocarei no projeto.

[update]

No total, são 5.560 cidades cadastradas na biblioteca, a diferença é que não está colocado cada um em uma linha (como em instruções SQL[bb]) e sim cada estado em uma linha, o que diminui consideravelmente o tamanho do arquivo, se o seu Banco de Dados tiver mais que isso, por favor envie um comentário que procurarei atualizar o banco o mais breve possível.

Technorati Tags: ajax, biblioteca, cidades, estados, google, html, httpRequest, javascript, nacionais, opensource, xml

Share/Save/Bookmark

Chrome, por que não?!

Posted by DGmike On September - 30 - 2008

Não! Não vou contar nenhuma novidade sobre o google ter lançado um novo browser no mercado. Ou fazer uma resenha do tipo “Minhas impressões sobre o Google Chrome“. Tem muita gente fazendo isso na grande web. Quero colocar minha visão atual sobre o software que pegou quase três por cento do mercado em no seu primeiro dia de vida.

O Google Chrome é um bom navegador e me ensinou algumas verdades

O Google Chrome é um bom navegador e me ensinou algumas verdades

Tem gente dizendo por aí que o chrome não quer dizer nada para os desenvolvedores porque eles vão ter que, na verdade desenvolver para mais um browser ao invés de acabar com o problema de verdade.

Para mim, que trabalho com padrões tenho uma visão mais radical disso. Hoje sou 98% programador back end (programação PHP, MySQL, Python e outras coisas que só maluco entende), mas quando pego um projeto para fazer o front end procuro esquecer que o IE6 existe e desenvolvo para browsers. Acho que só vamos conseguir fazer o usuário ou empresas atualizarem seus browser quando ficar impossivel navegar no IE6. Sempre pensei que a necessidade faz milagres e acredito que no mundo da web isso não seja tão diferente, veja como as ferramentas evoluiram de uns três anos para cá. Mas isso é outro assunto.

Quero me focar no fato de “O BROWSER” ser uma solução inteligente para quase todos os problemas. Como qualquer desenvolvedor eu ainda uso o Firefox devido às suas extensões - pelas quais virei escravo, mas sempre que posso abro chrome para navegar.

Ele é rápido demais, minha forma de navegar na web mudou consideravelmente depois dele. Não sei como eles fizeram, mas o bixinho voa na web. E os aplicativos google então? Nooooosa! Agora sim eu posso utilizar os recursos do docs, gmail, reader, etc da forma como deveria usar há um bom tempo. O que me assusta é o fato de não poder inserir plugins, mas ele já vem com um bom gerenciador de downloads e uma “firebug” muito mais bacana (limitada em recursos, mas mais agradável) que a original.

É nesse momento que eu penso de novo na forma como virei escravo dos Add-ons do firefox, se eu parar para contar, uso mais de 40 plugins que eu considero essenciais. Isso, além de deixar meu firefox lento me faz pensar duas vezes quando penso em abrir um site mais pesado no meio de um download. Então eu me volto para o browser pokebola e percebo que dá para viver sem eles, tendo só o essencial, o que é indispensavel em um browser e ele continuar sendo rápido pra caramba!

O símbolo do Chrome é a mistura de um brinquedo dos anos 80 com uma pokebola

O símbolo do Chrome é a mistura de um brinquedo dos anos 80 com uma pokebola

Bem, eu vou continuar usando os meus dois browsers preferidos como padrão, sendo um para navegar e outro para trabalhar. Ainda não vi diferenças consideráveis na renderização do CSS de um browser com outro. Encontrei uma ou troa diferença que era ajustável com no máximo duas linhas de código devido à falha do próprio desenvolvedor então acho que migrar o leque de trÊs para quatro browsers para desenvolver não vai ser tão complicado assim.

Technorati Tags: add-ons, browser, Chrome, Firefox, google, internet, Internet Explorer, navegar, necessidade, novidade, pokebola, tableless

Share/Save/Bookmark

PhpConference: Grade de palestras

Posted by DGmike On September - 29 - 2008

Estava navegando hoje no php conference e vi qe saiu a grade de palestras. A minha está marcada para o dia 29 do mês que vem (novembro de 2008) e cairá em um sábado. O resto da programação está com um nível muito bom.

A grade de palestras está muito bacana

A grade de palestras está muito bacana

Se você mora em Sampa (ou não) dá um pulo por lá, as palestras vão valer a pena, garanto. Sobre minha palestra, vou falar sobre casos de testes. É uma das mil maravilhas que eu aprendi aqui na visie. O grando tchan é que os problemas são resolvidos antes mesmo de eles existirem, então o ganho de velocidade na programação é absurdo. Eu aconselho a todos vocês a assistirem as palestras que vai ser muito bom.

No ano passado não pude ir no PHP conference, mas este ano eu vou palestrar lá. Para mim está sendo uma experiencia muito boa porque agora terei um público que conhece php tanto quanto eu. Antes as minhas humildes palestras eram focadas para quem ainda estava começando em PHP. Bem, tenho um sexto sentido me dizendo que vai ser uma boa experiencia.

Technorati Tags: congresso, evento, palestra, php, PHP conference

Share/Save/Bookmark