Recent News

Ruby 1.9.0

Postado por elomarns em 26/12/07 às 4:37

Parece que nesse Natal tivemos um presente especial do Matz: o Ruby 1.9.0. Abaixo estão as URLS de onde você pode baixar a nova versão:

ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-0.tar.bz2

407cc7d0032e19eb12216c0ebc7f17b3

ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-0.tar.gz

b20cce98b284f7f75939c09d5c8e846d

ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-0.zip

78b2a5f9a81c5f6775002c4fb24d2d75


E como eu fiquei sabendo dessa notícia através do blog do Akita, nada mais justo do que linkar diretamente para o post original, até porque dessa forma a informação estará mais completa, já que até o momento eu sei muito pouco sobre esta nova versão. Portanto, para maiores informações, leia o post do Akita sobre o Ruby 1.9.0.

Vídeos da RejectConf SP’07

Postado por elomarns em 23/12/07 às 2:49

Recentemente foram liberados pelo pessoal da Improve It alguns dos vídeos que eles gravaram na RejectConf SP’07, que foi realizada no dia de 17 de novembro. Veja abaixo os links para os vídeos disponíveis:

Palestra do Fábio Akita
Palestra do Vinícius Manhães Teles sobre o projeto Lucidus
Palestra do Carlos Brando: Você está fazendo a sua parte?
Palestra do Carlos Villela sobre a ThoughtWorks e Rails lá fora
Palestra do George Guimarães sobre o seu site PageStacker, construído durante o Rails Rumble, e também sobre escalabilidade em aplicações Rails
Palestra do Felipe Giotto sobre Rails no Desktop
Entrevista com algum dos presentes no RejectConf SP’07

Estes vídeos dão uma ótima noção do que aconteceu por lá, portanto, vale a pena dar uma conferida, principalmente para aqueles que assim como eu não puderam comparecer ao evento.

Ruby on Rails 2.0.2

Postado por elomarns em 18/12/07 às 7:49

Temos mais uma atualização no Rails. Dessa vez, de acordo com o anúncio feito pelo David Heinemeier Hansson sobre o Ruby on Rails 2.0.2 no blog oficial do framework, esta versão apenas corrige alguns bugs menores, além de acrescentar algumas novas features.

Entre as mudanças, talvez a mais relevante seja o fato de que agora o MySQL não é mais o SGBD padrão quando executamos o comando rails sem especificar o SGBD utilizado, perdendo este lugar para o SQLite 3. Isso significa que todas as aplicações geradas com o comando rails no Rails 2.0.2 terá o arquivo database.yml configurado automaticamente para o SQLite 3.

Segundo o DHH, esta mudança no SGBD padrão se deve ao fato de que o SQLite 3 é mais simples do que o MySQL. Além disso, ele já vem instalado no Mac OS X 10.5, juntamente com o seu adapter, o Ruby e o Ruby on Rails. Sendo assim, com essa mudança, o Mac OX X 10.5 já vem pronto para o desenvolvimento Rails, sem que seja necessário baixar absolutamente nada.

Confesso que eu não abri o maior sorriso do mundo ao saber desta mudança, já que tenho um conhecimento praticamente nulo sobre o SQLite 3, além de gostar do MySQL. No entanto, percebi que negar o SQLite 3 apenas porque o desconheço, ou porque conheço melhor o MySQL, é o tipo de sentimento que nunca teria me levado ao Rails.

Além disso, o Rails sempre foi sobre aceitar certas convenções acreditando que elas facilitariam a nossa vida, e até agora ele tem cumprido perfeitamente este próposito. Sendo assim, apesar de dessa vez ter discordado inicialmente da direção que o DHH deu para o Rails, vou confiar no seu bom senso, e dar uma chance ao SQLite 3.

Mas, caso você não compartilhe desta visão, você pode, como sempre, mudar este padrão, criando assim uma aplicação Rails com o MySQL como SGBD padrão. Para isto, basta utilizar o comando rails da seguinte forma: rails -d mysql application.

Por fim, para atualizar sua versão do Ruby on Rails, digite o comando gem install rails em uma janela de comando. Caso este comando não funcione, o que pode ocorrer caso a nova versão ainda não tenha sido propagada, digite gem install rails –source http://gems.rubyonrails.org. Dessa forma, você fará o download diretamente do repositório do Rails.

Quanto Menos SQL Melhor?

Postado por elomarns em 17/12/07 às 7:57

