Em 2011 o foco do Lado Servidor será a produção e venda de excelentes materiais sobre assuntos específicos para os quais temos atuação em ambientes reais. Continuaremos participando de eventos, realizando consultorias e treinamentos fechados mas, com uma intensidade menor.
Top 10 Razões Porque Não Gosto de JSF
Postei no meu blog uma lista em boa parte não-técnica, de razões para não gostar do JSF e a repercussão foi boa.
Apache Wicket ainda mais divertido: Parte 2
Dando seguimento ao fork de artigos JSF para Wicket, segue o artigo "Problema do rendered dinâmico com JSF", escrito pelo Rafael Ponte. Mais um artigo para considerarmos o Apache Wicket como alternativa mais produtiva. :-)
Usando a JConsole para Monitorar a JVM do WebSphere
Em principio parece uma tarefa fácil, bastaria seguir a documentação da SUN e inserir as seguintes propriedades de sistema para a inicialização da JVM:
7º Fórum Goiano de Software Livre
Novamente, estarei presente no FGSL. Desta vez falarei sobre o assunto "Clusters e balanceamento de carga em servidores de aplicações". Alguns dos tutoriais, screencasts e scritps que já publiquei, relacionados a este tema, podem ser observados a seguir:
Tutorial: Montando e testando um cluster de servidores GlassFish 3.1
Este é um tutorial prático para a instalação e testes de um cluster de servidores de aplicações GlassFish em sua versão 3.1. Ele será didivido em partes e, nesta eu apresento uma versão atualizada do meu lab_cluster, criado durante a construção de dois outros tutoriais relativos a este tema mas utilizando outro servidor ;-).
EAD: Construindo e implantando aplicações Java EE modulares com Maven 3
Nesta próxima quarta-feira das 12:30 às 14:00, horário de Brasília, eu explicarei como realizar a construção e a implantação de aplicações Java utilizando o Apache Maven 3.0. Sem slides, sem rodeios, na prática, ao vivo e através de exemplos didáticos e em funcionamento. Entenda como modularizar sua aplicação em bibliotecas, utilizá-las como dependências em serviços criados com EJBs, desenvolver uma aplicação Web que utiliza estes serviços e bibliotecas e implantar tudo, local e remotamente, em instâncias de servidores de aplicações executadas em clusters.
- Quer ter uma idéia sobre uma das aplicações que serão discutidas? Leia este tutorial e asssita a estes screencasts.
- Quer saber o que mais você aprenderá neste EAD? Quer se inscrever? QUER APRENDER? Continue a leitura!
Treinamento em WebSphere 7
Começará no próximo sábado, dia 20/11, um treinamento focado na administração do WebSphere 7, com duração de 20 horas.
Palestra na semana acadêmica de informática da Faculdade Projeção
Nesta quarta-feira (17/Out) eu participarei da semana acadêmica de informática da Faculdade Projeção. Falarei sobre "clusters de servidores de aplicações Java, demonstrando casos práticos utilizando JBoss e/ou GlassFish". Minha palestra será melhor aproveitada por alunos e/ou profissionais da área de desenvolvimento e/ou infraestrutura que estejam buscando informações sobre como adquirir maior disponibilidade em produção para aplicações baseadas na plataforma Java. Este post traz uma seleção de links com documentação e vídeos relacionados a este tema. Explore-os para obter um melhor embasamento sobre tópicos que apresentarei!
Tutorial: Começando com o Apache Wicket (Parte I)
O Lado Servidor continua sua incrível série de tutoriais, agora para os profissionais interessados no desenvolvimento de aplicativos Web. O foco aqui é desenvolver uma aplicação com o framework Apache Wicket. Continue a leitura deste post para obter o link p/ seu tutorial e ver o seu screencast.
EAD Gratuito: Google App Engine
11/Nov -
Na próxima terça-feira, 16 de novembro às 21 horas, horário de Brasília e de verão, farei uma apresentação sobre o Google App Engine e a forma como conduzirei o treinamento que darei a respeito dele em Goiânia, explicada em mais detalhes por este post.
Apache Wicket derruba o padrão JSF
O The Developers Conference 2010, em Florianópolis, mais conhecido como #TDC2010, abriu espaço para a primeira participação da WDev em eventos da comunidade de software do Brasil. E isto é apenas o começo.
Motivação p/ você fazer nosso treinamento sobre GAE, em Goiânia, dia 13
11/Nov -
9/Nov - leia também: EAD Gratuito: Google App Engine
Para poder fazer qualquer coisa nesta vida é preciso motivação! Ela pode vir de diversas formas, mas especificamente neste post, eu vou comentar o que, sinceramente, o que me motiva a ministrar um curso sobre Google App Engine (GAE) em Goiânia, a um preço quase irrisório!
Apache Wicket ainda mais divertido: Parte 1
Este é o primeiro de uma série de artigos para mostrar o Wicket à comunidade brasileira. Cada artigo que eu ler sobre JSF, Facelets e afins que achar interessante e me questionar: "seria ainda mais divertido fazer isso com Wicket", vou fazer um "fork" do artigo e codificá-lo com o Apache Wicket.
Evento gratuito: Clusters e alta disponibilidade com JBoss AS
Nesta sexta-feira às 19:30, no auditório da Faculdade Jesus Maria José (FAJESU) (em Taguatinga/DF), apresentarei uma palestra que tratará do tema que é título deste post: "Clusters e alta disponiblidade com JBoss AS". Levarei aos alunos desta instituição e também ao público externo que comparecer, um pouco da experiência que adquiri nestes últimos anos trabalhando em ambientes de missão crítica.
2º WorkShop de Tecnologia de Jataí
No último sábado, sob a organização da Cedro Finances, participei como um dos palestrantes do 2º Workshop de Tecnologia de Jataí. O evento teve ótimas palestras, iniciando pela apresentada por Leonardo dos Reis (@leoreisvilela) que repassou ao público excelentes dicas sobre como se preparar para o mercado de trabalho em TI.
Tutorial: Montando e testando um cluster de servidores JBoss AS 6, parte 2
Parte do material do EAD "Montando e testando um cluster de servidores JBoss AS, parte 2" foi disponiblizado hoje, em http://j.mp/bej0Ki
Treinamento em Java EE e JBoss AS, na FAJESU
Como alternativa presencial aos moradores de Brasília e entorno, nosso treinamento Java EE e JBoss AS, (com inscrições abertas para realização via EAD) TAMBÉM poderá ser feito nas dependências da Faculdade Jesus Maria José (FAJESU) e como um curso de extensão nesta faculdade (outra turma/forma de apresentação).
O treinamento está previsto para ser iniciado no dia 13 de novembro, com término em 18 de dezembro. Serão 18h de aulas presenciais, somente aos sábados, das 8:30 às 11:30 e mais 18h de screencasts com retiradas de dúvidas durante as aulas presenciais. Além disto, as dúvidas também poderão ser sanadas, durante o período do treinamento, através de uma lista de discussão suportada pelo próprio instrutor.
EAD: Java EE e JBoss AS, em suas versões 6
09/Nov -
27/Out - leia também: Treinamento em Java EE e JBoss AS, na FAJESU
O treinamento Java EE e JBoss AS 6 agora está em novo formato! Ele já havia sido proposto de maneira presencial em Goiânia, presencial via ensino a distância (EAD) e, agora, em mais uma forma: serão vinte e quatro (24) horas de aula (em formato vídeo) disponíveis GRATUITAMENTE na Internet e mais doze (12) horas de aulas presenciais através de ferramenta para EAD. Se você estiver lendo este post em 25/Nov até às 21h, poderá assistir este EAD para ter uma idéia de como serão as aulas. As 12h de aula presenciais (via web) deverão ser realizadas pelos participantes no horário das 12:20 às 13:50, às quartas-feiras.
Treinamento sobre GAE, em Goiânia, 13/11
11/Nov - O treinamento em GAE será iniciado apenas dia 20 e, o EAD que estava agendado para hoje foi remarcado p/ o dia 16 às 21H.
9/Nov - leia também: EAD Gratuito: Google App Engine
5/Nov - leia também: Motivação p/ você fazer nosso treinamento sobre GAE, em Goiânia, dia 13
Conforme eu havia divulgado anteriormente, irei apresentar um treinamento presencial que ocorrerá em Goiânia a partir do dia 13 de novembro. Eu havia escrito que a decisão sobre o que seria o treinamento dependeria de uma enquete que eu faria com o público da área de desenvolvimento desta cidade. Entretanto, minha cabeça e meus planos mudaram com relação a diversas coisas no Lado Servidor, incluindo este treinamento.
EAD: Montando e testando um cluster de servidores JBoss AS 6, parte 2
Nesta próxima segunda-feira, dia 25 de outubro às 21:00 (horário brasileiro de verão), eu explicarei ao vivo pela Internet, como construir e implantar uma aplicação Java EE num cluster JBoss. Esta apresentação pode ser considerada uma continuação do screencast que eu publiquei sobre este mesmo assunto na segunda passada.
Tutorial: Montando e testando um cluster de servidores JBoss AS 6
Leia o tutorial em http://j.mp/9C523G e/ou acompanhe o seu screencast:
Imperdível: novo treinamento presencial em Goiânia a partir de 13 de novembro!
Atenção @GoJava e outros grupos atuantes na TI de Goiânia!
Ficamos realmente tristes, MUITO TRISTES :-( pelo fato de não ter havido quórum para o treinamento que prevíamos iniciar amanhã em Goiânia! Além da questão do quórum, o fato de haver vários interessados de outras cidades (Brasília, Itumbiara, Jataí, Cuiabá, ...) nos levou a repensar que o melhor modelo para a aplicação deste treinamento seria mesmo o de ensino a distância (EAD) e, sendo assim, agora estamos oferecendo ele neste formato.
EAD: Java EE 6 e JBoss AS 6
17/Set - Só para deixar bem claro aos participantes: ainda estamos avaliando que ferramenta escolheremos para este EAD. Em nosso teste anterior para a escolha da ferramenta, ficamos muito satisfeitos com a utilização do WebEx e, caso o Dimdim não nos atenda na degustação de amanhã, a ferramenta que utilizaremos no EAD para este treinamento será o WebEx.
16/Set - Degustação nr. 0a: Neste sábado (18/09) das 15 às 16:00, iremos apresentar a execução do "Tutorial: Instalando, iniciando, testando e parando o JBoss AS 6" utilizando uma das prováveis ferramentas que serão utilizadas neste EAD. Para participar, inscreva-se através do link http://bit.ly/9GnQxo.
LOUCURA! Aproveitem o momento de INSANIDADE que estamos vivendo!
RIA's - Aplicações de Interface Rica
Ao longo dos poucos anos da história da computação, as interfaces com o usuário tem passado por grandes evoluções técnicas, passamos de conectores de válvulas a efeitos 3D em alta definição em pouco tempo, e de uma forma que o desenvolvedor não precisa mais ter trabalho desenhando as interfaces praticamente "na unha". Todo computador pessoal já tem acesso a uma interface com uma infinidade de recursos, ou seja, podemos ter aplicações das mais variadas formas e estilos, até navegar entre seus arquivos e pastas pode ser feito com riqueza visual e belos efeitos, mesmo que isso as vezes não agregue tanta funcionalidade temos que concordar que isso conquista o usuário! E tudo isso em diversos dispositivos diferentes e com cada vez mais formas de iteração: mouse, touchpad, multitouch, teclado, acelerômetros, logo logo com nossas ondas cerebrais, quem sabe ...
Mais um 11 de setembro que não será esquecido!
Só que desta vez, será lembrado como uma ótima data! Neste dia (um sábado), os parceiros Lado Servidor (LS) e Pacto Soluções (PS) unirão forças para apresentar em Goiânia o evento Java Sênior: tópicos avançados em Java, aplicados ao desenvolvimento corporativo. Serão temas muito relevantes e relacionados a questões de mercado, desenvolvimento e infraestrutura para a execução de aplicações executadas em JVMs.
O evento será composto por palestras e minicursos. Ao seu final, os participantes concorrerão ao sorteio de brindes e/ou descontos nos próximos treinamentos conduzidos pelos parceiros, na cidade de Goiânia, começando pelo treinamento programado para o dia 18 de setembro.
Para participar dos minicursos, você deverá levar seu notebook já configurado com o ambiente necessário para a realização dos tutoriais que serão apresentados. As informações necessárias para o setup deste ambiente serão passadas aos participantes logo após a sua inscrição.
Por que você deveria fazer o nosso próximo treinamento?
15/Set - leia também: EAD: Java EE 6 e JBoss AS 6
13/Set - leia também: Treinamento cancelado.
O post anterior que escrevemos explicando como será o nosso próximo treinamento, em Goiânia (18 de setembro), teve boa repercusão! Algumas pessoas até elogiaram nossa estratégia de, ao contrário de divulgar os motivos para você fazer o curso, divulgarmos o porquê de achamos que você não deveria fazê-lo ;-).
Gostamos de abordagens diferentes como esta! Pessoas inteligentes captam o sinismo que utilizamos para nos expressar de maneira bem rápida, descobrindo que tudo o que haviámos falado estava num tom crítico e bem humorado. Por outro lado, algumas pessoas podem acabar tendo uma compreensão errada (veja estes comentários) e, para estas, uma abordagem mais tradicional de divulgação talvez seja melhor. Então, vamos lá! Chamaremos nosso próximo treinamento presencial em Goiânia de:
Java EE 6 - Visão Geral; JBoss AS - Instalação, configuração e monitoração básica
EAD: Balanceamento de carga com Apache para instâncias JBoss
Neste sábado (28 de agosto) às 15:00 (horário de Brasília) irei ministrar uma apresentação sobre como instalar e configurar um balanceador de carga Apache para instâncias do JBoss AS.
Discutiremos duas alternativas! A primeira, já bastante conhecida e utilizada em produção em vários lugares, utiliza o mod_jk. A segunda, mais atual, trabalha com o mod_cluster.
A apresentação poderá ser assistida GRATUITAMENTE pela Internet por até 25 pessoas. Você poderá participar e, além de ouvir minha voz e ver meu desktop em ação, terá até mesmo a chance de erguer tua mão para fazer perguntas ;-). Tudo isto será realizado através do WebEx, uma das ferramentas para conferências virtuais mais utilizadas no mundo e que estamos testando neste momento. Para ter certeza que você estará habilitado a participar, antes de sábado verifique se você já consegue assistir a uma apresentação qualquer com esta ferramenta. No Linux, ela exigirá um ambiente Java funcionando corretamente e integrado ao browser que será usado. Clique neste link para verificar se o teu browser atende aos requisitos necessários. Como garantia final, sugiro que você assista uma das apresentações sobre o próprio WebEx para checar se ele está funcionando corretamente em teu ambiente.
Esta apresentação será uma boa forma de você conhecer como aplicaremos nossas consultorias a distância para pequenos grupos. Talvez você também se interesse em saber que, na próxima segunda-feira (30 de agosto), iniciaremos um grupo de consultoria em JBoss AS, às segundas e quartas, das 13:00 às 14:59.
Para se registrar neste evento, vá até https://freetrial.webex.com/freetrial/mc, clique em Attend a meeting (lateral superior/esquerda da tela), informe o valor 319 177 096 para o campo Meeting number e clique no botão Join Now. Informe os campos obrigatórios e clique em Register Now que você receberá um email confirmando o teu registro.
Treinamento em Goiânia: JEE6-VISAO+JBAS-1
15/Set - leia também: EAD: Java EE 6 e JBoss AS 6
13/Set - leia também: Treinamento cancelado.
27/Ago - leia também: Por que você deveria fazer o nosso próximo treinamento?
Dia 18 de setembro, em parceria com a Pacto Soluções, levaremos para Goiânia uma introdução a Java EE 6 e o melhor treinamento em administração/configuração do JBoss AS que esta cidade já viu. Sabemos que não estamos sendo modestos e, por isto mesmo, não estamos poupando esforços na produção de ótimo conteúdo sobre estes assuntos. Isto inclui tutoriais, vídeos, exemplos didáticos e alguns mais completos e reais. Este é um TREINAMENTO ABERTO que qualquer desenvolvedor e/ou analista de suporte poderá fazer!
Goiânia é minha cidade natal! Amo muito esta terra, e não admito não dar o melhor do Lado Servidor para os desenvolvedores desta cidade que estejam envolvidos com Java EE ou, para os responsáveis por administrar o JBoss AS em ambiente de produção. Desta forma, pensando em oferecer uma visão de infraestrutura para desenvolvedores e também o contrário, uma visão de desenvolvimento para analistas de suporte, ofereceremos um único treinamento que irá unir estes dois mundos. Serão 36 horas de curso, sendo 12 horas sobre Java EE 6 e 24 horas sobre administração/configuração do JBoss AS.
No curso introdutório sobre Java EE 6, utilizaremos GlassFish, JBoss AS, Geronimo, JOnAS ou quaisquer outros servidores que pudermos aplicar para demonstrarmos o uso das APIs desta especificação. Entretanto, após as 12h deste treinamento, o restante do curso será completamente focado no uso do servidor de aplicaçoes JBoss, sua instalaçao, configuração, administração e monitoração.
Durante quase dois anos de minha vida (Jan/2008 a Set/2009) eu me dediquei a ser elo de ligação entre duas equipes: desenvolvimento e suporte. Isto ocorreu devido ao meu trabalho com middleware. Antes de administrar dezenas de instâncias JBoss para diversos tipos de ambientes (desenvolvimento, integração, homologação e produção), enquanto trabalhava no Selic, eu atuei como desenvolvedor Java em muitos projetos, exercendo papéis de programador a arquiteto de aplicações. Contudo, a experiência adquirida na vivência de problemas reais em infraestrutura num projeto de proporções do Selic deu-me o conhecimento necessário para hoje eu poder "pensar" na atuação em aplicações para nuvens computacionais (o grande hype do momento). Assistindo a palestras durante o evento Consegi, que ocorre em Brasília de quarta a sexta-feira desta semana, afirmações de professores doutores da UFPE e da UFRJ só endossaram o meu sentimento de que hoje, um profissional que deseje trabalhar com cloud computing não pode ser medíocre e limitado a apenas uma área de atuação (desenvolvimento ou suporte).
Profissionais que desejam encarar o desafio de estudar (ou trabalhar com) cloud computing serão obrigados (pelo menos se quiserem passar por um mestrado/doutorado nesta área) a entender muito tanto de sistemas operacionais, virtualização e redes quanto de engenharia de software. Esta opinião não é apenas minha, mas é também compartilhada por alguns professores de cursos de pós-graduação. Tendo isto como premissa, os cursos que o Lado Servidor prepara são concebidos para formar profissionais que tenham esta visão!
Temos ÓTIMOS MOTIVOS PARA VOCÊ NÃO FAZER este curso!
Se você é desenvolvedor, neste curso:
- Você será obrigado a trabalhar com o Linux! E, com toda certeza, não vai querer isto pois considera o Linux um atraso de vida frente ao "poderoso Windows 7" instalado no teu notebook!
- Você analisará e rodará scripts em Bash, Python, Ant, Maven, etc, e você odeia outras linguagens que não sejam Java! Além disto, os scripts serão executados em um shell (linha de comando) e o que você gosta mesmo é de ambiente gráfico!
- Você talvez se importe com o fato de que não estamos nem aí para o teu gosto por IDE's! O importante para nós, é que você consiga gerar pacotes que possam ser implantados em servidores de aplicações da maneira mais automática possível E nós gostamos muito de utilizar o Maven para isto!
- Você adora fazer todo tipo de crud e talvez só faça um ou dois em todo o treinamento!
- Você terá que efetuar comandos para configuração de serviços do sistema operacional, da rede, para visualização de portas abertas por processos, etc. Pô! Você não é analista de suporte, não é mesmo?
- Você acha uma besteira saber como testar aplicações. Aprenderá sobre testes em aplicações Java EE 6 mas tem a plena convicção de que esta é uma tarefa apenas para manés que não sabem programar porcaria nenhuma, não é?
- Você tem a certeza absoluta de que atender requisitos não funcionais, para aplicações em produção, como os relativos a segurança, escababilidade (com alto volume de transações) e tolerância a falhas não é tua responsabilidade e sim dos nerds do suporte;
- Você não quer ter que configurar nada de ambiente (até mesmo o teu, de desenvolvimento) pois acredita que isto é tarefa para os macacos do suporte. Configurar JBoss então! Pra que? A equipe de suporte que se vire para configurar os milhares de arquivos XML de configuração do JBoss em tua máquina e em todos os outros ambientes...
- Saiba que o Java EE 6 apresenta pouquíssimas mudanças em relação a versão anterior e nós não explicaremos nenhuma delas. Não terá graça! Será um curso sem novidades, ACREDITE! ;-)
Se você é analista de suporte, neste curso:
- Você aprenderá na marra um pouco sobre a arquitetura de aplicações Java EE e verá código Java. Mas, você está certo que isto é responsabilidade apenas da equipe de desenvolvimento, correto? Além disto, tua praia em programação não vai além dos scripts bash!
- Você odeia a turma do desenvolvimento que só usa a merdinha do Windows causando-te problemas para colocar as coisas em produção no Linux. Mas, precisará sentar-se ao lado destes EMOS que só sabem arrastar janelinhas!
- Você aprenderá a instalar, configurar, administrar e monitorar o JBoss na unha e na raça, de maneira sofrida e esquecendo que existem interfaces administrativas bonitinhas... Mesmo assim, vai saber que elas existem e que talvez possam ser úteis para facilitar algumas coisas!
Como pode ver, você realmente não deve fazer este treinamento! Irá jogar teu dinheiro fora!
Mesmo sabendo a IDIOTISSE que será este curso, você ainda assim quer fazê-lo?
Bem, nesta situação, estas são as condições:
- Ele ocorrerá das 14:00 às 20:00 (6h/dia) com um intervalo programado para coffee-break das 16:00 às 16:20, durante 6 sábados, de 18 de setembro a 23 de outubro (36h de treinamento no total);
- Eu e o Filipe Portes iremos conduzir o treinamento;
- Ele ocorrerá nas dependências da Pacto Soluções: Rua C-200, nº 260, Qd. 482, Lt. 04 Jd. América - Goiânia GO;
- Você deverá levar teu notebook para acompanhar a execução das atividades práticas ou só poderá praticá-las fora do ambiente do treinamento, ou seja, não ofereceremos um laboratório com computadores;
- Haverá acesso a Internet via rede Wireless;
- Para acompanhar as atividades realizadas durante o treinamento, você deverá instalar a vm-curso-ladoservidor em teu notebook, antes do curso. A maneira mais fácil de fazer isto é seguir os passos descritos em sua página. Mas, se o teu notebook não tiver condições de alocar o mínimo de memória recomendada para a execução da VM (1 GB), você talvez precisará instalá-la numa particição separada e utilizar dual-boot se já tiver outro S.O. instalado;
- Você deverá efetuar sua inscrição antes que as vinte e cinco (25) vagas se esgotem. Como isto ocorrerá rapidamente ;-), é melhor você nos enviar um email perguntando se ainda dá para fazer a tua inscrição!
- Somos otimistas mas, no pior caso, se não houver o mínimo de oito (8) inscritos, cancelaremos o curso e devolveremos teu dinheiro!
- Somos ambientalistas e não gostamos de imprimir papel! Cada aluno irá receber um Pen Drive contendo todo o conteúdo do nosso treinamento;
- Para participar deste treinamento, você pagará R$ 899,00 (oitocentos e noventa e nove reais). Este pagamento deverá ser realizado via PagSeguro e poderá ser dividido em até 3 vezes sem juros, no cartão de crédito;
- Envie-nos um email para jee6gyn@ladoservidor.com para receber as instruções sobre como prosseguir com tua inscrição!
Tutorial: Iniciando O Desenvolvimento Em Java EE 6 (Parte 1)
No domingo passado eu soltei este tweet (que foi respondido) mas me esqueci de publicar um link aqui no blog de maneira mais clara: Esta é a primeira parte de um tutorial de Java EE 6, que aplicamos no treinamento "Java EE 6 - Visão geral (8h) (JEE6-VISAO)".
Divirtam-se!
Senhas em texto puro: a melhor opção
Senhas em arquivo texto sem criptografia pode soar um pouco ... inseguro. Mas pensando bem, inseguro mesmo é perder horas de desenvolvimento bolando uma maneira mirabolante para guardar senhas num arquivo, sem que haja forma alguma de um hacker obtê-las.
Codificar algoritmos complexos de criptografia juntamente com um modelo de distribuição de software com licensas exclusivas por cliente soa um pouco paranóico demais. Imaginar que um hacker com o arquivo de senhas em mãos sem a chave da licensa que criptografou vai proteger você, é ser ingênuo demais; afinal antes de mais nada: como diabos o hacker pegou o arquivo de senhas?!?! Proteger o conteúdo de um arquivo de senhas é botar a chave do cofre embaixo do tapete da sala. Não proteger o acesso ao arquivo, é deixar a porta da sala aberta. É preciso proteger o acesso a eles. E para isso, basta ter um excelente sistema operacional com incrível controle de acesso de arquivos e é claro, o acesso físico ao computador. O UNIX atende muito bem a primeira premissa. Já a segunda depende do seu chefe e do Aroldo, o segurança da portaria.
Esta noite tive um pequeno problema: esqueci minha senha do MSN e nem com reza braba consegui recuperar pelo e-mail anternativo: era antigo (do Yahoo!) e aí era outro e-mail que eu também tinha que lembrar a senha (jura!). A primeira solução foi olhar nos programas de IM que tenho aqui instalado (Pidgin e aMSN) para ver se a senha estava salva em alguma conta. No Pidgin não estava, mas no aMSN sim. Antes de falar sobre o Pidgin, vou falar sobre o aMSN.
Os desenvolvedores do aMSN implementaram um algoritmo para criptografar as senhas salvas em um arquivo chamado config.xml que fica na pasta da conta. Algo como /home/bruno/.amsn/bruno_borges_gmail_com/config.xml. O trecho com a senha é algo assim:
<entry> <attribute>encpassword</attribute> <value>e11278adaa249d262f3a1b40fd633443</value> </entry> <entry> <attribute>login</attribute> <value>ladoservidor@hotmail.com</value> </entry>
Para um newbie, pode ser o fim da linha. Mas para um hacker não. Todo programa que guarda informação criptografada, precisa descriptografar para ter o conteúdo original. E o objetivo de salvar a senha é justamente para que o usuário não tenha que digitar a cada execução do programa. Graças ao aMSN ser um programa Open Source, o hacker pode obter o algoritmo de descriptografia. O do aMSN, é esse:
685 #Get the encrypted password 686 if {[::config::getKey encpassword]!=""} { 687 set key [string range "[::config::getKey login]dummykey" 0 7] 688 set password [::config::getKey encpassword] 689 catch {set encpass [binary format h* [::config::getKey encpassword]]} 690 catch {set password [::des::decrypt $key $encpass]} 691 #puts "Password length is: [string first "\n" $password]\n" 692 set password [string range $password 0 [expr { [string first "\n" $password] -1 }]] 693 #puts "Password is: $password\nHi\n" 694 ::config::unsetKey encpassword 695 }
Primeira lição tirada: para programas Open Source, criptografar arquivo de senhas é useless.
Segunda lição tirada: se o programa distribuído é em linguagem bytecode e esta possa ser facilmente descompilada, aplica-se a primeira lição.
Agora sim, posso falar sobre o Pidgin. Nele, as senhas são salvas em texto puro, sem criptografia alguma, confiando apenas no controle de acesso do arquivo, cujo qual somente o dono do arquivo pode ler/escrever.
bruno@longitude ls -asl accounts.xml && head accounts.xml ~/.purple 12K -rw------- 1 bruno bruno 11K Aug 17 01:46 accounts.xml <account version="1.0"> <account> <protocol>prpl-jabber</protocol> <name>bruno.borges@gmail.com/</name> <password>MiNHaSeNH@</password> <alias>Bruno B</alias>
Nesta página da comunidade do Pidgin, o assunto é bem descrito. Mas o que importa mesmo é que o modelo de proteção do aMSN assim como de muitos outros programas, chamado de Segurança por Obscuração possui uma série de argumentos contra mas o maior problema é que apresenta um falso sentimento de segurança. O usuário por achar que seu arquivo está protegido, poderia assim não se preocupar muito com o controle de acesso ao arquivo, podendo chegar ao ponto de enviar o arquivo para alguém.
Conclusão
Tomar tempo desenvolvendo algoritmos de obscuração para "proteger" as senhas em arquivos texto é perder tempo. Um hacker com acesso ao seu sistema pode conseguir as informações ou programas necessários para descriptografar o conteúdo. Invista em segurança de infraestrutura. Proteja sua rede e seu sistema operacional. Ou simplesmente, não guarde as senhas.
PS: com um pouco de scripting e uma leitura no tutorial da linguagem TCL, recuperei a senha do MSN que estava armazenada no arquivo do aMSN. Segue o programa.
Consultorias a distância
Estamos iniciando um novo modelo de consultoria, a distância, cujo objetivo é atender grupos pequenos, que neste momento limitam-se ao mínimo de dois e ao máximo de três participantes simultâneos, em horários específicos. Neste modelo, um consultor de nossa equipe é responsável pela condução da consultoria e dos encontros virtuais com os participantes do grupo.
A consultoria visa discutir e apresentar soluções e/ou alternativas para problemas comuns vivenciados e apresentados pelos participantes, nas áreas em que atuamos prestando serviços. Isto será realizado num horário combinado, com o consultor designado para atuação no grupo utilizando ferramentas para comunicação remota e ensino a distância no intuito de esclarecer as dúvidas que forem priorizadas pelo grupo em um fórum de discussão.
Talvez, antes do encontro virtual com o grupo, o Lado Servidor produzirá materiais como artigos, tutoriais ou vídeos que servirão para guiar a consultoria. Entretanto, ao contrário dos treinamentos, as consultorias não têm a obrigação de produzir material didático, e sim de apresentar respostas e/ou caminhos para as questões prioritárias no encontro. Desta forma, também poderão ser utilizadas documentações e links não disponíveis neste site.
Diferente de um treinamento, que tem prazo e escopo fixos, este modelo de consultoria tem prazo fixo mas escopo variável. Para permitir a participação de um novo integrante num grupo (até o limite máximo), o Lado Servidor analisará se as dúvidas deste batem com as do restante do grupo (os participantes geralmente estão no mesmo nível). Em caso positivo, o interessado poderá entrar na formação do grupo. Novos participantes podem entrar para um grupo que já tenha iniciado seus encontros a qualquer momento.
Introdução a Java EE 6, utilizando GlassFish e JBoss, para alunos da UNIC
Por indicação de um amigo, em maio deste ano eu recebi um convite do professor Dr. Robson Siscouto para ministrar uma disciplina para a turma de pós-graduação em desenvolvimento orientado a objetos em Java, da Universidade de Cuiabá (UNIC).
Na ementa da disciplina eu deveria falar sobre J2EE e JBoss. Entretanto, resolvi aproveitar as novidades mais recentes acerca do Java EE 6, do JBoss AS 6 e não fiquei apenas neste servidor. Também demonstrei exemplos de uso das APIs rodando sob o GlassFish 3.1.
O curso ocorreu em dois finais de semana (sábado e domingo). No primeiro deles (dias 3 e 4 de julho), estive mais focado em tarefas introdutórias de administração do servidor do servidor de aplicações JBoss 6 (treinamento JBAS-1). No segundo (dias 7 e 8 de agosto), o objetivo foi falar sobre Java EE 6 com um foco mais voltado para suas APIs (treinamento JEE6-VISAO). Realizamos a execução de tutoriais de minha própria autoria, juntamente com a explicação de exemplos diversos rodando sob o JBoss e também no GlassFish.
Agradeço a oportunidade dada pela UNIC e espero que em breve possamos continuar a apresentação desta disciplina também para outras turmas de especialização nesta área. Esta foi minha primeira experiência como professor convidado para uma turma de pós-graduação e, com certeza, foi bastante interessante.
As fotos da turma estão disponíveis no álbum abaixo:
Andróides reconhecendo comandos de voz
Lendo alguns posts no Google Reader, assisti um vídeo bem legal neste post do Diogo Medeiros, demonstrando o reconhecimento de voz para a execução de ações em um celular utilizando a tecnologia Android:
Após ter visto este vídeo, senti-me motivado a escrever. Em minha última ida para São Paulo, tive a oportunidade de participar de um evento muito bom da Motorola (o MOTODEV Summit) que foi espetacular em todos os sentidos. Este evento ocorreu na mesma semana em que corri a Maratona de São Paulo e que também participei do JBossInBossa. Neste blog, eu escrevi que um dia falaria um pouco sobre o MOTODEV e agora eu trago algumas impressões pessoais sobre este evento além da minha motivação para ter participado.
Apesar de no Lado Servidor eu estar bem mais focado em serviços não tão diretamente relacionados a dispositivos móveis, sempre gostei das tecnologias utilizadas por estes aparelhos.
Meu primeiro dispositivo nesta área foi um um Palm IIIx que ainda guardo de recordação até hoje em algum lugar... Você se lembra deste aparelho que funcionava com pilhas não recarregáveis, ou ele não é de teu tempo? ;-)No passado, estive envolvido com desenvolvimento de aplicações para J2ME e tive até mesmo a oportunidade de ministrar treinamentos nesta área: um para uma turma de instrutores do SENAC/GO, outro em Palmas/TO e outro aqui em Brasília/DF para o Exército.
Fico impressionado ao ver o quanto a tecnologia para estes aparelhinhos evolui rápido. Imagino que isto ocorra bem mais rapidamente do que nas áreas que estou focado neste momento. Apesar de já não estar mais envolvido com o desenvolvimento de aplicações para dispositivos móveis, eu sempre fui um fã incondicional desta área. Sei o quanto os meus velhos dispositivos de uso cotidiano (um celular Nokia N95 e um Palm Tungsten T5) estão ultrapassados. Mesmo assim, apesar de apresentarem alguns problemas devido ao tempo de uso, estes dispositivos ainda me atendem bem em seus propósitos.
O problema é que hoje eu estou precisando de algo bem mais integrado e conectado aos serviços que utilizo. Principalmente aos do Google! Eu não vou negar: mesmo sendo ferrenho defensor do software livre eu me considero, neste momento, completamente dependente dos serviços gratuitos (e proprietários) oferecidos pelo Google:
- Este blog que roda no Blogger, que é do Google;
- A aplicação que desenvolvi para rodar no Google App Engine (GAE) como proxy para o conteúdo estático deste site, que está no Dropbox e que batizei como DropbProx;
- Meus emails, no Google Mail;
- Minhas listas de discussão, no Google Groups;
- Minha agenda pessoal, o Google Calendar;
- Meu leitor de notícias, o Google Reader;
- E muitos outros...
De todas as tecnologias atuais que já pesquisei na área de dispositivos móveis, a que mais se adequa as minhas necessidades de integração aos serviços do Google é o Android. Em função primariamente desta precisão e, secundariamente da vontade que tenho de voltar a programar para aparelhos baseados na tecnologia Android, eu decidi que meu próximo aparelho celular deverá conter esta tecnologia.
Ao perceber que na mesma semana em que eu iria encarar o desafio de correr a Maratona de São Paulo eu também teria a oportunidade de participar do MOTODEV Summit sem ter que desembolsar um centavo, não tive dúvidas, estendi minha volta para somente após este evento. Aproveitei e fiz minha inscrição também para o JBossInBossa, evento que foi muito mais focado nas tecnologias que tenho trabalhado atualmente.
Quase tudo no MOTODEV Summit foi excelente! As palestras, o almoço, as pessoas que conheci. Caso este evento ocorra novamente no ano que vem, se eu tiver a oportunidade de participar, lá estarei. Para encerrar este post, segue o álbum das fotos que tirei durante o evento:Redes Wireless sem o NetworkManager
O NetworkManager está presente hoje em todas as distribuições Linux. Não apenas pela simplicidade, ele ainda provê suporte para uma série de conexões, seja por modem, VPN, Bluetooth ou Wireless, além é claro da conexão de rede com fio. Mas o NetworkManager só funciona através da interface gráfica, como um Gnome Applet. Inútil quando estamos somente em modo texto, ou modo console.
Achamos! O plano de Internet 3G ideal
É a melhor opção do mercado para todos os tipos de usuários. Pois com este plano, você pode comprar a velocidade desejada, e o tempo de acesso mensal que você quer ter.
E mais! Não há controle de consumo, limite de velocidade após franquia, traffic shaping, video shapping ou qualquer outro artifício para resguardar a infraestrutura da rede. Você provavelmente não ouviu falar nesta operadora por que ela ainda não investiu em marketing de massa. Ao contrário das outras, esta direcionou um investimento milionário em tecnologias para atender a demanda e 100% dos planos contratados.
O plano oferece a escolha da combinação velocidade/tempo. Primeiro, a velocidade máxima à qual você deseja ter acesso:
R$ 19,90 [ ] 600 Kbps ($ 33,1 / Mbps)
R$ 34,90 [ ] 1,0 Mbps ($ 34,9 / Mbps)
R$ 129,90 [ ] 3,6 Mbps ($ 36,0 / Mbps)
R$ 259,70 [ ] 7 Mbps ($ 37,1 / Mbps)
Depois, você escolhe por quanto tempo você quer ter acesso à Internet por mês, na velocidade acima escolhida:
R$ 9,90 [ ] 120 horas ($ 0,08 / h)
R$ 18,90 [ ] 200 horas ($ 0,09 / h)
R$ 29,90 [ ] 280 horas ($ 0,10 / h)
R$ 39,90 [ ] 350 horas ($ 0,11 / h)
Desta forma, um usuário que, por exemplo, viaja 20x por mês, pode se interessar pelo plano básico, de 120 horas. Um usuário que, por exemplo, gosta de assistir a vídeos na Internet enquanto aguarda seu voo, vai precisar de uma velocidade alta, para que os vídeos não demorem para carregar, e ele assim não perca seu pouco tempo no aeroporto aguardando o carregamento do vídeo. Escolhe assim, o plano de 3,6 Mbps. O total do plano fica em R$ 139,80.
Com essas opções, o usuário vai entender facilmente que tem um número limitado de horas por mês para navegar na Internet, na velocidade que ele escolher para atender a sua pressa, ou paciência. Como a velocidade não será controlada de forma ilícita (traffic shaping), sem dúvida é a melhor opção do mercado, pois os preços são proporcionais ao tempo de uso e à velocidade. Impossível ficar insatisfeito.
Err... pera. Qual a operadora mesmo?
A matemática dos planos 3G
Como profissional e palestrante, assim como meus amigos aqui no Lado Servidor, às vezes precisamos de conectividade em aeroportos, faculdades, centros, bares e muitos outros lugares. Mas a qualidade dos serviços de Internet 3G está abaixo do que precisamos. Nem mesmo em planos corporativos, encontramos algo bom a preço razoável. Acredito que a maioria das pessoas deveriam contratar estes planos somente em caso de extrema necessidade, ou caso seja outrem que pagará para você. Se você não se encaixa nessa situação, então é bom entender a matemática da roubada que você está contratando.
Em Março de 2009 apontei para a Farsa do Pacote Ilimitado da TIM. Vender plano ilimitado é utopia. Qualquer que fosse o plano contratado, sempre haveria um limite: 30 dias vezes 24 horas vezes 60 minutos. Na época, a TIM oferecia planos por velocidade. Cada velocidade, um preço. Entretanto, caso o cliente ultrapassasse a franquia de 1GB de download, sua velocidade era reduzida (limitada) ao plano mais baixo. Resumindo: quem contratava o plano mais caro e mais rápido, na verdade contratava um carro com N2O, que em pouco tempo, perderia a potência, e no restante da corrida ficaria na mesma velocidade que os outros carros. A TIM vendia a propaganda "Sem Fronteiras", mas ao reduzir a velocidade dos planos, ela impõe assim um limite de download que você pode baixar dentro do mês. Pelos cálculos, o limite era de 61GB por mês. Nesse caso, o plano não é ilimitado. Nem na franquia, nem na velocidade.
Agora, a TIM afirma que estudou o perfil de seus clientes e identificou que a maioria não utilizava mais que 120h por mês a Internet 3G.
“A nova estratégia foi tomada após pesquisas internas apontarem que a maioria dos nossos clientes de planos ilimitados utilizavam o serviço por um número limitado de horas e pagavam o mesmo preço que aqueles que faziam uso intensivo em tempo e volume de dados”, afirma Rogerio Takayanagi, diretor de Marketing da TIM.Faz sentido. Mas a matemática ainda não bate. Veja os planos:
Analisando matematicamente estes planos, fica evidente que o melhor plano é o de 90 horas. O custo sai por R$ 0,0148 / minuto ou então R$ 0,0129/min no chip avulso. Caso o cliente utilize todas as suas horas, cada minuto extra custará R$ 0,05.
Grande Dica!
Se você pretende utilizar mais de 120h por mês, contrate dois ou mais planos de 90 horas. E evite pagar os minutos extras.
Sem limite de velocidade
A TIM neste plano está com uma idéia interessante: a velocidade máxima é a da rede (dentro dos limites do seu modem/celular). Ou seja, sua velocidade pode variar entre 3,6 Mbps e 850 Kbps em média.
O pulo do gato
Antes, a TIM cobrava pela velocidade, mas limitava a mesma caso o cliente atingisse a franquia de 1GB transferidos. Quem saía no prejuízo, eram os clientes dos planos rápidos, que em poucas horas podiam facilmente atingir 1GB.
Agora, a TIM cobra pelo tempo, impondo novamente o limite de 1GB. Sendo bem direto: quanto mais devagar a Internet, mais tempo você passa nela. Com a Internet lenta, seu plano irá se esgotar inversamente proporcional às suas atividades na rede. Com a Internet lenta, seus e-mails irão demorar mais para carregar. As páginas irão demorar mais para abrir, e os vídeos irão levar uma eternidade para carregar.
Como estes planos não possuem limite de velocidade, qualquer cliente independente do plano contratado, pode atingir a franquia de 1GB dentro de poucas horas, principalmente se acessar sites como o YouTube. Logo, suas horas irão se esgotar, sem que você tenha terminado de baixar aqueles e-mails cheios de planilhas gigantescas enviadas por clientes.
O Plano Ideal
A tentativa da TIM de encontrar uma forma de cobrança eficaz tanto para ela quanto para os clientes, erra em um único ponto: cobrança pelo consumo. Não fosse o limite de 1GB e a imposição de velocidade baixa, resultando assim num consumo limitado por mês a 61GB, o plano seria ótimo.
O problema é que o cliente não tem como controlar o consumo quando navega pela Internet. Ele não sabe quanto de dados um site enviará para o seu computador. Acessar o site da Globo.com pode consumir muitos dados, com tantas imagens, animações Flash e vídeos. O cliente não faz idéia do quanto está consumindo. Ele só faz idéia da velocdidade (de carregamento do site), e o tempo.
A verdade é que nenhuma empresa ainda arriscou a cobrança ideal: combinar preços por velocidade com preço por tempo de uso. Algo como: você escolhe a velocidade, e quanto tempo por mês você quer utilizar a Internet. Impôr limites por consumo, é o principal erro.
Conclusão
Os novos planos da TIM estão em um preço razoável, e até faz mais sentido cobrar pelo tempo em que se navega do que pelo que é trafegado. Mas, com o limite de 1GB ainda imposto, fica claro que a TIM no fundo, cobra pelo que você consome. Com limite de 128kbps caso você estoure a franquia de 1GB, no fundo você possui um limite do quanto pode consumir na quantidade de horas do seu plano. Pura matemática.
Ubuntu no bolso, se for NexusOne
O NexusOne ainda é o "melhor celular" no mundo Android, quando se pensa somente no sistema operacional. É nele que primeiro chegam os updates do Android OS. Agora também, é o primeiro celular a receber uma instalação utilizável do Ubuntu. O blog NexusOneHacks preparou um tutorial bem detalhado sobre como instalar a distribuição no celular de 1GHz.
A instalação do Ubuntu não apaga o Android OS. O terminal do Ubuntu roda em background enquanto a interface gráfica roda como uma aplicação através do cliente VNC do Android. O que fazer com isso? Bem, você tem um servidor Linux de bolso para fazer testes. :-)
#FicaADica
Dicas para uma senha segura
Senha. A porta de entrada para qualquer coisa na era digital. Uma senha fraca e você perde seu perfil no Orkut. Uma senha comum e seu servidor é hackeado. Os riscos são enormes quando não utilizamos uma senha adequada, mas também podemos perder o acesso se não nos lembrarmos dela.
Um hacker experiente não perderá tempo tentando adivinhar manualmente a senha do seu servidor, ou do seu e-mail. Ele vai utilizar um dicionário de senhas. Já existe hoje na Internet uma série de sites com arquivos gigantescos contendo dicionários de senhas prontinhos para serem utilizados, ou ainda métodos menos convencionais. Outros dados que o hacker pode utilizar são os que você publica em suas redes sociais, tais como data de aniversário, sobrenome, endereço da casa de praia, melhor amigo, nome do animal de estimação e por aí vai. Toda e qualquer informação sobre você que o hacker tiver acesso, ele poderá e irá utilizar contra você.
De posse de um dicionário de senhas e uma série de palavras associadas a você, extraídas das suas redes sociais, o hacker carrega estes dados em um programa simples e a partir daí, tenta acessar o que quer que seja seu e esteja protegido por senha. Pode levar tempo, mas ele vai encontrar. O tempo para quebrar a senha pode ser visto nesta tabela, retirada do blog One Man's Blog.
Repare que as senhas de 8 caracteres são facilmente descobertas, se o usuário só utilizou letras minúsculas.
Fica claro que para dificultar o trabalho do hacker, basta aumentar a senha, ou complicá-la, e principalmente: não utilizar palavras associadas à sua vida social. Complicar significa adicionar caracteres como ! @ # $ % " & * ( ) ou até mesmo espaço. Sim, espaço. Muitos destes caracteres são válidos em serviços online, e todos são aceitos no Unix. Até mesmo os caracteres gerados pelas setas de navegação, funcionam. Um combo do Ken do Street Fighter pode ser a sua senha. Hmm... não, melhor não. Todo hacker sabe executar um hadouken. Mas, as vantagens de uma senha complicada se conflitam com a única desvantagem: como lembrar da senha? Sim, é difícil. E anotar a senha num Post-It também não é seguro.
Existem duas boas técnicas que utilizo há anos, que vou compartilhar aqui para você criar uma senha que seja complicada e ao mesmo tempo fácil de lembrar.
Fórmula de Passöurd
A fórmula de Passöurd diz que:
senha = (qualquer coisa que para você faça sentido) - (que faça para outra pessoa)Óbvio, eu sei. :-) A idéia aqui é que a fórmula deva ser qualquer processo de construção de senha que para você seja fácil de lembrar de reproduzir. Às vezes, é mais fácil lembrarmos do caminho que se faz para chegar em determinado lugar, do que o endereço final.
Veja este exemplo: l77ms30ms01a! Para você esta senha tem sentido? Claro que não. E é uma senha complicada que provavelmente levaria 17.184.705 milênios para ser quebrada. Mas para o Marco Silva, ela tem lógica. Ele codificou na senha, as iniciais do seu nome, sua data de nascimento (10/03/1977) e duas letras opostas do teclado, já que todo o conteúdo da senha está ao contrário.
Esta técnica é muito útil para quem tem dificuldade em memorizar senhas aleatórias e precisa de uma fonte de dados para recriar a senha. Eu sugeri que data de nascimento não fosse utilizado na senha. Mas aqui, ela está ao contrário, e seguindo uma lógica, um sentido que somente o dono tem conhecimento, então é aceitável. Por fim, um caracter especial no final apenas para completar a senha. Algo como: "caramba!!! que senha grande!!!". Por isso a exclamação. :-)
Um processo que pode ser acrescentado a esta fórmula é o do f(x) = x - 1. Para cada caracter alfabético que você utilizar na sua senha, obtenha o caracter anterior. Com essa função, a senha de exemplo ficaria: k77lr30lr01z!
Agora sim, mesmo que o hacker saiba que seu nome é Marco Silva, ele nada poderá deduzir com as iniciais do nome. Experimente trocar a fórmula para f(x) = x - 3(x)². :-)
Nona sinfonia de Passöurd
Esta sinfonia diz que, toda e qualquer senha aleatória pode ser cantada.Como se tivesse uma musicalidade. Na música, você encontra tons altos e baixos, desde o Dó até o Sí. Uma senha pode conter uma entonação que, como música, permite você memorizar com facilidade.
Iniciando com a entonação de Mí Dó Ré Mí Ré, e utilizando as iniciais das notas, leia a senha abaixo cantando as notas no caso das letras:
M d R 4 2
você cantou mesmo? experimente: MÍ dó RÉ QUATRO doisLegal, não? Percebeu a entonação que se obtém graças às letras maiúsculas? O correto mesmo, é utilizar letras aleatórias do teclado, gerando uma sinfonia, utilizando o SHIFT para deslocar a nota musical. Com algumas repetições, fica fácil de gravar e você nunca mais irá esquecer.
Cada serviço, sua senha
É perigoso utilizar a mesma senha para tudo. Se alguém descobre, seja porque você deixou em um Post-It a sua fórmula passöurd, ou ficou cantando a senha no metrô, um último artifício é finalizar a senha com alguma indicação do serviço a qual ela está associada.
Assim como no e-mail utiliza-se o @ para dizer em qual endereço você está (@gmail, @hotmail), você pode utilizar esta mesma técnica para senhas. Indique como prefixo ou sufixo da senha alguma informação específica para o serviço. O Marco Silva por exemplo utiliza a senha k77lr30lr01z!@gm para acessar o GMail, e a senha k77lr30lr01z!@wp para acessar a sua conta no WordPress.
Conclusão
Não importa a técnica que você utilize, desde que a sua senha não seja óbvia para ninguém mais além de você mesmo. Mas as técnicas aqui podem auxiliar. Então faça testes, experimente. Veja se consegue se lembrar com facilidade depois. E principalmente: não divulgue a senha!! :-)
PS: ainda lembra da senha musical? Aposto que sim!
Disponibilizadas: a máquina virtual e a ementa de alguns treinamentos
Nos treinamentos ministrados pelo Lado Servidor oferecemos uma máquina virtual (VM) aos alunos. Esta VM contém o sistema operacional utilizado, já instalado e configurado. Além disto, vão no pacote (disco da VM): vídeos, tutoriais, exemplos e exercícios (com suas soluções) referentes ao treinamento.
Em função do uso desta VM no vídeo de apresentação do curso JBAS-1 e também no screencast "Utilizando Maven, Nexus e Subversion em projetos Java, parte I", a VM está sendo liberada para download. Neste momento, ela se encontra no estágio apresentado após a conclusão de nosso último screencast. Como pode ser visto neste screencast, ela contém um Linux Ubuntu 10.04 que é executado no VirtualBox 3.2.4.
Além de liberarmos a VM dos cursos para o download, é bem provável que em breve estejamos ministrando os treinamentos a seguir (em uma turma fechada) e, em função disto, sua ementa foi disponilizada:
- Java SE 6 - Fundamentos (40h) (JSE6-FUNDAMENTOS);
- Java EE 6 - Visão geral (8h) (JEE6-VISAO);
- Java EE 6 - Tecnologias para aplicações Web - Servlets (16h) (JEE6-SERVLET);
- Java EE 6 - Tecnologias para aplicações Web - JSP, JSTL (16h) (JEE6-JSP);
- Java EE 6 - Tecnologias para aplicações Web - JSF (32h) (JEE6-JSF);
- Java EE 6 - Tecnologias para aplicações distribuídas - JPA, Bean Validation (24h) (JEE6-JPA);
- Java EE 6 - Tecnologias para aplicações distribuídas - JMS (16h) (JEE6-JMS);
- Java EE 6 - Tecnologias para aplicações distribuídas - EJB, JTA (32h) (JEE6-EJB);
Vídeo: Utilizando Maven, Nexus e Subversion em projetos Java (Parte I)
Este vídeo é um screencast que demonstra a execução do tutorial "Utilizando o Maven, Nexus e Subversion em projetos Java, parte I" nesta máquina virtual (VM) Ubuntu. O vídeo pode ser baixado no formato OGV (296M), sua duração é de 48 minutos e ele pode ser facilmente visualizado (em tela cheia) clicando-se nest link através das versões mais recentes de browsers como o Mozzila Firefox e o Google Chrome (prefira o primeiro).
JBossInBossa 2010
Este é um post das minhas impressões sobre o JBossInBossa 2010. Minha ênfase é maior na apresentação das pessoas com as quais tive algum relacionamento no evento do que na parte técnica do mesmo.
Durante a semana passada eu estive fora de Brasília, para correr a Maratona de São Paulo 2010 no dia 2 de maio. Aproveitei minha ida e fiquei até o domingo seguinte para participar de dois eventos: o primeiro deles foi o MOTODEV Summit que ficará para um post mais a frente; o segundo foi o JBossInBossa 2010, organizado pelo time da Red Hat.
A princípio, eu não iria ao JBossInBossa pois ele estava marcado, inicialmente, para os dias 16 e 17 de abril. Mas, a mudança nas datas deste evento para os dias 7 e 8 de maio viabilizou minha participação já que eu estava com as passagens compradas para correr, a bastante tempo. Então, tomei as providências necessárias para adiar meu retorno e efetuar a minha inscrição.
No primeiro dia do evento, revi e conheci novos amigos do meu trabalho anterior (Andima/RJ): Cláudio e Valdir, respectivamente. Encontrei-me com clientes do treinamento de JBoss que ministrei para o SERPRO, em Brasília/DF, ao final do ano passado. Cumprimentei velhos conhecidos: Edgar Silva, Vinícius Senger, Bruno Rosseto; conheci pessoalmente pessoas que acompanho (ou passei a acompanhar) no Twitter: Alexandre Porcelli, Mauricio Salatino, Alberto Lemos (Dr. Spock), Samuel Tauil e Leonardo Barbosa. Participei de dois tutoriais: o primeiro com a dupla Bruno Rosseto/Samuel Tauil; o segundo com Alexandre Porcelli e Mauricio Salatino.
Devido aos conhecimentos que tenho em administração e tuning de servidores JBoss AS, eu não aguardava novidades no primeiro tutorial. Mas, eu tinha pouca experiência no JBoss Drools e esperava uma apresentação de nível básico/intermediário. O tutorial do @porcelli e do @salaboy foi como escrevi no Twitter: simples, prático, objetivo e agregou valor.
Ao final do primeiro dia, o amigo Helder da Rocha, que me hospedou durante a estadia em São Paulo, chegou ao evento para "fazer um social". Fomos à Frangaria, caminhando na presença de Alberto Lemos, Vinícius Senger, Valdir e Cláudio. Fizemos uma ou duas rodadas de chopp/cerveja, um jantar e falamos sobre diversas coisas completamente alheias ao mundo Java, por mais incrível que pareça! ;-)
No segundo dia, cheguei ao evento após uma caminhada da estação Vila Olímpia até a Universidade Morumbi/Anhembi. A primeira palestra que assisti foi a do Pete Muir, falando sobre as novidades do Java EE 6 e sobre o futuro do Seam. Ele escreveu este post sobre a sua apresentação no evento e disponiblizou-a neste link. No intervalo fiquei surpreso por uma colega dos tempos de Politec (2000), Cecilia Heinen, ter me reconhecido. Também cumprimentei o Rafael Benevides e conheci pessoalmente o Alessandro Lazarotti. A seguir, a palestra da Flávia Rainone explorou muito bem o histórico de evolução do JBoss AS até o momento atual. Tirei fotos dos slides de sua apresentação. Esperarei que em breve ela esteja disponível, juntamente com o exemplo prático apresentado ao seu final, utilizando APIs Java EE 6. A terceira e última apresentação que assisti foi a do Ricardo Ferreira: apenas um slide, seguido pela explicação de um POC utilizando o JBoss BRMS/Guvnor. Ele também falou sobre o MetaMatrix. Sua apresentação foi bem interessante.
Almoçei numa padaria, na presença do time da Red Hat, sentado a mesa com Bruno Rosseto. Eu me lembro de conversarmos sobre corridas e de que eu iria enviá-lo um convite para escrever no blog.eucorro.net.
Após o almoço, conversei com Edgar Silva, apresentando-o um artigo que estou escrevendo sobre o Arquillian e sobre o ShrinkWrap. Fiquei contente por ele ter me apresentado Pete Muir, fundador do Arquillian. Quando li no Twitter que ele também estaria no evento para falar sobre estas ferramentas (utilizou esta apresentação), achei ótimo pois teria mais uma oportunidade para conversar a respeito delas. E foi o que fizemos após a apresentação pelo Edgar: sentei-me a mesma mesa com Pete Muir para conversar sobre alguns problemas que estavam ocorrendo na compilação dos fontes do Arquillian, disponibilizados em trunk. Tentamos solucioná-lo juntos, mas na correria do evento, não deu. Então, ele me explicou o processo para que eu possa ajudar na solução de problemas. Farei isto. Em seguida fui embora, não assisti nenhuma outra palestra mas acredito que elas também devam ter sido tão legais quanto as da manhã. Mesmo com um pequeno contratempo na organização que não localizou o pagamento pela minha inscrição, posso dizer que a qualidade técnica do evento foi muito boa! Esperarei que as próximas edições deste evento sejam tão boas ou melhores do que esta.
Em fotos tiradas por outras pessoas durante o evento, apareci aqui, aqui, aqui, aqui e aqui. ;-)Acesse arquivos no Dropbox utilizando o teu próprio domínio!
O DropbProx é uma aplicação que tem o objetivo de permitir que você utilize um domínio próprio para obter arquivos publicados numa conta Dropbox. Após configurar o DropbProx informando um número de conta Dropbox e publicá-lo no Google App Engine (GAE), ele te dará a capacidade de acessar arquivos a partir de um domínio mais significativo do que o apresentado pela URL http://dl.dropbox.com/u/NR_CONTA
. Particularmente, eu uso o DropbProx para possibilitar que os arquivos públicos de minha conta pessoal estejam visíveis a partir do subdomínio a.paulojeronimo.com. Desta forma, o arquivo http://dl.dropbox.com/u/345266/curriculo/curriculo-pj.html também pode ser acessado através de http://a.paulojeronimo.com/curriculo/curriculo-pj.html. Eu também utilizo o DropbProx nos arquivos estáticos do site Lado Servidor: utilizando o Dropbox eu tenho a página http://dl.dropbox.com/u/5689841/servicos.html publicada e, pelo uso do DropbProx, permito a visualização desta mesma página através da URL http://a.ladoservidor.com/servicos/index.html.
O código do DropbProx é uma simples redução/adaptação do código do projeto mirrorrr, desenvolvido por Brett Slatkin. Ele foi adaptado especificamente com o objetivo de se construir um proxy para os arquivos públicos da conta de algum usuário do Dropbox. Se você deseja utilizar proxy completo (e open source) para ser executado no GAE, utilize o mirrorrr!
Motivação
Eu gosto muito do Dropbox mas, ele não me oferece a oportunidade de acessar os arquivos que eu tenho publicados através de meu próprio domínio. Desta forma, ele descaracteriza o fato dos arquivos serem meus! Como alguém iria saber que http://dl.dropbox.com/u/MEU_NUMERO/meu_arquivo
é realmente um arquivo meu? Não seria muito melhor que meu_arquivo
fosse acessado através de uma URL como http://arquivos.meu_dominio.com/meu_arquivo
?
Existem soluções para este problema. Dentre elas, utilizar o Apache 2 como um proxy reverso ou configurar o mod_rewrite. Mas, em qualquer uma destas soluções, eu precisaria de um servidor aonde eu tivesse a administração do Apache em minhas mãos. Eu até tinha isto, enquanto pagava para ter um VPS no Linode. Mas, neste momento, não estou necessitando de todo o poder que um VPS pode me oferecer. Então, eu me desfiz do mesmo e fui buscar uma solução mais econômica (diga-se: gratuita). Sendo assim, eu não poderia mais adotar as alternativas envolvendo o uso do Apache. Com algumas pesquisas no Google, eu encontrei um proxy (open source) escrito em Python e que eu poderia rodar no GAE, sem custos. Então, eu o adaptei para as minhas necessidades.
Instalação, passo a passo
Um resumo dos passos para a instalação do DropbProx pode ser encontrado em seu site. Entretanto, nos próximos posts eu irei apresentar um passo a passo completo, na forma de vídeos, explicando como instalar o DropbProx em um subdomínio de tua propriedade. Acompanhe, sugira melhorias e/ou participe do projeto!
O FLISOL, em Goiânia
No sábado passado eu participei, em Goiânia (minha terra natal), do Festival Latino-Americano de Software Livre (FLISOL). O evento impressionou-me pela quantidade de inscritos (e realmente interessados) nos assuntos apresentados. Minha palestra, como eu já havia escrito neste post, foi sobre o Java EE 6, no JBoss AS 6. Apesar de poucos dos presentes (em sua maioria de estudantes) terem levantado a mão quando eu perguntei quem tinha experiência prática em Java EE, minha apresentação pareceu ter chamado a atenção e despertado uma grande curiosidade pela versão 6 do Java EE e do JBoss AS.
Os slides da minha palestra estão disponíveis no SlideShare, e visíveis abaixo:
Durante esta semana, as demonstrações que iniciei no evento, relativas a instalação do JBoss AS 6 (a partir dos fontes) e a explicação da aplicação Weld (NumberGuess) também estarão publicadas neste site, na forma de vídeos explicativos. Eu já recebi alguns emails pedindo maiores informações sobre o processo de instalação do JBoss AS e sobre o seu processo de build. Para quem não se interessa em compilá-lo a partir dos fontes, a instalação é simples: basta ter o JDK instalado, baixar e descompactar este zip (JBoss AS 6.0.0-M2) e incluir o PATH para seus binários (JBOSS_HOME/bin). Para quem deseja compilá-lo, o processo envolve a obtenção dos fontes do JBoss AS a partir de seu repositório subversion, a instalação e configuração do Maven para o novo repositório utilizado e, então, a execução do script build.sh (nos fontes do JBoss). Estes passos serão explicados detalhadamente nos próximos vídeos que serão liberados.
Como dito no evento, o Lado Servidor mantém o seu compromisso público de liberar, semanalmente, vídeos relativos a tópicos de nossos treinamentos. Durante a semana passada, alguns contratempos nos jogaram para fora da linha deste compromisso, mas isto será corrigido e compensado durante esta semana.
Eu desejo, sinceramente, que os jovens estudantes de Goiânia possam se interessar cada vez mais pelas facilidades de desenvolvimento trazidas por esta nova versão do Java EE. Eu é que devo agradecer ao GOJava pelo convite para a participação neste evento e, por fim, desejo sucesso a todos os que dedicaram um pouco de seu tempo ao FLISOL. Veja algumas das fotos do evento! ;-)
Desenvolvedores Java EE estão indo para as nuvens!
Uma pesquisa realizada pela empresa Replay Solutions com mais de 1000 desenvolvedores Java corporativos demonstra que eles estão migrando suas soluções para nuvens computacionais (cloud computing).
A pesquisa revela dados sobre o desenvolvimento Java corporativo, baseado em padrões, servidores de aplicações Java e IDEs. Ela indica que há um interesse significativo, ativa avaliação e testes de aplicações construídas em Java para a execução em nuvens computacionais.
De fato, 36% dos entrevistados disseram que deveriam testar ou implantar uma infraestrutura baseada em nuvens computacionais em 2010. Do mesmo modo, 32% dos pesquisados disseram que esperam um aumento no seu número de máquinas virtuais (VMs). 29% esperam um acréscimo de duas a dez vezes no seu número de VMs e 6% esperam um acréscimo maior que 10x.
"Nós realizamos um estudo para fins de planejamento próprio de produtos internos, mas queriamos compartilhar os resultados com a comunidade Java por causa do tamanho da amostra e da atividade em torno de desenvolvimento de aplicações Java em nuvens", disse Jonathan Lindo, CEO da Replay Solutions, em uma declaração. Embora a pesquisa tenha abordado desenvolvedores JBoss, Tomcat, WebLogic e WebSphere, nós ficamos realmente surpresos com a inesperada alta percentagem de desenvolvedores Java corporativos que estão de forma proativa implantando ou testando infraestruturas para computação em nuvem em 2010."
Quanto ao uso de servidores de aplicações, 57% dos pesquisados disseram utilizar o Tomcat, 37% o WebSphere, 22% o WebLogic e 26% o JBoss.
Com relação ao sistema operacional, 57% dos entrevistados disseram que esperam executar aplicações Java no Windows, 37% nos sabores Red Hat/CentOS do Linux e 18% no Solaris.
Na questão do IDE utilizado, o Eclipse foi o mais popular na pesquisa, com 66%. O NetBeans ficou com 17% e o JDeveloper com 12%.
No quesito VM utilizada, 64% dos entrevistados disseram que irão implantar aplicações na VM da Sun (1.5 ou superior).
A pesquisa foi conduzida em março de 2010, com foco em desenvovedores corporativos utilizando, implantando ou suportando aplicações Java EE e pode ser baixada neste link.
Este post foi uma tradução/adaptação deste post da eWeek (em 8 abril), corrigindo alguns números que foram atualizados na pesquisa no dia 12 de abril de 2010.
RHQ utilizando GWT
O RHQ oferece a infraestrutura comum para os produdos de monitoração Embedded JOpr, Jopr e JBoss ON. Ele foi iniciado e desenvolvido em conjunto pela Red Hat e pela Hyperic até o acordo de cooperação terminar, na data deste anúncio. Sendo assim, agora ele é mantido apenas pela Red Hat.
A motivação para este post é apresentar a nova interface que está sendo desenvolvida pelo time do RHQ utilizando o Google Web Toolkit (GWT). Greg Hinkle mantém em seu blog informações sobre o andamento deste projeto e anunciou, na semana passada, este novo projeto de interface. Nele é utilizado o Smart GWT, uma biblioteca fantástica e muito rica em componentes visuais para o GWT.
Este screencast demonstra as novas características visuais do produto. Na minha opinião, com a adoção do GWT, a interface do produto está melhorando ainda mais! Realmente, o time do RHQ está de parabéns pela nova UI!
O RHQ e o Jopr são os principais produtos que tratamos no treinamento JBAS-2: Monitoração de múltiplas instâncias de JBoss AS.Java EE 6 no JBoss AS 6
Este será o tema da minha apresentação no Festival Latino-americano de Instalação de Software Livre (FLISOL) em Goiânia/GO, dia 24 de abril, como divulgado pelo GOJAVA. Veja o site e a programação do evento. A apresentação trará informações sobre a evolução da plataforma Java e do JBoss até o milestone atual. Uma das fontes de informações para os assuntos que irei cobrir é a apresentação que irá ocorrer hoje, na Boston University (veja os arquivos anexados a página).
Vídeos gratuitos, toda semana!
Começando amanhã (13/04/2010), o segundo dia útil de cada semana será o dia em que você poderá visitar este blog para baixar um ou mais vídeos GRATUITOS, de nossa produção, cobrindo tópicos dos treinamentos que ministramos! Serão vídeos curtos (de 1 a 15 minutos), explicativos (com áudio), e que compõe a percentagem de material gratuito (20 a 50%) que iremos disponibilizar para cada um de nossos cursos.
Faça bom proveito! Baixe, assista, pratique o que ver, comente, divulgue e distribua nosso conteúdo, LIVREMENTE!
Novos serviços, na Cabal
O Lado Servidor está desenvolvendo, desde o começo desta semana, novos serviços na Cabal, cliente de longas datas que demandou alguns de nossos treinamentos em 2009: uma turma de Seam Framework e outra de EJB 3.0! Desta vez, as tarefas que nos foram delegadas envolvem a migração de aplicações do Tomcat para o JBoss AS 5, rodando instâncias em cluster que serão configuradas por nós.
Como parte dos serviços solicitados, também estamos aprimorando a arquitetura de algumas aplicações para suportar o uso de EJB 3, com tolerância a falhas e balanceamento de carga entre várias camadas: frente Apache, contêineres Web e EJB 3.
Arquivo do blog
-
▼
2010
(55)
-
►
novembro
(14)
- Usando a JConsole para Monitorar a JVM do WebSphere
- 7º Fórum Goiano de Software Livre
- Tutorial: Montando e testando um cluster de servid...
- EAD: Construindo e implantando aplicações Java EE ...
- Treinamento em WebSphere 7
- Palestra na semana acadêmica de informática da Fac...
- Tutorial: Começando com o Apache Wicket (Parte I)
- EAD Gratuito: Google App Engine
- Apache Wicket derruba o padrão JSF
- Motivação p/ você fazer nosso treinamento sobre GA...
- Apache Wicket ainda mais divertido: Parte 1
- Evento gratuito: Clusters e alta disponibilidade c...
- 2º WorkShop de Tecnologia de Jataí
- Tutorial: Montando e testando um cluster de servid...
-
►
agosto
(8)
- Por que você deveria fazer o nosso próximo treinam...
- EAD: Balanceamento de carga com Apache para instân...
- Treinamento em Goiânia: JEE6-VISAO+JBAS-1
- Tutorial: Iniciando O Desenvolvimento Em Java EE 6...
- Senhas em texto puro: a melhor opção
- Consultorias a distância
- Introdução a Java EE 6, utilizando GlassFish e JBo...
- Andróides reconhecendo comandos de voz
-
►
julho
(9)
- Redes Wireless sem o NetworkManager
- Achamos! O plano de Internet 3G ideal
- A matemática dos planos 3G
- Ubuntu no bolso, se for NexusOne
- Dicas para uma senha segura
- Tutorial: Testes reais de componentes Java EE com ...
- Tutorial: Instalando, iniciando, testando e parand...
- A certificação JBCAA
- JBoss Community x JBoss Enterprise
-
►
novembro
(14)