About llun

Just a programmer
Author Archive | llun

ปีที่ 3

สองปีก่อนจะเขียนเล่าไว้ว่า ปีที่ผ่านมาทำงานแล้วรู้สึกเป็นยังไงบ้าง แต่ปีนี้เขียนช้า ฮะ ๆ เพราะมันมีหลายอย่างที่เปลี่ยนไปมาก ตั้งแต่ปริมาณงาน ความรับผิดชอบ ความสนุก และเพื่อนร่วมงาน แต่พอเห็นบล๊อกของน้องที่ทำงานเขียนแล้วก็อดเขียนไม่ได้ (อีกเหตุผลหนึ่งคือกด comment ตอบในบล๊อกไม่ได้ต้องลงทะเบียนก่อนเลย เขียนตอบแบบนี้ละกัน) ปีที่แล้วเป็นปีที่เครียดทั้งจากเรื่องงานและเรื่องเรียนต่อ จนบางครั้งก็บอกตัวเองไม่ได้ ไม่ได้สนุกเหมือนอย่างน้องที่ทำงานเท่าไหร่ และได้เห็นปัญหาต่าง ๆ เป็นข้อ ๆ เลย ได้เห็นสิ่งที่ตัวเองคาดหวัง ทำจนเป็นรูปร่างแล้วก็ตกไปไม่มีใครสนใจ มีแต่คนบอกว่าอยากได้ ๆ ทำไมไม่ทำให้เสร็จ จนรำคาญในบางครั้ง แต่ก็บอกไม่ได้ว่ามันจะเสร็จยังไง ได้รู้ว่าการให้คนทำสิ่งหนึ่งร่วมกัน จะวาดฝันอันสวยงามให้เห็นอย่างเดียวภายในเวลาเพียงสิบนาทีไม่ได้ เพราะผลสุดท้ายแล้ว อาจต้องแยกทางกันเหลือแค่ไม่กี่คน ได้เห็นปัญหาของตัวเองในการทำสิ่งต่าง ๆ ว่าอะไรควรตัดทิ้งบ้าง เป็นภาระ และเริ่มคิดว่าจะตัดอะไร และควรเน้นไปทางไหนแทน ได้รู้ว่าความรู้ต่าง ๆ เมื่อมีคนออกไปแล้ว การจะหวังว่าให้คนนั้นกลับมาอธิบาย มันเป็นไปไม่ได้เลย และมันจะกลายเป็นภาระของคนที่เหลืออยู่นั่นแหละ ที่ต้องอธิบายให้คนมาใหม่ต่อไป ได้เห็นว่าเวลาประชุม เถียงกันแทบเป็นตาย สุดท้ายเริ่มใหม่จากศูนย์แทบทุกครั้ง แต่สิ่งเหล่านี้ก็ทำให้เริ่มทำหลายอย่างขึ้นมานะ จริง ๆ ต้องเรียกว่าระวังมากขึ้นมากกว่า เริ่มจาก [...]

Read full story Comments { 1 }

โกรธ เกลียด

