Skip to content

Instantly share code, notes, and snippets.

View lucasuyezu's full-sized avatar

Lucas Uyezu lucasuyezu

  • Tiohti:áke, unceded Kanien’kehá:ka Territory
  • X @coralton
View GitHub Profile

Keybase proof

I hereby claim:

  • I am lucasuyezu on github.
  • I am lucasuyezu (https://keybase.io/lucasuyezu) on keybase.
  • I have a public key whose fingerprint is AF5B DAE2 BFC9 0711 9FC9 2ACD 3A6E 9F51 2A65 A088

To claim this, I am signing this object:

@lucasuyezu
lucasuyezu / horizontal_scaling.md
Last active June 22, 2024 17:28
Escalabilidade Horizontal

Escalabilidade Horizontal

##O que é O jargão do momento é o Cloud. A nuvem. Pessoas diferentes, empresas diferentes, produtos diferentes possuem definições diferentes do que é o cloud, de onde começa, onde termina. Diferente do "Cloud", uma definição que todos parecem entender logo de cara é o conceito de escalabilidade. É um conceito bem simples de entender, e difícil de aplicar. Quanto mais escalabilidade, mais chances você tem de crescer e agüentar a carga que vem junto. Sem escalabilidade, você pode ser pego de calças curtas e não dar conta de todo mundo que quer acessar o seu conteúdo, ou consumir o seu produto ou serviço.

##Por quê? Todos nós fazemos software querendo que ele faça sucesso. Mas esse sucesso implica em uma multidão de pessoas acessando o seu site. E essa multidão de acessos pode ser pré-determinada (você aparece em algum programa de TV ou na home de um portal) ou de repente (você viraliza). Independente da forma, ter um site escalável é a diferença entre se estabelecer de vez ou quebr

4 Dicas para Tornar o seu Aplicativo Mais Escalável para o Ambiente de Nuvem

##O que é cloud?

O jargão do momento é o cloud, a nuvem. Pessoas, empresas e produtos diferentes possuem definições diferentes do que é cloud, onde ele começa ou onde a nuvem termina. Independentemente da solução de "Cloud", uma definição que todos parecem entender logo de cara é o conceito de escalabilidade. É um conceito bem simples de compreender, mas difícil de aplicar. Quanto mais escalabilidade, mais chances você tem de crescer e agüentar uma maior carga. Sem escalabilidade, você pode ser pego de calças curtas e não dar conta de todo mundo que quer acessar o seu conteúdo, ou consumir o seu produto ou serviço.

##Por quê utilizar a nuvem?

Todos nós fazemos software querendo que ele faça sucesso. Mas esse sucesso implica em uma multidão de pessoas acessando o seu site. E essa multidão de acessos pode ser pré-determinada (você aparece em algum programa de TV ou na home de um grande portal) ou, de repente, você viraliza. Indep

@lucasuyezu
lucasuyezu / arduino_keyboard_smoke_on_the_water.ino
Created August 18, 2014 04:49
Arduino Keyboard: Smoke on the Water
int D_FLAT_PIN = 2;
int F_FLAT_PIN = 3;
int G_FLAT_PIN = 4;
int G_SHARP_PIN = 5;
int BUZZER_PIN = 10;
int NOTE_D4 = 294;
int NOTE_F4 = 349;
int NOTE_G4 = 392;
int NOTE_GS4 = 415;
-rw------- 1 lucasuyezu staff 3 Sep 1 17:01 .CFUserTextEncoding
-rw-r--r--@ 1 lucasuyezu staff 21508 Sep 1 13:06 .DS_Store
drwx------ 8 lucasuyezu staff 272 Sep 1 20:21 .Trash
drwxr-xr-x 11 lucasuyezu staff 374 May 6 15:55 .atom
-rw------- 1 lucasuyezu staff 573 Jul 28 15:04 .bash_history
drwxr-xr-x 3 lucasuyezu staff 102 Jun 13 15:26 .berkshelf
drwxr-xr-x 2 lucasuyezu staff 68 Apr 4 15:26 .bin
drwxr-xr-x 4 lucasuyezu staff 136 Jul 28 15:03 .boot2docker
drwxr-xr-x 3 lucasuyezu staff 102 Apr 4 15:51 .bundle
-rw-r--r-- 1 lucasuyezu staff 422 Aug 4 19:05 .byebug_hist
@lucasuyezu
lucasuyezu / example.rb
Created December 15, 2014 15:58
example
# Bad
class BackupsController < ApplicationController
def index
end
def show
end
# All other REST methods
@lucasuyezu
lucasuyezu / example.rb
Created December 15, 2014 16:00
example
# Good
class V2::BackupsController < ApplicationController
# All REST methods, as shown before
end
class V2::RestoresController < ApplicationController
def index
# List restores (via GET)
end
# Setup
$conversions = 0
# Conversion
currency, amount = parse_tweet("0.5 in #USD")
result = convert('USD', 0.5)
reply("#{amount} in #{currency} is #{result}")
$conversions += 1
# Checking later
# Setup
$redis = Redis.connect
# Conversion
currency, amount = parse_tweet("0.5 in #USD")
result = convert('USD', 0.5)
reply("#{amount} in #{currency} is #{result}")
$redis.sadd("conversions", "#{amount} in #{currency} at #{Time.now}")
# Checking later
puts "Fetching data"
respose_body = HTTParty.get "https://api.bitcoinaverage.com/ticker/global/all"
# 1 second later
puts "Storing fetched data"
$redis.set(response_body["data"])
puts "Done!"