Trilha Ruby
Produtividade, boas práticas e comunidade

Conheça mais sobre o ecossistema Ruby e entenda os motivos que empresas como Github, Twitter e Basecamp usam ela. Você irá aprender mais sobre alguns internals da linguagem e do Rails, seu framework web mais popular, além de conhecer algumas bibliotecas para facilitar suas tarefas e cases de sucesso nacionais. No time de palestrantes, contaremos alguns Rails committers e membro da comunidade Ruby de Santa Catarina (GURU_SC).

Programação / Palestras

08:30 às 09:00

Todas as pessoas inscritas, palestrantes, coordenadores e de imprensa, devem retirar seus crachás e kit do congressista nos balcões de credenciamento localizados na entrada do evento, para obterem acesso às salas e Auditório Principal.

O café da manhã será servido na área de coffee break.
09:00 às 10:00

Após o credenciamento e um breve café da manhã, convidamos os participantes a comparecer ao local para receberem as boas vindas por parte dos realizadores e patrocinadores.

Neste keynote de abertura, todos serão orientados sobre o funcionamento do evento, destaques e outras novidades.
10:10 às 11:00
RSpec Best Friends

Veremos diversas boas práticas ao escrever nossas specs. Testes que acessam rede não são nada bom veremos como resolver este problema. Por que factory_girl é muito mais legal que fixtures. Viajaremos durante o tempo para testar data. 100% de cobertura de testes é necessário? Veremos como evitar repetições durante os nossos testes. Entre outras dicas para ajudar durante o nosso processo de desenvolvimento. - Boas práticas ao escrever testes utilizando o RSpec - Como escrever testes que acessam rede utilizando o VCR e o WebMock - Apresentando o factory_girl, comparando com as fixtures. E diversas dicas do factory_girl - Testes que dependem de data utilizando o timecop - Coverage de testes com o Simplecov e se devemos ou não atingir os 100% de cobertura de testes - Evitando repetições durante os testes utilizando de matchers
11:10 às 12:00
Garbage Collection no Ruby

Quando estamos programando em Ruby, não temos que nos preocupar com o destino dos objetos que criamos após não precisarmos mais deles. Devemos isso ao processo de Garbage Collection, responsável pela desalocação automática desses objetos. Nesta palestra irei abordar os principais algoritmos de Garbage Collection e demonstrar como foi a evolução deste componente a cada nova versão do Ruby.
12:00 às 13:00

Todos os participantes receberão um sanduíche com bebida no horário de almoço. Ele deverá ser retirado mediante apresentação de voucher que se encontra dentro dos kits dos congressistas entregues no credenciamento.

Uma excelente oportunidade de todas as pessoas no evento interagirem e trocarem ideias, colaboradores, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.
13:10 às 14:00
Cozinhando com o Chef: Orquestramento de servidores e Dev machines

Como utilizar receitas para manter configuração de servidores, sob controle de versão, replicáveis, e conseguir escalar para milhões de máquinas em (quase) poucos segundos. Bonus: Como manter as máquinas de desenvolvimento com as aplicações e bibliotecas essenciais sempre instaladas e atualizadas. A palestra vai ser uma repaginada da versão apresentada no RS On Rails 2013. A parte inicial da palestra faz um levantamento histórico de como era realizado a tarefa de se administrar um conjunto grande de máquinas antes da automação, o caminho que se percorreu até chegar na situação atual e por que é importante utilizar as novas alternativas. A segunda parte da palestra entra com os conceitos fundamentais da solução, alguns deles são universais, outros específicos. Vai ser apresentado instruções de instalação, trechos de código para exemplificar os principais componentes da solução, e espera-se que até o final da palestra, as pessoas consigam dar os primeiros passos sem muita dificuldade. A ultima parte passa alguns conselhos e um pouco de experiência prática sobre dificuldades e soluções. Apesar do tema ser mais complexo, é necessário pouco conhecimento da linguagem, e algum conhecimento de ambientes Linux.
Automatizando tarefas com o Watir-Webdriver

Pare de escrever CSS selectors, Xpath e perder os cabelos na hora de fazer screen scraping! O watir-webdriver trás uma DSL única, simples e intuitiva para auxiliar você a se tornar um mestre do screen scraping. Quem já teve que fazer screen scraping sabe: o processo é extremamente cansativo e passa por escrever muito xpath, css e outras gambiarras. Não bastasse isso, as páginas com frames ou que utilizam muito javascript dão muito trabalho para o clássico Mechanize. O Watir-webdriver atua junto com o Selenium com uma DSL extremamente simples e intuitiva, sem precisar escrever nenhum CSS selector e usando o navegador de sua preferência, seja IE, Chrome, Firefox ou Safari. Aqui na empresa utilizamos o watir para automatizar uma das tarefas que consumia mais tempo da equipe financeira: consolidar resultados de pagamentos em cartão de crédito com a conta do banco. Em apenas um dia construimos um protótipo funcional que salvou horas de serviço de toda a equipe financeira. A palestra consiste em: * Apresentação do problema. * Solução usando o Watir-Webdriver, step-by-step, mostrando o código.
Rubygems e Bower: cada um no seu quadrado!

