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.

terça-feira, 10 de novembro de 2015

O que é um DNS?

DNS é uma sigla muito usada, que significa Domain Name Server ou Servidor de nomes de domínio, em português. Os servidores DNS basicamente transformam o nome de um domínio (melissalobo.blogspot.com.br , por exemplo) em um endereço de IP, no qual é o verdadeiro endereço do site. Nestes servidores possuem várias tabelas, que ligam o endereço do site ao seu endereço de IP. Ainda bem que isso existe, já pensou em ter que digitar uma série de número, como, por exemplo o do Google, que é 173.194.42.238, sempre que quisesse acessa-lo?

Lista de DNS

Segue uma lista de servidores DNS que você pode utilizar, confira:

OpenDNS
Primário: 208.67.222.222
Secundário: 208.67.220.220

Comodo Secure DNS
Primário: 8.26.56.26
Secundário: 8.20.247.20

Google (recomendado)
Primário: 8.8.8.8
Secundário: 8.8.4.4

UOL
Primário: 200.221.11.100
Secundário: 200.221.11.101

Terra
Primário: 200.177.2.10
Secundário: 200.176.254.10

Intelig
Primário: 200.184.26.3
Secundário: 200.184.26.4

Ajato
Primário: 200.162.192.5
Secundário: 200.162.192.3

Matrix
Primário: 200.202.7.1
Secundário: 200.202.17.1

Netpar
Primário: 200.255.244.1
Secundário: 200.255.244.3

ZAZ
Primário: 200.246.248.10
Secundário: 200.248.149.1

Unicamp
Primário: 143.106.2.5
Secundário: 143.106.51.37

segunda-feira, 24 de agosto de 2015

O que é um Web Service

Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.

Como funciona
É uma aplicação típica de cliente e servidor, em que um cliente também pode ser um servidor. O cliente requisita o serviço, o servidor dar uma resposta e as informações são trocadas

Tecnologias
As bases para a construção de um Web Services são os padrões XML e SOAP. O transporte dos dados é realizado normalmente via protocolo HTTP (o padrão não determina o protocolo de transporte). Os dados são transferidos no formato XML, e encapsulados pelo protocolo SOAP.

Porque usar
  • Integração entre serviços distintos. 
  • Padronização no retorno de cada requisição de serviços. 
  • Independência de tecnologia de desenvolvimento e plataformas. 
  • Os Web Services estão acima de plataformas, bancos de dados, e linguagens de programação, livrando completamente os desenvolvedores das limitações previamente encontradas na interface entre aplicativos. 
  • Segurança.

Próximo Post, farei um passo a passo de como criar um Web Service simples. 

quarta-feira, 19 de agosto de 2015

Criando um Repositório no Github

Para criar um repositório no GitHub, clique no botão New repository disponível no +  na sua página inicial:
Criando um novo repositório no Github

Especifique um nome e opcionalmente uma descrição e clique em Create Repository:

Já temos um repositorio no Github com um endereço no servidor para onde vamos enviar os arquivos criados localmente. Próximo passo é criar um diretório/pasta local e iniciar o Git fazendo ele se comunicar com o servidor. Você pode criar manualmente a pasta ou usar a linha de comando. Para isso abrimos o terminar e fazemos:
// cria o diretório/pasta
$ mkdir PrimeiroProjetoGit
// entra na pasta que criamos
$ cd PrimeiroProjetoGit
Agora você pode entrar na pasta PrimeiroProjetoGit e criar lá um arquivo de texto qualquer, para podermos commitar algo ou criar pela própria linha de comando com:
// cria um arquivo
$ touche arquivoQualquer.txt
 Em seguida digite os comandos:
// inicia o git
$ git init
// adiciona os arquivos/modificações no git
$ git add .
// adiciona uma descrição ao que será comitado
$ git commit -m "Primeiro Commit"
// informamos o endereço do nosso projeto
$ git remote add origin https://github.com/MelissaLobo/PrimeiroProjetoGit.git
// envia os arquivos da sua máquina para o repositório criado no Github
$ git push -u origin master

