Skip to content

Instantly share code, notes, and snippets.

View roberto's full-sized avatar
🍊

Roberto Soares roberto

🍊
View GitHub Profile
var schema = joi.object().keys({
things: joi.array().items(
joi.object().keys({
id: joi.string(),
name: joi.string(),
version: joi.string()
})
)
});
package main
import (
"bytes"
"flag"
"fmt"
"github.com/elazarl/goproxy"
"github.com/robertkrimen/otto"
"io"
"io/ioutil"
@roberto
roberto / app.js
Created January 5, 2016 12:33
restify + mongoose
var restify = require('restify');
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/spike');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
console.log('yay');
});
@roberto
roberto / gist:8589698
Created January 24, 2014 00:25
parsing log file (method, path, protocol and status code)
import re
import sys
#example 10.223.157.186 - - [15/Jul/2009:15:50:35 -0700] "GET /assets/js/lowpro.js HTTP/1.1" 200 10469
pattern = re.compile(r'"(?P<method>.+)\s+(?P<path>.+)\s+(?P<protocol>.+)"\s+(?P<status>\S+)')
for line in sys.stdin:
matches = pattern.match(line)
result = matches.groupdict()
print "{0}\t{1}".format(result["path"], result["status"])
Ruby 1.9.3-p448
http://rubyinstaller.org/downloads/
durante a instalação marcar a opção para adicionar os executáveis Ruby ao PATH: http://simplesideias.com.br/media/ruby-win/ruby-installer-configuration.png
Devkit
http://rubyinstaller.org/downloads/
DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe
Extrair o conteúdo em alguma pasta, de preferência chamada 'devkit' e utilizando o 'Start Command Prompt with Ruby' executar:
ruby dk.rb init
ruby dk.rb install
gem install gosu
class Asteroid
attr_reader :x, :y
def initialize(game)
@sprite = Gosu::Image.load_tiles(game, "images/asteroids.png", 320/5, 384/6, true)
@x, @y = 100, 100
end
def update
end
class Plane
def initialize(game)
@x = 100
@y = 100
@sprite = Gosu::Image.load_tiles(game, "images/planes.png", 66, 67, true)[0..2]
end
def draw
@sprite[Gosu::milliseconds / 100 % @sprite.size].draw_rot(@x, @y, 1, 0)
end
@roberto
roberto / pizza_time.rb
Last active December 23, 2015 04:39
pizza time
# Para cada sabor de pizza disponível, cada um deve indicar uma nota para ele (nota 1, se a pessoa detesta o sabor e nota 5 se a pessoa adora o sabor). Depois de processar esses dados, cada pessoa vai saber quais as pessoas que tem o gosto mais parecido que o seu (e que provavelmente irá dividir uma pizza com você).
# Por exemplo, para os dados a seguir, o Luca gostaria de saber quem ele deve convidar para dividir uma pizza com ele:
Renato = { Marguerita: 4, QuatroQueijos: 5, Escarola: 4, Portuguesa: 5, FrangoCatupiry: 4, Napolitana: 3 }
Marcelo = { Marguerita: 2, Quatroqueijos: 2, Escarola: 1, Portuguesa: 3, FrangoCatupiry: 5, Napolitana: 2 }
Lenon = { Marguerita: 4, Quatroqueijos: 5, Escarola: 2, Portuguesa: 1, FrangoCatupiry: 1, Napolitana: 3 }
Renata = { Marguerita: 4, Quatroqueijos: 5, Escarola: 1, Portuguesa: 1, FrangoCatupiry: 3, Napolitana: 4 }
Washington = { Marguerita: 1, Quatroqueijos: 1, Escarola: 2, Portuguesa: 3, FrangoCatupiry: 4, Napolitana: 3 }
Tino = { Marguerita: 1, Quatroqueijos: 5, Escar
@roberto
roberto / gist:6580341
Created September 16, 2013 12:56
fizzbuzz
numero = gets
fizzbuzz(10)
# 1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz
# imprimir todos os números até o número
# se for divisível por 3, imprime fizz
# se for divisível por 5, imprime buzz
# caso não, imprime o próprio número