Translate

Tuesday, January 14, 2014

The Pragmatic Bookshelf features books written by developers for developers.

The Pragmatic Bookshelf features books written by developers for developers. As development gets more and more difficult, the Pragmatic Programmers will be there with more titles and products to help programmers stay on top of their game.

We're here to improve the lives of software developers by creating timely, practical books, ebooks and screencasts, written by programmers for programmers.

                     Who is behind http://www.PragProg.com ?

"We're Andy Hunt and Dave Thomas, otherwise known as the Pragmatic Programmers, named for our epynonymous first book in 1999, "The Pragmatic Programmer."
We're founders of the Agile software movement, and co-authored the Manifesto for Agile Development, so it seemed only natural to create an agile publishing business.

We do things a little differently.

For instance, we sell a lot of eBooks in PDF format. But our books are not encumbered with DRM; we trust that our readers are not common thieves.

In order to get cutting-edge information out to the community as fast as possible, we have our Beta Book program. With beta books, readers can purchase a book that's still in development in ebook form, and receive the final ebook (and/or paper book) when the work is completed.

We're here to help you stay on top of your game.
"


Books, ebooks in PDF, ePub (iPhone) and mobi (Kindle) formats, screencasts for all platforms. Available in bookstores around the world and online at pragprog.com.

Check this bookshelf by Titles, by Category, by Releases, by Screencast. You have fantastic books,video and audio,and magazine too. :)

The Pragmatic Studio - place to learn relevant skills,master new tools,and continually improve your craft

      More learning.       Less churning.

       The Pragmatic Studio is where developers have come since 2005 to learn relevant skills, master new tools, and continually improve their craft. Building and delivering a real application requires learning more than syntax, libraries, and APIs. To effectively craft a high-quality application, you also need to know where to start your project, what makes a good design, and how to adjust when requirements change. So that's the approach we take in our project-driven courses where you'll learn how to confidently build apps with the right tools and the right techniques.

The Pragmatic Studio is two-person company, solely owned and run by Mike and Nicole Clark.
Mike and Nicole Clark

They named company The Pragmatic Studio because they think the best software developers have a lot in common with artists and a studio is a workroom where artists practice and improve their craft.
"Our instructors have also had the privilege of helping developers learn new skills, tools, and programming techniques in hundreds of private classes offered on-site at companies around the world.  
Over 2,500 developers have attended at least one of our in-person courses, and thousands more have taken our online courses. 
Our courses are unique because they're taught by programmers who have spent substantial time in the trenches on real-world projects figuring out what works pragmatically and what doesn't.  "

All courses from The Pragmatic Studio :

1.Ruby programming with Mike and Nicole Clark

If you learn Ruby, you can master Rails.
Are you using Rails but find yourself getting stuck, or even bogged down? Do you want to really get the most out of Rails? The secret to using the Rails framework effectively is to learn the Ruby programming language. And here's the best part: Learning Ruby has benefits that go beyond Rails or even web programming. Ruby is a powerful tool in its own right. Take the time to learn Ruby now and it will continue to pay off down the road.
You can start learning Ruby today in this online training course! All of the topics and syntax in this course work seamlessly with Ruby 2.0 and 1.9. To learn more, watch the introduction video below or try out the course.

To build solid web apps (fast!), you need a good foundation.
Most folks jump right into Rails. It's absolute bliss for the first few minutes it takes to stand up a web app. Then the real programming begins. If you're comfortable writing Ruby code, it's smooth sailing from there—you'll have sustained productivity throughout the project. But if you don't have a good grasp of the Ruby programming language, then you're in for a bumpy ride. You'll likely end up spending a lot of time trying to figure out why things don't work. You might even resort to copying in some Ruby code you found on the web. Unfortunately, even if it works, you won't understand why.

Learn Ruby this week and you'll save a lot of time and frustration later.
This comprehensive online course puts you back in the driver's seat. You'll learn everything you need to know about Ruby to be a productive Rails programmer. And we take it a step further. You'll also learn Ruby design principles and techniques to help you become a better all-around Ruby programmer. We'll start at the very beginning and work step-by-step to create a complete Ruby program. You'll learn exactly how all the pieces go together, and you'll come away with the confidence that you truly understand Ruby.


 2.Ruby on Rails Programming  with Mike and Nicole Clark