O comando git init serve para "iniciar" o rastreamento de arquivos pelo Git. Esse comando cria um diretório (oculto).git, contendo as configurações necessárias para o funcionamento do sistema. Esse comando só é necessário uma vez.

O comando git remote add serve para adicionar um repositório "remoto", que por padrão o Git chama de origin, e que nada mais é do que um "atalho" para o endereço do servidor. Vinculando assim o seu projeto ao repositório do Github.

O comando git push -u origin master envia os arquivos da sua máquina para o repositório.

Em seguida ele vai pedir o seu usuário e senha do Github. É só digitar e dar enter.

Agora só atualizar a pagina do Github, no meu caso https://github.com/MelissaLobo/PrimeiroProjetoGit  e o projeto estará lá bonitinho. 

No caso, sempre que criar um projeto no eclipse por exemplo, você faz o mesmo processo, cria o repositório, abre o Terminal ou o Git Bash, entra na pasta do projeto e executa os mesmos comandos. 

Colinha:
$ git init
$ git add .
$ git commit -m "Primeiro Commit"
$ git remote add origin https://github.com/nomedoseuprojeto.git
$ git push -u origin master


terça-feira, 18 de agosto de 2015

O que é o Github? Criando & Configurando

O Github é um serviço de hospedagem distribuído desenvolvido em Ruby on Rails para projetos que utilizam o controle de versão Git. Assim, é utilizado como repositório online de códigos fonte para projetos de código aberto.
Podemos encontrar nele informações sobre todos os commits (atualizações) dos projetos que o utilizam, uma rede social que possibilita que outras pessoas acompanhem o desenvolvimento de seu projeto, um recurso para visualizar gráficos de quantas atualizações cada pessoa no projeto está realizando, entre outras novidades.

Site oficial: http://github.com

Instalando Git 

  • Podemos fazer o download do Git pelo site: http://git-scm.com/download, atualmente funciona em Linux, Mac OSX e Windows. 
  • Para usuários GNU/Linux Debian o download do Git pode ser feito pelo Gerenciandor de Pacotes com o comando:
    $ sudo apt-get install git-core git-gui git-doc

Git Bash no Windows 

Criando um usuário no Github

  •  Acessar http://github.com
  • -> Pricing and Signup -> Escolher um plano e “Create an account” (Possui planos free) -> Escrever seus dados e seguir os passos como de costume (Nome, Senha, etc).

Configurando o Git


Configuração do Github no Git Bash 

  •  Configure seu usuário Git com os comandos :
    $ git config --global user.name "Seu Nome"
    $ git config --global user.email seuemail@gmail.com




Melissa Lobo.

O que é o Git?

O Git é um sistema de controle de versão (ou versionamento), VCS (do inglês version control system) ou ainda SCM (do inglês source code management) distribuído que está sendo cada vez mais usado, pois foca em velocidade e robustez. O desenvolvedor inicial do Git foi Linus Torvalds (criador do Linux).

Um sistema de controle de versão tem a finalidade de gerenciar as diferentes versões de um documento. É muito utilizado por empresas de desenvolvimento de software que possuem grandes equipes e precisam manter organizado, documentado e arquivado tudo o que foi e está sendo implementado no software.

Como exemplo de projetos que utilizam o Git temos: Arch Linux, Android, Debian, Digg, Eclipse, Fedora, GNOME, jQuery, openSUSE, Ruby on Rails, Samba, Yahoo UI Library, entre outros.

Site oficial: http://git-scm.com


Melissa Lobo.

quinta-feira, 13 de agosto de 2015

Expressões Regulares (regex) em Java

Uma expressão regular (ou o estrangeirismo regex, abreviação do inglês regular expression) provê uma forma concisa e flexível de identificar cadeias de caracteres de interesse, como caracteres particulares, palavras ou padrões de caracteres. Expressões regulares são escritas numa linguagem formal que pode ser interpretada por um processador de expressão regular, um programa que ou serve um gerador de analisador sintático ou examina o texto e identifica partes que casam com a especificação dada.

