Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Do ASP.NET para o Rails - as melhores partes

Do ASP.NET para o Rails - as melhores partes

https://www.eventials.com/locaweb/do-asp-net-para-o-rails-as-melhores-partes-com-philippe-hardardt/

Conhecer uma stack nova é um desafio, e deixar uma plataforma que você já domina é certamente desconfortável. Este tipo de mudança porém oferece muitas oportunidades e aprendizados.

Nesta palestra vou contar minha história onde deixei o .NET depois de 7 anos de experiência para migrar para o Ruby. Quero compartilhar como fiz para aprender Ruby já sabendo uma linguagem, o que mais gostei no Ruby e no Rails e como isso me incentivou a aprender coisas que já tinha ouvido falar, porém nunca havia dado atenção.

Você vai saber as partes do Ruby on Rails que me cativaram, o que ainda gosto no .Net, e o que podemos aprender olhando para outras comunidades.

Philippe Hardardt

September 23, 2016
Tweet

More Decks by Philippe Hardardt

Other Decks in Programming

Transcript

  1. E vou contar pra vocês => O que eu mais

    gostei no Ruby => O que eu mais gostei no Rails => Partes boas do .Net => Como encarar mudanças => Referências para estudo =D
  2. -Matz, Criador do Ruby “Eu espero ver o Ruby ajudando

    cada programador no mundo a ser produtivo, a curtir programar, e a ser feliz. Esse é o objetivo principal do Ruby.”
  3. 3.times do `say "penny"` 3.times { knock_the_door } end def

    knock_the_door `afplay /System/Library/Sounds/Pop.aiff` end Quer rodar um bloco 3x?
  4. 3.times do `say "penny"` 3.times { knock_the_door } end def

    knock_the_door `afplay /System/Library/Sounds/Pop.aiff` end Quer rodar um bloco 3x?
  5. No C# seria algo mais burocrático for(int i = 0;

    i < 3; i++) { // Do C# stuff }
  6. # De boa, uma nova string é gerada: "Phil ".strip

    # Cuidado, modifica a string original: "Phil ".strip!
  7. a_nil = nil # Olá objeto, o senhor por acaso

    é nulo? a_nil.nil? # Sim, estimado programador! Eu sou nulo! => true
  8. # Meu amigo array, tem algo dentro de ti? [].any?

    # => false # Manda o primeiro que tiver! [1, 2, 3, 4].first # => 1 # Agora manda o último! [1, 2, 3, 4].last # => 4
  9. O uso de ; no fim da linha vem do

    Algol, dos anos 50 $
  10. -Avdi Grimm "O código conta uma história sobre um problema

    que precisava de solução, e o caminho que o desenvolvedor escolheu para completar essa tarefa"
  11. Quando quero algo no banco de dados, consigo usar algo

    simples como: a_task_list = TaskList.create( name: 'A Task List', public: true, user: current_user)
  12. Scopes class Task < ActiveRecord::Base belongs_to :user scope :completed, ->

    { where(complete: true) } end # buscando as tarefas completadas do usuário current_user.tasks.completed
  13. O Devise cuida de tudo Confirmação de email, recuperação de

    senha, bloqueio de contas, expiração de sessão, …
  14. As facilidades que o Ruby e o Rails oferecem escondem

    mecanismos que você eventualmente vai precisar entender
  15. O Ruby interpreta zero à esquetda como número octal: roman_numerals

    = { C: 100, L: 050, X: 010 } => { :C=>100, :L=>40, :X=>8 }
  16. # Carrega todas as 116 tarefas do banco current_user.tasks.length #

    => 116 # Executa um "Count" no banco current_user.tasks.count # => 116 # Usa a informação em memória se disponível, # senão executa um "Count" no banco ✨ current_user.tasks.size # => 116
  17. <p>Seja bem vindo, @name </p> @if (@notifications.Any()) { <p> Você

    possui @notifications.Count notificações! </p> }
  18. var query = from customer in customers join order in

    orders on customer.ID equals order.ID orderby customer.Name select new { customer.Name, order.Product };
  19. Jace, o Kão “Cara, ser ruinzão é o primeiro passo

    para se tornar bom em alguma coisa”
  20. #6 - Analise tradeoffs Entender prós e contras faz parte

    do dia a dia de qualquer desenvolvedor