Programação

timing Alejandro Moraga 28 December 2010 – 5:09 pm

Tempo de execução de script em PHP

<?php function timer($k) { static $s = array(); // se a chave não existir é criado um tempo para ela if (empty($s[$k])) $s[$k] = microtime(true); // se ela existir é retornado a diferença entre o agora e o seu valor else return microtime(true) – $s[$k]; } ?> Exemplos: // cria um momento para 1 timer(1); [...]

tabs-interface Alejandro Moraga 9 December 2010 – 6:32 am

Interface com abas

Exemplo. Testado no IE7, IE8, Chrome e Firefox. A primeira tarefa é criar o HTML. Nada muito complicado, abas em li e o conteúdo em div. Tudo mantido dentro de uma div principal que usaremos para executar o jQuery. <div class=”tabs”> <ul> <li class=”in”>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> </ul> <div style=”display:block”> Conteúdo [...]

learning Alejandro Moraga 8 December 2010 – 6:05 pm

Introdução a programação orientada a objetos e herança

Programar orientado a objetos é muito mais que construir classes e métodos. A Wikipédia define como paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos. Resumindo: programar pensando em objetos da vida real. A linguagem de programação Java te força a [...]

receita-federal Alejandro Moraga 7 December 2010 – 8:31 am

Validar CNPJ em PHP

Assim como o CPF, o CNPJ são números que seguem uma lógica matemática e, conhecendo essa lógica podemos construir funções para verificar se os números fornecidos são ou não CNPJ. Is_cnpj é uma função em PHP que valida CNPJ. Se a string de entrada for um CNPJ ela é retornada sem formatação (14 caracteres) ou [...]

cut-head Alejandro Moraga 6 December 2010 – 6:16 am

Cortar strings sem cortar palavras

Extrair parte de um texto é uma tarefa que precisa de um pouco de cuidado. Um simples substr pode acabar cortando uma palavra ao meio, dando um novo significado ao texto. Observe o exemplo abaixo: substr(‘Programa transforma celulares comuns em smartphone’, 0, 25); >> Programa transforma celula De “celulares” passou a ser “celula”. A frase [...]

hunter Alejandro Moraga 3 December 2010 – 6:45 am

Caçar palavras com expressão regular

Palavras são conjuntos de letras minúsculas e/ou maiúsculas. ([A-Za-z]+) Parênteses delimitam um bloco que quando encontrado deve ser retornado; A-Z representa as letras maiúsculas; a-z representa as letras minúscula; e “+” indica que deve existir ao menos uma letra e pode haver outras inúmeras (uma ou mais). Vamos testar a expressão regular em algumas palavras: [...]

wizard Alejandro Moraga 2 December 2010 – 6:31 am

Converter array para URL

$_GET é um array (ou matriz) de variáveis passadas na URL. Por exemplo, a URL: http://exemplo.com?nome=Alejandro&pais=Brasil&regiao=Sudeste Tem as variáveis: print_r($_GET); array ( nome => Alejandro, pais => Brasil, regiao => Sudeste ) Acessamos esses valores usando seus índices no array $_GET. echo $_GET['pais']; // exibe Brasil echo $_GET['regiao']; // exibe Sudeste Converter array em variáveis [...]

html5 Alejandro Moraga 1 December 2010 – 6:32 am

Placeholder do HTML5 em navegadores sem suporte

Placeholder é um novo atributo do HTML5. Sua funcionalidade é simples: adicionar um valor padrão em inputs e textareas quando o campo estiver vazio. Funciona como rótulo. <input type=”text” placeholder=”Digite seu nome aqui!” /> Alguns navegadores, como o Firefox até pelo menos a versão 3.6, não tem suporte a esse atributo. O código abaixo é [...]

shaving-time Alejandro Moraga 29 November 2010 – 8:09 am

Remover acentuação em Python

O código remove a acentuação das letras substituindo por caracteres simples. De ã para a, ç para c. def rem_acentuacao(str): from unicodedata import normalize return normalize(‘NFKD’, str.decode(‘utf-8′)).encode(‘ASCII’, ‘ignore’) Exemplos: >>> rem_acentuacao(‘não faça’) nao faca

some-optimization-curves Alejandro Moraga 28 November 2010 – 8:05 am

Como calcular o tempo de execução

def timer(fn, *args): import time start = time.clock() return fn(*args), time.clock() – start Timer cálcula o tempo de execução das funções feitas em Python. Note que se a função tiver parâmetros eles serão honrados. Exemplo: def teste(): for i in range(1000): pass Vamos ver quanto tempo leva para teste ser executada. >>> timer(teste) (None, 7.2473550517315743e-05)