sexta-feira, 29 de janeiro de 2016

Metodos de requisição


  • GET -> consulta
  • POST -> inserção
  • DELETE -> exclusão
  • PUT -> atualização total
  • PATCH -> atualização parcial 
  • Únicos metodos que os Browser entendem: GET e POST


Forward e Redirect


  • Diferenças: http://www.javapractices.com/topic/TopicAction.do?Id=181
  • Boas práticas, SEMPRE que fizer um POST, faça um redirect para evitar que o refresh da página envie o formulário novamente pro servidor;
  • Flash Scope: Dura apenas duas requisições. Usado por exemplo depois de cadastrar algo no Banco de Dados e dar um redirect para outra action, conseguir pegar um parâmetro do primeiro request;

Melissa Lobo.

terça-feira, 19 de janeiro de 2016

Pomodoro

Alguns de vocês já devem ter ouvido falar de uma técnica chamada Pomodoro, pois bem, resolvi começar o ano falando um pouco sobre essa técnica, que ajuda muito a nos concentrarmos sem ficar exausto e ter um dia mais produtivo.

A proposta é bem simples, trabalhar por 25 minutos seguidos em uma determinada tarefa e ao termino desse período você faz uma pausa de 5 minutos, veja seus emails, noticias, whatsapp, etc. Depois de fazer 4 pomodoros de 25 min com suas devidas pausas de 5 min, você descansa por 30 min, toma um café, estica as pernas, compra um doce, e volta e segue o mesmo processo novamente.

 Você pode usar um timer de cozinha como o da imagem, ou marcar no celular, tanto faz.

Pomodoro:

  1. Separe uma tarefa para trabalhar;
  2. Ajuste o Timer para 25 minutos;
  3. Nesse período não faça nada além da tarefa selecionada, nada de emails, telefone, facebook, whatsapp, se concentre;
  4. Faça um intervalo de 5 minutos ao termino de cada pomodoro, (agora sim pode ver emails, telefone, whatsapp, etc).
  5. A cada 4 pomodoros faça um intervalo de 30 minutos. 
Obs: Registre em algum lugar, tabela, caderno de anotações ou agenda, quantos pomodoros fez no dia, e veja o quão produtivo foi ao longo do dia. 


Historia
A Técnica Pomodoro é um método de gerenciamento de tempo desenvolvido por Francesco Cirillo no final dos anos 1980. O método é baseado na ideia de que pausas frequentes podem aumentar a agilidade mental. A técnica foi nomeada após seu autor Francesco Cirillo tê-la aplicado pela primeira vez utilizando um cronômetro em formato de tomate ("pomodoro" em italiano significa "tomate").

Embora a técnica Pomodoro seja extremamente simples e fácil, ela não deve ser usada simplesmente como um processo de acelerar o desenvolvimento da tarefa, mas sim como uma unidade de esforço temporal além do poder que ela tem de focar na tarefa, evitando distrações. Portanto, além de você descobrir ao longo do tempo quais são as atividades em que você seja menos produtivo, você poderá tentar se desenvolver melhor nesses seus pontos mais fracos.

terça-feira, 22 de dezembro de 2015

O que são os Princípios SOLID?

Robert C. Martin, por volta dos anos 90, compilou cinco princípios da orientação a objetos que visam nos ajudar com a tarefa de obter um código mais sólido (S.O.L.I.D.). Já a criação do acrônimo S.O.L.I.D. propriamente dito, foi introduzida por Michael Feathers, igualmente integrante da Object Mentor Inc. e autor do livro Working Effectively with Legacy Code. Feathers, na busca por facilitar a absorção da ideia, percebeu que a junção das cinco letras iniciais dos princípios, a saber: Single Responsability PrincipleOpen Closed PrincipleLiskov Substitution PrincipleInterface Segregation Principle e Dependency Inversion Principle, formavam a palavra Solid, que nos remete aos objetivos implícitos dos princípios, isto é, um desenvolvimento mais sólido.

