segunda-feira, 28 de julho de 2008

Os frameworks são para que mesmo?

oi povo,

Como já venho postando aqui, estou dando aula de Java Web. E nesse desafio tive que estudar alguns frameworks (JSF, Hibernate, DWR, etc.), mesmo sem ser muito fã de frameworks. Como programo para celulares e fico chorando alguns míseros bytes de memória, camadas e mais camadas de software uma em cima da outra me dá muito medo! :)
Sem sombra de dúvida que ao menos um pouco eles agilizam o desenvolvimento pra web, mas a que custo também viu.
A minha última experiência foi colocar o Ajax4JSF pra funcionar. Depois que a JBoss incorporou essa biblioteca no seu richfaces, não ficou nada facinho colocar ele pra funcionar (pelo menos eu não achei).
Então achei em algum blog aí da vida (como esse), como configurar o Ajax4JSF, e aí resolví compartilhar com vocês. Além dos jars do JSF, são necessários:

richfaces-3.0.1.jar
ajax4jsf-1.1.0.jar
oscache-2.3.2.jar

E nessas versões específicas! É isso mesmo, se colocar com a versão 1.1.1 não funciona! Mas a 1.1.0 funciona...

Tudo pela "agilidade" e "facilidade" no desenvolvimento.

4br4ç05,
nglauber

sexta-feira, 25 de julho de 2008

Idéias me impressionam

Olá povo,

O que eu acho mais interessante na maioria das grandes ideias não é o quão isso vai melhorar na vida dos outros, mas sim como elas são óbvias.

Toda vez que alguém vai tirar uma foto de outra pessoa, alguém ainda diz aquela velha frasesinha: "Digam X".
Entretanto, com a nova câmera Sony T200 (smile shutter) essa frase (e outras parecidas) pode estar com os dias contados. A câmera tem 8 mega pixels e como seu nome diz ela captura o sorriso das pessoas da foto e tira a foto automaticamente. É isso aí, você não precisa mais clicar, é só esperar todo mundo sorrir. Eu disse isso mesmo, todo mundo. Isso porque você pode ter várias pessoas na foto e ainda dizer pra quais pessoas na foto esse recurso estará habilitado. Também é possível configurar o nível do sorriso que deve ser capturado.
Ele faz isso através de um algoritmo de reconhecimento de face.

Dêem uma olhada nesse vídeo (procurem mais no YouTube):


Vou usar uma frase muito famosa em homenagem a essa câmera:
"O que mais faltam inventar?" :)

4br4ç0s,
nglauber

terça-feira, 15 de julho de 2008

Por que o Linux é assim?

Olá povo,

Acho que vou arrumar uma grande encrenca com o pessoal que gosta de Linux, mas lá vai. Os amantes do Linux podem me responder por que eles não fazem as coisas ser mais simples? O pessoal acha que dá status saber digitar instruções no terminal?
Existem um milhão de exemplos onde pro usuário - e entendam usuário como qualquer um que vai usar o Linux - instalar qualquer coisa no Linux é um parto! Mas meu exemplo foi o Tomcat ontem na aula de JavaWeb. Não foi um parto, mas tive que "pedir pinico" pro professor de Linux. Pra configurar uma variável de ambiente tem que entrar no bashrc Glauber! Ótimo! Como não pensei nisso antes? Mas, que tal aquela opção do Windows: Meu Computador | Propriedades | Avançado | Variáveis de Ambiente ?
Por que diabos eles não criam aqueles Wizards bonitinhos?

Ah! Deixa pra lá. Parece meio profético, mas já faz tempo que eu digo: Todo mundo reclama do Windows e de Bill Gates, mas ninguém deixa de usar Windows, Office, MSN, etc. em casa.
É meu amigo Linux, fica no servidor mesmo que é lá onde tem gente que é especialista em VI. Ou nos terminais de lojas e postos de gasolina, porque só tem aquele sisteminha da loja que os usuários usam e pronto, e o dono não paga nada!

Viva o Windows (se fosse free era melhor ainda)!
4br4ç05,
nglauber

sexta-feira, 11 de julho de 2008

Programar pra web é fácil...

Olá povo,

Estou escrevendo esse post às 02:34 do sábado enquanto estou baixando o Hibernate aqui em casa. E à essas horas vem aquela inspiração, sabe como é né?
Preparando minhas próximas aulas de Java Web percebí uma coisa: desenvolver pra web nunca foi tão difícil. Vocês já pararam pra analisar quantos JARs a gente tem que baixar pra fazer as coisas funcionarem? Quantos frameworks nós temos que usar? Claro que eu estou falando de implementar um projeto com todos aqueles requisitos técnicos de arquitetura, padrões, manutenibiilidade, etc.
Quem me conhece sabe que eu adoro padrões de projeto, UML, análise e projeto, essas coisas. Mas de vez em quando dá uma saudade de uma boa e velha conexão JDBC dentro de um scriptlet JSP.
Só pra vocês terem uma idéia, olha só o que eu já baixei só para minhas aulas de Java Web:
  • commons-email-1.1-bin.zip
  • commons-fileupload-1.2.1-bin.zip
  • commons-io-1.4-bin.zip
  • jaf-1_1_1.zip
  • jakarta-taglibs-standard-1.1.2.zip
  • james-binary-2.3.1.zip
  • javamail-1_4_1.zip
  • jsf-1_1_01.zip
  • mysql-connector-java-5.1.6.zip
  • xalan-j_2_7_1-bin.zip
  • hibernate (que eu estou esperando terminar de baixar)

