Axl Rose está com um post-it do Sprint atrasado

22 11 2011

A estória “Chinese Democracy” está com um post-it atrasado para atender!

Axl Rose do Guns n' Roses está com um post-it atrasado no Sprint (SCRUM)

Axl Rose do Guns n' Roses está com um post-it atrasado no Sprint (SCRUM)





BANCO DE DADOS: É importante usar sufixo e prefixo para criar tabelas? Porque?

3 08 2011

Olá!

Resolvi escrever sobre sufixo e prefixo para criação de tabelas em banco de dados pois notei que esse assunto as vezes não é tão claro como deveria.

Bom, diante da pergunta se “É importante usar sufixo e prefixo para criar tabelas? ” já posso dizer que a resposta é “SIM”, é importante!

Pra entendermos, vamos pensar na situação onde temos 2 tabelas, Pessoa e Departamento. Logicamente, uma pessoa está ligada à um departamento, isso quer dizer que vai existir uma query de ligação entre elas. Mas, imagine que temos o Nome do Departamento e o Nome da Pessoa. Desta forma temos 2 campos descritos da mesma forma: “Nome”, a princípio sem o sufixo.

Agora vamos à query:

SELECT Pessoa.Nome, Departamento.Nome FROM Pessoa, Departamento

À principio a query vai funcionar e está correta, porém podemos dizer que, para longas queryes (o que é normal) a falta do sufixo ou prefixo torna a cláusula SQL menos legível e nos dá um pouco mais de trabalho para incluir o nome das tabelas de origem. Então vamos adotar o seguinte sufixo: NomePes para a tabela Pessoal e NomeDep para a tabela departamento. Assim, temos a segunte query:

SELECT NomePes, NomeDep FROM Pessoa, Departamento

Imaginando uma query com 3 ou 4 tabelas e diversos Joins, realmente o código fica extremamente legível.

Da mesma forma podemos definir um prefixo para a chave primária da tabela, como por exemplo CodPessoa e CodDepartamento.

É isso, até a próxima!





PHP: Como corrigir o erro de date timezone?

17 11 2010

Estava eu programando tranquilamento quando me deparei com o erro de date.timezone. Caramba, o que é isso? Bom, depois de pesquisar um pouco em alguns sites descobri que o PHP contém a configuração de tempo e local, e esta deve ser definida no arquivo de configurações do PHP: php.ini. Legal!

Pra resolver isso basta tirar o comentário da seguinte linha, que no meu caso estava assim:

;date.timezone =

Retirando o comentário e definindo o local, ficou assim:

date.timezone = "America/Sao_Paulo"

Perfect! Nada mais de erros e warnings!





Fatal error na função curl_init! Como habilitar o curl no php xampp?

27 09 2010

Estava eu desenvolvendo uma aplicação que se utiliza da classe curL, porém tive a seguinte mensagem:

Fatal error: Call to undefined function curl_init()

Legal, e agora? Preciso instalar o curl?

A resposta é não!

Basta habilitar no php.ini!

Vamos lá! Retire o ‘;’ da seguinte linha:

;extension=php_curl.dll

Blz, agora reinicie o xampp/Apache!

Pronto! Perfect!





Design Patterns: Frase do dia 06 de Agosto de 2010

6 08 2010

O que é Design Patterns?

“Um padrão de design descreve o problema, uma solução para o problema,que consiste em um arranjo geral de objetos e classes, o momento de aplicar a solução e as consequências da aplicação da solução.” (Gamma,E., Helm, R., Johnson, R., Vlissides, J., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional; 1995)





PROGRAMAÇÃO: Como contar palavras e contar letras com a linguagem de programação PHP?

24 07 2010

Essa semana enfrentei um dilema, precisei quebrar a frase em palavras nos espaços em branco. Até aí ta fácil, porém depois precisei contar as letras de cada palavra e somar até dar o número determinado. Quando chegar nesse número preciso quebrar a linha. Legal né?! ;-()

Bom, pra resolver essas questões, voltei a dar uma estudada no básico do PHP. Dependendo do que você precisa fazer, você tem funções prontas específicas. Vamos às situações:

1) Quebrar a frase nos espaços em branco

Fácil! Utilize a função EXPLODE  do PHP.
Definição do site php.net

array explode( string $delimiter , string $string [, int $limit> ] )

Vamos pegar meu nome completo como exemplo:

$stringNome = "Dilberto Gabriel Rosa";
$nomeQuebrado = explode(" ", $stringNome);
echo $nomeQuebrado[0]; // Dilberto
echo $nomeQuebrado[1]; // Gabriel
echo $nomeQuebrado[0]; // Dilberto