Learn how to build complete Rails 4 apps step by step!
Folks trying to learn Rails tend to struggle with the same issues and ask the same questions. Where's the best place to start? How do all the pieces fit together? What are the Rails conventions really doing behind the scenes? Why does this code work (or not)? Am I doing it the right way? Trying to find answers to those questions on your own takes time away from what you really want to do: create high-quality Rails apps fast! We'll help you cut through all the confusion and get right down to what matters most.
In this comprehensive online training course you'll learn how to build a complete Rails 4 app step-by-step, from idea to deployment. You'll come away with a solid understanding of the fundamentals of Rails, and how to put all the pieces together, so you can confidently create your first Rails app or jump right into an existing app. Throughout the course you'll also learn key design principles and practices to help you craft robust and flexible Rails apps.
To learn more about this online course, watch the introduction video below or try out the course.

We're right there with you—from start to finish—with engaging instruction, live coding, and practical hands-on exercises. And since this is an online course, you can start taking it immediately, wherever you're comfortable, and work through it at your own pace.


 3.Ruby on Rails Programming  with Mike and Nicole Clark (Coming Soon)


Advance To The Next Level!
Rails II Course In our Rails 1 course, you built and deployed your first Rails app. Now you're ready to advance to the next level and take your app up a notch!
This second-level course picks up where you left off at the end of the first course. Using the same project-based approach, you'll round out the app with features including user accounts, authentication and authorization, many-to-many relationships, custom routes, and other pro-level design facets.
By popular demand, we're in the process of making this course available online with everything you've come to expect from our online courses: professionally-produced videos, practical hands-on exercises, and lots of example code.


4.Advanced Ruby programming with Mike and Nicole Clark (Coming Soon)

Master the Ruby programming language—to write more powerful libraries or improve your Rails applications—by learning advanced techniques in this hands-on course for intermediate Ruby developers.
You'll come away from this course feeling like a Ruby Master. You'll not just know Ruby in depth, you'll also understand why things are the way they are. You'll have moved beyond the basic toolbox of the average Ruby developer—you'll be able to exploit the libraries and constructs the true pros use to make their code powerful, compact, and fun to work with.
Rest of courses covers:
5.iOS Progamming with Daniel Steinberg, Matt Drance and James Dempsey (On site Training)
6.Mac OS X Programming  with Daniel Steinberg  (On site Training)

So go check this all out :)

Lynda.com - learn the skills you need to achieve your full potential

lynda.com is an online learning company that helps anyone learn software, creative, and business skills to achieve personal and professional goals.

lynda.com helps you learn the skills you need to achieve your full potential.

lynda.com is an online learning company that helps anyone learn software, design, and business skills to achieve their personal and professional goals. With a lynda.com subscription, members receive unlimited access to a vast library of high quality, current, and engaging video tutorials. New courses and topics are added every week at no extra cost. We carefully select the world’s top experts who are the best in their field, passionate about their subject matter, and know how to teach. Members tell us that a lynda.com subscription instills self-confidence and unlocks a sense of accomplishment that they have not found anywhere else.

The lynda.com Online Training Library® includes training in the latest software tools and creative techniques with videos on Photoshop, Illustrator, Dreamweaver, Flash, digital photography, web design and development, digital video, 3D, animation, and much more. The library also includes videos offering inspiration and insight from today's leading creative professionals. See a full list of courses at http://tinyurl.com/csf88k

For Ruby there is 1 online course :

Ruby Essential Training with Kevin Skoglund
 In Ruby Essential Training, expert instructor Kevin Skoglund teaches the fundamentals of Ruby, the popular object-oriented open-source programming language. Kevin begins by walking through the basic data types, demonstrating Ruby's control structures (loops, iterators, conditionals, and code blocks) and showcasing the elegant syntax structure of the language. Kevin explains variable scope and shows how to use methods, arguments, and return values to write efficient code. After covering the fundamentals, Kevin focuses on Ruby's object-oriented features. He shows how to define classes and explores OOP concepts, including instances, attributes, access control, and inheritance. Exercise files accompany the course.
