segunda-feira, 11 de agosto de 2014

O que é MVC?

MVC (Model-View-Controller) é um padrão de projeto arquitetural criado com o objetivo de separar a lógica de negócios da camada de apresentação.

Porque utilizar o MVC?
Com o aumento da complexidade das aplicações desenvolvidas, sempre visando a programação orientada a objeto, torna-se relevante a separação entre os dados e a apresentação das aplicações. Desta forma, alterações feitas no layout não afetam a manipulação de dados, e estes poderão ser reorganizados sem alterar o layout.
Esse padrão resolve este problema através da separação das tarefas de acesso aos dados e lógica de negócio, lógica de apresentação e de interação com o utilizador, introduzindo um componente entre os dois: o controlador.
Como funciona?
 O MVC guia o desenvolvedor na tentativa de organizar a aplicação de forma que tenhamos três papéis bem definidos, onde o MODEL (modelo) é responsável por todo o processamento da aplicação (regras de negócio e acesso ao banco de dados), o VIEW (visão) serve apenas para apresentação de resultados como também entrada de informações e o CONTROLLER (controlador) faz a comunicação entre o MODEL e o VIEW.

MODEL, VIEW e CONTROLLER

Além de dividir a aplicação em três tipos de componentes, o desenho MVC define as interações entre eles.
  • Um controller (controlador) pode enviar comandos para sua visão associada para alterar a apresentação da visão do modelo (por exemplo, percorrendo um documento). Ele também pode enviar comandos para o modelo para atualizar o estado do modelo (por exemplo, editando um documento).
  • Um model (modelo) notifica suas visões e controladores associados quando há uma mudança em seu estado. Esta notificação permite que as visões produzam saídas atualizadas e que os controladores alterem o conjunto de comandos disponíveis. Uma implementação passiva do MVC monta estas notificações, devido a aplicação não necessitar delas ou a plataforma de software não suportá-las.
  • A view (visão) solicita do modelo a informação que ela necessita para gerar uma representação de saída.

E assim esses três formam o padrão arquitetural chamado de MVC, ou Model View Controller. Lembrando que ele pode sofrer variações de diversas maneiras. E o que o MVC garante é a separação de tarefas, facilitando assim a reescrita de alguma parte, e a manutenção do código.

segunda-feira, 4 de agosto de 2014

Banco de Dados - HSQLDB

-Ligando e configurando Banco de dados HSQLDB com o Eclipse

O HSQLDB é um sistema de bancos de dados relacional de código livre, totalmente escrito em Java (portanto totalmente portátil) que é leve e rápido, podendo ser usado para aplicações simples onde não se espera uma carga de dados e acesso muito alta. Download 

Configurando o Eclipse

Para que o banco de dados esteja disponível em sua aplicação no Eclipse, importe o arquivo hsqldb.jar para o diretório Nome_Do_Projeto/WebContent/WEB-INF/lib/ . Para importar o arquivo .jar, selecione o diretório Nome_Do_Projeto/WebContent/WEB-INF/lib/ no Package Explorer do Eclipse, clique com o botão direito do mouse, selecione Import , selecione General/File System como método para importação, clique next e escolha o diretório onde o arquivo hsqldb.jar se encontra. Selecione o arquivo e clique em Finish .
É importante observar que no Package Explorer do Eclipse o arquivo será mostrado como parte do diretório Web App Libraries e não do diretório Nome_Do_Projeto/WebContent/WEB-INF/lib/ .


O HSBSDB pode funcionar em diversos modos:

  • Servidor (protocolo de comunicação proprietário);
  • Servidor Web (HTTP);
  • Servlet (HTTP);
  • Stand Alone (acesso direto);
  • Somente memória (acesso direto).

Ligando em modo Servidor:

Para ligar o Banco de Dados HSQLDB, basta você abrir o terminal, entrar no diretório onde foi baixado o Banco de Dados, em seguida entrar no diretório lib do diretório do banco de dados, e rodar o comando:

java -cp hsqldb.jar org.hsqldb.server.Server --database.0 file:Nome_Do_Projeto --dbname.0 Nome_Do_Projeto 

