Posts Tagged ‘rails’

RubyConf 2010 – estivemos lá! – Primeiro dia

outubro 29, 2010

Ocorreu entre os dias 26 e 27 a RubyConf Brasil, o maior evento de Ruby na América Latina. O evento foi no Centro de Convenções Frei Caneca, aqui em São Paulo. E nós da Voice Technology estivemos lá. 🙂

A seguir, segue as nossas impressões sobre a RubyConf 2010.

Organização

A organização da RubyConf foi muito boa, vários pontos merecem destaque:

  • A presença de uma “mestra de cerimônias”, para coordenar as trocas de palestras e dá os avisos, que ficou praticamente na sala 1, enquanto o Fabio Akita ficou na sala 2, cumprindo muito bem o papel também;
  • Coffee Break bem organizado, o único problema era o pouco espaço do saguão, frente a tantas pessoas que foram (a RubyConf LOTOU!);
  • As tradicionais Booth Babes da Locaweb (rs) que ajudaram nas horas das perguntas e do credenciamento.

Além disso, a localização do evento foi bem acertada, por ser perto do metro e como foi dentro do Shopping Frei Caneca, na hora do almoço, havia várias opções de restaurantes.

Palestras

Foram muitos palestras e não tem como falar sobre cada uma, mas vamos dá uma visão geral de como foram as que a nossa equipe participou (houveram duas trilhas).

A RubyConf começou com o keynote do Fabio Akita, onde ele deu uma visão geral sobre “ecossistema” em volta do Ruby, principalmente falando sobre Rails e a sua jornada como evangelizador de Rails, contando como ele começou com a linguagem e o framework e também citando as pessoas que fazem a diferença na comunidade, como por exemplo, o brasileiro José Valim, que é membro do core team do Rails.

Depois do keynote do Akita teve um excelente coffee break, onde o pessoal pode fazer o networking, e várias pessoas referências da comunidade estavam presentes na RubyConf.

Após o coffee havia duas trilhas de palestras e nossa equipe foi assistir a palestra do Yehuda Katz na sala 1, que falou sobre o uso de javascript do lado servidor e do cliente, dando boas dicas sobre como usar de forma eficiente. E também falou sobre o desenvolvimento do jQuery e SproutCore, dando boa enfâse na parte da performance do Sproutcore.

A palestra do Chris Wanstrath, co-fundador do Github, foi dada pelo Scott Chacon, que também é da equipe do GitHub. O tema da palestra foi o Resque, que é um sistema gerenciador de jobs em filas, que é uma boa alternativa para trabalhar com a execução de vários jobs e a distribuição deles de forma paralela.

O Resque é um projeto desenvolvido pelo próprio pessoal do GitHub para ajudar eles a processarem o grande volume de jobs do próprio GitHub. Após utilizar vários sistemas de filas, como por exemplo, o Delayed Job, eles acabaram optando por desenvolver o Resque , que hoje já conta com várias empresas utilizando ele e vários plugins.

Após o almoço, houve a palestra do José Valim, onde foi abordada as mudanças que o Rails 3 trouxe e o que será implementado na versão 3.1, que deverá sair em dezembro desse ano. A palestra foi muito boa, e deu pra perceber que o core team do Rails, está atuando fortemente para tornar o Rails cada vez melhor, tanto na parte da performance quanto na melhora do código em si, se preocupando bastante em deixar mais DRY e também mais modularizado e assim, flexível.

Logo após a palestra de José Valim, na sala 2 o tema era “Integrando o iPhone com Ruby on Rails + Geração de gráficos com Ruby on Rails”, apresentada por Pedro Franceschi.

Mais do que o tema, talvez o que chamou bastante atenção foi o palestrante: um garoto de apenas 14 anos que ganhou notoriedade desbloqueando aparelhos da Apple como Iphone e Ipod touch. Interessado em programação desde os oito anos de idade, atualmente, Pedro trabalha em uma empresa de tecnologia no Rio de Janeiro desenvolvendo aplicativos e jogos para diversos produtos da Apple.