Houve um tempo em que simplesmente não haviam opções quanto a manipulação do banco de dados, tinhamos necessariamente que incluir código SQL manualmente dentro do código das aplicações. Mas, felizmente, com o passar do tempo, surgiram soluções alternativas, incluindo os famosos frameworks ORM(Object-Relational Mapping), e graças a eles passamos a ter uma excelente opção para esta questão. No entanto, conforme adianta o título deste post, essa é a melhor solução possível?

Eu sempre acreditei que sim, e em parte ainda acredito. Inserir instruções SQL dentro de uma aplicação torna, ao meu ver, o código pouco elegante como um todo, uma vez que o SQL por si só não é exatamente uma linguagem bonita. Sendo assim, acabamos tendo parte do código com um nível de abstração satisfatório e a outra parte… bem, a outra parte é SQL. E mesmo se isolarmos o código SQL apropriadamente, o que, convenhamos, é o mínimo que temos a fazer, ainda assim fica feio.

Além do fato do SQL não ser mesmo uma linguagem bonita, a raiz deste problema repousa na mistura do modelo relacional com o paradigma orientado a objetos, supondo que está sendo utilizado estes dois modelos, que são, respectivamente, os mais populares para SGBDs e para linguagens de programação.

A propósito, ao contrário do que muitos pensam, o maior benefício dos frameworks ORM é justamente abstrair o modelo relacional, permitindo assim que nós trabalhemos unicamente com objetos. É um erro comum pensar que eles foram criados primariamente para possibilitar trocas de SGBDs, já que esse tipo de coisa está longe de ser comum.

Mas, apesar do SQL inegavelmente piorar estaticamente o código de um sistema, temos que considerar que estamos falando do melhor dos cenários. Há casos em que simplesmente não é possível usar um framework como Hibernate ou ActiveRecord ou qualquer outra solução que abstraia o modelo relacional, seja por problemas relacionados a performance ou por limitações da estrutura organizacional, dentre outros fatores limitantes.

Um exemplo de um cenário com tal limitação foi apresentado no Rio on Rails. Lá, o Eduardo Rocha, criador do site O Curioso, revelou que devido a problemas que afetavam consideravelmente a performance do site, teve que incluir algumas instruções SQL diretamente, ao invés de usar o excelente suporte oferecido pelo ActiveRecord. Portanto, neste caso, foi preciso abdicar da conveniente e amigável interface oferecida pelo framework ORM, no caso o ActiveRecord, em prol de uma melhor performance no site, uma vez que isso sim afeta diretamente os usuários.

Sendo assim, respondendo a minha própria pergunta, eu acredito sim que quanto menos código SQL uma aplicação tiver, melhor. Melhor para ela e para os desenvolvedores que a manterão. E se essa quantidade signigicar nenhum código SQL, melhor ainda.

Entretanto, no mundo real, como vimos acima, nem sempre isso é possível, e como desenvolvedores de software nós temos que identificar estes cenários que constituem uma exceções. Até porque, no fim das contas, o nosso foco é criar software que resolva problemas, e para isso as vezes temos que criar software feio do ponto de vista do código fonte. Até porque, o problema mais importante a ser resolvido não é o nosso, e sim aquele que originou o desenvolvimento do software em questão.

Um Breve Lembrete: Rails for Kids 2007

Postado por elomarns em 14/12/07 às 5:07

rails_for_kids_2007.gifAmanhã, dia 15 de dezembro, teremos mais um evento Rails: o Rails for Kids 2007.

Este evento está sendo organizado pelo Carlos Eduardo, dono da e-Genial, e será totalmente online, sendo realizado através do Treina Tom.

Ao todo serão apresentadas 10 palestras, tendo entre os palestrantes vários nomes importantes da comunidade Ruby/Rails do Brasil, incluindo Fabio Akita, Carlos Brando, Vinicius Manhães Teles, Demetrius Nunes, Ronaldo Ferraz, entre outros.

Além deles, contaremos também com um convidado internacional, o Carl Youngblood , que é um gerente de projetos Rails na consultoria americana Surgeworks.

A inscrição para o evento custa R$20, sendo que este valor será integralmente doado a uma instituição de caridade chamada Cotolengo.

Para maiores informações sobre a programação das palestras, ou sobre a instituição Cotolengo, basta acessar o site oficial do Rails for Kids 2007.

