I'm a Ruby on Rails / jQuery web developer. Follow me at @sikachu

Archive for the ‘Programming’ Category

My Devise custom routes

Monday, December 13th, 2010 Posted in My Idea, Programming, Ruby, Ruby on Rails | 6 Comments »

Since the release of Rails 3, I've been using Devise as my authentication gem. While it delivers everything I need, its default route doesn't look really good when I have only one authentication scope, such as User. The default route ...

`method_missing` call stack in Ruby

Tuesday, November 23rd, 2010 Posted in Programming, Ruby | 2 Comments »

Just found out something cool from reading "Don’t Know Metaprogramming In Ruby?" from RubyLearning blog. Consider this code snippet: class Person end class Student < Person end class HighSchoolStudent < Student end If you're calling some method that's undefined, let's say we're calling HighSchoolStudent#name Ruby will try ...

Gems — Follow up from my talk at #BarcampBKK4

Friday, October 29th, 2010 Posted in Programming, Ruby, Ruby on Rails | No Comments »

I think I should noted down two gems that I mentioned in my talk. Omniauth — a middleware that help you authenticate user to various SSO sites, such as Facebook Connect, Twitter, Google Account Devise — fully-functional authentication system. If you write ...

10 Things you should know about Ruby — #BarcampBKK4

Sunday, October 24th, 2010 Posted in Programming, Ruby | 2 Comments »

I've done a talk about Ruby in Barcamp Bangkok 4 on Oct 24. Here is the slide in case someone want it. 10 things you should know about ruby You can download it if you want. This slide is CC-BY-NC-SA (as some ...

RailsCamp (Thailand) 2010

Wednesday, October 20th, 2010 Posted in News, Programming, Ruby, Ruby on Rails | 1 Comment »

เพิ่งทราบข่าวมาวันนี้ว่าที่ประเทศไทย จะมีคนจัดงาน RailsCamp แล้ว! RailsCamp (Thailand) 2010 ดีใจ + ตกใจนิดหน่อย เพราะเป็นโปรเจคที่คิดไว้ตั้งแต่เมื่อ 2-3 ปีที่แล้ว ตั้งแต่เมื่อตอนที่เขียน Rails ใหม่ๆ ว่าอยากให้มีงานที่เป็น Ruby on Rails Community ของคนไทย ... ในเมื่อมีคนทำแล้ว ผมก็ขอสนับสนุนเต็มทีครับ ผมคงจะเตรียมเรื่องไปพูดนิดหน่อย ไม่แน่ใจเหมือนกันว่าเรื่องอะไร แต่ถ้าดูจาก Schedule ปัจจุบัน อาจจะได้พูดเรื่อง Behavior Driven Development using Cucumber หรือไม่ก็ Devise เพราะว่าเรื่องใหญ่ๆ อย่าง Rails 3 ...

Ruby 1.9.2 is out!!

Wednesday, August 18th, 2010 Posted in News, Programming, Ruby, Ruby on Rails | 1 Comment »

Just 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 | 2 Comments »

I 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 | 2 Comments »

วันนี้พอดีตามอ่าน Twitter Stream แล้วเจออาจารย์ @rawitat (Blog) กำลังสอน coder รุ่นน้องๆ ผ่านทาง Twitter อยู่ ... เลยขออนุญาตเอามารวมเป็น #protip หน่อยนะครับ ปล. เป็นรูปเซฟจาก Twitter Stream ... แต่ว่ามันไม่ได้ต่อเนื่อง (จบในตอน) เพราะฉะนั้นจะอ่านจากล่างขึ้นบน หรือบนลงล่างก็ตามสะดวกครับ อ่านแล้วก็ได้ข้อคิดหลายๆ อย่างเหมือนกัน ขอบคุณมากครับ :D

Operator Precedence ใน Ruby

Saturday, December 19th, 2009 Posted in Programming, Ruby | 1 Comment »

Operator 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 | 1 Comment »

ในการเขียนโปรแกรมบน Ruby on Rails นั้น เรามักที่จะใช้ ActiveRecord ในการทำหน้าที่เป็น ORM ระหว่างตัว Application กับ database ซื่งทำให้การเรียก Record นั้น สามารถทำได้อย่างง่ายดาย เช่น ถ้าผมจะเรียกดู post ทั้งหมดที่มีอยู่ในระบบ ผมแค่สั่ง Post.find(:all) # หรือว่า Post.all ก็ได้ ใน Rails 2.x ซึ่งตรงนี้ ถ้าเราไปดูใน Log file จะพบว่า ActiveRecord นั้น จะใช้คำสั่งค้นหาข้อมูลประมาณนี้ครับ ...