Arquivos de 'Programação' Categoria

17
Jun

Cidades e Estados Brasileiros [MySql]

Fala Galera,

Estou desenvolvendo um sisteminha que vai ter um formulario de cadastro, um dos dados mais importantes desse formulario é o endereço do fulano. Fiz uma busca rápida na internet e não encontrei uma basa free descente de cidades e estados então resolvi fazer uma, juntei várias informações que achei de outros lugares e juntei tudo pra ficar redondinho… Depois de um tempo ficou pronto.

Coloquei la no meu repositorio do GitHub.

Existem dois tipos de arquivos lá, um só de cidades, outro só de estados e o outro que é o insert de todos, cidades e estados. Os inserts já cria as tabelas no banco.

Acessem o meu repositório: github.com/egermano/

Download

Faça download por aqui:

github.com/egermano/cidades-e-estados-brasileiros

Qualquer dúvida, comentário, solicitações ou até colaborações, falem comigo.

Make open, make free.
Abraços

08
Apr

Twitter Highlight

Fala Galera,

Fiz um JS que vai ajudar muita gente.

Eu estava precisando fazer que as respostas do twitter, os posts viessem com os links, mas é claro que não vai vir. Então fiz algumas funções em JS para que isso aconteça.

Download

Para fazer o download acesse:

github.com/egermano/twitter-highlights-js

Lá você pode tanto fazer download de um .zip com o código ou fazer download direto do git. Se você ainda não conhece o git deveria conhecer, ainda mais se você trabalha com desenvolvimento.

Então vamos ao o que interessa.

Como Usar?

Nesses fontes você vai encontrar um index.php com o exemplo completo de como se deve fazer, claro que você pode usar como quiser, nele eu listo uma query do twitter, monto a resposta em uma lista e uso os meus métodos para fazer o highlight dos usuário, hashtags e urls (links).

Para fazer essas transformações basta você executar isso aqui:

var texto = ‘o blog do @egermano é #demais http://egermano.com’ //mensagem do twitter
texto.parseURL();//para transformar as URLs
texto.parseUsername();//para transformar os Usuários
texto.parseHashtag();//para transformar as Hashtags

No arquivo twitter-parsing.js você ainda encontra uma prototipação do método .link() do objetos String do JavaScript. Eu alterei esse método para que ele receba mais um parâmetro de configuração, contendo três opções:

/**
* Prototyping String,link
*
* @param string str A url to create a link.
* @param object opt Option param [bool nofollow, bool newWindow, string className]
*/
//Ex: opt = {nofollow:true, newWindow: true, className: ‘link-twitter’};

Bom é isso aew galera, qualquer dúvida vocês podem usar os comentários aqui do blog ou os comentários do próprio repositório no github.

Espero ter ajudado vocês…

Abraços.

02
Mar

LESS + TextMate

Fala Galera,

Quer compartilhar uma grande descoberta que fiz nesse últimos dias…

Como alguns sabem, eu sai do banco e estou em uma agência digital. Creio que essa foi umas das maiores decisões que tomei nos últimos tempos, mas nada supera a minha decisão por me casar e formar uma família com a Luise. Com essa grande mudança de ambiente e de carreira eu já aprendi várias coisas com a galera aqui da agência e uma delas é o que vou compartilhar com vocês, LESS.

O LESS é uma linguagem que extende o css, ele cria comportamentos como variáveis, funções e até operações (adição, subtração, divisão, entre outras).

A linguagem foi idealizada e implementada por Alexis Sellier (a.k.a Cloudhead), o conceito era criar essa linguagem para substituir o CSS do seu site, mas como os browses só aceitam o CSS como arquivo para formatação de estilo de página ele criou um arquivo em JavaScript que funciona como um interpretador.

A implementação no site é muito simples, saca só:

<link rel=”stylesheet/less” type=”text/css” href=”styles.less”>

<script src=”less.js” type=”text/javascript”></script>

Basicamente você coloca o seu arquivo .less e depois usa o less.js como interpretador.

Analisando e testando um pouco essa linguagem eu achei que esse processo de interpretação que o less.js faz um pouco pesado  pode ser custoso já que isso vai rodar no cliente e depende muito da máquina que o cara tem. Lembrando que o Cloudhead disponibilizou no site do LESS um interpretador Server Side, ou seja, roda do lado do servidor e não no browse, no cliente. Mesmo assim achei o processo do Server Side complexo de se instalar e não muito prático, sem contar que é um processo a mais para rodar no Server mesmo assim.

LESS.appAí pesquisando na internet encontrei o LESS.app que é um compilador de LESS (se você não entende muito de programação a essa hora você já dev estar me xingando e falando que é tudo a mesma coisa), ou seja, você compila e transforma o seu arquivo .less em um arquivo .css em tempo de desenvolvimento e não de execução como os outros interpretadores. No site desse app tem um vídeo explicando como ele funciona. O app é gratuito e só funciona e MAC, sorry Wondows Loosers.

