遇見 Ruby on Rails
Upcoming SlideShare
Loading in...5
×
 

遇見 Ruby on Rails

on

  • 9,201 views

 

Statistics

Views

Total Views
9,201
Views on SlideShare
8,531
Embed Views
670

Actions

Likes
20
Downloads
233
Comments
2

9 Embeds 670

http://ihower.tw 566
http://www.slideshare.net 47
http://kongji.wordpress.com 31
http://trunk.ly 19
http://chinaonrails.com 2
url_unknown 2
http://translate.googleusercontent.com 1
http://rorwebindct.wordpress.com 1
http://www.techgig.com 1
More...

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…
  • Need : 'Ruby on Rail Developer' at NJ
    Position : Ruby on Rail Developer

    Location : NJ

    Duration : 6+ Months



    Client is looking for “Ruby on Rail Developer” Experience with Ruby on Rail Developer, Heroku or Engine Factory, ect;

    Client is Looking more of an architect on such development methodology but he/she has to know how to code too.
    Any experience on Heroku or Engine Factory would be a plus.
    Kindly send your resume along with the following information……………………….Please,

    FULL NAME:

    Best contact number:

    Current Location:

    Visa Status (US Citizen/GC):

    Availability (specify the notice period, if so required):

    Expected Hourly / PERANNUM Rate (on W2 Please specify):

    Ready to relocate to NJ, if hired for this position (Yes/No):

    Ready to Face to Face Interview (Yes/No):

    Vijay Bhaskar



    Globalnest LLC

    281 state Route 79, Suite 208

    Morganville, NJ 07751



    Voice: (732)-333-4808

    Fax: (732) 333-5946

    Email: bhaskar@globalnest.com
    Are you sure you want to
    Your message goes here
    Processing…
  • Hi

    Please find below the requirement presently open with us. Please send me your updated word format resume along with following information.



    Position : Ruby on Rail Developer

    Location : NJ

    Duration : 6+ Months



    Client is looking for “Ruby on Rail Developer” Experience with Ruby on Rail Developer, Heroku or Engine Factory, ect;

    Client is Looking more of an architect on such development methodology but he/she has to know how to code too.
    Any experience on Heroku or Engine Factory would be a plus.
    FULL NAME:

    Best contact number:

    Current Location:

    Visa Status (US Citizen/GC):

    Availability (specify the notice period, if so required):

    Expected Hourly / PERANNUM Rate (on W2 Please specify):

    Ready to relocate to NJ, if hired for this position (Yes/No):

    Ready to Face to Face Interview (Yes/No):
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