2) Contar o número de palavras na frase

Agora que já quebramos a frase, temos um array onde cada índice do array contém uma palavra. Pra contar o número de palavras basta contar quantos elementos temos no array gerado.

echo 'Total de palavras: '.count($nomeQuebrado);

3) Contar o número de letras enquanto mostra as palavras

Bom, aqui a parte mais trabalhosa, onde teremos que ler cada índice do array, e para cada índice do array lido temos que ler letra por letra e incrementar nosso contador. Desta forma, ao final do último índice do array temos o total de letras de toda a string inicial.

Vamos ao código:

//Criando a variável que vai contar letra por letra
$contaLetra = 0;

//Loop que vai olhar palavra por palavra do array
foreach($nomeQuebrado as $nq) {
    //Loop que vai olhar em cada palavra, letra por letra do array e incrementar o contador
	for($i=0;$i<strlen($nq);$i++) {
	   <code>echo '<br>'.$nq[$i];</code>
	   <code>$contaLetra++;</code>		
	}

	//Quebrando linha depois da palavra
	echo '<br>';

}

//Mostrando o total de letras da nossa frase
echo '<br>Total de Letras: '.$contaLetra;

4) Quebrar linha quando passar de 10 letras

Ótimo! Agora ficou fácil, se você precisar quebrar linha no momento em que passar 10 letras por exemplo, basta incluir uma condicional validando dentro do primeiro loop, desta forma você vai quebrar linha ao final da palavra, e não no meio dela, o que é mais correto.
IMPORTANTE: não esqueça que quando você quebrar a linha deve zerar o contador para que comece validar as próximas 10 letras. E finalmente, é necessário criar um novo contador se quiser saber quantas letras existem na frase inteira.

Confira o código completo:

//String definida
$stringNome = 'Dilberto Gabriel Rosa Teste Teste2 Teste3';

//Gerando array com todos os nomes
$nomeQuebrado = explode(' ',$stringNome);

//Criando a variável que vai contar letra por letra
$contaLetra = 0;

//Variável que vai armazenar o total geral de letras
$ContaLetrasTotal = 0;

//Loop que vai olhar palavra por palavra do array
foreach($nomeQuebrado as $nq) {
	
	//Validando se chegou ao número máximo de letras para quebrar a linha
	if($contaLetra > 10) {
		echo '<br>';
		$contaLetra = 0;
	}
	//Loop que vai olhar em cada palavra, letra por letra do array e incrementar o contador
	for($i=0;$i<strlen($nq);$i++) {
		echo $nq[$i];
		$contaLetra++;
		$contaLetraTotal++;		
	}
	
	//espaço entre as palavras e incrementando contador
	echo ' ';
	$contaLetra++;
	$contaLetraTotal++;		

}

//Mostrando o total de letras da nossa frase
echo '<br>Total de Letras: '.--$contaLetraTotal;

Bom final de Semana!





Como utilizar jQuery no WordPress

2 06 2010

O wordpress traz inúmeros recursos, mas, se você quer utilizar os teus conhecimentos em jQuery, também pode aplicar de forma bem fácil.

Na seção Head do arquivo header.php inclua a seguinte linha:

<?php wp_enqueue_script(“jquery”); ?>

Pronto! Agora é só usar o jQuery normalmente!

Bom feriado!





Conhecendo Ruby on Rails

11 05 2010

Muito boa essa apresentação de slides sobre Ruby on Rails para quem está começando!





jQuery: Como marcar todos os checkbox com um click?

30 04 2010

Bom dia!

Neste meu primeiro post relativo a jQuery trago um exemplo muito simples e extremamente útil quando se trata de manipulação de elementos html do tipo checkbox.

Eis a questão: Como marcar todo os checkbox com um click?

Inicialmente você cria o formulário contendo quantos checkbox desejar e um botão que realizará a função de marcá-los.

Vamos programar o botão?

jQuery(document).ready(function() {

jQuery(“#marcarTodos”).click(function() {

jQuery(“input[type=checkbox]“).attr(“checked”,”true”);

}

}

Pronto!

Importante: Certifique-se de que a id do botão é “marcarTodos”.





Você sabe o que é POG (Programação orientada a gambiarras)?

9 12 2009

Vou estar postando semanalmente um exemplo de POG, para esta semana teremos uma imagem que resume o assunto. É triste, mas é a realidade. E isso também é feito no mundo da programação.

POG

POG

Abraço.








Seguir

Obtenha todo post novo entregue na sua caixa de entrada.