PgCom2009

Estão abertas as inscrições para o PGCon Brasil 2009.
Aqueles que efetuarem sua inscrição até 28/09 pagam com desconto.

Ginásio Multidisciplinar e Centro de Convenções, Auditório III
Cruzamento da Av. Erico Veríssimo com a R. Elis Regina, dentro da UNICAMP

Garanta já sua vaga!

http://pgcon.postgresql.org.br

Convite

Ola pessoal.

Quem nos conhece sabe que Eu (Gabriel) o Thiago e o Alan, estamos fazendo o Trabalho de  Conclusão de Curso, nao Faculdade para o Curso de Sistema de Informação, e nos decidimos fazer um jogo so usando  ferramentas livres para desenvolver, criamos ate um blog para divulgar  nossos avanços o endereço é:

http://luawar.wordpress.com

Recentemente o Alan acabou de fazer o Scrolling do jogo, ainda há muita coisa a se fazer mais estamos fazendo destemidamente .

A implementacão dele é baseado no seguimento da camera ao personagem principal, ainda não é nenhum scrolling igual o Donkie Kong 3 mas não perde nada na visão, então creio que vai ser este mesmo até o fim.

veja você mesmo o vídeo:

confira mais no blog

http://luawar.wordpress.com

Corrigindo Erros PARTE 1

Bem Amigos da Rede Globo… (Opa baixou o Galvão Bueno, canta pra subir). Como vão meus amigos internautas? Tudo na santa paz eu desejo.

Bom, vamos começar mais um post e esse também é mais um relato de uma experiência minha como usuário de Windows, mas vou tentar não ser tão critico do Windows até porque não sou nenhum expert nem no Windows e nem no Linux.

Era Domingo 7:30 da manhã estava me arrumando (Caramba acordar essa hora domingo foi um sacrifício), eu fui convidado pelo meu amigo Wellington para dar uma aula de manutenção mostrar as vantagens de se usar Linux e ensinar a instalar o Ubuntu  (He! He! Olha só eu dando palestra, sou o cara :D ), ele me apresentou e eu então comecei a falar sobre oque é Linux, as vantagens, as distribuições, e tudo mais.

A aula estava sendo boa e tudo até que eu fui instalar uma maquina virtual, para poder simular um outro computador dentro do sistema já instalado, que era Windows, foi então que o erro surgiu o Windows não reconhecia nenhum arquivo .exe, nenhum .msi eu falei:  – tá vendo ai gente, mais um motivo pra se usar Linux. Hahaha!

Nunca vi esse erro antes não sabia o que fazer fiquei P*&%  da Vida,  então pedi outro computador pra continuar a aula. É claro que só pode ser que o Windows foi mau instalado, mas me fez pensar nos erros que acontece no Windows e o usuário comum não sabe o que é fica com medo de apertar Ok e estragar tudo que me levou a fazer esse post.

Então vamos aos Erros:

Tela azul: O erro que todos tememos e odiamos, que na verdade não é um problema no hardware, e não no SO como memória, placa mãe, processador. Mas vale ser lembrado aqui.

Estouro de pilha: uma pilha de execução é uma pilha que armazena informações sobre as subrotinas ativas num programa de computador. Seu principal uso é registrar o ponto, endereço de memória, em que cada subrotina ativa deve retornar o controle de execução quando termina de executar, passando para outra subrotinas. E se esse processo de empilhamento consumir toda o espaço de alocamento, ocorre o que é chamado de estouro de pilha.

Não respondendo: Esse é o meu erro favorito.  De modo simples esse erro ocorre quando o Sistema Operacional está muito sobrecarregado e trava, ou melhor dizendo toda hora já que pode ter vírus consumindo toda a memoria, e jogos pesado, Nero, um filme, ode ter um programa que rode por trás do sistema como anti- vírus . Se você tentar fazer isso tudo ao mesmo tempo e o PC não for novo e tiver o Vista ele pode travar. As vezes pode ser rápido ou pode ter travado mesmo entoa você pressiona  Ctrl + Alt + Del ou Ctrl + Shift + Esc, vai abrir o Gerenciado de Tarefas clique na aba Processos, selecione o processo que travou e clique em Finalizar Processo. Mas se for o explorer que travou então é mais grave, pois pode ate sumir tudo, mas fique calmo cara internauta clique em Nova Tarefa  e digite explorer.exe e  pronto.