Os cinco princípios da OO:
  • Single Responsibility Principle (SRP), ou, Princípio da Responsabilidade Única. Esse princípio diz que as classes devem ser coesas, ou seja, terem uma única responsabilidade. Classes assim tendem a ser mais reutilizáveis, mais simples, e propagam menos mudanças para o resto do sistema.
  • Open Closed Principle (OCP), ou Princípio do Aberto Fechado. Diz que as classes devem poder ter seu comportamento facilmente estendidas quando necessário, por meio de herança, interface e composição. Ao mesmo tempo, não deve ser necessário abrir a própria classe para realizar pequenas mudanças. No fim, o princípio diz que devemos ter boas abstrações espalhadas pelo sistema.
  • Liskov Substitution Principle (LSP), ou Príncipio da Substituição de Liskov. Esse princípio diz que precisamos ter cuidado para usar herança. Herança é um mecanismo poderoso, mas deve ser usado com parcimônia, evitando os casos de Gato-estende-Cachorro, apenas por possuírem algo em comum.
  • Interface Segregation Principle (ISP), ou Princípio da Segregação de Interfaces. Esse princípio diz que nossos módulos devem ser enxutos, ou seja, devem ter poucos comportamentos. Interfaces que tem muitos comportamentos geralmente acabam se espalhando por todo o sistema, dificultando manutenção.
  • Dependency Inversion Principle (DIP), ou Princípio da Inversão de Dependências. Esse princípio diz que devemos sempre depender de abstrações, afinal abstrações mudam menos e facilitam a mudança de comportamento e as futuras evoluções do código.

segunda-feira, 21 de dezembro de 2015

O que é o Spring Framework?

O Spring é um framework open source para a plataforma Java criado por Rod Johnson e descrito em seu livro "Expert One-on-One: JEE Design e Development". Trata-se de um framework não intrusivo, baseado nos padrões de projeto Inversão de controle (IoC) e injeção de dependência.

No Spring o container se encarrega de "instanciar" classes de uma aplicação Java e definir as dependências entre elas através de um arquivo de configuração em formato XML, inferências do framework, o que é chamado de auto-wiring ou ainda anotações nas classes, métodos e propriedades. Dessa forma o Spring permite o baixo acoplamento entre classes de uma aplicação orientada a objetos.

O Spring possui uma arquitetura baseada em interfaces e POJOs (Plain Old Java Objects), oferecendo aos POJOs características como mecanismos de segurança e controle de transações. Também facilita testes unitários e surge como uma alternativa à complexidade existente no uso de EJBs. Com Spring, pode-se ter um alto desempenho da aplicacao.

Esse framework oferece diversos módulos que podem ser utilizados de acordo com as necessidades do projeto, como módulos voltados para desenvolvimento Web, persistência, acesso remoto e programação orientada a aspectos.

domingo, 29 de novembro de 2015

Principais teclas de atalho do Eclipse

O Eclipse possui muitos atalhos úteis para facilitar a vida do programador. Segue aqui os mais importantes de conhecer e de praticar:

Ctrl + S Salva as alterações;

Ctrl + 1 Aciona o quick fixes com sugestões para correção de erros;

Ctrl + Espaço Completa códigos;

Ctrl + 3 Aciona modo de descoberta de menu. Experimente digitar Ctrl+3 e depois digitar ggas e enter. Ou então de Ctrl + 3 e digite ::new class:

Ctrl + F11 roda a última classe que você rodou. É o mesmo que clicar no ícone verde que parece um botão de play na barra de ferramentas;

Ctrl + PgUp e Ctrl + PgDown Navega nas abas abertas. Útil quando estiver editando vários arquivos ao mesmo tempo;

Ctrl + Shift + F Formata o código segundo as convenções do Java;

Ctrl + M Expande a View atual para a tela toda (mesmo efeito de dar dois cliques no título da View);

Ctrl + Shift + L Exibe todos os atalhos possíveis;

Ctrl + O Exibe um outline para rápida navegação;

Alt + Shift + X e depois J Roda o main da classe atual. Péssimo para pressionar! Mais fácil você digitar Control+3 e depois digitar ::Run::!. Abuse desde já do Control+3;

quarta-feira, 25 de novembro de 2015

Bootstrap - Criando uma página de Login com Modais

Modais no Bootstrap são simples mas flexíveis caixas de dialogo. Um modal renderiza um cabeçalho, corpo, e uma coleção de ações no footer. Exemplo:


Então eu resolvi fazer um formulário de login com o Modal.

Para melhor entendimento eu dividi o código em três parte: modal-header que é a Tag do cabeçario, modal-body que é a Tag do corpo e modal-footer que é onde fica os botões ou ações do Modal/Caixa. 


<div id="loginModal" class="modal show" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog">
<div class="modal-content">
Cabeçalho: <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h1 class="text-center">Login</h1>
</div>

