Arquivo da categoria: Uncategorized

O JEDI DAS COLLECTIONS #2

Salve Devs!

octobiwan

Não sei se vocês lembram, mas em janeiro do ano passado eu escrevi sobre como as collections no groovy são poderosas. Dessa vez eu gostaria de falar um pouco mais sobre elas, já que tivemos algumas melhorias com o passar do tempo.
Caso você não tenha lido ainda o último post sobre collections, essa é a sua chance rs.

removeAll‘: Nós definimos uma closure com uma condição que precisa ser true para o elemento que será removido da coleção;

removeElement‘: Foi adicionado para sobrescrever qualquer ambiguidade do método ‘remove‘ das collections com valores inteiros.

O método ‘remove‘ aceita tanto os valores ‘Object‘ quanto ‘int‘, para remover um elemento ou um elemento de um índice especifico respectivamente. Quando uma collection contem uma lista de Integer o argumento é interpretado como índice e não o próprio objeto. O método ‘removeElement‘ vai usar a implementação do método ‘remove(Object)‘. Quando a collection for uma List Groovy será adicionado o método ‘removeAt‘. Onde precisamos informar o índice do elemento que queremos remover.

No lugar de remover os elementos com qualquer desses métodos de remoção nós podemos usa o método ‘retainAll‘ no Groovy. Qualquer elemento que não for compatível com a condição que especificamos na closure será removido da coleção. Veja alguns exemplos de código usando o método ‘retainAll‘.

Escrito com Groovy na versão 2.4.4
Gostaria de agradecer a mais uma contribuição de  Hubert Klein Ikkink  pelo post.

Relato FSLDC 2013 + saiba como iniciar com Grails!!

Salve Groovy Coders,

No dia 20/07/2013 tive a oportunidade de palestrar no V Fórum de Software Livre de Duque de Caxias.

fsldc2013

O foco da minha apresentação era mostrar como é fácil aprender a usar o Grails. Para quem ainda não conhece, a apresentação utilizada está disponível online no Heroku e o seu código fonte está no meu github, lembrando que esta apresentação foi feita utilizando o Reveal.js dentro de uma aplicação Grails. Ou seja, até a apresentação foi feita com Grails.

Um dos itens mais interessantes deste dia foi que eu convidei uma das pessoas que estavam assistindo a palestra para criar um projeto do zero, isso no esquema Piloto e Copiloto (Lembrando que eu era apenas o copiloto). O Jogador do dia foi o Douglas Lemos. Que por sua vez criou um projeto do zero, ao vivo e sem IDE (Apenas o Terminal e o VIM) sem nunca ter nem ouvido falar de Grails antes da palestra. Às vezes eu acho que ele teve mais facilidade com o framework do que com o VIM.

Alguns dias depois, recebi alguns emails de pessoas que queria começar a estudar Grails, pedindo indicações de livros, apostilas e links. Logo tive a ideia de escrever esse post com a minha opinião sobre qual é o melhor caminho para começar neste novo mundo, pois intendo que esta dúvida pode ser a de outros Devs também.

Lembrando que essa é apenas uma opinião pessoal. Aqui tem o que eu considero importante por ter dado certo comigo.

 

grails

Como iniciar com Grails?

Primeiro e mandatório: Faça exemplos, escreva, erre, isso fará com que você evolua;

Livros:

Para aqueles que gostam de uma boa literatura, algo que te leve do básico ao avançado respeitando todo um fluxo natural da linguagem eu indico dois livros:

1 – Grails in Action: Para mim o official deste framework.

2 – Groovy in Action: Sobre a linguagem por de traz do Grails. Escrito pelo próprio criador da linguagem.

Sites:

1 – O próprio site da aplicação, já com uma série de tutoriais e exemplos.

2 – Grails.io, que é o blog oficial do criador do framework Graeme Rocher.

3 – Glaforge, que é o blog oficial do criador da linguagem por de traz do Grails, o Groovy.

4 – DevKiko, este é o site do Henrique Lobo, referência Grails no Brasil.

5 – SantoGrails o próprio. Que está descrito aqui não por ser melhor do que os demais e sim por ser escrito por um iniciante que sou eu. A idéia é descrever uma linha de raciocínio na linguagem dos iniciantes.

Tutoriais:

1 – O oficial.

2 – Instalando e configurando o Grails.

3 – Criando minha primeira aplicação Grails

4 – Boas Praticas com Grails. Este é muito importante, pois seguir as dicas descritas neste post evita uma série de erros que acabam com a vida de qualquer iniciante.

Comunidade:

Algo muito importante é ter acesso ou de preferência conhecer pessoas envolvidas com o framework e nada melhor do que as listas para conhecer esses caras.

