Quinta-feira Nov 19, 2009

Terça-feira Out 20, 2009

Fotos do CCT na Unice

O Cejug organizou seu evento mensal, o Café com Tapioca, no último Sábado na Unice. Tivemos ótimas palestras (veja os temas no post anterior) e um bom público.

Nossos agradecimentos ao pessoal da Unice que compareceu em peso, à universidade, que cedeu gentilmente seu espaço e coloborou com a organização em todos os momentos, aos membros do Cejug que estavam presentes e, claro, ao Daniel Valente e ao Silvio Netto, que enriqueceram o CCT com apresentações excelentes.

Abaixo uma pequena galeria do evento:

Em Novembro tem mais!

Quinta-feira Out 15, 2009

Café com Tapioca de Outubro

O Café com Tapioca deste mês será realizado no próximo sábado (17/10) na Unice (veja mapa). Palestras sobre WebBeans e Jogos 2D e 3D com JME serão ministradas pelo Silvio Netto e Daniel Valente, respectivamente.

O evento começa às 9:00 e terá duração de aproximadamente duas horas e meia. Haverá também uma confraternização dos participantes no restaurante Suprema (veja mapa) ao fim das atividades.

Compareça! Você assistirá a apresentações de ótimo nível e ainda concorrerá a brindes!

Para maiores informações, visite o site oficial do evento e seu link no OSUM (se possível, responda nosso RSVP).

Aproveite e também siga o @cejug no twitter!

Sexta-feira Set 25, 2009

Aniversário de 7 anos do Cejug!

Para finalizar a sequência de posts com eventos da semana passada, vou fazer um pequeno report de como foi o maior deles. O aniversário de 7 anos de Cejug foi celebrado no último sábado (19/09) e mostrou como a comunidade Java do Ceará é forte e participativa.

O Café com Tapioca, como é chamado o tradicional evento do Cejug, durou o dia inteiro e contou com palestrantes de todo o país. Na primeira palestra, o Bruno Pereira falou sobre como ser produtivo na web. Depois tivemos o Régis Melo mostrando como desenvolver aplicações JEE/JME para rodar em qualquer lugar do mundo. O Vitor Oliveira deu a terceira palestra, falando sobre o mito criado em torno dos chamados times ágeis. A palestra fechou a manhã do evento.

À tarde, o evento teve mais quatro palestras. O Tarso Bessa e o Rafael Ponte discutiram os 10 maus hábitos de desenvolvedores JSF. O Jeveaux falou sobre a utilização do Lucene para aprimorar ferramentas de pesquisa. A terceira palestra foi com o Rodrigo Yoshima sobre perpectivas relacionadas ao Agile. Fechando o evento, o Paulo Silveira deu a palestra "Desmistificando o TDD na prática".

Veja como foi (clique nas imagens para ver em tamanho maior):

Você pode acessar um álbum completo aqui.

Prêmios como livros de Java, assinaturas digitais da Java Magazine, pendrives, descontos em cursos de Java, e três vouchers de certificação da Sun Microsystems foram sorteados no evento. A Sun era uma das empresas patrocinadoras (veja a lista completa aqui). O Cejug também presenteou todos os palestrantes com cestas de lembranças do Ceará.

Foi uma festa muito bonita e bem organizada. Mais uma vez, o Cejug mostrou sua força por meio de uma celebração que será sempre lembrada pela comunidade Java do estado. E por falar em comunidade, foram mais de 300 participantes durante todo o dia. Obrigado a todos que participaram, vocês fizeram deste evento algo memorável!

Estou começando a colaborar na organização dos eventos do Cejug. Em breve eu posto mais informações sobre os próximos Café com Tapioca!

Quinta-feira Set 24, 2009

SFD em Fortaleza: Terceiro Evento - Faculdade Christus

O terceiro evento do Software Freedom Day em Fortaleza aconteceu na Faculdade Christus poucas horas depois do evento da FIC. Eu também já havia visitado a Christus para uma palestra sobre algumas iniciativas acadêmicas da Sun.

