O que é Ruby on Rails?

9 de novembro de 2009 ~ 3 comentários ~ Tags:, ,

A essa altura do campeonato todo mundo já deve saber o que vem a ser o framework Ruby on Rails. Minha monografia e meu trabalho de conclusão de curso da Faculdade foram sobre o autosimulado. Na monografia fiz uma introdução sobre as características do framework, reproduzido abaixo:

Ruby on Rails

O framework Ruby on Rails foi extraído de um sistema para gerenciamento de projetos chamado Basecamp. A primeira versão do framework foi oficialmente lançada em 25 de Julho de 2004 e seu desenvolvimento conta com colaboradores em todo o mundo liderados pelo programador dinamarquês David Heinemeier Hansson.

MVC

Um padrão de projeto descreve e provê uma solução para um problema freqüente, sendo genérico e reusável. São criados a partir de problemas de problemas comuns enfrentados no desenvolvimento de projetos de software.
A criação de componentes reutilizáveis é uma das técnicas mais exploradas em Engenharia de Software. O uso de componentes diminui o tempo de desenvolvimento e a taxa de erros de codificação. Um padrão pode ser entendido como a abstração de detalhes sobre a implementação de um software.

MVC

Continue lendo →


O que é Ruby?

9 de novembro de 2009 ~ 2 comentários ~ Tags:, ,

A essa altura do campeonato todo mundo já deve saber o que vem a ser a linguagem Ruby. Minha monografia e meu trabalho de conclusão de curso da Faculdade foram sobre o autosimulado. Na monografia fiz uma introdução sobre as características da linguagem Ruby, reproduzido abaixo:

Ruby

A linguagem Ruby foi criada em 1993 pelo japonês Yukihiro “Matz” Matsumoto, com sua primeira versão pública lançada em 1995. Para Matz, o primeiro desejo é de Ruby tornar os programadores felizes, reduzindo o trabalho manual que precisasse ser feito. Segundo ele, o desenvolvimento de sistemas deveria enfatizar as necessidades do homem e não da máquina:

Muitas pessoas, especialmente engenheiros de computação, focam nas máquinas. Eles pensam, “Fazendo isso, a máquina será mais rápida. Fazendo isso, a máquina será mais eficiente. Fazendo isso, a máquina irá fazer determinada coisa melhor”. Eles estão focando nas máquinas. Mas de fato nós precisamos focar nos humanos, em como os humanos lidam com programação ou operação das aplicações das máquinas. Nós somos os mestres. Elas são as escravas. (VENNERS, 2003).

Ruby é uma linguagem orientada a objetos, ou seja, qualquer variável é um objeto, mesmo classes e tipos que em muitas linguagens são designadas como primitivos. Por exemplo:

putz "meu exemplo".upcase # imprimirá MEU EXEMPLO

Continue lendo →


O ecossistema Rails

15 de outubro de 2009 ~ 2 comentários ~ Tags:

Escrevo esse artigo dentro do meu voo de São Paulo para Belo Horizonte. Passei 4 dias em São Paulo, participei do Rails Summit, bloguei ao vivo um resumo das palestras e vou expor meus comentários sobre o ecossistema Rails - ou se preferir, o gueto Rails.

Trilhos da oportunidade

Conheci durante o evento vários pessoas que só conhecia pelo Twitter. Muitas dessas pessoas possuem aplicativos web, outras desenvolvem no tempo livre por prazer (como eu), outras trabalham offshore. De tudo isso, a única coisa que possuo concluir é que de fato existe um trem da oportunidade. Existem vagas para bons programadores nesse mercado, o trabalho remoto É possível e É uma realidade. Globalização é um americano morar na Argentina e contratar um programador brasileiro no evento.

Maturidade da comunidade

Rails definitivamente é mais do que somente um framework para desenvolvimento de aplicações web. Rails é resultado de um trabalho coletivo e maduro de uma comunidade. No Brasil essa comunidade é formada de gente vinda de várias tecnologias (Java, PHP, Python, programação desktop) e que se identifica com um software de opinião, com metodologias agéis e com computadores de Cupertino.

