Archive | ภาษา RSS feed for this section

Agile Meetup

ศุกร์ที่ผ่านมามี Meetup เกี่ยวกับ Software Development ที่นี่ซึ่งก็มีเป็นกลุ่มเลย คล้ายๆกับ Opendream ในไทยที่มีจัด Meetup เล่าเรื่องเทคนิคต่างๆในการทำระบบอะไรซักอย่างขึ้นมา เมื่อวานเป็นครั้งที่สองที่ไป Meetup ของที่นี่ แต่ก็ยังไม่คุ้นเคยอยู่ดี (พูดง่ายๆ คือฟังยังไม่ค่อยออก ฮะๆ) แต่ก็พยายามจะสรุปประเด็นที่พอฟังได้มาจดไว้ก่อน Meetup คราวนี้จัดที่บริษัท Odd-e ตอนแรกก็คิดว่าคล้ายๆ Opendream ก็คล้ายจริงๆ นั่นแหละเพียงแต่ว่าพื้นที่น้อยกว่ากันเยอะ และคนที่มาก็มากกว่ากันพอสมควร เรียกว่าแทบจะเข้ามาฟังกันไม่ได้เลยหละ เนื้อหาที่พูดมีให้โหวตกันก่อนหน้านั้นสุดท้ายแล้วมีสองเรื่องคือ Maintainability, Extensibility, Testability กับ ATDD and BDD เรื่องแรก Maintainability, Extensibility, Testability พูดถึงวิธีที่คนพูดใช้ในการทำเรื่องพวกนี้ต่างๆ ส่วนใหญ่จะเน้นไปที่ Aspect-J ว่าเอามาใช้แยก logic การทำงานให้ชัดเจนอย่างไร ทดสอบง่ายอย่างไร และเอา function เข้าและออกง่ายอย่างไร และการแยกแบบนี้มีข้อดีอย่างไร เมื่อแยกส่วนแล้วจะทดสอบยังไร สำหรับคนที่สนใจ Aspect-J ก็คงเหมาะกับ [...]

Read full story Comments { 4 }

Ruby meetup