Com isso eu virei o mestre do  LESS, sai fazendo todos os CSS e com a produtividade lá no céu, mas eu ainda podia melhorar. Eu sempre usei o TextMate ara desenvolver qualquer coisa, HTML, CSS, JS, PHP, Python, Ruby on Rails e por aí vai e como a maioria dos editores e IDE que tem no mercado ele deixa as letras todas coloridas de acordo com o elemento, instrução, tipo e etc… Mas com o LESS ele não estava funcionando, ficava tudo preto no branco.

Mais uma vez… De volta ao Google.

Encontrei dessa vez um bundle, uma das grandes vantagens do TextMate é que você pode programar em vária linguagens em um

editor só e os bundles são os arquivos que fazem isso funcionar. Você configura as instruções e as formatações que cada parte do seu código deve ter. Dois caras muito firmezas fizeram tudo isso e disponibilizaram no GitHub , esses caras são o Scott Kyle e o Rasmus Andersson.

Nesse pacote além do bundle do TextMate, eles diponibilizam também um compilador para o TextMate, mas eu ainda prefiro o LESS.app.

Para concluir, o seu código fica mais ou menos assim como na imagem acima, com varias variáveis e funções e estruturas de dados e tudo isso que vocês podem ver.

Para aprenderem LESS:

Ferramentas que falei nesse artigo:

Usem LESS, criem seus CSS assim e torne o seu trabalho mais produtivo e organizado.

Comentem e compartilhem esse artigo, pois é isso que torna a internet e todas as redes sociais úteis.

Abraços,

13
Oct

Melhores comentários de código-fonte.

Todo mundo sempre deixa um POG (Programação orientada a Gambiarra) ou um comentáriozinho no programa, server tanto pra dar um jeitinho, ou explicar para os próximos que vão ler aquilo o que pode estar acontecendo lá.

Mas esses caras aí exageraram… Hehehe

Font: Recebi por email de um amigo… E veio tudo desse site.

27
Jul

[Tutorial]: Flash no seu Blog/Site

Fala galera,

Vai aí um artigo mais técnico.

Tenho conversado com alguns amigos e clientes e uma dúvida bem recorrente deles é de como se colocar um flash no site ou no blog.

Mas antes quero dar uma introdução ao assunto.

O que é flash?

Flash é uma ferramenta da Adobe[bb] que permite que você crie videos, filme ou simplemente elementos de sites para que eles fiquem mais interativos e atrativos.

Você deve estar pensando: Posso fazer filmes com ele?

Sim, você pode! Os estudios de Mauricio de Souza, desenhista da Truma da Mônica[bb], faz os desenhos animados dessa turma em flash.

Como eu uso no meu site?

Talvez você, assim como eu, não tenha tanta habilidade com o flash para criar filme, animaçoes ou simplemente menus ou banners para o seu site.

Mas mesmo com essa limitação, eu sempre preciso colocar alguma coisa em flash no meu blog.

Para fazer isso é muito simples, você vai precisar:

  1. Video/Menu/Banner em FLASH (extensão .swf)
  2. Tamanho do seu FLASH, largura e altura.
  3. Um blog/site que precisa desse tipo de conteudo
  4. Algum editor do HTML do seu site/blog (blogger, wordpress, etc)

Um elemento flash se comporta quase como uma imagem no seu blog, mas ele NÃO é uma imgem, por isso vc não pode usar a mesma tag de uma imagem (<img [...] />).

O falsh é um objeto especial que precisa de um plugin, mas isso não é um problema seu.

É muito simples, veja só.

<object width=”550″ height=”400″>
<param name=”movie” value=”http://seudominio.com.br/flash.swf”>
<embed src=”http://seudominio.com.br/flash.swf” width=”550″ height=”400″>
</embed>
</object>

Aqui nesse exemplo temos basicamente 3 tags, OBJECT, PARAM, EMBED. Você precisa sempre informar essas tags com os respectivos valores do seu flash.

Na OBJECT, você precisa informar a largura (@width) e a altura (@height).

