quarta-feira, 2 de dezembro de 2009

Exemplo JDBC

Dou aula de aplicações Web e uma das coisas que meus alunos têm mais dificuldade é na conexão entre Java e o Banco de Dados relacional. Em um dos posts anteriores, Instalando o XAMPP , eu mostrei como instalar o XAMPP um gerenciador de aplicações que contém o MySQL. No post de hoje, vou utilizar o MySQL do XAMPP para criar uma aplicação que use JDBC:

1. Devemos iniciar o XAMPP através do atalho criado na área de trabalho:















2. Em seguida devemos iniciar o MySQL no painel de controle do XAMPP, e entrar no ambinte de administração clicando em "Admin", chamado phpMyAdmin:


















3. Vamos criar um Banco de Dados chamado EXEMPLO, com a tabela USUARIO:
































4. Vamos criar uma classe no Eclipse para acesso a essa tabela. Primeiramente, criamos um projeto Java:



















5. Na sequência, vamos criar uma classe nesse projeto:












6. Para que nosso exemplo esteja completo, precisamos do driver JDBC para MySQL presente no classpath do nosso projeto. Podemos encontrar esse driver em: http://dev.mysql.com/downloads/connector/j/5.1.html

7. Para adicionar o driver devemos: (1) ir em propriedades (Properties) do projeto; (2) Java Build Path; (3) Add External Jars...; (4) encontrar o arquivo .jar correspondente ao driver MySql que está no .zip que acabamos de baixar.

segunda-feira, 30 de novembro de 2009

Você gosta de programar?


Eu gosto!

Pra quem respondeu o mesmo, fica a dica de livro:

Programming Challenges, de Steven Skiena e Miguel Revilla.


Vale a pena estudar a lógica e a matemática por trás desses programas aparentemente inúteis.

domingo, 4 de outubro de 2009

Web 2.0 e Computação Ubíqua

No final dos anos 80 duas revoluções estavam ocorrendo concomitantemente: a criação da Internet (ou Web) no laboratório do CERN e os primeiros estudos sobre Computação Ubíqua no lendário XPARC. Após quase duas décadas de evolução, as tecnologias envisionadas por Tim-Berners Lee e Mark Weiser tornaram-se onipresente em nosso cotidiano.
O advento da Web marcou o início de uma revolução que ainda hoje modifica a sociedade. Na sua primeira década, entre outros avanços, essa revolução facilitou o acesso às informações, criou uma opção de baixo custo à telefonia tradicional e criou novos modelos de negócios. Entretanto, nos últimos anos a própria Web está passando por uma revolução, chamada Web 2.0, subvertendo a lógica, que remonta à Gutemberg, da distribuição em massa de informações outorgando a qualquer pessoa um acesso aos meios de criação, publicação e distribuição do conhecimento. Ao observar tal evolução, Tim O’Reilly cunhou o termo Web 2.0 para designar uma nova geração de aplicações que aproveitam os efeitos da colaboração para se tornarem melhores.
A Computação Ubíqua, ocasionou a fragmentação do computador tradicional, de propósito geral e imóvel, para um largo espectro de dispositivos móveis especializados e conectados em rede. Segundo Mark Weiser, o pai da Computação Ubíqua, “as mais profundas tecnologias são as que desaparecem”. Neste sentido a Computação Ubíqua pode ser considerada o oposto da Realidade Virtual. Enquanto na segunda o usuário penetra no mundo virtual criado pelos computadores, na primeira é a computação que penetra no mundo físico do usuário, construindo a ponte que liga esses dois mundos.
Sob o prima da Web 2.0, a Computação Ubíqua é mais que mover as informações de um PC para um dispositivo móvel. Esse novo paradigma computacional permitirá, não só aos usuários criar, acessar e compartilhar informações, mas também aos próprios dispositivos (e.g., sensores, celulares, smartphones, etiquetas inteligentes) prover informações contextuais (e.g., localização do usuário, temperatura local, vídeos de segurança) às aplicações. Nesse caso, o conhecimento criado de forma automática, a partir desses dispositivos, poderá enriquecer as aplicações da Web 2.0
As informações tornam-se ainda mais importantes numa sociedade em rede. Diversos cenários podem ser imaginados no qual o uso de informações de contexto possam ser combinadas às aplicações da Web 2.0, por exemplo: a combinação entre a localização de usuários, monitorada através de um sensor GPS, e um guia de atrações de entretenimento atualizado através de um ambiente da Web 2.0; ou mashups entre aplicações móveis e informações intrinsecamente coletivas (e.g., trânsito, criminalidade, clima) coletadas em tempo real.
Indubitavelmente, segurança e privacidade estarão em pauta quando redes de sensores estiverem conectadas à redes sociais virtuais como o Facebook, Orkut ou LinkedIn. Até que ponto desejaremos que tais informações sejam coletas, registradas e expostas? Quais serão os limites? Quem será responsável por impor tais limites? São questões que ganharão atenção nos próximos anos.
Entretanto, as oportunidades advindas dessa convergência deverão satisfazer de forma plena as propostas inciais da Web, facilitar o compartilhamento de conhecimento, e da Computação Ubíqua, tornar a interação humano-computador transparente, permeando os ambientes sociais. Dessa forma, a alvorada dessa nova tendência deverá surgir em pouco tempo. Alguns dos primeiros sinais são: a utilização massiva de celulares para acesso à Internet; o uso de redes sociais, principalmente do Twitter, através de telefones celulares; mashups que coletam e/ou disponibilizam informações colaborativas através de dispositivos móveis; e o uso de feeds RSS em telefones celulares para acesso em tempo real de informações provenientes de blogs ou redes notícias.

