Contribuindo para o Elixir
Background
● Rubero com orgulho!
● Apaixonado por open source
● Profissionalmente
○ O que já fiz?
■ Manutenção de app legado
■ Apps pequenas do zero (sob medida)
■ Apps grandes do zero (produtos)
○ O que eu estou fazendo?
■ App preparada pra crescer do zero
Why open sourcing?
● Porque sim! Porque é o certo a se fazer
● É a única maneira de uma comunidade crescer
● Você pode ser reconhecido pelo seu trabalho (internet points!)
● E por quê VOCÊ deveria contribuir para o Elixir?
○ Feito por um brasileiro
○ A comunidade está no começo e precisa de ajuda
○ Menos gente = mais fácil de ser reconhecido pelo seu trabalho (mais internet points!)
Primeiros passos 🐣
● 80%
○ Abrir tópico em foruns
○ Participar de discussões
○ Revisar PRs
○ Melhorar a documentação
○ Corrigir pequenas issues
○ Espalhar a palavra do Elixir pelo mundo
○ Vir na meetup de Elixir 💜
● 20%
○ Corrigir bugs cabreiros
○ Melhorias ou features novas
○ Criar um projeto novo
Singing in the rain ☔
● Umbrella projects = componentização sem complicação
● Quantas apps você quiser! Quanto menor melhor!
● Código desacoplado!
○ Classificação de domínios diferentes
○ Organização das dependências entre eles
○ Todas as vantagens de usar múltiplas apps OTP
○ Micro-services! But gradually!
● Meio caminho andado para abrir o código
Triplex 👮
● Não é no Guarujá
● Multi-tenancy através de schemas no postgres
● Baseado na gem apartment
● Como aconteceu?
○ Procurei uma lib pronta e não achei
○ Fiz o código dentro do mesmo projeto (monolith first FTW)
○ Extraí para uma app dentro da mesma umbrella (refactor FTPW)
○ Precisei do mesmo em outro projeto: executei a task `mix hex.publish` no triplex e pronto!
○ Depois:
■ Extraí o projeto para um repo só dele no github (open source FTGW)
■ Fiz muitas melhorias que necessitei para projeto novo
■ 1.0.0! 🎉🎉🎉🎉🎉🎉
Estamos contratando!
Dúvidas e comentários?
Curitiba | São Paulo | San Francisco, US
ateliware.com.br
+55 (41) 3010-2275

Contribuindo para a comunidade Elixir

  • 2.
  • 3.
    Background ● Rubero comorgulho! ● Apaixonado por open source ● Profissionalmente ○ O que já fiz? ■ Manutenção de app legado ■ Apps pequenas do zero (sob medida) ■ Apps grandes do zero (produtos) ○ O que eu estou fazendo? ■ App preparada pra crescer do zero
  • 4.
    Why open sourcing? ●Porque sim! Porque é o certo a se fazer ● É a única maneira de uma comunidade crescer ● Você pode ser reconhecido pelo seu trabalho (internet points!) ● E por quê VOCÊ deveria contribuir para o Elixir? ○ Feito por um brasileiro ○ A comunidade está no começo e precisa de ajuda ○ Menos gente = mais fácil de ser reconhecido pelo seu trabalho (mais internet points!)
  • 5.
    Primeiros passos 🐣 ●80% ○ Abrir tópico em foruns ○ Participar de discussões ○ Revisar PRs ○ Melhorar a documentação ○ Corrigir pequenas issues ○ Espalhar a palavra do Elixir pelo mundo ○ Vir na meetup de Elixir 💜 ● 20% ○ Corrigir bugs cabreiros ○ Melhorias ou features novas ○ Criar um projeto novo
  • 6.
    Singing in therain ☔ ● Umbrella projects = componentização sem complicação ● Quantas apps você quiser! Quanto menor melhor! ● Código desacoplado! ○ Classificação de domínios diferentes ○ Organização das dependências entre eles ○ Todas as vantagens de usar múltiplas apps OTP ○ Micro-services! But gradually! ● Meio caminho andado para abrir o código
  • 7.
    Triplex 👮 ● Nãoé no Guarujá ● Multi-tenancy através de schemas no postgres ● Baseado na gem apartment ● Como aconteceu? ○ Procurei uma lib pronta e não achei ○ Fiz o código dentro do mesmo projeto (monolith first FTW) ○ Extraí para uma app dentro da mesma umbrella (refactor FTPW) ○ Precisei do mesmo em outro projeto: executei a task `mix hex.publish` no triplex e pronto! ○ Depois: ■ Extraí o projeto para um repo só dele no github (open source FTGW) ■ Fiz muitas melhorias que necessitei para projeto novo ■ 1.0.0! 🎉🎉🎉🎉🎉🎉
  • 8.
  • 9.
  • 10.
    Curitiba | SãoPaulo | San Francisco, US ateliware.com.br +55 (41) 3010-2275

Notas do Editor

  • #3 Depois: Todo mundo já pelo menos brincou com elixir? Já sabem sintaxe e etc? Não vai precisar, nem vai ter código, mas só pra saber
  • #4 Rubero com orgulho! Mais alguém rubero? Ou ex? Profissionalmente Apps de 2 semanas, 1 mês e até 2 anos em um produto (Pipefy) Depois Vamos entrar no assunto mesmo
  • #5 Comunidade está no começo No começo mas ativa! Já perceberam a quantidade de issues no github? Mostrar Depois Convencidos? Alguém acha que não vale a pena? Alguém já contribuiu? O que achou? Então vamos ver como contribuir
  • #6 Antes Pessoas confundem o que é contribuir no open source Abrir tópico em forum Mostrar o forum Corrigir pequenas issues Alguém que achava que não contribuiu já fez alguma dessas coisas? Então já contribuiu! Espalhar a palavra Esse é um dos que mais faz a diferença Vir na meetup do elixir É brincadeira mas é sério, contribuir localmente é também importante Criar um novo projeto IMPORTANTE: criar um projeto novo DEVE ser exceção, não caiam na maluquice do NPM...
  • #7 Antes Alguém conhece CBRA? Umbrella Alguém não conhecia umbrella projects? Micro-services Cuidado com o 8 ou 80: ainda acredito em monoliths, só que apenas para um pré-MVP Meio caminho Abrir o código ou até mesmo criar um produto diferente que vendo só uma parte do seu sistema!
  • #8 Multi tenancy Multi-tenancy contrasta com multi-instance Apartment Alguém conhece a gem apartment? Extraí Refactor = componentizando Melhorias Melhorias que ganhei praticamente de graça no projeto de onde extraí a lib
  • #9 Não queremos tirar você de onde você está, se você estiver feliz Vocês viram um pouco do que acontece por aqui Pra trabalhar com Elixir