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

Archive for the ‘My Project’ Category

ADSL2+ กับ Negative Upstream

Thursday, October 1st, 2009 Posted in My Life, My Project | Comments

เมื่อนานมาแล้ว Internet ของที่บริษัท Infogination นั้น สมัคร Package ไว้ที่ความเร็ว 2048/512 เท่านั้น เพราะว่าคนน้อย และมีคนใช้อินเตอร์เน็ตน้อย ไม่ต้องการความเร็วมาก แต่ปรากฎว่าหลังจากที่ @hunt และ @sikachu ย้ายเข้ามา ... ความต้องการใช้อินเตอร์เน็ตมากขึ้น และตอนนั้น True เพิ่งออก Package ใหม่คือ 8192/512 ... ก็เลยตัดสินใจเปลี่ยนมันซะ !! คราวนี้ หลังจากเปลี่ยนเรียบร้อย ก็ปรากฎว่า อินเตอร์เน็ตติดๆ ดับๆ -*- ด้วยความที่ hardware ตัวเก่า (modem ของ Billion) มันมีอายุนานมากแล้ว ก็เลยคิดว่ามันเป็นต้นเหตุของอินเตอร์เน็ตหลุด ...

Optimize database query ด้วย :include

Friday, August 7th, 2009 Posted in My Project, Programming, Ruby, Ruby on Rails | 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

I 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

เคยเจอปัญหาบ้างไหมครับ กับการที่บางครั้ง 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 ...

Ruby และ active_support/whiny_nil

Monday, June 29th, 2009 Posted in My Project, Programming, Ruby, Ruby on Rails | Comments

สำหรับนักพัฒนาส่วนใหญ่ที่เริ่มเขียน Ruby on Rails คาดว่าตอนนี้ในเครื่องของทุกๆ คน น่าจะลง Ruby 1.8 อยู่ เนื่องจากยังคงมี Gem หลายๆ ตัว ที่ยังไม่รองรับ Ruby 1.9 และทำให้เกิดปัญหาทางด้านความเข้ากันได้อยู่บ้าง ฉะนั้นผมเลยอยากพูดถึงหลุมพรางที่ Ruby 1.8 ได้ทิ้งเอาไว้ และทำให้หลายๆ คนนั้นพลาดตกหลุมกันไปบ้างครับ ผมขอสมมุติเอาไว้ว่า ผมได้สร้างระบบ Blog แห่งหนึ่ง โดยที่มี Model สามตัวคือ Post เอาไว้เก็บข้อความ Comment เอาไว้เก็บความคิดเห็น และ User เอาไว้เก็บชื่อผู้ใช้ ที่สามารถแก้ไขข้อความได้ครับ สมมุติว่า User ที่สามารถเข้ามาแก้ไขได้นี้ ...

Battery ใหม่กิ๊ง ~

Monday, June 29th, 2009 Posted in Apple, My Project | Comments

