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.

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