domingo, 9 de outubro de 2016

Groovy / Grails



Olá pessoal,

Depois de bastante tempo sem postar, resolvi escrever este post para começar a relatar um pouco da experiência que estou tendo utilizando as técnologias Groovy e Grails.

Onde tudo começou


Rencentemente, migrei de empresa e nesta nova empresa, começei a trabalhar em um projeto que utiliza Grails. Eu já conhecia a técnologia, mas nunca havia me aprofundado, e com esse projeto, mesmo que utilizando uma versão bem antiga, a 2.3.6, percebi o ganho de produtividade que podemos ter ao utilizar esse framework. Também pude observar que é preciso mudar a forma de pensar e se desapegar de velhos e maus hábitos, pois a técnologia te "força" a trabalhar utilizando suas convenções que na minha opinião e na de muitos profissionais, são boas práticas que na maioria das vezes não seguimos. Percebi também que a linguagem Groovy, na verdade é um Java melhorado, e tudo que falta no Java e que temos muito trabalho para fazer, no Groovy é extremamente simples.

Groovy


De uma maneira bem resumida, o groovy é uma linguagem de programação que roda sobre a máquina virtual Java (JVM), dinâmica, puramente orientada a objetos, possui carcateristicas funcionais, possui um vasto ecosistema, na qual o Grails faz parte, utilizada na construção de scripts e também está presente na ferramenta Gradle, hoje aparecendo como uma opção ao Maven.

Grails


Também falando resumidamente, o Grails é um framework web, fullstack, utiliza groovy como linguagem, possui influências no Ruby On Rails, ou seja, todas as suas funcionalidades praticamente também são encontradas no Ruby On Rails. Seu foco é no ganho de produtivade, trazendo ferramentas e padrões para chegar a esse objetivo, trabalha com Convention over Configuration (CoC), sendo esse um dos maiores fatores na minha opinião, para que tenhamos uma maior produtividade com o framework. Utiliza por baixo dos panos, técnologias conhecidas, tais como: Spring, Hibernate, Log4j, Tomcat, Sitemesh e outras, tornando a curva de aprendizado mais curta e fortalecendo a confiança no framework. No Brasil existe uma forte comunidade, chamada Groovy \ Grails Brasil, na qual seu fundador e na minha opinião, o maior evangelizador do Grails atua, o Henrique Lobo, mais conhecido com Kiko. Neste primeiro post, não foi a minha intenção abordar mais detalhes e no final coloco alguns links que utilizei, assim como todos os meios pelo qual aprendi e ainda uso para continuar estudando o framework e a linguagem Groovy.

Como comecei a estudar


Primeiramente, começei a buscar na internet e vi que no Brasil, existe um grupo dedicado a técnologia, o Grails Brasil, nele percebi que o seu fundador, o Kiko, havia escrito um livro falando sobre o assunto, comprei o livro e recomendo, pois o livro aborda tudo que precisamos saber para construirmos uma aplicação do zero em Grails, mesmo o livro abordando também uma versão antiga, ele apresenta pontos que mudaram na nova versão. Depois disso, começei a estudar também pela documentação oficial que sempre é atualizada e que devemos sempre recorrer em primeiro lugar.
O importante é continuar estudando e praticando bastante, pois tanto o groovy quanto o grails possuem uma infinade de novos recursos e funcionalidades talvez não utlizados pela maioria de nós e por isso, na minha opinião, a prática se torna indispensável.

Seguem os links para estudo e o link do livro


Groovy

http://www.groovy-lang.org/
http://www.groovy-lang.org/documentation.html
http://www.groovy-lang.org/ecosystem.html

Grails

https://grails.org/
https://grails.org/documentation.html

Groovy / Grails Brasil

http://www.grailsbrasil.com.br/

Palestra dada pelo Kiko na infoQ

https://www.infoq.com/br/presentations/grails-alta-produtividade-em-java

Livro Falando de Grails (Kiko)

https://www.casadocodigo.com.br/products/livro-grails

É isso pessoal, nos próximos posts, pretendo apresentar mais pontos que aprendi e demonstrar também com exemplos de código.




sábado, 19 de março de 2016

Tradução do idioma para Inglês do Netbeans no Windows




Bem, como sabemos, o Netbeans por padrão, depois de instalado, é inicializado usando a língua padrão do sistema operacional, mas, as vezes, queremos utilizar o inglês mesmo usando o sistema operacional em português, sim, estamos falando do Windows, então, para forçar o Netbeans a utilizar o inglês é muito simples. Depois de instalarmos o Netbeans no Windows, é criado um atalho na Área de trabalho (Desktop). Basta clicar com o botão direito em cima deste atalho e acessar a guia Propriedades, como mostra a imagem abaixo:


Depois basta adicionar a seguinte instrução ao final do campo Destino:
--locale en_US

Como demonstrado na imagem abaixo:



Feito isso, basta clicar em Ok e reinicializar o Netbeans IDE.


Netbeans 8.1 Release




Olá amigos, ha algum tempo a nova versão do Netbeans IDE foi lançada, trazendo novas features e melhorias de performance na ferramenta, para mais informações, seguem os links abaixo:

