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

Estou começando agora. O que usar no meu Stack?

Estou começando agora. O que usar no meu Stack?

Apresentação para o Startup Pirates sobre sugestões de tecnologias para startups.

Avatar for Bruno Cavalcante

Bruno Cavalcante

November 10, 2014
Tweet

More Decks by Bruno Cavalcante

Other Decks in Technology

Transcript

  1. Bruno Cavalcante Co-fundador & frontend @ Alvanista Rodolfo Sikora Co-fundador

    & backend @ Alvanista Sugestões baseadas na experiência de:
  2. Esta apresentação foca em sugestões de tecnologias para Aplicações web

    com camadas de serviço. É importante lembrar que as sugestões aqui fornecidas não são absolutas, e soluções mais eficientes podem existir para sua equipe ou contexto.
  3. Dev

  4. Git • Commits que dizem algo. • Cuidado com o

    que vai para o repositório! • Utilize Branches. • Faça bom uso de Hooks.
  5. Ruby: Exemplo def sync_redis_following return true unless $redis ids =

    UserFollow.where(follower_id: id).select(:leader_id).map(&:leader_id) if ids.size > 0 $redis.pipelined do $redis.del "#{id}:following" ids.each { |i| $redis.sadd "#{id}:following", i } $redis.expire "#{id}:following", 3600 end end end
  6. Porquê Rails? • Rails <3 Rest. • Ótima comunidade. •

    Código em Rails é expressivo. • Bibliotecas (gems) excelentes.
  7. Rails: Exemplo class Admin::UsersController < ApplicationController respond_to :html before_filter :load_user,

    except: [:index, :new, :create] def index @users = User.order('name ASC').page params[:page] end def new @user = User.new role: User::ROLE_EMPLOYEE end def create @user = User.new resource_params @user.password = @user.email @user.save respond_with @user, location: admin_users_path end
  8. Rails • Siga os padrões do framework. • Faça bom

    uso das gems. • Mantenha seus assets organizados. • Coloque a lógica nos models. • Escreva testes. • Nunca edite uma migration.
  9. Javascript • Utilize (e entenda) bem os eventos. • Fique

    atento à memória. • Faça Graceful degrade • Utilize o Rails quando puder
  10. CSS

  11. Sass: Exemplo $blue: #3bbfce; /* Variáveis! */ $margin: 16px; .content-navigation

    { border-color: $blue; color: darken($blue, 9%); } .border { padding: $margin / 2; /* Matemática! */ border-color: $blue; } .content-navigation { border-color: #3bbfce; color: #2b9eab; } .border { padding: 8px; margin: 8px; border-color: #3bbfce; } Sass CSS
  12. CSS • Não coloque todo o seu código em um

    só arquivo. • Organize e nomeie bem suas mixins e variáveis. • Não utilize classes à toa • Mobile-first
  13. Storage/Mailing • Local Storage - lean model • S3, Google

    Storage • Sendmail, Sendgrid, SES + Sendy
  14. Tests & Deploy • Vencendo o medo com testes •

    Atualização sem dores • Time is money