Posted
September 12, 2008
at
Rails66
มีหลายสิ่งต้องทำเยอะมาก ไม่ว่าง update ข่าวเลย Rails Envy Podcast - Episode #046: 09/10/2008 ก็เป็นสิ่งที่ผมนั่งเทียน ไปครั้งสองครั้งแรก ก็มาสรุปกับ podcast นี้อีกที Subscribe via iTunes - iTunes only link. Download the podcast ~13:00 mins MP3. Subscribe to feed via RSS by copying the link to your RSS Reader Rails 2.1.1: Lots of bug fixes Rails 2.0.4 Maintenance Release Exploring the Ruby Interpreter Query memcached Searchgasm Released How to Scrape Websites using scRUBYt! Rails [...]
Posted
September 11, 2008
at
Rails66
อีกหนึ่ง trick ที่ภูมิใจนำเสนอวันนี้คือ named_scope เมื่อก่อนมันเป็น plugin ที่ชื่อ has_finder แต่ด้วยความเจ๋งของมัน DHH เลยจับมันยัดเข้าใน rails-core ซะ โดยไอ้ named_scope เนี่ย มันจะ ห่อ condition ไว้ใน model โดยประกาศไว้ทีเดียว เช่น class Shirt < ActiveRecord::Base named_scope :red, :conditions => {:color => 'red'} named_scope :dry_clean_only, :joins => :washing_instructions, :conditions => ['washing_instructions.dry_clean_only = ?', true] named_scope :colored, lambda { |color| { :conditions => { :color => color } } } end อะไรที่เรียกใช้บ่อยๆ รกๆ ยาวๆ เอามาประกาศแยกๆ [...]
Posted
September 11, 2008
at
Rails66
Hello Everyone, My first post here, hope its OK for me to post in English. Sorry I cannot write in Thai. Note: roofimon will post a Thai translation soon, thanks man. UPDATE: done, scroll down. Work66 is coming! With roofimon’s blessing we are starting work66 (the Thai jobs site that does NOT suck!). I have got so sick [...]
Posted
September 10, 2008
at
Rails66
หากเราต้องการจะเริ่มทำ project สักตัว แต่ว่าเราจะต้องมาทำโน่นทำนี่ที่เราเคยทำมาแล้ว และเริ่มที่จะรู้สึกซ้ำซาก อย่างเช่น ระบบ RESTful Authentication Matt Hall ได้ทำ project เบื้องต้น สำหรับ Rails เอาไว้ให้เราแล้วโดยใช้ชื่อว่า Bort (Bionic Optical Radioactive Trout) โดยที่มี features ดังนี้ RESTful Authentication Will Paginate Rspec & Rspec-rails Exception Notifier etc. ส่วนการใช้งาน สำหรับคนที่ใช้ git เป็นก็ไป clone ได้ที่ http://github.com/fudgestudios/bort/tree/master หรือไม่ก็ไป download มาเป็น zip แก้ไข database.yml จากนั้นก็ rake db:migrate เท่านี้ก็เรียบร้อย จากที่ลองเล่นดูก็ OK นะครับสำหรับตัวนี้ เหมาะกับคนที่พอจะทำอะไรๆ เป็นแล้วและขี้เกียจกับการเริ่ม project แถมยังมีการรวมรวมเครื่องมือต่างๆ ที่เหมาะแก่การใช้ในการพัฒนา project เป็นอย่างยิ่ง ทำให้ประหยัดเวลาไปได้พอควรนะ ที่มา http://jimneath.org/2008/09/09/bort-base-rails-application/
Posted
September 13, 2008
at
Rails66
จัดการ planet เสร็จไป ก็มีเวลามานั่งเทียนกันต่อ —————————————————————– The Art of Rails หนังสือออกใหม่ หน้าตาเป็นแบบนี้ คนเขียนชื่อว่า Edward Benson โดยเนื้อหาหลักๆ จะไม่ใช่เนื้อหาสำหรับหัดเขียน Rails ไม่ใช่ reference เนื้อหาโดยรวมจะว่ากันเกี่ยวกับการถกกันเรื่อง RESTFul Web APIs, การเขียน Rails ให้ออกมาสวยๆ โดยใช้ feature ของ rails, monkeypatching และ metaprogramming ชอบใจก็ซื้อหามาอ่านเอานะครับ ———————————————————————————- RubyConf Speaker Interview: Greg Borenstein บทสัมภาษณ์ Greg Borenstein โดย Chad Fowler ซึ่ง Greg Borenstein เนี่ย เป็นคนสร้าง RAD บทสัมภาษณ์ยาวมาก ใครอยากทราบก็ตาม link เอานะครับ แต่สิ่งที่ผมสงสัยจริงๆ คือ RAD เนี่ย มันคืออะไร หาข้อมูลคร่าวๆ [...]
Posted
September 14, 2008
at
Rails66
นั่งเทียน ก่อนนอน —————————————————————- Rubyconf Unofficial Speaker List ตารางออกมาแล้ว มาดูว่า ใครพูดอะไรบ้าง เยอะมาก David Koontz on “Monkeybars: easy cross platform GUIs” Scott Chacon on “Using Git in Ruby Applications” Andy Maleh on “Simplifying Desktop Development with Glimmer” David Goodlad on “Ruby for Embedded Applications” Mark Bates on “Building Distributed Applications” Jamis Buck on “Recovering from Enterprise: how to embrace Ruby’s idioms and say goodbye to bad habits” Jim [...]
Posted
September 15, 2008
at
Rails66
ข่าวแรก ดังและร้อนแรงมาก เรามี Rails Hangman แล้ววววววว (ขอบคุณพี่ @roofimon และพี่ SweetCorn ด้วย) รอให้พี่ @roofimon และพี่ SweetCorn มาเขียน intro กับเจ้าตัวนี้อีกที ——————————————————————————- Terminator: A Hardcore “Timeout” For Ruby Code ข่าวนี้กำลังภายในผมไม่ถึงครับ(ไม่กล้าแปล กลัวผิดความหมาย) ขอ copy แปะละกัน Terminator is a new library developed by Ara Howard and Mikel Lindsaar that solves the problem of Ruby’s own “timeout” feature not actually being up to the task of terminating [...]
Posted
September 16, 2008
at
Rails66
@tonkla เขียน ลปรร. ประสบการณ์ RoR ได้น่าสนใจมาก ลองอ่านดูนะครับ(ก่อนอ่านนะครับ นึกไว้ว่าเราคือ PAW นะครับ) เข้าเรื่อง CMS บน php มีเพียบ มาดูฝั่ง Rails บ้างดีกว่า มีอะไรให้เลือกใช้ได้บ้าง ผมคงไม่สามารถ review ได้หมด มันเยอะเหลือเกิน จะทิ้ง link ไว้ หรือถ้ามี demo ก็จะใส่ไว้ครับ ให้ไปลองเองดีกว่า Typo Demo มีให้เข้าไปใช้หน้า admin ด้วยครับ ตอนนี้ ผมว่า Typo ดูเข้าท่าที่สุดครับ ลูกเล่น ajax แพรวพราว เพิ่งจะ update ไปด้วย ปรับปรุงอะไรใหม่ๆ ไปเยอะครับ Mephisto ไม่มี demo มีแต่ Screen shot ผมใช้ตัวนี้อยู่ มันไม่ได้ update มานานมากแล้ว T-T Radiant Demo โดยส่วนตัวแล้วผมไม่ค่อยชอบระบบ tree แบบนี้ รวมถึง filter ของมันอีกเพียบ Simplelog ไม่มี Demo มีแต่ Screen [...]
Posted
September 16, 2008
at
Rails66
สวัสดีครับทุกท่าน บันทึกนี้เป็นบันทึกแรกของผมกับ Rails66 ได้แรงบันดาลใจจากการคุย twitter กับอ.มะนาว เมื่อตอนเย็น … บันทึกนี้ขอเริ่มต้นด้วยแนวทางที่ผมถนัด คือโม้น้ำท่วมทุ่งผักบุ้งโหรงเหรงครับ แนะนำตัวกันก่อน ผมชื่อกล้า ปัจจุบันเป็นมือปืนให้ซุ้ม UsableLabs ทำงานร่วมกับอาจารย์ธวัชชัย (@thawatchai) หนึ่งในงานของเราคือพัฒนาเว็บไซต์ GotoKnow.org ซึ่งเป็นเว็บไซต์สำหรับแลกเปลี่ยนเรียนรู้ (ลปรร.) ของคนทำงาน โดยสมาชิกส่วนใหญ่เป็นบุคลากรของภาครัฐ อายุเฉลี่ยประมาณ 35+ ปี ข้อมูลทางเทคนิคของ GotoKnow.org ใน TrueHits วันนี้ อยู่ลำดับที่ 50 มี UIP ประมาณ 50,000 ต่อวัน ระบบรันด้วยซอฟต์แวร์ Knowledge Volution (KV) ซึ่งพัฒนาด้วย Ruby on Rails web app server ปัจจุบันใช้ mod_rails ก่อนหน้านี้ใช้ Mongrel Cluster ตั้งปลุกด้วย Monit มาหลายปี database: MySQL deployment: อ.ธวัชชัย [...]
Posted
September 18, 2008
at
Rails66
คิดว่าตอนนี้มี developers หลายคนเหมือนกันครับที่เปลี่ยนจากการใช้ Prototype ที่ติดมากับ Rails มาเป็นการใช้ jQuery .. ผมก็คนนึงแหละครับที่ทำอย่างนั้น เพราะว่าผมรู้สึกว่ามันสะดวกกว่าการใช้ Prototype มากมาย (สำหรับการ Debate ระหว่าง jQuery กับ Prototype นั้น ขอไม่พูดในนี้นะครับ ลองไป search ดูเอาโลด) ซึ่งในการใช้ jQuery นั้น บางคนอาจจะใช้ jRails plugin ในการ integrate เข้ากับ Rails application ซึ่งมันก็เป็นวิธีการที่สะดวก แต่ผมคิดว่าในบางครั้งมันอาจจะยุ่งยากไป ถ้าเราไม่ได้มีการเรียกใช้ helper methods ที่มีให้ ดังนั้นวันนี้ผมขอเสนอวิธีการที่ได้มาจาก หน้านี้ ซึ่งเป็นการเอา jQuery มาใช้ในการเรียก Ajax call จะเรียกว่าแบบ stand-alone ก็ได้ครับ เพราะเราไม่ได้ปรับแต่งอะไรใน Rails เลย ก่อนอื่น เราต้องเพิ่มโค้ดเหล่านี้ไปใน application_helper.rb [...]
Posted
September 18, 2008
at
Rails66
เข้ามานั่งเทียนต่อ ———————————————————————— Panda : Open source video platform อันนี้น่าสนใจ ดูเขาโฆษณาไว้ ทำงานกับ Amazon’s Web Services ซึ่งยังเชื่อมต่แกับ EC2, S3 และ SimpleDB อีกต่างหาก รันบน Merb เข้ารหัส video ได้สารพัดอย่าง รวมถึง FLV, h264 for Flash a iPhone formats ด้วย มี Panda Gem ย้ายไปทำบน Rails ก็ไม่เหนื่อยมาก มีหน้าควบคุมเล็กๆ น้อยๆ พอสวยงาม Document ก็มี ทั้งบทเริ่ม วิธีต่อกับ Rails รวมถึง API น่าลองทำเป็น tutorial เล่นๆ ———————————————————————— New Relic Goes Free: Quality Rails Monitoring Now Free To All มี tool สำหรับ [...]
Posted
September 20, 2008
at
Rails66
เห็น hangman ใน seam แล้วหนาวหลายรอบ (แถมวันนี้เพิ่งจะแสดงความเป็น component ไปอีก) อย่างแรกที่น่าสนใจก็คือเรื่องของ conversation context ที่เท่าที่ผมพอจะเข้าใจก็คือคล้ายกับ session แต่ว่ามีอายุสั้นกว่า และในหนึ่ง browser มีได้หลายอัน (ต่าง tab ก็ต่าง context กันได้) แถมเท่าที่ดู ๆ ก็อาจจะทำอะไรได้อีกมากมาย คิดว่าใน Rails ไม่ได้รองรับอะไรอย่างนี้โดยตรง ก็เลยอยากจะทดลองทำดู ก็ทำเฉพาะที่ผมเข้าใจก่อนแล้วกันครับ ก็คือทำอย่างไรให้มี context ที่สร้างง่าย ใช้ง่าย แล้วก็แต่ละ tab นั้นเป็นอิสระต่อกัน เห็น comment ใน seam66 ของคุณ wiennat ถามคุณ deans4j ว่ามันเป็นการใช้ hidden input, cookies, และ session หรือเปล่า? ผมก็เลยคิดว่าเดี๋ยวทดลองทำดูโดยใช้ hidden input [...]
Posted
September 21, 2008
at
Rails66
บันทึกนี้เล่นกันเบาๆ กับส่วน View ผมจะแนะนำความหมายของคำว่า “elegance” ผ่าน Haml และ YUI โดยไม่ต้องเปิดพจนานุกรม Haml (HTML Abstraction Markup Language) เป็นภาษาที่ใช้สร้างส่วน View สำหรับ Ruby web framework แต่กระบวนท่าที่ใช้ออก กลับเป็นแนวทางเดียวกับสำนัก Python คือใช้การย่อหน้าเพื่อแยกแยะโค้ด แทนการใช้แท็กปิด Haml บอกว่า “Markup should be beautiful” … คนแต่ละคนให้คำนิยามของความงามแตกต่างกัน สำหรับผมแล้วความงามคือความกระชับ คือความเป็นระเบียบ คือความสะอาดสบายตา และต้องงามทั้งข้างนอกข้างใน คุณสมบัติทั้งหมดนี้ผมมาเจอใน Haml จึงไม่แปลกที่ผมจะหลงรักตั้งแต่ครั้งแรกที่เห็นโค้ด ขณะเขียนโค้ด และภายหลังที่เห็นผลลัพธ์ (พอ !! เริ่มพรรณนาเกินไปแล้ว) สิ่งที่ทำให้รู้สึกว่า Haml ยังไม่เจ๋งที่สุด คือ Django template โดยเฉพาะฟีเจอร์ Template inheritance แต่ด้วยสถาปัตยกรรมของ Rails โดยใช้ [...]
Posted
September 24, 2008
at
Rails66
ครั้งที่ 10 แล้ว —————————————————————————— Spree - Online Commerce for Ruby on Rails ชาว rails อยากขายของ online ต้องลองนี่เลย Spree มีฝั่ง view ที่ยืดหยุ่น ใช้ Active Merchant เป็นตัวช่วยสำหรับระบบตัดเงิน เขียนการคำนวณภาษีเพิ่มได้โดยง่าย เก็บ library ไว้ใน gem ทำงานบน Rails 2.1 ลองดู document คร่าวๆ ได้ —————————————————————————— EnvyAds’ videos Video ดีๆ ของ Railsenvy มาอีกแล้ว —————————————————————————— Blackjack เกม Blackjack เขียนด้วย Rails ใช้ Ajax ขับเคลื่อน ยังเขียนอะไรมากไม่ได้เพราะ app มันตาย ==’ สู้ของเราไม่ได้ เรามี hangman ฮิ้วววว
Posted
September 26, 2008
at
Rails66
ที่ผ่านมาไม่เคยลง ruby + gem ด้วย apt-get สำเร็จเลยครับ สุดท้ายต้อง download มาสั่ง ruby setup เอง วันนี้ดันพลาดลง OS X ทับ partition ubuntu เลยได้ความรู้ใหม่เอามาแลกเปลี่ยนกันครับ เริ่มต้นจาก ติดตั้ง ruby + gem apt-get -y install ruby ruby1.8 ruby1.8-dev irb rdoc apt-get -y install libzlib-ruby libopenssl-ruby apt-get -y install rubygems apt-get -y install rake หรือใครจะรวบโซ๊ะเดียวแบบนี้ก็ได้ apt-get -y install ruby ruby1.8 ruby1.8-dev irb rdoc libzlib-ruby \ libopenssl-ruby rubygems rake เทคนิคสำคัญก่อนจะเริ่มลง gem ต่างๆ คือต้องเพิ่ม require [...]
Posted
September 28, 2008
at
Rails66
นั่งเทียนๆ ————————————————————————— Rails Envy Podcast - Episode #048: 09/24/2008 Subscribe via iTunes - iTunes only link. Download the podcast ~16:00 mins MP3. Subscribe to feed via RSS by copying the link to your RSS Reader Ruby on Rails guides Memo-what? - A Guide to Memoization Ruby on Rails Code Quality Checklist - Articles - Matthew Moore scie.nti.st » Making methods immutable in Ruby [...]
Posted
September 26, 2008
at
Rails66
ที่ผ่านมาไม่เคยลง ruby + gem ด้วย apt-get สำเร็จเลยครับ สุดท้ายต้อง download มาสั่ง ruby setup เอง วันนี้ดันพลาดลง OS X ทับ partition ubuntu เลยได้ความรู้ใหม่เอามาแลกเปลี่ยนกันครับ เริ่มต้นจาก ติดตั้ง ruby + gem apt-get -y install ruby ruby1.8 ruby1.8-dev irb rdoc apt-get -y install libzlib-ruby libopenssl-ruby apt-get -y install rubygems apt-get -y install rake หรือใครจะรวบโซ๊ะเดียวแบบนี้ก็ได้ apt-get -y install ruby ruby1.8 ruby1.8-dev irb rdoc libzlib-ruby \ libopenssl-ruby rubygems rake เทคนิคสำคัญก่อนจะเริ่มลง gem ต่างๆ คือต้องเพิ่ม require [...]
Posted
October 02, 2008
at
Rails66
Side projects and experiments: expanding the reach of page caching tips ดีๆ กับการทำ page caching อันนี้ค่อนข้างโดนผม เพราะมีการทำ cache กับ flash message ด้วย ซึ่งผมกำลังเจออยู่เลย โดยจะเอา flash มาใส่ด้วย javascript อีกที จะได้ไม่ต้องเขียนคุมการเก็บ cache กับหน้าที่มีการแสดง flash message นอกจากนี้ ยังมีการ cache สำหรับ pagination และ การ clear cache พวกนี้ด้วย ——————————————————————— Rails Envy Podcast - Episode #049: 10/01/2008 Subscribe via iTunes - iTunes only link. Download the podcast ~16:00 mins [...]
Posted
October 02, 2008
at
Rails66
ยินดีต้อนรับสู่ 2008 Rails Rumble ถ้าคุณคิดว่าคุณสามารถสร้างสุดยอดแอพพลิเคชั่นได้ภายในวันเสาร์และอาทิตย์แล้วล่ะก็ Rails Rumble คืองานกำลังรอคนแบบคุณอยู่ มาร่วมกันสร้างประสบการณ์ใหม่ด้วยกันในระหว่างวันที่ 18-19 ตุลาคม เพื่อออกแบบ สร้าง และติดตั้งแอพพลิเคชั่นของเราให้ชาวบ้านได้ดูความแจ๋วของมัน Want to compete? Here’s what you’ll need: ทำตัวให้ว่างช่วงวันที่ 18-19 ตุลานี้ หาเพื่อนมาอีกสามคน พกไอเดียแจ๋วๆมาด้วย ขาดไม่ได้เลย Ruby On Rails GIT ปีที่แล้วมีแอพพลิเคชั่นแจ๋วๆถูกสร้างขึ้นทั้ง 90 แก่นเราหวังว่าปีนี้จะมีมากกว่านี้สองเท่าเพราะเราเปิดรับเพิ่มเป็น 200 ทีมดังนั้นจึงขอขอบคุณผู้สนับสนุนของเราก่อนนั่นก็คือ Linode และ GitHub. ตอนนี้ไม่แน่ใใจแล้วว่าเหลือกี่ทีมแต่ที่แน่ๆถ้าสนใจสมัตรได้ที่, register now! ประเทศเราเท่าที่รู้ตอนนี้มีสามทีมครับ codegent rails66 bangkokrails ผู้ใดสนใจและคิดว่ามีของจะมาปล่อยกับเราขอเชิญส่งข้อความมาที่เราผ่าน twitter สามชื่อนี้ครับ @roofimon @luke_bkk หรือ @punneng ครับหรือเขียน comment ไว้ก็ได้ครับ อีกอย่าง สถานที่สุมหัวน่าจะเป็นที่ office ของ codegent ครับใกล้ๆกับ Majot รัชโยธินครับ
Posted
October 03, 2008
at
Rails66
Active Record ก็เป็นชุดไลบรารีที่สามารถใช้งานได้นอกเหนือจากภายในโปรแกรมประยุกต์บน Rails ครับ ทีนี้ มีการใช้งานหลัก ๆ สองแบบ คือแบบที่เราอ้างถึงฐานข้อมูลโดยไม่เกี่ยวข้องกับโมเดลใน Rails เลย กับแบบที่ต้องการใช้โมเดลที่สร้างไว้ใน Rails ด้วย เอาแบบแรกก่อนครับ ในการใช้ก็ต้องโหลดตัวไลบรารีมาก่อน require 'rubygems' require 'active_record' จากนั้นก็สั่งเปิด connection เองเลยครับ เช่น ActiveRecord::Base.establish_connection({ :adapter => "sqlite3", # ใส่ชื่อไฟล์ฐานข้อมูล :database => "/home/test-ar/db/development.sqlite3" }) ในกรณีที่ใช้ sqlite3 หรือเช่นด้านล่าง ในกรณีที่ใช้ mysql ActiveRecord::Base.establish_connection( :adapter => "mysql", :host [...]