Há algum tempo atrás comecei a estudar Ruby on Rails após conhecer um entusiasta da tecnologia em um Chopps em Niterói/RJ, Vinicius Manhaes Teles.
Durante o estudo da tecnologia acabei gerando uma lista com os links que mais gostei para os assuntos relacionados ao Ruby on Rails. Como essa informação pode ser preciosa para quem está começando ou para quem já sabe Rails, resolvi compartilhar com todos.
Seguem os links por assunto:
Instalação do Rails no Ubuntu:
http://brunograsselli.com.br/2009/01/instalar-ruby-on-rails-mysql-no-ubuntu.html
GIT: http://brunograsselli.com.br/2009/02/instalar-git-no-ubuntu.html
Tutoriais/links muito bons:
http://net.tutsplus.com/tutorials/ruby/20-ruby-on-rails-tutorials-to-rule-them-all/
http://www.matthewpaulmoore.com/ruby-on-rails-code-quality-checklist
Desenvolvimento rápido, muito bom (plugins + gems):
http://jimneath.org/2008/11/15/speeding-up-rails-development/
Modularização em rails:
http://railscasts.com/episodes/94-activeresource-basics
http://railscasts.com/episodes/95-more-on-activeresource
Rails e Oracle:
http://www.oracle.com/technology/pub/articles/haefel-oracle-ruby.html
http://journal.dedasys.com/2009/07/03/ruby-oci8-and-libaio
Tutorial de rake:
http://railsenvy.com/2007/06/11/ruby-on-rails-rake-tutorial
Site com um monte de gems e plugins agrupados por funcionalidade:
http://www.ruby-toolbox.com/
MUITOOOOSSS Screencasts:
http://www.learnivore.com
Menus semânticos(construção com "ul" e "li"):
http://github.com/danielharan/semantic-menu
#Assets host fora da aplicação:
config.action_controller.asset_host = "http://static.xxx.br/"
#Formularios maneiros (jquery)
http://pixelmatrixdesign.com/uniform/#example
# Template com muitas rake tasks (memcached...) e com plugins e gems interessantes. Vale a pena conferir
http://github.com/lucashungaro/eureka/blob/master/template.rb
# Muitos guias do básico ao avançado!!!! MT BOMMMMM
http://guides.rubyonrails.org
#TODO:
* Estudar ...
Comandos legais:
Alguns comandos básicos/interessantes:
* rails 'nome_aplicacao'
o Gera a aplicação rails, com tudo que tem direito
* script/generate scaffold Usuario nome:string email:string
o Gera um CRUD de usuário
* rake db:create:all
o Cria todos os bancos: teste, desenvolvimento e produção
* rake db:migrate
o Aplica todas as migrações no banco de desenvolvimento (padrão)
* rake db:migrate ENV=production
o Aplica todas as migrações no banco de produção
* rake spec
o Roda os testes do rspec
* rake spec:rcov
o Roda o relatório de cobertura de código com base nos testes do rspec
* rake stats
o Exibe as estatísticas do projeto, como por exemplo, a quantidade de linhas de código de teste por linha de código da aplicação
* Lista completa de comandos RAKE:
o http://thinkingrails.blogspot.com/2007/06/rails-rake-tasks-reference.html
* Descobrir CHAVES_ESTRANGEIRAS no MySQL:
o select distinct CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from information_schema.TABLE_CONSTRAINTS where CONSTRAINT_SCHEMA = 'NOME_DO_BANCO_DE_DADOS';
* rake gems
o Lista as gems que a aplicacao depende (baseia-se no environment.rb para isso)
* Instead of requiring 'ruby-debug' in your environment.rb, pass the flag '--debugger' when you start your server. (script/server --debugger)
Gems e Plugins interessantes:
plugin 'exception_notifier', :git => 'git://github.com/rails/exception_notification.git'
plugin 'open_id_authentication', :git => 'git://github.com/rails/open_id_authentication.git'
plugin 'asset_packager', :git => 'http://synthesis.sbecker.net/pages/asset_packager'
plugin 'role_requirement', :git => 'git://github.com/timcharper/role_requirement.git'
plugin 'restful-authentication', :git => 'git://github.com/technoweenie/restful-authentication.git'
gem 'mislav-will_paginate', :version => '~> 2.2.3', :lib => 'will_paginate', :source => 'http://gems.github.com'
gem 'rubyist-aasm'
gem 'ruby-openid'
# Saber em qual metodo uma determinada query foi chamada:
http://github.com/ntalbott/query_trace
# Indices no banco de dados:
http://github.com/eladmeidar/rails_indexes
Testes:
Video muito bom:
http://vimeo.com/7108280
sudo gem install rspec
sudo gem install rspec-rails
sudo gem install rcov
sudo gem install ZenTest
sudo gem install autotest-rails
sudo gem install autotest-growl
Instalando o ruby-growl
sudo gem install ruby-growl
touch ~/.autotestoracle
pico ~/.autotest
Adicionar a linha:
require 'autotest/growl'
Gerando o a estrutura do rspec:
./script/generate rspec
Rodando os testes:
rake spec
Relatório de cobertura:
rake spec:rcov
Colocar no /config/environments/test.rb
ENV['RSPEC']="true"
Rodar o testes automaticamente com o autotest:
autotest
# AINDA Não funcionou
#To enable the "Red / Green" plugin add the following line to your .autotest file:
#require 'autotest/redgreen'
Antes de começar, entender bem como são as User Stories e principalmente o jeito INVEST de criá-las:
http://dannorth.net/whats-in-a-story
Antes de começar, problemas e recomendações:
http://www.milfont.org/tech/2009/06/01/recomendacao-sobre-tdd/
DESENVOLVER COM TESTES ( BDD = Selenium + RSpec ) - MUITO BOM! :
http://jefferson.eti.br/?p=96
http://jefferson.eti.br/?p=105
http://jefferson.eti.br/?p=139
RSPEC:
No arquivo spec.opts, trocar:
--format progress
por
--format specdoc
ou
--format html:spec/spec_report.html
CONFIGURACAO PARA USAR SELENIUM E WEBRAT!!!
http://wiki.github.com/aslakhellesoy/cucumber/setting-up-selenium
Geraçao de Features do Cucumber: http://lowdownapp.com/
CUCUMBER + WEBRAT + SELENIUM: http://robots.thoughtbot.com/post/189412598/five-ridiculously-awesome-cucumber-and-webrat
Continous Integration with CruiseControl.rb :::
http://gist.github.com/27281
http://www.elevatedrails.com/articles/2007/05/05/ci-with-cruisecontrolrb/
Adicionar projeto ao CruiseControl.rb
./cruise add nome_projeto -s svn -r http://svn.nome_projeto.br/pasta/
--username username --password senha
Iniciar o CruiseControl.rb
./cruise start
Rotas:
Ler capítulo de rotas do Rails Way
Ver esse screencast:
http://www.teachmetocode.com/screencasts/10
Templates/HTML:
Fluid layout com YUI:
http://24ways.org/2006/intricate-fluid-layouts
YUI:
http://developer.yahoo.com/yui/layout/
Vários templates legais:
http://www.freelayouts.com/users/csstemplates
VIEW:
Trocar combobox por ajax:
http://code.google.com/p/recordselect/
FORMULARIOS:
http://code.google.com/p/jquery-asmselect/
Multi-select: http://www.emposha.com/javascript/jquery/jquerymultiselect.html
Validação: http://www.position-relative.net/creation/formValidator/
Validação de password: http://bassistance.de/jquery-plugins/jquery-plugin-password-validation/
Validação com Ajax: http://jqueryfordesigners.com/using-ajax-to-validate-forms/
Máscara para campos: http://www.meiocodigo.com/projects/meiomask/#mm_demos
Autocomplete: http://jquery.bassistance.de/autocomplete/demo/
Tooltip: http://www.codylindley.com/blogstuff/js/jtip/
Menus DropDown:
http://www.1stwebdesigner.com/resources/38-jquery-and-css-drop-down-multi-level-menu-solutions/
Autenticação/Segurança:
7 tips de segurança em Rails:
http://guides.rails.info/security.html
SSO in Rails:
http://blog.thinkrelevance.com/2007/1/8/cas-sso-and-rails
http://code.google.com/p/rubycas-server/
Email:
Com gmail, mas tem um erro no Post. No lugar de "Teste.deliver_notificar" mudar para "Notificador.deliver_notificar" :
http://www.meupost.com/2009/02/15/usando-o-gmail-para-enviar-e-mail-com-o-actionmailer-no-rails/
Nginx:
http://www.igvita.com/2008/02/11/nginx-and-memcached-a-400-boost/
http://www.joeandmotorboat.com/2008/02/28/apache-vs-nginx-web-server-performance-deathmatch/
# Servidor EBB
http://www.makemesimple.com/blog/2008/03/04/ebb-novo-web-server-para-ruby/
#Node.js
http://pgrs.net/2010/2/1/web-proxy-in-node-js-for-high-availability
http://pgrs.net/2010/2/1/web-proxy-in-node-js-for-high-availability
http://pgrs.net/2010/2/28/node-js-redis-and-resque
Capistrano:
http://articles.slicehost.com/2008/1/18/capistrano-series-configuring-capistrano-1
Para quem está começando acho que esses links valem bastante a pena! Inclusive se seguidos na ordem em que os criei.
Valeu e até a próxima!
No comments:
Post a Comment