Tags:
Node Thumbnail

ในช่วงเลือกตั้งสมาชิกสภาผู้แทนราษฎร พ.ศ. 2566 มีเว็บไซต์หลายแห่งทำหน้าที่รายงานผลการนับคะแนนเลือกตั้ง และได้รับความสนใจจากประชาชนจำนวนมาก

เว็บไซต์แห่งหนึ่งที่ได้รับเสียงชื่นชมอย่างมากคือ เว็บไซต์รายงานผลการเลือกตั้ง 66 ของ Thai PBS (election66.thaipbs.or.th) ทั้งเรื่องการออกแบบที่ใช้งานง่าย และสามารถรองรับปริมาณโหลดจำนวนมหาศาลในช่วงวันเลือกตั้ง เพื่อเป็นการเผยแพร่ความรู้ทางเทคนิคเบื้องหลังเว็บไซต์แห่งนี้ Blognone จึงขอสัมภาษณ์ทีมจากบริษัท INOX ผู้อยู่เบื้องหลังการพัฒนาเว็บไซต์นี้ร่วมกับ Thai PBS

No Description

แนะนำตัวทีมงานที่เกี่ยวข้องกับโปรเจคนี้

ทีมจะดูมีหลายคนมากๆ แวะเวียนมาร่วมมือในส่วนที่ตัวเองเป็น specialist ครับ

  • Team lead: มด (@moogreentea)
  • Tech lead: แชมป์ (@champjss)
  • Project manager: วี (@vixtrz)
  • UX/UI Designer: เกน
  • Developer: มาร์ค, แอม, เจ, นก
  • DevOps / Consult: โนเน, นนท์, จั้ม, พัด
  • นิสิตฝึกงานประจำปีนี้ (ปังปอนด์, กอล์ฟ, กานน, แชมป์, ต้น, แม็ก) ที่ร่วมพัฒนา backend ดึงผล และฟีเจอร์จับขั้วรัฐบาลด้วยครับ

No Description

ที่มาที่ไปของโครงการเว็บรายงานผลการเลือกตั้ง

เมื่อปี 2565 เราเคยร่วมงานกับ Thai PBS ทำเว็บไซต์รายงานผลเลือกตั้งผู้ว่ากรุงเทพ 65 ซึ่งได้ผลตอบรับค่อนข้างดี พอมาถึงการเลือกตั้งใหญ่ปี 66 เราเลยได้รับความไว้วางใจให้มาร่วมงานกันอีกครั้งครับ

ในช่วงแรก ทีมงานตีโจทย์การออกแบบเว็บรายงานผลการเลือกตั้งอย่างไร

เราพยายามจะถอดความสำเร็จจากงานเลือกตั้งผู้ว่าฯ แต่ก็พบว่าบริบททางการเมืองต่างกันมาก เอาแนวทางเดิมมาใช้ตรงๆ ไม่ได้ ดังนั้นทางเราและ Thai PBS จึงเริ่มจากทำเซอร์เวย์กันในวงเล็กๆ (ระบุกลุ่มเป้าหมาย) เพื่อสรุปเอาคำถามสำคัญที่กลุ่มเป้าหมายของเราอยากรู้

ผลการสำรวจความเห็นได้ข้อสรุปมา 3 ข้อ สิ่งที่คนอยากรู้คือ 1) เขตที่บ้านเรา ใครได้เป็น ส.ส. 2) พรรคไหนได้ ส.ส. จำนวนเท่าไร 3) แล้วใครจะได้เป็นนายกรัฐมนตรี

จากนั้นเราเอาประเด็นหลักนี้มาพัฒนาต่อให้สุดทาง ประเด็นแรกเรื่อง “เขตที่บ้านเรา ใครได้เป็น ส.ส.” นั้นเราดูจากการเลือกตั้งที่ผ่านมา ว่าผู้ใช้น่าจะต้องเข้ามาดูผลหลายๆ ครั้ง เพื่อดูคะแนนล่าสุด ดังนั้นถ้าออกแบบให้ผู้ใช้สามารถปักหมุดเขตที่บ้านไว้ได้เลย จะได้ไม่ต้องไปไล่กดแผนที่ซ้ำๆ ทำให้การใช้งานง่ายขึ้น