Topics include:
  • Using Ruby in the Interactive Ruby Shell and in standalone scripts
  • Learning to write custom code blocks to find, merge, and sort
  • Using modules for namespacing or as mix-ins
  • Reading from and writing to files
  • Creating a full Ruby project from start to finish
 
 And for Ruby on Rails 4 online courses:

1.Ruby on Rails Essential Training (2007)  with Kevin Skoglund
Ruby on Rails aims to make building web applications simpler. In Ruby on Rails Essential Training, expert instructor Kevin Skoglund focuses on the same goal. Kevin explains the complete process—from understanding the fundamental concepts behind any Ruby on Rails project to creating full-featured, easy-to-maintain applications using the Ruby on Rails framework. Using the practical project of building an online store as an example, Skoglund teaches the basics of the Ruby language. He also covers how to design an application, how to build dynamic interfaces, how to structure and interact with databases, how to create a working shopping cart, and how to regulate user access with passwords. Exercise files accompany the tutorials.

NOTE: Several key features of Rails have changed since the release of Ruby on Rails Essential Training in the lynda.com library. The following link details these changes: www.nullislove.com.



2.Ruby on Rails Beyond the Basics (2007)  with Kevin Skoglund 
In this sequel to the popular Ruby on Rails Essential Training, expert instructor Kevin Skoglund teaches comprehensive techniques for web developers who already feel comfortable with the fundamentals of Ruby and the Rails MVC framework. This training will help developers move toward creating full-featured Ruby on Rails applications. Kevin begins by explaining how to update software and projects to the latest versions. He then demonstrates alternative ways to interact with Ruby and your Rails applications and teaches the intermediate aspects of the Ruby language. Kevin provides step-by-step instructions for creating a custom blog and content management application. He uses this practical example to show how to work with database migrations, how to get more from ActiveRecord and avoid common pitfalls, how to create flexible controllers and views, and how to improve performance, security, and code management. Exercise files accompany the tutorials.

NOTE: Several key features of Rails have changed since the release of Ruby on Rails Beyond the Basics in the lynda.com library. The following link details these changes: www.nullislove.com.
Topics include:
  • Updating software and projects
  • Understanding code blocks
  • Catching errors and raising exceptions
  • Using migrations to manage database changes
  • Improving performance with eager loading and cache counters
  • Dealing with form validations and model callbacks
  • Using partials and helpers to organize views
  • Salting passwords for increased security
  • Storing session data
  • Understanding and defining custom and named routes
  • Paginating and using plug-ins
 
In Ruby on Rails 3 Essential Training, instructor Kevin Skoglund shows how to create full-featured, object-oriented web applications with the popular, open-source Ruby on Rails framework. This course explains the complete process—from the fundamental concepts and best practices behind the Rails framework, to how to build a complete application with dynamic, database-driven content. Using a content management system as an example project, this course explains how to structure databases, build database-driven, object-oriented models, route incoming requests, render pages with dynamic content, and to process and validate form data. Previous experience with Ruby is recommended, but not required. Exercise files accompany the course.
Topics include:
  • Understanding MVC (Model View Controller ) architecture
  • Routing browser requests through the framework
  • Responding to requests with dynamic content
  • Defining associations and database relationships
  • Creating, reading, updating and deleting records
  • Working with forms
  • Validating form data
  • Reviewing built-in security features
  • Authenticating users and managing user access
  • Debugging and error handling
 
 
Join Kevin Skoglund as he shows how to create full-featured, object-oriented web applications with the latest version of the popular, open-source Ruby on Rails framework. This course explores each part of the framework, best practices, and real-world development techniques. Plus, get hands-on experience by building a complete content management system with dynamic, database-driven content. Kevin teaches how to design an application; route browser requests to return dynamic page content; structure and interact with databases using object-oriented programming; create, update, and delete records; and implement user authentication. Previous experience with Ruby is recommended, but not required.
Topics include:
  • Why use Ruby on Rails?
  • Installing Ruby on Rails on Mac and Windows
  • Rendering templates and redirecting requests
  • Generating and running database migrations
  • Creating, updating, and deleting records
  • Understanding association types
  • Using layouts, partials, and view helpers
  • Incorporating assets using asset pipeline
  • Validating form data
  • Authenticating users and managing user access
  • Architecting RESTful applications
  • Debugging and error handing
 
 See a full list of courses besides Ruby and Ruby on Rails,maybe you will find others very good courses for yourself education.