Este Programa Executou uma Operação Ilegal: Às vezes os softwares podem fazer uma  execução que o SO pode não suportar, como tentar converter um valor de uma variável, ou acessando um espaço de memória que não é permitido ou o software já esta utilizando, o que podemos fazer? Esperar que não se repita mais, e torcer pra não ter perdido nenhum Dado Importante.

“Falta de ntldr” é um arquivo de configuração do Windows, que por causa das brechas de seguranças o vírus apaga e não deixa o sistema iniciar. Ai então meu amigo só o que pode fazer é recuperar o sistema usando o CHKSDK, coloque o CD  do Windows de boot, digite R e no pront digite CHKSDK /r mas alguns recomendam formatar a partição pra se livrar logo do vírus.

Sistema de arquivo: O que é sistema de arquivos? Ora caro leitor o sistema de arquivos é um conjunto de estruturas lógicas e de rotinas, que permitem ao sistema operacional controlar o acesso ao disco rígido, então nesse caso o Windows não vai iniciar mais foi corrompido o sistema de arquivo e você corre o serio risco de perder todos os seus dados que estão na partição.

Solução: Coloque seu HD em outro PC salve seus dados e então pode formatar o seu HD com problema e depois é só passar os dados de volta para seu HD.

Sem Crise meus amigos.

Aguardem a continuação no próximo post onde darei dicas sobre manter seguro seu sistema  ruindows Windows, ou melhor seu PC, sem windows.

Escrito por:  Gabriel Vedana Queiroz T.I. Tecnologia da Informação

Instalando java + openJDK + Apache tomcat6 e de brinde o filezilla no UBUNTU LINUX

Acho que esse vai ser o post mais curto da minha vida, para não ficar muti curto vou contar uma experiencia. Um lindo dia comprei o livro Use a cabeça Severlet’s JSP “muito bom”, ainda não usava Linux, fui configurar tudo isso no win foi um deus nos acuda, nunca dava certo depois de muita insistência consegui estava quase desistindo. Ai na faculdade no começo do semestre estudei uma matéria chamado sistema operacionais, estudei o UNIX, logo depois começamos a projetar nosso tcc, o alam que faz parte do meu grupo usava Linux openSUSE, o nosso tcc é um desenvolvimento de um jogo para plataforma UNIX/linux feito em C++, não tive dificuldades com o Linux pois já conhecia sobre sistemas operacionais por causa da faculdade. Então quando vi que para desenvolvimento de software é Linux, pela facilidade, pela segurança, pela ampla documentação em tudo, fiquei apaixonado. Minha distribuição oficial é openSUSE mais também uso o Ubuntu virtualizado. Não abandonei o win porque gosto do MSN da Microsoft e uso um software para produção musical chamado REASON e soundforge. Gosto de manter as duas distros Ubuntu e openSUSE para acompanhar a evolução pois são as duas mais usadas hoje no mercado.

Vamos lá para instalar isso tudo vá até seu shell e digite isso:$ sudo apt-get install sun-java6-jre openjdk-6-jre tomcat6

vai ser buscado os pacotes nos repositórios tudo OK?? apertar [S] depois [ENTER].

Enquanto baixa e instala, de uma navegada na web, vai ler seus e-mail’s..depois de ums 15min estará tudo instalado configurado sem presigar de configurar variáveis de ambiente do sistema e tudo mais.

Para conferir se esta tudo OK: no seu shell digite:

java

depois

javac

depois vá em seu navegador e digite

http://127.0.0.1:8080

Pronto só programar em java J2SE – J2EE e os EEEE JJJJ por ai vai..

Háaa.. já ia esquecendo para instalar o filezilla que é um cliente ftp show de bola é só usar esse comando:$ sudo apt-get install filezilla

Cara ainda dizem que é difícil usar Linux???.. vai entender né!!!

IMPLEMENTANDO A ARQUITETURA MVC COM PHP 5.