No Description

แต่ในประเด็นว่า “ใครจะได้เป็นนายก”​ เป็นส่วนที่ท้าทายที่สุด เพราะจากการเลือกตั้งฯ 62 แสดงให้เห็นว่าไม่ใช่ว่าพรรคที่ 1 จะได้เป็นรัฐบาลเสมอไป ดังนั้นการออกแบบที่ดึงภาพพรรคอันดับ 1 หรือพรรคอันดับ 1-3 ขึ้นมาเด่นที่สุด อาจจะไม่ใช่แนวทางที่เหมาะกับบริบททางการเมืองปัจจุบัน เราเลยเลือกนำเสนอในรูปของ “สูตรจับขั้วรัฐบาล” พร้อมบวกเลขที่นั่งของแต่ละสูตรมาให้เสร็จเลย เพื่อให้ผู้ชมเข้าใจว่า พรรคที่ 1 ไม่ได้แปลว่าจะได้เป็นรัฐบาล แต่ขึ้นอยู่กับสูตรการจับมือแบบไหน เป็นไปได้แค่ไหน

ประเด็นนี้อาจสุ่มเสี่ยงกับความเป็นกลางด้วย เราเลยต้องทำงานในส่วนนี้กับทาง Thai PBS (ซึ่งเป็นสื่อสาธารณะและต้องวางตัวเป็นกลาง) อย่างใกล้ชิด เพื่อให้การนำเสนอออกมาเป็นกลางที่สุด โดยเราเลือกนำเสนอสูตรตั้งต้น 5 สูตรตามการสรุปจากทีมข่าวการเมือง เป็นค่าตั้งต้นให้เห็นภาพความเป็นไปได้ แต่ก็ยังเปิดโอกาสให้ผู้ชมสามารถจัดสูตรรัฐบาลเองได้และแชร์ได้ด้วยตามคะแนนแบบเรียลไทม์ในตอนนั้น

No Description

ประเด็นด้านการออกแบบ Design/UX มีสิ่งที่ต้องคำนึงอย่างไรบ้าง

เนื่องจากทาง Thai PBS มีกลุ่มผู้ชมหลากหลาย โดยเฉพาะฐานผู้ชมกลุ่มผู้สูงวัย มีเยอะพอสมควร ในกระบวนการคิดจึงต้องเลือก persona ของผู้ชมให้หลากหลาย เพื่อออกแบบและทดสอบให้ครอบคลุม ไม่ว่าจะเป็นกลุ่ม New Voter, Active Voter, กลุ่มผู้ใหญ่วัยเกษียณ เป็นต้น เพื่อให้เราสามารถเอาสิ่งที่พัฒนาไปทดสอบกับ user จริงๆ จนมั่นใจว่า UX/UI ที่ออกแบบมานั้น ไม่ซับซ้อนเกินไปสำหรับกลุ่มเป้าหมาย (ต้องขอบคุณคุณพ่อคุณแม่ทีมงานทุกคนที่ได้มาร่วมทดสอบกันด้วยครับ)

จะเห็นว่ามีหลายๆ จุดที่พยายามทำให้ดูง่าย ลดความซับซ้อน เช่น หลีกเลี่ยงการใช้ฟอนต์เล็ก หรือตัดความสามารถในการซูมแผนที่ออกไปเลยเพื่อกันงง แล้วดันให้ไปใช้ฟิลเตอร์แยกเฉพาะภูมิภาคช่วยให้เห็นแผนที่ขนาดใหญ่ขึ้นได้ หรือให้พิมพ์ชื่อจังหวัดเพื่อค้นหาแทน

No Description

No Description

เทคโนโลยีที่เลือกใช้งาน (Front End) และเหตุผลที่เลือกใช้