Durante a palestra, apesar da pouca idade, o garoto mostrou bastante conhecimento técnico e desenvoltura em sua apresentação, mostrando e explicando códigos em Ruby on Rails de aplicativos que rodam no celular.

Na segunda parte da palestra, Pedro apresentou diversas gems utilizadas para gerar gráficos, explicando as vantagens e desvantagens de se utilizar cada uma dessas bibliotecas.

A palestra do Ricardo Panaggio e Thiago Pradi, foi sobre as suas experiências na RubySoC e ocorreu em paralelo com a do Pedro, na sala 1. Foi bem legal a palestra, deu pra entender bem o intuito de se participar de um evento como a RubySoC, onde o participante tem que contribuir com algum projeto open-source, seja uma solução própria, ou a melhoria de algo, e poderá receber até $5.000 pelo trabalho no projeto open-source. Ou seja, além da oportunidade de aprender MUITO e contribuir com a comunidade, o participante ainda irá receber por isso. Um ponto bem bacana que foi falado, foi que a participação em projetos open-source é uma ótima maneira de aprendizado, e não só no que tange a linguagem de programação, mas como também no uso do inglês e do trabalho e comunicação em conjunto, principalmente pela forte interação entre o participante e o seu mentor.

Depois da palestra do Ricardo e do Thiago houve o coffee break da tarde e logo após o coffee a última palestra do dia, do Lucas Húngaro onde ele compartilhou os seus conhecimentos sobre Rails.

O tema da palestra do Lucas parecia bastante interessante, mas logo no início deu para perceber que a apresentação foi feita as pressas e que não foi feita nenhuma prévia para verificar os slides no projetor.

Foi praticamente impossível acompanhar a apresentação pelo telão, pois a cor escolhida para o fundo foi um roxo tão escuro e a fonte em preto que tornou impossível ler qualquer coisa pelos slides. Lá para o fim da apresentação, o palestrante resolveu das um jeito na fonte, mas isso não impediu a platéia de gritar alguns comandos e atalhos para ver se dava uma forcinha ao Lucas.

Mas basicamente a palestra falou um pouco sobre algumas gems utilizadas e recomendadas, tais como: query_reviewer e rails_indexes para otimização e performance de banco de dados, oink para profiling e kasket e cachy para caching.

Além de abordar técnicas e soluções para problemas em rails, sugestões como utilização de checklists durante o desenvolvimento como uma boa forma de adquirir bons hábitos e se o projeto está difícil de ser testado em isolamento ele está mal projetado e deve ser revisto.

A palestra abordou também temas como SOLID, programação defensiva e lei de Demeter.

E assim foi encerrado o primeiro dia, que foi excelente. Ainda teve depois a desconferência, com várias lightning talks, mas a gente acabou não assistindo, o que foi uma pena, pois pelos comentários no Twitter, foram excelentes.

Em breve publicaremos as nossas impressões sobre o segundo dia da RubyConf. Fique de olho no Ensinar. 😉

Autores:

Bruna Oliveira

Daniel Sakuma

Fabrício Campos

Glaucia Mekaru

William Nishio

Anúncios

Post.new(“HAML”, “Rails”)

junho 2, 2010

A vida de um desenvolvedor Ruby on Rails não é feita apenas de código Ruby. Sendo necessário também saber html e javascript por exemplo.

Quando falamos de html no ecossistema Rails, logo vem a cabeça os arquivos html.erb. Esses que contém a cara da nossa aplicação web e é uma mistura de html e Ruby, possível graças ao ERB, que é uma implentação do eRuby em Ruby.

No entanto, há outras alternativas ao uso do ERB e uma delas é o HAML (HTML Abstraction Markup Language – “Linguagem de marcação abstraída do HTML”).

Hello World!

Para trabalhar com o HAML no Rails, precisamos instalar a gem haml. Para isso execute o seguinte comando na pasta do seu projeto:

