Arquivos

Arquivo para a categoria ‘Programação’

Leap Motion será uma revolução na interação com o computador

O Leap Motion é um tecnologia revolucionária em termos de precisão e inovação.

É um pequeno aparelho colocado em frente ao computador, permitindo que o usuário interaja com suas aplicações em um espaço 3D. É mais de 100 vezes mais preciso que o Kinect, da Microsoft.

Poder interagir com aplicações feitas para trabalhar com essa nova forma de interação permite expandir de forma ilimitada as possibilidades. Você tem largura, altura, profundidade, velocidade de resposta e precisão milimétrica nunca antes vista.

A empresa Leap Motion abriu a pré-venda do equipamento para quem quiser encomendar. Eles estão prometendo a entrega para no máximo até  janeiro de 2013. Quem for desenvolvedor pode requisitar o SDK para já ir programando para o dispositivo.

Abaixo você poderá acessar no Google+ dois vídeos feitos pelos engenheiros do projeto e um do CEO da empresa, Michael Buckwald.
 

 

 

Introdução à programação para Android, com banco de dados (vídeo-aulas)

Essas vídeo-aulas, em português, ensinam a começar a programar para Android e vão direto ao assunto, inclusive banco de dados, sem enrolação ou complicações. É exatamente o que os programadores preferem quando vão aprender uma nova linguagem. Então, COMECE AGORA A PROGRAMAR PARA ANDROID!

Aula 1 - Interface gráfica com Listview (Início)
Programação Android 1 – Interface gráfica com Listview (Início)

Aula 2 - Criando banco de dados SQLite
Programação Android 2 – Criando banco de dados SQLite

Aula 3 - Continuação Banco de Dados e Mensagem de alerta
Programação Android 3 – Continuação Banco de Dados e Mensagem de alerta

Aula 4,5,6,7,8 e 9 - Clique para acessar as outras aulas

MyLogPHP – Uma classe para gerar arquivos de log

Recentemente criei um projeto no Google Code chamado MyLogPHP. É uma classe com foco em simplicidade na hora de gerar arquivos de LOG para os scripts PHP.

Para os programadores é extremamente importante registrar o que está acontecendo dentro de seus scripts, então resolvi criar essa ferramenta para facilitar o registro de ações e resultados dentro de um script.

Para utilizá-la, faça o seguinte:

Dentro do seu script, insira o arquivo da classe:

include('MyLogPHP.class.php');

Depois instancie o objeto da classe. São dois parâmetros opcionais que você pode passar para o contrutor. O primeiro é o nome do arquivo de log a ser gerado. Se for omitido, o arquivo de log gerado se chamará “_MyLogPHP.log.csv”. O segundo parâmetro é o separador de campos. Por padrão o CSV separa os campos com vírgula, mas o excel entende os arquivos CSV apenas se os campos estiverem separados por ponto-e-vírgula. Sendo assim, pode-se utilizar:

$log = new MyLogPHP('./log/debug.log.csv',';');

Verifique se o diretório onde o log será grava tenha permissão de escrita.

Execute um dos 4 métodos, “info“, “warning“, “error” ou “debug“, quantas vezes quiser dentro do script.

$log->info('Início do programa.');
$log->info('Essa mensagem será gravada no arquivo debug.log.csv','DICA');
$log->warning('Esse problema pode afetar a lógica do programa.');
$log->info('Asimov rulez','FACT');
$log->error('Problema?','IE');
$log->debug("select * from table",'DB');

O arquivo é gravado, como deve ter percebido, no formato .CSV. Abra-o com o OpenOffice ou Excel para poder filtrar os registros conforme sua necessidade.


Download MyLogPHP


Usar o WordPress.com ou baixar e instalar ele no seu servidor?

 
Cada uma das duas opções têm suas vantagens e desvantagens.

 

Opção 1:  Criar um blog no “www.wordpress.com“. Ex: isaacasimov.wordpress.com

Vantagens:
* Seu conteúdo está seguro contra falhas de servidor.
* O conteúdo colocado ficará na Internet para sempre, ou até o WordPress deixar de existir.
* É gratuito.