Nesse artigo sobre o uso da arquitetura MVC com PHP 5 quero ser o mais simples possível evitando o exagero de termos técnicos para mostrar como implementar a arquitetura na linguagem PHP.

Para entender a arquitetura MVC e compreender esse tutorial leia o artigo: Entendendo a arquitetura MVC no link abaixo.
http://bobboy.wordpress.com/2009/07/03/entendendo-a-arquitetura-mvc/

A primeira coisa a se fazer é projetar o software.Conheço vários desenvolvedores, que odeiam projetos de software, é só lamento”.

No software iremos cadastrar clientes e mostrar os clientes cadastrados. Para isso criaremos o módulo cliente que tem os seguintes atributos:

+ID //identificação do usuário
+NOME //Nome do usuário

E os seguintes métodos

#setNome(nome) // seta um nome para o cliente

#setID(id) // seta uma identificação para o cliente

+all() // Retorna todos os clientes cadastrados

+intoCliente(cliente) // cadastra um novo cliente

Diagrama de Classe da aplicação.

uml

Como iremos trabalhar com MVC, vamos criar uma pasta para o View, Controll, e Model

Siga a imagem abaixo:
diretorio

Definimos as regras de negócios do Cliente fizemos o projeto agora vamos codificar nossa Class Cliente. Essa class será nosso modelo computacional, dentro da pasta model crie o arquivo class.cliente.php

Codificação

<?php

//inclue o arquivo que faz a conexão com o banco de dados

require(‘../opemDB.php’);

class Cliente {

public $nome;

public $id;

protected function setCliente($nome)

{

$this->nome = $nome;

}

protected function setId($id)

{

$this->id = $id;

}

//método que rotorna todos os clientes cadastrados

public function all()

{

$sql = “SELECT * FROM `cliente` WHERE 1″;

//executa o SQL

$result = mysql_query($sql);

// o laço percorre todas a posições de um array contendo os dados dos clientes

//como nome e id

while($dados = mysql_fetch_array($result))

{

$cliente = new Cliente(); //<< instancia um objeto cliente para cada cliente que existe

//objeto cliente chama o método setID e passa os dados como um array de posição id

$cliente->setId(array(‘id’ => $dados['id']));

//objeto cliente chama o método setNome e passa os dados como um array de posição nome

$cliente->setCliente(array(‘nome’ => $dados['nome']));

//variavel $arr do tipo array para cada nova posição recebe o objeto cliente

$arr[] = $cliente;

}

//retorna o array com todos os objetos istanciados obs: cada registro um objeto

return $arr;

}

//método que faz o cadastro de um novo cliente

public function intoCliente($cliente)

{

$sql = “INSERT INTO `cliente` ( `id` , `nome` )

VALUES (NULL , ‘$cliente’);”;

mysql_query($sql);

}

}

?>

Dentro da pasta MVC que fica acima da pasta Model crie o arquivo opemDB.php, arquivo responsável por toda conexão com o banco de dados. Nesse exemplos estamos usando o MySQL como nosso SGDB. Então crie um banco de dados com as seguintes características abaixo segue um pseudo SQL:

id int (not nul) – autoInc.

nome varchar (not null) 80 caracteres.

Codificação.

<?php

$local = ‘127.0.0.1′;

$login = ‘root’;

$senha = ”;

$banco = ‘mvc’;

mysql_pconnect($local, $login, $senha);

mysql_select_db($banco);

?>

Dentro da pasta control vamos criar o arquivo, class.control.cliente.php. Arquivo responsável por todo controle de nossa aplicação.

Codificação.

<?php

//inclue a Class cliente.

require(‘../model/class.cliente.php’);

class Control {

public $control;

//método que faz o controle do método all() da class cliente

public function Controle()

{

//intancia um o objeto da class cliente

$this->control = new Cliente();

//retorna o método all() com os registros em formatos de objetos

//como vimos na class cliente.

return $this->control->all();

}

//método que faz o controle do método intoCliente() da class cliente

public function cadCliente($nome)

{

//recebe um valor na variavel nome se nome vazil retorna uma mensagen de erro

if($nome == ”) {

print “Digite seu nome”;

} else {

//se o nome não for vazil instancia um objeto da class cliente

$this->control = new Cliente();

//chama o método intoCliente enviando o nome();

$this->control->intoCliente($nome);

}

}

}