sudo gem install haml

Se preferi você pode também especificar a gem no seu arquivo environment.rb (o que é uma boa prática), adicionando a seguinte linha.

config.gem ‘haml’

E depois executar a rake task que irá instalar as gems especificadas no seu arquivo environment.rb.

rake gems:install

Instalada a gem já podemos começar a brincar. 🙂

No exemplo abaixo é apresentado um exemplo de um Hello World “parrudo”, primeiro utilizando ERB e depois utilizando o HAML.

Hello World!
<p>
  1+1 é:
  <b><%= 1 + 1 %></b>
</p>
<p>
  Contando de 1 a 5:
  <%for i in (1..5)%>
    <i><%= i %></i>
  <%end%>
</p>
<br/>
<table border="1">
    <th>
      Grupo G
    </th>
    <tr>
      <td>
        Brasil
      </td>
     </tr>
    <tr>
      <td>
        Coreia do Norte
      </td>
     </tr>
    <tr>
      <td>
        Costa do Marfim
      </td>
     </tr>
    <tr>
      <td>
        Portugal
      </td>
     </tr>
</table>

Agora o mesmo exemplo em HAML:

Hello World!
%p
  1+1 é:
  %b= 1 + 1
%p
  Contando de 1 a 5:
  - for i in (1..5)
    %i= i
%br
%table{:border => 1}
  %th
    Grupo G
  %tr
    %td
      Brasil
  %tr
    %td
      Coreia do Norte
  %tr
    %td
      Costa do Marfim
  %tr
    %td
      Portugal

E o resultado é o mesmo, tanto com o ERB quanto com o HAML.

Diferenças

A primeira diferença notada é a quantidade de linhas para escrever usando o HAML, menor que com o ERB, uma vez que foi preciso de 37 linhas com o ERB, enquanto com o HAML apenas 24 já bastaram. Outra diferença é a sintaxe menos verbosa do HAML.

Além disso, há outras diferenças importantes que é bom saber para não cometer erros:

  • O HAML utiliza marcações menos verbosas, utilizando porcentagem (%) e essas marcações não são fechadas como no HTML;
  • Ao transformar para HTML a gem haml sabe quando uma marcação termina pela identação;
  • A identação é super importante no HAML, e você irá perceber isso ao identar errado, pois irá dá erro de sintaxe;
  • Código Ruby é identificado colocando-se um traço (), e quando queremos exibir a saída do código, colocamos um igual (=), ao invés, do traço ();
  • É possível especificar as propriedades das marcações, utilizando chaves ({}) e informando a propriedade como um símbolo (ex.: :color) e atribuindo o valor como fazemos em Ruby, com a “seta” (=>);
  • Como não é necessário fechar a marcação, não é necessário colocar end, pois a gem haml irá saber do end, pela identação. E como o HAML segue o princípio DRY e utiliza da identação para reconhecer as marcações, ele não iria deixar você colocar um end, sendo que com a identação já é possível saber que aquele trecho de código possui um end.

Gerando scaffold em HAML

Legal, mas se utilizamos o scaffold para gerar as nossas views, iremos ter um trabalho do cão para alterar os arquivos para HAML, uma vez que o scaffold gera arquivos ERB.

Pensando nisso o Norman Clarke criou o haml-scaffold, cuja principal diferença para o scaffold é que ele gera as views em HAML, ao invés, de ERB. Para instalar essa gem, basta digitar:

sudo gem install haml_scaffold

A gem haml_scaffold tem algumas dependências a gem haml (que já temos), will_paginate e mocha.  Para instalar as dependências você pode especificar essas gems no environment.rb e rodar a rake task ou instalar da forma tradicional.

Abaixo, segue as duas formas.

Via rake gems:install

No arquivo environment.rb acrescente:

config.gem “will_paginate”

config.gem “mocha”

Salve o arquivo e execute na pasta do seu projeto:

rake gems:install

Via gem install