Essa pluralidade de pessoas tornam um encontro como o Rails Summit rico não somente de potenciais técnicos, mas sim de potenciais humanos.

Programadores podem ser empreendedores

Existe muita programador com vontade de empreender. As apresentações do Vinícius são uma provocação para botar para fazer. Negócios na web são como aplicações. É necessário fazer, testar, refatorar e nesse sentido a troca de experiências no Rails Summit é inspiradora a sonhar e a agir. Com Rails, aplicações são feitas rapidamente e é dessa velocidade que o seu negócio precisa.

Conclusão

Rails não é só código, é um tag que pessoas de diferentes opiniões, experiências e lugares carregam. Nessa comunidade o foto não está nos comos e sim nos porques. Após o Rails Summit, só posso confirmar o quanto é único esse gueto.


Rails Summit: resumo do segundo dia

14 de outubro de 2009 ~ 5 comentários ~ Tags:

Richard Kilmer: MacRuby

A primeira palestra do segundo dia trouxe o americano Richard Kilmer que falou sobre MacRuby, a união entre Ruby e Objective-C. Notas dos slides:

  • Problems with RubyCocoa: It's a bridge; 2 runtimes, 2 GC, different syntax
  • MacRuby 0.4: Objective-C 2 + Ruby 1.9
  • Every Ruby class is an Objective-C class
  • Every Ruby object is an Objective-C object
  • Every Ruby method is an Objective-C method
  • MacRuby é um pouco mais rápido do que Objective-C
  • MacRuby utiliza recursos de processamento paralelo do OS X
  • HotCocoa is an idiomatic Ruby API that simplifies the configuration and wiring together of Objetive-C/Cocoa classes - resumindo: simplifica a sintaxe e deixa algo mais 'Ruby Way'

imagem ilustrativa
Imagem ilustrativa

Nando Vieira: Ruby 1.9

O Nando falou do que há de novo no Ruby 1.9, tema inclusive de um PDF de sua série HOWTO. Sua apresentação, bem bonita, trouxe inúmeras notas sobre as mudanças da linguagem. Alguns pontos:
Continue lendo →


Rails Summit: resumo do primeiro dia

13 de outubro de 2009 ~ 3 comentários ~ Tags:

Esse é um rascunho do que foi abordado no primeiro dia do Rails Summit.

Chad Fowler: Insurgência Ruby on Rails

  • Stop doing things you know are wrong!
  • A primeira Rubyconf aconteceu em 2001 com 34 pessoas.
  • Nenhum dos participantes ganhava $ com Ruby.
  • 5 dos 34 participantes escreveram o Agile Manifesto.
  • "The survival rate for startups is way less than 50%. So if you're running a startup, you had betted be doing something old. If not, you're in Trouble"
  • Implante uma nova tecnologia gradativamente.
  • Don't do (.Net | Java | C++ | C | Perl l PHP) in Ruby: a razão de trocar de tecnologia é fazer as coisas diferentes!
  • Linguagens de computador são como namoradas: a nova é melhor porque você é melhor.

Gregg Pollack: Na Vanguarda da Performance em Rails

Gregg Pollack, o cara dos screencasts do RailsEnvy, falou sobre performance. Primeiramente ele trouxe em 60 segundos algumas coisinhas para otimizar apps.

  • Usar Yslow
  • Cache: Page Caching, Action Caching, Fragment Caching, Object Caching
  • Avoid Cache expiration
  • Use memcached
  • Use background process
  • Client-side caching: etags & last-modified
  • Don't pre-optimize: 99% of the time you'll need 0%
  • Don't abuse your database

Continue lendo →


Paperclip validando imagens no IE

16 de agosto de 2009 ~ Comente! ~ Tags:

No autosimulado, tive um problema onde o IE (sempre ele) não validava o mime-type de uma imagem. Mesmo tentando enviar uma imagem JPG - imagem permitida - o IEca não aceitava o arquivo. A solução:

O (pseudo)browser da turma do tio Ballmer e cia não compreende o mime-type image/jpeg e sim o image/pjpeg.


Descubra de onde vem seus usuários com SQL

12 de julho de 2009 ~ 2 comentários ~ Tags:, ,

Tenho no autosimulado algumas queries para acompanhar a evolução dos usuários do site. Periodicamente, vejo o número de usuários criados dia-a-dia no site e o número de testes realizados por esses usuários.

Relacionado as essas queries, vi uma interessante consulta para agrupar o número de usuários por domínio de email, através da função substring. Confira:

O resultado, quando aplicado ao banco de dados do autosimulado:

+-------+----------------+
| Total | Domain         |
+-------+----------------+
|   644 | hotmail.com    |
|   116 | gmail.com      |
|    98 | yahoo.com.br   |
|    37 | bol.com.br     |
|    33 | ig.com.br      |
|    15 | uol.com.br     |
|    11 | oi.com.br      |
|    10 | yahoo.com      |
|     9 | hotmail.com.br |
|     8 | terra.com.br   |
+-------+----------------+
10 rows in set (0.00 sec)


Curiosidade Ruby do dia #2

1 de julho de 2009 ~ Comente! ~ Tags:,

Em outra curiosidade Ruby do dia, eu falei do elsif. Hoje eu lembro do método succ, da classe String. Veja os exemplo:

Não é simplesmente incrível?

P.S.: o método chama-se succ e não suck. Trocadilhos desse tipo serão desconsiderados.


hirb, dados tabulados no console

1 de julho de 2009 ~ 4 comentários ~ Tags:

hirb é uma gem que, num rápido resumo, tabula e organiza em árvores dados que, entre várias origens, podem vir de um array. A instalação

gem install cldwalker-hirb --source http://gems.github.com

A partir daí, basta chamar a biblioteca (require 'hirb'), habilitá-la na execução (Hirb.enable) e correr pro abraço. Confira abaixo:


sitemap.xml no Rails

7 de junho de 2009 ~ 1 comentário ~ Tags:,

Usado para SEO, Sitemaps servem para informar aos sites de busca como indexar as páginas de um site. Indexadores descobrem páginas com base em links no site e outros sites e o que os Sitemaps fazem é complementar esses dados, para permitir que os indexadores com suporte para Sitemaps peguem todos os URLs no Sitemap e aprendam sobre esses URLs usando os metadados associados.

Existem sites para gerar o arquivo, mas fazer isso no Rails não é complicado e faremos isso em 4 passos. A dica vem do Tony no livro Advanced Rails Recipes.

Continue lendo →


Página 2 de 71234567

Últimos textos do blog

Tagcloud

abraweb acadêmico actionscript ajax apache apple arteccom asp autosimulado backup benchmark beta bh blogosfera bookmarklet bookmarklets brasil browser censura chucknorris cms codestacker concurso crítica css dashboard deployment desenvolvimento design dicas divinópolis dotmac download dreamhost economia empreendedorismo empreendorismo encontro estatísticas extreme programming feedburner firefox fireworks flash flickr ftp game git globo gmail golive google greasemonkey guerrilha hack host howto htaccess html humor ie inss internet banking iphone ipod is® javascript jquery layout leopard linux listas live locomotive mac meme microsoft miguxês minasonrails mod_rails mp3 msn mysql off tropic opensocial opera orkut oscommerce parser passenger pc personalidade pesquisa php plugin plugins pog portfolio produtividade publicidade rails refurbished regex resenha review ria rss ruby rádio safari sandbox screencast screensaver script.aculo.us seo shoutcast silverlight software spam startup stevejobs suporte swf switch são paulo teste textmate trabalho tumblelog tumblr tutorial twitter ui uml usabilidade validação viral wallop web2.0 webalizer webdesign webdevelopment webkit webmail webmobile webobjects webstandards windows wordpress xml yahoo youtube

Veja todos os textos →