Para baixar a ultima versão:
https://netbeans.org/downloads/

Para saber mais sobre as novas features:
https://netbeans.org/community/releases/81/

No decorrer dos novos posts, abordarei assuntos que usarão as novas funcionalidades, até lá.

quinta-feira, 19 de março de 2015

Maven + Eclipse (Parte 1)










1 - Overview e Instalação:

Depois do post sobre como funciona o suporte ao Maven no Netbeans, resolvi acrescentar mais ao assunto Maven e falar da sua integração e utilização no nosso querido Eclipse.Vou utilizar a versão Kepler na qual vocês poderão baixar do site eclipse.org.Nesta versão, um plugin chamado m2e (Maven Integration To Eclipse) já vem instalado e pronto para usar. Para saber se a sua versão contem o plugin, basta acessar o menu Help->About Eclipse e verificar se o ícone do plugin se encontra como na imagem abaixo:


Caso não contenha o plugin, basta efetuar o download utilizando o Eclipse Marketplace. A imagem abaixo mostra o plugin encontrado e pronto para a instalação.


Basta clicar no botão install e esperar o término da instalação e configuração do plugin.

2 - Criação de um simples projeto:

 Vamos começar a utilizar de fato o suporte. Criaremos um projeto simples do tipo war (web archive) só para demonstrar a funcionalidade. Para começar, acesse a tela de criação de projetos através do menu File -> New -> Other ou simplesmente usando a combinação de teclas Ctrl + N. Depois de aberta a janela, procure por Maven Project. A imagem abaixo, demonstra a janela com o tipo de projeto selecionado.



Depois de selecionar o tipo de projeto, clique no botão Next e a tela para definir as informações básicas do projeto é exibida. Nesta tela, é possível criar seu projeto baseado em um template pré-fabricado do maven (archetype) ou com um template básico. Escolheremos o básico, marcando a opção Create a simple project. As demais configurações são relativas a localização do projeto que fica a seu critério. Depois de terminar, clique em Next novamente.


A próxima tela solicita a configuração detalhada do seu projeto. Nesta tela, as configurações específicas do seu projeto maven devem ser inseridas. Não esqueça de mudar a opção package para war, pois nosso projeto será do tipo web. Novamente, a imagem abaixo ilustra a janela já com a opção package contendo o item certo selecionado.


Terminada a configuração, clique em Finish e seu projeto será criado.

3 - O arquivo pom.xml:

Segunda a definição no site da Wikipédia, o arquivo pom (Project Object Model) representa o seguinte:

"Um Project Object Model (POM), ou em português Modelo de Projeto de Objeto, fornece todas as configurações para um único projeto. A configuração geral cobre o nome do projeto, seu proprietário e suas dependências de outros projetos. Também pode configurar fases individuais do processo de construção, que são implementados como plugins. Por exemplo, pode configurar o plugin compilador para usar a versão 1.5 do Java para compilação, ou especificar o empacotamento do projeto mesmo que algumas unidades de teste falhem.
Projetos maiores poderiam ser divididos em vários módulos, ou sub-projetos, cada um com seu próprio POM. Cada um pode então escrever um POM raiz através do qual ele pode compilar todos os módulos com um único comando. POMs também podem herdar configuração de outros POMs. Todos os POMs herdam do Super POM por padrão. O Super POM fornece configuração padrão, tal como os diretórios fonte padrões, plugins padrões e assim por diante. "

Ou seja, nesse arquivo são definidas todas as configurações do seu projeto e mesmo configurando através de janelas, essas configurações são refletidas neste arquivo.
No eclipse ao clicar no arquivo, uma janela de configuração é exibida, contendo tudo que pode ser configurado para o projeto. A imagem abaixo mostra a janela.


Desta forma, é possível configurar de forma mais produtiva o necessário para o projeto. Note que o nível de configuração é bem básico e não extende a configuração de plugins que também é muito importante, fazendo com que precisemos configurar isso manualmente, além de outras configurações.

Bem pessoal, na próxima parte irei abordar questões relativas a configurações de plugins básicos, execução de testes unitários e deploy. Até mais...

terça-feira, 19 de agosto de 2014

Configurar Inicialização Automática do Jboss (Linux)

 

Obs: Todos os passos devem ser feitos como usuário root, para isso, basta preceder cada comando com a palavra sudo, depois digitar a senha. (ex: sudo useradd jboss -d {diretório do jboss})

1) Crie o usuário jboss e mude as permissões do diretório:
 
# useradd jboss -d {diretório do jboss}
# chown jboss {diretório do jboss} -R
# chmod 770 {diretório do jboss} -R

Obs: O usuário jboss deve se chamar jboss com letra minúscula

2) Crie o script de inicialização:

# vim /etc/init.d/jboss

Tecle insert para editar o arquivo e copie e cole o conteúdo abaixo (não esquecer de alterar '{diretório do jboss}', para o endereço do jboss instalado):
 
#!/bin/bash
# Jboss init-script

VER="Jboss AS" 

case "$1" in