ในงานนี้เราเลือกใช้ NextJS เพื่อให้ได้ใช้ React และสามารถ custom HTML response เพื่อให้มีภาพสำหรับแชร์และ Title แตกต่างกันในแต่ละหน้าเมื่อมีการแชร์ได้

ในงานนี้เรา build โปรเจกต์เป็น Docker image เพื่อเอาไปใช้บน Kubernetes เองเลยครับ

เทคโนโลยีที่ใช้งาน (Backend/Server) และเหตุผลที่เลือกใช้

  • ในส่วนข้อมูลผลการเลือกตั้งที่ผู้ชมเข้าถึง เป็นไฟล์สรุปผลที่เก็บบน Amazon S3 และอยู่ผ่าน Amazon CloudFront อีกทีหนึ่ง ทำให้มั่นใจได้มากว่าสามารถรับโหลดได้ และสามารถปล่อยให้เว็บอยู่ต่อไปหลังเลือกตั้งได้ตลอด โดยไม่ต้องดูแลระบบ/มีค่าใช้จ่ายมากนัก
  • ในส่วนระบบการประมวลผลข้อมูลหลังบ้าน รันอยู่บน AWS EKS และต่อกับฐานข้อมูล MongoDB Atlas เพราะเปิดฐานข้อมูลใช้แค่ไม่กี่วันได้อย่างสะดวก รวมถึงได้ใช้ความสามารถ ChangeStream เพื่อใช้ trigger ให้ข้อมูลใน data pipeline ที่เกี่ยวข้องอัปเดตได้อย่างรวดเร็ว

ประเด็นเรื่องการสเกลเครื่องให้รับมือปริมาณผู้ชมได้

  • ปกติ Thai PBS ใช้ EKS กับระบบเว็บอยู่แล้ว ซึ่งงานนี้เราใช้ EKS เช่นกัน
  • ตัว workload (NodeGroup) เราใช้เป็น Spot instance ทั้งหมด ราคาถูกกว่า On-demand instance อยู่ประมาณ 40-50%
  • Spot instance มีเรื่องต้องระวังคืออาจโดน AWS เรียก node คืนได้เสมอ แต่เราประเมินแล้วว่า AWS ยังมี capacity พอให้ scale up ด้วย Spot instance ได้ หรือถ้าเต็มจริงๆ เราก็สามารถ scale up ด้วยเครื่องแบบ On-demand ได้ทันทีเหมือนกันเพราะเตรียมไว้หมดแล้ว
  • Workload ข้างในออกแบบให้ stateless 100% (สามารถเกิดแก่เจ็บตายได้โดยระบบรวมไม่สะดุด) เพื่อรองรับการเพิ่มลด Worker ได้ตามต้องการ

จริงๆ ตัว NextJS เองไม่ได้รับโหลดได้สูงมากนัก แต่เนื่องจากมี caching ทำให้เหลือโหลดเข้ามาถึงระบบจริงๆ ไม่เยอะ ถึงจะเตรียม autoscale ไว้แต่ก็ใช้จริงประมาณ 4-5 pod เท่านั้น ที่เหลือก็สามารถรับโหลดได้ตามขีดความสามารถของ CDN เลย

ส่วนการรับมือ spike load ควรตรวจสอบให้แน่ใจว่างานส่วนใดควรทำที่ฝั่งไคลเอนต์หรือเซิร์ฟเวอร์, วางแผนทำ caching ถูกต้องเหมาะสม และทางทีม DevOps ยังช่วยทดสอบยิงแอป เพื่อใช้ประเมินสถานการณ์ไปด้วยอีกทางหนึ่ง อีกส่วนที่สำคัญคือระบบอื่นๆ ข้างเคียง เช่น เว็บไซต์หลัก (ซึ่งอาจเป็นทางเข้าของผู้ใช้บางกลุ่ม) ก็ต้องเตรียมพร้อมรับมือไปด้วยกัน

No Description