วันนี้ @visibletrap ชวนไป Ruby meetup ตอนแรกคิดว่าจะมีแต่ Technical แต่ฟังจนจบก็ผิดไปจากที่คิดพอสมควร เพราะส่วนใหญ่เป็นเรื่องไอเดีย หรือความสนใจของแต่ละคนมากกว่า ไม่ Technical มากนัก (ซึ่งก็ดีแล้ว ฟังง่ายดี แหะๆ) โดยรวมที่คุยกันในนั้นก็มีสามเรื่องคือ เรื่องแรกคือ Money, Sex and Evolution: Simulation and Data analysis with Ruby and R ชื่อเรื่องครึ่งแรกชวนให้ติดตามมาก ฮะๆ แต่จริงๆ คือการเอา Ruby และ R มาทำ Simulation ตามหัวข้อต่างๆ ที่สนใจซึ่งในที่นี้คือ Money, Sex และ Evolution ซึ่งก็น่าสนใจแหละ ถ้าเป็นสายที่ต้องเอาข้อมูลมากมายมาวิเคราะห์นะ คนที่บรรยายเขียนหนังสืออยู่ด้วยเกี่ยวกับการประมวลผลข้อมูล แต่จำชื่อเรื่องไม่ได้แฮะ ไว้ให้ @visibletrap มาตอบให้ดีกว่า (ตอนท้ายมีถามด้วยว่า มีคนใช้ Ruby [...]

Read full story Comments { 0 }

Two approaches – Mock/Stub

เรื่องนี้พึ่งย่อยเสร็จแต่เป็นสิ่งที่คุยกับ @visibletrap ตั้งแต่วันแรกที่มาถึงสิงคโปร์ (คุยทีเดียวหลายเรื่อง ล่อไปสามชั่วโมงได้ ฮ่าๆ) เรื่องก็มีอยู่ว่าเวลาทำ TDD หลายค่ายมักบอกว่าให้ทำ Mock ซึ่งก็เคยพยายามทำหลายครั้งแต่ก็ไม่ประสบความสำเร็จเสียทีเพราะรู้สึกมันทำให้เขียนอะไรซ้ำหลายอย่าง วันนั้น @visibletrap ก็เลยอธิบายและคุยจนเคลียร์ว่าเค้าใช้ Mock เมื่อไหร่กัน วิธีการทำระบบอะไรซักอย่างปกติก็มีอยู่สองทางในการสร้างขึ้นมา คือ Top-Down / Bottom-Up วิธีที่คุ้นเคยสุดเพราะอะไรไม่รู้อาจจะเพราะที่เรียนมาในมหาวิทยาลัยต่างๆ ในวิชา SE ที่บอกว่าให้หาคำนาม บลาๆๆ ก่อนคือ Bottom-Up เริ่มจากหาว่าในระบบจะมี Model อะไรบ้าง แล้วหา Behavior เพื่อสร้างคลาสขึ้นมาทั้งหมดให้ครบทั้ง Flow โดยเริ่มจากฐานที่เป็นคำนาม จนถึงชั้นบนสุดที่เป็นส่วนติดต่อกับ User วิธีที่จะสร้าง Test กับระบบแบบนี้ง่ายสุดก็คือสร้าง Stub ขึ้นมาให้ทำหน้าที่แทน Third-party คอยให้ข้อมูลต่างๆ เพื่อให้ระบบทำงานได้ถูกต้องตลอด ปัจจุบันก็ยังคงชินกับการสร้างระบบด้วยวิธีนี้อยู่ เวลาทำอะไรก็เลยมักสร้าง Stub ขึ้นมาก่อน แล้วค่อยๆ ไล่จาก Model ขึ้นไปจนถึง User [...]

Read full story Comments { 1 }

Crypto-JS & Node.js Crypto

นั่งงมอยู่หลายวันเรื่อง AES encryption ใน Javascript เนื่องจากหาข้อมูลที่เขียนอธิบายตรงๆ ไม่ได้เลย ทำได้แล้วก็จดเก็บไว้หน่อยดีกว่า เริ่มจากฝั่ง Browser ที่ต้องพึ่ง Crypto-JS เป็นชุด Library สำหรับใช้ในการเข้ารหัสหรือทำ Hash ต่างๆ สิ่งที่เอามาใช้วันนี้คือ AES ที่เป็นการเข้ารหัสที่ใช้กุญแจเหมือนกันทั้งสองฝั่ง วิธีใช้ก็ง่ายๆ มีอยู่ในเว็บคนทำอยู่แล้ว แต่ถ้าทำแค่นี้แล้วใช้กับ Node.js ได้ก็คงไม่ต้องมาจดแล้ว ปัญหามันเกิดตรงที่ถ้าเราใส่ “Secret Passphase” ไปตรงๆ สิ่งที่เกิดขึ้นคือมันจะ random IV (Initialization vector) ให้อัตโนมัติแล้วเอาไปใช้คู่กับ passphase ที่ใส่เข้ามา ทำให้ passphase ไม่สามารถเอาไปใช้กับ Node.js crypto ได้ ก็เลยต้องระบุเป็น Key และ IV ไป แต่ Key ที่ว่ามันก็ไม่ได้มาง่ายๆ อีกเนื่องจากความยาวต้องเท่ากับ 16, 24, 32 [...]

Read full story Comments { 0 }

Scrumboard

สองสามเดือนก่อน (ประมาณสิงหา – กันยา) เริ่มเข้ามาอยู่กับทีมเว็บใหม่ๆ ก็อยากทำของเล่นซักชิ้นเพื่อลองอะไรบางอย่าง ประกอบกับเบื่อ Trac ที่ทำอะไรหลายอย่างไม่ได้ดั่งใจไม่ถูกใจ UI ด้วยหาตัวเลือกอื่นก็ไม่ได้ที่ถูกใจเสียทีก็เลยเขียนเองเลย ต้นแบบที่อยากได้คล้ายๆก็ประมาณ Scrumy ก็เป็นระบบที่เสียเงิน อยากใช้ฟรี feature บางอย่างก็หายไป อีกอย่างคงเอา private project ภายในไปแปะไว้ภายนอกให้คนอื่นเห็นก็คงไม่ดีเท่าไหร่ ฉไนเลยเขียนเองซะ ได้อย่างที่ต้องการแน่นอน วันนี้มันก็มาถึงจุดที่น่าจะเอามาอวดได้แล้ว ชื่อที่เรียกเล่นๆ ตอนนี้เรียกว่า Scrumboard จากจุดแรกที่อยากเอามาใช้เพราะลอง Scrum process หน้าตาก็ประมาณด้านล่างนี้ ความอยากส่วนตัวตอนเริ่มทำก็ประมาณ อยากลอง Web storage อยากลอง Application cache อยากรู้ว่า Offline mode ของ Browser ทำงานยังไง Drag and drop ที่มากับ Javascript engine ของ browser ต่างจาก Drag and [...]

Read full story Comments { 2 }