sexta-feira, 8 de maio de 2009
Site Zagaia
finalmente o site do Zagaia está na rede... segue o link...
http://portal.fucapi.edu.br/nepcomp/zagaia/
quinta-feira, 7 de maio de 2009
Cluster mysql
segue o tutorial...
Clusterização
A necessidade de se montar um cluster no MySQL está relacionada à alta disponibilidade das informações e à tolerância a falhas. Com dois ou mais servidores MySQL sendo executados em cluster os dados são automaticamente replicados entre os servidores e cada nó que pertence ao cluster pode ser removido sem afetar a disponibilidade da aplicação.
O exemplo de cluster a ser utilizado é composto por três servidores, sendo eles:
Servidor central(10.0.50.11): Responsável por gerenciar os servidores conectados ao cluster(Managment Node). O número IP atribuído a esse servidor será o 10.0.50.11, sendo necessáro alterar esse valor para o número IP real do seu servidor central.
Servidores de Armazenamento(10.0.50.5/ 10.0.50.10): Dois servidores que serão responsável pelo real armazenamento dos bancos de dados, por meio de uma conexão com o servidor central(Storage Nodes e SQL Nodes). Sendo necessário a verificação do IP como acima.
Configurando o servidor central
Se você quiser intalar o mysql no servidor central, bastar abrir o terminal e digitar:
sudo apt-get install mysql-server-5.0
Outra opção, faça o download http://dev.mysql.com/get/Downloads/MySQL-Cluster-6.3/mysql-cluster-gpl-6.3.20-linux-i686-glibc23.tar.gz/from/pick#mirrors
e copie para o /home
em seguida faça os seguintes passos:
mkdir /usr/src/mysql-mgm
cd /usr/src/mysql-mgm
cp /home/mysql-cluster-gpl-6.3.20-linux-i686-glibc23.tar.gz .
tar xvfz mysql-cluster-gpl-6.3.20-linux-i686-glibc23.tar.gz
cd mysql-cluster-gpl-6.3.20-linux-i686-glibc23/
mv bin/ndb_mgm /usr/bin
mv bin/ndb_mgmd /usr/bin
chmod 755 /usr/bin/ndb_mg*
cd /usr/src
rm -rf /usr/src/mysql-mgm
Obs.: nesse caso, foi feito o download do mysql-server
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
vim config.ini
digite:
[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
# Section for the cluster management node
[NDB_MGMD]
# IP address of the management node (this system)
HostName=10.0.50.11
# Section for the storage nodes
[NDBD]
# IP address of the first storage node
HostName=10.0.50.5
DataDir= /var/lib/mysql-cluster
[NDBD]
# IP address of the second storage node
HostName=10.0.50.10
DataDir=/var/lib/mysql-cluster
# one [MYSQLD] per storage node
[MYSQLD]
[MYSQLD]
em seguida inicie o cluster central
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
sudo chmod 755 /etc/init.d/ndb_mgmd
sudo update-rc.d ndb_mgmd defaults
Configurando os nós(10.0.50.10 e 10.0.50.5):
sudo apt-get install mysql-server-5.0
...
...
[mysqld]
ndbcluster
ndb-connectstring=10.0.50.11
...
...
[mysql_cluster]
ndb-connectstring=10.0.50.3
sudo mysqld_safe -user=mysql &
sudo ndbd
sudo /etc/init.d/mysql.server start
A partir deste momento o cluster já está sendo executado. Podemos enviar o comando SHOW na interface console do Management Client do cluster e verificar que os dois nós já são considerados parte do cluster.
Apesar de o cluster já estar configurado, a partir desde momento os dois servidores MySQL ainda estão trabalhando de forma independente. Para que possamos usufruir das funcionalidades do cluster é preciso criar manualmente um banco de dados com o mesmo nome em cada servidor e, dentro deste banco de dados, criar tabelas que utilizem o engine de banco de dados NDBCLUSTER.
Portanto em um dos servidores(10.0.50.10 ou 10.0.50.5) digite:
mysql -u root -p
Enter password:
Se tudo ocorrer nomrlmente, você entrará no Mysql monitor, e em seguida:
mysql> CREATE DATABASE TESTE;
Query OK, 1 row affected
mysql> USE TESTE;
Database changed
mysql> CREATE TABLE tblTeste (I INT) ENGINE=NDBCLUSTER;
Query OK, 0 rows affected (0.44 sec)
mysql> INSERT INTO tblTeste () VALUES (1);
Query OK, 1 rows affected (0.03 sec)
mysql> SELECT * FROM tblTeste;
+------+
| i |
+------+
| 1 |
+------+
1 row in set (0.01 sec)
mysql -u root -p
Enter password:
mysql> CREATE DATABASE TESTE;
mysql> USE TESTE;
Database changed
mysql> SELECT * FROM tblTeste;
+------+
| i |
+------+
| 1 |
+------+
1 row in set (0.03 sec)
Como a tabela tblTeste foi criada utilizando o engine de banco de dados NDBCLUSTER todas as modificações nos dados realizadas em qualquer um dos nós será replicada automaticamente para os demais.
Para finalizar os testes do cluster, desconecte um dos nós e faça um INSERT em outro, em seguida conecte o nó anteriormente desconctado com o comando “ndbd” e faça um SELECT, se o valor anteriormente inserido aparecer no outro nó, Pronto! Seu cluster está funcionado.
Com o cluster conseguimos montar uma solução que atende a requisitos de alta disponibilidade, pois caso um nó do cluster não esteja operacional isso não será um problema para a aplicação, uma vez que os outros nós funcionaram de forma independente. Quando o nó que apresentou um problema foi iniciado novamente o próprio serviço NDBD irá procurar as informações perdidas e tentará sincronizar os dados da tabela.
terça-feira, 14 de abril de 2009
Lista de equipes selecionadas para a participação na competição
Segue abaixo a lista de equipes selecionadas para a participação na competição:
BumpTag
Nome da Equipe: BumP
Equipe: Airton Arantes, Diogo Dutra Albuquerque,
Representante: Airton Arantes - airton.arantes@gmail.com
Descrição do Projeto: O BumpTag é um software que implementa o protocolo BumP (Bump Protocol). O BumP é um protocolo inter-dispositivo que oferece uma forma fácil e simples de comunicação entre pessoas de interesses comuns. Este protocolo roda em cima do bluetooth e especifica como esta comunicação de interesses é feita. A ideia do BumP é disponibilizar os interesses em comum entre pessoas através de tags (palavras-chave de assuntos), dando a possibilidade de ver foto e um mini-chat. Com isso, pessoas com as mesmas tags são alertadas para caso queiram, interagirem entre si.
Tecnologia: Qt
Toucher!
Nome da Equipe: Toucher!
Equipe: José Cavalcante Reis Neto, Lucas Benevides Viana de Amorim, Rodrigo Peixoto
Representante: Rodrigo Peixoto - rodrigopex@gmail.com
Descrição do Projeto: O Toucher! é um editor simples que possibilita a inserção de desenhos e fotos dentro do próprio texto e que permite exportar esse conteúdo para formatos como html e/ou pdf. Um exemplo visual da solução está anexo. Abaixo são citados dois cenários de uso do Toucher!.
Tecnologia: Qt/Maemo
Seriguela
Nome da Equipe: Seriguela
Equipe: Elaine Cristina Juvino de Araujo, Rhavy Maia Guedes, David Henrique de Moura Viana, Danilo Carlos Gouveia de Lucena.
Representante: Danilo Carlos Gouveia de Lucena - rygaweb@gmail.com
Descrição do Projeto: A proposta é a criação de um sistema que permitirá um usuário ter uma forma de acessar conteúdos de redes sociais através de uma aplicação no celular.
Tecnologia: WRT
Lemurianos
Nome da Equipe: Lemurianos
Equipe: Dimas Cassimiro, José Martins, Vicente Matias, Vinícius Cavalcanti
Representante: Vinícius Cavalcanti - viniciuscdst@gmail.com
Descrição do Projeto: O projeto tem a finalidade de permitir que as pessoas possam administrar seus lares remotamente, de uma forma simples, utilizando uma plataforma portável e flexivel. A parte de controle dos recursos na casa será feita através de micro controladores os quais atuarão nos sensores, dispositivos elétricos e dispositivos eletronicos. O controle dos recursos da casa e a aquisição dos dados será disponibilizada por um Web Service o qual poderá ser acessado por dispositivos móveis.
Tecnologia: ?
Mobile Text Racers
Nome da Equipe: Mobile Text Racers
Equipe: Felipe Leal Coutinho, Thiago Santos
Representante: Thiago Santos - thiagossantos@gmail.com
Descrição do Projeto: Desenvolver uma aplicação TypeRacer like (http://play.typeracer.com), na qual os jogadores competem numa corrida para digitar um texto mais rápido que os demais.
Tecnologia: Qt/Maemo
Olympus Mobile
Nome da Equipe: Olympus Mobile
Equipe: Iara Pereira Ribeiro, Carlos Alberto de Amorim Porto, Wagner Leal da Costa Torres de Andrade, Zeus Cunha Barros.
Representante: Iara Pereira Ribeiro - iara.prbr@gmail.com
Descrição do Projeto: Com uma interface agil e de facil entendimento, Olympus Mobile trata-se de um aplicativo que através do uso de uma rede sem fio ; criada por meio da conexão bluetooth; que possiblitará aos usuarios realizar comunicação e compartilhamento de dados, como informações de contato; arquivos, como fotos,musicas; entre os celulares incluidos na rede.
Tecnologia: PyS60
Bomberman Multiplayer
Nome da Equipe: WenerWagnerBC
Equipe: Wener Wagner
Representante: Wener Wagner - wenerwagner@gmail.com
Descrição do Projeto: Um jogo bastante conhecido, onde existe um campo com alguns obstaculos, os personagens podem soltar bombas que destroem os obstaculos e os oponentes, o objetivo é destruir seus oponentes. Poderá ser escolhida a quantidade de personagens que aparecerão na tela que varia de 2 a 4 personagens. Poderá ser jogado no modo Singleplayer onde os outros personagens serão controlados por uma inteligência artificial ou no modo multiplayer onde os personagens serão controlados por humanos. Haverá seleção de fases, de personagens, e de algumas outras opções como tempo ou numero de vidas.
Tecnologia: JavaME
Jogo Educativo de Matemática para Crianças
Nome da Equipe: Jogo Educativo de Matemática para Crianças
Equipe: Fernando Maia
Representante: Fernando Maia - fernandohenrimaia@gmail.com
Descrição do Projeto: É um jogo educativo para crianças que vai ensinar matemática de uma forma mais criativa e divertida. O jogo é uma espécie de SpacInvaders, onde as ações (desviar, atirar) do personagem depende da resolução de um cálculo matemático. O jogo terá opção também de escolha de personagem, para que a criança utilize o personagem que mais lhe agrada e assim tornar o jogo muito mais atrativo e interessante. Jogo baseado no tuxmath (http://www.geekcomix.com/dm/
Tecnologia: JavaME
Jogo de Equilibrio
Nome da Equipe: Z-01
Equipe: Jônatas Isvi, Nilson Silva, André Portela
Representante: Jônatas Isvi - jonatas.nona@gmail.com
Descrição do Projeto: Jogo que usa o acelerômetro para equilibrar o personagem em várias situações que precisam de total equlíbrio. Bêbado - o jogador deve guiar o personagem o qual se encontra bêbado e assim fazê-lo andar o mais longe possível sem fazê-lo cair. Garçon - o jogador deve guiar o personagem até a cozinha com várias taças e pratos em sua bandeja. Corda bamba - o jogador deve guiar o personagem até a outra ponta da corda sem deixá-lo cair e enfrantar vários desafios até o objetivo.
Tecnologia: PyS60
ZukeBox
Nome da Equipe: ZBox
Equipe: André L. V. Loureiro, Adriano da Silva Couto, Henry M. M. Bilby, Rodrigo A. M. Sales
Representante: Henry Miller - henrymiller.engenheiro@gmail.
Descrição do Projeto: Jukebox é um aparelho eletrônico utilizado geralmente em bares e lanchonetes. Tem por função tocar músicas escolhidas pelo cliente que estejam em seu catálogo. Zukebox será uma virtualização de uma JukeBox, dando poder de escolha, a todos os usuários que estão no ambiente(bar, lanchonete, pub), das músicas que estão disponíveis para ser executadas no servidor.
Tecnologia: Maemo
GeekScape
Nome da Equipe: GeekScape
Equipe: Eisenhower Silva, Antonio Junior, José Maria, Samuel Oliveira
Representante: Eisenhower Silva - eisen.silva@gmail.com
Descrição do Projeto: O projeto trata do desenvolvimento de um jogo adventure single, player cujo personagem principal (um Geek) fazendo uso de seus conhecimentos geeks, tenta escapar de um laboratório a tempo de levar uma linda garota para o baile. A proposta também abranje a característica expansível do jogo, ou seja, permite a inclusão de novos enrredos e mapas sem a necessidade de nova codificação.
Tecnologia: Maemo
Zenjo
Nome da Equipe: Zenjo
Equipe: Mateus Zenaide Henriques, Raniere Fernandes de Medeiros,
Representante: Raniere Fernandes de Medeiros - google@raninho.com.br
Descrição do Projeto: O projeto consiste no desenvolvimento de um player de áudio com suporte ao envio (tweet) com informações da música para a rede social Twitter. Essas informações será referente a música ouvida pelo usuário, Exemplo: o artista, o título da música, o link de um website com a letra e/ou cifra.
Tecnologia: Qt
Obs.: Os marcados com a cor vermelha são os nossos projetos!
terça-feira, 24 de março de 2009
2a Competição de Desenvolvimento de Aplicações Móveis - Efforts.Embedded
Após termos decidido o futuro do nosso projeto, postarei uma breve descrição sobre os mesmos.
O que é ?
Os projetos Effort são uma iniciativa do Laboratório de Sistemas Embarcados e Computação Pervasiva - Embedded, da Universidade Federal de Campina Grande, com o objetivo de desenvolver competências e difundir conhecimento relacionado a tecnologias interentes aos domínios de Sistemas Embarcados e Computação Pervasiva. Os projetos possuem formato de estudo dirigido com base em acompanhamento de projetos desenvolvidos pelos alunos.
Um projeto Effort possui uma tecnologia específica associada: PythonS60, JavaME, QT, maemo, OpenC/C++ Symbian, WRT, FlashLite ou Web. Para cada Effort, tem-se um conjunto de equipes desenvolvendo aplicações no contexto de competições, sendo desenvolvidas duas competições por ano.
As aplicações avaliadas como inovadoras recebem prêmios e são publicadas nas páginas dos projetos Effort. Além disso, são consideradas para participação em competições mundiais da Nokia através do Laboratório Embedded.
As inscrições para a 2a Competição de Desenvolvimento de Aplicações Móveis dos Projetos Effort podem ser realizadas de 22 de março de 2009 a 05 de abril de 2009. Participe da competição dos Projetos Effort e ganhe um Nokia 7310 Supernova.
Podem participar alunos de graduação e pós-graduação interessados em desenvolver aplicações móveis inovadoras, conhecer tecnologias de ponta no mundo da computação móvel e ainda concorrer a dispositivos móveis de última geração.
Todos os participantes receberão acompanhamento de desenvolvedores experientes, líderes e monitores dos Projetos Effort do Laboratório Embedded da UFCG.
Monte sua equipe, inscreva-se e participe! Confiamos no seu talento!
REFERÊNCIA:
http://efforts.embedded.ufcg.edu.br/
quinta-feira, 19 de março de 2009
Prova do Zagaia
em breve a lista dos alunos aprovados..
Boa sorte a todos...
segunda-feira, 16 de março de 2009
Bossa Conference '09
Programação:
Sunday
14:00 - Welcome reception - Registration(14h - 18h)
Monday
8:00 - Registration
9:00 - Opening(Room 3)
10:00 - Andreas Aardal Hanssen - Using state machine in QT for animated user interfaces(Room 1)
10:00 - David Zeuthen - Plumbing the Desktop(Room 2)
11:00 - Gustavo Barbieri - Python enabling mobile media centers(Room 1)
11:00 - Olivier Crête - Making videoconferencing easy, also in your application(Romm 2)
12:00 - LUNCH
14:00 - Koen Kooi - Multimedia on omap cpus running linux(Room 1)
14:00 - Stefan Seefeld - Hybrid programming witch C++ and python using boot.python(Room 2)
15:00 - Marcel Holtmann - New connection manager for embedded Linux systems(Room 1)
15:00 - Karen Sandler - Introduction to licensing: The basics of FOSS licensing and compliance(Room 2)
16:00 - BREAK
16:30 - Hadi Nahari - Distributed mobile security: A security model for mobile security based on cloud computing(Room 3).
Tuesday
10:00 - Eduardo Lima - The Maemo community: WHo, What, Why, and How(Room 1)
10:00 - Iñaky Perez Gonzales - WiMAX in linux(Room 2)
11:00 - Raul Herbster - Are you still developing maemo applications such that: "echo stdio.h >> hello_world.c" ?(Room 1)
11:00 - Marius Bugge Monsen - The next generation Qt item views
12:00 - LUNCH
14:00 - Patricia Montenegro - UI from a broken home - the relationship between developers and designers(Romm 1)
14:00 - Simon Hausmann - QtWebKit(Room 2)
15:00 - Kate Alhola - Maemo 5(Fremantle), mobile linux platform and SDK(Room 1)
15:00 - Rasterman - Elementary - small, scaleable touchscreen widget set for mobile devices(Room 2)
16:00 - BREAK
16:30 - Sebastian Kugler - Bringing the free desktop on to mobile devices(Room 3)
Wednesday
10:00 - Holger Krekel - PyPy Python status and mobile perpectives(Room 1)
10:00 - Harald Weite - Free software for the GSM protocol side(Room 2)
11:00 - Lennart Poettering - TBD(Romm 1)
11:00 - Thiago Macieira - The future of Qt: Desktop and embedded(Room 2)
12:00 - END OF ACTIVITIES
Survive guide: http://www.bossaconference.indt.org/survival-guide
sexta-feira, 27 de fevereiro de 2009
II Processo de seleção para o INdT/Fucapi Mobile Linux Developmente Center
Parceria entre FUCAPI e INdT para a implementação de um programa de formação com imersão tecnológica que compreende atividades práticas de desenvolvimento de software e cursos tecnológicos de extensão visando o desenvolvimento de competências em open-source software, Linux embarcado, sistemas móveis e tecnologias Internet.