เว็บรายงานผลของ TPBS ทำงานเร็วเป็นอันดับต้นๆ เมื่อเทียบกับเว็บอื่น คิดว่าเพราะอะไรที่เป็นส่วนสำคัญที่ทำให้เว็บเราเร็ว ทั้งด้าน front end และ backend เช่นอย่าง front end เข้าใจว่าหลายๆ เจ้าก็เลือกใช้ NextJS เหมือนกัน ทำไมของเราเร็วกว่าคนอื่น

ทีมมองว่าเกิดจาก 2 ปัจจัยหลัก

  • ปัจจัยแรกคือด้วยการออกแบบ flow การใช้งานเว็บ สามารถ optimize การโหลดข้อมูลให้ทำเท่าที่จำเป็นได้ เช่น เมื่อเข้ามาครั้งแรกให้โหลดเฉพาะผลที่นั่งภาพรวมเท่านั้น ไม่จำเป็นต้องโหลดผลเลือกตั้งมาทั้งหมด
  • อีกปัจจัยหนึ่งคือการใช้ caching ช่วยอย่างเหมาะสม สำหรับงานนี้ เนื่องจากผลเลือกตั้งจะอัปเดตถี่มากๆ เราเลยเลือกใช้ SSR ในการเรนเดอร์ HTML เบื้องต้นเท่านั้น ไม่ได้เรนเดอร์ผลคะแนนลงไป (และปล่อยให้ไปทำงานต่อที่ฝั่งไคลเอนต์แทน) ช่วยให้ทำ caching ส่วนหน้าเว็บและ assets ที่เกี่ยวข้องได้นาน

ระยะเวลาในการพัฒนาเว็บไซต์ทั้งหมด

งานนี้ใช้เวลาในการออกแบบระบบและพัฒนาประมาณ 1 เดือนครึ่ง ฟีเจอร์ทั่วไปใช้งานได้สมบูรณ์ในช่วง 1 สัปดาห์ก่อนเลือกตั้ง แต่ยังมีการปรับจูน ปรับแต่ง แก้ไขจนถึงวันเลือกตั้งจริง และแม้แต่ตอนเริ่มประกาศผลไปแล้ว ก็ยังมีการแก้ไขปรับปรุง โดยทาง Thai PBS กับเราประสานกันเพื่อแก้ไข ตาม feedback ของผู้ชม

ปัญหาอื่นๆ ที่พบในระหว่างทาง (ถ้ามี)

ช่วงประมาณ 2 ทุ่มกว่า มีอยู่จังหวะหนึ่งที่ข้อมูลคะแนนจากต้นทาง ส่งมาเป็น 0 เกือบทุกเขต และเนื่องจากเราดึงข้อมูลและสรุปเร็วมาก ทำให้ผู้ชมเห็นคะแนนลดวูบไป (ดูเหตุการณ์จริงจาก รมต. DE ได้) แต่เนื่องจากเราแยกเก็บ data source คะแนนจากสื่อไว้อีกชุดหนึ่ง จึงสามารถสลับโหมดมาใช้คะแนนจากสื่อชั่วคราวได้ (แต่ก็ทดไว้ในใจว่าคราวหน้า คงต้องทำ Snapshot ไว้ย้อนเวลาได้ด้วยเพื่อป้องกันกรณีนี้)

อยากฝากบอกอะไรถึงผู้มีสิทธิเลือกตั้งที่เข้ามาใช้งานเว็บของเรา

ขอขอบคุณทางทีมสำนักสื่อดิจิทัล ทีมข่าว และรวมไปถึงทุกๆฝ่ายของทาง Thai PBS ที่ได้ให้โอกาสทางทีมงานบริษัท INOX ในการทำโครงการดีๆเช่นนี้ รวมไปถึงการสนับสนุนทางด้าน ข้อมูล และแนวคิดต่างๆอันมีคุณค่ายิ่งแก่ทีมงานของเราครับ

ผลการเลือกตั้ง เป็นแค่จุดเริ่มต้นครับ อย่างที่เราพยายามเสนอใน UI ยังต้องติดตาม รวมถึงส่งเสียงสะท้อนจากภาคประชาชนกันต่อไป

Get latest news from Blognone

Comments

