Ruby on rails framework


Ruby on rails framework

          Ruby on rails framework : RoR หรือนิยมเรียกสั้นๆ ว่า เรลส์ (Rails) เป็นระบบเฟรมเวิร์กสำหรับเว็บแอปพลิเคชันแบบโอเพนซอร์ส ที่พัฒนาด้วยภาษา Ruby โดยอิงแนวความคิดแบบ Model-View-Controller (MVC) เป็นสถาปัตยกรรมพื้นฐาน รูบีออนเรลส์ มีชื่อเสียงจากความง่ายในการใช้งาน โดยใช้การเขียนโปรแกรมจำนวนน้อยบรรทัดกว่า และมีการระบุค่าตั้งน้อยกว่าเฟรมเวิร์กที่ออกมาก่อนหน้าตัวอื่นๆ การติดตั้งรูบีออนเรลส์ทำได้โดยผ่านระบบ RubyGems ซึ่งเป็นระบบการจัดการส่วนประกอบในภาษารูบี้อย่างเป็นทางการ1
         ข้อดีของ framework ตัวนี้ คือ พื้นฐานสามารถ Generate webpage ได้คล้ายกับ CMS แต่มีการยืนหยุนในการใช้งานสูงกว่ามาก เหมาะมากสำหรับทำเป็น Web Application ใช้งานง่าย สะดวก โดยผู้ที่จะใช้งานต้องมีความรู้ด้านภาษา Ruby และความรู้เกี่ยวกับ CSS+MySQL+HTML บ้าง เพื่อให้การสร้างและประยุกติใช้งานต่างๆให้ตรงตามความต้องการมากยิ่งขึ้น 
Lest Go >>>>

         หากจะเริ่มต้นพัฒนา Web Application โดยใช้ Ruby On Rails Framework จะต้องลง Tool สำหรับการพัฒนาระบบ ซึ่งตัวติดตั้งที่ผมแนะนำคือ RailsInstaller (railsinstaller.org) ที่ผมแนะนำตัวนี้เพราะเป็นตัว setup ที่รวมทุก packet ที่จำเป็นและอาจใช้ไว้เรียบร้อยครบถ้วน เพียงติดตั้งเสร็จก็สามารถใช้เลยได้ทันที ไม่ต้องยุ่งยากในการ config path กับ OS อีกด้วย เหมาะสำหรับคนที่ต้องการความรวดเร็ว แต่หากคุณอยากลงเฉพาะ packet บางตัวที่ใช้ คุณก็สามารถติดตั้งเองได้โดยมาติดตั้งเองทีล่ะตัว ซึ่ง RailsInstaller จะมีตัวติดตั้งบน Windows และ MacOSX
Windows ruby 1.9Mac OSX 10.7&10.8
Packages included are
    - Ruby 1.9.3-p392
    - Rails 3.2
    - Bundler
    - Git
    - Sqlite
    - TinyTDS
    - SQL Server Support
    - DevKit
Packages included are
    - Ruby 1.9.3-p392
    - Rails 3.2
    - Bundler
    - Git
    - Sqlite
    - osx-gcc-installer
    - JewelryBox
    - RVM
    - SM Framework

Extra!! 
smiley Bootstrap
 (front-end framework)
             เป็นเครื่องมือสำหรับนักพัฒนาเว็บไซต์แบบง่ายๆ โดยไม่ต้องเขียน css, js เองให้ยุ่งยาก เพราะมีคนเขียนมาให้แล้ว เพียงแค่เราโหลดมาแล้วก็เรียกชื่อมันใช้งานเท่านั้นเอง หน้าตา ก็สวยงาม ทันสมัยดี ถ้านึกหน้าตาไม่ออกก็ให้นึกถึง Twitter ฟอร์ม ปุ่ม เหมือนกันเพราะมาจากค่าย Twitter2 แต่ที่คุณจะได้งานได้ก็ต่อเมื่อติดตั้ง bootstrap เข้าไปใน rails ก่อนครับ วิธีการมีดังนี้ .....

เข้าไปที่ Gemfile
source 'https://rubygems.org'
gem 'rails', '3.2.12' //เพิ่มบรรทัดนี้เข้าไป