Na PARAM você vai informar o nome do parâmetro como movie (@name=’movie’) e no valor o caminho do seu flash (@value=’http://seudominio.com.br/falsh.swf’).

Na EMBED você vai precisar informar a fonte(source) o caminho do seu flash, o mesmo informado da tag PARAM (@src=’http://seudominio.com.br/falsh.swf’) e a largura (@width) e a altura (@height).

Depois é só fechar as tags.

Mas porque precisamos informar o caminho, a altura e a largura duas vezes em tags diferentes?

Porque elas são interpretadas por brownses diferentes, o Firefox vai ler apenas a tag EMBED, enquanto o IE lê a tag OBJECT + PARAM.

Acho que é isso galera.

Deixem seus comentários e suas dúvidas aqui nos comments e na medida do possível vou tentar sanar todas elas. Hehe

Abraços a todos.

23
Dec

Abrace um programador hoje…

Será que alguém me entende?

09
Jun

Criando Tabelas usando JavaScript

Nesse artigo vou mostrar como manipular uma tabela com JavaScript usando as interfaces DOM (document object model).

Os ganhos de se criar e manipular uma tabela através do JS (JavaScript) é que toda a sua estrutura fica facilmente manipulada em DOM no formato de objeto. Você consegue manipular a tabela como um todo ou cada parte dela independente de outra.

Para criar a tabela você pode usar esses comandos, que são os mesmo para se criar qualquer outro elemento HTML no JS. Vou estruturar tudo em Orientação Objeto que é outro ganho na manipulação dos objetos e elementos da página. Vou usar também prototipação de objetos, que é outro artigo.

<script language=”javascript” type=”text/javascript”>
//Classe Tabela
function Tabela(linhas,colunas){
//Propriedades
this.linhas = linhas;
this.colunas = colunas;
//Nova estancia de um elemento HTML <TABLE></TABLE>
this.element = document.createElement(‘table’);
}
//Prototipacao da Classe Tabela
Tabela.prototype = {
//Metodo para montar a tabela
build:function(){
for(var l=0;l<this.linhas;l++){
//Nova linha <TR></TR>
var row = this.element.insertRow();
for(var c=0;c<this.colunas;c++){
//Nova Celula <TD></TD>
var cell = row.insertCell();
cell.appendChild(document.createTextNode(‘Linha : ‘ + parseInt(l+1) + ‘ Coluna: ‘ + parseInt(c+1)))
}
}
return this.element;
}
}
function Main(){
//instancio o Objeto
var tabela = new Tabela(5,5);
//contruo ele no div ‘content’
document.getElementById(‘content’).appendChild(tabela.build());
}
</script>

Essa é uma instanciação simples de uma tabela em JS.
Mais pro futuro vou colocar alguns métodos mostrando a manipulação de linhas e colunas de uma tabela com DOM.

Abraços,

18
Feb

Transparencia em PNG X IE6

Não sei se todos designers e/ou web masters já perceberam que as versões do Internet Explorer(IE) abaixo da 7, não dão suporte a transparência de imagens PNG.

PNG (Portable Network Graphics) é um formato de dados utilizado para imagens, que surgiu em 1996 como substituto para o formato GIF, devido ao facto de este último incluir algoritmos patenteados.
Esse formato livre é recomendado pela W3C, suporta canal alfa, tem uma maior gama de profundidade de cores, alta compressão (regulável), além de outras interessantes características.
Além disso o formato PNG permite comprimir as imagens sem perda de qualidade e retirar o fundo de imagens com o uso do canal alfa. O canal alfa, diferentemente da transparência do GIF, é capaz de definir o nível de opacidade de cada pixel, adequando-se a qualquer fundo de um site ou apresentação, sem serrilhamento, algo que não se consegue com os outros formatos populares. Por isso é um formato válido para imagens que precisam manter 100% da qualidade para reuso. Pode ser usado na maioria dos programas de edição de imagens como o Macromedia Fireworks (proprietário) e o GIMP (livre).(Wikipedia)

Com todas essas oportunidades que o PNG te dá todo mundo vai querer usar certo?! Quase, o IE não dava suporte a transparencia, ele exibe o png como uma imagem normal, mas quando se usa transparência ele coloca uma cor cinza e quebra toda a sensação de profundidade e claro de transparência.

Pesquisando na internet encontrei alguns codigos e algumas dicas, mas nenhuma exelente, não dizendo que a minha solução é a melhor, mas na minha necessidade, essa foi a melhor solução.

Esse é o código, é necessário que se use o framework PrototypeJs, futuramente vou fazer mais duas versões, uma usando o MooTools e outra sem framework, mais pra baixo vou exclarecer a solução.

/*
Autor: Bruno Germano
Website: http://www.egermano.com
No Head do HTML coloque essa condição.



Será necessário também adicionar o framework prototypejs(download em www.prototypejs.org).
*/
var version = parseFloat(navigator.appVersion.split(“MSIE”)[1]);
var images = $$(“img”);
if ((version >= 5.5) && (document.body.filters)){
for(var i=0, size=images.length; i var img = images[i]
if (img.src.toUpperCase().include(“.PNG”)){
var newImage = document.createElement(‘span’);
newImage.id = img.id;
newImage.className = img.className;
newImage.title = img.title;
newImage.style.cssText = img.style.cssText;
newImage.style.display = “inline-block”;
newImage.style.width = img.width;
newImage.style.height = img.height;
newImage.style.float = img.align;
newImage.style.cursor = img.parentElement?img.parentElement.href ? ‘hand’: ‘arrow’: ‘arrow’;
newImage.style.filter = “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’” + img.src + “‘, sizingMethod=’scale’);”
img.outerHTML = newImage.outerHTML;
}
}
}

A solução consiste em, encontrar todas as imagens do seu documento HTML, depois disso encontrar entre elas quais são as PNG’s. Sabendo quais são elas, o codigo vai criar um elemento SPAN, aplicar as principais propriedades da imagem no elemento SPAN e aplicar a imagem como um filtro de background chamado AlphaImageLoader.

Lembrando que os filtro só ficaram disponiveis em algumas compilações do IE 5.5, logo se o brownse do cliente for inferior a esta versão ele vai enxergar a transparencia do PNG num tom de cinza.

Lembrando que esta não é a melhor solução, existem outras em JS e outras em CSS, mas no meu caso essa foi a melhor.

Obrigado,
Deus Abençoe a todos nós!

Até a próxima!

28
Feb

Gráficos em flash

Olá galera,

Venho trazer hoje uma novidade, gráficos em flash para web.

Estou utilizando-os no trabalho para fazer alguns gráficos de estatística. Totalmente configuráveis e com varios tipos, e o melhor FREE!!!

Existe uma versão free e outra paga mas a free já supri muitas necessidades que temos.

FusionCharts: www.fusioncharts.com/free

falow!!!

19
Oct

Programação Orientada a Objeto (POO) usando JavaScript

JavaScript é uma excelente linguagem para desenvolver aplicações para web orientada a objeto. Pode POO porque ela suporta herança através de protótipos, bem como propriedades e métodos.Muitas pessoas não percebem que suporta JavaScript herança. Quando você escreve seus código me JavaScript orientado a objeto (OO) instantaneamente você dá mais poder para suas aplicações; Você pode escrever código que pode ser reutilizado e que está encapsulado em uma classe ou até em um namespace.

O que há de tão bom em objetos?

Objetos funcionam tão bem, porque eles agem como se tivessem vida própria – objetos têm propriedades e métodos que lhe dão uma liberdade de se manipular por completo. Portanto, se compararmos um objeto com uma lâmpada, uma das propriedades poderiam ser a sua altura ou largura, sendo 12cm. Um dos métodos de ela pode ser brilhar (uma ação).E quando ela brilha, a sua propriedade de brilho seria de um valor maior do que quando não brilhava.
JavaScript te dá a capacidade e o poder de fazer seus próprios objetos para suas próprias aplicações com suas devidas finalidades.

Criando objetos utilizando new Object ()

Existem várias formas de criar objetos em JavaScript, e todas elas têm o seu lugar. The simplest way is to use the new operator, specifically, new Object() : A maneira mais simples é usar o novo operador, especificamente, new Object ():

<script language=”javascript” type=”text/javascript”>
<!–
pessoa = new Object()
pessoa.nome= “Bruno Germano”
pessoa.pesso= “80kg”
pessoa.correr= function() {
    this.stado= “correndo”
    this.velocidade = “4ms”
}
//–>
</script>

Nós definimos um objeto personalizado “pessoa”, para ele, em seguida, acrescentar suas próprias propriedades e seus método depois. Neste caso, o método personalizado inicializaria mais duas propriedades.

Criando objetos utilizando Literais Notação (Literal Notation)

Outro forma de definir um objetos é através Literal Notation. Suportado pelo JavaScript ver. 1.2 é uma forma mais robusta de criar um objetos:

<script language=”javascript” type=”text/javascript”>
<!–
// Object Literals
brObject = {
    prop1 : “Ola!”,
    prop2 : “MmmMMm”,
    prop3 : ["mmm", 2, 3, 6, "kkk"],
    metodo1 : function(){alert(“O método foi acionado” + this.prop1)}
};
brObject.metodo1();
alert(brObject.prop3[2]) // responderá 3
var circulo = { x : 0, y : 0, raio: 2 } // outro exemplo
var retangulo = {
    pSuperiorE : { x : 2, y : 2 },
    pInferiorD : { x : 4, y : 4}
}
alert(retangulo.pSuperiorE.x) // responderá 2
//–>
</script>

Literal Notation pode conter matrizes, expressões arbitrárias JavaScript ou valores.

Embora utilizando o operador new ou notações literais para criar um objeto personalizado é simultaneamente simples e lógico.

Bom divertimento a todos e um grande abraço.

Créditos: Este tutorial é escrito por Tim Scarfe. Editado por JavaScriptKit.com e traduzido e adaptado pelo eGermano.com.





February 2012
S M T W T F S
« Jan    
 1234
567891011
12131415161718
19202122232425
26272829