sudo gem install will_paginate mocha

Instalado agora teremos um novo gerador, o haml_scaffold. Um exemplo de uso segue abaixo:

script/generate haml_scaffold Post title:string content:text published:boolean

Você notará que todas as views foram geradas em HAML e já temos dois partials, que são usados na criação/edição e outro na listagem.

Conclusão

Utilizando HAML as nossas views ficam bem enxutas, com o tempo acostumamos com as novas marcações e acaba sendo mais produtivo e prazeroso usar o HAML. Além disso, somos forçados a identar corretamente o código, e erros de HTML acabam não mais acontecendo.

Além disso, acaba sendo muito mais fácil dá manutenção num código gerado com o HAML, do que com o ERB, uma vez que ele é mais curto, menos verboso e identado. 🙂

Espero que vocês tenham gostado de conhecer o HAML e como podemos utilizá-lo no Rails, qualquer dúvida sintam-se à vontade em colocar nos comentários.

Saiba mais:

Site oficial com vários exemplos e explicações:

http://haml-lang.com/

Post do Marcos Tapajós, comparando a performance do ERB X HAML:

http://tapajos.me/2010/01/05/haml-versus-erb

Ambiente utilizado

SO: Ubuntu 10.04

Rails: 2.3.8

Gems: haml (3.0.6), haml_scaffold (1.1.0), will_paginate (2.3.14) e mocha (0.9.8).

rake gems:install

Minhas impressões – Ruby + Rails no Mundo Real 2009 – 04/04/09

abril 19, 2009

Caros colegas,

Meu último relato de evento escrito para o Ensinar já continha o prenúncio para esse post  (…Já estou em vias de escrever um novo relato, relacionado ao evento “Ruby + Rails no mundo real 2009″, que presenciei no último sábado (04-04-09) em companhia de alguns colegas de empresa... (06-04-09″)).

Enfim, “cá” estou para falar dele! ( e me desculpem mais uma vez pela demora dos relatos. Como diria Milton Neves, que o Fabrício Campos diz que é o melhor comentarista do Brasil, “O tempo urge pra mim!”)

Não esperem nesse post análises mais técnicas, pois não domino a linguagem e este foi meu primeiro evento relacionado a Ruby.

Panorama geral


O “Ruby + Rails no Mundo Real 2009“, como já foi dito, aconteceu em 04 de Abril de 2009 e o pessoal da Voice Technology estava presente, prestigiando e adquirindo conhecimento. Éramos eu, André Pantalião, Joemir Luchetta, Natália Freitas e Eduardo Zaghi. Foi muito bem organizado pela Tempo Real Eventos, com preço bem acessível no começo das inscrições (R$ 50,00), facilidade de acesso ao local, apostila, brindes e coffee-break. Fora a presença de palestrantes com alto nível de conhecimento em Ruby, como o Fábio Kung e o pessoal do Guru-SP. O evento respondeu as minhas espectativas, pois  a maioria das palestras tinham conteúdo não muito técnico, facilitando o entendimento do assunto.

Palestras

Criando um Instant Messenger usando Rails – Vinícius Baggio Fuentes

Vinicíus, como já diz explicitamente o título, mostrou como se implementar um comunicador instantâneo usando Rails e o protocolo XMPP/Jabber. Sua introdução mostrou o motivo de “experimentar” Rails, pela sua rapidez de retorno de resultados, criatividade, liberdade de programação e o envolvimento e força da comunidade Rails. Após isso ele mostrou como realmente implementar o projeto (a “mão na massa”), com tópicos envolvendo troca de XML‘s pela rede, JID (Jabber ID), Autenticações, Web Services, Messages, possíveis integrações com outros serviços de mensagens (GTalk (que também usa XMPP), MSN, Yahoo! entre outros (protocolos proprietários)) e finalizando com Distributed Ruby (DRb). Gostei do conteúdo da palestra mas percebi que em alguns momentos o palestrante se mostrava inseguro para passar alguns conceitos, mas nada que pudesse prejudicar o resultado positivo da palestra.