เมื่อ save sourcecode จากนั้นพิมพ์คำสั่ง
bundel install ที่ commandline

             รอจนติดตั้งเสร็จ ก็สามารถเรียกใช้ได้เลย ส่วนข้อมูลว่าคำสั่งไหนจะสร้างหรือเปลี่ยนแปลงอะไรบ้าง เข้าดูได้ที่twitter.github.io/bootstrap/scaffolding.html ยังมี base css/component/Java script อีกลองหาดูครับ ผมให้เป็น url เบื้อนต้นไป
smiley Jetstrap (The Bootstrap Interface Builder)
            และเพื่อให้ง่ายของง่ายขึ้นมาอีก ก็สามารถไปออกแบบ bootstrap บน web ที่บริการด้านนี้โดยเฉพาะ คุณจะสามารถที่จะออกแบบหน้าเว็บที่คุณต้องการ รวมถึง Form ของหน้าเว็บต่างๆของเว็บคุณได้อย่างง่ายดาย แค่ลากๆมาต่อกันให้เป็นแบบตามที่คุณต้องการ เพิ่มปุ่มเพิ่มกล่องข้อความได้ตามต้องการ จากนั้นเมื่อออกแบบเสร็จก็ export code มาแป๊ะไว้ในส่วนที่ต้องการ เขียนการเชื่อมต่ออีกเล็กน้อย เช่น ปุ่มต่างๆที่คุณสร้างขึ้น(ถ้ามี) เพียงเท่านี้ก็เรียบร้อย ใครจะลองดูก็เข้าไปใช้ได้ที่jetstrap.com

smileyMailCatcher (Easy catches mail from SMTP server)
           ถ้าใน web app ที่คุณ implement ขึ่น มีระบบ authentication การยืนยันตัวตนผ่านทาง mail ซึ่งหากคุณ register account เรียบร้อยระบบของ rails ก็จะทำการส่ง mail ตามปกติเพื่อไปยืนยันการเปิดใช้งาน แต่ถ้าคุณไม่ได้ config server mail ก็ไม่สามารถรู้ว่า rails ได้ส่ง mails ยืนยันจริงหรือเปล่า ซึ่ง tools ตัวนี้มาแก้ปัญหานี้ เมื่อคุณทำการ config เรียบร้อย มันจะเป็นตัวดัก mail ดีๆนี่เอง เอาเป็นว่า เมื่อ rails ส่งอะไรออกมาที่เป็น mail มันก็จะมาเข้าในนี้ ทำให้คุณสามารถเปิดอ่าน ทอสอบการยืนยันได้ทันที ส่วนวิธีติดตั้งและข้อมูลลึกๆว่ามันจะอะไรได้บ้างที่เยอะกว่าสี้ ดูได้ที่ blog ผมเลย 9chooknow.blogspot.com/2013/03/mailcatcher-easy-catches-mail-from-smtp.html
smileyGit+Bitbucket
           GIT เป็นซอฟต์แวร์ที่ใช้ในการจัดการและ Full Sharing ซอร์ซโค้ดเป็นเวอร์ชั่นๆ ส่วน bitbucket.com จะเป็นเว็บที่ให้บริการ GIT ซึ่งเป็น Social Codingสำหรับ developers อย่างพวกเรา ทำไมต้องใช้ เพราะ บางครั้งเมื่อเราทำงานไปถึงจุดๆหนึ่งเราอยาก spare code ไว้ เพราะ กลัวว่าถ้าทำแล้วพังไม่อยากที่จะต้องทำใหม่ แล้วอยากจะ spare code ง่ายๆไม่ยุ่งยาก Git จึงเป็นตัวตอบโจทย์ได้ดีเลยทีเดียว เพราะเมื่อคุณทำงานเสร็จ step นึง คุณก็สามารถ upload spare code ของคุณขึ้นไปฝากไว้  ซึ่งในการ upload แต่ล่ะครั้งระบบก็จะเก็บการเปลี่ยนแปลงของแต่ล่ะครั้งไว้ด้วย ดังนั้นเมื่อ code เจอบักอย่างรุนแรงหรือทำ code เสียหายจนกู้กลับมาไม่ได้ จำเป็นที่จะ clone code ที่ upload ไว้ก่อนหน้ากลับมาคุณก็สามารถดึงลงมาได้ และยังสามารถเลือกดึงครั้งที่ upload เช่น ก่อนหน้าครั้งที่เรา upload ก่อนหน้าล่าสุด clone ลงมาอีกด้วย และนอกจากนี้มันสะดวกต่องานที่ทำร่วมกันหลายๆคนด้วย เอาเป็นว่าใครต้องการข้อมูลอย่างล่ะเอียดหรือวิธีการทำงานรวมถึงวิธีติดตั้ง เข้าไปอ่านได้ที่ 9chooknow.blogspot.com/2013/03/git-bashgithubbitbucket.html ครับ
