Archive

Archive for the ‘Ruby’ Category

Metaprogramação em Ruby – Magia negra não existe

December 7th, 2009 No comments

Ontem, dia 06/12 ocorreu o nosso segundo techday da Caelum no qual eu e o Leonardo Bessa, que também é consultor e instrutor da Caelum, fizemos uma apresentação sobre metaprogramação em ruby sob o título “Voodoo é pra jacu” (Sim, foi por causa do picapau).
Como apenas os slides e o código gerado não transmitem tanto conhecimento estou aproveitando pra deixar alguns posts e vídeos sobre o assunto que serviram de base de estudo para a preparação da nossa apresentação.
Código gerado durante a aprensentação:

class Picapau
  def voa
    p 'estou voando'
  end
end
woody = Picapau.new
amigo = Picapau.new
woody.voa # => estou voando
amigo.voa # => estou voando
def woody.rir
  "hehehehe-hehehehe-hehehehehehe"
end
p woody.rir # => hehehehe-hehehehe-hehehehehehe
# p amigo.rir # => NoMethodError: undefined method ‘rir’ for ...
p woody.class # => Picapau
p amigo.class # => Picapau
p woody.class == amigo.class # => true
p woody.methods - amigo.methods # => ["rir"]
p woody.singleton_methods # => ["rir"]
p amigo.singleton_methods # => []
class Object
    def singleton_class
      class << self
	    self
	  end
    end
end
p woody.singleton_class # => Class:Picapau:0x...
p amigo.singleton_class # => Class:Picapau:0x...(diferente)
p woody.singleton_class == amigo.singleton_class # => false
class ARBase
  def self.belongs_to
    def leo
      p 'leo'
    end
  end
end
class B < ARBase
  belongs_to
end
B.new.leo # => leo

slides:

links sobre o assunto:
Uma apresentação do Dave Thomas (em inglês)

Post do Katz sobre self (inglês)tradução

Contextos implicitos (resposta ao post do Katz)tradução

O que é metaclass por Jim Weirich com direito a comentário do Ola Bini (apenas em inglês)

Umas dicas do Sidu Ponnappa pra entender melhor o funcionamento interno do ruby (apenas em inglês)

Rails Summit 2009 – Eu fui

October 21st, 2009 No comments

Se você foi nos eventos de java e/ou agile dos últimos anos provavelmente deve ter passado por mim,  mas o Summit desse ano foi o primeiro evento de ruby/rails que participei.

Comecei a estudar e me envolver com ruby / rails há pouco mais de um ano. Um dos primeiros pontos que achei muito curioso é ver que o pessoal que ajudou a construir as comunidades java e agile (não vou citar nomes, mas são aqueles que vemos direto postando no GUJ) é o mesmo que estava lá trocando ideias e experiências, agora sobre ruby, rails e programação em geral. Isso me faz pensar seriamente sobre os empregos de amanhã aqui no Brasil, já que, além da situação, as pessoas também são as mesmas que estavam nos eventos java alguns anos atrás. Pelo menos pra mim, acho que finalmente chegou o ano do Rails no Brasil, 2010 promete.

A comunidade brasileira

Além dessas “figurinhas carimbadas”, muita gente nova! É bom ver o pessoal que antigamente não participava dos eventos comparecendo para aprender e ensinar. Vi algumas pessoas já muito importantes entre os railers brasileiros mas que ainda não conhecia. Entre esses, pra mim foi um grande prazer conhecer o pessoal da gonow, o pessoal do GURU-SP e o pessoal de Natal – RN que ajuda a organizar o oxente rails, que pude até dividir um taxi até o evento.

Os palestrantes

Pra mim era praticamente impossível imaginar tanta gente tão importante e reconhecida internacionalmente juntos. Acho que história de railer rock star tem um fundo de verdade, mas todos eles são muito tranquilos e pudemos chegar para conversar com eles como se fossem qualquer um no evento. O Obie Fernadez aproveitou pra fazer piada com essa coisa do programador rock star e foi palestrar com uma calça de couro típica entre verdadeiros rock stars. No print abaixo dá pra ver nomes como Chad Fowler, Glenn Vanderburg e outros conectados pelo bonjour no wi-fi do evento.

print do bonjour com Chad Fowler, Glenn Vanderburg e outros

Print do bonjour com Chad Fowler, Glenn Vanderburg e outros

O local

Espaço e a localização foram adequados para o tamanho e importância do evento. Acho que poderiam ter ido além do necessário e organizar um esquema de translado entre metro e o Anhembi, já que o estacionamento custava R$25,00. Eu fui bem cara de pau e fiquei procurando por pessoas para rachar um taxi comigo e acabei economizando alguns bons reais por isso. Gastei mais ou menos R$10,00 de transporte em cada dia de evento. (Seja cara de pau nos próximos eventos!)

A comida

Normalmente um dos pontos mais criticados nos eventos, o summit foi muito bem. As sobremesas estavam mais ou menos e o almoço com poucas opções, mas bom o suficiente pra ninguém reclamar. Os coffes foram muito reforçados e saborosos, cheios de opções de salgados e doces. Achei tudo condizente com o evento e o valor pago mas, assim como o transporte, poderia ter sido ainda melhor.

Considerações finais

Nos momentos em que tinham 2 palestras paralelas, sempre aquela maldita dúvida de qual delas assistir. Acho que a idéia das trilhas (uma palestra básica e uma avançada) poderia ter sido melhor. Acompanhando a opinião do pessoal, acho que fiz 2 ou 3 escolhas ruins, mas isso faz parte. Tiveram umas palestras daquelas que realmente me fez repensar sobre alguns valores da minha vida, o que vale muito mais do que qualquer aprendizado técnico! Só as apresentações do Vinícios Telles e do Obie Fernandez já valeram a entrada. O restante das palestras foi muito bom também e o evento como um todo foi ótimo. É sempre bom reencontrar velhos amigos e conhecer gente nova, sem contar o que pude aprender. Já estou ansioso pelo próximo!