1 – O próprio site do Grails tem uma lista das comunidade de Grails.

2 – No linkedin tem uma galera muito ativa.

3 – Grupo de Devs Grails no Brasil.

4 – GrailsRio, criada para juntar a galera de Grails do Rio de Janeiro.

Por fim, sei que talvez isso não tenha muito a ver, mas de preferência criem seus códigos usando o GIT. Caso ainda não conheçam façam este treinamento free online de apenas 15 minutos. Vale muito a pena.

Após ter sua conta no Github, porque não dar um fork no projeto do Grails?

Espero ter ajudado e caso alguém conheça mais itens que podem ajudar no estudo, comentem, pois, além de eu responder posso atualizar o post.

Até a próxima e bons estudos.

O Nirvana da Programação parte 2 – Montando meu ecossistema social:

PodCasts de Tecnologia: GrokPodCast e CastalioPodCast

Definição: Audios disponíveis para ouvir online ou baixar sobre tecnologia.

Detalhes: As vezes quando não temos tempo para uma boa leitura ou não conseguimos ler muito bem no ônibus, podemos optar por ouvir o mesmo conteudo.

Aqui eu estou listando dois podcasts que realmente deram a uma cara nova ao meu ecossistema tecnológico!

Temos o CastalioPodCast(http://www.castalio.info ) voltado para tecnologia em geral e o GrokPodCast(http://www.grokpodcast.com/) completamente voltado para desenvolvedores!! É impressionante a quantidade de coisas que eu já aprendi só ouvindo estes podcasts indo para o trabalho e se você esta na mesma situação que eu (transito louco do Rio de Janeiro) você leva bastante tempo dentro do ônibus! Rsrs!

Dojo de programação

Definição: Local para treinamento de desenvolvedores ninjas!

Detalhes: Em um dojo, aprendemos a de fato entender o problema antes de sair codando, praticamos trabalho em grupo, TDD e fazemos um network de causar inveja em algumas pessoas que ficam curtindo o mundo pela janela de casa!

CodeSchool

Denifição: site com cursos online completamente voltados para programação que seguem a seguinte filosofia, aprender fazendo! E ainda não vi curso melhor dentro dessa categoria!

Detalhes:  Apesar de termos poucos cursos disponíveis de graça, os pagos são baratos, rápidos e intuitivos. Eu tenho a impressão de que ele faz até quem não gosta de programação gostar.

Network

Definição: Todo bom programador não é bom programador sozinho, estamos em um ecossistema rico de seres vivos cheio de conhecimento para disseminar e não podemos nos trancar em uma bolha, precisamos sim nos envolver e muito!

Detalhes:

Dojos e programação – Estou citando novamente este cara porque os melhores desenvolvedores que conheço fazem parte de algum grupo de dojo.

Eventos de TI: Temos que nos localizar… e nada melhor que escolher o mundo que queremos fazer parte após conhecer a galera que esta nele! Ex: Podemos ir a um evento de Python e ver como rola o network ou podemos ir a um evento de Ruby e assim por diante. O importante é tentar ficar por dentro.

GeeksOnBeer: Este é um evento que ocorre todo mês e tem como objetivo reunir programadores com espirito empreendedor com os caras que podem financiar o seu projeto. Fala sério!!… Qual programador não quer tirar uma onde de Mark Zuckerberg!

Inglês

Definição: Não preciso nem falar o quanto ele é importante em nosso cinto de utilidades.

Detalhes: Muitos podem estar esperando ter condições para poder entrar em um curso de inglês, mas isso não e completamente necessário existe recursos web que para alguns ajudam até mais que cursos e não estou falando de cursos online, estou falando de aplicativos como se fossem redes sociais voltadas para quem quer aprender outra língua. Ex: LiveMocha (http://livemocha.com/). Aqui você além de aprender inglês interagindo faz amigos fora do Brasil.

Motivação e Internet disponível

Não adianta ter todos esses aparatos se não existir muita motivação e vontade de aprender!

Por fim, não tenha vergonha de entrar em contato. Grande parte dos ícones do mundo tecnológico que conhecemos tem uma disposição muito grande em contribuir com conhecimento.

Certamente existem outros itens de grande valor, mas o intuito foi tentar traças um norte.

Espero ter ajudado!

Referências:

Linkedin            : http://linkedin.com/

Git                 : http://git-scm.com/

Github              : http://github.com/

Heroku              : http://heroku.com/

Appengine           : http://developers.google.com/appengine/

CastalioPodCast     : http://www.castalio.info/

GrokPodCast         : http://grokpodcast.com/

Dojo de programação : http://dojorio.org/

CodeSchool          : http://codeschool.com/

Geeksonbeer         : http://geeksonbeer.com/

Livemocha           : http://livemocha.com/