start)
echo -n "Iniciando $VER ..." 
su - jboss -c '{diretório do jboss}/bin/standalone.sh -b 0.0.0.0 &'
RETVAL=$?
;;

stop)
echo -n "Parando $VER ..." 
killall -u jboss
sleep 10
RETVAL=$?
;;

restart)
echo -n "Reiniciando $VER ..." 
$0 stop
sleep 10
$0 start
RETVAL=$?
;;

*)
echo "Usage: Jboss {start|stop|restart}" 

exit1
esac
exit $RETVAL
 
Após copiar o conteúdo tecle Esc para sair da edição e salve o arquivo, para salvar o arquivo

digite :wq!

Tecle Enter e ele ira sair do arquivo.

3) Permissão no Script:
 
# chmod a+x /etc/init.d/jboss

4) Inicializando na hora do boot:

Edite o arquivo rc.local

Na família Redhat e Fedora, em geral:
 
# vim /etc/rc.local

No Linux SUSE:
 
# vim /etc/rc.d/boot.local

Adicione a linha abaixo no arquivo, para isso tecle
insert para entrar no modo de edição:
 
/etc/init.d/jboss start

Salve o arquivo, para isso tecle Esc para sair da edição e digite :wq!

Tecle Enter e ele ira sair do arquivo.

5) Procedimento pronto agora para poder Iniciar – Parar ou Reiniciar o Jboss podemos fazer da seguinte maneira:

Iniciar jboss
/etc/init.d/jboss start

Parar jboss
/etc/init.d/jboss stop

Reiniciar jboss
/etc/init.d/jboss restart

segunda-feira, 5 de maio de 2014

Maven + Netbeans


Hoje vou falar de um assunto que considero muito importante para todo desenvolvedor Java Web na atualidade, isso mesmo, o Maven, que está presente na grande maioria dos projetos Java Web de hoje. O projeto é mantido pela fundação Apache e na prática é uma ferramenta para automatizar o processo de compilação de projetos, mas não é só isso, ele também conta com um bom controle de dependências e plugins para uma infinidade de tarefas úteis ao projeto, para uma explicação mais abrangente, visite o site do projeto em http://maven.apache.org/what-is-maven.html e caso queira uma explicação mais básica, consulte a página da Wikipédia http://pt.wikipedia.org/wiki/Apache_Maven. Bem, mas esse post tem como objetivo mostrar a integração dele com o nosso querido Netbeans, então, mãos a obra.

1 - Instalação

No Netbeans não é preciso instalar o Maven, pois, ele já vem com uma versão embutida e como estamos usando a versão mais recente do Netbeans, já nos basta essa versão, mas mostrarei como configurar o Netbeans para usar uma versão instalada por fora da ferramenta.

1.1 - Instalação do Maven (Separado do Netbeans)

Para instalar o Maven em seu sistema operacional, basta baixar o pacote no site http://maven.apache.org/download.cgi e seguir os passos descritos no mesmo link ao final da página.

1.2 - Configurando o Maven no Netbeans

Abra o Netbeans e acesse o menu na guia "Tools -> Options", como mostra a imagem abaixo:






Em seguida clique no ícone "Java" e depois na aba de configuração do Maven ...





Repare que é possível escolher entre a versão "bundled" ou escolher a versão que vc preferir. Depois de escolher, basta clicar em ok e seus projetos já estarão utilizando a versão na qual escolheu.

2 - Criando projetos com Maven

A criação de projetos com Maven no Netbeans é uma tarefa bem simples, além do mais, existem modelos de projetos prontos para as principais tecnologias do Java EE. Na imagem abaixo é mostrado a lista de modelos de projetos prontos suportados pelo Netbeans.

Mas caso nenhum destes modelos seja útil para você, ainda existe a possibilidade de utilizar outros modelos fornecidos pelos repositórios configurados (falaremos sobre repositórios em breve) através da opção "Project from Archetype" presente nessa mesma tela. Depois de selecioná-la a próxima tela permite a consulta de outros modelos.


Depois de escolher, basta clicar no botão "finish" e aguardar a criação do projeto.

É isso ai pessoal, vimos como é simples criar um projeto com suporte ao Maven no Netbeans, mas existem outras configurações que mostrarei em outro post, alem de recursos para integrar seu projeto com a tecnologia JavaEE com muita facilidade.

Vlw!!!




sexta-feira, 7 de março de 2014

Netbeans 8 Release Candidate


Olá pessoal,

Saiu a versão release candidate do Netbeans 8.0, aproveitem para testar as novas funcionalidades e melhorias nos suportes ao Primefaces com uma incrível facilidade que gera um CRUD completo com interface já acessando uma base de dados, tudo de forma muito simples. Melhorias também no suporte a maven, Java 8, Java EE, Javascript , HTML 5 e outras.

Para saber mais das novidades, acesse o link abaixo:
https://netbeans.org/community/releases/80/

Para baixar a versão 8.0 Release Candidate, acesse o link abaixo:
http://dlc.sun.com.edgesuite.net/netbeans/8.0/rc/

É isso ai pessoal, aproveitem as novidades a té a próxima!!!