sexta-feira, 2 de outubro de 2009

Programação e PBL

Atualmente, além de analista de suporte e aluno de doutorado, sou professor universitário. Para minha sorte, dou aula da matéria que mais gosto em Ciência da Computação: programação. Durante o meu doutorado tive a oportunidade de conhecer o Problem Based Learning (PBL), uma metodologia de ensino baseada na epistemologia genética de Jean Piaget. A idéia básica do PBL é que o conhecimento não é ensinado pelos professores, mas sim aprendido pelos estudantes e que a melhor maneira para isso acontecer é envolver os estudantes em problemas reais, centrados na sua vivência diária e incentiva-los a resolver esses problemas em grupos. Para mim, essa idéia é examente a maneira pela qual um curso de programação deve motivar seus estudantes. Atualmente, estou trabalhando com isso nas minhas aulas de Práticas em Linguagens de Programação da Uninove.

domingo, 27 de setembro de 2009

Instalando o XAMPP



O XAMPP é uma ferramenta bem interessante para fins educacionais. Consiste de um pacote da Apcahe que contém Apache, MySQL, PHP + PEAR, Perl, mod_php, mod_perl, mod_ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System for Win32 e NetWare Systems v3.32, JpGraph, FileZilla FTP Server, mcrypt, eAccelerator, SQLite e WEB-DAV + mod_auth_mysql. É possível, instalar e geranciar todas essas aplicações através de uma só interface, o que facilita muito a vida de iniciantes.

Atualmente eu utilizo o XAMPP nas minhas aulas práticas de Aplicações Web. Para instalação siga os seguintes passos:

1. Faça download do XAMPP em:

http://www.apachefriends.org/en/xampp-windows.html

A versão que eu uso contém o Container Tomcat como add-on. O link para essa versão está nessa mesma página.

2. Instale o XAMPP (é bem simples, tipo Next-Next-Finish, mas não tem Next-Next, só Install):















3. Ao final, uma janela do DOS será aberta. Minhas escolhas são: y (yes) para criar atalhos no meu Desktop, y (yes) para realocar os diretórios do XAMPP (recomendado), n (no) para criação de drivers portáteis e 1 (um) para iniciar o painel de controle do XAMPP. A seguinte aplicação irá aparecer:


















4. Uma vez instalado, você pode gerenciar as ferramentas incluídas no XAMPP através desse painel, que estará minimizado junto ao relógio do Windows.

Como criar um projeto Web no Eclipse

Esse post ensina passo-a-passo como criar um projeto Web no Eclipse:

1. Abra o Eclipse, escolha seu Workspace e clique em "OK":














2a. Escolha "File" > "New project" > "Dynamic Web Project"



















2b. Caso não apareça "Dynamic Web Project", escolha "Other...". Procure na lista "Web" e dentro dessa opção "Dynamic Web Project":
























3. Escolha um nome para o seu projeto, as outras opções podem ser as padrões para os iniciantes.



















5. O seu projeto deverá aparecer do lado esquerdo da tela, no "Project Explorer"