Desvantagens:
* Você não poderá ter um design personalizado. Terá que escolher um pré-pronto disponibilizado pelo WordPress (algumas centenas)
* Você não terá como instalar ao plugins do WordPress, que são várias melhorias para o seu blog.
* No futuro, você terá dificuldades para passar o conteúdo já criado para o seu servidor. Não é uma operação simples.
* Você não tem como colocar o AdSense, ou seja, não poderá ganhar dinheiro com o sistema de propaganda do Google, e com quase nenhum outro.
* Não pode usar o Google Analytics que permite ter relatórios completos de visitas. O WordPress já fornece o básico, mas o Analytics é muito mais completo e detalhado.

 

Opção 2: Criar um blog num servidor seu, e baixar o WordPress para instalar no seu servidor. Ex: http://www.seuservidor.com.br/~seublog

Vantagens:
* Você terá acesso direto ao banco de dados e diretórios do site quando precisar fazer um backup para o seu computador.
* Pode criar um design totalmente personalizado, já que você tem acesso ao código fonte, ou escolher entre milhares de outros designs já prontos.
* Pode instalar quantos plugins quiser (e isso é bastante útil).
* Pode trocar o blog de servidor com certa facilidade.
* Pode usar o Google AdSense e qualquer sistema de propaganda no seu blog.
* Pode usar o Google Analytics.

Desvantagens:
* Se der pane no servidor onde ele está hospedado, torça para a empresa que controla o servidor tenha backup atualizado.
* Se você trocar de servidor, todos os links do seu site mudam. Eles ficarão inválidos. Esse é um dos motivos que o ideal é já começar com um endereço próprio (www.seublog.com.br). O domínio também elimina o problema dos links na troca de servidor. Com um endereço próprio eles nunca vão ficar inválidos, já que trocar de servidor não significaria trocar de endereço.
* É preciso pagar uma empresa para hospedar o seu site. O valor gira em torno dos 30 reais trimestrais. Eu uso um gratuito, que também tem planos pagos. É o www.000webhost.com (como é gratuito, não se pode exigir nada, lembre-se disso).
 

Observações:
* Ter um domínio “.com.br” é importante para dar credibilidade ao site, e é barato. 30 reais por ano. Crie o seu domínio no registro.br.
* A melhor opção seria contratar uma empresa para hospedar o seu site e usar um domínio, simultaneamente. Assim evita-se todas as desvantagens (menos a questão da possibilidade de ocorrer uma pane no servidor da empresa hospedeira do site). Isso não é redirecionamento, porque se o visitante acessar www.seublog.com.br, ele não vai redirecionar para para lugar algum. Vai apenas mostrar o conteúdo do seu site que existe em “http://www.seuservidor.com.br/~seublog”, mas esse endereço do servidor fica oculto para quem está acessando.
* Você pode escolher criar um domínio seublog.com.br que irá redirecionar para seublog.wordpress.com, mas mesmo assim você terá todas as vantagens e desvantagens da primeira opção. A única vantagem extra é a da credibilidade, que fica um pouco maior. Foi esse redirecionamento que eu fiz com o site www.isaacasimov.com.br.

Como criar um banco de dados no MySQL

O objetivo deste artigo é explicar o básico do MySQL, o suficiente para uma usuário que nunca utilizou ele, possa instalar, criar e utilizar suas primeiras tabelas.

Passo 1: Instalar o MySQL

Existe N maneiras de instalar o MySQL, tanto no Windows como no Linux. Vou explicar apenas uma, a maneira mais fácil. Instale o XAMPP, um pacote que instala o Apache, o MySQL e o PHP na sua máquina, assim ela já estará pronta para você desenvolver sites usando PHP.

Baixe o XAMPP, instale ele em “c:\xampp” e inicie o MySQL pelo c:\xampp\xampp-control.exe

Com o xamp-control aberto, clique no botão “Start” que fica ao lado do “MySQL”. Vai aparecer um “Running” do lado do botão, indicando que o servidor MySQL está rodando na porta 3306.

Passo 2: Conectar no servidor MySQL

