Desculpe, seu navegador não suporta JavaScript! Casa Open: Ruby e Rails

Os railers e suas músicas

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!

Retrospectiva 2010

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.

Sockets em Ruby

Foto de uma tomada ligada na fonte de energia

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:

Captura de código ASCII no Ruby

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

Respostas HTTP

Quando fazemos uma requisição na Web, o servidor busca o que está sendo requisitado e envia uma resposta para quem fez a requisição. Esta resposta pode ser dos seguintes tipos:

Tipagem em Ruby

Cada linguagem de programação tem sua forma de lidar com tipos, por exemplo: C é uma linguagem estaticamente tipada, pois o tipo da variável é definido em tempo de compilação. O que pode ser visto no seguinte exemplo:

Retirando a exceção InvalidAuthenticityToken

Já tentou enviar formulários fora da sua aplicação? Se sim, certamente você teve problemas!

Esses problemas se devem ao fato de que o Rails 2 insere o campo “authenticity_token” nos formulários no intuito de não permitir envios de forms por terceiros.

Mas se desejar receber tais envios basta colocar:


self.allow_forgery_protection = false

no controller desejado.

Teste suas expressões regulares online

testador expressão regular Ruby

Vai uma dica de um ótimo site, o Rubular. Com ele você testa suas expressões regulares em Ruby de forma pratica e rápida e ainda pode adquirir um link de seus testes.






Project Euler #1

O Projeto Euler foi iniciado por Colin Hughes (aka Euler) em outubro de 2001 e consiste em diversos problemas que envolvem matemática e computação, sendo que alguns são possíveis resolver sem o uso da computação e outros não. Segundo a descrição do projeto, este teve como principal motivação oferecer uma plataforma para que mentes curiosas mergulhem em áreas desconhecidas.

Doc da sua aplicação Rails

Já experimentou o comando rake doc:app ?

rake doc:app

Ele cria uma doc semelhante a documentação do Ruby com todos os arquivos, classes e métodos da sua sua aplicação no diretório /doc/app/ .

Em qual ambiente estamos?

Já teve a necessidade de saber em qual ambiente de trabalho - production, development, test e etc - você está? Acredito que sim! Logo segue algumas dicas para saber isso:

if Rails.env == 'development'
  puts 'Estamos no development'
elsif Rails.env == 'production'
  puts 'Estamos no production'
end

Wallpaper Ruby on Rails

Estava procurando um papel de parede novo e olhe o que encontrei:
[ P.S. basta clicar nas fotos para ser redirecionado aos devidos sites ]

Interpretador Ruby Online

Já passou pela experiência de querer executar algum algoritmo mas estava sem o devido interpretador ou compilador? Certamente sim! Mas nessas horas o site CodePad é uma ótima saída, com ele você pode interpretar/compilar código fonte de várias linguagens tais com: Ruby, PHP, C, C++, Haskell, Lua, Ocaml, Perl e outras. Além disso, ele disponibiliza o seu código juntamente com a respectiva saída através de uma url curta de forma semelhante as usadas no Twitter.
Sem dúvida esses fatores apontam o CodPad como uma boa maneira para mostrar,  de forma rápida,  um código simples para alguém.

Interessou? Então entre no site e/ou veja como é o seu funcionamento.

P.S. Fiz alguns testes em Ruby e em todos tive sucesso, veja um deles http://codepad.org/QrVXq8oj.

Precedência em operadores lógicos

Antes de qualquer coisa, veja os seguintes códigos e seus respectivos retornos:

true and false #=> false
true && false #=> false
true or false #=> true
true || false #=> true

Em vista disso, logo vem a pergunta: Qual a diferença entre "and" e "&&" e entre "or" e "||"?
A resposta é simples, "&&" e "||" possuem maior precedência que "and" e "or". Sendo que o "&&" possui maior precedência que o "||" e o "and" possui a mesma precedência que "or". Veja alguns exemplos:

Tarefas em background - delayed job

Realizar tarefas em background é uma boa saída para melhorar a resposta da sua aplicação. Geralmente usamos este recurso para tarefas como enviar e-mail, redimensionar imagens, postar algo no twitter... isso, simplesmente pelo fato que estas tarefas não necessitarem de resposta imediata para o usuário continuar usando o sistema.
A verdade é que, para quem utiliza Rails, existem vários plugins e gens que fazem este trabalho. Vejamos alguns:

Símbolos em Ruby

São poucas linguagens que possuem símbolos assim como o Ruby. Mas ai vem pergunta: o que são símbolos? Eles são uma forma de representar uma string de modo mais leve, para ser mais especifico são os textos iniciados com ":". Lembrando que, partindo do principio que tudo em Ruby é objeto, isso é muito útil!
Veja alguns exemplos de utilização de símbolos:

Operador ternário e Ruby

O operador ternário é uma ótima forma de deixar o código mais limpo, veja sua sintaxe:

# (condicao) ? resultado_se_condicao_verdadeiro : resultado_se_condicao_falso      

Exemplo:

a = true  ? 'a' : 'b' #=> "a"
b = false ? 'a' : 'b' #=> "b"


E-mail para vários destinatários

Recentemente desenvolvi uma aplicação que tinha a necessidade de enviar e-mail para vários destinatários. O que poderia gerar problemas relacionados a quantidade máxima de destinatários  - CC, CCo, BCC... - do SMTP. No meu caso o SMTP permitia enviar e-mails para no máximo 500 destinatários em uma única vez via mala direta. Fato é que este detalhe nem sempre é lembrado na hora do desenvolvimento. Então deixo aqui uma sugestão de código para enviar e-mails respeitando o limite de destinatários:

Traduzindo datas no Rails

O date_select é um ótimo helper do Rails para se trabalhar com datas. Veja:

<% form_tag do |f| %> 
<%=   date_select("post", "written_on",  options = { :order => [:day, :month, :year],:start_year => 1900, :end_year => Time.now.year },  html_options = { :class=>'select_medio'}) %> 
<% end %>



Gráficos no Rails - CSS Graphs

CSS Graphs é um bom plugin para quem deseja gerar gráficos no Ruby on Rails usando apenas CSS. Veja como utilizá-lo:

Instalação

./script/plugin install http://topfunky.net/svn/plugins/css_graphs

Casa Open | by Samuel Vinícius, Belo Horizonte - MG. Powered by Blogger