เจ้าของเว็บไซต์ขายเองครับ ขายบ้านทาวน์โฮม (อายุบ้าน 7 ปี) โครงการอินดี้ 2 ศรีนครินทร์ (Indy 2 Srinakarin) บ้านเกรดแลนด์แอนด์เฮ้าส์ (Land and Houses) อยู่ซอย 1 (เดิน 200 เมตรถึงหน้าหมู่บ้าน) ซอยทรัพย์พัฒนา ต.บางเมือง อ.เมืองสมุทรปราการ จ.สมุทรปราการ
แผนที่ https://maps.app.goo.gl/jUn4AdjFGwi72xMb7
วิ่งตรงตัดผ่านถนนศรีนครินทร์ยาวไปถึงถนนสุขุมวิทช่วง BTS ปากน้ำ (ขนาดถนนประมาณ แบริ่งหรือลาซาล) ต่อไปจะเดินทางสะดวกมากยิ่งขึ้น
ภาพจากดาวเทียมจะเห็นว่าหมู่บ้านใกล้เคียงทำถนนรอตามผังเมืองไว้แล้ว
เว็บไซต์ขายเบอร์มงคล เริ่มต้นเพียง 9,900 บาท ระบบสำเร็จรูปพร้อมใช้งาน โดยถูกออกแบบมาเพื่อผู้ขายเบอร์มงคลที่มีงบจำกัด แต่อยากได้เว็บไซต์ที่ใช้งานง่าย พร้อมใช้ทันทีโดยไม่ต้องออกแบบใหม่ คุณจะได้รับเว็บไซต์ที่ใช้ Template สำเร็จรูป มาพร้อมฟีเจอร์จัดการเบอร์มงคลครบถ้วน เหมาะกับการเริ่มต้นธุรกิจออนไลน์ได้อย่างมั่นใจ
ระบบสำเร็จรูป เหมาะสำหรับผู้ขายเบอร์เริ่มต้น ตัวเลือกประหยัด
เหมาะกับร้านค้าเล็กที่อยากทำออนไลน์แบบเร็วและคุ้มค่าโดยไม่ต้องลงทุนสูง และไม่ต้องรอพัฒนาเว็บไซต์นานๆ พร้อมระบบจัดการที่ช่วยให้ธุรกิจเดินหน้าได้ทันที สิ่งที่จะได้รับเพิ่มเติม:
ร้านค้าขนาดเล็กที่ต้องการฟีเจอร์พื้นฐานครบถ้วนต้องการเว็บไซต์ฟังก์ชันครบครัน ใช้งานง่าย พร้อมรองรับการบริหารจัดการเบอร์มงคลในขั้นสูงมากขึ้น และระบบขายที่สะดวกสบายยิ่งขึ้น สิ่งที่จะได้รับเพิ่มเติม:
เริ่มต้นขายเบอร์มงคลออนไลน์ได้ง่ายและรวดเร็วด้วยเว็บไซต์ระบบสำเร็จรูป คุณจะได้ระบบจัดการที่ครอบคลุมและฟีเจอร์ครบถ้วน พร้อมใช้งานในงบประหยัด
อย่ารอช้า! เลือกแพ็กเกจที่เหมาะสมกับธุรกิจของคุณแล้วเริ่มสร้างรายได้จากเบอร์มงคลได้ทันที
สวัสดีครับเพื่อนๆ! วันนี้ผมมารีวิวแอพ โปรแกรมคำนวณค่าแท็กซี่ ที่ผมทำด้วยใจรักในการเขียนโค้ดขึ้นมาเป็นโปรเจกต์เล็กๆ ที่เกิดจากความต้องการใช้งานจริงของผมเอง เพราะบ่อยครั้งที่เราต้องคำนวณค่าแท็กซี่ล่วงหน้า โดยเฉพาะช่วงที่ต้องเดินทางไปราชการหรือออกงานต่างๆ
เล่าให้ฟังครับ ตอนนั้นผมต้องไปพบลูกค้าที่อยู่ไกลจากออฟฟิศมาก แล้วก็ต้องเขียนใบเบิกค่าเดินทางล่วงหน้า คิดดูแล้วคงต้องนั่งคำนวณเอง ใช้อัตราที่กรมการขนส่งทางบกประกาศไว้ แต่พอเอาสูตรมาคำนวณดู อุ๊ย! ซับซ้อนพอสมควรเลย
ก็เลยคิดว่า “เอาเถอะ ทำแอพเล็กๆ ไว้ใช้เองดีกว่า” และนี่คือที่มาของโปรแกรมตัวนี้ครับ
ผมใช้อัตราค่าโดยสารที่กรมการขนส่งทางบกประกาศใช้ตั้งแต่เดือนมกราคม 2566 ซึ่งเป็นอัตราปัจจุบันที่ใช้กันอยู่ครับ มีการแบ่งเป็น 2 ประเภท:
ระยะทาง | อัตราค่าโดยสาร |
---|---|
กิโลเมตรแรก | 40 บาท |
กม.ที่ 2-10 | กิโลเมตรละ 6.50 บาท |
กม.ที่ 11-20 | กิโลเมตรละ 7.00 บาท |
กม.ที่ 21-40 | กิโลเมตรละ 8.00 บาท |
กม.ที่ 41-60 | กิโลเมตรละ 8.50 บาท |
กม.ที่ 61-80 | กิโลเมตรละ 9.00 บาท |
กม.ที่ 81 ขึ้นไป | กิโลเมตรละ 10.50 บาท |
ระยะทาง | อัตราค่าโดยสาร |
---|---|
กิโลเมตรแรก | 35 บาท |
กม.ที่ 2-10 | กิโลเมตรละ 6.50 บาท |
กม.ที่ 11-20 | กิโลเมตรละ 7.00 บาท |
กม.ที่ 21-40 | กิโลเมตรละ 8.00 บาท |
กม.ที่ 41-60 | กิโลเมตรละ 8.50 บาท |
กม.ที่ 61-80 | กิโลเมตรละ 9.00 บาท |
กม.ที่ 81 ขึ้นไป | กิโลเมตรละ 10.50 บาท |
ผมออกแบบให้เรียบง่าย ไม่ซับซ้อน เพราะเชื่อว่า “Simple is better” ครับ มีแค่:
ไม่ต้องลงทะเบียน ไม่ต้องล็อกอิน เปิดเว็บขึ้นมาใส่ข้อมูลได้เลย ผลลัพธ์ออกมาทันที คิดว่านี่คือสิ่งที่ผู้ใช้ต้องการจริงๆ
เข้าไปที่ https://app.memo8.com/taxi-meter-calculator/ ครับ
จากที่ผมใช้มาระยะหนึ่ง รู้สึกว่าแอพนี้ช่วยประหยัดเวลาได้เยอะมาก โดยเฉพาะตอนต้องเขียนใบเบิกค่าเดินทาง หรือตอนต้องวางงบประมาณสำหรับการเดินทาง
กรณีใช้งานที่ผมพบบ่อย:
ความแม่นยำ ใช้อัตราราชการ 100% ไม่ต้องกังวลเรื่องความถูกต้อง
ใช้งานฟรี ไม่มีค่าใช้จ่าย
ไม่ต้องติดตั้งแอพ เปิดเว็บบราวเซอร์ใช้งานได้เลย ประหยัดพื้นที่ในมือถือ
รองรับทุกอุปกรณ์ ใช้งานได้ทั้งมือถือ แท็บเล็ต และคอมพิวเตอร์
A: เพราะมิเตอร์จริงจะรวมค่าติดรถด้วย ส่วนแอพนี้คิดแค่ระยะทางครับ
A: ใช้ได้ครับ เพียงแต่เลือกประเภทรถให้ถูกต้อง
A: ใช่ครับ อัปเดตตามที่กรมการขนส่งทางบกประกาศล่าสุด (มกราคม 2566)
A: ได้ครับ รองรับทุกขนาดหน้าจอ
โปรแกรมคำนวณค่าแท็กซี่ นี้เป็นเครื่องมือเล็กๆ ที่มีประโยชน์สำหรับการวางแผนการเดินทาง โดยเฉพาะคนที่ต้องเขียนใบเบิกค่าเดินทางบ่อยๆ หรือต้องคิดงบประมาณล่วงหน้า
แม้จะไม่ได้มีฟีเจอร์หรูหราอะไรมาก แต่ก็ตอบโจทย์การใช้งานพื้นฐานได้ดี ที่สำคัญคือใช้ฟรี และใช้งานง่าย
หวังว่าจะเป็นประโยชน์กับเพื่อนๆ นะครับ ถ้าใครใช้แล้วชอบ ก็กดแชร์ให้เพื่อนๆ ด้วยนะ และถ้าใครมีข้อเสนอแนะ ผมยินดีรับฟังครับ!
หมายเหตุ: โปรแกรมนี้ใช้เพื่อประกอบการตัดสินใจเบื้องต้นเท่านั้น ไม่สามารถนำมาเป็นหลักฐานอ้างอิงทางกฎหมายได้
สวัสดีครับ! วันนี้ผมจะมารีวิวแอพที่ผมเพิ่งสร้างขึ้นเองเสร็จใหม่ๆ ชื่อว่า Refin ที่ https://refin.memo8.com/ ซึ่งเป็นเครื่องมือคำนวณรีไฟแนนซ์และสินเชื่อบ้านออนไลน์ครับ
จริงๆ แล้วแอพนี้เกิดขึ้นมาจากประสบการณ์ส่วนตัวเลยครับ พอดีช่วงนี้ดอกเบี้ยบ้านขึ้นๆ ลงๆ เยอะ ผมก็เลยต้องมานั่งคำนวณเรื่องรีไฟแนนซ์อยู่เรื่อยๆ แต่ทุกครั้งที่ต้องนั่งเปิด Excel มาคำนวณเอง… ขี้เกียจมาก!
เลยคิดว่า “ทำไมไม่สร้างเว็บไซต์มาคำนวณให้เลยละ?” ซึ่งผลงานที่ออกมาก็คือแอพ Refin ที่เห็นกันนี้แหละครับ
แอพนี้ผมออกแบบให้เรียบง่าย ใช้งานง่าย และครอบคลุมสิ่งที่เราต้องการคำนวณจริงๆ ครับ:
แอพจะคำนวณค่าใช้จ่ายต่างๆ ที่หลายคนมักลืมคิด:
การใช้งานแอพนี้ง่ายมากครับ ผมออกแบบให้ user-friendly สุดๆ:
ขั้นตอนที่ 1: เข้าไปที่ https://refin.memo8.com/
ขั้นตอนที่ 2: กรอกข้อมูลเงินกู้ปัจจุบันของคุณ
ขั้นตอนที่ 3: กรอกข้อมูลธนาคารใหม่ที่คุณสนใจ
ขั้นตอนที่ 4: กรอกค่าใช้จ่ายต่างๆ ในการรีไฟแนนซ์
ขั้นตอนที่ 5: กรอกข้อมูลการทำรีเทนชั่นกับธนาคารเดิม (เพื่อเปรียบเทียบ)
ขั้นตอนที่ 6: ดูผลการคำนวณและเปรียบเทียบทางเลือกต่างๆ
จากประสบการณ์การทำรีไฟแนนซ์จริงของผม ทำให้รู้ว่าต้องคิดค่าใช้จ่ายอะไรบ้าง และต้องเปรียบเทียบอย่างไร แอพนี้เลยครอบคลุมทุกอย่างที่ควรคำนวณ
ไม่ซับซ้อน เปิดเว็บขึ้นมาก็ใช้ได้เลย ไม่ต้องดาวน์โหลดแอพ ไม่ต้อง register ใดๆ
ใช้ได้ฟรีตลอดกาล เพราะผมสร้างขึ้นมาเพื่อแก้ปัญหาของตัวเอง และอยากแชร์ให้คนอื่นได้ใช้ด้วย
ใช้ได้ทั้งบนคอมและมือถือ ออกแบบให้ใช้งานสบายในทุกอุปกรณ์
ตอนแรกผมคิดว่าเป็นเรื่องง่าย แค่สร้างฟอร์มคำนวณธรรมดา แต่พอเริ่มทำจริงๆ… โอ้โห!
ปัญหาแรก: สูตรคำนวณดอกเบี้ยผ่อนจ่าย ฟังดูง่ายแต่พอคำนวณจริงๆ ต้องคิดถึงหลายตัวแปร เช่น การปัดเศษ การคำนวณดอกเบี้ยลดต้นลดดอก vs. ดอกเบี้ยคงที่
ปัญหาที่สอง: UI/UX ที่ใช้งานง่าย ทำยังไงให้คนที่ไม่ชอบเลขก็ใช้ได้ ซึ่งผมต้องทำหลายรอบกว่าจะได้ layout ที่พอใจ
ปัญหาที่สาม: การทดสอบความถูกต้อง ต้องเอาไปเทียบกับการคำนวณจริงของธนาคารหลายแห่ง เพื่อให้แน่ใจว่าผลลัพธ์ถูกต้อง
เอาจริงๆ นะครับ ตอนแรกผมไม่คิดว่าจะมีคนใช้เยอะ แค่ทำให้ตัวเองใช้ แต่ปรากฏว่าหลังจากที่แชร์ให้เพื่อนๆ ใช้ ได้ feedback ดีๆ เยอะมาก:
ที่สำคัญคือมีหลายคนที่ใช้แล้วตัดสินใจทำรีไฟแนนซ์ได้ประหยัดเงินเป็นหมื่นเป็นแสนต่อปี ซึ่งผมดีใจมากครับ
จากที่ผมผ่านการทำรีไฟแนนซ์มาแล้ว มีข้อแนะนำนิดหน่อย:
1. อย่าดูแค่อัตราดอกเบี้ย ต้องคำนวณรวมค่าใช้จ่ายทั้งหมดด้วย
2. ต่อรองกับธนาคารเดิมก่อน บางทีอาจจะได้อัตราดีกว่าไปโอนธนาคารใหม่
3. อ่านเงื่อนไขให้ละเอียด โดยเฉพาะเรื่อง penalty ต่างๆ
4. เปรียบเทียบหลายธนาคาร แต่ละแห่งมี promotion ต่างกัน
ผมมีแผนจะพัฒนาแอพนี้ต่อไปเรื่อยๆ ครับ:
แอพ Refin นี้เกิดจากความต้องการใช้งานจริงของผม และผมหวังว่าจะเป็นประโยชน์กับทุกคนที่กำลังมีปัญหาเดียวกันครับ
ถ้าใครมีข้อเสนอแนะ หรือพบปัญหาการใช้งาน สามารถคอมเมนต์มาได้เลยนะครับ ผมพร้อมรับฟังและปรับปรุงแอพให้ดีขึ้นเรื่อยๆ
ลองใช้กันดูแล้วมาบอกความคิดเห็นกันนะครับ!
เข้าใช้งานได้ที่: https://refin.memo8.com/
P.S. ถ้าแอพนี้ช่วยให้คุณประหยัดเงินได้ อย่าลืมแชร์ให้เพื่อนๆ ด้วยนะครับ
สวัสดีเพื่อนๆ สายเดินทางในเมืองกรุง! ใครเคยนั่งวินมอเตอร์ไซค์แล้วโดนถามประโยคคลาสสิก “น้องเคยมาเท่าไหร่” ยกมือขึ้น! บอกเลยว่าเจอบ่อยจนอยากมีเครื่องคิดเลขติดตัวไว้คำนวณค่าโดยสารวินมอเตอร์ไซค์ให้เป๊ะๆ จะได้ไม่ต้องเดา ไม่ต้องกลัวโดนฟัน วันนี้ผมเลยจะมารีวิวแอพ win.memo8.com ที่ช่วย “คํานวณค่าโดยสารวินมอเตอร์ไซค์” ได้ง่ายสุดๆ เหมาะกับ ใครก็ได้ที่อยากรู้ราคาวินในกรุงเทพฯ แบบไม่ต้องเดา!
เพื่อนๆ เคยไหมเวลาไปขึ้นวินแล้วไม่แน่ใจว่าระยะนี้ควรจ่ายเท่าไหร่? แอพคำนวณค่าวินมอเตอร์ไซค์ ช่วยชีวิตมาก เพราะใช้งานง่ายมากๆ แค่กรอกระยะทางที่ต้องการเดินทาง (กี่กิโลเมตร) แอพก็จะคำนวณค่าโดยสารตามกฎหมายให้ทันที ไม่ต้องกลัวโดนคิดเกินราคา
แอพนี้เหมาะมากกับคนที่ต้องการความชัวร์ จะได้ไม่ต้องตอบคำถาม “น้องเคยมาเท่าไหร่” แบบงงๆ หรือกลัวโดนโกง
สำหรับเพื่อนๆ ที่สงสัยว่า “ราคาวินในกรุงเทพฯ อยู่ที่เท่าไหร่?” ขอบอกเลยว่าแต่ละพื้นที่อาจมีราคาต่างกันบ้าง แต่ตามกฎหมายที่อัปเดตล่าสุด ราคาต้องไม่เกินที่กำหนดไว้ข้างต้น ถ้าเจอคิดเกินนี้ สามารถปฏิเสธหรือร้องเรียนได้เลยนะครับ
ผมเองเป็นสายเดินทางด้วยวินบ่อย เพราะรถติดนี่มันโหดมากในกรุงเทพฯ ก่อนหน้านี้เคยเจอคำถาม “น้องเคยมาเท่าไหร่” แล้วตอบไม่ถูก สุดท้ายก็จ่ายแพงกว่าที่ควรจะเป็น เลยทำแอพนี้ส่งให้น้องไปใช้ บอกเลยว่าชีวิตง่ายขึ้นเยอะ! แค่กรอกระยะทางก็รู้ราคาทันที จะได้ไม่ต้องเกรงใจหรือกลัวโดนโกง
ใครเคยมีประสบการณ์ฮาๆ หรือโดนวินคิดราคาแปลกๆ มาแชร์กันในคอมเมนต์ได้เลยนะครับ หรือถ้าใครมีแอพเด็ดๆ สำหรับคำนวณค่าโดยสารอื่นๆ ก็แนะนำกันมาได้เลย
Tip: ถ้าเจอวินคิดเกินราคามาตรฐาน อย่าไปยอม! สามารถร้องเรียนได้ที่กรมการขนส่งทางบก โทร. 1584 ตลอด 24 ชั่วโมง
win.memo8.com คือเพื่อนคู่ใจสายเดินทางในเมืองกรุง ช่วยให้เราคำนวณค่าโดยสารวินมอเตอร์ไซค์ได้แม่นยำ ไม่ต้องกลัวโดนฟัน ไม่ต้องตอบคำถามวัดใจแบบงงๆ อีกต่อไป ใครอยากลอง คำนวณค่าโดยสารรถจักรยานยนต์รับจ้าง ก็เข้าไปเล่นได้เลยนะครับ!
เพื่อนๆ เคยไหม? อยากซื้อรถสักคัน แต่พอคิดค่างวดแล้วมึนตึบเลย ไม่รู้ว่าตัวเองจะผ่อนไหวไหม จะต้องจ่ายดอกเบี้ยเท่าไหร่ เงินดาวน์ต้องกี่เปอร์เซ็นต์ถึงจะสบายใจได้ งั้นวันนี้ผมจะมาแนะนำเว็บแอพที่ช่วย “คํานวณค่างวดรถ” แบบง่ายๆ ไม่ต้องนั่งกดเครื่องคิดเลขให้เหนื่อยใจ—นั่นคือ เมมโมเอท Car Calculator!
พอเปิดเข้าไปหน้าเว็บ จะเจอฟอร์มให้กรอกข้อมูลง่ายๆ ไม่ซับซ้อน แค่กรอก 4 อย่างก็พอ:
จากนั้นกดปุ่มคำนวณ รอแป๊บเดียวก็จะเห็น “ค่างวดรถต่อเดือน” โผล่มาให้เลย พร้อมรายละเอียดยอดจัดไฟแนนซ์ เงินดาวน์ และดอกเบี้ยที่ต้องจ่ายตลอดสัญญา
เหมาะมากสำหรับคนที่อยากลองวางแผนก่อนซื้อรถ หรืออยากเปรียบเทียบว่าผ่อนกี่ปี ดอกเบี้ยเท่าไหร่ถึงจะคุ้มค่า
เมื่อใช้งานดูแล้ว จะพบว่าหน้าตาใช้งาน “ความเรียบง่าย” ไม่มีอะไรยุ่งยาก ไม่ต้องโหลดแอพลงมือถือ แค่เข้าเว็บก็ใช้ได้เลย
เหมาะกับคนที่ไม่ชอบแอพเยอะๆ หรือไม่อยากลงแอพใหม่ๆ เพิ่ม
อีกอย่างคือ “ผลลัพธ์ชัดเจน” เห็นค่างวดต่อเดือน แถมยังมีรายละเอียดยอดจัดไฟแนนซ์และเงินดาวน์ให้ดูด้วย
ถ้าใครอยากเปรียบเทียบกรณีต่างๆ เช่น ผ่อน 3 ปี vs 5 ปี vs 7 ปี ก็ลองเปลี่ยนตัวเลขดูได้เลย ไม่ต้องเสียเวลาคำนวณเอง
“จริงๆ แล้วถ้าคิดเองก็ไม่ยากหรอก แต่ถ้าใช้แอพนี้มันสะดวกกว่าเยอะ แค่กรอกข้อมูลก็ได้ผลลัพธ์มาเลย เหมือนมีเลขาไว้ข้างกายเลยนะ”
ผมเป็นคนชอบวางแผนเรื่องเงินอยู่แล้ว เวลาจะซื้ออะไรสักอย่างต้องคำนวณให้เป๊ะๆ
แต่พอมาถึงเรื่องผ่อนรถ ผมก็เคยลองคำนวณเองแล้วปวดหัวเหมือนกัน เพราะบางทีดอกเบี้ยมันไม่เท่ากันตลอดสัญญา หรือมีค่าธรรมเนียมเพิ่มเติม
พอมาใช้แอพ “คํานวณค่างวดรถ” นี้ทำให้เห็นภาพรวมของค่างวดรถชัดเจนขึ้น แถมยังสามารถลองเปลี่ยนเงินดาวน์หรือระยะเวลาผ่อนดูได้แบบทันที เหมือนได้เล่นเกมวางแผนการเงินเลยล่ะ
ส่วนใครยังไม่เคยลอง ผมแนะนำให้เข้าไปลองดูที่ app.memo8.com/car-calculator/
รับรองว่าคุณจะวางแผนซื้อรถได้ง่ายขึ้นแน่นอน!
สวัสดีครับเพื่อนๆ ผมเพิ่งอ่านหนังสือเล่มหนึ่งจบไป แล้วรู้สึกว่ามันน่าสนใจมากๆ เลยอยากมาแชร์ให้ฟัง โดยเฉพาะใครที่กำลังคิดอยากเริ่มต้นธุรกิจแต่กลัวว่าจะใช้เวลานาน หรือต้องมีเงินทุนเยอะ หนังสือเล่มนี้ชื่อว่า “Million Dollar Weekend: The Surprisingly Simple Way to Launch a 7-Figure Business in 48 Hours” เขียนโดย Noah Kagan ผู้ก่อตั้ง AppSumo และอดีตพนักงานคนที่ 30 ของ Facebook
หนังสือเล่มนี้พูดถึงวิธีเริ่มต้นธุรกิจภายในเวลาแค่ 48 ชั่วโมง (หรือหนึ่งสุดสัปดาห์) ฟังดูเหมือนเว่อร์มากใช่ไหมล่ะ? ผมก็คิดแบบนั้นตอนแรกเหมือนกัน แต่พอได้อ่านแล้วก็เข้าใจว่า Noah ไม่ได้บอกว่าคุณจะรวยเป็นล้านใน 48 ชั่วโมง แต่เขาต้องการสอนให้เราเริ่มต้นธุรกิจที่มีศักยภาพเป็นล้านได้อย่างรวดเร็ว
แนวคิดหลักของเขาคือ “ลงมือทำเร็วๆ แล้วค่อยปรับปรุง” แทนที่จะใช้เวลาเป็นเดือนๆ วางแผนหรือพยายามทำให้ทุกอย่างสมบูรณ์แบบ
เขาแบ่งเป็น 2 วัน คือเสาร์และอาทิตย์ ง่ายๆ เลย:
Noah ยกตัวอย่างหลายธุรกิจที่เริ่มได้เร็วและมีศักยภาพสูง เช่น:
ผมว่าสินค้าดิจิทัลน่าสนใจที่สุดนะ เพราะต้นทุนต่ำมาก และขยายได้ง่าย ทำครั้งเดียวขายได้หลายครั้ง
หลายคนอาจจะสงสัยว่า ทำไมต้องเร็วขนาดนั้น? Noah บอกว่าการทำเร็วมีข้อดีหลายอย่าง:
ผมว่าเขาพูดถูกนะ เพราะตัวผมเองก็เคยมีไอเดียหลายอย่าง แต่ใช้เวลาวางแผนนานเกินไป สุดท้ายก็ไม่ได้ทำอะไรเลย
ผมคิดว่าหนังสือเล่มนี้เหมาะกับ:
ถ้าคุณเป็นคนชอบวางแผนละเอียดยิบและทำอะไรช้าๆ แต่มั่นคง อาจจะไม่ถูกใจวิธีการของ Noah เท่าไหร่
ผมชอบแนวคิดของหนังสือเล่มนี้มาก โดยเฉพาะเรื่องการทดสอบตลาดก่อนลงทุนจริง ผมเองก็เคยพลาดมาหลายครั้ง เสียเงินไปกับการสร้างของที่ไม่มีใครซื้อ
อีกอย่างที่ชอบคือการมี deadline ชัดเจน (48 ชั่วโมง) ทำให้เราโฟกัสกับสิ่งสำคัญจริงๆ ไม่เสียเวลากับรายละเอียดปลีกย่อยที่ไม่จำเป็น
ผมตั้งใจว่าจะลองทำตามวิธีนี้ในสุดสัปดาห์หน้า ลองเริ่มธุรกิจเล็กๆ ดู อาจจะเป็นคอร์สออนไลน์หรืออีบุ๊คเกี่ยวกับเรื่องที่ผมถนัด จะมาอัพเดทให้ฟังอีกทีนะครับว่าเป็นยังไงบ้าง!
พวกคุณล่ะ เคยคิดอยากเริ่มธุรกิจอะไรไหม? ลองมาแชร์ในคอมเมนต์กันได้นะครับ บางทีเราอาจจะช่วยกันพัฒนาไอเดียให้เจ๋งขึ้นก็ได้!
ถ้าชอบบทความนี้ อย่าลืมกดแชร์และติดตามบล็อกผมด้วยนะครับ
ส่วนถ้าสนใจเจาะลึกลองไปสั่งซื้อได้ที่ https://s.shopee.co.th/AKO2YZmUqr ครับ
มาลองเริ่มต้นสร้าง RESTful APIs ด้วย Node.js ร่วมกับ Express ซึ่งจะไม่ได้อธิบายรายละเอียดพื้นฐานใดๆ แต่จะเน้นลงมือทำแบบตั้งโจทย์จำลอง Service ง่ายๆ ขึ้นมา เรามาเริ่มกันเลยครับ
ก่อนจะเริ่มในเครื่องจะต้องมี Node.js อยู่ก่อนนะครับ ถ้าไม่มีลองดู วิธีติดตั้งที่นี่
ก่อนอื่นให้เราเริ่มต้นสร้างโฟลเดอร์สำหรับเก็บโปรเจ็ค จากนั้นเข้าไปในโฟลเดอร์ และสร้างไฟล์ package.json ด้วยคำสั่งนี้
npm init -y
npm install express --save
หลังจากรันคำสั่งด้านบนแล้ว ภายในโปรเจ็คของเราควรจะต้องมีโฟลเดอร์ node_modules และไฟล์ package.json
ทีนี้เรามาสร้าง Server แบบง่ายดูก่อนว่ามันทำงานได้ไหม เริ่มต้นให้สร้างไฟล์ server.js และเพิ่ม Code ตามด้านล่างนี้
const express = require("express");
const app = express();
const port = process.env.PORT || 3000;
app.get("/", (req, res) => {
res.send("Hello! Node.js");
});
app.listen(port, () => {
console.log("Starting node.js at port " + port);
});
อธิบายเพิ่มเติม บรรทัดบนสุดเป็นการเรียกใช้ require('express')
และถัดมาเป็นการสั่ง Execute ส่งค่าเก็บไว้ตัวแปร app
ส่วน const port = process.env.PORT || 3000;
ตรวจสอบว่ามีตั้งค่า Port ใน Environment variables หรือไม่ ถ้าไม่ให้ใช้ Default เป็น Port 3000
ส่วน app.get("/", (req, res) ...
คือ Route เป็นการกำหนด Path รวมถึง HTTP Method ต่างๆ ภายในเป็นการประมวลผลและส่งค่ากลับ
ส่วนสุดท้ายคือ app.listen(port)
รับค่า Port เพื่อสั่งให้รัน Web Server ด้วย Port ที่เรากำหนด โดยสามารถรันด้วยคำสั่งดังนี้
node server.js
เมื่อรันคำสั่งแล้วจะมีข้อความขึ้นบน Console ว่า Starting node.js at port 3000
แสดงว่าทำงานได้ถูกต้อง
จากนั้นให้เข้าไปที่ http://localhost:3000
จะได้ผลลัพธ์เป็น Hello! Node.js เพราะเรากำหนด Route ว่าถ้าเข้ามาที่ Path / ด้วย Method Get จะส่งค่าดังกล่าวกลับไป
ตัวอย่างเป็น API ใช้งานข้อมูล User โดยจะเรียกผ่าน HTTP Method แต่ละตัวไปยัง Path ดังต่อไปนี้
/api/users
ขอข้อมูล users ทั้งหมด/api/users/:id
ขอข้อมูลเฉพาะ user id ที่ส่งเข้ามา/api/users
เพิ่ม user/api/users/:id
แก้ไขข้อมูลเฉพาะ user id ที่ส่งเข้ามา/api/users/:id
ลบข้อมูลเฉพาะ user id ที่ส่งเข้ามาให้สร้างไฟล์ db.json และเพิ่มข้อมูลตามด้านล่างเพื่อจำลองข้อมูล
[
{
"id": 1,
"username": "user1",
"name": "John",
},
{
"id": 2,
"username": "user2",
"name": "Jackson"
},
{
"id": 3,
"username": "user3",
"name": "Mary"
}
]
ต่อไปนี้จะเป็นการสร้าง API ในแต่ละ Service ที่เราได้ออกแบบไว้ข้างต้น โดยจะยังแก้ไขในไฟล์ server.js เดิม ก่อนอื่นให้ import json ไฟล์ก่อน (ไว้บนสุดของ Code)
const users = require('./db')
1. API สำหรับขอข้อมูล users ทั้งหมด GET /api/users
เพิ่ม Code ด้านล่างนี้
app.get('/users', (req, res) => {
res.json(users)
})
วิธีทดสอบ API ซึ่งจะมีเครื่องมือมากมายให้ใช้ แต่ ณ ที่นี้จะใช้ Extension ของ Visual Studio Code มีชื่อว่า Thunder Client มันคือเครื่องมือที่ช่วยสร้าง API Request ลักษณะเดียวกับ Postman
เมื่อติดตั้งแล้วลองพิมพ์ http://localhost:3000/users
และกด Send เราจะเห็นรายการข้อมูล User ที่มีอยู่ ดังรูปด้านล่างนี้
2. API สำหรับขอข้อมูลเฉพาะ user id ที่ส่งเข้ามา GET /api/users/:id
เพิ่ม Code ด้านล่างนี้
app.get('/users/:id', (req, res) => {
res.json(users.find(user => user.id === Number(req.params.id)))
})
จาก Code เราจะรับ Parameter ชื่อว่า id โดยรับข้อมูลผ่าน req.params เพื่อไปค้นหาใน db.json แล้วส่งข้อมูลเฉพาะ id นั้นกลับไป ลองพิมพ์ http://localhost:3000/users/2
ผลลัพธ์ดังรูปด้านล่างนี้
3. API สำหรับเพิ่ม user POST /api/users
เพิ่ม Code ด้านล่างนี้
app.post('/users', (req, res) => {
users.push(req.body)
let json = req.body
res.send(`Add new user '${json.username}' completed.`)
})
เราจะเพิ่ม User โดยส่งข้อมูลผ่าน Request Body และรับข้อมูลผ่าน req.body
ดังนั้นเราจำเป็นที่จะต้องใช้ Middleware ซึ่งจะเป็นตัวขั้นก่อนเข้าถึง Route เพื่อแยกวิเคราะห์ body message ที่เข้ามา
กรณีเวอร์ชั่น Express 4.16.0+ ขึ้นไป เราสามารถเรียกใช้ Built-in middleware โดยตรงได้เลยดังนี้
app.use(express.json())
app.use(express.urlencoded({ extended: true }))
กรณีเวอร์ชั่นต่ำกว่า Express 4.16.0 ให้ติดตั้ง body-parser ตามด้านล่างนี้
npm install body-parser --save
และเรียกใช้งาน body-parser ดังด้านล่างนี้
const bodyParser = require('body-parser')
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
ทดสอบโดยเลือก Method เป็น Post พร้อมส่ง request body เป็นข้อมูลของ User ที่จะเพิ่มในรูปแบบ Json Content ไปยัง http://localhost:3000/users
ผลลัพธ์ดังรูปด้านล่างนี้
4. API สำหรับแก้ไขข้อมูลเฉพาะ user id ที่ส่งเข้ามา PUT /api/users/:id
เพิ่ม Code ด้านล่างนี้
app.put('/users/:id', (req, res) => {
const updateIndex = users.findIndex(user => user.id === Number(req.params.id))
res.send(`Update user id: '${users[updateIndex].id}' completed.`)
})
ทดสอบโดยเลือก Method เป็น Put พร้อมส่ง request body เป็นข้อมูลของ User ที่จะแก้ไขในรูปแบบ Json Content และ Parameter ชื่อว่า id ไปยัง http://localhost:3000/users/2
ผลลัพธ์ดังรูปด้านล่างนี้
5. API สำหรับลบข้อมูลเฉพาะ user id ที่ส่งเข้ามา DELETE /api/users/:id
เพิ่ม Code ด้านล่างนี้
app.delete('/users/:id', (req, res) => {
const deletedIndex = users.findIndex(user => user.id === Number(req.params.id))
res.send(`Delete user '${users[deletedIndex].username}' completed.`)
})
ทดสอบโดยเลือก Method เป็น Delete พร้อมส่ง Parameter ชื่อว่า id ไปยัง http://localhost:3000/users/2
ผลลัพธ์ดังรูปด้านล่างนี้
Code ในไฟล์ server.js ทั้งหมดเมื่อรวมกันแล้วจะเป็นดังนี้
const users = require('./db')
const express = require("express");
const app = express();
const port = process.env.PORT || 3000;
// - เวอร์ชั่น Express 4.16.0+ ขึ้นไป
app.use(express.json())
app.use(express.urlencoded({ extended: true }))
// - เวอร์ชั่นต่ำกว่า Express 4.16.0+
// const bodyParser = require('body-parser')
// app.use(bodyParser.json())
// app.use(bodyParser.urlencoded({ extended: true }))
app.get("/", (req, res) => {
res.send("Hello! Node.js");
});
app.get('/users', (req, res) => {
res.json(users)
})
app.get('/users/:id', (req, res) => {
res.json(users.find(user => user.id === Number(req.params.id)))
})
app.post('/users', (req, res) => {
users.push(req.body)
let json = req.body
res.send(`Add new user '${json.username}' completed.`)
})
app.put('/users/:id', (req, res) => {
const updateIndex = users.findIndex(user => user.id === Number(req.params.id))
res.send(`Update user id: '${users[updateIndex].id}' completed.`)
})
app.delete('/users/:id', (req, res) => {
const deletedIndex = users.findIndex(user => user.id === Number(req.params.id))
res.send(`Delete user '${users[deletedIndex].username}' completed.`)
})
app.listen(port, () => {
console.log(`Starting node.js at port ${port}`);
});
หวังว่าบทความนี้คงมีประโยชน์ครับ
บทความนี้มาแบ่งปัน เครื่องมือที่ใช้ทำงานพัฒนาเว็บไซต์ ที่ได้เก็บรวบรวมรายการ Software รวมถึง Resources ต่างๆ ที่ใช้ในการทำงานเป็นประจำ แต่ก็มีบางตัวที่ไม่ได้เกี่ยวข้องโดยตรงแต่ใส่เข้ามาด้วยเพราะน่าจะมีประโยชน์ ตามรายการดังนี้ครับ
ก็หวังว่าจะมีประโยชน์ครับ
เมื่อใช้ Node.js พัฒนาโปรเจ็คหลายชิ้นงาน หรือทำงานร่วมกับผู้อื่น ปัญหาที่มักจะพบเจอคือเวอร์ชั่นของ Node.js ไม่ตรงกัน ทำให้ไม่สามารถรันโปรเจ็คขึ้นมาได้ วิธีแก้อาจจะใช้ Docker หรือไม่ก็ใช้ NVM ซึ่งคือบทความในวันนี้
NVM (Node Version Management) เป็นตัวสำหรับจัดการ Node.js บนเครื่องเรา โดยทำให้เครื่องเราสามารถมี Node.js ได้หลายเวอร์ชั่นในเครื่องเดียว และยังสามารถสลับใช้แต่ละเวอร์ชั่นในเครื่องได้โดยไม่ต้อง Uninstall เอาเวอร์ชั่นเก่าออก แล้วลงใหม่ ซึ่งมันคงจะทำให้เราเสียเวลาพอสมควร มาเริ่มกันเลยครับ
การติดตั้งสามารถทำได้ 2 วิธี ดังนี้
ใช้คำสั่ง cURL
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
ใช้คำสั่ง Wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
เมื่อติดตั้งเสร็จเรียบร้อยแล้วให้ลองพิมพ์ nvm มันควรจะแสดงผลลัพธ์ประมาณนี้
ถ้าไม่สามารถใช้คำสั่ง nvm ได้ command not found: nvm
ให้รัน Script ดังนี้เพื่อแก้ไข จากนั้นลองคำสั่ง nvm อีกครั้ง
# สำหรับ bash
source ~/.bashrc
#สำหรับ zsh
source ~/.zshrc
แต่ถ้าไม่มีไฟล์ดังกล่าวให้สร้างไฟล์ใหม่
# สำหรับ bash
touch ~/.bashrc
#สำหรับ zsh
touch ~/.zshrc
แล้วเพิ่ม Script นี้ลงในไฟล์ที่เพิ่งสร้างมาข้างต้น แล้วบันทึกสั่งรัน Script ใหม่อีกครั้ง
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
หลังจากที่เราทำการติดตั้ง NVM เรียบร้อยแล้ว เราจะมาลองคำสั่งพื้นฐานที่น่าจะใช้เป็นประจำกันครับ
แสดงรายการเวอร์ชันของ Node.js ที่เราติดตั้งในเครื่องแล้ว
nvm ls
แสดงรายการเวอร์ชันของ Node.js ที่มีทั้งหมดบน Server หลักของ Node.js
nvm ls-remote
ติดตั้ง Node.js โดยระบุเวอร์ชั่น
nvm install <node_version> # ตัวอย่าง nvm install 14.17.0
nvm install --lts # เลือกติดตั้งเป็น version lts
ถอนการติดตั้ง Node.js โดยระบุเวอร์ชั่น
nvm uninstall <node_version> # ตัวอย่าง nvm uninstall 14.17.0
ตั้งชื่อ Alias แทนเวอร์ชันของ Node.js มีประโยชน์เพื่อที่จะได้จำง่าย เพราะชื่อสั้นกระชับและมีความหมาย อาจจะตั้งเป็นชื่อย่อโปรเจ็ค หรือ เลขย่อเวอร์ชั่น เป็นต้น
nvm alias <alias_name> <node_version>
# ตัวอย่าง nvm alias v14 14.17.0
ลบ Alias ที่ผูกไว้ออก
nvm unalias <alias_name>
# ตัวอย่าง nvm unalias v14
เรียกใช้เวอร์ชันของ Node.js เป็นระบบหลักบนเครื่องของเรา
nvm use <node_version | node_alias>
# ตัวอย่าง nvm use 14.17.0 หรือ nvm use v14
nvm use system # ใช้เวอร์ชั่นในระบบหลักของเครื่อง
เป็นการกำหนดเวอร์ชันเฉพาะโปรเจ็คนั้นๆ โดยสร้างไฟล์ .nvmrc ไว้ Root บนสุดของโปรเจ็ค ใช้คำสั่ง nvm use
ขณะอยู่ในโฟลเดอร์โปรเจกต์นั้น เพื่อสลับเวอร์ชันอัตโนมัติ
v16.16.0
# หรือ
16.16.0
ใช้รันแบบระบุเวอร์ชั่นในแต่ละโปรเจ็กหรือไฟล์ ซึ่งสามารถรันพร้อมกันได้
nvm run <node_version | node_alias> <file name>
# ตัวอย่าง nvm run 14.17.0 app.js หรือ nvm run v14 app.js
ถอนการติดตั้ง NVM ออกจากเครื่องเรา
nvm unload
ก็หวังว่าบทความนี้คงมีประโยชน์ครับ
โดยปกติ Web Application ที่ต้องมีระบบ Login ย่อมต้องมีการใช้งาน Cookies ในการเก็บค่าต่างๆ เพื่อให้รู้ว่ามีการ Login ไปแล้ว เช่น Token หรือ Session เลยทำให้ Cookies นั้นสามารถเป็นเป้าหมายในการโจมตีเพื่อขโมยข้อมูล ไว้ไป เช่น อาจจะเอาไปปลอมแปลงเป็น User เพื่อ Login เข้าใช้งานอีกตัวตนนึง เป็นต้น โดยวิธีการโจมตีช่องโหว่ที่นิยมคือ
* จากช่องโหว่ด้านบนอธิบายสั้นๆ อาจจะไม่ละเอียด ลองนำคำไปค้นหาใน Google เพื่อทำความเข้าใจอีกครั้งครับ
ในส่วนวิธีการป้องกันก็มีได้หลายแบบ ไม่ว่าจะเป็นการกรองข้อมูล Request ที่ได้รับจากภายนอกให้รัดกุม หรือตั้งค่า Server ว่า Request ที่ได้รับมานั้นเป็น User ไม่ใช่ผู้โจมตี แต่บทความนี้จะกล่าวเพียงแค่ส่วน Cookies เท่านั้น โดยเราควรจะกำหนด HTTP Cookie scopes หรือ Cookie flags ดังนี้
เพื่อไม่ให้ Client สามารถเห็นหรืออ่านข้อมูล Cookies ช่วยลดความเสี่ยงของการโจมตีแบบ Cross-Site Scripting (XSS)
เพื่อบังคับให้รับส่ง Cookie บน HTTPS ซึ่งมีการเข้ารหัสข้อมูลเท่านั้น ทำให้จะไม่มีการดักอ่าน Cookies ระหว่างทางของ Client และ Server ได้
เพื่อลดความเสี่ยงของการโจมตีแบบ Cross-Site Request Forgery (CSRF) ด้วยการป้องกันต้นทางของ Cookie ที่จะส่งมายัง Server โดยเลือกกำหนดค่าได้ 2 แบบ ดังนี้
เมื่อตั้งค่าทุกอย่างเสร็จแล้ว สามารถตรวจสอบความถูกต้องใน Chrome โดย Inspect และเลือกแถบ Application จากนั้นดูที่เมนู Cookies ดังรูป
ก็หวังว่าบทความนี้คงจะเกิดประโยชน์ไม่มากก็น้อยครับ
ออกตัวก่อนว่านี่คือขั้นตอนในแบบของผมเอง บางข้ออาจจะไม่ตรงกับทฤษฎี ซึ่งนำไปปรับใช้ได้หรือไม่ได้ตรงนี้ลองนำไปพิจารณาดูอีกครั้งครับ เพราะแนวทางการรับงานของแต่ละคนไม่เหมือนกัน โดยบทความนี้เขียนเพื่อบันทึกและแบ่งปัน กรณีรับงานพัฒนาเว็บไซต์แล้วจะได้ของตามความต้องการของลูกค้า โดยที่มีการแก้ไขเปลี่ยนแปลงน้อยที่สุดในภายหลัง (ซึ่งมีแน่นอน!) ดังนั้นการวางแผนวิเคราะห์ และออกแบบลำดับขั้นตอนกระบวนการพัฒนาเว็บไซต์ ตั้งแต่ต้นจนจบซึ่งค่อนข้างสำคัญมาก เพื่อตบให้งานที่ออกมามีความชัดเจนตรงตามวัตถุประสงค์ของลูกค้ามากที่สุด โดยสรุปเป็นขั้นตอนดังนี้ครับ
สอบถามความต้องการ เพื่อให้ได้ข้อมูลเพื่อนำไปออกแบบวางแผนและเสนอราคา โดยจะมีการสัมภาษณ์ลูกค้า ซึ่งมีชุดคำถามเริ่มต้นดังนี้
หลังจากผ่านการคุยกับลูกค้าเรียบร้อยแล้ว จะทำตามลำดับขั้นตอนโดยห้ามข้ามขั้นตอนใดขั้นตอนนึงเด็ดขาด “Requirement” อะไรที่ไม่แน่ใจอย่ารับมาทำทันที ต้องสรุปกับลูกค้าให้ชัดรวมถึง “ขอบเขตงาน” เพราะไม่อย่างนั้นมีแก้บานปลายแน่นอน กระทบเวลา และราคาที่เสนอไปอาจจะเข้าเนื้อ ซึ่งตรงนี้ผมจะใช้หลักการ MVP features เพื่อเคาะสิ่งที่เราต้องการจริงๆ มีความสำคัญและสร้างมูลค่าทำประโยชน์จริงในการใช้งาน ไม่ใช่เอาแต่เพิ่มให้ครบๆดูเยอะไว้ก่อนอันนี้บานปลายไม่จบสิ้น
รายการสิ่งที่ลูกค้าต้องการเป็นข้อๆ Software Requirement Specification (SRS) เพื่อเป็นการเรียบเรียงสรุปและไม่ให้ตกหล่นส่งให้ลูกค้าดูว่าครบถ้วนตามที่คุยกันไว้หรือไม่ เช่น ให้ออกแบบเว็บไซต์ด้วย, ให้เราหาผู้ให้บริการ Server/Hosting , ออกแบบ Logo จากนั้นก็เริ่มแตกเป็นระบบโดยไล่เป็นหัวข้อ หน้าแรกมีส่วนไหน แสดง Banner, สินค้าใหม่, ข่าวโปรโมชั่น, ระบบตะกร้าสินค้า ให้ทำเป็นรายการเป็นข้อๆ จัดกลุ่มเพื่อให้ดูง่าย
ส่วนนี้จะทำให้ลูกค้าเห็นภาพรวมว่ามีระบบหรือมีหน้าเพจอะไรบ้าง ส่วนใหญ่ผมจะใช้ลักษณะเป็น mind map เพราะโยงข้อมูลได้ยืดหยุ่นดี
คือการวาด Sketch หน้าตา UI คร่าวๆ จะใช้เป็นเขียนลงบนกระดาษ หรือจะใช้โปรแกรมก็ได้ โดยจะมีลักษณะเป็นขาวดำ อาจจะมีลงถมสีเทาบ้างเพื่อเน้นส่วนต่างๆ แต่จะไม่มีการดีไซต์ใส่สี ข้อความ หรือรูปภาพจริงๆ เต็มรูปแบบ เพราะวัตถุประสงค์เพื่อสร้าง UI เพื่อสื่อสารให้เห็นตรงกันเร็วที่สุด รวมทั้งยังไม่ใช่ Cost สูงที่ต้องลงแรง Design แบบจริงจัง ซึ่งจะออกแบบพอให้เห็นภาพว่าจะมี Layout แบบไหน เมนู โลโก้ เนื้อหา รูปภาพ หรือฟีเจอร์ต่างๆ วางตรงจุดไหน ถ้าเป็นฟอร์มก็มีช่องกรอกอะไรบ้าง มีปุ่มกี่ปุ่ม นั่นเพื่อที่จะได้เห็นตรงกันกับลูกค้า ว่าหน้าตาจะประมาณนี้นะในแต่ละหน้า
จากขั้นตอนด้านบนจึงทำให้เราได้ข้อมูลมาพอสมควรที่จะวางแผนดำเนินงาน ระยะเวลารวมถึงประเมินราคา และจัดทำเอกสารได้ โดยมีเอกสารที่ควรทำให้ชัดเจนดังนี้
ออกแบบ Business Flow หรือ จะเป็น Diagram อื่นๆการทำงานของระบบให้กับทาง Developer ให้สามารถเห็นภาพของงานที่ต้องทำและทำงานที่สะดวกและรวดเร็วขึ้น
ขั้นตอนนี้เป็นการออกแบบจริงโดยอ้างอิงจาก Wireframe ที่เราได้ทำไว้ ขั้นตอนนี้เป็น Design นิ่ง ๆ อาจจะส่งให้ลูกค้าเป็นรูปหรือไฟล์ PDF เพื่อให้เค้าดูว่าใช่ที่ต้องการไหม
ขั้นตอนนี้เป็นขั้นตอนสุดท้ายก่อนจะเริ่มการเขียนโปรแกรม คือการทำ Mockup เป็นรูปแบบ Interactive เช่น มีการใส่ลิงค์ เพื่อให้คลิกไปหน้าไหน กดตรงนี้เห็นอะไร หรือคลิกที่ปุ่มลงทะเบียนแล้วจะแสดงข้อความตอบรับแบบไหน สรุปคือทำให้เพื่อให้เห็น Flow การทำงานของระบบเสมือนใช้เว็บไซต์จริงๆนั่นเอง
หลังจากผ่านกระบวนการ Design Process มาแล้ว ขั้นตอนนี้การลง Code เพื่อเขียนโปรแกรมจึงเริ่มขึ้น ห้ามข้ามขั้นตอน Design ด้านบนเด็ดขาด ไม่อย่างนั้นอาจจะได้รื้อ Code ใหม่ เสียเวลาเสีย Cost โดยใช่เหตุ ยิ่งถ้าเป็น Developer จะรู้ดีว่าการแก้ยิบแก้ย่อย จะเป็นการเพิ่ม Bug ไปในตัวด้วย เสียน้ำตามาเท่าไหร่แล้วกับเรื่องนี้
ทดสอบระบบทั้งหมดก่อนส่งมอบงาน นอกจากเราทดสอบด้วยตัวเองแล้วก็ต้องให้ลูกค้าทดสอบด้วยทุกครั้งเช่นกัน แต่ถ้าจะให้แนะนำในขั้นตอนระหว่างที่เราเขียนโปรแกรม เป็นไปได้ควรทะยอยปล่อยฟีเจอร์ออกมาบ่อยๆ เพื่อให้ลูกค้าดูและให้ทดสอบทันทีแบบเล็กๆ เมื่อรับ Feedback ส่วนไหนมา ตรงนี้เก็บงานได้ก็เก็บไปก่อน แต่อันไหนที่ดูแล้วอาจจะมีผลกระทบกับระยะเวลา เราอาจจะแจ้งลูกค้าว่าอาจจะทำหลังสุดหรือดูแล้วมันเป็นการปรับปรุงที่เปลี่ยนจากที่ความต้องการเดิม ก็ต้องคุยกันตรงๆ โดยอาจจะเป็นเฟสถัดไปโดยคิดราคาเพิ่ม เหตุผลที่แนะนำแบบนี้ เพราะถ้าเราทำไปจนสุดแล้วสิ่งที่ต้องแก้ไขมันกระทบหลายส่วนตอนนั้นจะแก้ยาก ซึ่งทำให้กระทบกับระยะเวลาการพัฒนาเว็บไซต์
ส่วนการดูแลบำรุงรักษาระบบนี้ จะมีในทุก Project เพราะการพัฒนา Software จะต้องมี Bug หรือมีเก็บงานหยุมหยิมอย่างแน่นอน ระยะเวลาขึ้นอยู่กับขนาดและความซับซ้อน โดยทั่วไปก็มีตั้งแต่หลักเดือนถึงหลักปี แล้วแต่ตกลง โดยส่วนตัวถ้าเว็บไซต์ขนาดเล็ก ผมจะดูแลฟรี 3 เดือน หลังจากนั้นหากลูกค้า ยังให้ดูแลต่อ ก็จะคิดราคาเป็น 15-20 % ของ Project ต่อปี หรือหากเป็นรายเดือนก็การเฉลี่ยเอา ซึ่งราคาอาจต้องคิดคำนวณรวมว่าสโคปที่ต้องดูแลมีอะไรบ้าง และคุยตกลงกับลูกค้าให้ชัดเจนว่าเราดูแลอะไรบ้างเป็นข้อๆ ถ้ามีเพิ่มก็บวกเพิ่มตามเนื้องานครับ
ท้ายนี้ หวังว่าคงมีประโยชน์ครับ