Por muito tempo a comunidade ruby utilizou as Rubygems para gerenciar tanto os pacotes ruby quanto os pacotes de front-end. Aos poucos este cenário está mudando. É cada vez mais comum vermos os pacotes de front-end serem gerenciado via Bower, deixando as rubygems apenas para o código ruby. Eu gostaria de abordar como instalar e configurar o Bower em um projeto Rails. Mostrarei que é possível remover a jquery do Gemfile e transferí-lo para o Bower. Apresentarei também como é possível personalizar, via Sass, algumas assets, como por exemplo, o Twitter Bootstrap.
14:10 às 15:00
Ruby e Mobile Apps: KO!

Sua app para dispositivos móveis está crescendo mais e mais com o passar dos dias? Precisa de recursos server-side pois só client side não está dando conta? Qual o jeito mais rápido de elaborar um backend que dê suporte à persistência de dados e push notifications? Essa talk mostrará como Ruby pode ser uma boa solução neste cenário, com gems de alta produtividade como Helios e Orbiter. Tópicos - Mobile apps - preciso de backend? - É uma boa idéia utilizar Ruby para criar minhas aplicações de backend? - Push notifications - lidando com mensagens assíncronas - Helios tools - um jeito bacana de trabalhar com apps para iOS
15:00 às 15:30

Durante o intervalo de Coffee-break, as mesas de alimentação terão disponíveis café, sucos, frutas e biscoitos. Um delicioso intervalo para relaxar, conhecer novas pessoas e estreitar contatos.

Neste tempo, também surge a oportunidade de todas as pessoas no evento interagirem entre sí, participantes das trilhas, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.
15:40 às 16:30
Lessons Learned: evoluindo um projeto Rails nas nuvens

Vamos contar as lições aprendidas na evolução do RD Station de um MVP com poucos clientes para um sistema com mais de 500 clientes. Alguns tópicos abordados: - otimização de performance na hora certa - terceirização versus DIY - otimização de buscas - estratégias de cache e bonecas russas - mongo para grandes volumes de dados - enviando meio milhão de emails por dia - acompanhamento de engagement e decisão de novas features
16:40 às 17:30
Os truques que o Rails não te contou (STADIUM)

O Rails está por aí há cerca de 10 anos, e cada vez mais aplicações são criadas diariamente. Após ter trabalhado em vários projetos diferentes, alguns deles iniciados pela equipe que trabalha comigo, e muitos outros legados, começamos a notar alguns padrões onde as pessoas tendem a escrever muito código similar ao que o framework já possui. Não importa muito se é um time pequeno ou grande, ou se a maioria dos desenvolvedores são iniciantes ou experientes, é bastante comum ver código por aí que faz algo que o Rails tem ?de graça?, criando duplicação desnecessária e introduzindo bugs. Até mesmo em nossos próprios Pull Requests na Plataformatec é comum ver alguém utilizando uma funcionalidade que desconhecemos, e então passamos a pensar como isso poderia ter sido útil em alguma outra situação. Esta palestra tem como objetivo mostrar algumas dessas funcionalidades não tão conhecidas do Rails, passando por truques com consultas do Active Record até helpers não muito bem documentados no framework (mas muito úteis), que podem nos ajudar a escrever código mais conciso e entregar valor mais rápido. Tanto profissionais iniciantes quanto mais experientes poderão participar desta palestra e aprender algum novo truque do Rails.
17:40 às 18:30
Deploy de aplicações Ruby com Mina

Por muito na comunidade Ruby o padrão para deploy de aplicações foi e ainda é Capistrano. Mina é uma nova alternativa a esse padrão e tem se mostrado muito mais simples e rápida do que seu concorrente. Na palestra vou mostrar como configurar o Mina para fazer o deploy da sua aplicação, seja ela Ruby ou Rails. A palestra vai ser dividida nos seguintes tópicos: instalando o mina, configurando o mina no seu projeto, realizando o setup inicial no seu servidor, realizando o deploy da sua aplicação, configurando mais de um ambiente de deploy, solução de problemas e dicas.
Prawn: Gerando PDF do jeito Ruby

Todo desenvolvedor já se deparou alguma vez com a necessidade de geração de um arquivo PDF, seja para um relatório, boleto, certificado ou qualquer outra implementação. Neste talk veremos como é simples gerar arquivos PDF pelo Ruby utilizando a gem Prawn. Vamos utilizar como exemplo um certificado para o TDC 2014 e gera-lo todo pelo Prawn, com fontes personalizadas, logotipo e muito mais.
Atom: solução para a guerra dos editores?

Github recentemente lançou seu editor. O que isso significa para os outros editores? Golpe de misericórdia no Textmate ? Ameaça ao Sublime? Usuários de vim vão ligar? Bring out your guns e venham conhecer o novo editor.
18:40 às 19:00

No horário de encerramento, todas as trilhas serão direcionadas de suas salas para o Auditório Principal, mesmo local da abertura.

Após a apresentação de resultados do dia muitos sorteios fecharão o dia.

Data e Local

Sábado, 17 de Maio de 2014

8:30 às 18:30

Oceania Convention Center

Rua do Marisco, 550 - 88058-090
Praia dos Ingleses | Florianópolis - SC

Informações sobre Data e Local



Público Alvo

Programadores de Ruby e pessoas interessadas em conhecer a linguagem e seu ecossistema.