O HSBSDB possui uma ferramenta de gerenciamento, para iniciá-la digite em outro terminal dentro do mesmo diretório (lib do banco de dados) o comando:

java -cp hsqldb.jar  org.hsqldb.util.DatabaseManager

Configurando o Banco de Dados

Setting Name: o nome pelo qual o banco de dados será posteriormente referenciado em “Recent settings”
Type: o tipo do banco de dados, no caso como estamos ligando de modo servidor configuramos como HSQL Database Engine Server 
Driver: driver para conexão com o banco de dados (Deixe com está: org.hsqldb.jdbcDriver)
URL: o endereço e o nome do banco de dados (jdbc:hsqldb:hsql://localhost/)
User: o usuário (SA)
Password: a senha do usuário ( )

Melissa Lobo.

quarta-feira, 23 de julho de 2014

Quanto mais aprendo, mais vejo o quanto sou ignorante

Quanto mais aprendo, mais vejo o quanto sou ignorante. Parece cruel dizer isso mas é verdade. Posso saber muito sobre um assunto, ou um pouco sobre vários assuntos. Mas nunca muito sobre todos os assuntos. E quanto mais vou aprendendo, mais descubro o quanto ainda posso aprender. Se tem uma coisa da qual se pode ter certeza, é que o aprendizado é infinito, independente do quão inteligente você é.

Melissa Lobo

quarta-feira, 16 de julho de 2014

O que é o retorno de um método exatamente

Temos um programa que é uma calculadora os métodos do nosso programa é que vão realizar as funções (o comportamento) da calculadora, como a função somar por exemplo, ao chamar o método de soma, você digita dois números aleatórios, o método é executado, somando os dois números, e então ele te retorna o resultado.

public class Calculadora{

   public int somar ( int num1, int num2 ){
       return num1 + num2;
   }

   public int subtrair (int num1, int num2){
       return num1 - num2;
   }

   public int multiplicar ( int num1, int num2 ){
       return num1 * num2;
   }

   public int dividir ( int num1, int num2){
       return num1 / num2;
   }

}

Método somar:

Retorno do método somar:



Ou seja o retorno de cada método da calculadora é o resultado da operação (função ou comportamento) realizada.


OBS. Esse post foi especial para tirar a duvida de um leitor. Acho que ficou bem explicadinho. Espero ter ajudado. 

Melissa Lobo.

terça-feira, 15 de julho de 2014

Enums Java

Um enum especifica uma lista de valores constantes que podem ser atribuídos a um determinado tipo. Ele não é uma String nem um int; o tipo constante de um enum é o tipo do próprio enum. Por exemplo, INVERNO, PRIMAVERA, VERÃO e OUTONO são do tipo enum estação.
O enum pode ser declarado fora ou dentro de uma classe, mas não em um método, quando declarado fora de uma classe não pode ser marcado com static, final, abstract, protected ou private.
Os enums podem conter construtores, métodos, variáveis e corpos de classes constantes. As constantes enum podem enviar argumentos para o construtor enum, usando a sintaxe BIG(8), onde o literal int 8 é passado ao construtor enum. Os construtores enum podem ter argumentos e podem ser sobrecarregados, porém nunca podem ser chamados diretamente no código. Eles são sempre chamados automaticamente quando um enum é inicializado.
O ponto-e-vírgula ao final da declaração de um enum é opcional. Ambos são válidos:

enum TestEnum {ONE, TWO, THREE}

enum TestEnum {ONE, TWO, THREE};




segunda-feira, 14 de julho de 2014

Criando Projeto Servlet no Eclipse

Para criar um projeto Servlet no Eclipse é bem simples: Botão Direito do mouse: New > Project 
Ai você escolhe o modelo do seu projeto: Web > Create a Dynamic Web project > Next  :
Project name: nomeDoProjeto > Finish :

Em seguida criaremos um pacote dentro do nosso novo projeto:

 E dentro desse pacote criamos uma classe:
E para que esta classe seja configurada como um Servlet, 'extendemos' (extends ) ela de HttpServlet, e importamos o mesmo:


Para configurar a nossa Servlet para responder na raiz do nosso projeto, utilizamos a anotação @WebServlet(urlPatterns = "/") e a importamos:

Para programar o que o Servlet retornará ou enviará, é necessário faze-lo dentro do método doGet ou doPost. A assinatura deste método recebe objetos do tipo HttpServletRequest (Request) e HttpServletResponse (Response), que são responsáveis por ler o que foi recebido para processar e por escrever a saída ao utilizador:
O Request é usado para ler o que chega pelo HTTP (HTML, Cookies, etc), e o Response para escrever o resultado do Servlet (Conteúdo, Content Type, Cookies, etc).


Dentro da pasta WebContent criamos um arquivo index.html ou index.jsp :
E lá colocamos o conteúdo da pagina a ser exibido: <h1>Bem Vindo ao nosso primeiro projeto Servlet!</h1><br/> : 

Agora vamos rodar o projeto. Para isso,  precisamos adicionar o nosso projeto a um servidor web (Tomcat) como um novo projeto.
Vá na guia Servers do Eclipse encontre o Tomcat e Clique com o botão direito sobre o Tomcat e selecione Add and Remove :

 Na janela de Add and Remove, selecione o projeto clique em Add > e em seguida em Finish: 


Agora para iniciar o Webserver. É só clicar com o direito sobre o Tomcat e clicar em Start:

Quando o status aparecer Started, Synchronized, vá até seu navegador e digite o endereço http://localhost:8080/nomeDoProjeto :

E assim nosso primeiro projeto (bem simples) está pronto.

Pra não esquecer:
Boa Prática: nome do projeto começa com letra minuscula, nome da class maiúscula.
Link do projeto para quem quiser baixar : Primeiro Projeto Servlet no Eclipse

Melissa Lobo.

Posteriormente iremos conectar com o Banco De Dados. 

sexta-feira, 11 de julho de 2014

O Fim do Orkut

Há um bom tempo já sabíamos que o Orkut ia morrer, assim como Msn se foi junto de seus emoticons. Achei até que demoram pra tomar essa decisão. Mas agora é oficial, hoje já não é mais possível criar perfil no orkut. E quem já tem conta na rede social só tem mais três meses de uso.
  • 29/06/2014, domingo
Foi o último dia para criar perfis.
  • 29/09/2014, segunda-feira
Último dia da rede social. Último dia para exportar suas fotos para o Google Plus.
  • 30/09/2014, terça-feira
Fim do Orkut.
  • Setembro de 2016
Último mês para fazer um backup de suas informações do orkut para o computador. Servem mais para lembrar o passado mesmo, por enquanto não dá para exportar essas informações para outra rede social.

Porque o Orkut morreu?

Primeiro a queda do Orkut começou quando os próprios usuários bombardearam o site com propagandas e spans, o fato de poder enviar uma unica mensagem pra todos os 'amigos' de uma só vez, fez com que se tornasse impossível controlar as mensagens recebidas. Assim aos poucos o Orkut acabou estagnado, virando coisa do passado, enquanto o Facebook surgia com direito a filme e tudo, conseguindo controlar as propagandas e direcionando melhor os interesses dos usuários. Fora que o Orkut era praticamente uma rede social nacional, enquanto o Facebook não. E com o passar dos anos, surgiu uma grande necessidade de se conectar com o mundo inteiro.

Porque o Orkut vai deixar saudade?
Porém o Facebook não tem alguns recursos dos quais nós brasileiros amávamos no Orkut. Como por exemplo:
  • Depoimentos - Até o Linkedin tem depoimentos. E quem não se comovia ao abrir o Orkut e ter recebido um depoimento, seja de um amigo, da pessoa amada, da família, ou aquele que vinha na primeira hora do dia do seu aniversário. Era tão fofo quanto flores e chocolates.
  • Fóruns e Comunidades - Até o Yahoo! Respostas funciona melhor como fórum do que os grupos do Facebook. E venhamos, as comunidades eram a melhor coisa do Orkut, você conhecia pessoas com gostos musicais parecidos, encontrava os melhores links para baixar música, filmes, etc. Passava a noite discutindo com desconhecidos. E nunca ia para um Show sozinho. 
  • Visitantes - Todo mundo adorava conferir a sua lista de visitantes, e ver quem andou fuçando a sua rede social. E para quem não queria ser visto tinha a opção de desabilitar essa função.
  • Todo mundo era feliz jogando a Colheira Feliz e o Café Mania. Roubando e regando o jardim do vizinho, era uma competição danada quem estava em qual nível, ou como decoravam o seu Café. Ao contrario do Facebook que os jogos se tornaram um inferno, por causa de um monte de solicitações que realmente enchem o saco.
  • Por fim, o Orkut sempre lhe mandava uma frase especial todos os dias. Que muitas vezes eram boas frases de se ler.
Mais informações sobre esse fim, acesse a página de suporte do Google ou o Blog Oficial do Orkut.

Melissa Lobo.

terça-feira, 1 de julho de 2014

HTML

O HTML significa 'Hyper Text Markup Language',  é uma linguagem  de marcação utilizada para produção de páginas na web, que permite a criação de documentos que podem ser lidos em praticamente qualquer tipo de computador e transmitidos pela internet. Para escrever documentos HTML não é necessário mais do que um editor de texto simples e conhecimento dos códigos que compõem a linguagem.
  Para testar os códigos, basta salvar o arquivo em formato .HTML e executar. Para o teste é necessário ter um navegador configurado como padrão. Não é necessária internet, pois o arquivo com os códigos esta na maquina onde esta sendo executado.
  Os códigos (conhecidos como Tags) servem para indicar a função de cada elemento da página Web. Os tags funcionam como comandos de formatação de textos, formulários, links (ligações), imagens, tabelas, entre outros. A  maioria dos códigos em HTML precisam ter um código de inicialização e um de finalização (Tag de abertura e Tag de fechamento).
Por exemplo, para definir o titulo da pagina, é necessário escrever:
<title>Título da minha Página</title>
O </title> serve para “avisar” que ali acaba o titulo, caso não seja posto, todos os códigos definidos depois serão considerados parte do titulo.
Ai os browsers (navegadores) identificam essas tags e apresentam a página conforme está especificada. 

Agora segue abaixo algumas Tags básicas das quais são bastante utilizadas:


Tags HTML básicas:
TagDescrição
<html>Define um documento HTML
<body>Define o corpo do documento
<h1> a <h6>Define título 1 a título 6
<p>Define um parágrafo
<br>Insere uma única quebra de linha
<hr>Define um filete horizontal
<!-->Define um comentário

Tags de Formatação de Textos:
TagDescrição
<b>Define texto em negrito
<big>Define texto grande
<em>Define texto enfatizado;
<i>Define texto em itálico
<small>Define texto pequeno
<strong>Define texto forte
<sub>Define texto subescrito
<sup>Define texto superescrito
<ins>Define texto inserido
<del>Define texto cancelado

Tags de "Saída de Computador":
TagDescrição
<code>Define texto de código de computador
<var>Define uma variável

Tags de Listas:
TagDescrição
<ol>Define uma lista ordenada
<ul>Define uma lista não ordenada
<li>Define um item de lista
<dl>Define uma lista de definições
<dt><Define um termo de definição
<dd>Define uma descrição de definição

Tags de Tabelas:
TagDescrição
<table>Define uma tabela
<th>Define um cabeçalho de tabela
<tr>Define uma linha de tabela
<td>Define uma célula de tabela
<caption>Define um título de tabela
<colgroup>Define um grupo de colunas de tabela
<col>Define os valores de atributo para uma ou mais colunas em uma tabela
<thead>Define um cabeçalho de tabela
<tbody>Define o corpo de uma tabela

Link de Tags:
TagDescrição
<a>Define uma âncora

Tags de Cabeçalho:
TagDescrição
<head>Define informação sobre o documento
<title>Define o título do documento
<base>Define o URL base para todos os vínculos numa página
<link>Define a referência do recurso
<meta>Define meta informação

TagDescrição
<!DOCTYPE>Define o tipo do documento. Esta tag vai antes da tag de início <html>