Skip to main content

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

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

เห็นใครหลายๆลง  Dev-C++ บน Windows 8,8.1,10 แล้วมันเกิดปัญหาขึ้นคือ พอเขียนโค๊ดโปรแรมเสร็จ แล้วกด Compile ปรากฏว่า โปรแกรมขึ้นแจ้งเตือน "Source file not compile" จึงหันไปลง X-Code กันเพื่อแก้ปัญหา  ผมก็อยากลองดูว่าจริงหรือเปล่า และพอจะแก้ได้ไหม เพราะว่า รุ่นน้องที่ลงแลปวิชาภาษา C ในมหาลัยผม จะสอนใช้ Text-Editor+Compiler ตัวนี้ ก็เลยไปโหลดมาติดตั้ง ปรากฏว่าเป็นจริงๆ TT ( ผมโหลดเจ้าตัว Dev-C++ 5.0 beta 9.2 (4.9.9.2) with Mingw/GCC 3.4.2มาลอง) ก็เลยลงมือแก้หาสาเหตุดู ปรากฏว่า เจอปัญหาที่ gcc ของ MinGW ใน Packet ของ DevC++ ยังเป็นรุ่นเก่า พออัพเดทใหม่แล้วได้ เลยคิดว่า สาเหตุน่าจะเกิดปัญหามาจากตัวนี้ ก็เลยเอาวิธีมาแชร์ๆกัน


Update 11/10/2014 --------------
เนื่องจาก MinGW (Minimalist GNU for Windows) ได้เปลี่ยน UI ใหม่ บางท่านอาจงง



Dev-C++ 5.0 beta 9.2 (4.9.9.2) with Mingw/GCC 3.4.2
วิธีการแก้ง่ายนิดเดียวครับ!!
ก็คือ ลง MinGW ใหม่ โหลดตามลิ้งนี้เลย  เมื่อโหลดเสร็จจากนั้นก็ทำการติดตั้งตามปกติ







[PSU] วิธีการขอ License Win 7,8,8.1,10 ของแท้ฟรี

[บทความนี้ใช้งานได้เฉพาะ น.ศ.หรือบุคลากร ม.อ.]       
       ช่วงนี้เห็นกระแสเริ่มขอ License แท้เริ่มบูมขึ้นมา ปกติจะไม่ค่อยมีใครสนใจซักเท่าไหร่ หรืออาจเป็นเพราะ เบื่อที่ต้อง Crack Windows ให้เป็นของแท้ ไม่ก็กลัวอะไรหลายๆอย่างที่เราไม่รู้ ...ก็...เป็น...ได้
        ผมว่าใคร Crack Windows เนี่ย น่ากลัวมากน่ะ เพราะโปรแกรมที่เอามา Crack เป็นของใครก็ไม่รู้ทำไว้ ยิ่งตอนติดตั้ง คุณต้องรันสิทธิเป็น Admin อีก ไม่อย่างนั้นโปรแกรมจะไม่ทำงาน คราวนี้แหล่ะฮ๊าฟโปรแกรมมันก็จะสามารถที่จะทำทุกอย่างบนเครื่องเราได้เลย โดยที่เราไม่รู้ ถ้าโชคร้ายได้ตัว Crack มาจาก Programer ไม่ประสงค์ดี ตอนติดตั้งเขาอาจใส่โปรแกรมบางอย่างมาติดตั้งในเครื่องเรา ซึ่งเราไม่รู้ (เพราะเห็นแต่หน้า UI อันสวยหรูของโปรแกรมแค่นั้น ใครจะคิดล่ะว่าหน้าตาสวยหรู จะมีสิ่งร้ายๆตามมา)  เพื่อดักข้อมูลสำคัญของเรา ยิ่งใครใช้ Internet Banking ก็งานเข้าล่ะครับพี่น้องเอ้ยย ไม่ต้องพูด แถมบางตัวไป Block Update Windows คราวนี้ซวยเลย ช่องโหว่ Windows ก็ไม่ได้ปิด  Hacker ก็เข้ามาได้ง่าย ถ้าผมจะ  Hack น่ะ ถ้าเข้าได้แล้วเม่ง จะลบข้อมูลให้หมด ทำให้วินโด้เ…

โลจิสโพสต์ ส่งรถจักรยานยนต์ หรือของใหญ่ๆ ผ่านไปรษณีย์ไทย.. ง่ายนิดเดียว

พอดีผมกำลังจะให้เพื่อนส่งจักรยานยนต์ขึ้นมากรุงเทพ ซึ่งตัวเลือกที่หาได้ก็มีแค่ไปรษณีย์ไทย รถไฟ ตอนแรกจะส่งผ่านมากับรถไฟเพราะจากการหาข้อมูล ค่าบริการถูกกว่าครึ่งนึง ก็เลยลองโทรถามเพื่อความชัวร์ ปรากกฏว่าตอนนี้รถไฟไทย เปลี่ยนกฏการให้บริการคือ ต้องมีผู้โดยสารไปกับรถด้วย (ผู้โดยสารจองไปปกติ และซื้อค่าวางสัมภาระสำหรับรถเพิ่ม) ก็เฟลไป เลยสุดท้ายมาจบที่ไปรษณีย์ไทย ราคาโหดพอควร

ซึ่งบริการของไปรณีย์ไทยที่เราจะใช้ ชื่อว่า  โลจิสโพสต์ (Logispost) รับฝากสิ่งของขนาดใหญ่ หรือมีรูปร่างพิเศษเหมาะกับการขนส่งสินค้า ซึ่งมีน้ำหนักมากหรือมีบรรจุภัณฑ์ขนาดใหญ่ เช่น จักรยานยนต์ ตู้เย็น  ทีวี เครื่องซักผ้า โดยสามารถฝากส่งและรอจ่าย ณ ที่ทำการไปรษณีย์ที่ผู้รับสะดวก และยังส่งไปต่างประเทศได้อีกด้วย โดยปกติจะใช้ระยะเวลา 5-7 วันทำการ แต่ถ้าหากต้องการความรวดเร็ว ก็ยังมีบริการ Logispost Plus ส่งด้วยภายใน 3 วัน และยังส่งถึงหน้าบ้าน!!


เริ่มเลยครับ ..

อย่างแรก เอกสารที่ต้องใช้ เตรียมถ่ายไว้เลยจะได้สะดวก ผมว่าให้ถ่ายไปสองชุดเพื่อความชัวร์
1. สำเนาทะเบียนรถที่จะส่ง (พาตัวจริงไปด้วยก็ดี เผื่อเจ้าหน้าขอดู)
2. สำเนาบัตรประชาช…