Corpo:
<div class="modal-body">

<form class="form col-md-12 center-block">
<div class="form-group">
<input type="text" class="form-control input-lg" placeholder="Email">
</div>
<div class="form-group">
<input type="password" class="form-control input-lg" placeholder="Senha">
</div>
<div class="form-group">
<button class="btn btn-primary btn-lg btn-block">Logar</button>
<span class="pull-right"><a href="#">Registrar</a></span>
<span><a href="#">Precisa de Ajuda?</a></span>

</div>
</form>
</div>
Coleções
de ações
no Footer:
<div class="modal-footer">

<div class="col-md-12">
<button class="btn" data-dismiss="modal" aria-hidden="true">Cancelar</button>
</div>
</div>
</div>
</div>
</div>

Todas as tags são do Bootstrap, e o código fonte você pode baixar aqui: Bootstrap Examples ou visualizar aqui: Bootstrap Examples GitHub.

terça-feira, 24 de novembro de 2015

Meetup Java São Paulo

O Meetup Java São Paulo completa 1 ano nesse mês de novembro, foram 10 eventos de Java com muitas palestras, apresentações, explicações, demonstrações, pizza e muito aprendizado. Para comemorar vamos ter um Dojo/Live Coding - Test Driven Development e Bolo \o/
Vamos desenvolver uma aplicação real do inicio ao fim com TDD, vai ser muito maneiro.  Quem quiser pode trazer o notebook para acompanhar em sua maquina, mas é opcional.

O eventos será realizado dia 26/11 as 19h30 na Global Code com o Bruno Daniel Marinho

Link do Evento: Meetup Java São Paulo 10

segunda-feira, 23 de novembro de 2015

O que é o Bootstrap? Primeiros Passos

Bootstrap é um framework front-end que facilita a vida dos desenvolvedores web a criar sites com tecnologia mobile (responsivo). Além disso, o Bootstrap possui uma diversidade de componentes (plugins) em JavaScript (jQuery) que auxiliam o designer a implementar: tootlip, menu-dropdown, modal, carousel, slideshow, entre outros sem a menor dificuldade, apenas acrescentando algumas configurações no código, sem a necessidade de criar scripts e mais scripts.

Características:
  • Possui uma interface super amigável e moderna;
  • Atualmente possui uma grande diversidade de templates;
  • Grande quantidade de plugins adaptados ou desenvolvidos para o framework;
  • Sistema responsivo;
  • Um dos frameworks mais utilizados no desenvolvimento de portais e sistemas do mundo;
  • Guia de aplicação;
  • Download facilitado e totalmente FREE!
Primeiros Passos com Bootstrap:
  1. Faça o download do framework no site do desenvolvedor getbootstrap.com
  2. Após realizar o download, você terá os seguintes arquivos:

    bootstrap/
      ├── css/
      │   ├── bootstrap.css
      │   ├── bootstrap.min.css
      ├── js/
      │   ├── bootstrap.js
      │   ├── bootstrap.min.js
      └── img/
          ├── glyphicons-halflings.png
          └── glyphicons-halflings-white.png
  3. Adicione os arquivos  nas respectivas pastas do seu projeto.
  4. Chame o CSS e o JS dentro da tag <head> do seu HTML

    <html> <head>
    <title>Bootstrap - Primeiros Passos</title>
    <!-- Incluindo o CSS do Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
    </head>

Ao usar o bootstrap.js é necessário como requisito o famoso e poderoso jQuery, lembre-se de incluí-lo antes do Bootstrap


<body>
...
<!-- Incluindo o jQuery que é requisito do JavaScript do Bootstrap -->
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!-- Incluindo o JavaScript do Bootstrap -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>

E pronto!

Não existe um arquivo executável, pois ele é somente um emaranhado de códigos que são aplicados ao seu projeto através da chamada no html.

O Bootstrap não é nada mais do que esses arquivos. Lembrando que para ambiente de desenvolvimento o melhor é incluir no seu HTML os arquivos identados: bootstrap.css e bootstrap.js, entretanto em ambiente de produção o indicado são os arquivos com o final .min pois são comprimidos e economizam muitos bytes o que melhora o carregamento das páginas HTML (principalmente em conexões 3G). Os arquivos no diretório img/ são os icones padrões do Bootstrap e são incluídos pelo arquivo css.

Código Fonte: Bootstrap Examples.


Crie uma página de login com: Modais do Bootstrap  
Melissa Lobo.