smileySQLite Spy
           เป็นโรมแกรมจัดการ database ที่ผมแนะนำตัวนี้เพราะโปรแกรมตัวนี้มีขนาดที่เล็ก เพียงแค่ 898K เท่านั้น แต่ประสิทธิภาพเกินขนาดมาก สามารถเข้าถึงและจัดการ database ได้อย่างรวดเร็วมาก สามารถอ่าน SQLite3 และรัน SQL ส่วนติดต่อผู้ใช้แบบกราฟิกทำให้ง่ายในการวิเคราะห์และจัดการฐานข้อมูล Download ฒาใช้ได้ที่ http://www.mediafire.com/?nfftjx3j2xin36f

smileySublime Text 2
          เป็น program code developer ที่ผมว่าเจ๋งสุดแล้ว มาดูข้อดีของมัน
            -  เร็วมาก ทั้งตอนเปิดโปรแกรม เรียกไฟล์ หรือฟังก์ชั่นต่างๆ
            -  Multiple Cursors สามารถ แก้ไขหลายๆ ที่ในทีเดียว ช่วยประหยัดเวลาได้มาก
            -  แต่ง Theme ได้เอง และมีแบบที่คนทำไว้ให้เยอะมาก
            -  Split Screen สามารถแบ่งหน้าจอการทำงานได้ แบบเป็นคอลัมป์ เป็นแถว หรือเป็น grid
            -  Command Palette > ทำหน้าที่คล้ายๆ spotlight ใน Mac ที่หาอะไรไม่เจอ ก็พิมพ์เข้าไป เดี๋ยวมันจะหาคำสั่งนั้นมาให้เอง สะดวกมากๆ
            -  Minimap สำหรับดูว่าเราแก้โค้ดส่วนไหนของไฟล์อยู่
            -  Sublime Package Control เป็น plugin ที่ช่วยให้เราควบคุม package ต่างๆ ที่เราจะลงเพิ่มใน sublime text ได้3
          และที่สำคัญมีทั้ง OSX ,Linux และ Windows โหลดได้ที่ sublimetext.com/2 
สุดท้ายมาดูงานที่ผมลองทำดูตอนฝึกงานกันเลยครับ

คุณสมบัติของ WebApp ที่ออกแบบ:
- มีระบบ authentication
   - มีระบบยืนยันการสมัครผ่าน E-mail
   - Admin สามารถ Destroy&Edit Post ได้อย่างเดียว
   - User สามารถ Comment ในแต่ล่ะ Post ได้
   - User สามารถเปลี่ยน E-mail,Password และ ยกเลิก Account ของตัวเองได้
- Head Blog
   - มีภาพ Slide โชว์
   - สามารถเรียงลำดับการ Show Post ผลจากใหม่สุดไปยังเก่าได้

ถ้าคุณใช้ Git เป็นแล้วสามารถโหลด WebApp ของผมมาดูได้ครับ ที่ https://bitbucket.org/ichooza/newblog
ปล.เมื่อ bundle install และ rake db:migrate เรียบร้อยแล้ว เงื่อนไขที่จะเข้าได้ปกติ คือ จะต้องมีโพสอย่างต่ำ 5 โพส ถึงจะแสดงผลได้ ดังนั้น คุณจะต้องสร้าง Admin (วิธีไหนก็ได้ แต่ที่แนะนำ เพิ่ม field โดยตรงใน DB ผ่านโปรแกรม SQLite Spy จะง่ายสุด) แล้ว create post/new จำนวน 5 post ก่อนครับ
-----------------------------------------------------------------------------------------------------------------------
Reference:
th.wikipedia.org/wiki/รูบีออนเรลส์ 
http://www.baleethai.com/index.php/bootstrap
http://nicha.in.th/2012/11/sublime-text2-มันเจ๋งยังไง/ 
pic head from : http://www.techlitic.com/advantages-of-ruby-on-rails-over-other-languages.html

#Write from my Nexus4

Comments

Popular posts from this blog

interpreter กับ compiler ต่างกันยังไง?

Source file not compile Dev C++ win 8, win 8.1 , win10

LTE CAT3/4/6 + มือถือ 4G ซื้อให้ดีต้องดูถึง Network Technology Bands