Enfim, trate-se de uma iniciativa altamente válida, pois além de ser uma ótima oportunidade para aprender com aqueles que efetivamente trabalham com o Ruby on Rails, poderemos ainda ajudar alguém. Portanto, aproveitem que hoje é o último dia e se inscrevam!

P.S.: Eu sei que eu já havia dito tudo isso antes, mas, como a causa é boa, não custa reforçar.

Rio on Rails: Impressões Gerais

Postado por elomarns em 12/12/07 às 15:43

Eu estava com bastante expectativa em relação ao Rio on Rails, já que este foi não somente o primeiro evento Rails que eu fui, como também o primeiro evento de computação em geral. E apesar de grandes expectativas geralmente signficarem grandes decepções, este não foi o caso.

O Rio on Rails me ajudou ainda mais a entrar no mundo Rails, mesmo eu estando um pouco tímido na presença de tantos desenvolvedores experientes, ainda mais sendo eu apenas um iniciante, tanto em Rails como em desenvolvimento de forma geral. Se bem que justamente por isso, talvez ele tenha sido mais proveitoso para mim do que para os demais, já que a maioria das coisas apresentadas eram novidades pra mim.

Além disso, devo também ressaltar a bela organização do evento. As palestras começaram no máximo com 20 minutos de atraso, foi disponibilizada uma boa variedade de opções no coffee break, que ficou disponível durante todo o evento, sem mencionar a bela idéia de dar um bloco de anotações para os participantes, já que sem ele eu não lembraria de praticamente nada do que escrevi nestes últimos posts.

Enfim, eu só tenho elogios ao Rio on Rails, portanto, parabéns a Improve It e ao SENAC Rio por esse ótimo evento. Agora só me resta esperar o Rio on Rails 2008.

Rio on Rails: Flex + Rails Além de seu Desktop

Postado por elomarns em 11/12/07 às 23:18

O Carlos Eduardo foi o último palestrante do dia, tendo se apresentado de forma online, através do Treina Tom. Ele começou sua apresentação falando sobre a história da e-Genial, empresa a qual ele é dono, junto com a sua esposa. Em seguida falou sobre a sua experiência com o Ruby on Rails, Flex e Flash Media Server, e a aplicação dessas tecnologias nos cases da E-Genial.

Por falar em cases, ele mencionou o Treina Tom, que é um de seus produtos de maior sucesso, tendo servido, como disse acima, de ferramenta para a realização da sua apresentação, além de hospedar o Rails for Kids, que é um evento Rails online a ser realizado no próximo sábado, dia 15 de dezembro. Mas não é só de Treina Tom que vive a e-Genial, sendo assim, ele menciononou também o Tom Conference, o recém lançado Tom Cast, e o Tom Jobs, que será lançado ano que vem.

No fim da palestra, o Carlos Eduardo sorteou uma vaga em um dos cursos da e-Genial, mais precisamente um curso de Ruby on Rails + Flex, sendo o feliz vencedor deste sorteio este que vos fala.

E assim terminou a minha participação no Rio on Rails, já que como essa foi a última palestra do dia, e eu já estava um pouco cansado, fui embora logo em seguida.

Rio on Rails: Behaviour-Driven Development (BDD)

Postado por elomarns em 11/12/07 às 21:33

De uns tempos pra cá, eu tenho visto bastante o termo BDD, mas confesso que não sabia muito bem do que se tratava, apesar de achar que seria uma “evolução” do TDD.  Tendo isto em vista, eu estava bastante interessado no conteúdo desta palestra, que foi apresentada pelo Danilo Sato, e teve justamente o BDD como tema principal.

Durante a apresentação, o Danilo explicou melhor sobre o que exatamente é BDD, dizendo se tratar de uma prática que parte do princípio que teste é documentação, se escrito corretamente, de forma a se tornar uma especificação executável. Aliás, ele explicou isso muito bem, tendo usado uma abordagem bem interessante, que consistia em uma breve história com um personagem bem interessante: o RUP Man.

Uma vez explicado o conceito por trás do BDD, ele o exemplificou através do RSpec on Rails, que é um framework de teste para Ruby on Rails baseado no BDD. Utilizando este framework, ele implementou duas histórias de uma aplicação de gerenciamento de palestras, mostrando todo o fluxo de trabalho do BDD com o RSpec on Rails. A propósito, ele já havia usado esta aplicação como exemplo no RejectConf SP’07, onde ele deu uma palestra similar.