By: rattananen
AndroidWindows
on 30 May 2023 - 11:54 #1285738

ผมเคยเปิดดู 2-3 ครั้งออกแบบได้ดี

แต่ไม่ชอบ Feature สูตรจับขั้ว เลือกมาอันดับ 1 แต่ไม่ได้เป็นรัฐบาลมันเป็นสิ่งผิดปกติ
การนำเสนอของแบบนี้เหมือนกับการสนับสนุนความผิดปกติ

และการนำเสนอสิ่งที่ยังไม่เกิด มัน misleading
การทำให้คนคิดไปเอง มันมีแต่จะเกิดความขัดแย้ง

เอาเรื่องที่มันเกิดขึ้นแล้วมาวิเคราะห์ ว่าทำไมมันถึงเกิดมีสาระกว่า

By: champjss
ContributorAndroidUbuntuWindows
on 30 May 2023 - 20:34 #1285791 Reply to:1285738
champjss's picture

ขอบคุณสำหรับคำแนะนำ (เผื่อว่าทีมมีโอกาสในครั้งต่อๆ ไปครับ)

คือทีมตั้งใจจะนำเสนอแบบนี้เพื่อให้คนดู acknowledge ว่ามันไม่ปกติครับ แต่ในมุมนึงก็อาจทำให้เข้าใจว่าสนับสนุนได้เหมือนกัน ซึ่งต้องหา balance กันครับ

By: Hoo
AndroidWindows
on 1 June 2023 - 21:16 #1286004 Reply to:1285738

ในกติกาสากลของ ระบบรัฐสภา
อันดับ 1 ไม่ได้หมายความว่าจะต้องได้เป็นรัฐบาลนะครับ
อันนั้นเป็นวาทกรรมนักการเมืองสร้างขึ้นมา

อย่างเช่น สภามี 100คน
อันดับ 1 ได้ 40
อันดับ 2 ได้ 35
อันดับ 3 ได้ 25

ถ้าอุดมการณ์ 1 ไม่ตรงกับ 2 และ 3
2 และ 3 จะรวมกันตั้งรัฐบาล ครับ

By: rattananen
AndroidWindows
on 2 June 2023 - 08:19 #1286009 Reply to:1286004

ผมไม่ได้ฟังใครมาครับ ใช้แค่สามัญสำนึกคิดเอาเองน่ะครับ

By: hisoft
ContributorWindows PhoneWindows
on 2 June 2023 - 10:29 #1286016 Reply to:1286009
hisoft's picture

ผมอยู่ฝั่งว่าสามัญสำนึกไม่มีจริงครับ 😅

กับจริงๆ นั่นหมายความว่ามีคนที่ไม่ต้องการอันดับ 1 ถึง 60% ได้ด้วย และนั่นเป็นปัญหาของระบบการนับคะแนนรอบเดียว พวกนี้มันแก้ได้ด้วยระบบโหวตหลายตัวเลือก โหวตหลายลำดับ โหวตหลายรอบอะไรแบบนี้แต่มันไปสร้างปัญหาการป้องกันการโกงและยากต่อการทำความเข้าใจที่จะไปเพิ่มบัตรเสียหรือความผิดพลาดให้คนลงคะแนนแทนอีก กับพวกนั้นใช้กับการหาอันดับ 1 อย่างเดียว (อย่างแบบแบ่งเขต หรือโหวตนายกโดยตรง) ใช้กับการโหวตแบบบัญชีรายชื่อไม่ได้ด้วยสิ

By: rattananen
AndroidWindows
on 2 June 2023 - 11:33 #1286019 Reply to:1286016

"นั่นหมายความว่ามีคนที่ไม่ต้องการอันดับ 1 ถึง 60% ได้ด้วย"
การ vote นี้คือการ vote เพื่อหาคนที่เราต้องการ
ไม่ใช่การ vote เพื่อหาคนที่เราไม่ต้องการครับ มันคนละบริบท
ถ้าจะเอามาคิดด้วยคงต้องออกแบบเลือกตั้งกันใหม่ล่ะครับ ให้กาคนที่เราไม่ต้องการลงไปด้วย