ไม่รู้มีใครเป็นเหมือนกันป่าว แต่ช่วงสองสามปีมานี้เป็นช่วงที่น่าเบื่อมาก ทีวีมีแต่ข่าวเดียวกันคือโฆษณาว่าอีกฝ่ายไม่ดีอย่างไร แย่ยังไง ไม่ควรนับถือยังไง คนรอบข้างก็ไม่แพ้กัน พูดคุยแต่เรื่องเหล่านี้ซ้ำไปมา ว่าไอ้นั่นมันชาติชั่วยังไง ด่าไปมา ทำ forward mail แต่คนรอบข้างแทบจะไม่คุยกันเลยว่าจะทำให้มันจบยังไง และผมไม่เชื่อว่าการด่าอีกฝ่ายอย่างเดียว จะช่วยทำให้สถานการณ์มันดีขึ้นเลย คือไม่รู้คิดไปเองหรือป่าวนะ ว่าทำไมเราสนใจแต่แกนนำ ทำไมเราไม่ถามคนมาชุมนุม เราบอกต่อกันมาว่าเค้ารับเงินมา ทำไมเค้าไม่ถามคนที่รับเงินมาเหล่านั้นนะ ว่าทำไมถึงรับเงินเหล่านี้แล้วมาเย้ว ๆ ในกรุงเทพฯ ทำไมเค้าไม่อยู่บ้านทำงาน มากรุงเทพ ฯ รับเงินแค่นี้แล้วมันอยู่ได้ตลอดหรอ หรือทำไมเค้านับถือคนก่อเรื่องเจ้าปัญหาคนก่อน เค้ามีปัญหาอะไร เค้าช่วยทำให้ทางบ้านเค้าดีขึ้นยังไง และจะให้ช่วยยังไง ทำไมรัฐบาลไม่ทำโครงการต่าง ๆ ที่ทำให้ที่บ้านเค้าน่าอยู่ มีปัญหาภัยแร้งน้ำไม่พอใช้อยู่ทุกปี ทำไมไม่มีโครงการชลประทานขนาดใหญ่ ที่ทำให้ปัญหาเหล่านี้หมดไป ทำไมรัฐบาลไม่เอาตำรวจบุกไปจับแกนนำเลย ในเมื่อเค้ามีความผิดต่าง ๆ อย่างที่รัฐบาลบอก ทำไมรัฐบาลไม่สามารถทำให้คนที่มาชุมนุมกลับบ้านได้? ทำไมถึงมีคนมาชุมนุมประท้วงอยู่ในกรุงเทพฯ เรื่องเดิมอยู่ได้เรื่อย ๆ ทำไมเราถึงบอกว่าคนมาชุมนุมนั้นโง่ ทำไมเค้าเหล่านั้นถึงเชื่อแกนนำในการทำสิ่งต่าง ๆ บอกตามตรง ตอนนี้เบื่อมากจากทั้งสองฝั่ง แต่ไม่ได้บ่นอะไรเพราะไม่รู้จะทำให้ดีขึ้นยังไง แต่ได้ยินคนจะฆ่าอีกฝ่ายกันทุกวันเหมือนไม่ได้อยู่ในประเทศเดียวกัน (หรือจริง ๆ เราไม่ได้อยู่ประเทศเดียวกันอยู่แล้ว) [...]

Read full story Comments { 2 }

mod_authn_dbd+WordPress

หลังจากติดตั้ง WordPress ทำ KM ให้บริษัทจนตอนนี้มีบทความต่าง ๆ ไหลมาเป็นน้ำจากหลายคน ก็เกิดอีกปัญหาขึ้นเพราะว่ามี Service ก่อนหน้าที่เอาขึ้นมาก่อนแล้วเช่น HG สำหรับทำ Project เล็ก ๆ เป็นการทดลอง Trac ที่ไว้เก็บ issue ต่าง ๆ ของ Project เหล่านั้นหรือแม้แต่ feed ที่ต้องการแต่ไม่อยากเปิดให้คนนอกเข้ามาก็ต้องทำให้มันถามรหัสเพื่อรู้ว่าเป็นคนภายในหรือป่าว วิธีที่จะทำให้บริการเหล่านี้ใช้ข้อมูลของ User ที่เดียวกันก็มีหลายวิธี ง่ายสุดก็คงเป็นการตั้ง LDAP แต่เนื่องจากเป็นคนใจร้อนขี้เกียจรอเลยให้ทุก Service มาใช้ Database WordPress เพื่อ Authenticate แบบชั่วคราวไปก่อน โดยใช้ตัวช่วยที่อยู่ใน Apache ที่เรียกว่า mod_authn_dbd mod_authn_dbd เป็น module เสริมของ Apache ที่ใช้คู่กับ mod_dbd ที่ทำให้ Apache ติดต่อกับ Database ต่าง [...]

