Casa Open

Você "vai" ao Ruby Masters Conf?

1 comentários


A Ruby Masters Conf foi uma das iniciativas mais legais que vi recentemente na comunidade Ruby. Ela se trata de um conjunto de palestras  que serão transmitidas on-line nos dias 25 e 26 de fevereiro de 2011 onde toda a renda será revertida para dois projetos: o RubyInstaller -  que é uma ferramenta usada para instalar o ambiente necessário para o Ruby no Windows - e o Passenger - que mudou a forma da comunidade administrar um cluster de Mongrels ou gerenciar processos FastCGI.

Para participar, basta fazer sua inscrição no RubyMastersConf.com por um valor simbólico acima de R$35,00. Após a inscrição, é só esperar por ótimas palestras de pessoas muito conceituadas no mundo Ruby, como por exemplo:

E ai? Nos "encontraremos" na Ruby Masters Conf?





Saiba mais visitando o site RubyMastersConf.com


Um ano de Casa Open

1 comentários

Este é um dia muito especial para mim pois há um ano atrás o primeiro post, intitulado Ruby on Rails vs Java, do blog, que antigamente chamava-se railsopen.blogspot.com, foi ao ar. Desde então, muita coisa mudou: alterei o layout, o domínio (veja esse post)... mas o que permanece é o foco: Ruby e Rails.

Sim, aprendi muito, errei alguns vezes, conhece pessoas e cresci. Bom, mas para comemorar essa data especial separei os 10 artigos mais lidos deste primeiro ano do Casa Open:



Também não poderia deixar de agradecer aos leitores, aos que fazem comentários, aos assinantes do feed, os seguidores do twitter e a todos que de alguma forma fazem o blog evoluir. Obrigado!


Os railers e suas músicas

0 comentários
Em quase todos os grandes eventos de Ruby e Rails estamos tendo o privilegio imensurável de desfrutarmos do talento musical dos railers. Como sou uma boa pessoa, não irei privá-lo destes momentos inusitados...
...deixando de lado a ironia, realmente é muito bom ouvir música nos eventos e as que você verá nos próximos vídeos são ótimas!


Regaae do Node
Apresentado na RubyConf Brasil 2010.
By @danicuki, @luizfaias, @ucoaaa e @andrefaria.






Melô do Teste Automatizado e Samba do Akita
Melô do Teste Automatizado e Samba do Akita apresentado no Rails Summit 2009 por Daniel Cukier




Forro do Elomar

Forro do Elomar no Oxente Rails em 2010



Retrospectiva 2010

0 comentários
Antes de qualquer coisa desejo, sinceramente, a todos os leitores um ótimo 2011. Que seja um ano excelente profissionalmente e pessoalmente. Me vejo também no dever de agradecê-los pelas críticas, elogios e pelos comentários - são eles que me dão forças para continuar.

Salvo os devidos agradecimentos, vamos ao que interessa. Este foi um ótimo ano pra mim e para o blog Casa Open. Foi o ano de estreia do Blog, e tudo que é novo, é especial. Mas para evitar o muito falar, vejam um resumo sobre os artigos mais interessantes - segundo os meus olhos - que aqui foram publicados.

Janeiro
Ruby on Rails vs Java
Arquivos em Ruby

Fevereiro
Gráficos no Rails - CSS Graphs
Traduzindo datas no Rails
Lendo URL's no Ruby

Março
Operador ternário e Ruby
Working with Rails ultrapassa a marca de 17000 programadores

Abril
Tarefas em background - delayed job
Precedência em operadores lógicos

Maio
Interpretador Ruby Online

Junho
Em qual ambiente estamos?

Julho
Project Euler #1
Teste suas expressões regulares na web

Agosto
progzoo.net: Comparando as linguagens de programação

Setembro
Retirando a exceção InvalidAuthenticityToken
Tipagem em Ruby

Outubro
Respostas HTTP
RubyConf Brasil 2010

Novembro
Captura de código  ASCII no Ruby

Dezembro
Sockets em Ruby

No mais, tenham um bom final de ano e um 2011 melhor ainda!


Sockets em Ruby

0 comentários

Este é primeiro de vários artigos que irei publicar sobre Sockets em Ruby. Mas antes de qualquer coisa, é conveniente dizer o que são Sockets:

A grosso modo, são as extremidades de um canal de comunicação bidirecional. Ou seja, você pode utilizar Sockets para fazer comunicação entre processos de uma maquina, entre maquinas diferentes e entre processos de maquinas diferentes.

O que iremos fazer?

Como este é o primeiro artigo sobre o tema, pretendo ir direto ao ponto, mostrando, de forma simples, como implementar uma aplicação Cliente-Servidor. Nesta aplicação o cliente envia uma mensagem para o servidor e este responde. Sendo a comunicação entre cliente e servidor realizada via Socket através do protocolo TCP.
Então, sem mais delongas, vamos aos códigos:

Servidor

# file server.rb
require 'socket' 

server = TCPServer.open(3001)  # Abre socket em escuta na porta 3001  
loop { # o servidor nunca morre, fica sempre executando
  client = server.accept      # aceita conexão do cliente
  msg_cliente = client.recvfrom( 10000 ) # recebe mensagem - 10000 bytes - do cliente

  puts  "Mensagem do cliente: #{msg_cliente}" # imprime a mensagem do cliente no servidor
  client.puts "Ola cliente eu, o servidor, recebi sua mensagem" #envia uma mensagem ao cliente    
  client.close # fecha conexão
}

Cliente


# file client.rb
require 'socket'

server = TCPSocket.open('localhost', 3001) # conecta ao servidor na porta 3001
server.puts "Ola servidor eu, o cliente, estou enviando uma mensagem" # envia mensagem para o servidor

resp = server.recvfrom( 10000 ) # recebe a mensagem -10000 bytes - do servidor
puts resp

server.close # Fecha a conexão com o servidor

Como rodar a aplicação?

Primeiro salve o código do servidor em um arquivo .rb - por exemplo server.rb - e execute o arquivo - ruby server.rb. Neste ponto o servidor está esperando a conexão de um cliente. Agora salve o código do cliente de forma análoga e execute em outro terminal de modo que cliente e servidor sejam rodados ao mesmo tempo. A partir de então o cliente envia uma mensagem ao servidor e o servidor responde.

Conclusões

Este é um exemplo simples do que pode ser feito com Sockets, espero que te ajude em algo.

Referência
http://www.tutorialspoint.com/ruby/ruby_socket_programming.htm


Captura de código ASCII no Ruby

0 comentários
Existem vários modos para capturar os código ASCII dos caracteres em Ruby, vejamos alguns deles:

puts ?R, ?u, ?b, ?y
puts "R"[0], "u"[0], "b"[0], "y"[0]
"Ruby".each_byte { |x| p x}

Mas se você preferir fazer o caminho inverso, este método resolve:

 puts 82.chr, 117.chr, 98.chr, 121.chr

Referência:

http://en.wikibooks.org/wiki/Ruby_Programming/ASCII1


RubyConf Brasil

0 comentários


Dois dias intensos de Ruby em São Paulo onde mais de 700 pessoas tiveram o privilegio de conhecer um pouco mais deste mundo que a muitos fascinam. Por lá estive e deixo aqui alguns dos meus pensamentos sobre o evento.

A RubyConf Brasil foi algo que realmente vai deixar saudades, um evento onde pessoas de peso marcaram presença, onde o nível dos palestrantes e palestras foram altíssimos. Estes fatos, sem dúvida, deixam a comunidade cada dia mais orgulhosa de se e dos seus feitos.


Eu e muitos mineiros fomos. Se você foi, garanto que viu alguém com a camisa do grupo Rails-MG. Nisto agradeço ao Gabriel Sobrinho - @sobrinho, que arrumou uma correria para disponibilizar as camisas à todos integrantes do grupo.

Como disse anteriormente, o nível das palestras foi sensacional, mas dentre estas irei falar especialmente de três:

palestra: Desenvolvimento de Aplicações Sociais com Rails

Carlos Brando falou sobre suas experiências no desenvolvimento de aplicações para software social em sistemas como Open Social - Orkut - e FaceBook. Ele mostrou uma forma prática, produtiva e sustentável para desenvolver aplicações sociais em Rails. Sendo a única coisa ruim a notícia de que o framework  que facilita o desenvolvimento destas aplicações que o Carlos anda trabalhando não terá o código fonte aberto, pois foi vendido.



Palestra: Integrando o iPhone com Ruby on Rails + Geração de gráficos com Ruby on Rails


Essa palestra realmente me impressionou, Pedro Franceschi, de apenas 13 anos que já impactou o mundo dos iPhones - desbloqueando vários deles, mostrou que idade não é documento palestrando sobre seus conhecimentos em RoR.




Palestra: JRuby: O Melhor dos Dois Mundos


Charles Nutter, mostrou de modo prático como integrar o mundo Java e Ruby. Um ótimo ponto dessa palestra foram as demonstrações desta integração, como por exemplo o uso de bibliotecas gráficas do Java no Ruby, e o humor de Charles.

Esta foi a primeira, de muitas, RubyConf Brasil. Deixo minhas gratificações a todos que contribuíram para o evento em especial ao Fabio Akita e aos patrocinadores: Go Now, thoughtworks, Caelum, Engine Yard, Pay Pal e Infoq.




Mural RubyConf Brasil





© 2010 Casa Open | by Samuel Vinícius, Belo Horizonte - BH. Powered by Blogger