Tivemos três palestras: eu falei sobre OpenSolaris, o Hermínio fez uma apresentação sobre Ruby, JRuby e sua integração com o Netbeans e o Weliton falou sobre JBoss Seam.

Assim como nos outros eventos, o OSUM Leader da faculdade exerceu o papel de organizador e divulgador do evento. Neste caso, o Hermínio não só organizou, mas também participou como palestrante.

Veja como foi:

Mais uma vez, meus agradecimentos ao Hermínio, OSUM Leader da Christus, pelo empenho na organização, divulgação e participação como palestrante no evento.

Além do sorteio de brindes tradicional, um pen drive da Sun e uma camiseta do OpenSolaris serão sorteados entre os membros do grupo da Faculdade Christus no OSUM (participe do sorteio!). Também tivemos um coffee break durante o evento.

No próximo post, o evento do SFD na UFC. Até mais!

Segunda-feira Ago 31, 2009

De olho no webinar! (parte 2)

 Amanhã, a Sun vai promover mais um webinar gratuito. Assim como o da semana passada, é necessário increver-se para participar (veja o sumário abaixo).

O assunto do webinar será segurança em serviços na nuvem. Reserve seu lugar e participe!


Sumário do webinar:

Título: "Safety First: Protecting Your Services in the Cloud"
Horário: 14:00 (horário de Brasília)
Link de insrição: http://bit.ly/pNPEi
Idioma: Inglês

Você também pode se manter informado pelo twitter:

Siga o OSUM Brasil no twitter: http://twitter.com/osum_brasil

Siga-me no twitter: http://twitter.com/thiagotts


Quinta-feira Ago 13, 2009

Certificações de MySQL por U$40


O Sun Academic Initiave (SAI) é um programa acadêmico mantido pela Sun Microsystems que visa levar treinamentos online gratuitos em tecnologias da empresa para estudantes de todo o mundo. Além disso, através do SAI, os estudantes têm acesso a descontos de até 80% em certificações, pagando apenas U$40 por qualquer exame coberto pelo programa.

Uma excelente notícia é que o SAI agora também oferece descontos em certificações de MySQL, além de Java e Solaris, que já faziam parte do programa deste sua criação. As novos exames cobertos pelos SAI são:

- Sun Certified MySQL 5.0 Database Administrator 1

- Sun Certified MySQL 5.0 Database Administrator 2

- Sun Certified MySQL 5.0 Developer Part 1

- Sun Certified MySQL 5.0 Developer Part 2

- Sun Certified MySQL Associate

Se você é estudante, ainda não é registrado no SAI e deseja participar, siga as instruções nos posts abaixo:

Como registrar-se no Sun Academic Initiave (SAI)

Como requisitar seu voucher com desconto no Sun Academic Initiave (SAI)

Bons estudos!

Terça-feira Ago 11, 2009

Seja um especialista em OpenOffice.org pela metade do preço!

Você sabia que a Sun oferece certificações para quem quer ser especialista em OpenOffice.org (ou BrOffice.org)? Existem três modalidades de certificação:

- Sun Certified OpenOffice.org Writer Specialist

- Sun Certified OpenOffice.org Calc Specialist

- Sun Certified OpenOffice.org Impress Specialist

As provas de certificação são constituídas de questões básicas e moderadamente avançadas, e não há pré-requisitos necessários para nenhuma delas.

Agora, a boa notícia: você pode tirar qualquer uma das três certificações com 50% de desconto até o dia 30 de Setembro! Clique aqui para obter mais informações.

Não perca essa chance!

Quarta-feira Jul 29, 2009

Sun Studio Blogging Contest

This post is available in English here.

A Sun lançou mais um concurso envolvendo blogs e uma de suas tecnologias. Desta vez a competição envolve o Sun Studio e, claro, a sua capacidade e criatividade para criar um bom post. Para quem viu e/ou participou do último concurso envolvendo JavaFx, as regras para este novo concurso são bastante semelhantes. Para participar, siga os passos abaixo:

1. Faça o download do Sun Studio.

2. Crie um post em seu blog envolvendo esta ou versões anteriores do Sun Studio.