Read full story Comments { 0 }

The Art of Unit Testing

ตอนเริ่มทำงานใหม่ ๆ ผมก็พอรู้จัก Unit Test มาบ้างแล้ว แต่ที่รู้จักคือมีแค่ Assertion ธรรมดา สร้างไว้เพื่อทดสอบโค้ดส่วนต่าง ๆ ว่าสิ่งที่ต้องการสร้างนั้นทำงานถูกต้อง เหมือนเวลาเขียนโค้ดแล้วอยากรู้ว่าสิ่งที่เราคิดทำงานถูก ก็จะไปสร้างโปรแกรมเล็ก ๆ มี main แล้วใส่โค้ดส่วนนั้นไว้ลองรันดู แต่หลังจากเริ่มทำงาน สิ่งที่รู็จักเพิ่มขึ้นคือการตั้งค่าต่าง ๆ เพื่อทำให้ Unit Test เดิมสามารถทำงานได้ ช่วงแรกก็พยายามที่จะรัน รู้สึกตื่นเต้นว่ามีเทคนิคต่าง ๆ เยอะเลย มีการกำหนด setup เพื่อสร้าง Object ต่าง ๆ ก่อนทดสอบ มี Class ที่สร้างมาเพื่อใช้ในการทดสอบโดยเฉพาะเรียกว่า Mock แต่กว่าจะรันพวกนี้ได้แต่ละครั้ง เหนื่อยมาก จนสุดท้ายก็เลิกทำ และเลิกเขียนไป หลัง ๆ มีน้องเข้ามาใหม่ ก็พยายามให้น้องเขียน Unit Test แต่ลดพวก dependency พวกนี้ลง ให้มันจบใน Unit [...]

Read full story Comments { 1 }

Tag กับ Category ใน WordPress

ช่วงที่ทำ KMS มีคำถามนึงขึ้นมาเรื่อง Tag กับ Category ว่าอะไรควรใส่อะไรบ้าง (ติด WordPress ทุกครั้งเจอคำถามนี้ทุกครั้ง) เมื่อคืนเกิดคึกไรไม่รู้ นอนไม่หลับ แถมมีไอ้เรื่องนี้เข้ามาในหัว ใจจริงอยากเขียนเมื่อคืน แต่เช้านี้ต้องไปเชงเม้ง เลยข่มตาหลับไปซะ จนได้มาเขียนตอนเย็นนี้นี่แหละ Category กับ Tag แทบไม่ต่างกันเลยจุดประสงค์คือไว้จัดประเภทของเนื้อหาหรืออะไรก็ตามให้เป็นหมวดหมู่ ยิ่งเมื่อสร้าง Category แล้วเลือกหลาย ๆ อันในหนึ่งเรื่องความแตกต่างแทบจะหายไป แต่ถ้าคิดถึงวิธีสร้างและวิธีใช้สองอย่างนี้แทบจะต่างกันอย่างสิ้นเชิง Category คือ คำ ที่กำหนดไว้อย่างถาวรอาจมีลำดับ หรือเป็นกลุ่มด้วยกันเอง เช่น อาจมีการจัดประเภทว่า OS แล้วแบ่งกลุ่มย่อยลงไปเป็น Windows, Linux, OSX คือจะเลือกแค่ Linux แต่กลุ่มหลักก็คือ OS เหมือนเลือกหนึ่งได้สอง Tag คือ คำเฉพาะ ที่มีเฉพาะบางเนื้อหา ถูกสร้างมาพร้อมกับเนื้อหาบางเรื่อง และไม่มีการจัดกลุ่มหรือลำดับชั้น ส่วนใหญ่ที่ผมใช้ก็จะเป็นพวก ยี่ห้อ หรือ ชื่อเฉพาะ ทั้งหลาย [...]

Read full story Comments { 0 }