• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Rails入門與新人實戰經驗分享
 

Rails入門與新人實戰經驗分享

on

  • 7,370 views

Rails 入門與新人實戰經驗分享 by 小蟹

Rails 入門與新人實戰經驗分享 by 小蟹

Statistics

Views

Total Views
7,370
Views on SlideShare
6,850
Embed Views
520

Actions

Likes
8
Downloads
62
Comments
0

2 Embeds 520

http://wildjcrt.pixnet.net 515
http://webcache.googleusercontent.com 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Rails入門與新人實戰經驗分享 Rails入門與新人實戰經驗分享 Presentation Transcript

    • Rails Ruby on Rails 1
    • Who am I• I’m• Master: Ruby & Ruby on Rails• Company: PIXNET• Site: http://belovely.tw/• Blog: http://wildjcrt.pixnet.net/ 2
    • Agenda• Introduction Ruby on Rails• Rails basic training course• Working experience• Example 3
    • IntroductionRuby on Rails 4
    • Ruby• Matz• Perl 6 pearl Ruby 7 ruby* http://www.ruby-lang.org/en/* http://www.ruby-lang.org/zh_TW/ ( )* http://ruby.tw/ ( ) 5
    • Ruby on Rails (1)• David Heinemeier Hanson (37signals)• Yehuda Katz (Engine Yard)* http://rubyonrails.org/* http://www.rubyonrails.org.tw/ ( ) 6
    • Ruby on Rails (2)• A web framework for Ruby• MVC architecture• Agile software development - Dont Repeat Yourself. - Convention over Configuration. 7
    • Website using Rails• BeLovely• Techbang• Twitter• Github•• Basecamp• ......more 8
    • In general,it takes a significantinvestment of time tolearn Rails. 9
    • Regular learning roadmap http://techiferous.com/2010/07/ roadmap-for-learning-rails/ 10
    • But,we now have another way inthe beginning. 11
    • Rails basictraining course 12
    • 2010 Ruby on Rails Rails 2• http://blog.xdite.net/?p=1754 - http://blog.xdite.net/?p=1807 - http://wildjcrt.pixnet.net/blog/post/ 26624950* This course is designed by xdite. 13
    • Course purpose• Basic knowledge - git, editor, linux cli• Useful services - CRUD, authentication, pagination, attachment files, admin backstage• Bottleneck - rack, environment setting 14
    • Course 0: Git• Open a project in github.• Practice git useful commands. - pull, push, commit, branch, add, checkout, merge, status, diff, grep* Peepcode Git Pro Git* http://wildjcrt.pixnet.net/blog/post/ 26458848 15
    • Course 0: Editor• vgod Vim - http://blog.vgod.tw/2009/12/08/vim-cheat- sheet-for-programmers/* http://c9s.blogspot.com/2009/08/vim-hacks- coscup.html* Oreilly vi vim* Pragmatic TextMate: Power Editing for the Mac 16
    • Course 0: Linux CLI• Peepcode Meet the Command Line Advanced Command Line 17
    • Reference before course* http://rails.pixnet.net/blog/category/list/1603567* http://wildjcrt.pixnet.net/blog/category/list/1431631* Ruby Programming — Ruby* Ruby for Rails - Rails Ruby* The Well-Grounded Rubyist* Rails* Agile Web Development with Rails, Third Edition* The Rails Way* Ruby Pocket Reference* Rails Recipes* Advanced Rails Recipes: 84 New Ways to Build Stunning Rails Apps 18
    • Course 1 (1)• Create a new rails project.• Setup configuration. - database.yml - .gitignore• Push to github.* http://rails.pixnet.net/blog/post/22953827 19
    • Course 1 (2)• Complete a basic forum. - Forum model CRUD (scaffold) - Post model CRUD (scaffold) - Setting routes in this format : http://example.org/forums/1/posts/2* http://rails.pixnet.net/blog/post/22956704* http://ihower.tw/training/rails-tutoral.html 20
    • Course 2• User can login / logout / signup. - Guest can view all posts. - Post needs to login forum. - User can only edit and destroy his own posts.• Plugin: http://github.com/technoweenie/ restful-authentication DRY! 21
    • Course 3• Forum posts order and paginate. - params, pagination - counter_cache - named_scope :recent• Plugin: http://github.com/mislav/will_paginate* http://railscasts.com/episodes/23-counter-cache- column* http://railscasts.com/episodes/108-named-scope 22
    • Course 4• Attachment files - PostAttachment model - form_for, multipart• Plugin: http://github.com/thoughtbot/paperclip• Plugin: http://github.com/technoweenie/ attachment_fu 23
    • Course 5• Forum can manage admin accounts.• Build backstage. - route : namespace - before_filter :require_is_admin* http://railstips.org/blog/archives/2007/04/28/ namespaces-added-to-routes/ 24
    • Course 6• Rake - create seed data - create fake data• Plugin: http://github.com/ryanb/populator* http://railsenvy.com/2007/6/11/ruby-on-rails-rake- tutorial* http://ryandaigle.com/articles/2009/5/13/what-s- new-in-edge-rails-database-seeding 25
    • Course 7 (1)• Installing Ruby on Rails environment in a pure OS (recommend Debian / Ubuntu). - Ruby Enterprise Edition - MySQL - Apache / nginx - Passenger - Capistrano 26
    • Course 7 (2)• Deploy the practice project. - Setup deploy.rb. - Create an account for deploy. - Setup ssh. - Setup database, run migration. - Setup virtual host. 27
    • Course 7 (3)* http://wildjcrt.pixnet.net/blog/post/ 26624950* http://blog.xdite.net/?p=1807* AWDR3 deploy* Ruby Pocket Reference capistrano 28
    • Another Rails Training( ) Ruby on Rails Ruby on Rails http://ihower.tw/ http://ihower.tw/ rails2/ rails3/ Rails3 *designed by ihower http://ihower.tw/blog/ 29
    • Related Link• Ruby on Rails? 2009 - http://rails.pixnet.net/blog/post/27997778• Ruby on Rails 2009 - http://rails.pixnet.net/blog/post/27997784• Rails - http://wildjcrt.pixnet.net/blog/post/26624950• Rails - http://wildjcrt.pixnet.net/blog/post/27037216• Rails from T - https://gist.github.com/758319 30
    • Workingexperience 31
    • Usual work• Development - Ex: note on your photos, trying products, SSO, ...etc.• Maintaining - Ex: crontab, daily backup, search index, ...etc. 32
    • Development new services• Planning features in the service.• Photoshop layout by art. - layout to HTML by art. - layout to Ralis by tech. 33
    • When tech get photoshop layout,• Divided to many functional blocks. (tickets)• Design models and schema by blocks. (paper and pen)• Create new branch in git.• Create Models and migrations.• Apply to controllers and views. 34
    • You maybe need to• write model method and helper methods.• write jQuery.• add your backstage services. 35
    • When tech get HTML layout• Ex: http://show.channel.pixnet/index.html• Divided into Rails layout.• Combined your functional blocks with HTML and CSS. 36
    • Finally• Deploy branch to staging.• Test and feedback for adjustment.• Repeat until service online.• Merge master and deploy to production. 37
    • Example 38
    • Plan - Main 39
    • Plan - List 40
    • Plan - Sticker 41
    • Photoshop - Main 42
    • Photoshop - List 43
    • Photoshop - Sticker 44
    • Tech - List (1) 45
    • Tech - List (2) 46
    • Tech - List (3) 47
    • Tech - Sticker (1) 48
    • Tech - Sticker (2) 49
    • Tech - Sticker (3) 50
    • Combination - Layout 51
    • Combination - List (1) 52
    • Combination - List (2) 53
    • http://belovely.tw/event/perfect 54
    • Q &A 55