Aprenda Ruby e crie um blog com apenas 2 comandos

em Artigos, Ruby.

Não é notícia do Sensacionalista!

 $ gem install jekyll
 $ jekyll new my-awesome-site 

 $ cd my-awesome-site
 $ jekyll s

Agora no navegador: http://localhost:4000


Dito isso, é com grande pesar que informo: esse post não vai lhe ensinar a criar um site com 2 comandos. Apesar do exemplo acima fazer isso, ele só foi usado para mostrar de qual forma eu comecei a estudar e programar em Ruby, ou seja, como que de dentro da “pythonlandia” me motivei, fui atrás e aprendi algo novo.

Criei um blog!

Motivações:

  1. Locaweb
  2. Coisa de nerd (mas eu juro que existe uma vida além dessa coisa linda chamada tecnologia)

Python, assim como qualquer outra linguagem não é uma “bala de prata”, sabendo disso, sempre tive em mente que precisaria aprender algo novo num futuro não tão distante; foi assim quando “evolui” do Bash Script <3 para o Python, por exemplo, e será assim o tempo todo (até que a morte nos separe).

Acompanhar eventos como o Encontro Locaweb e RubyConf, além da grande utilização de Ruby aqui na Locaweb, também me incentivaram a tentar descobrir o que o “rails” tem de tão interessante nesta linguagem.

A prática é sua aliada!

Quando decidi criar o blog, tinha em mente duas coisas:

  1. Preciso usar Ruby de alguma forma
  2. Precisa ser simples, bonito e me possibilitar a publicação no github pages (porque eu gosto da extensão github.io)

Dei uma pesquisada e então encontrei o Jekyll, fiz alguns testes e logo percebi que eu não ia escrever uma linha de Ruby, pois o Jekyll funciona basicamente, da seguinte forma:

Você cria seu site com o “`$ jekyll new my-awesome-site“`, que irá gerar uma determinada estrutura de arquivos/diretórios, e, o conteúdo a ser publicado deve ser escrito em uma das linguagens de marcação suportada por ele.

Diante desta ‘limitação’ notei que realmente os programadores existem para resolver problemas – que antes deles não existiam.

docs2md.rb

Por mais incrível que isso possa parecer, é raro eu parar na frente do computador para escrever textos como estes, normalmente acabo escrevendo no trajeto trabalho/casa, dentro do ônibus no Google Drive. Sendo assim, foi quase instantâneo pensar num conversor.

  • Escrevo no ônibus que, automaticamente já esta ‘syncando’ com meu PC
  • Via CLI eu informo qual o arquivo que eu quero converter
  • Uso um template para gerar o novo conteúdo para o site, com o documento convertido. E zaz

Simples né?

Baby Steps

  • Syntax
  • Leitura e Escrita de arquivos
  • Funções
  • Condicionais

Percebe o quanto que esta, de certa forma até simples ideia, me permitiu praticar?

E este é o grande lance, criar situações. Veja que mesmo sendo o básico de qualquer linguagem, e algumas vezes até bem parecidas, isso não se fixa do dia para a noite, ou apenas lendo um livro “.* em 5 minutos”.

Se você tem acompanhado as postagens que venho fazendo aqui no blog da Locaweb, já deve ter notado que eu sou do tipo que gosta de por a mão na massa.

Claro que, é impossível dispensar conteúdos “mais didáticos” ou documentações oficiais, mas, neste ciclo constante de aprendizagem é difícil, digamos assim, conter a ansiedade para o momento “hands on”, é neste momento de colocar em prática o conteúdo teórico, que fixo alguma prática ou conceito, busco ainda mais detalhes sobre algo, tento me preocupar e aplicar as boas práticas sob aquilo que está sendo feito e por aí vai. É muito daora!

Muito ainda precisa ser feito

O docs2md.rb mencionado anteriormente realmente foi feito, mas num primeiro momento digamos assim, eu não me preocupei com algumas coisas propositalmente, por exemplo:

  • Testes não foram escritos
  • Exceções não foram tratadas
  • Existem outras formas de fazer o que fiz (explorarei)
  • Usei uma gem de terceiros para a conversão final
  • Posso lançar uma gem deste projeto e aprender ainda mais sobre o eco-sistema ruby

Isso porque, ao menos para mim, é impossível aprender tudo de uma só vez.

Ou seja, com essas e outras pendências mapeadas e, conforme eu for evoluindo no Code Academy e conferir leituras auxiliares sobre Ruby em blogs como este ou este, irei aplicando cada uma das técnicas, patterns e o jeito Ruby de fazer as coisas – em seu devido momento.

Conclusão:

Adotar uma nova linguagem ou tecnologia pode não ser pra você uma opção, como foi para mim neste caso, então a intenção deste texto e te mostrar um meio, uma outra forma de estudar, além dos livros ou exercícios comuns do tipo “Hello, World”. Lembrando que não condeno estes métodos, o que escrevo aqui é apenas minha opinião e não deve ser encarada como verdade absoluta.

Como de costume, espero ter ajudado alguém, e, caso você se sinta a vontade compartilhe conosco, nos comentários, sua maneira de estudar, que tal?

E, falando em Ruby, nos dias 23 e 24 de Setembro, acontece na Fecomercio, em São Paulo, o RubyConf Brasil 2016! Serão 2 dias de evento, com mais de 80 palestrantes e 5 trilhas sobre diversos assuntos além de Ruby, para você que deseja aprender e atualizar seus conhecimentos sobre Ruby on Rails, Devops, JavaScript, Elixir, Clojure, Go, Rust, Crystal e outras linguagens de programação.

Não fique de fora do maior evento de Ruby da América Latina, inscreva-se aqui no RubyConf Brasil!