3. Envie o link de seu post para a organização.

Tá, mas... O que eu escrevo?


Você pode falar sobre as ferramentas do Sun Studio que mais lhe atraem, e porque elas fazem a diferença para você. Faça críticas, sugestões, tutoriais, estudos de caso, proponha mudanças, enfim... O céu é o limite, meu rapaz.

E lembre-se: seu post deve ser escrito em inglês!

Agora, vamos à premiação: cada um dos 10 primeiros colocados receberão um prêmio de U$500. Além disso, os 50 melhores posts receberão pendrives de 2GB do Sun Studio.

Confira abaixo os deadlines:

Início do concurso: 23 de Junho de 2009
Fim do concurso: 14 de Agosto de 2009
Período de avaliação: 14 de Agosto a 4 de Setembro de 2009
Anúncio dos ganhadores: 14 de Setembro de 2009

Boa sorte!

Segunda-feira Jul 27, 2009

Tutorial Projeto Darkstar (parte VI)

Você deve ter percebido o botão de Chat no canto inferior esquerdo da tela de jogo. Você pode inclusive utilizá-lo, mas infelizmente os outros jogadores ainda não vêem o que você está escrevendo. Estabelecer essa comunicação é nosso objetivo no último post deste tutorial. Veja como é simples:

Tudo que precisamos fazer é implementar o método chatMessage(..) na classe SnowmanPlayerImpl:



É isso. Simples, não?

Teste agora os resultados. Rode o servidor, inicie uma partida entre dois clients e tente uma comunicação. Agora seu oponente já consegue ver o que você escreve:



Bom, o tutorial vai ficando por aqui. Espero que tenha sido útil para estabelecer um primeiro contato com o Projeto Darkstar. Sei que algumas dúvidas, principalmente sobre a implementação de alguns métodos, devem surgir. Lembre-se de que uma versão bem mais completa (em inglês) deste tutorial está disponível no site oficial do projeto (http://projectdarkstar.com), pois trata-se de um Hands On Lab realizado no último JavaOne. No site você encontra também toda a documentação necessária para aprofundar seus estudos.

Até mais! 

Tutorial Projeto Darkstar (parte V)

Até agora, nosso servidor aceita conexões de múltiplos clientes e os combina dois a dois para criar novas partidas. No entanto, ainda são poucas as mensagens enviadas pelo cliente que geram os efeitos esperados no status do jogo. Nesse post vamos tornar nosso servidor apto a interpretar duas dessas mensagens que são cruciais: MOVEME e ATTACK.

Começamos pela implementação do método protected moveMe(..) na classe SnowmanPlayerImpl. Nosso objetivo é fazer com que as mensagens MOVEME enviadas por um cliente sejam interpretadas e gerem modificações no status do jogo. O método deve ser algo como: 



Vamos agora ver o resultado desta implementação. Rode o servidor e conecte dois clients para que partida seja iniciada. Veja que, agora, a movimentação de um jogador pode ser observada na tela de seu oponente.


O próximo passo é implementar o método protected attack(..), para que as mensagens ATTACK enviadas por um cliente também tenham efeito no jogo:



Voilá! Teste novamente o jogo. Ele deve estar funcionando com movimentos e ataques ao adversário.

No próximo (e último) post, vamos implementar a ferramenta de chat entre os jogadores!

Tutorial Projeto Darkstar (parte IV)

Nesta parte do tutorial, vamos melhorar nosso servidor adicionando funcionalidades que permitirão manter status de jogos e coordenar o início dos mesmos. Isso permitirá que o servidor aceite a conexão de novos clients e inicie uma nova partida para cada dois novos jogadores conectados.

O primeiro passo será analisar o comportamento do Project Snowman do ponto de vista do servidor. Esse comportamento é coordenado por um conjunto de interfaces encontrado em Project Snowman Server -> Source Packages -> com.sun.darkstar.example.snowman.server.interfaces. Vamos analisar cada uma dessas interfaces separadamente:

DynamicEntity: É a interface que define a base de funcionalidades para objetos em movimento no jogo. Em nosso caso, tais objetos são jogadores e bandeiras.

SnowmanFlag: Como o nome já sugere, esta interface representa uma bandeira, que pode ser movida e carregada no campo de jogo.

SnowmanPlayer: Interface que representa um jogador. Cada cliente conectado é associado a um único SnowmanPlayer.

SnowmanGame: Representa uma partida que está sendo jogada entre múltiplos SnowmanPlayer's com múltiplas SnowmanFlag's.

EntityFactory: Interface utilizada para fabricar SnowmanPlayer's e SnowmanFlag's.

GameFactory: Interface utilizada para fabricar SnowmanGame's.

No post anterior, configuramos nosso servidor para que se fosse possível iniciar uma partida, ainda que com apenas um jogador e sem bandeiras. O que queremos agora é fazer com que cada vez que dois jogadores se conectem, uma nova partida seja iniciada. Para isso, o servidor deve adicionar a uma lista o jogador que se logou mas espera um companheiro para jogar. No momento em que o segundo jogador conectar-se, o protocolo de comunicação estabelecido (veja o post anterior) é usado para dar início a uma nova partida.


Agora, quando rodarmos nosso servidor, queremos que os seguintes dados sejam inicializados:

- Um EntityFactory para criar jogadores e bandeiras.
- Um GameFactory para criar SnowmanGame's cada vez que uma partida for iniciada.
- Uma List de objetos ManagedReference que representa SnowmanPlayer's esperando uma nova partida.
- Um int que funciona como contador de partidas iniciadas.

Adicionamos então as seguintes modificações à classe SnowmanServer.java:

Atributos:

     private EntityFactory entityFactory;
     private GameFactory gameFactory;
     private List<ManagedReference<SnowmanPlayer>> waitingPlayers;
     private int gameNumber;

Método initialize(..):

     public void initialize(Properties props) {
         this.entityFactory = new EntityFactoryImpl();
         this.gameFactory = new GameFactoryImpl();
         this.waitingPlayers = new ArrayList<ManagedReference<SnowmanPlayer>>(2);
         this.gameNumber = 0;
     }

Agora, para que uma partida seja iniciada sempre que dois jogadores se conectem, modificamos o método loggedIn(..):


Até o momento, nosso servidor só consegue interpretar mensagens do tipo READY vindas do cliente. Vamos agora aprimorar nossa classe SnowmanPlayerListener para que outros tipos de mensagem possam ser interpretados. O primeiro passo é modificar o método receivedMessage(..):



Implementando o método disconnected(..), tratamos o caso em que o cliente é desconectado:



Vamos agora implementar a classe que de fato coordena e mantém o status de todas as partidas. Acesse o arquivo SnowmanGameImpl.java em Project Snowman Server -> Source Packages -> com.sun.darkstar.example.snowman.server.impl e modifique seu construtor:



Devemos também implementar o método sendMapInfo(), que envia informações de coordenadas aos clientes:



Tente agora rodar o servidor (lembre-se de limpar o projeto primeiro!) e dois clientes. Se todos os passos acima foram seguidos sem problemas, você verá agora os dois jogadores logados na partida e suas respectivas bandeiras.

Porém, ainda temos uma série de limitações. Note que o movimento de um jogador não é refletido na tela do outro cliente, uma vez que  nosso servidor ainda ignora as mensagens MOVEME. Essa é uma tarefa para o próximo post!

Quarta-feira Jul 22, 2009

Tutorial Projeto Darkstar (parte II)


Vamos agora começar a configurar um servidor e um cliente do Projeto Snowball para vermos o Darkstar funcionando.
Primeiro, abra no Netbeans o projeto do servidor do Snowball baixado (ver post anterior):



Criaremos uma configuração bem básica do servidor para ver a coisa funcionando pela primeira vez. Localize o método initialize(..) no arquivo SnowmanServer.java (o caminho é Project Snowman Server -> Source Packages ->  com.sun.darkstar.example.snowman.server -> SnowmanServer.java). A idéia é fazer com que este método imprima a mensagem "Bem-vindo ao Darkstar!" quando o servidor for inicializado.
Localizado o método, inclua no corpo do mesmo:

logger.log(Level.INFO, "Bem-vindo ao Darkstar!");

Agora lozalize o método loggedIn(..). Vamos fazer com que este método imprima uma mensagem indicando que um jogador acaba de se logar no servidor. Para isso, inclua a seguinte linha no método:

logger.log(Level.INFO, "Jogador " + session.getName() + " logou");

Agora construa o projeto:



Após alguns minutos e um turbilhão de mensagens, a contrução deve funcionar (a mensagem "BUILD SUCCESSFUL" deve aparecer no console de saída).

Agora, rodemos o servidor:



Você deve obter como saída algo como:



Nosso servidor ainda não faz muito (na verdade, ele não faz quase nada... rs). Ainda assim, vamos rodar o cliente para tentar uma primeira conexão e ver o que acontece:

- Abra o terminal e acesse a pasta (snowman-client) onde você salvou o cliente do jogo.
- Digite: java -jar snowman-client.jar

Eis o nosso cliente rodando:


O cliente está configurado para se conectar ao localhost na porta 3000. As configurações do nosso servidor (que ainda está rodando) estão de acordo com essas especificações.

Você pode digitar qualquer usuário e senha e tentar uma conexão. Porém, como o nosso servidor até agora só imprime uma mensagem indicando um login e retorna um handle null, algumas mensagens de erro serão impressas no terminal.

Para encerrar o servidor, clique com o botão direito em Project Snowman Server, vá em Personalizar e clique em Stop.

Lembre-se: o servidor do Darkstar tem alta persistência, o que significa que caso o servidor seja desligado (como fizemos acima) ou sofrer algum tipo de pane, todos os estados atuais serão retidos e reiniciados da próxima vez que o servidor rodar.

Você pode verificar isso repetindo os passos acima e iniciando novamente o servidor. Desta vez, o AppListener será reiniado a partir dos dados já existentes, e nossa mensagem de boas vindas não será mais exibida.

Caso queira inicar o servidor a partir de seu estado inical, apenas limpe o Project Snowman Server antes de executá-lo novamente.

Nos próximo post, iniciaremos a comunicação entre servidor e cliente.

Terça-feira Jun 30, 2009

Semana da Tecnologia na FATENE

This blog post is available in English here.

Passado o conturbado período de fim de semestre, vou postar enfim o último dos três eventos de que participei este mês. Trata-se da Semana da Tecnologia da FATENE. O evento contou com muitas palestras dos mais variados assuntos, com palestrantes de empresas locais, multinacionais e de outras faculdades e universidades.

Assim como na Semana de Tecnologia da Faculdade Christus, nesta apresentação falei sobre as certificações oferecidas através do Sun Academic Initiative, do Open Source University Meetup e sobre os passos para participar de cada um desses programas.

Abaixo algumas fotos do evento e da palestra:

O rapaz aí ao lado foi o meu tradutor para Libras durante a palestra. Isso porque alguns dos participantes eram deficientes auditivos.

É isso pessoal, até a próxima!

Domingo Jun 14, 2009

Evento O CT quer você!

This blog post is available in English here.

Mais em evento que participei na semana passada foi o chamado O CT quer você, que é organizado pelo Centro de Tecnologia da Universidade Federal do Ceará e tem como intuito a apresentação dos cursos do centro (engenharias e arquitetura e urbanismo) para os estudantes das escolas mais bem colocadas no ENEM que têm interesse em prestar vestibular para a área.

À convite do coordenador do meu curso (Engenharia de Teleinformática), falei sobre o programa embaixadores de campus da Sun aos interessados em nosso curso. Estimo que o evento contou com mais de 500 participantes.

Algumas fotos do evento:

No próximo post falo de mais um evento que participei semana passada, o último da sequência.

Até a próxima!

About

Thiago Sá é estudante de graduação de Engenharia de Teleinformática na Universidade Federal do Ceará e atualmente exerce a função de Embaixador de Campus da Sun Microsystems em Fortaleza, CE.

Search

Archives
« Abril 2014
SegTerQuaQuiSexSábDom
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today