Por fim, devido ao pouco tempo disponível, ele teve que terminar a palestra ali mesmo, apesar de originalmente ter planejado uma terceira história a ser implementada e testada. De qualquer forma, isto não prejudicou em nada a sua apresentação, que foi realmente excelente para introduzir tanto o BDD como o RSpec on Rails.

Rio on Rails: Domain Specific Languages

Postado por elomarns em 11/12/07 às 14:10

A 6ª palestra do dia foi apresentada pelo Ronaldo Ferraz, e foi sobre um assunto que vem ganhando bastante atenção de uns tempos pra cá: Domain Specific Languages (DSLs). Para quem não sabe, uma DSL é uma linguagem embutida dentro de uma outra linguagem, ou dentro de uma aplicação, podendo ser interna ou externa, e tendo como objetivo expressar mais claramente a intenção do código.

Durante sua palestra, o Ronaldo mostrou que as DSLs estão mais presentes na nossa vida do que imaginamos, citando como exemplo o HTML, Shell Script, Rake, Capistrano, RSpec e até alguns componentes do Rails, como o Active Record.

Em seguida ele mencionou a existência de uma DSL para a rolagem de dados no sistema de RPG AD&D, e, pra finalizar, ele mostrou uma DSL criada por ele em Ruby. Essa DSL basicamente avalia se um conjunto de cartas do baralho atende a uma determinada regra imposta por um jogador.

Rio on Rails: Novidades do Rails 2.0

Postado por elomarns em 11/12/07 às 0:46

Houve uma breve pausa para almoço após a palestra sobre o projeto Lucidus. Neste tempo, eu fui até o MC Donald’s mais próximo, que para o meu azar não era tão próximo assim. Depois disso, caminhei de volta para o SENAC. Ao chegar lá, percebi que havia perdido a minha credencial, uma vez que não levei uma mochila, tendo levado a credencial, a camisa, o bloco de anotações e a caneta dentro da pasta dada pela organização do evento. Enfim, era óbvio que eu iria perder alguma coisa no caminho, só eu não percebi isso antes. Entretanto, isso não me causou problema nenhum na volta para o SENAC, e então eu fiquei esperando as palestras recomeçarem.

A palestra seguinte foi apresentada pelo Fabio Akita, e era palestra a qual eu estava mais ansioso, visto que foi através dos posts do Akita no seu blog e dos seus artigos no Ruby on Br que eu entrei no mundo Rails. A sua palestra seria originalmente sobre as mágicas do Ruby on Rails, mas dado o fato do Rails 2.0 ter sido lançado no dia anterior ao Rio on Rails, ele decidiu, acertadamente, mudar a sua apresentação.

Ele começou contando brevemente a trajetória do Rails até o momento atual, e em seguida apresentou em primeira mão um screencast gravado por ele na madrugada anterior. Neste screencast, ele constrói um blog em 30 minutos utilizando as novas funcionalidades do Ruby on Rails 2.0, atualizando assim o clássico screencast onde David Heinemeier Hansson cria um blog em 15 minutos, que foi originalmente apresentado no FISL 6, realizado em 2005, no Brasil.

Dando sequência a sua apresentação, o Akita comentou mais detalhadamente sobre as várias mudanças no Rails 2.0, as quais haviam sido, em parte, mostradas rapidamente no screencast. Entre estas mudanças estão: sexy migrations, cache de consultas na mesma requisição, armazenamento de sessões em cookies, namespaces em rotas, tarefas rake relacionadas a criação e remoção de bancos de dados, autenticação via HTTP, deprecations, entre outras mudanças.

Por fim, ele contou uma grande novidade para a comunidade Rails brasileira. O livro Agile Web Development with Rails vai ter uma versão nacional lançada no próxim ano, sendo que o livro já está traduzido, só faltando agora a revisão técnica do própria Akita, de forma a evitar os famosos erros de tradução.

Além disso, ele afirmou também que devido a este lançamento ele irá mudar o direcionamento do seu próximo livro. A idéia anterior era escrever um livro nos moldes do Agile Web Development with Rails, mas agora, considerando que irá haver uma versão nacional do mesmo, ele irá escrever um livro complementar a este.

Por fim, devo dizer que a palestra superou as minhas expectativas, dando um excelente panorama do que temos de novo no Rails 2.0.


Comentários Recentes | Posts Recentes


designed by: Website Builder | Coded by: Blog Directory | Provided by: Wedding photojournalism chicago
bottom