Agora já podemos abrir algum cliente do MySQL. Para quem não sabe, um cliente para o MySQL é um programa que vamos utilizar para se conectar e utilizar os recursos do servidor MySQL, como executar SELECTs, INSERTs e DELETEs.

Abra o prompt do DOS (iniciar/Executar, digite cmd e dê ENTER).

No prompt, entre na pasta do cliente do MySQL que vem com ele. É um cliente em modo texto.

c:\>cd \xampp\mysql\bin

Execute o cliente, acessando o servidor “localhost”, como o usuário “root”, sem senha.

mysql -h localhost -u root

ATENÇÃO! O usuário “root” nunca pode ficar sem senha. Ele é o usuário com poderes totais no servidor MySQL. Mas para este tutorial, deixaremos sem senha.

Passo 3: Criar um banco de dados e uma tabela

Crie um banco de dados com o comando “create database”.

mysql>create database bdteste;

Abra o banco de dados:

mysql>use bdteste;

Crie uma tabela para armazenar contatos:

mysql>create table contatos (id integer not null primary key auto_increment, 
nome varchar(50) not null unique, data_nasc date, num_filhos integer, 
salario numeric default 0.0);

Insira umas três pessoas  na tabela contatos:

mysql>insert into contatos(nome, data_nasc, num_filhos, salario) values 
("Ana Paula", "1992-07-25", 2, 1420.79);
mysql>insert into contatos(nome, data_nasc, salario) values 
("Tancredo", "1972-01-14", 2000);
mysql>insert into contatos(nome) values ("Daneel Olivaw");

Com essas 3 pessoas inseridas, vamos pesquisar por elas no banco de dados:

mysql>select * from contatos;

Vamos criar outra tabela, para guardar os emails dessas pessoas:

mysql>create table emails (id integer not null primary key auto_increment, 
id_contato integer not null, email varchar(40) not null unique);

Vamos colocar um e-mail para a Ana e dois para o Daneel (atenção, o campo “id_contato” abaixo deve ser o id que o “contato” recebeu).

mysql>insert into emails (id_contato, email) values 
(1, "ana_paula190@email.com");
mysql>insert into emails (id_contato, email) values 
(3, "daneel@mailserver.com");
mysql>insert into emails (id_contato, email) values 
(3, "dolivaw@email.com");

Agora vamos listar as pessoas e seus respectivos emails:

mysql>select c.nome, e.email from contatos c 
left join emails e on c.id = e.id_contato;

Liste todas as tabelas que você acabou de criar:

mysql>show tables;

E para finalizar, saia do cliente MySQL:

mysql>exit;

PRONTO! Agora você já sabe instalar e acessar um servidor MySQL no Windows, criar um banco de dados e tabelas. Inserir e consultar dados. Para se aprofundar, tem milhares de tutoriais na Internet.

Espero que este artigo tenha sido útil para você.

Porque o Total Commander é imbatível

total-commander
Total Commander
freecommander
FreeCommander
xplorer2
xplorer²

Algumas pessoas usam, outras não. Algumas nem dão falta. A verdade é que a maioria dos gerenciadores de arquivos provê ótimas funcionalidades que o Windows Explorer apenas sonha ter.

Em meados da última década do século passado (ok, 1995), um amigo (@nickemerson) me apresentou o Total Commander, hoje o MELHOR GERENCIADOR DE ARQUIVOS DO MUNDO. Dramático. Claro que na época era para mim apenas mais um file manager. Somente depois, com vários testes passando pelos mais variados gerenciadores é que fui concluir que ele é realmente, o melhor de todos.

Eu sei, todos tem os seus aplicativos preferidos, seu SO preferido, seu editor de código, etc. Porém, se qualquer file manager fosse melhor do que o Total Commander, eu tinha trocado na hora. Mas isso nunca aconteceu porque são os  pequenos detalhes que fazem a diferença. Testei pelo menos uns dez, e desses, selecionei dois que considero bons, além do próprio Total Commander.

Apresento então, aqui e agora, os três motivos do “Porque o Total  Commander é imbatível“.

#1 : Copiar arquivos

Numa cópia, quando um ou mais arquivos existem no destino, o usuário deve intervir na execução do comando. O Total Commander é o que tem a maior gama de opções dos três, incluindo duas que acho fundamentais, a opção  ”Substituir antigos” e “Renomear”.