?>

Dentro da pasta view vamos criar o arquivo, index.php. Arquivo é o modelo humano de representação do modelo computacional.

Codificação.

<?php

//inclue a class Control no view

require(‘../control/class.control.cliente.php’);

$nome = $_POST["nome"];

//instancia um objeto da class control

$cad = new Control();

//chama o método para cadastrar um novo cliente enviando seu nome

$cad->cadCliente($nome);

?>

<table cellpadding=”3″ cellspacing=”3″>

<form method=”post” action=”index.php”>

<tr>

<td width=”67″ bgcolor=”#99CC00″>NOME</td>

<td width=”168″ bgcolor=”#99FF00″><input type=”text” /></td>

</tr>

<tr>

<td width=”67″ bgcolor=”#FFFFFF”>&nbsp;</td>

<td width=”168″ bgcolor=”#FFFFFF”><input name=”enviar” value=”enviar” /></td>

</tr>

</form>

</table>

<table cellpadding=”3″ cellspacing=”3″>

<tr>

<td width=”21″ bgcolor=”#99CC00″>ID</td>

<td width=”214″ bgcolor=”#99FF00″>NOME</td>

</tr>

<?php

//instancia um novo objeto da class Control

$c = new Control();

//chama o método controle que retorna todos os registro dos clientes

$arr = $c->Controle();

//um laço que percorre todos os registro

// count($arr) retorna a quantidade de registros

for ($i = 0; $i < count($arr); $i++)

{

?>

<tr>

<td>

<?php

//imprime o id do cliente dentro da selula da tabela

print $arr[$i]->id['id'];

?>

</td>

<td>

<?php

//imprime o nome do cliente dentro da selula da tabela

print $arr[$i]->nome['nome'];

?>

</td>

</tr>

<?php

}

?>

</table>

Abra seu navegador de internet e digite: http://127.0.0.1/mvc/view/index.php e verá a seguinte imagen:

img

Agora você criou sua primeira aplicação usando MVC para web com PHP 5. para finalizar vou fazer alguns comentários

Na class control aonde é feito todo o controle de nossa aplicação um exemplo prático é o método cadCliente($nome), faz todo controle como verifificação se tudo estiver ok ele cria uma instancia do Model que no nosso caso é a class Cliente e faz o cadastro de um novo cliente. O objetivo central da arquitetura MVC como podemos observar é separar a visualização do modelo através do controle. Isso se resume em produtividade e facilidade na manutenção e portabilidade do código pos se um dia você quiser que o nome maria não seja incluído você faz essa verificação somente no controle sem alterar a visualização e nem o modelo computacional.

Vamos entender o $arr[$i]->nome['nome'];

$arr[$i] contem um objeto que é o objeto Cliente e através dele chamaos o atributo nome que é um array que tem uma posição nome.

Espero ter ajudado!!!.. Qual quer informação, elogio, reclamação é só dar sua opinião ;)

Abraços..

Entendendo a arquitetura MVC

MVC “modelo de visualização e controle” é um dos paradigmas de arquiteturas de software mais utilizados hoje. Tanto web como desktop, porem existe mais evidencia na web pela quantidade de frameworks como: JSF, OnRail’s, CakePHP, Django etc.

Vamos entender o que é MVC e quem criou.

MVC foi criado por: Trygve MH Reenskaug, e implementado primeiramente na linguagem SmallTalk.

Criei o Model-View-Controller padrão como uma solução óbvia para o problema geral que os usuários passavam para o controle de  suas informações,que pode ser  visto a partir de múltiplas perspectivas – Trygye”.

O objetivo essencial do MVC é preencher a lacuna entre o usuário, modelo mental humano do modelo computacional, criando a impressão que o usuário manipule os dados do domínio diretamente.

MVC - Model

MVC - Model

Model – Modelo

