43º encontro do Elug-SP + Guru-SP na IBM - dia 29/4
Proponha sua palestra com algum desses assuntos:
- Elixir
- Ruby
- Desenvolvimento de software em geral - ferramentas e práticas
- Experiências de trabalho
- Projetos pessoais / bibliotecas - Open Source
Coloque na descrição o tempo necessário (10 a 30 minutos) e o nível dua sua palestra (iniciante, intermediário ou avançado).
Obrigado e até lá!
Vamos entrar em contato para confirmar todas as palestras na semana anterior ao evento.
O evento acontecerá no sábado dia 29/4 na IBM.
Propostas
[30 min] Turbolinks + PWA = Eu não posso acreditar que não é nativo!
Qual das opções você optaria ao viajar?
A) Gastar R$ 10.000 para alugar um apê e passar um final de semana numa praia.
B) Gastar R$ 1.000 para alugar outro apê do mesmo padrão da opção A e na mesma região.
Acredito que a maioria optaria pela opção B, ou seja, obter mais com menos.
E se fosse possível atingir esse tipo de resultado ao desenvolver software, no caso, fazer muito mais com menos?
Exemplo: Desenvolver um App multiplataforma (iOS, Android, Web desktop e mobile) em menor tempo e de qualidade (código/produto).
Sim é possível e existem diferentes tecnologias que visam esse tipo de resultado, sendo que uma dentre elas é o Turbolinks 5.
E esse será o foco da palestra, como usar o Turbolinks para atingir esse tipo de resultado.
PS: Turbolinks 5 independe da tecnologia do backend. Ex: https://changelog.com/posts/why-we-chose-turbolinks
Adotando novas tecnologias: como não transformar o sonho em pesadelo
Se você já quis usar alguma tecnologia nova em seus projetos
provavelmente já fez pelo menos uma dessas perguntas: O que eu preciso
avaliar para saber se realmente vale a pena? Quais os riscos? Será que
no futuro essa tecnologia no meu stack será uma benção ou uma praga?
Nessa palestra vou discutir os principais aspectos a serem
considerando quando estamos decidindo por usar uma tecnologia,
utilizando exemplos do mundo real baseados nas minhas experiências de trabalho recente. Vou apresentar sobre decisões felizes e outras não tão
felizes e compartilhar um pouco do que aprendi nesse tempo, além de
pontuar como tais escolhas impactaram diretamente no negócio, na
equipe e na arquitetura de sistemas, e além disso discutir as
responsabilidades do desenvolver nesse âmbito.
Aplicando o Método Científico ao Desenvolvimento de Software
Muitos profissionais no desenvolvimento de software possuem formação em Ciência da Computação. No entanto, dificilmente vemos uma conexão entre a ciência e o desenvolvimento de software.
Nessa palestra vou explicar o que é método científico, para quê ele serve e como ele pode ser usado como uma ferramenta no desenvolvimento de software.
Boas práticas com api de coleções em Ruby & Elixir
Com o aumento da popularidade das linguagens funcionais, cada vez mais vemos o
uso de interfaces que aceitam "first-class functions" (também chamadas de
"lambdas"). Até mesmo Java já possui uma Api de coleções moderna a partir do
Java8.
Elixir e Ruby possuem uma biblioteca de coleções muito rica. Apesar disso, é
muito comum ver desenvolvedores ignorando varios métodos/funções úteis,
"re-implementando" os mesmos diversas vezes, quase sempre de forma menos legível
e eficiente.
Vamos também explorar como ambas as linguagens implementam a "magica" por baixo
dos panos: o módulo Enumerable no Ruby e o protocolo Enumerable no Elixir. Ao
final dessa talk, você irá perceber como as APIs são semelhantes e como é
possível transportar o conhecimento de uma linguagem para outra!
Vou apresentar diversos exemplos reais de "más práticas" e vou mostrar
alternativas "melhores" para eles, tudo em ambas as linguagens. Faremos tudo em
livecoding ao vivo!
Desafios na re-escrita de uma plataforma de +15 anos em Ruby on Rails na Bionexo.
A Bionexo é o maior marketplace de suprimentos hospitalares do país. Por ano, hospitais transacionam mais R$1 bilhão em compras de medicamentos, materiais médicos, suprimentos alimentares, entre outros. Nessa palestra, irei abordar os desafios na re-escrita de sua principal solução digital, desenvolvida em 2000. Mais especificamente, falarei sobre o processo desenvolvido para migrar seus usuários (fornecedores) para a nova plataforma (desenvolvida em Ruby on Rails), bem como a arquitetura dos sistemas que permitiram tal migração.
A solução envolve macro-serviços, Amazon Web Services e APIs REST.
Elixir com um Rubista
Interessado em novas tecnologias e como elas funcionam? Essa talk é pra você!
Começandopelo básico e mergulhar na linguage, conferindo o seu ecosistema que esta emergindo ao redor do desenvolvimento web.
Vamos conferir as principais feature, o que é programação funcional e como Elixir tira vantagem dessa arquitetura.
Essa palestra também vai apontar as similaridades entre Elixir e Ruby, tentndo ajudar a todos nós a entender como a linguagem funciona e seru benefícios de uma maneira mais simples e divertida.
Se você é um desenvolvedor interessado em como as coisas funcionam com certeza não vai querer perder.
Meet Vue.js
O Javascript devorou o mundo. Na dúvida de qual tecnologia aprender, muitos devs mais chegados no back-end acabam perdidos e frustrados com a complexidade do mundo JS, preferindo ficar com bom e velho jQuery.
Nesse contexto o Vue.js pode se mostrar uma escolha sólida (50 mil estrelas no github :scream:) e fácil de aprender (sério, é tão fácil que chega a ser ridículo :joy:).
A idéia da palestra é demonstrar de forma prática sobre como e quando adotar o Vue.js como solução para componentizar interfaces web.
Alguns pontos que pretendo tocar:
- Como fazer um setup do Rails 5.1 + Webpack + Vue.js (tudo configurado e funcionando) com uma linha de comando no terminal :sunglasses:
- Como fazer um setup de Vue.js + Webpack separado do backend com… acertou: uma linha de comando no terminal :sunglasses:
- Explicar (bem) brevemente para que serve o Webpack e ferramentas semelhantes do mundo JS que parecem um bicho de sete cabeças para o pessoal do back-end.
- Dar um gostinho do que pode ser feito (com facilidade) usando Vue.js
- Mostrar alguns componentes com nível de complexidade semelhante aos do mundo real
- Quando é uma boa idéia usar o Vue, e quando é overkill
Performance com Ruby
Todos nos já tivemos que lidar com performance em algum momento de nossa vida como
desenvolvedores, o assunto que trago a essa talk e como realmente ter um ganho bem
efetivo relacionado a performance com ruby e os passos a serem seguidos para alcançar esses resultados
Nivel : Intermediário
Com o decorrer desta palestra serão discutidos como :
- O que torna o Ruby lento - Alocção de memória
- Refatoramento de código
- Alocamento de memória em Ruby
- Algoritmo do Carbage Collector
- Introdução ao Profile
- Testes com Benchmark - Ferramentas de Analise - Valgrind Massif, Kcachegrind
Understanding Elixir's (re)compilation
Elixir's code-generation capabilities require a sophisticated compiler with
complex dependency tracking. Given such complexity, it is often unclear why
sometimes changing a single line in a single file triggers the recompilation of
100 other. This talk aims to clarify that.
Most of the content presented in this talk was "discovered" while struggling
with recompilations of 500+ files in a 2000+ .beam file phoenix app. We learned
things the hard way so that you don't have to.
In this talk we are going to take a deep dive into what happens when you type
"mix compile", why & when modules need to be recompiled and how compilation
behavior interacts with umbrella apps. You will learn how to "debug"
recompilation problems, which tools to use and how to avoid common pitfalls.