O uso atual de expressões regulares inclui procura e substituição de texto em editores de texto e linguagens de programação, validação de formatos de texto (validação de protocolos ou formatos digitais), realce de sintaxe e filtragem de informação. 

Vejamos, alguns exemplos:
\d     Representa qualquer dígitos
\D    Representa tudo, menos dígito

\w    Representa qualquer caractere de palavra
\W   Representa tudo que não seja um caractere de palavra

\s     Representa qualquer espaço em branco(" ", tab)
\S    Representa tudo que não seja espaço em branco

[a-z]        Representa qualquer letra minúscula do alfabeto
[A-Z]      Representa qualquer letra maiúscula do alfabeto
[a-zA-Z] Representa qualquer letra do alfabeto, seja maiúscula ou minúscula
     |          Representa o 'ou'. "a|b" casa com 'a' ou com 'b', ou com os dois

Vejamos alguns quantificadores:
.        Substitui qualquer caractere
*       O caractere anterior aparece nenhuma ou mais vezes
+       O caractere anterior aparece uma ou mais vezes
{a}    O caractere anterior se repete 'a' vezes
{a,}   O caractere anterior se repete pelo menos 'a' vezes
{a,b} O caractere anterior se repete entre 'a' e 'b' vezes

terça-feira, 11 de agosto de 2015

Utilizando mascaras no XPages


Para salvar os caracteres que utilizamos na mascara, você tem que definir o "asis" como verdadeiro. Se quiser que os caracteres definido na mascara, seja retirado na hora de salvar, é só definir o "asis" como falso.

Exemplo:

asis > true
Dados digitado: 1111-2222-3333-444 -> Dados salvos: 1111-2222-3333-444
Dados digitado: 111122223333444 -> Dados salvos: 111122223333444
asis > false
Dados digitado: 1111-2222-3333-444 -> Dados salvos: 111122223333444
Dados digitado: 111122223333444 -> Dados salvos: 111122223333444

asis é uma configuração do xp:convertMask que fica em:

All Properties > data > converter > xp:convertMask > asis > true/false

Marcadores de Entrada

Já os Padrões de máscara podem conter marcadores de entrada e caracteres literais. Os três marcadores de entrada mais comuns são os seguintes:

? - Uma letra
# - Um dígito
A - Uma letra ou dígito

É possível utilizá-los para definir um padrão de um determinado número de letras e / ou algarismos. Por exemplo, para definir um valor com três letras (tal como um código de país), o padrão seria:

??? .

Outros marcadores padrão de entrada

Existem alguns outros marcadores que podem ser utilizados:

H - um caractere hexadecimal (0-9, AF)
* - qualquer coisa
'- Escapar de um caráctere de formatação
U - converter letras minúsculas para maiúsculas
L - minúsculas permanecem minúsculas


Bastante simples.


Melissa Lobo.

quarta-feira, 15 de julho de 2015

Unchecky, auxiliar gratuito na prevenção de PUPs

Como todos sabem, o Baidu se instala até no Microondas, é uma praga. Eu que uso Windowns no trabalho acabei me deparando com o Baidu em minha maquina, e como aqui não temos Antivirus, fui buscar uma solução alternativa, e encontrei o Unchecky .

O Unchecky é um grande auxiliar no combate e instalação de softwares indesejados no seu computador. É um programa leve, com duas funções básicas. Ele desmarca automaticamente as caixas de PUPs que vem marcada por padrão e caso algo passe despercebido pelo usuário ele exibe um alerta, como na imagem abaixo.
E o melhor, o Unchecky é gratuito de deve ser usado no seu computador, caso você também opte por um Antivírus gratuito, que não possa proteção Anti-PUP.

O download do Unchecky pode ser feito através do link: http://unchecky.com/files/unchecky_setup.exe

A instalação é segura e não oferece nenhum software indesejado. Apesar de muito eficiente, porém é um programa auxiliar, e não consegue detectar em 100% dos casos, portanto a sua atenção ainda será essencial, mas no meu caso já tem ajudado muito.