สิ่งที่เกิดขึ้นจริงคือการมีพรรคที่ถูกเหลือมาเป็นอันดับ 1
ฉะนั้นอันดับอื่นๆ ควรที่จะสนับสนุนอันดับ 1 ให้เป็นรัฐบาล ต่อให้คนที่ได้อันดับ 1 จะเป็นลุง ป้าจากไหนก็ตาม

By: whitebigbird
Contributor
on 2 June 2023 - 14:53 #1286034 Reply to:1286019
whitebigbird's picture

สูตรที่ใช้กันคือคนได้อันดับ 1 ถ้าอยู่คนละฝ่ายกับอำนาจจะถูกดำเนินคดีอะไรก็ตามทำให้ถูกตัดสิทธิทางการเมืองครับ

สูตรต่อไปคือฝ่ายอำนาจอยากได้รบ.แห่งชาติ รอดูว่างวดนี้จะมาสูตรไหน

By: YongZ on 2 June 2023 - 16:40 #1286037 Reply to:1286004

ระบบสากลส่วนมากที่1ได้เป็นรัฐบาลครับที่2ได้เป็นฝ่ายค้านที่เหลือในสภาก็มักจะให้ที่1ได้จัดตั้งรัฐบาลอันนี้เป็นมารยาทการเมืองส่วนใหญ่นะครับ คนก็เลยเข้าใจแบบนั้น

By: Bigkung
iPhoneWindows Phone
on 3 June 2023 - 16:04 #1286080 Reply to:1285738
Bigkung's picture

อันอับหนึ่งใช่ว่าจะได้ครับ ถ้า 2 กับ 3 จับมือกันส่วนมากอันดับหนึ่งก็เป็นฝ่ายค้าน ถ้าอันดับ 1 จะเป็นแน่นอนคือ ต้องได้เสียงของพรรคตัวเองเกินครึ่งสภาเลยครับ แบบ ไทยรักไทย โน่นเลยครับ ไม่งั้นไม่มีการรับประกันเป็นปกติเลยครับ แค่ว่าอันดับ 1 จะได้รับบทให้รวบเรียบเสียงจากพรรคอื่นๆเพื่อตั้งรัฐบาลก่อนครับ รอบนี้ อนาคตใหม่ เสียงยังไม่นำขาดจากเพื่อไทยเท่าไหร่ เขาเลยเจรจากันยากครับ
อย่าให้ อคติบังตา สิครับ มันเป็นแบบนี้อยู่แล้วนะ

By: rattananen
AndroidWindows
on 4 June 2023 - 11:22 #1286110 Reply to:1286080

มันเป็นเหมือนโจทย์ 1 + 2 * 3 ครับ
บางคนจะบอกว่า คำนวณได้ 9 บางคนจะบอกว่าได้ 7 (ผมรู้ว่ามันได้สองแบบ แต่ผมเลือก 7)
ซึ่งอยู่ที่ใครจะใช้หลักการไหน ไม่ได้เกี่ยวกับ อคติ อะไรทั้งสิ้น

ถ้าคุณ reply อ่านดีๆ หน่อยจะรู้ว่าผมไม่ได้เจาะจงพรรคไหนเลย
ผมหมายถึงพรรคที่อันดับ 1 เท่านั้นซึ่งหมายถึงตอนปี 62 ด้วย

By: Bigkung
iPhoneWindows Phone
on 27 June 2023 - 10:08 #1288139 Reply to:1286110
Bigkung's picture

งั้นตอนนี้เห็นแล้วใช่ไหมครับ ว่าพอที่ 2 คะแนนใกล้กันกับที่ 1 ก็เป็นปัญหาแบบ ณ เวลานี้เลย จริงๆที่ผมรู้เพราะมันมีกรณีตัวอย่างมาเยอะแล้วครับของไทยน่ะ ก่อนไทยรักไทยเกิดขึ้นมา สมัยก่อน ที่ 1 ก็ไม่ได้เป็นก็มีอยู่แบบมาตัวคนเดียว เลยซวย ถ้าอยู่มานานพอจะเห็นครับ
ตอนนี้ไม่ได้ตามข่าวแบบตรงๆได้เห็นแต่ผ่านๆ รู้สึกตอนนี้มีปัญหากันแล้ว ที่ 1 กับที่ 2

