เมื่อวานเขียนเรื่อง Application Cache ไปสิ่งหนึ่งที่เกี่ยวข้องแต่แยกออกมาคือ online/offline ใน browser ปัจจุบัน (Chrome, Firefox, Safari) สามารถตรวจว่าตอนนี้เครื่องที่เราใช้อยู่ online/offline อยู่ได้จาก navigator ตามด้านล่าง สถานะ online/offline จะดูตาม network interface ของเครื่องเลยว่ามี interface ไหนที่ active อยู่บ้างถ้าไม่มี interface ไหน active เลย navigator.onLine จะมีค่าเป็น false ถ้ามี interface นึงที่ active จะมีค่าเป็น true นอกจาก flag ที่ check จาก navigator แล้วยังมี event ที่บอกว่าเปลี่ยนเป็น online/offline เมื่อไหร่ดักได้ตาม code ด้านล่าง จาก code ไว้สำหรับคอยดักดูว่า [...]
Sequence dev process
ได้ Stylus มากำลังเห่อ แถมช่วงนี้กำลังตบตี Dev Process ทดลองอะไรต่างๆ และติดใจ Sequence diagram มากสุดเพราะมันทำให้เห็นหน้าที่ชั้นต่างๆ ชัดดี เลยลองเขียน Sequence ของ Dev process ปัจจุบันซักหน่อย ได้ออกมาตามภาพด้านล่าง จริงมีวาดไว้อีกหลายอย่างแต่คงเอามาเปิดเผยไม่ได้ ฮะๆ
Scrum & TDD, Month and a half after
อยากเขียนเก็บไว้ซักหน่อย ประสบการณ์หนึ่งเดือนครึ่งหลังจากทดลองใช้จริงจัง ตอนนี้สามารถบอกได้ว่า อะไรเสร็จบ้างไม่เสร็จบ้าง ความคืบหน้าชัดเจน สามารถบอกความสามารถของคนในทีมได้ ว่าทำอะไรได้เร็วแค่ไหน ใช้เวลาเท่าไหร่ TDD เข้ามาช่วยบอกเรื่องความชัดเจนของ Module/Class ว่าแต่ละชั้นมีหน้าที่อะไร ทำอะไรซ้ำซ้อนหรือป่าว (ถ้าเขียน UnitTest ซ้ำกันเมื่อไหร่ก็บอกได้หละว่ามีบางชั้นที่ซ้ำซ้อนกัน) เมื่อมีบั๊กสามารถบอกได้ว่ามันผิดพลาดที่ชั้นไหน เพิ่ม Input เข้าไปจนทำให้บั๊กมัน Reproduce ได้เร็ว แก้ได้เร็ว ด้านบนคือสิ่งที่ประทับใจและสำเร็จไปแล้ว ปัญหาตอนนี้คือ เหนื่อยเพราะต้องคอยวางแผนและติดตามงานเป็นรายวัน เพื่อกะเวลาบางอย่างแล้วแจกงานไป จริงๆ จะ list งานออกมาแล้วค่อยๆ ให้ไปเลยก็ได้ แต่สิ่งที่จะไม่ได้กลับมา คือแต่ละคนมีปัญหาอะไรบ้าง แล้วจะแก้ร่วมกันยังไง รวมถึงจะกะเวลาจริงไม่ได้ด้วย ขัดแย้งกับคนอื่นมากขึ้น ช่วงนี้ต้องคอยชักชวน และคอยตัดห้ามใครเข้ามารบกวน Process บางอย่างที่ยังไม่ต้องทำ ก็ยังไม่เอาเข้ามา แม้จะโดนบอกว่าอยากได้แค่ไหน ก็ต้องตัดไม่ให้มันเข้าไปถึง Dev ด้านล่างต้องหาทางผลักมันออกไปในช่วงเวลาถัดไปให้มากที่สุด ไม่ให้แผนเวลาเสียไป ความสามารถในการ Review Code เริ่ม Drop หลังจากเพิ่มคนที่เข้ามาทดลอง หลังๆ นี่เริ่มปล่อยไม่สามารถดูละเอียดได้จริงๆ [...]
HTML5 Application Cache
Feature นึงใน Kindle Reader ที่ทำให้สงสัยมากตอนเล่นครั้งแรกคือทำยังไงถึง Bookmark เป็น App ใน iPad แล้วพอเปิดขึ้นมาแบบ Airplane mode ยังสามารถทำงานได้อยู่โดยไม่ต้องต่อเนท เคยลองทำเว็บเล่นเองพอ Bookmark iPad ก็ไปโหลด resource ใหม่อยู่ดีจนไม่นานมานี้ทำ Project ทดลองจริงจังจึงพบว่า มี Feature นึงใน Browser รุ่นใหม่ๆ เรียกว่า Application Cache Feature นี้ใช้ได้เฉพาะ Safari, Chrome และ Firefox เท่านั้น IE9 ยังไม่รองรับ (ส่วน Opera ยังไม่ได้ลอง) เพราะงั้น Project ทดลองเลยบอกไว้เลยว่าไม่รอบรับ IE (เพราะมันเล่น Offline ไม่ได้นั่นเอง) หน้าตาเว็บที่ใช้ Application cache ก็จะมีหน้าตา HTML ตามด้านล่าง [...]
Define Test
อาทิตย์ที่ผ่านมาเริ่ม Push TDD ให้ทีม Dev ทั้งทีมก็มีเสียงตอบกลับมาทันที ซึ่งเป็นสิ่งที่อยากได้และจะได้เอาไปปรับปรุง เสียงตอบอันนึงที่กลับมาถูกบล๊อกโดย @teerapapc ผ่านหัวข้อนี้ “My experience with unit testing in software development” สรุปสั้นๆ คืออยากให้คนอื่นเป็นคนเขียน Test ในตอนท้ายของบทความ จริงๆ เรื่องเขียน UnitTest สำหรับ Dev หลายคนที่พึ่งจบออกจากมหาวิทยาลัยและเขียนโปรแกรมเล่นตามสิ่งที่สนใจ มักเป็นสิ่งที่อยู่ห่างไกลกันเหลือเกิน แม้แต่ตัวเองตอนจบใหม่ๆ และทำงานได้สองสามปีแรก ก็ไม่รู้ว่าจะเขียน Test ยังไงเพราะขั้นตอนการทำงานเริ่มจาก ได้ Requirement มาจาก Manager จากนั้นก็เริ่มเขียน Module ต่างๆ ตามที่คิดไว้ ลองรันดูว่ามันทำงานถูกต้องตามที่ Manager ให้มามั้ย ปิดเคส ด้านบนคือช่วงก่อนที่จะมี QA ช่วงที่มี QA เข้ามาก็จะมีขั้นตอนเพิ่มก่อนปิดเคสคือ ส่งให้ QA เล่น จากนั้นงานก็จะเด้งเป็นปิงปองซักพัก [...]