Friday, January 3, 2014

Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman (book)

Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman 

 

Theory in practice

by

 

 

Click here to download this file
Powered by ebookbrowsee.net
Very useful book that comes very helpfull from time to time, I recommend to all developers and non-developers

Rails Composer - A better way to build a Rails starter app


Rails Composer

An application template that creates a starter application for Rails 4.0 or Rails 3.2.
It’s the Rails generator on steroids. See the Rails Composer project page.
The Rails Composer application template is built from recipes provided by the rails_apps_composer gem. Need to customize the Rails Composer application template? Want to build your own application template? Use the rails_apps_composer gem.

 

What is the RailsApps Project?

 

The RailsApps project provides example applications that developers use as starter apps. Hundreds of developers use the apps, report problems as they arise, and propose solutions. Rails changes frequently; each application is known to work and serves as your personal “reference implementation.” Each application is accompanied by a tutorial so there is no mystery code. Support for the project comes from subscribers. Please accept our invitation to join the RailsApps project.

If You Are New to Rails

 

If you’re new to Rails, see What is Ruby on Rails?, the book Learn Ruby on Rails, and recommendations for a Rails tutorial.

Dependencies

 

Before running the Rails Composer tool, you need to install:
  • The Ruby language (version 2.0.0)
  • Rails 3.2 or Rails 4.0
Check that appropriate versions of Ruby and Rails are installed in your development environment:

$ ruby -v
$ rails -v

Be sure to read the article Installing Rails to make sure your development environment is set up properly.

Rails 3.2 or Rails 4.0

 

Depending on the version of Rails you use, different starter apps are available.

Creating a Starter App

 

To build a Rails application using the Rails Composer tool:
$ rails new myapp -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb
Replace myapp with the name of your application.
The $ character indicates a shell prompt; don’t include it when you run the command.
You can use the -T flag to skip Test::Unit files or the -O flag to skip Active Record files:

$ rails new myapp -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb -T -O

Skip Test::Unit if you plan to use RSpec for unit testing. Skip Active Record if you plan to use a NoSQL datastore with an ORM such as Mongoid.
See the “Troubleshooting” section below if you see errors. In general, you’ll avoid many problems if you create your application using RVM as described below.

Creating a Starter App Using RVM

 

I recommend using rvm, the Ruby Version Manager, to manage your Rails versions, as described in the Installing Rails article.
Here’s how to generate a new Rails application using the Rails Composer tool and RVM:

$ mkdir myapp
$ cd myapp
$ rvm use ruby-2.0.0@myapp --ruby-version --create
$ gem install rails
$ rails new . -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb

You can add the -T flag to skip Test::Unit files or the -O flag to skip Active Record files. Skip Test::Unit if you plan to use RSpec for unit testing. Skip Active Record if you plan to use a NoSQL datastore with an ORM such as Mongoid.
Instead of installing Rails into the global gemset and running rails new, we’ll create a root directory for a new application, create a new gemset, install Rails, and then generate a starter application.
When we create the gemset, the option “—ruby-version” creates .ruby-version and .ruby-gemset files in the root directory. RVM recognizes these files in an application’s root directory and loads the required version of Ruby and the correct gemset whenever you enter the directory.
When we create the gemset, it will be empty (though it inherits use of all the gems in the global gemset). We immediately install Rails. The command gem install rails installs the most recent stable release of Rails.
Finally we run rails new .. We use the Unix “dot” convention to refer to the current directory. This assigns the name of the directory to the new application.
This approach is different from the way most beginners are taught to create a Rails application. Our approach makes it easy to create a project-specific gemset to avoid clashes between gem versions when using the Rails Composer tool.

Choose a RailsApps Starter Application

 

Use Rails Composer to generate any of the example applications from the RailsApps project. You’ll be able to choose your own project name when you generate the app. Generating the application gives you additional options.
To build the example application, Rails must be installed in your development environment.

Rails 3.2 or Rails 4.0

 