หลังจากที่รอมานานแสนนาน ที่จะเก็บเงินซื้อ Battery ใหม่ ของ Macbook Pro 15'' ซึ่งยังงั้ยยังไง ก็ไม่สามารถตัดใจซื้อได้สักที เพราะด้วยราคามหาโหด (6,xxx บาท) .. ทำให้โปรแกรมเมอร์น้อยๆ ได้แต่ทนใช้ battery ก้อนเก่าไป (ซึ่งจริงๆ ก็เป็นของ @lukeinth ซะด้วย - -") แต่แล้วคุณเจ้านาย (@trawut) ก็ได้โปรดเมตตา ซื้อแบตก้อนใหม่มาให้เป็นของขวัญ !! (แต่รู้สึกว่าจะไม่เนียนเลยนะครับของขวัญนี่ ... เพราะตอนแรก @hunt บอกว่า @trawut ซื้อมาให้เพราะบีฝากซื้อ จนตอนกลางคืนถึงบอกว่าไม่ได้ซื้อมาฝาก ทำอกสั่นขวัญแขวน กลัวเสียเงินไปใหญ่ -*-) ไหนๆ ก็ได้แบตก้อนใหม่แล้ว เลยเอามาให้ดูก่อนการ ...

Login เข้า server ผ่าน SSH แบบเนียนๆ

Wednesday, April 1st, 2009 Posted in My Project, Programming | Comments

เคยบ้างไหมครับ กับที่ต้องมานั่งคอยใส่รหัสผ่านวันละหลายๆ ครั้ง เวลาที่ต้องการจะเข้าไปทำงานบนเครื่อง Server ผ่านทาง SSH .. ผมละเป็นคนนึงครับที่มักจะมีปัญหาในเรื่องตรงนี้ เพราะว่าบางครั้งต้องล๊อคอินเข้าไปหลายๆ Server ในแต่ละวัน ทำให้พิมพ์รหัสผ่านกันมือหงิกเลยครับ หลังจากที่ได้ลองค้นหาข้อมูล ก็ไปเจอวิธีการอันหนึ่งครับ ที่ใช้วิธีการล๊อกอินเข้าไปโดยการใช้ RSA key pair โดยหลักการของมันก็คือ ให้เราเอา public key ของเราไปใส่ไว้บน server แล้วในตอนที่มันทำการ authenticate นี้ มันก็จะใช้ public key บน server กับ private key ที่เก็บอยู่ในเครื่องของเรา เอามายืนยันกันว่าเป็นตัวเราจริงๆ แทนที่จะต้องใช้รหัสผ่านครับ สำหรับวิธีการทำนั้นก็ง่ายแสนง่าย แต่ต้องเตือนไว้ก่อนนะครับว่าเทคนิคนี้ควรจะทำบนเครื่องคอมพิวเตอร์ของตัวเอง ที่มีการรักษารหัสผ่านเอาไว้ในระดับนึง ...

แอบโดน !!

Friday, March 13th, 2009 Posted in Garbage, My Idea, My Project | Comments

ปกติไม่ใช่สาวก Firefox หรืออะไรนะครับ เพราะผมก็ใช้ Safari อยู่แล้ว แต่ว่าที่เจอปัญหาบ่อยๆ ในการพัฒนาเว็บไซต์นี่ก็คือว่า IE นี่มัน Double Standard มากๆ เลยครับ .. ทำ CSS ทีไรหลุดทุกที ยังไงก็ต้องมีปัญหามานั่งแก้บน IE อีกรอบ ไม่ว่าจะกี่งานกี่งาน พอดีวันนี้ไปเจอช่ือท้ายของคุณลิ่ว ชอบใจดี เลยเอามาฝากครับ เพราะฉะนั้น .. เห็นใจ web developer เถอะครับ ใช้ Firefox กันเถิด คนทำงานจะได้มีเวลาไปพัฒนาอะไรใหม่ๆ กันนะ :P

Thai Comic Update feed :)

Thursday, December 11th, 2008 Posted in My Project, Programming | Comments

หลังจากที่ต้องทนเปิดหน้าเว็บไซต์ Comtoon.com ตั้งหลายครั้ง เข้าไปแต่ละครั้งก็ scroll ไปดูตรง new release ที่ไม่สามารถจะเลื่อนขึ้นลงได้ (เพราะว่าใช้ Safari มันไม่ support) สุดท้ายก็เลยลองทำ feed ออกมาจากข้อมูลของทาง Comtoon ดู http://feedproxy.google.com/ThaiComicUpdate คิดว่าอันนี้น่าจะเป็นประโยชน์สำหรับคนที่มักจะอ่าน feed เป็นประจำ และชอบอ่านการ์ตูนนะครับ จะได้ไม่ต้องคอยแวะร้านการ์ตูนเพื่อดูว่ามีเล่มใหม่ออกหรือยัง ดูจาก feed เอาเลย ;) ถ้าเจอปัญหา หรือเจอว่า Feed ไม่อัพเดทนานเข้าๆ บอกผมนะครับ .. ผมไม่รู้ว่าเขาจะปิด feature ที่เราไปดึงข้อมูลมานี่เมื่อไร T_T'' ' ปล. เมื่อไร Hunter x Hunter ...

Starling init.d script

Tuesday, November 25th, 2008 Posted in My Project | Comments

Today I was trying to get Starling to run at computer's startup, to use with Workling. So, I modified Apache's init.d script, and make it run Starling instead. Feel free to use this script, if you want to make your ...