Posts with the tag: rubyonrails
Todo list using a Sinatra REST API
I am attending to a post-degree program and one of its courses is Server-Side Scripting. The professor gave us a project which students should create a project and my colleague and I created a Sinatra REST API for a todo list application.
Monografia on Rails: autosimulado
Para conclusão do meu curso de Sistemas de Informação, dediquei minha monografia e trabalho de conclusão de curso ao autosimulado.
Hoje foi a apresentação da banca do trabalho de conclusão de curso e anexo abaixo minha monografia em PDF e os slides da apresentação.
Rails e cia no Snow Leopard
Fiz uma instalação nova do Snow Leopard no meu MacBook e ao migrar os dados do Time Machine, do Leopard, algumas coisas pararam de funcionar. Resolvi então escrever para complementar meu post anterior sobre o assunto.
Xcode
ANTES DE MAIS NADA, instalei o Xcode. Ele está junto no DVD do Snow Leopard, na pasta de Instalações Opcionais.
Rails
O Snow Leopard já vem com duas versões do Rails já instaladas: 2.2.2 e 1.13.6. Caso queira atualizar seu ambiente:
O que é Ruby?
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
O que é Ruby on Rails?
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.
Rails Summit: resumo do segundo dia
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'
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:
Rails Summit: resumo do primeiro dia
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
sitemap.xml no Rails
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.
Rails, Git, MySQL e mod_rails no Leopard
Comprou um Mac? Não sabe por onde começar? Esse é um mega-post mostrando como configurar Ruby on Rails, Git, MySQL e mod_rails no Leopard. É tudo muito-fácil!
Ruby on Rails
O Leopard já vem com Ruby e Rails já instalados. Então, a única sugestão é a de atualizar todos os gems. O comando gem list
deve apontar os gems instalados. Por padrão, são:
Deployment na Dreamhost e RailsPlayground
Minha aplicação Rails está pronta, mas, e agora? Como instalá-la no servidor?
Essa é uma dúvida muito comum entre desenvolvedores Rails. Fazer a configuração do ambiente de produção de uma aplicação é uma tarefa bem DIY (do it yourself, ou, faça você mesmo). Não existe uma fórmula certa ou errada para isso, mas sim diferentes soluções para essa questão. Esse artigo, portanto, mostra uma forma, que eu e o Nando usamos para rodarmos nossas aplicações. Ele na RailsPlayground e eu na Dreamhost. Vamos lá:
Por que vale a pena trabalhar com Rails
Resolvi escrever esse post após um amigo me perguntar se compensava aprender/trabalhar com Ruby e com Rails, já que é demasiadamente recente e sem apoio de grandes empresas, como acontece com o PHP e Python.
Minha curiosidade de trabalhar com Rails veio após todo o hype envolvido no framework e particularmente, depois que conheci o Orkurioso (serviço todo hypado para monitorar scraps do orkut) e vi o screencast (51MB, .mov) do David Heinemeier, junto a todas as aplicações da 37signals.
Criando RSS com Rails
Nota: antes do artigo vale lembrar do curso online de Ruby on Rails + Flex do Carlos. Ele já fez alguns experimentos com esses dois ambientes e rolou um resultado bacana. Vamos ao artigo então :P
Não sou o maior especialista em padrões de distribuição de conteúdo. Existe gente melhor para isso, mas em um projeto meu, precisei da criação de feeds. O primeiro passo é mapear o arquivos routes.rb (config/routes.rb) do seu projeto.