Choices of starter applications will differ depending on whether you are using Rails 4.0 or Rails 3.2.
Here’s an example:

$ rails new myapp -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb

The $ character indicates a shell prompt; don’t include it when you run the command.
You can use the -T flag to skip Test::Unit files or the -O flag to skip Active Record files:

$ rails new myapp -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb -T -O

This creates a new Rails app named myapp on your computer. You can use a different name if you wish.

Rails 4.0

 

With Rails 4.0, you’ll see a prompt:

question  Install an example application for Rails 4.0?
      1)  Build a RailsApps starter application
      2)  Build a contributed application
      3)  I want to build my own application

Enter “1” to select Build a RailsApps starter application. You’ll see a prompt:
 
question  Starter apps for Rails 4.0. More to come.
      1)  learn-rails
      2)  rails-bootstrap

Make your choice. The Rails Composer tool may give you other options (other applications may have been added since these notes were written).

Rails 3.2

 

With Rails 3.2, you’ll see a prompt:
 
question  Install an example application for Rails 3.2?
          1)  I want to build my own application
          2)  membership/subscription/saas
          3)  rails-prelaunch-signup
          4)  rails3-bootstrap-devise-cancan
          5)  rails3-devise-rspec-cucumber
          6)  rails3-mongoid-devise
          7)  rails3-mongoid-omniauth
          8)  rails3-subdomains

None of these Rails 3.2 example applications are available for Rails 4.0.

Options

 

The application generator template will ask you for additional preferences:
 
 question  Web server for development?
       1)  WEBrick (default)
       2)  Thin
       3)  Unicorn
       4)  Puma
 question  Web server for production?
       1)  Same as development
       2)  Thin
       3)  Unicorn
       4)  Puma
 question  Template engine?
       1)  ERB
       2)  Haml
       3)  Slim
 question  Continuous testing?
       1)  None
       2)  Guard
 question  Front-end framework?
       1)  None
       2)  Zurb Foundation 5.0
       3)  Zurb Foundation 4.0
       4)  Twitter Bootstrap 3.0
       5)  Twitter Bootstrap 2.3
       6)  Simple CSS
   extras  Set a robots.txt file to ban spiders? (y/n)
   extras  Create a GitHub repository? (y/n)
   extras  Use or create a project-specific rvm gemset? (y/n) 
 

Web Servers

 

We recommend Thin in development for speed and less noise in the log files.
If you plan to deploy to Heroku, select Thin as your production webserver. Unicorn is recommended by Heroku but configuration is more complex.

Template Engine

 

The example application uses the default “ERB” Rails template engine. Optionally, you can use another template engine, such as Haml or Slim. See instructions for Haml and Rails.

Continuous Testing

 

You won’t need “continuous testing” if you are a beginner. Select “none.”

Front-end Framework


If you choose a front-end framework, you’ll get an application layout file, plus navigation and flash messages, styled with a default theme.

Other Choices

 

Set a robots.txt file to ban spiders if you want to keep your new site out of Google search results.
If you choose to create a GitHub repository, the generator will prompt you for a GitHub username and password.
It is a good idea to use RVM, the Ruby Version Manager, and create a project-specific rvm gemset (not available on Windows). See Installing Rails.
h2. Build Your Own Application
If you choose “I want to build my own application,” you will get a wide set of choices.
These options are for experienced developers. Expect to spend time debugging your starter application as not all options are tested or fully supported.
Here’s an example of what you’ll see using Rails 4.0:

 
question  Install an example application for Rails 4.0?
      1)  Build a RailsApps starter application
      2)  Build a contributed application
      3)  I want to build my own application

question  Web server for development?
      1)  WEBrick (default)
      2)  Thin
      3)  Unicorn
      4)  Puma

question  Web server for production?
      1)  Same as development
      2)  Thin
      3)  Unicorn
      4)  Puma

question  Database used in development?
      1)  SQLite
      2)  PostgreSQL
      3)  MySQL
      4)  MongoDB

question  Template engine?
      1)  ERB
      2)  Haml
      3)  Slim (experimental)

question  Unit testing?
      1)  Test::Unit
      2)  RSpec
      3)  MiniTest