Ruby, Rails e empreendedorismo – Hugo Lima Borges

Hugo apresentou a palestra, que na minha concepção, foi a mais interessante do evento, apesar de não ser apresentado um “case de sucesso” para embasar o assunto. Conseguiu unir o útil ao agradável, mostrando como são os meios de fazer empreendedorismo ná área de tecnologia e programação (da forma mais correta) e como unir isso a praticidade do Rails. Apresentou o panorama dos empreendedores no Brasil, com algumas informações interessantes:

  • O Brasil é o 8º país, dentre 43, que mais empreende;
  • O brasileiro geralmente é “aventureiro”, muito pela necessidade;
  • Os que não se aventuram por necessidade tem medo de falhar;
  • Nós somos movidos a fazer empreendedorismo muito mais pelo motivo de ser “eficiente” do que ser “inovador” e “gerador de tecnologia”;

Um livro indicado para o assunto foi “Start-Up” (Jessica Livingston), que não é difícil de adquirir.

Quais os passos para empreender? Eis abaixo:

  • Procure fazer com que os outros assimilem as idéias. Tente começar por grupos pequenos, pois eles são ideais para “espalhar”;
  • Faça “antropofagia”! Comece “comendo” idéias de projetos de sucesso;
  • Mude ou inove com o decorrer do tempo, tendo o “timing” correto para implementação das idéias. Deixe as “Killer App‘s (aplicações suicidas)” para depois…;
  • Não pense somente em software ou projetos open source, deixando os “softwares pagos” de lado, e vice-versa. Se usar open source então procure contribuir; se usar software pago procure pagar!
  • Uma das alternativas para “se dar bem” : Rails! ;

Alguns outros poréns devem ser levados em conta, como meios de conseguir dinheiro (“3 F’s: Family, Friends & Fools”, BNDES, FINEP, FAPESP e o próprio bolso), conciliação de tempo e montagem de equipe (talentosos, marqueteiros, especialistas e etc.). Boa palestra  Hugo!

Integrando Ruby e Java para facilitar a vida – Marcelo Castellani

Na verdade, essa palestra foi um “comparativo” de ferramentas ligadas a Ruby (toolkits), que podem auxiliar em um projeto Java. Foi muito mais uma mostra de quais são os desempenhos que cada uma tem, em diferentes sistemas operacionais, e qual a abordagem de desenvolvimento delas. As ferramentas apresentadas na palestra foram:

  • FXRuby ( plataforma Windows e aplicado em ERP, IDE e aplicações OpenGL, por exemplo);
  • Ruby GTK+ (ambientes GTK, como Ubuntu, OpenSolaris e BSD, e aplicado em criação de interfaces gráficas);
  • RubyCocoa & MacRuby (plataforma Mac e aplicado a desenvolvimento de aplicações para o Mac OS X);
  • Shoes ( qualquer tipo de plataforma (!), poderoso e praticamente aplicável para desenvolvimento de qualquer um dos tipos de aplicações já citadas acima).

Marcelo mostrou exemplos de códigos apenas no slide. Fiquei com o sentimento de “falta alguma coisa a mais”, como algum exemplo “real”, rodando para visualização do público. Fora isso não posso discutir o conteúdo de forma mais aprofundada.

Outsorcing, ou como trabalhar para as empresas gringas – Rodrigo Franco

“O Caffo”, como é conhecido na comunidade Rails, mostrou as vantagens e desvantagens de se trabalhar para os clientes gringos, nos mais diversos projetos e tipos de remuneração (agradáveis ou não, depende do seu ponto de vista).

  • Vantagens: melhor remuneração; receber dinheiro em dólar; trabalho do programador brasileiro é bastante valorizado pelo gringos; custos menores com transporte, alimentação e vestuário; horário flexível no home office ( pode ser bom ou ruim, dependendo do fuso horáro e tipo de cliente a tratar) e melhor controle da sua produtividade;
  • Desvantagens: o espaço de casa pode influenciar na produtividade, seja na aquisição de conteúdo de estudo ou no trabalho; dificuldade em mostrar trabalho;