遇見 Ruby on Rails 遇見 Ruby on Rails Presentation Transcript

  • Ruby on Rails ihower@gmail.com Ruby Taiwan 2010/5@
  • Agenda • Who am I • My story about web development • Introduction to Rails • Rails on Rails live demo • Why Ruby?
  • Who am I? • (a.k.a. ihower) • • & ( ) • Ruby on Rails (since 2006)
  • http://ihower.tw/blog/
  • http://twitter.com/ihower
  • http://ruby.tw
  • Ruby Tuesday Meetings
  • http://rubyconf.tw
  • Where am I?
  • Software Desktop Mobile Web
  • Web application Ruby Java/.NET PHP Python Perl
  • My story about web development
  • 1990 Tim Berners-Lee World Wide Web
  • 1999 • • M$ FrontPage ( !) • CGI
  • 2003 • Perl CGI •
  • CGI, Perl HTML #!/usr/bin/perl open(FILE, "count.txt"); $num = <FILE>; $num++; close (FILE); open(WRITETO, ">count.txt"); print WRITETO "$num"; close (WRITETO); print <<PRINTAREA; content-type:text/htmlnn <style> <!-- body {background-color: black; line-height:1; margin-top: 0cm; margin-left: 0cm; margin-right: 0cm} --></style> <body><center> <b><font size=1 color=white> $num</font></b> PRINTAREA
  • 2002~2004 • Dreamweaver • PHP4 & MySQL
  • PHP HTML <?php $counter = intval(file_get_contents("counter.dat")) + 1; $fp = fopen("counter.dat", "w"); fwrite($fp, $counter); fclose($fp); ?> <p>Visitors: <?php echo @counter %></p>
  • PHP & MySQL <?php $db = mysql_connect("localhost", "root", "password"); mysql_query("SET NAMES 'utf8'"); mysql_select_db($SERVER['db']); ?> <html> <? $sql="select * from news where Class='1' or Class='3' order by CTDate desc limit 0,5"; $result= mysql_query($sql); while ( $arr=mysql_fetch_array($result) ) { echo <<<NEWSEND <div class="box"> <span class="box-title-1"> <b> $arr[Title] </b> $arr[CTDate] </span> <div class="box-content"> $arr[Text] </div> </div> NEWSEND; } ?> </html>
  • 2003 ( )
  • PHP sucks!
  • 2005 • PHP web framework •
  • Web framework? • MVC • ORM • URL Template Session Ajax ......
  • MVC • Model Controller View • Model • • View • Ruby HTML • Controller Model • (e.g. ) Request Model View (e.g. HTML)
  • 1. Controller 2. 3. 4. View Model DB
  • MVC? • • (DRY: Don’t repeat yourself) •
  • ORM • Object-relational mapping • @posts = Post.find(:all, :order => "id desc", :limit => 5 ) @posts.each do |post| ... end
  • ORM? • SQL • ORM routine SQL • • SQL
  • 2006 • Ruby on Rails •
  • Rails? • ( MIT ) Web database-backed • MVC (Model-View-Control ) • ( ) Ruby Ajax ORM (object-relational-mapping) • 2004 David Heinemeier Hanson(DHH) 37signals
  • • Ruby • Don’t Repeat Yourself (DRY) • • Convention Over Configuration • • •
  • Ruby on Rails ? • ( ) • ( Joomla Durpal CMS •
  • Rails • 2005 DHH Hacker • 2006 Rails Jolt • 2005~2006 Ruby/Rails 1552% • Ruby Tiobe 26 11
  • Rails ? Java(Spring/Hibernate) Rails 4 20 4 ( 5 ) 3293 1164 1161 113 / 62/549 55/126 Justin Gehtland Java Rails
  • Rails ? • Justin Gehtland Java :Rails = 3.5 : 1 • Proc.net PHP : Rails = 10 : 1 • JavaEye JAVA : Rails = 10 : 1 • thegiive( Rails ) PHP : Rails = 8 : 1
  • Rails clone
  • Rails ? M V C MVC Model-View-Control
  • Rails live demo Creating a weblog in 15 minutes
  • User stories • • • •
  • Why Ruby?
  • Ruby? • (interpreted) • • • a.k.a. Matz • Lisp, Perl, Smalltalk • Happy
  • a trivial Ruby example str = "May Ruby be with you!" 5.times { puts str }
  • the example tells us: • (typing) • • (code block)
  • code lines matters 1. more code more bugs 2. more code needs IDE 3. more code needs more time to read
  • Fred Brooks’ law “programmer generate about same amount of code per day regardless of the language”
  • • Web framework like Rails has • MVC • ORM • Ruby is • interpreted scripting language • dynamic typing language • object oriented programming
  • Rails Ruby http://ihower.tw/training
  • One more thing...
  • If I were a college student...
  • 1. Learn more programming language Scripting Language: Ruby, Python, JavaScript Functional Language: Erlang, Scala, Haskell, Clojure
  • 2. Master Unix command Line
  • 3. Use Mac or Ubuntu Windows Unix-like
  • 4. Learn Git or Hg :
  • Live demo ( )
  • 5. Learn OOP
  • 6. Be Agile ?
  • http://ihower.tw/blog/archives/1750
  • : http://local.joelonsoftware.com/wiki/The_Joel_on_Software_Translation_Project:
  • 7. Learn SQL
  • 8. Learn HTTP
  • 9. Conference & Meetings
  • • Ruby Tuesday meeting ( ) • RubyConf Taiwan (2010/4/25) • OSDC.TW (2010/4/24) • COSCUP (2010/8/14) • RubyKaigi (2010/8/27 )
  • ihower http://ihower.tw/blog/books