question  Integration testing?
      1)  None
      2)  RSpec with Capybara
      3)  Cucumber with Capybara
      4)  Turnip with Capybara
      5)  MiniTest with Capybara

question  Continuous testing?
      1)  None
      2)  Guard

question  Fixture replacement?
      1)  None
      2)  Factory Girl
      3)  Machinist
      4)  Fabrication

question  Front-end framework?
      1)  None
      2)  Zurb Foundation 4.0
      3)  Twitter Bootstrap 3.0
      4)  Twitter Bootstrap 2.3
      5)  Simple CSS

question  Add support for sending email?
      1)  None
      2)  Gmail
      3)  SMTP
      4)  SendGrid
      5)  Mandrill

question  Authentication?
      1)  None
      2)  Devise
      3)  OmniAuth

question  Devise modules?
      1)  Devise with default modules
      2)  Devise with Confirmable module
      3)  Devise with Confirmable and Invitable modules

question  Authorization?
      1)  None
      2)  CanCan with Rolify

question  Use a form builder gem?
      1)  None
      2)  SimpleForm

question  Install a starter app?
      1)  None
      2)  Home Page
      3)  Home Page, User Accounts
      4)  Home Page, User Accounts, Admin Dashboard

extras  Add 'therubyracer' JavaScript runtime (for Linux users without node.js)? (y/n)
extras  Set a robots.txt file to ban spiders? (y/n)
extras  Create a GitHub repository? (y/n)
extras  Use application.yml file for environment variables? (y/n)
extras  Reduce assets logger noise during development? (y/n)
extras  Improve error reporting with 'better_errors' during development? (y/n)
extras  Use or create a project-specific rvm gemset? (y/n)
 

Run the Application

 

Switch to the application directory to examine and test what you’ve built.
 
$ cd myapp 
 

Quick Test

 

For a “smoke test” to see if everything runs, display a list of Rake tasks.
 
$ rake -T

There’s no need to run bundle exec rake instead of rake when you are using rvm (see rvm and bundler integration).

Start the Web Server

 

If you’ve chosen WEBrick or Thin for your web server, can run the app by entering the command:

$ rails server

To see your application in action, open a browser window and navigate to http://localhost:3000/.
For the Unicorn web server:

$ unicorn

See the app at http://localhost:8080/.
For the Puma web server:

$ rails server puma

See the app at http://localhost:3000/.

Login

 

If you’ve created a version of the application that sets up a default user, log in with:
  • email: user@example.com
  • password: changeme
You should delete or change any pre-configured logins before you deploy your application.

Testing

 

Some versions of the starter application will contain a suite of RSpec unit tests or Cucumber scenarios and step definitions.
After installing the application, run rake -T to check that rake tasks for RSpec and Cucumber are available.
Run rake spec to run all RSpec tests.
Run rake cucumber (or more simply, cucumber) to run all Cucumber scenarios.
Please send the author a message, create an issue, or submit a pull request if you want to contribute improved RSpec or Cucumber files.

Deployment

 

For easy deployment, use a “platform as a service” provider such as:
For deployment on Heroku, see the article:

 

Troubleshooting

 

Problems? Please check both issues for the Rails Composer tool and the issues for the rails_apps_composer gem.
You should review the article Installing Rails to make sure you’ve updated all the components that are required to run Rails successfully.

Problems with “Could not be loaded… You have already activated…”

If you get an error like this:

 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
    composer  Running 'after bundler' callbacks.
The template [...] could not be loaded.
Error: You have already activated ..., but your Gemfile requires ....
Using bundle exec may solve this.
 

It’s due to conflicting gem versions. See the article Rails Error: “You have already activated (…)”.

Problems with “Certificate Verify Failed”

 

Are you getting an error “OpenSSL certificate verify failed” when you try to generate a new Rails app from an application template? See suggestions to resolve the error Certificate Verify Failed.

Problems with “Segmentation Fault”

If you get a “segfault” when you try rails new, try removing and reinstalling rvm.

Application Template Default

 

The rails new command creates a new Rails application. If you want to use the Rails Composer application template for every Rails application you build, you can set options for the rails new command in a .railsrc file in your home directory. Here’s how to set up a .railsrc file to use the template when you create a new Rails application:
 