Caffo explicou quais são as melhores maneiras de receber salário no Brasil pagando menos imposto (Pessoa física – 27.5%; Empresa – 7.5% e PayPal – 0%), e como “chamar” a atenção dos gringos para o seu trabalho, fazendo com que venham a existir mais recomendações de projetos para você ( faça um portfólio, participe de projetos open source, tenha um blog ativo e uma página com pessoas recomendando o seu trabalho). Trabalhar para consultorias virtuais ( Ex.: O’Desk e RentACoder ) são um bom modo de angariar fundos e reconhecimento na comunidade. A palestra foi muito interessante e deu um novo panorama para o pessoal que busca alternativas de trabalho no exterior, por mais que seja “home office”.

GlassFish on Rails: Escalabilidade e Confiabilidade – Maurício Leal

Foi muito mais uma palestra comercial do que explicativa ou técnica. Já tinha assistido uma outra palestra dele no “Profissão Java” (Tema: Como trabalhar com Java no exterior) que falava de um assunto parecido ao do Caffo nesse evento ; a anterior foi melhor e mais interessante. Fora a imparcialidade (“jabá” da SUN) ele explicou os conceitos do Glassfish (servidor de aplicação) e como ele vem evoluindo ao decorrer das versões EE (Enterprise Edition) do Java. O objetivo era mostrar como o Glassfish, dando suporte a Rails, pode trabalhar em conjunto com o Java permitindo escalabilidade e eficiência (Glassfish + Rails dá suporte a clusterização, gerenciamento de carga e alta disponibilidade). Para os interessados eu coloco os links mais interessantes da palestra do Maurício:

Acredito que o foco da palestra poderia ser mais direto, conciso e com mais conteúdo.

Só imaturos não testam – Carlos Brando

Carlos Brando fez uma apresentação sobre o porque, o quando e como testar em Ruby on Rails. O nome da palestra foi exemplificado com um trecho do filme “Stallone Cobra“, onde ele confronta um bandido dizendo duas frases marcantes: “Você é um imaturo, você é um cocô, eu vou matar você!” e “Você é a doença, eu sou a cura”. Com essa pitada de humor ele quis “linkar” a falta de maturidade do bandido frente a situação com a realidade daqueles que desenvolvem sem ao menos testar, seja no início, meio ou fim do processo. Após o introdutório ele colocou as 7 fases para se chegar ao nível de excelência no desenvolvimento. Veja onde você se encaixa e quais os passos a serem seguidos para se tornar um “desenvolvedor avançado”:

  1. Eu posso desenvolver qualquer coisa? (fase de participação em processos fáceis);
  2. Tem alguma coisa que eu não sou capaz de desenvolver? (fase de participação em processos difíceis);
  3. Eu posso corrigir isso? (fase onde a prioridade é a manutenção de código);
  4. É possível fazer algo sem que eu precise corrigir isso depois? (fase de questionamento);
  5. Talvez eu deva escrever alguns testes… (fase de procura de “verdadeiras” soluções);
  6. Eu vou testar isso, mas só depois de terminar de codificar (fase onde a “teoria da janela quebrada” está presente);
  7. Eu escrevo testes PRIMEIRO, e só depois eu codifico (Bingo! Meus parabéns, agora você é um desenvolvedor avançado!).