Isso sem contar que eu não vou falar de Struts e de Spring, e ainda falta a parte de Ajax com DWR.
Pessoal, é isso, hoje pra você desenvolver pra web você só tem que saber isso: Servlets, JSP, JSTL, Struts, JSF, Hibernate, Spring, MyFaces, Tomahawk, ...

4br4ç05,
nglauber

IPhone


Olá povo,

Eu adorei uma frase que um ex-professor meu da faculdade colocou no MSN. E acho que ela se aplica perfeitamente a mim também. A frase é: "Posso estar certo ou errado, mas nunca estou em dúvida".
Deixa eu explicar essa introdução poética. Todo mundo está fazendo o maior estardalhaço em cima do IPhone. Eu particularmente não gosto muito do dito cujo - pelo menos por enquanto. Segue abaixo uma lista das minhas reclamações :)
- acho que estou no grupo dos poucos que não curte esse lance de "touch-screen". Porque não tem aquele "feeling" de pressionar alguma coisa. E se eu tivesse um IPhone ele ficaria cheio de marca de dedo com óleo da minha pele.
- como desenvolvedor não posso aceitar que o bendito do IPhone não rode nem Java nem Flash. Fala sério né?
- o danadinho é grande e pesado também.
- a bateria é uma decepção, se usar 3G e Wi-Fi não chega ao final do dia sem ter que recarregar.

Bem, como eu sei que ninguém vai usar esse blog como critério de avaliação pra comprar o IPhone, esse link pode ajudar a quem for compra-lo.

Ah! Antes que alguém fale que eu estou "malhando o pau" no IPhone porque eu não tenho grana pra comprar um, eu digo duas coisas: a primeira é que é verdade :) e a segunda é que, com certeza o IPhone é melhor do meu Nokia 6111 :)

[Editado em 16/02/2011]
É... eu estava errado... O iPhone, iPod e iPad são ótimos, assim como os Android.

[Editado em 22/07/2013]
Acabo de comprar um iPhone 5 :)

4br4ç05,
nglauber

Mamonas Assassinas


Olá povo,

Antes de mais nada eu queria dizer que eu pensei muito antes de postar isso aqui, e que esse vai ser um blog sobre minha vida profissional, ou quase isso.
Mas tive o orgulho de ver - e ouvir - os Mamonas Assassinas, e não podia ficar sem deixar minha sincera homenagem àqueles que fizeram todo o Brasil sorrir, mesmo ainda que por pouco tempo.
Achei muito bacana o programa "Por toda minha vida" exibido na Rede Globo ontem, e depois de ver o programa e um monte de vídeos sobre Mamonas no YouTube, resolví colocar esse post.
Dinho, Bento, Julio, Samuel e Sérgio, valeu pela alegria que vocês trouxeram pra todos.

4br4ç05,
nglauber

quarta-feira, 9 de julho de 2008

JavaMail e CommonsMail

Olá povo,

Estou lendo atualmente o livro de JavaWeb do Edson Gonçalves Desenvolvendo Aplicações Web com JSP, Servlets, JSF, Hibernate, EJB e Ajax. Um grande livro por sinal, que adotei para minhas aulas.
Porém, quando estava lendo o capítulo sobre envio de e-mails, o exemplo do livro não funcionava nem com reza braba. E o pior de tudo, não dava nenhuma exception. O código usava o servidor JAMES (http://james.apache.org/) pra enviar e-mails desse servidor, local, pra outros e-mails.
Depois de procurar que nem um doido na internet, resolví falar com o autor do livro. Ele tinha resolver meu problema, era obrigação dele (rsrsrs).
Mandei um e-mail pra ele, e ele foi muito atencioso e me mandou a resposta salvadora. O problema é que os provedores (como a Speedy por exemplo) bloqueiam esse tipo de envio. Me conformei e usei o servidor do G-Mail mesmo.
Segue abaixo o JSP que usa o commonsmail (http://commons.apache.org/email/) pra enviar um email simples. Mas lembrem-se pessoal, não usem pra spam.

<%@ page language="java" contentType="text/html" pageEncoding="ISO-8859-1"
import="org.apache.commons.mail.SimpleEmail"%>
<html>
<head>
<title>Enviando e-mails com Commons e-mail</title>
</head>
<body>
<%
SimpleEmail email = new SimpleEmail();
email.setDebug(true);
email.setHostName("smtp.gmail.com");
email.setSmtpPort(465);
email.setDebug(true);
email.setTLS(true);
email.setSSL(true);
email.setSslSmtpPort("465");
email.setAuthentication("usuarioDoGmail","senhaDoGmail");
email.addTo("destinatario@hotmail.com");
email.setFrom("qqeremaildeorigem@gmail.com");
email.setSubject("Mensagem de Teste");
email.setMsg("Teste de e-mail utilizando commons email");
email.send();
%>
<h2>E-mail enviado com sucesso.</h2>
</body>
</html>

Isso resolveu meus problemas, finalmente!!!
4br4ç05,
nglauber

Primeiro post

Oi povo,

Bem depois de 6 anos me ferrando de trabalhar com T.I., resolví criar esse blog pra postar todas as minhas "aventuras".
Putz, fala sério, passar um dia ou até mais com uma bronca no seu código (quem já não passou por isso hein?) é ou não é uma aventura?

Uma dessas minhas aventuras é ser instrutor de Java na Especializa Treinamentos (http://www.especializa.com.br/), o que vem me trazendo uma grande felicidade por estar sempre com os conhecimentos em dia e por estar passando o pouco que eu sei pra galera que tá começando.

É isso aí povo, espero agora que eu tenha tempo de postar as coisas.

4br4ç05,
nglauber