A representação “domínio” específica da informação em que a aplicação opera. Por exemplo, Cliente fazem parte do domínio de um sistema de eCommerce. É também conhecido como regras de negócio, exemplo em um eCommerce o cliente pode comprar e fazer um cadastro de usuário. No modelo fica apenas a representação computacional desses métodos comprar e cadastro, nada que o usuário comum possa entender, como um código compilado ou um script de alguma linguagem.

View – Visualização

“Renderiza” o modelo na forma que o modelo mental humano possa entender e interagir para controlar informações. Poder comprar e fazer um cadastro em nosso eCommerce

Controller – Controle

É a ponte que liga a é o que liga a visualização ao modelo. Ele faz validações e verificações para saber qual modelo controlar, ele faz a transformação do modelo computacional em um modelo humano.

Porque utilizar MVC.

Digamos que você tem sua aplicação usando arquitetura MVC voltado para web, tem o layout que é o View a representação do modelo humano depois você tem o controle e depois você tem o modelo. Se você alterar seu layout criar uma nova interface nada altera as regras de negocio do seu sistema ou modelo computacional e é a mesma coisa com o modelo computacional se alguma regra de negocio muda não prejudica o modelo humano a visualização do usuário.

Então porque usar? Simples!, para maior controle e manutenção dos seus produtos de software, resumindo em produtividade.

Referencias:

http://folk.uio.no/trygver/

http://pt.wikipedia.org/wiki/MVC

Presidente Lula afavor do software democratico – LIVRE

Lula no FILS

Lula no FILS

“Agora que o prato está feito, é muito fácil a gente comer. Mas fazer esse prato não foi brincadeira. Eu lembro da primeira reunião que nós fizemos, na Granja do Torto, em que eu entendia absolutamente nada da linguagem que esse pessoal decidia, e houve uma tensão imensa entre aqueles que defendiam a adoção do Brasil do software livre e aqueles que achavam que nós deveríamos fazer a mesmice de sempre, ficar do mesmo jeito, comprando, pagando a inteligência dos outros e, graças a Deus, prevaleceu no nosso país a questão e a decisão do software livre. Nós tínhamos que escolher: ou nós íamos para a cozinha preparar o prato que nós queríamos comer, com os temperos que nós queríamos colocar e dar um gosto brasileiro na comida, ou nós iríamos comer aquilo que a Microsoft queria vender para a gente. Prevaleceu, simplesmente, a ideia da liberdade.

Eu queria contar aqui uma coisa, porque prevaleceu, na minha cabeça, a questão do software livre. Vocês sabem que eu nunca fui comunista. Quando me perguntavam se eu era comunista, eu falava que eu era torneiro mecânico. Mas eu tenho extraordinários companheiros que participaram da luta armada neste país, companheiros que pertenceram aos mais diferentes partidos e correntes ideológicas do mundo, todos extraordinários companheiros. Eu tinha um irmão mais velho que, a vida inteira tentou me levar para o Partidão, e o meu irmão trazia para mim, acabados, todos os documentos que tinham sido escritos e produzidos 200 anos atrás ou 150. O meu irmão queria que eu decorasse O Manifesto, queria que eu lesse e relesse O Capital, queria que eu discutisse tudo isso, e eu dizia para o meu irmão: Frei Chico, tudo isso foi produzido tanto tempo atrás. Não dá para a gente começar a produzir alguma coisa nova a partir de agora?”

Veja o discurso compleno no link abaixo:
http://softwarelivre.org/portal/fisl10/escute-e-leia-na-integra-o-discurso-do-presidente-lula-no-fisl-10

Será o Fim do Mouse?

Tava vendo uns blogs vendo uns filmes futuristas, viva Matrix, mas a trilogia de Neo não representa esse post o filme que me deu inspiração foi o Memority Report em que Tom Cruise como John Anderton estuda os possíveis casos de assassinato usando o seu grandioso monitor Touch Screen, e pensei em fazer esse post  pra refletir sobre o futuro incerto do mouse.

Mouse, Michey Mouse

A tecnologia Touch Screen tornou os monitores sensíveis ao toque. A tela é formado por vários emissores e receptores, que comunicam-se continuamente, tanto na horizontal quanto na vertical. Ao tocar a tela, interrompe-se a comunicação entre alguns, fazendo com que a posição do toque seja percebida.

