BookNotes : Practical Rails Projects
Once in a while; when I try to remember something that I read in some book some time ago, I don't usually succeed in that and then I have to start from scratch which is like DRY. So, I'm trying to do something new here by posting anything interested and useful that I read in a book. This is like a customized index to the book.
The following notes are from a book titled "Practical Rails Projects". In my quest to learn as much languages as I can, I found it refreshing to learn about rails and ruby. There are a number of things from Rails that I'd like to see tightly integrated with ASP.NET. With more dynamic features in C#, ASP.NET MVC, MonoRail and SubSonic, I'm sure it will be fun again to develop with .NET :).
A little summary of the book. Pratical Rails Projects covers a niche area of learning. While you get to learn about the basics of Ruby and Rails in "Agile Web Development with Rails" and get in depth with "The Rails Way", you still need to learn how to effectively apply the technology on a real-life project. While many of the projects built in the book are not real-life examples but they all have the potential. Anyway, you get the idea, right? So here are the notes:
- Chapter 1: About installing Rails, Setting up a project so skipping it.
- Chapter 2:
- Stylesheets: YUI reset-fonts-grids.css for CSS layouts
- Freezing Rails:
- Freeze other gems: http://nubyonrails.com/articles/2005/12/22/freeze-other-gems-to-rails-lib-directory
- Chapter 3,4,5: MonkeyTasks: A Todo list application
- User authentication and management: acts_as_authenticated plugin
- before_filter, after_filter - AOP like methods on controllers
- Create model with --skip-migration to bypass the creation of migration file
- Chronic gem( gem install chronic) : natural language parser for date (Yesterday, this Monday etc)
- Calendar plugin: http://topfunky.net/svn/plugins/calendar_helper/
- Design tip: Skinny controllers, Fat models
- Chapter 6,7,8: Exercisr : REST based application
- Mapping resources for REST
- scaffold_resource
- Authentication: restful_authentication
- Graphs:
- CSS Graphs: Plugin: http://topfunky.net/svn/plugins/css_graphs
- Sparklines: gem install sparklines
- Gruff: gem install gruff
- Scruffy: gem install scruffy (gruff for svg)
- Ziya
- Chapter 9: Blog application
- Typo: http://typosphere.org/
- Rails startup process
- Schema.rb for complete database schema
- AOP around_filter
- Nifty Corners: http://www.html.it/articoli/niftycube/index.html
- Chapter 10: Simple Blog: Web Services, MetaBlog API, Blogger API
- Action Web Service: SOAP and XML-RPC based services
- Using ExtJS for Layout: www.extjs.com
- Pagination: will_paginate plugin: svn://errtheblog.com/svn/plugins/will_paginate
- Creating a URL with title text: title.gsub(/[^a-z1-9]+/i, '-')
- Permanent link: plugin: http://svn.techno-weenie.net/projects/plugins/permalink_fu/
- Adding comments to a web page: http://juixe.com/svn/acts_as_commentable
- Tagging: acts_as_taggable, acts_as_polymorph
- Chapter 12, 13, 14: Comic: Caching
- Attachments: Attachment Fu, http://svn.techno-weenie.net/projects/plugins/attachment_fu/
- Page Caching: caches_page, expire_page. Will not work for different types of users.
- Cache sweeper
- Action caches: caches_action :index, :webcomic. Causes duplication
- Fragment caching: cache do .. End
- Rails forum: http://svn.techno-weenie.net/projects/beast/
- Chapter 15, 16, 17: Church Community
- Users, Profiles, Blog, Home Page, Comments, Photo Gallery, Rich edit control
- Batch image uploading with SWFUpload, activeupload
- Image cropping: http://kropper.captchr.com/ works with attachment_fu
- Chapter 18: Gaming Trends: Rewrite of an old PHP project
- ExtJS layouts, grids
- Applying Rails database migrations for an existing database
- Building a custom generator
- In Place Edit
- Versioning: acts_as_versioned
- Acts_as_paranoid, delete_at check in database instead of actually deleting the record.
- Chapter 24: Highrise
- Mashup with Highrise API, Yahoo Maps, ExtJS
- Rails 2.0 features