Ruby 1.9.2 is out!!
Wednesday, August 18th, 2010 Posted in News, Programming, Ruby, Ruby on Rails | View CommentsJust got the news in Twitter today that Ruby 1.9.2 is out! This is the Ruby that we've been long-awaits which shouldn't have any strange compatibility issue with the upcoming Rails 3, and wayyyy faster than 1.8.7. The timing couldn't be ...
If it’s already exists, then use it!
Saturday, August 14th, 2010 Posted in Programming | View CommentsI recently came across this blog post from Computerworld, which seriously took all the respect I have for them from me: Not invented here: Apple's secret applications In case you don't want to read the whole article, here is the summary: This ...
@rawitat’s #protip แด่ coder รุ่นน้องๆ
Tuesday, August 10th, 2010 Posted in Programming | View Commentsวันนี้พอดีตามอ่าน Twitter Stream แล้วเจออาจารย์ @rawitat (Blog) กำลังสอน coder รุ่นน้องๆ ผ่านทาง Twitter อยู่ ... เลยขออนุญาตเอามารวมเป็น #protip หน่อยนะครับ ปล. เป็นรูปเซฟจาก Twitter Stream ... แต่ว่ามันไม่ได้ต่อเนื่อง (จบในตอน) เพราะฉะนั้นจะอ่านจากล่างขึ้นบน หรือบนลงล่างก็ตามสะดวกครับ อ่านแล้วก็ได้ข้อคิดหลายๆ อย่างเหมือนกัน ขอบคุณมากครับ :D
Operator Precedence ใน Ruby
Saturday, December 19th, 2009 Posted in Programming, Ruby | View CommentsOperator Precedence หรือลำดับสำคัญของตัวดำเนินการนั้น ถือเป็นหลักสำคัญของโปรแกรมเมอร์ ที่จะทำให้สามารถทำการเขียนอัลกอริธึมเพื่อแก้ไขปัญหาต่างๆ ได้ ในทางคณิตศาสตร์นั้น มักมีคนสรุปมันออกมาง่ายๆ ว่า "วงเล็บมาก่อน คูณหารก่อนบวกลบ" ถ้าใครเคยเห็น code ภาษา Ruby นั้น คงจะเคยเห็นว่า Ruby นั้นมีทั้ง operator && และ || เหมือนกับในภาษา C แล้วยังมี and กับ or ที่เพิ่มเข้ามาใน Ruby ซึ่งเป็นสิ่งที่ทำให้โค้ดนั้นดูสวยงามขึ้น อ่านง่ายขึ้นตามหลักของ Ruby ลองดูโค้ดด้านล่างนี้เป็นตัวอย่างครับ irb(main):001:0> dessert = "Cheesecake" => "Cheesecake" irb(main):002:0> drink = "Coffee" => ...
Optimize database query ด้วย :include
Friday, August 7th, 2009 Posted in My Project, Programming, Ruby, Ruby on Rails | View Commentsในการเขียนโปรแกรมบน Ruby on Rails นั้น เรามักที่จะใช้ ActiveRecord ในการทำหน้าที่เป็น ORM ระหว่างตัว Application กับ database ซื่งทำให้การเรียก Record นั้น สามารถทำได้อย่างง่ายดาย เช่น ถ้าผมจะเรียกดู post ทั้งหมดที่มีอยู่ในระบบ ผมแค่สั่ง Post.find(:all) # หรือว่า Post.all ก็ได้ ใน Rails 2.x ซึ่งตรงนี้ ถ้าเราไปดูใน Log file จะพบว่า ActiveRecord นั้น จะใช้คำสั่งค้นหาข้อมูลประมาณนี้ครับ ...
Thin Rolling Restart Patch
Sunday, August 2nd, 2009 Posted in My Project, Programming, Ruby, Ruby on Rails | Comments OffI wrote a patch for Thin web server to do a rolling restart (i.e. restart the server one at a time) when I was working for my final thesis, Localmapia. I put my source on Github, and already inform the ...
Object#try ใน Rails 2.3
Sunday, August 2nd, 2009 Posted in My Project, Programming, Ruby, Ruby on Rails | Comments Offเคยเจอปัญหาบ้างไหมครับ กับการที่บางครั้ง object ที่เราเรียก method ไปเนี่ย มันกลายเป็น nil ขึ้นมา ทำให้เกิด exception ขึ้นมา >> @user.username NoMethodError: You have a nil object when you didn't expect it! The error occurred while evaluating nil.username from (irb):1 ซึ่งตรงนี้ เพื่อที่จะหลบ exception ในบางครั้งทำให้ Developer ต้องทำการเช็คก่อนว่า object นั้นเป็น nil หรือไม่ เช่น >> (@user ...
Flickr Submit Button CSS Retouch
Friday, July 17th, 2009 Posted in News, Programming | Comments Offวันนี้ได้เข้า Flickr หลังจากไม่ได้เข้าไปหลายวัน ไปสังเกตเห็นบางอย่าง ตรงแถวๆ comment box สังเกตเห็นอะไรไหมครับ? นี่คือการ Retouch ปุ่ม Submit ในส่วนของการเพิ่ม comment ครับ .. ซึ่งผมว่าเป็นจุดที่ทำให้เว็บดูสวยขึ้นมาอีกหน่อยเลยทีเดียว เพราะว่าถ้าเทียบกันกับอันเก่า .. ต้องบอกกับทีมงาน Flickr ว่า .. น่าจะทำใหม่ได้ตั้งนานแล้ววว ;)
Ruby และ active_support/whiny_nil
Monday, June 29th, 2009 Posted in My Project, Programming, Ruby, Ruby on Rails | Comments Offสำหรับนักพัฒนาส่วนใหญ่ที่เริ่มเขียน Ruby on Rails คาดว่าตอนนี้ในเครื่องของทุกๆ คน น่าจะลง Ruby 1.8 อยู่ เนื่องจากยังคงมี Gem หลายๆ ตัว ที่ยังไม่รองรับ Ruby 1.9 และทำให้เกิดปัญหาทางด้านความเข้ากันได้อยู่บ้าง ฉะนั้นผมเลยอยากพูดถึงหลุมพรางที่ Ruby 1.8 ได้ทิ้งเอาไว้ และทำให้หลายๆ คนนั้นพลาดตกหลุมกันไปบ้างครับ ผมขอสมมุติเอาไว้ว่า ผมได้สร้างระบบ Blog แห่งหนึ่ง โดยที่มี Model สามตัวคือ Post เอาไว้เก็บข้อความ Comment เอาไว้เก็บความคิดเห็น และ User เอาไว้เก็บชื่อผู้ใช้ ที่สามารถแก้ไขข้อความได้ครับ สมมุติว่า User ที่สามารถเข้ามาแก้ไขได้นี้ ...
Squish it!
Sunday, May 17th, 2009 Posted in Programming, Ruby, Ruby on Rails | Comments Offต้องบอกว่า Ruby on Rails นั้นมี helper methods เยอะจริงๆ และบางครั้งถ้าเราไม่ได้เข้าไปดูใน api documentation เราก็จะไม่พบว่ามันมีเมธอดเอาไว้ทำอะไรบ้าง วันนี้ผมเจอ method นึงครับ ซึ่งคิดว่าน่าจะมีประโยชน์ และน่าจะมีใครต้องใช้เมธอดนี้แน่ๆ มีใครบ้างไหมครับ ที่เคยเห็น user ชอบโพสข้อมูลมาเว้นบรรทัดๆๆๆ หลายๆ อัน หรือว่าชอบเคาะ space bar เว้นห่างๆ กัน ทำให้บางครั้งมันดูไม่เรียบร้อย และมันอ่านยาก .. วันนี้ผมมี method มาแนะนำครับ ชื่อว่า #squish ตัวอย่างในการใช้งานก็เป็นอย่างนี้ครับ >> str = %(hello world) => "hello\nworld" >> str.squish => ...