Então me peguei imaginando: “poxa o mouse está com os dias contados”  uma ferramenta que mudou drasticamente o jeito de interagir com o computador, que antes a única interação era pelo teclado mudou para algo simples como clicar, arrastar, apontar e puxar,  agora vai perder seu lugar pra o dedo. Mas pense bem o principio é o mesmo: você aponta e aperta. Mas se o mouse esta para perder espaço para o touch então o teclado também está perigando, já que agora tudo estará embutido no monitor porque não o teclado.

veja um exemplo:

A onda a muito tempo é tirar os fios do computador, quem sabe até tirar o fio da energia Ai! Ai! Futuro jovem, futuro. Primeiro veio os teclados e mouse sem fio, mas a criatividade de uma mente brilhante, como a do ser humano, nunca termina então criou a tecnologia Touch Screen. Com certeza essas duas ferramentas estão prestes a serem substituídas.

Claro que as telas também tende a aumentar pois com telas pequenas você podia contar com a precisão do pequeno ponteiro do mouse, mas é claro que você também pode utilizar uma espécie de caneta pra interagir com a tela mas pra min nada melhor que ter um telão em e controlá-lo como nos filmes como se tivesse dentro do computador. Que por sinal entrar no computador, como Neo, também é um dos meus sonhos, mas acho que esse entra pra categoria dos quase impossíveis.

Mais quem não sonhou em um dia fazer como John Anderton tocando na tela jogando janelas pra um lado e pro outro como se você tocasse nos programas, com certeza esse está na minha lista de sonho a serem realizados. Estou guardando um dinheirinho para comprar o meu.

Com o avanço das placas de vídeo e dos softwares agora isso pode se tornar real.

Escrito por: Gabriel Vedana Queiroz T.I – Tecnologia da Informação.

Desenvolvimento do Windows sobre Unix/Linux??? Para refletir!!!

Agora são 1:12 da mudruga, estava a terminar de programar um projeto web free-lance, e pensei put’s!! podia postar algo no blog, parei para refletir e olhe só no que deu: Nos desenvolvedores que cursamos faculdades de ciências da computação/sistemas de informações/Engenharia da computação, estudamos uma matéria chamada sistemas operacionais e tudo que nos é apresentado foi criado em implementado pela galera pela galera do UNIX.. processos, threads, swap e por ai vai!!!. Uma questão importante são as políticas de seguranças do Unix/linux, se você conhece sobre sistemas operacionais sabe sobre o que eu estou dizendo, o legal que tudo isso consome somente uma camada de software o famoso kernel. Fiz um comparativo com sistemas Windows, pow a política de segurança dos caras são a mais furadas possível, eles criam camadas e mais camadas de software para poder manter a segurança do usuário e não tem segurança nenhuma são somentes camadas de software que você compra para consumir os recursos de hardware de seu pc, e ainda sim como diz meu amigo gabriel agente pega um vírus mortífero ai????? Lascou!!!!!!. Eu como desenvolvedor sei como é chato você criar seu ambiente de trabalho configurar ide, compilador, organizar bibliotecas e um monte de coisa mais, imagina você dias e dias em um projeto de software ai, pega um vírus mortífero danifica seu sistema e por própria instabilidade do sistema danifica o sistema de arquivos, ei???? já era juzeisss!!!, perdeu!!! Perdeu!!!..você pode arrumar softwares e mais softwares de reparação e recuperação de dados, nada vai ser com era antes, muitas coisas vão ter que ser rescrita e todo o trabalho de configurar novamente seu ambiente de trabalho.

Me veio a seguinte reflexão, esses são problemas comuns passados pelos user win, será que a galera da Microsoft que desenvolve o win usa win como estação de trabalho correndo esses riscos de perca e instabilidade, ou usa estações UNIX/Linux com tudo de maravilhoso em segurança e ferramentas de desenvolvimentos??

Pense e comente!!!

Pessoal vou postar um screnshot d alguns comentários desse post no site da under-linux.org

comentários do post

comentários do post

http://under-linux.org/b998-desenvolvimento-do-windows-sobre-unix-linux-para-refletir#comments

Software Livre

Software Livre

e sua utilização no Brasil