E quais as vantagens de ser um “desenvolvedor avançado” ? Se você escreve testes antes de codificar o seu código é melhor; você reduz o “código especulativo”, pois os requisitos e o que deve conter na aplicação já está descrito (nada mais, nada menos); você cria documentação (o terror dos desenvolvedores, seja em questão de software ou teste) e aumenta a qualidade do seu código. Esses preceitos ditados são a base do TDD e BDD. Como o Ruby detém ferramentas muito boas para testes e tem uma relação muito grande com o “desenvolvedor avançado”, é altamente indicado para desenvolver com rapidez e qualidade , além de ser usado para testar outras linguagens (Ruby testando Java, por exemplo). Ferramentas : RSpec e Remarkable, por exemplo. Finalizando sobre a palestra, gostaria de deixar os parabéns ao Carlos Brando pela ótima apresentação e dizer aos desenvolvedores: “Testem seus imaturos!” (rs).

O que é e como funciona o RubyLearning (mini-palestra) – Willian Molinari

Willian Molinari mostrou de uma forma simples e direta como funciona e o que é o RubyLearning, ferramenta de aprendizado que oferece cursos online para interessados em Ruby. Podem participar desde iniciantes na linguagem até conhecedores de nível intermediário ou avançado. Falou sobre seus fundadores, quem ministra o curso, o seu funcionamento, materiais de estudo, fórum e etc. Apesar de todo material ser em inglês, as pessoas que se consideram “ruim de inglês” conseguem “se virar”, pois o conteúdo é bem intuitivo. Para os interessados em informações mais completas, favor acessar a página do próprio Molinari, que é um dos mentores do projeto,  e ver a sua apresentação comentada slide a slide.

Ruby, muito mais do que reflexivo! – Fábio Kung

Para aqueles que estavam esperando “conteúdo de verdade” sobre Rails, o momento tinha chegado (“Antes tarde do que nunca”!). Na minha opinião se fosse no começo do evento seria mais interessante, “prendendo” bem mais a atenção do público. Ficando para o final foi um pouco “cansativo”, depois de um dia todo de palestras. Mas Fábio deu ao público o que ele esperava : código! Mostrou muitos exemplos e ferramentas para análise e desenvolvimento, quase todos práticos. Foi uma palestra verdadeiramente técnica, mostrando o quanto Ruby é dinâmico, metaprogramável (código que gera código em execução, sem alterar o mesmo) e reflexivo. Como não tenho conhecimento suficiente para analisar desenvolvimento em Ruby e abordar de forma mais técnica o assunto, vou apenas enumerar as ferramentas apresentadas por Fábio nessa apresentação, e que são indispensáveis no auxílio ao desenvolvedor:

  • SexpProcessor: análise e geração de relatório de código estático;
  • Flog: análise de complexidade do código;
  • Roodi: análise estática de código a partir de parâmetros pré-definidos;
  • Heckle: roda testes no código, modifica o código e tenta falhar os testes escritos para o código, verificando se a cobertura dos testes está sendo feita;
  • ParseTree;
  • Rfactor;
  • Ruby2Ruby;
  • Ruby2Java;
  • Ruby2Js.

Conclusão

Achei meu primeiro contato com Ruby proveitoso, devido as várias palestras conterem muitos pontos não-técnicos, facilitando a assimilação de conceitos. Os pontos negativos foram alguns palestrantes fazendo propaganda própria (“jabá” da empresa ou projeto no qual trabalham e desenvolvem) ou comentando de maneira imparcial a respeito de Ruby frente a outras linguagens (Java, por exemplo). Só porque algumas pessoas “ostentam” conhecimento de Ruby (em qualquer nível), tem um Mac e usam camisas de cunho “inteligente”, isso não dá a elas o direito de dizer que Ruby é superior, mais “bonito e “perfeito” que outros tipos de programação; ou que programar em Java, PHP, .Net ou outras linguagens é “feio”, não tem “estilo”. Quando você faz “crítica” a uma linguagem, na verdade você deve fazer em nível de análise de um ou mais pontos, e não fazendo piadas (pejorando). Acredito que deveria haver um respeito igualitário para qualquer tipo de linguagem. Todas tem suas qualidades e peculiaridades, cabe a cada um de nós escolhê-las.

Bom, espero ter respondido a expectativa de vocês. Abaixo coloco alguns links a respeito do evento:

Aguardem o próximo relato.

Até!