# ~/.railsrc
-m https://raw.github.com/RailsApps/rails-composer/master/composer.rb
 

Documentation and Support

 

The Rails Composer application template is assembled from recipes supplied by the rails_apps_composer gem. See the rails_apps_composer project to understand how the Rails Composer application works.

Customizing the Template

 

If you wish to change the template to generate an app with your own customized options, you can copy and edit the template file. However, it is better to use the rails_apps_composer gem to create a new application template. You’ll find newer versions of the recipes that make up the application template. You may find issues have been identified and (perhaps) fixed. And it will be easier to maintain your application template if you work from the rails_apps_composer gem.

Writing Recipes

 

To understand the code in these templates, take a look at Thor::Actions. Your recipes can use any methods provided by Thor::Actions or Rails::Generators::Actions. A big thanks to Yehuda Katz for creating Thor.

About Rails Application Templates

 

There is an unfinished Rails Guide on Rails Application Templates.
Also see:
Cooking Up A Custom Rails 3 Template (11 Oct 2010) by Andrea Singh
Rails Application Templates (16 Sept 2010) by Collin Schaafsma
Application templates in Rails 3 (18 Sept 2009) by Ben Scofield
Railscasts: App Templates in Rails 2.3 (9 Feb 2009) by Ryan Bates
Rails templates (4 Dec 2008) by Pratik Naik

Similar Projects

 

There are many similar projects:

Creating a Blog application in Rails 3.2 (video tutorial)

          Would you like to learn how to create a simple application using Ruby on Rails? Ruby on Rails is becoming very popular because sites can be developed quickly, often in half the time the other technologies require.

This is one of the coolest video tutorials that demonstrates power of RoR, and shows how to make a Blog.

In the video below, you'll learn how to create a simple blog application with Ruby on Rails.

 A screencast by John Ash, Senior Developer at K3 Integrations.


          Sample app

      - Goal : Setup a simple  blogging system for multuple authors
      - Users can login to manage their posts
      - Posts can belong to more than one category
      - Posts can be entered early but only show up on the publish date
      - Hompage - show all posts
      - Each post's categories link to a page showing only posts in that category
      - User's page - shows posts only from that user

          Model
      User
        - name, string
        - email, string
        - Association: has_many: posts
   
      Post
        - title, string
        - body, text
        - publish_date, date
        - Association: belongs to :user
        - Association: has_and_belongs_to_many :categories

      Category
        - name, string
        - Association:  has_and_belongs_to_many :posts


          Create the Rails application
 For this you will be using one of the options of Rails Composer. Generate an app in minutes using an application template. The link for this app in video tutorial is bit old, I advise to get more infos and intros of Rails Composer and look for same or similar what is needed.


Why we need to choose Ruby on Rails for your web app

           Ruby on Rails, popularly known as RoR, is developed using the Model-View-Controller (MVC) design pattern along with the agile development methodology. Ruby on Rails is intended to emphasize Convention over Configuration (CoC), and the rapid development principle of Don’t Repeat Yourself (DRY).


Benefits of Ruby on Rails

  • Development Speed
Ruby on Rails allows features to be developed quickly by using existing methods and components with the help of modular design. The factors behind its time saving results include- modular design, leaner code base and availability of existing gems/plug-ins. So the development cycles in Rails are shorter as compared to it’s counterparts.
  • Flexibility
In Rails, there are lots of in-built components of specific functionalities already available. These modules can be reused in development rather than building everything from scratch. Ruby on Rails offers the ability to easily modify a web application in response to customers needs.
  • Cost-effectiveness
In addition to the flexibility and development speed, Ruby on Rails is an open source web application framework which helps in developing cost-effective web applications without sacrificing performance, speed and quality.
  • High code quality
The Ruby development community is very active and responsive. There are a lot of resources available over the Internet and any problem encountered during ROR development can be easily solved by communicating to the community. Also security updates and bug fixes are released regularly which helps in maintaining top notch code quality for application development.
  • Industry support
There are many Ruby on Rails web hosting/consulting companies such as AWS (amazon EC2), Heroku & EngineYard offering cloud based services. They offer scalable hosting environment and provide support for development and deployment of RoR applications.