Total Commander

total-commander-filecopy


FreeCommander

freecommander-filecopy

freecommander-filecopy2


xplorer²

<xplorer-filecopy

#2 : Procurar arquivos

Todos os três apresentaram ótimos resultados na velocidade das buscas, muito superiores à pequisa padrão do Windows Explorer, porém o xplorer² falhou feio ao trazer menos resultados que o real na pesquisa (sim, em marquei a opção recursivo). Em todos eu busquei por *.dll dentro da pasta Windows . Dos três, o FreeCommander é o único que não traz o opção de busca por expressão regular. Ponto para o Total Commander.

#3 : Comparar arquivos

Apenas o Total Commander tem o recurso de comparar arquivos, como num diff visual, permitindo facilmente eu encontrar as diferenças entre arquivos. Ótimo recurso para programadores.

total-commander-filecompare


Essas três são, na minha opinião, os motivos principais que me levam a utilizar o Total Commander. Sem falar que ele tem dezenas de outros excelentes recursos como cliente ftp, split e join de arquivos, compactador de arquivos, sync de diretórios, etc, fruto de mais de quinze anos de desenvolvimento e novas implementações. Ele é shareware (como o xplorer²), mas sua única “limitação” é uma “nag screen” que aparece quando você executa ele, e só. Pode usar quanto quiser.

Também não quero que ninguém ache que sou só eu que considero ele o melhor gerenciador de arquivos. Por isso busquei na Internet sobre o que outros achavam. Segue abaixo um screenshot do resultado de uma enquete feita pelo famoso site LifeHacker.

poll-other

Links:
Site oficial do Total Commander
Site oficial do FreeCommander
Site oficial do xplorer²

Veja também a lista de alguns dos principais recursos do Total Commander.

Introdução ao PHP (com banco de dados)

Objetivo:
Este artigo foi escrito tendo em mente que o leitor já tem noções de programação e banco de dados, ou já é experiente mas não conhece o PHP. Sigo uma linha mais direta, visando evitar a aborrecida abordagem de TODAS as possíveis variáveis, tipos, tipos, controle-de-fluxo, etc. Para se aprofundar, basta pesquisar.
O que é o PHP:
O PHP é uma linguagem de script utilizada principalmente para a criação de sites e aplicativos web. Também é utilizado (menos largamente) na criação de scripts para serem utilizados na linha comando, a fim de facilitar e automatizar certas tarefas.
Para rodar scripts escritos em PHP é preciso apenas baixar os módulos e bibliotecas da linguagem. Nem é necessário “instalar” propriamente dito, porque é só descompactar e usar. Porém, para ter ele funcionando para os sites é preciso antes instalar um servidor web (leia-se Apache) e configurar o Apache para interpretar o PHP.
O segundo passo é instalar o MySQL e configurar o PHP para reconhecê-lo.
Como essa instalação e configuração toda foge do escopo deste artigo, recomendo (para quem ainda não tem o Apache, o PHP e o MySQL funcionando) instalar um AMP, que são pacotes já com esses três itens pré-configurados. Instale o XAMPP ou o EasyPHP, coloque o Apache e MySQL para rodar (os dois tem uma interface bem intuitiva para isso) e vamos lá.
Crie no diretório www ou htdocs do seu AMP um script chamado basico.php. O objetivo desse script é mostrar, numa lapada só, o mínimo necessário da sintaxe da linguagem.
Todo script, ou trecho de código PHP, deve ficar entre “”. O script vai declarar um array, varrer ele, testando se existe o elemento “inverno” e, se existir, vai concatenar ele com uma variável, que será exibida no final.

Objetivo:

Este artigo foi escrito tendo em mente que o leitor já tem noções de programação e banco de dados, ou já é experiente mas não conhece o PHP. Sigo uma linha mais direta, visando evitar a aborrecida abordagem de TODAS as possíveis variáveis, tipos, controle-de-fluxo, etc. Para se aprofundar, basta pesquisar.

O que é o PHP:

O PHP é uma linguagem de script utilizada principalmente para a criação de sites e aplicativos web. Também é utilizado (menos largamente) na criação de scripts para serem utilizados na linha comando, a fim de facilitar e automatizar certas tarefas.

O que é necessário para fazê-lo funcionar:

Para rodar scripts escritos em PHP é preciso apenas baixar os módulos e bibliotecas da linguagem. Nem é necessário “instalar” propriamente dito, porque é só descompactar e usar. Porém, para ter ele funcionando para os sites é preciso antes instalar um servidor web (leia-se Apache) e configurar o Apache para interpretar o PHP.

O segundo passo é instalar o MySQL e configurar o PHP para reconhecê-lo.

Como essa instalação e configuração toda foge do escopo deste artigo, recomendo (para quem ainda não tem o Apache, o PHP e o MySQL funcionando) instalar um AMP (Apache-MySQL-PHP), que são pacotes já com esses três itens pré-configurados. Instale o XAMPP ou o EasyPHP, coloque o Apache e MySQL para rodar (os dois tem uma interface bem intuitiva para isso) e vamos lá.

Crie no diretório www ou htdocs (ele fica dentro do diretório onde você instalou o AMP) um script chamado basico.php. O objetivo desse script é mostrar, numa lapada só, o mínimo necessário da sintaxe da linguagem.

Todo script, ou trecho de código PHP, deve ficar entre “<?php” e “?>“. O script vai declarar um array, varrer ele, testando se existe o elemento “inverno” e, se existir, vai concatenar ele com uma variável, que será exibida no final.

basico.php

<?php
	$resultado = 'Estamos no ';
	/*
	- O tipo dessa variável "$resultado" é automaticamente setado como string, porque ela recebeu um valor desse tipo. Um inteiro seria $contador = 1000 e um float seria $pagar = 75.25
	*/

	$aEstacoes = array('idx01' => 'Verão', 'idx02' => 'Outono', 'idx03' => 'Inverno', 'idx04' => 'Primavera');
	/*
	- Pode-se omitir o índice. Ex: array('Verão','Inverno'). Nesse caso cada elemento receberá um índice numérico, começando do zero.
	- O array mode ter quantas dimensões precisar: ex: array(0 => array('nome' => 'Lawrence', 'email' => 'llagerlof@gmail.com'), 1 => array('nome' => 'Angélica', 'email' => 'angelica.lagerlof@gmail.com'))
	- Uma observação: eu costumo iniciar as variáveis do tipo "array" com "a", para identificá-la melhor visualmente.
	*/

	foreach ($aEstacoes as $key => $value) {
		if ($value == 'Inverno') {
			$resultado .= $value;
		}
	}
	/*
	- A linha do "if" poderia ser substituída por: if ($aEstacoes[$key] == 'Inverno') {
	- A linha do "$resultado" é o mesmo que: $resultado = $resultado . $value;
	- Já percebeu que comparação é feito com "==" e atribuição com "=", certo?
	*/

	if (strpos($resultado,'Inverno') === false) {
		echo 'Não existe a palavra Inverno na lista.';
	} else {
		echo $resultado;
	}
	/*
	- No PHP, zero equivale a falso. O problema é que TAMBÉM existe o tipo boolean FALSE. A função strpos que usei pra testar se existe a palavra "Inverno" dentro da string "$resultado" retorna a posição da palavra no $resultado, só que se "Inverno" estiver no início da string a função retorna ZERO, que é a primeira posição. Logo, se eu testar se zero é igual (==) a false, vai dar TRUE na comparação. Nos casos em que você precisar diferenciar zero de FALSE, use "===".
	- "echo" joga a string para a saída padrão (o terminal, o navegador, etc). Poderia ser "print" no lugar de "echo".
	*/
?>

Teste o código acessando o endereço do seu servidor local: http://localhost/basico.php

Conectando, inserindo e acessando dados no banco

Já dá para começar a ficar sério. Vamos criar um cadastro com HTML e PHP. Crie um arquivo cadastro.php e insere.php

cadastro.php

<html>
	<body>
		<form name="form1" method="post" action="insere.php">
			Nome: <input type="text" name="nome"><br>
			Idade: <input type"text" name="idade"><br>
			<input type="submit" value="Enviar">
		</form>
	</body>