By: PH41
ContributorAndroidUbuntuWindows
on 4 June 2023 - 09:01 #1286106 Reply to:1285738
PH41's picture

เมื่อมี demand ย่อมมี supply

By: tom789
Windows Phone
on 30 May 2023 - 12:11 #1285743

เว็บทำงานรวดเร็วดีนะ

By: langisser
In Love
on 30 May 2023 - 12:43 #1285749

1 เดือนครึ่ง ถือว่าเร็วมาก

จริงๆ แล้วอยากรู้ด้วยว่าเก็บ req กันนานมั้ยปรับเปลี่ยนกันยังไง
ส่วนใหญ่นาน+เสียเวลากับ req พอสมควร กับ มี asset เดิมอยู่แล้วหรือว่าพัฒนาใหม่หมดเลย อ่านดูแล้วเข้าใจว่าใช้จากของโปรเจคที่แล้วพอสมควร

แค่อยากรู้น่ะครับ แบบนี้คือ user ก็ต้องให้ความร่วมมือดีด้วยนะ อยากรู้ way of work เลย

By: champjss
ContributorAndroidUbuntuWindows
on 30 May 2023 - 21:32 #1285800 Reply to:1285749
champjss's picture

จริงๆ ทีมส่วนใหญ่ที่ทำรายงานผลเลือกตั้ง น่าจะใช้เวลาประมาณ 1 เดือนครึ่งนี้กันครับ ไม่ใช่เพราะว่าเป็นเวลาที่เหมาะสมนะครับ แต่เวลามีเท่านี้ครับ 5555 (เนื่องจากเป็นช่วงเวลาที่เริ่มมีความชัดเจนว่า สมาคมสื่อฯ จะรวบรวมคะแนนได้)

วิธีการรับมือกับสถานการณ์นี้มีหลายส่วน ทั้งเชิง management/design/architecture แต่ส่วนที่สำคัญและ partner ทุกคนในทีมต้องร่วมมือด้วย (ซึ่งต้องขอบคุณทางไทยพีอีกครั้งที่ให้ความร่วมมือในส่วนนี้อย่างดีครับ) คือการยึดตามเป้าหมายที่เหมาะสม ร่วมกันคิดและลำดับความสำคัญของ feature โดยอิงตามเป้าหมายที่ตั้งร่วมกันไว้ครับ (สุดท้ายอาจมีบางอย่างโดนตัดออกไป ถ้ามีเรื่องอื่นสำคัญกว่า โดยทุกคนก็จะเข้าใจได้ครับ)

By: langisser
In Love
on 31 May 2023 - 13:24 #1285853 Reply to:1285800

ขอบคุณครับ ที่ให้ข้อมูลเพิ่มเติม

By: EsaOsy
ContributorAndroid
on 30 May 2023 - 13:25 #1285751

อยากรู้ราคาค่าจ้างครับผม เว็บประมาณนี้ คนจ้างต้องจ่ายประมาณเท่าไร เป็นช่วงก็ได้

By: burnburn
iPhoneWindows
on 30 May 2023 - 15:31 #1285771
burnburn's picture

ประทับใจที่เว็บนี้ไม่อืดเลยครับ ตอน refresh ดูผลวันเลือกตั้ง

By: massacre
AndroidUbuntu
on 31 May 2023 - 05:21 #1285815

request per sec ประมาณเท่าไหร่ครับ

By: icez
ContributoriPhoneAndroidRed Hat
on 31 May 2023 - 15:23 #1285874 Reply to:1285815

เฉลี่ยช่วง peak ระยะเวลาประมาณ 2-3 ชั่วโมงนะครับ

  • request ประมาณ 4-5 ล้าน request ต่อนาที (~ แปดหมื่น req/sec)
  • request ทะลุมาถึง backend จริงประมาณ 5000 request ต่อนาที