</html>

Quando o usuário clicar no botão Enviar, será criado no script insere.php um array $_POST, com o nome e a idade digitados.
Vamos ver agora como manipular essas variáveis e, de quebra, inserir o indivíduo na tabela “pessoas” do banco de dados “BANCO1“.

Para facilitar, segue abaixo o “create” da tabela “pessoas”. Se precisar, leia como criar um banco no MySQL.

create table pessoas (id integer not null primary key auto_increment, nome varchar(50) not null unique, idade integer);

insere.php

<?php
	$n = $_POST['nome'];
	$i = $_POST['idade'];

	$conexao = mysql_pconnect("localhost","root","");
	// localhost = servidor do mysql.
	// root = usuário do mysql com permissão para acessar o banco.
	// "" = senha do banco de dados para o usuário root. O meu MySQL local está sem senha, por isso deixei vazio.

	$bd = mysql_select_db("BANCO1");

	$sql = "insert into pessoas (nome, idade) values ('$n',$i)";
	/* Você pode colocar variáveis diretamente dentro de strings definidas com aspas duplas. Elas serão "traduzidas" para seus respectivos valores. */

	$query1 = mysql_query($sql);
	/* mysql_query()  Executa a query. Nesse momento a pessoa é inserida no banco de dados. Agora não tem mais volta. */

	// Aproveitando a deixa, logo após a inserção, vamos listar todas as pessoas da tabela.

	$query2 = mysql_query("select * from pessoas");

	while ($registro = mysql_fetch_array($query2)) {
		echo 'Id: ' . $registro['id'] . '<br>';
		echo 'Nome: ' . $registro['nome'] . '<br>';
		echo 'Idade: '  . $registro['idade'] . '<br>';
		echo '-------------------------------<br>';
	}

	mysql_close($conexao);

	/*
	Para quem já programa, o código é auto-explicativo. Apenas algumas observações:
		-  mysql_pconnect() cria uma conexão persistente com o servidor do MySQL, o seu computador neste caso. Se não quiser uma conexão persistente, use mysql_connect().
		- mysql_select_db() seleciona o banco em que será executado os SQLs posteriores.
	*/
?>


Teste o código acessando o endereço do seu servidor local: http://localhost/cadastro.php
Maravilha! Temos um cadastro e uma consulta funcionando. Agora você já sabe o necessário para começar a criar sites com bancos de dados. Lembre-se, no final, tudo se resume a cadastros e consultas ao banco de dados.

Dica bônus 1:

Quando os dados são passados através de um formulário você recupera os valores através do array $_POST. Quando você passar variáveis através da URL, recupere-as pelo array $_GET. Por exemplo, se você acessar pelo navegador http://localhost/insere.php?nome=Lawrence&idade=20 , essas duas variáveis vão chegar no script insere.php, só que você deve acessá-las lendo os valores de $_GET['nome'] e $_GET['idade'] .

Dica bônus 2

Você pode inserir scripts dentro do código html. Veja o exemplo:

<html>
	<body>
		<p>Este parágrafo está fixo no HTML.</p>
		<?php
			echo '<p>Este parágrafo está sendo gerado dinamicamente pelo PHP.</p>';
		?>
	</body>
</html>

Consulte também:

  • A documentação oficial do PHP. É uma das melhores existentes. Bem explicado e com muitos exemplos.
  • PHP Brasil. É o maior portal de PHP do Brasil. Muitos scripts, artigos e tutoriais.
  • Smarty. Uma biblioteca que permite você criar suas páginas usando PHP e HTML em arquivos separados, evitando assim a bagunça que inevitavelmente acontece quando é utilizado a “Dica bônus 2″. Aqui você começa ficar profissional.
  • MVC (Model View Controller). É a coqueluche atual da programação orientada a objetos. Se quiser sair na frente, caia de cabeça no modelo de desenvolvimento MVC. Aprenda a trabalhar com o Zend Framework, o CakePHP ou o CodeIgniter. É isso que as empresas que trabalham com PHP estão usando hoje em dia.
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.