By: massacre
AndroidUbuntu
on 31 May 2023 - 21:30 #1285913 Reply to:1285874

ขอบคุณครับ

By: holyporing1
ContributorAndroid
on 31 May 2023 - 08:45 #1285824

ตอนวันเลือกตั้งผมดูเว็บนี้เป็นหลักเลย เพราะว่าดูง่ายสบายตาสุด

By: btoy
ContributorAndroidWindows
on 31 May 2023 - 11:39 #1285845
btoy's picture

เข้ามาร่วมปรบมือให้ด้วยคน ประทับใจกับประสบการณ์การใช้งานมาก เจ๋งมากเลยครับ


..: เรื่อยไป

By: 0FFiiz
Windows PhoneAndroidWindows
on 31 May 2023 - 13:48 #1285859
0FFiiz's picture

ทำได้ดีมากเลยครับ ขอชื่นชม

By: Azymik on 31 May 2023 - 18:25 #1285889

ยกนิ้วให้เลยครับ

By: Virusfowl
ContributorAndroidSymbianWindows
on 2 June 2023 - 02:55 #1286007

เพิ่งเข้าไปดูหน้าตาเว็บหลังจากอ่านข่าวนี้
พบว่า accessibility ก็ถือว่าเข้าถึงได้
ตัวกรองตามเขตตรงหน้าแรกใช้ไม่ได้ ต้องใช้จากหน้ารายเขตอีกที
แล้วก็แอบขัดใจตรงไม่มีการใส่ heading ให้เลย ก็จะไม่มีตัวนำร่องในการสำรวจส่วนต่างๆ ได้แบบไวๆ


@ Virusfowl

I'm not a dev. not yet a user.

By: champjss
ContributorAndroidUbuntuWindows
on 3 June 2023 - 08:30 #1286058 Reply to:1286007
champjss's picture

ขอบคุณครับ รับไว้ปรับปรุงในงานต่อๆ ไปนะครับ

By: blackdoor on 4 June 2023 - 09:38 #1286107
blackdoor's picture

อยากรู้ค่าใช้จ่าย cloud

By: norius on 5 June 2023 - 17:05 #1286181

ยังดีได้กว่านี้

By: champjss
ContributorAndroidUbuntuWindows
on 6 June 2023 - 20:49 #1286355 Reply to:1286181
champjss's picture

ขอบคุณครับ รับไว้ปรับปรุงในงานต่อๆ ไปนะครับ

ถ้าเป็นไปได้ ช่วยแนะนำจุดไหนที่คิดว่าอยากให้ปรับปรุงเป็นพิเศษหน่อยนะครับ

By: tongtree27
AndroidWindowsIn Love
on 6 June 2023 - 02:39 #1286212
tongtree27's picture

อยากทราบ tech stack ที่ใช้งานมีอะไรบ้างครับ ถึงสามารถทำให้เว็บรับโหลดได้เยอะขนาดนี้

By: champjss
ContributorAndroidUbuntuWindows
on 6 June 2023 - 20:50 #1286356 Reply to:1286212
champjss's picture

หลักๆ อยู่ได้ด้วย CDN เพื่อแคชให้เยอะ และใช้ Cloud storage ช่วยเป็นหลักครับ ส่วนตัวคิดว่าสำหรับงานลักษณะนี้ tech stack ไม่ได้ส่งผลต่างกันมาก ถ้าปรับจูนและใช้ประโยชน์จาก CDN ได้เต็มที่ครับ

By: big50000
AndroidSUSEUbuntu
on 6 June 2023 - 10:00 #1286257
big50000's picture

เข้ามาปรบมือให้อีก

By: akoneko47
Contributor
on 6 June 2023 - 15:21 #1286327
akoneko47's picture

ผมชอบ glitch ของรูปหลักมาก

By: IceDagger on 6 June 2023 - 16:48 #1286336

ทำได้มืออาชีพมากครับ