ข้ามไปที่เนื้อหาหลัก

เมื่อ AI เขียนหนังสือสอนเป็น Backend Developer ได้ 861 หน้า

AI · BOOK · REVIEW

เมื่อ AI เขียนหนังสือสอนเป็น Backend Developer
ได้ 861 หน้า

รีวิวหนังสือ "Zero to Go Backend Developer" — และคำถามใหญ่กว่านั้นที่ตามมา: AI สมัยนี้เขียนหนังสือทั้งเล่มได้ดีแค่ไหน?

ผมเพิ่งอ่านหนังสือเล่มหนึ่งจบครับ ชื่อว่า Zero to Go Backend Developer — จากศูนย์ สู่โปรแกรมเมอร์เงินเดือนหลักแสนใน 90 วัน หนา 861 หน้า แบ่งเป็น 34 บท ครอบคลุมตั้งแต่ func main() ตัวแรก ไปจนถึงการ deploy ขึ้น production ด้วย Docker + CI/CD แต่สิ่งที่ทำให้ผมต้องเขียนรีวิวเล่มนี้ไม่ใช่เนื้อหา... แต่เป็นวิธีที่มันถูกเขียนขึ้นมา

เปิดเล่มมา ผมก็เริ่มสงสัยทันที

บอกตามตรง พอเปิดหน้าแรกอ่านแล้วผมรู้สึกแปลก ๆ — ไม่ใช่แปลกแบบไม่ดี แต่แปลกแบบว่า "นี่มันราบรื่นเกินไปสำหรับนักเขียนคนเดียวนะ"

บทที่ 1 เปิดด้วยเรื่องเล่าของ "ก้อง" PHP Developer ย่านอโศกที่ CTO เดินเข้าห้องประชุมเช้าวันหนึ่ง แล้วประกาศว่าระบบทั้งหมดจะถูกเขียนใหม่ด้วย Go ในไตรมาสหน้า เป็นการ hook ที่เล่นกับ pain point ของ developer ไทยตรงเป้า ทำให้ผมคิดในใจว่า "คนเขียนต้องรู้จัก context ตลาดงานไทยพอสมควรเลยนะ"

แต่พอผมเริ่มสังเกตรายละเอียดเล็ก ๆ น้อย ๆ — รูปแบบการแบ่งบท ความสม่ำเสมอของ Career Notes ที่ทุกบทต้องมี, Interview Questions แบ่งระดับ Junior/Mid/Senior ที่เป๊ะทุกบท, Portfolio Challenge ที่ออกแบบเหมือนกันหมด, Debugging Exercise ที่มีเฉลยใน Appendix... ความสมมาตรนี้มันเกินกว่าที่คนเขียน 34 บท ติดต่อกันจะรักษาได้แบบไม่มีหลุดเลย

มันเหมือนกับ codebase ที่ถูก generate ด้วย template — แต่ template นั้นถูกออกแบบมาดีมาก ๆ จนเนื้อหาในแต่ละบทกลับ "มีชีวิต" ไม่ใช่แค่ filler

— ความรู้สึกแรกหลังอ่านจบ 5 บท

โครงสร้างเล่ม: 6 ภาค สำหรับ 90 วัน

// TABLE OF CONTENTS
PART 01Career Foundation (บทที่ 1-4)
PART 02Go Fundamentals (บทที่ 5-12)
PART 03Backend Core (บทที่ 13-19)
PART 04Database & Storage (บทที่ 20-27)
PART 05DevOps & Deploy (บทที่ 28-30)
PART 06Portfolio Project (บทที่ 31-34)

โครงสร้างนี้ฉลาดตรงที่ ไม่เริ่มด้วย syntax — มันเริ่มจาก "ทำไมต้อง Go" → "ตลาดงานเป็นยังไง" → "ทักษะเดิมของคุณ map กับ JD ได้แค่ไหน" → "วาง 90-day plan" ก่อนที่จะแตะ package main ครั้งแรกในบทที่ 5

นี่คือสิ่งที่หนังสือสอนเขียนโปรแกรมส่วนใหญ่ไม่ทำ พวกเขากระโดดเข้าไปที่ "Hello World" ทันที แต่เล่มนี้รู้ว่าผู้อ่าน คือคนที่จะเปลี่ยนสายอาชีพ ไม่ใช่นักศึกษาในห้องเรียน การ frame เป้าหมายให้ชัดก่อน ตามด้วย skill gap analysis แล้วถึงเริ่มเขียนโค้ด มันคือ learning design ที่อิงงานวิจัยด้านการเรียนรู้ผู้ใหญ่ (andragogy) จริง ๆ

ความสามารถของ AI ที่ผมเห็นจากเล่มนี้

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


เข้าใจตลาดงานไทย

อ้างถึงย่านอโศก, บริษัท fintech ไทย, ชุมชน Golang Thailand, แพ็คเกจเงินเดือนระดับ Junior/Mid/Senior แบบเฉพาะตลาดไทย ไม่ใช่ก๊อปจาก Silicon Valley


โค้ดที่รันได้จริง

ไม่ใช่แค่ pseudo-code ตัวอย่างมี Testcontainers, JWT auth flow, Repository Pattern, Migration script — ใช้งานในโปรเจกต์จริงได้ทันที


สม่ำเสมอ 34 บท

ทุกบทมีรูปแบบเหมือนกัน: Story Hook → Concept → Code → Career Notes → Interview Questions → Exercise → Portfolio Challenge → สรุปบท


โทนเสียงที่กลมกล่อม

ภาษาไทยกึ่งทางการผสมศัพท์เทคนิคอังกฤษ มีอารมณ์ขัน ใช้คำว่า "เสก" "วิชามาร" "ด่านสุดท้าย" — ฟังดูเหมือนพี่ที่ทำงานจริงสอนน้อง


คำถามสัมภาษณ์จริง

มี Interview Questions แบ่งระดับ Junior/Mid พร้อมคำตอบที่ใช้คำสัมภาษณ์จริง ๆ เช่น "ทำไมแยก AuthzService ออกมา?" แล้วตอบด้วย SRP


การออกแบบการเรียน

มี Debugging Exercise ที่ซ่อนเฉลยใน Appendix, Portfolio Challenge ที่ดันคนออกไป interact กับชุมชนจริง — ไม่ใช่แค่ "อ่านจบ"

ลองนึกภาพ Workflow ที่ทำให้เกิดเล่มนี้

ในฐานะคนที่ทำงานกับ AI ทุกวัน ผมพอจะเดา workflow ที่น่าจะใช้สร้างเล่มนี้ได้:

workflow.md — เดาเอาเอง
$ วาง outline 6 ภาค 34 บท พร้อม learning objective
$ ออกแบบ "chapter template" — Hook / Concept / Code / Career / Interview / Exercise
$ generate แต่ละบทตาม template โดย feed context ของบทก่อนหน้า
$ มี reference เนื้อหา Go จริงจาก official docs + ชุมชน
$ review + edit pass — แก้โค้ดให้ run ได้จริง, ปรับโทนภาษา
ได้หนังสือ 861 หน้าใน 6 ปี? ไม่... อาจจะแค่หลายสัปดาห์

สิ่งที่น่าทึ่งคือ AI สามารถรักษา "เสียง" ของผู้เขียน ตลอดเล่มได้ เปรียบเทียบประโยคจากบทที่ 1 กับบทที่ 34 — โทนเดียวกันเป๊ะ ใช้คำเหมือนกัน มี pattern การยกตัวอย่างเหมือนกัน นี่คือสิ่งที่ LLM รุ่นใหม่ ๆ (Claude, GPT-4, Gemini) ทำได้ดีขึ้นมากในช่วงปี-สองปีที่ผ่านมา

แต่ก็มีจุดที่ AI ยังหลุดอยู่

เพื่อความเป็นธรรม ผมต้องชี้ด้วยว่าเล่มนี้ไม่ได้สมบูรณ์แบบ มีจุดที่บ่งบอกว่า AI ยังไม่ได้ถูก "ขัดเกลา" สุดทาง:

  • ภาษาไทยมีจุดสะดุดเป็นบางช่วง — บางประโยควลีไทยกับเทคนิคอังกฤษไม่ลื่นเท่าที่ควร
  • Career Notes ที่อ้าง "Senior คนหนึ่งจากบริษัทใหญ่" — มันรู้สึกเหมือน quote สังเคราะห์ ไม่ใช่บทสัมภาษณ์จริง
  • เนื้อหาบางบทยาวเกินจำเป็น เพราะ AI ชอบ "อธิบายให้ครบ" ในขณะที่ครูที่ดีรู้ว่าเมื่อไหร่ควรหยุด
  • ตัวอย่างโค้ดในบทท้าย ๆ บางทีตัด format ไม่สวย เหมือนไม่ได้ผ่านการ proof read
  • ไม่มี "เรื่องเล่าผิดพลาด" ที่มาจากประสบการณ์จริง — มีแต่ best practice ที่ถูกต้องสมบูรณ์ ซึ่งจริงๆ พี่ที่ทำงานจริงจะมีเรื่องโง่ ๆ ที่ตัวเองเคยทำมาเล่าด้วย

จุดสุดท้ายนี้สำคัญที่สุด — AI ยังเขียน "best practice" ได้ดี แต่เขียน "ประสบการณ์จริง" ไม่ได้ เพราะมันไม่เคย deploy ระบบที่พังตอนตี 3 ไม่เคยลบ production database ผิดพลาด ไม่เคยถูก Senior ด่าตอนทำ PR review เพราะลืม handle nil pointer

แล้วเล่มนี้คุ้มอ่านไหม?

ตอบสั้น ๆ: คุ้มครับ

เพราะถึงจะเขียนโดย AI หรือไม่ก็ตาม สิ่งที่อยู่ในเล่มคือ curriculum ที่ดีที่สุดเล่มหนึ่งสำหรับคนอยากเริ่ม Go จากศูนย์ แล้วไปถึง production deployment โดยเฉพาะถ้าคุณเป็น PHP/Laravel developer ที่กำลังมองหาทางขยาย skill การ map จาก Laravel concepts ไปสู่ Go pattern ในเล่มนี้ทำได้ดีมาก

ที่สำคัญคือมันมี Portfolio Project ที่ทำตามได้จริง — Task Management API พร้อม JWT, Postgres, Docker, CI/CD, Testcontainers จบเล่มแล้วคุณจะมี repo บน GitHub ที่ยื่นไปสมัครงานได้เลย ไม่ใช่แค่ความรู้ที่อยู่ในหัว

คำถามที่ใหญ่กว่าตัวเล่ม

หนังสือเล่มนี้ทำให้ผมคิดถึงเรื่องที่ใหญ่กว่ามากครับ — ถ้า AI เขียนหนังสือสอนเขียนโปรแกรมระดับนี้ได้ในปี 2025-2026 แล้วในอีก 3-5 ปีข้างหน้า อาชีพ "นักเขียน technical content" จะอยู่ตรงไหน?

ผมไม่ได้คิดว่าอาชีพนี้จะหายไป แต่นิยามของมันจะเปลี่ยน คนที่ "เขียนเก่ง" อย่างเดียวจะไม่พอ คนที่จะอยู่รอดคือคนที่ มีประสบการณ์จริงในการลงมือทำ แล้วใช้ AI เป็นเครื่องมือขยายผล — เหมือนที่ผู้เขียนเล่มนี้ (น่าจะ) ทำ

เพราะถ้าผู้เขียนไม่รู้เรื่อง Go จริง ๆ ไม่เคย deploy backend ขึ้น production จริง ๆ ไม่รู้ว่า Career Notes แต่ละบทต้องพูดถึงอะไร — AI จะ generate เนื้อหาออกมาเป็น generic tutorial ที่หาได้ฟรีบน YouTube ทันที สิ่งที่ทำให้เล่มนี้พิเศษคือ "taste" ของคนที่กำกับ AI

AI ไม่ได้แทนที่นักเขียน — มันแทนที่ "นักเขียนที่ไม่มีอะไรจะเขียน"

— สิ่งที่ผมคิดหลังอ่านเล่มนี้จบ

ปิดท้าย

ในฐานะคนที่เขียน CodeIgniter 3 มา 10 กว่าปี เขียน MQL5 EA, ทำ Python trading bot, และตอนนี้กำลัง explore AI agents ใน Program Development Life Cycle — เล่มนี้ทำให้ผมเห็นภาพชัดขึ้นว่า AI ทำอะไรได้แค่ไหนถ้าถูกใช้อย่างถูกต้อง

มันไม่ใช่สิ่งวิเศษ มันไม่ได้แทนที่ความเชี่ยวชาญ แต่มันคือเครื่องมือที่ทำให้คนคนเดียว สามารถสร้าง artifact ขนาด 861 หน้า ที่ปกติต้องใช้ทีม editor + writer + technical reviewer ทำงานกัน 1-2 ปี ออกมาในระยะเวลาที่สั้นกว่ามาก

คำถามถัดไปสำหรับเราทุกคนคือ — เราจะใช้พลังนี้สร้างอะไร?

VERDICT
หนังสือดี — และยังเป็น case study ที่ดีกว่าสำหรับยุค AI ที่ทุกคนกำลังก้าวเข้าไป




PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
ราคาสุดคุ้ม  
http://www.phpcodemania.com

ความคิดเห็น

ค้นหาบล็อกนี้

บทความที่นิยมสูงสุด ประจำปี

แจกโค้ด PHP : รวมลิงค์ แจกฟรี!! ตัวอย่างโปรเจ็กต์ ที่พัฒนาด้วย PHP

       สำหรับหลายท่านที่ขอโค้ดเข้ามาทาง Inbox ของเฟซบุ๊กแฟนเพจ หรือถามถึงระบบต่างๆหลังไมค์มานั้น ส่วนใหญ่ก็มีแจกอยู่แล้วในเว็บบอร์ด ThaiCreate.Com นะครับ  และด้านล่างนี้ก็เป็น Source Code PHP ระบบต่างๆ ที่มีเหล่าผู้ใจดีแจกฟรี!! ให้นำไปลองใช้ลองศึกษากันครับ แจกฟรี  !! ตัวอย่างการ  PHP  Booking # จองห้องประชุม  ผ่านเว็บครับ http://www.thaicreate.com/php/forum/090558.html ระบบแบบสอบถาม https://www.thaicreate.com/php/forum/099342.html แจก code!! การทำประเมินออนไลน์มี ไว้สำหรับพัฒนาต่อยอด https://www.thaicreate.com/php/forum/102203.html แจกฟรี PHP CodeIgniter CMS ให้ทุกท่านได้ลอง (รองรับ Responsive) http://www.thaicreate.com/php/forum/122929.html โดย : https://www.cszcms.com/ แจก PHP : ระบบยืม-คืนเอกสาร (จากตัวอย่าง เอกสารข้อมูลวัตถุดิบสินค้า) http://www.thaicreate.com/php/forum/103428.html แจกระบบ PHP Shopping Cart ระบบตะกร้าสินค้า ระบบสั่งซื้อ มีระบบตัดสต๊อก, สั่งซื้อวัตถุดิบคงเหลือ ht...

การทำ Index ให้ MySQL Database เพื่อเพิ่มความเร็ว

สำหรับตัวอย่างนี้จะเป็นการ JOIN ตาราง 2 ตาราง 1. tb_reject_hd 2. tb_reject_desc ซึ่งจะเชื่อมกันด้วยฟิลด์ docno จะเห็นว่าเราสามารถคิวรี่เรียกข้อมูลออกมาได้ตอนที่ยังไม่ใส่ ORDER BY แต่เมื่อใส่ ORDER BY เข้าไป จะหมุนค้างจนหน้าเว็บหยุดทำงาน จากนั้นก็ลองเพิ่ม INDEX ให้กับฟิลด์ docno ในตาราง tb_reject_desc  ซึ่งในตัวอย่างนี้จะสร้างตารางใหม่ขึ้นมาจากตารางเดิม เปลี่ยนชื่อเป็น tb_reject_desc_with_index และทำการเพิ่ม INDEX KEY เข้าไป เมื่อทดสอบคิวรี่แบบมี ORDER BY จะเห็นว่าสามารถแสดงผลได้ทันที จากการสังเกตตัวเลขเวลาในการประมวลผล จะเห็นได้ว่าแบบไม่ใช้ ORDER BY จะทำงานเร็วกว่า แต่ในการทำงานส่วนใหญ่ก็มักจะต้องใช้ ORDER BY อย่างหลีกเลี่ยงไม่ได้ เช่นกรณีค้นหา แบบเรียงลำดับ ตัวอย่างโค้ดคิวรี่ข้อมูลจากตารางที่ Add Index Key แล้ว <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Add Index Key</title> </head> <body> <h2>ORDER BY with ...

PHP CI MANIA 0.8.4.09 แก้ไขปัญหา Import ไฟล์ Excel แล้วไม่สามารถบันทึกได้ + เพิ่มตัวเลือก Validate บางฟิลด์

- เพิ่มตัวเลือก Validate บางฟิลด์ กรณีละเว้นการตรวจสอบให้เอาเครื่องหมายเช็คถูกออก -  แก้ไขปัญหา Import ไฟล์ Excel แล้วไม่สามารถบันทึกได้ สมาชิก Premium ดาวน์โหลดได้ที่ http://fastcoding.phpcodemania.com/index.php/downloads PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    http://fastcoding.phpcodemania.com

การสร้างเว็บไซต์ในปี 2023 นั้นจะต้องคำนึงถึงอะไรบ้าง

การสร้างเว็บไซต์ในปี 2023 นั้นจะต้องคำนึงถึงความเปลี่ยนแปลงของเทคโนโลยีและแนวโน้มการใช้งานของผู้ใช้ใหม่ๆ ดังนั้น นี่คือเทคนิคที่สามารถช่วยให้การสร้างเว็บไซต์ในปี 2023 เป็นไปได้อย่างรวดเร็วและเป็นประสิทธิภาพ: 1. ใช้ Responsive Design: การออกแบบเว็บไซต์ให้สามารถปรับขนาดได้ตามขนาดของหน้าจอของอุปกรณ์ต่างๆ เช่น โทรศัพท์มือถือ แท็บเล็ต และคอมพิวเตอร์ เพื่อให้ผู้ใช้สามารถเข้าถึงและใช้งานได้ง่ายและสะดวก 2. ใช้โครงสร้างของ HTML5: การใช้โครงสร้าง HTML5 จะช่วยให้เว็บไซต์ของคุณมีประสิทธิภาพและปรับปรุงในเรื่องของการเข้าถึงข้อมูล การใช้งานและความปลอดภัย 3. ใช้ CSS Grids หรือ Flexbox: การใช้ CSS Grids หรือ Flexbox จะช่วยให้ง่ายต่อการจัดหน้าเว็บไซต์ และสามารถปรับแต่งรูปแบบของเว็บไซต์ได้ง่ายขึ้น 4. ใช้ JavaScript Frameworks: การใช้ JavaScript Frameworks เช่น React, Angular, หรือ Vue.js จะช่วยให้สามารถสร้างเว็บไซต์ที่เป็น interactive และมีประสิทธิภาพได้อย่างรวดเร็ว 5. ใช้ Content Management Systems (CMS): การใช้ CMS เช่น WordPress, Joomla, หรือ Drupal จะช่วยให้สามารถสร้างเว็บไซต์ได้อย่างร PHP  C...

PHP + Fullcalendar กับ MySQL

หลักการทำงาน เรียกข้อมูลจากตาราง tb_event ด้วยฟังก์ชั่นของ MySQLi ข้อมูลจากฐานข้อมูลจะถูกวนลูปเก็บไว้ใน $data และจะถูกส่งไปที่ Fullcalendar ด้วยการแปลงข้อมูลจาก PHP ให้อยู่ในรูปแบบ JSON อาร์เรย์ด้วยฟังก์ชั่น json_encode()

จัดระเบียบโค้ด ใน Notepad++ (Auto indentation plugin)

เวลาเขียนโค้ด แล้วไม่ได้จัดรูปแบบ หรือเอาโค้ดจาก Text Editor หนึ่งมาใช้ในอีกตัวหนึ่งก็มีโอกาสที่ Tab หรือ Space bar จะต่างกัน แล้วเราจะมานั่ง TAB เองก็คงไม่ไหว จึงจำเป็นต้องหา Plugin เข้ามาช่วย ลองค้นดูก็เจอกับกระทู้นี้ >> แม้หน้าตาจะไม่ตรงกันแต่หลักๆก็คือเพิ่ม Plugins เข้าไปชื่อ Indent By fold อ่านเต็มๆได้ที่นี่ https://softwarerecs.stackexchange.com/questions/1496/auto-indentation-plugin-for-notepad

PHP ระบบบริหารจัดการ พล็อตนิยาย - ตอนที่ 1

PHP Fiction Management System   โปรเจ็กต์นี้จะสร้างเป็น "ระบบบริหารจัดการพล็อตนิยาย" แบบง่ายๆ มาเล่าสู่กันฟังครับ มีอยู่ช่วงหนึ่งที่ผมสนใจการเขียนนิยาย และค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการเขียนนิยาย และได้พบกับโปรแกรมหนึ่งที่ช่วยงานด้านการเขียนนิยายให้เป็นเรื่องที่ง่ายขึ้น แต่จากที่ได้อ่านรีวิวแล้วดูเหมือนว่า โปรแกรมช่วยเขียนนิยายนี้ ไม่จะไม่ค่อยรองรับภาษาไทย แต่ผมก็ยังไม่ได้ลองมาดาวน์โหลดมาลองใช้งานดูนะครับ แต่รู้สึกชอบเครื่องมือนี้ เลยอยากลองพัฒนาโดยถอดคุณสมบัติพื้นฐานมาใช้งานดู ว่าจะใช้กับงานเขียนนิยายได้จริงรึเปล่า ตัวอย่างระบบจัดการพล็อตเรื่อง เพื่อช่วยงานเขียนนิยาย หลังจากที่ได้นั่งคิดนอนคิด และหลับไปฝันไป จนในที่สุดก็ได้ฐานข้อมูลระบบบริหารจัดการพล็อตนิยายมาคร่าวๆ มาจนได้ โครงสร้างฐานข้อมูลตอนนี้อาจจะขี้เหร่ไปบ้าง แต่ในอนาคตก็คงจะพัฒนากันต่อไป   ตารางที่จะต้องสร้าง มีทั้งหมด ดังนี้ 1. รายชื่อนิยายทั้งหมด 2. แนวนิยายที่เขียน 3. พล็อตของแต่ละเรื่อง 4. ฉากเหตุการณ์ในแต่ละพล็อต 5. เนื้อเรื่องในแต่ละฉาก 6. รายชื่อตัวละครในนิยา...

MySQL คำสั่ง SQL จัดเรียงคำตามตัวอักษร ภาษาไทย ในฟิลด์ที่กำหนด Collation เป็น utf-8

การจัดเรียงข้อมูลตามลำดับตัวอักษรไทย   CONVERT( name USING tis620 ) ASC การเรียงลำดับตัวอักษรแบบ tis-620 ในการเขียนโปรแกรม PHP เพื่อแสดงข้อมูลจากฐานข้อมูล MySQL การเขียนคำสั่ง SQL ให้จัดเรียงลำดับนั้น เราจะใช้ ORDER BY  และกำหนดฟิลด์ที่ต้องการจัดเรียงลำดับ เช่น ในตัวอย่างนี้จะเป็นการจัดเรียงตามลำดับตัวอักษรของชื่อเมนู นั่นก็คือฟิลด์ name นั่นเอง แต่ในขั้นตอนการสร้างฐานข้อมูลนั้น เราได้กำหนด Charset ของตารางและฟิลด์เป็นการจัดเรียง Collation แบบ utf-8 เอาไว้เพื่อให้รองรับภาษาแบบมาตรฐาน ดังนั้นเมื่อเขียนโปรแกรมสั่ง ORDER BY name ASC ก็จะมีการจัดเรียงที่จะให้คำที่มีสระนำหน้าอยู่หลัง ฮ. นกฮุก ไปเสียหมด จะเห็นว่าชื่อเมนูหรือสินค้าที่มี ข นำหน้าจะมาเป็นลำดับแรก ทั้งที่จริงๆแล้ว มีสินค้าที่เป็น ก อยู่หลายรายการ เพียงแต่ว่ามีสระนำหน้าอยู่เท่านั้นเอง จากรูปด้านบน จะมีรายการที่เป็น ก อยู่ 3 รายการ คือเมนู โกโก้ ต่างๆ แต่เพราะมีสระโอ นำหน้า จึงทำให้การจัดเรียงแบบ utf-8 ให้อยู่ในลำดับท้าย เพื่อแก้ไขปัญหานี้ การเขียนโปรแกรมเพื่อ ORDER BY จะต้...

แก้ปัญหา Xampp เข้าผ่าน IP จากเครื่องอื่นไม่ได้ โดยการเปิด Firewall เชื่อมต่อ httpd ได้

กรณีที่ติดตั้ง Xampp แล้วเปิดจากเครื่องอื่นๆผ่าน IP ไม่ได้ ให้ทำการเปิด Firewall ในเครื่องที่ติดตั้ง xampp เพื่ออนุญาตให้เครื่องอื่นเข้าถึงได้ คลิกเมนู ค้นหา แล้วพิมพ์คำว่า firewall แล้วเลือกเมนู Firewall & network protection คลิกที่เมนู Allow an app through firewall คลิกที่ปุ่ม Change settings เลือกทั้ง Private และ Public (ถ้าไม่มีให้กดที่ปุ่ม Allow another app... เพื่อเพิ่ม httpd.exe ใน Path เฉพาะของเรา กรณีที่ไม่ได้ติดตั้ง) (สามารถเปิดดูรายละเอียด Path ของรายการที่แสดงได้ โดยคลิกปุ่ม Details...)   จากนั้นกด OK   ลองเข้าจากอีกเครื่องด้วย IP อีกครั้ง ก็จะพบว่าสามารถเข้าถึงหน้าเว็บที่ต้องการได้เรียบร้อย ที่มา : https://www.youtube.com/watch?v=KIYpkDy34DY   บทความที่เกี่ยวข้อง แก้ปัญหาการเปิด Firewall ทำให้ Client เชื่อมต่อ MySQL ไม่ได้ https://phpcodemania.blogspot.com/2021/04/xampp-ip-firewall-httpd.html   PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    http://fastcoding...

ระบบวัสดุคงเหลือ - การตีราคาสินค้าคงเหลือด้วยวิธีราคาทุน (Inventory Costs Method)

การตีราคาสินค้าคงเหลือด้วยวิธีราคาทุน (Inventory Costs Method) หลังจากได้อ่านบทความในเว็บต่างๆก็สรุปได้ดังนี้ 1. FIFO เข้าก่อน-ออกก่อน เหมาะสำหรับการตัดสต๊อกที่ใช้สำหรับของที่มีวันที่หมดอายุกำกับไว้ อาจจะเนื่องด้วยพนักงานสต๊อกจะต้องคอยเช็ควันที่หมดอายุบนสินค้าเสมอๆอยู่แล้ว 2. LIFO เข้าหลัง-ออกก่อน เหมาะสำหรับการตัดสต๊อกสินค้าที่ตกเทรนเร็วแบบคอมพิวเตอร์ หรือสินค้าเทคโนโลยีอื่นๆ ซึ่งส่วนใหญ่จะทำโปรโมชั่นมาล่อตาล่อใจให้ลูกค้าซื้อรุ่นใหม่ๆ ดังนั้นพนักงานก็ต้องตัดสต๊อกตัวที่ใหม่ที่สุดออกก่อน เพราะทิ้งไว้นานไปราคาทุน ณ ปัจจุบันจะไม่ตรงกับราคาที่ขายไป 3. Weighted Average ถัวเฉลี่ยน้ำหนัก เหมาะกับสินค้าที่ไม่มีวันหมดอายุกำกับ และราคาขึ้นลงไม่มากนัก (คอมพิวเตอร์หรือสินค้าเทคโนโลยีจะขึ้นลงทีเป็นหลักร้อยหลักพัน) ซึ่งเหมาะกับการนำมาใช้ทำสต๊อกวัสดุคงเหลือของสำนักงาน ปัญหาของการใช้ Weighted Average หรือการถัวเฉลี่ยราคาทุนต่อหน่วย จะมีอยู่ 2 รูปแบบ 1. แบบ Periodic Inventory เป็นการคิดราคาทุนถัวเฉลี่ยของสินค้าคงเหลือปลายงวด นั่นก็คือ บันทึกการรับเข้าด้วยราคาต่อหน่...

บทความเดือนล่าสุด

แจกโค้ด PHP : รวมลิงค์ แจกฟรี!! ตัวอย่างโปรเจ็กต์ ที่พัฒนาด้วย PHP

       สำหรับหลายท่านที่ขอโค้ดเข้ามาทาง Inbox ของเฟซบุ๊กแฟนเพจ หรือถามถึงระบบต่างๆหลังไมค์มานั้น ส่วนใหญ่ก็มีแจกอยู่แล้วในเว็บบอร์ด ThaiCreate.Com นะครับ  และด้านล่างนี้ก็เป็น Source Code PHP ระบบต่างๆ ที่มีเหล่าผู้ใจดีแจกฟรี!! ให้นำไปลองใช้ลองศึกษากันครับ แจกฟรี  !! ตัวอย่างการ  PHP  Booking # จองห้องประชุม  ผ่านเว็บครับ http://www.thaicreate.com/php/forum/090558.html ระบบแบบสอบถาม https://www.thaicreate.com/php/forum/099342.html แจก code!! การทำประเมินออนไลน์มี ไว้สำหรับพัฒนาต่อยอด https://www.thaicreate.com/php/forum/102203.html แจกฟรี PHP CodeIgniter CMS ให้ทุกท่านได้ลอง (รองรับ Responsive) http://www.thaicreate.com/php/forum/122929.html โดย : https://www.cszcms.com/ แจก PHP : ระบบยืม-คืนเอกสาร (จากตัวอย่าง เอกสารข้อมูลวัตถุดิบสินค้า) http://www.thaicreate.com/php/forum/103428.html แจกระบบ PHP Shopping Cart ระบบตะกร้าสินค้า ระบบสั่งซื้อ มีระบบตัดสต๊อก, สั่งซื้อวัตถุดิบคงเหลือ ht...

PHP CI MANIA : ตอนที่ 8 วิธีสร้าง Dropdown List ให้เลือกในแบบฟอร์มป้อนข้อมูล แบบ JOIN มาจากตารางอื่น (Option List)

เปิดไปที่แท็ป " ตั้งค่า " เลื่อนลงไปใน ส่วนที่ 3 เพื่อตั้งค่าการ JOIN TABLE เมื่อคลิกที่ไอคอน จะปรากฏป๊อบอัพให้เลือก Table ที่ต้องการ JOIN และกำหนดฟิลด์อ้างอิง และฟิลด์ที่ต้องการนำมาแสดงผลในช่อง Drop-down list   ในตัวอย่างนี้จะ JOIN กับตารางสมาชิก tb_members และอ้างอิงด้วย userid และดึงชื่อกับนามสกุลมาแสดง เมื่อกำหนดเรียบร้อยไอคอนฐานข้อมูลจะเปลี่ยนเป็นสีฟ้า จากนั้นก็กดสร้างไฟล์ Model / Views / JavaScript / Controller และกด Preview ดูผลลัพธ์จะได้ดังภาพต่อไปนี้ สังเกตว่าจากเดิมที่ Label ในหน้าตั้งค่าเป็น "ไอดีผู้ใช้งาน" จะกลายเป็น "ชื่อผู้ใช้งาน" แทนในหน้าแบบฟอร์มเพิ่มข้อมูล และเป็น Drop-Down list ที่สามารถค้นหารายชื่อจากตาราง tb_members ได้อีกด้วย ดูคลิปวิดีโอแนะนำการใช้งานได้ที่นี่ << กำหนด INPUT เป็นประเภทต่างๆ   การค้นหา แบ่งหน้า และการจัดเรียง » [[ PHP CI MANIA | ลดเวลาเขียนโค้ด เพิ่มเวลาบริหารจัดการได้มากขึ้น | Webpage Generator by CodeIgniter Framework ]] HOME

PHP CI MANIA : ตอนที่ 12 การใช้งานระบบสมาชิกกำหนดสิทธิ์เข้าใช้งานด้วย Login SESSION

เริ่มจากการสร้างหน้าเว็บแบบไม่กำหนดสิทธิ์ และกำหนดสิทธิ์ให้ สมาชิกเท่านั้น ที่เข้าหน้าเว็บที่กำหนดได้     1. ทดลองสร้างหน้าเว็บแบบปกติ เมื่อกำหนดชื่อต่างๆเรียบร้อย ก็คลิกสร้างไฟล์ Models, Views, JS และ Controller ให้เรียบร้อย (สำหรับ Version 0.6 จะมีปุ่ม " สร้างไฟล์ทั้งหมด ")    2. จากนั้นคลิกลิงค์เพื่อดูตัวอย่าง(ในหน้า Controller) จะพบกับหน้าเว็บที่เราสร้างเอาไว้ จะเห็นว่า สามารถเข้าได้ปกติ     3. สลับไปที่หน้า "ตั้งค่า" และคลิกเลือก "Login Require" เพื่อกำหนดว่า จะเข้าหน้าเว็บนี้ได้ จะต้องผ่านการ Login ก่อนเท่านั้น จากนั้นก็คลิกสร้างไฟล์ Models, Views, JS และ Controller ให้เรียบร้อย (สำหรับ Version 0.6 จะมีปุ่ม " สร้างไฟล์ทั้งหมด ")    4. จากนั้นคลิกลิงค์เพื่อดูตัวอย่าง(ในหน้า Controller) จะพบกับหน้าเว็บที่ ต้อง Login ก่อน จึงจะสามารถเข้าใช้งานได้    สำหรับ รหัสที่ใช้ทดสอบ นั้นได้กำหนดค่าเบื้องต้นไว้ให้ดังนี้    - Admin     ใช้ชื่อล็อกอิน admin รหัสผ่าน 123456     -...

จัดระเบียบโค้ด ใน Notepad++ (Auto indentation plugin)

เวลาเขียนโค้ด แล้วไม่ได้จัดรูปแบบ หรือเอาโค้ดจาก Text Editor หนึ่งมาใช้ในอีกตัวหนึ่งก็มีโอกาสที่ Tab หรือ Space bar จะต่างกัน แล้วเราจะมานั่ง TAB เองก็คงไม่ไหว จึงจำเป็นต้องหา Plugin เข้ามาช่วย ลองค้นดูก็เจอกับกระทู้นี้ >> แม้หน้าตาจะไม่ตรงกันแต่หลักๆก็คือเพิ่ม Plugins เข้าไปชื่อ Indent By fold อ่านเต็มๆได้ที่นี่ https://softwarerecs.stackexchange.com/questions/1496/auto-indentation-plugin-for-notepad

phpMyAdmin ขั้นตอนการกำหนด UNIQUE KEY ให้กับตาราง MySQL ที่ฟิลด์ต้องไม่ซ้ำกัน

ถ้าใช้เครื่องมือจัดการฐานข้อมูลด้วย phpMyAdmin การจะกำหนดให้ฟิลด์ที่มีค่าไม่ซ้ำกันเป็น UNIQUE KEY นั้นจะสามารถทำได้ดังต่อไปนี้ 1. คลิกที่แท็ป Structure เพื่อปรับแต่งโครงสร้างตาราง เลื่อนไปยังด้านล่าง จะมีส่วนของการกำหนด Indexes เราจะเพิ่มแก้ไขฟิลด์ให้เป็น PRIMARY หรือ UNIQUE ได้จากการกดปุ่ม Go 2. ตั้งชื่อ Index เลือกประเภทเป็น UNIQUE และระบุฟิลด์ที่ต้องการ จากนั้นก็กดปุ่ม GO 3. เมื่อการเพิ่ม UNIQUE เรียบร้อย จะพบรายการใหม่ขึ้นมาต่อท้าย PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4 ,500    บาท http://fastcoding.phpcodemania.com

ว่าด้วยเรื่องของคำสั่ง goto ในภาษา PHP

PHP goto example <?php goto  a ; echo  'Foo' ;   a : echo  'Bar' ; ?> ผลลัพธ์ก็คือ จะแสดงข้อความว่า " Bar" ที่มา : http://php.net/manual/en/control-structures.goto.php ตัวผมเองก็เกิดคำถามว่าเอามาใช้ทำไร??? ก็นึกขึ้นได้ว่าสมัยก่อนตอนเรียนเคยเขียน Assembly แล้วจะมีคำสั่งเพื่อกระโดดไปทำงานส่วนต่างๆ ของโค้ดที่ยาวเป็นหน้ากระดาษ A4 แต่มีผลลัพธ์เพียงเพื่องานเล็กๆงานเดียว ก็เลยคิดว่า น่าจะใช้กับโค้ดที่ยาวเป็นร้อยๆบรรทัดและไม่มีฟังก์ชั่น หรือการเรียกคลาสใดๆได้ ก็เลยลองค้นหาดูว่าคนอื่นๆ เขาใช้คำสั่ง goto ใน PHP กันบ้างหรือเปล่านะ ก็ได้คำตอบเกี่ยวกับคำสั่ง goto ใน PHP มาดังภาพด้านบนนี้แหละครับ ^^; ก็แปลได้ประมาณว่า ถ้าไม่เหนือบ่ากว่าแรงอะไรก็คงไม่จำเป็นต้องใช้หรอกครับ เพราะใน PHP เราสามารถสร้างฟังก์ชั่นและเรียกใช้เมื่อไหร่ก็ได้ สามารถใช้ switch ....  case หรือ if .... else ยาวๆเพื่อตรวจสอบเงื่อนไขการทำงานได้สะดวกสบาย ก็เลยยังมองไม่ออกว่าจะนำมาใช้ตอนไหนอย่างไร แต่ถ้าใครอยากลองเอาไปใช้ก็ไม่เสียหายแต่อย่างใดครับ ^O^

ขั้นตอนการเปิด Error ใน CodeIgniter 4 เมื่อข้อความ Whoops!

ขั้นตอนการเปิด Error ใน CodeIgniter 4 Whoops! We seem to have hit a snag. Please try again later... เมื่อเกิดข้อผิดพลาด CodeIgniter 4 จะไม่แสดง Error message ออกมาให้เห็น เพราะตั้งค่าไว้ให้รันในโหมดเว็บเซิร์ฟเวอร์จริง (Production Server) เพื่อค้นหาวิธีการเปิดข้อความ Error จึงลองค้นหาใน Google ด้วยคำว่า "how to debug codeigniter 4" ก็ได้วิธีมาว่า ให้แก้ไขค่าที่ไฟล์ env โดยแก้ไขชื่อไฟล์เป็น .env หากใช้ Notepad++ ก็ให้คลิกขวา แล้วเลือก Edit with Notepad++ เลื่อนหาบรรทัด CI_ENVIRONMENT และทำการเปลี่ยนค่า ให้ลบเครื่องหมาย # ด้านหน้าออก และเปลี่ยนค่า production เป็น development กลับไปที่หน้าเว็บบราวเซอร์ แล้วกดรีเฟรชหน้าเว็บอีกครั้ง (F5) ก็จะปรากฏข้อความแสดง error ออกมาให้ Debug กันได้ง่ายขึ้น * หมายเหตุ * กรณีนำไปใช้บนเว็บโฮสติ้ง หรือบนเว็บเซิร์ฟเวอร์จริง (Production Server) ให้ทำการแก้ไขค่าเป็น production ก่อนอัพโหลด ที่มา :  https://stackoverflow.com/questions/60501607/how-to-debug-codeigniter-4 PHP  CI  MANIA   - PHP Code Generator  โป...

PHP เบื้องต้น | รวมวิดีโอสอนเขียนโปรแกรม PHP & MySQL

1. พื้นฐาน PHP     1.1  โครงสร้างการเขียน PHP ร่วมกับ HTML     1 .2  Selection Structure : การเขียนโปรแกรมแบบทางเลือก     1. 3  ตัวแปร (Variable) และ ค่าคงที่ (Constant)     1.4  ตัวดำเนินการ (Operator)     1.5  เครื่องหมาย Single Quote / Double Quote และ Escape Sequence     1.6  Repetition Structure (การเขียนโปรแกรมวนซ้ำ)          1.7  การแทรกโค้ PHP ส่วนต่างๆของ HTML     1.8  PHP Function 2. PHP MySQLi CRUD : การจัดการฐานข้อมูล MySQL เบื้องต้น      2.1 : การบันทึกข้อมูลด้วย MySQLi Function      2.2 การค้นหาและแสดงข้อมูลในรูปแบบตาราง 1/2     2.3  การค้นหาและแสดงข้อมูลในรูปแบบตาราง 2/2      2. 4 การแก้ไขข้อมูลด้วยคำสั่ง UPDATE     2. 5 การลบข้อมูลจากฐานข้อมูล     2. 6 การป้องกัน SQL Injection ด้วยการใช้ prepare และ bindparam           2.7 กา...

PHP ระบบบริหารจัดการ พล็อตนิยาย - ตอนที่ 1

PHP Fiction Management System   โปรเจ็กต์นี้จะสร้างเป็น "ระบบบริหารจัดการพล็อตนิยาย" แบบง่ายๆ มาเล่าสู่กันฟังครับ มีอยู่ช่วงหนึ่งที่ผมสนใจการเขียนนิยาย และค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการเขียนนิยาย และได้พบกับโปรแกรมหนึ่งที่ช่วยงานด้านการเขียนนิยายให้เป็นเรื่องที่ง่ายขึ้น แต่จากที่ได้อ่านรีวิวแล้วดูเหมือนว่า โปรแกรมช่วยเขียนนิยายนี้ ไม่จะไม่ค่อยรองรับภาษาไทย แต่ผมก็ยังไม่ได้ลองมาดาวน์โหลดมาลองใช้งานดูนะครับ แต่รู้สึกชอบเครื่องมือนี้ เลยอยากลองพัฒนาโดยถอดคุณสมบัติพื้นฐานมาใช้งานดู ว่าจะใช้กับงานเขียนนิยายได้จริงรึเปล่า ตัวอย่างระบบจัดการพล็อตเรื่อง เพื่อช่วยงานเขียนนิยาย หลังจากที่ได้นั่งคิดนอนคิด และหลับไปฝันไป จนในที่สุดก็ได้ฐานข้อมูลระบบบริหารจัดการพล็อตนิยายมาคร่าวๆ มาจนได้ โครงสร้างฐานข้อมูลตอนนี้อาจจะขี้เหร่ไปบ้าง แต่ในอนาคตก็คงจะพัฒนากันต่อไป   ตารางที่จะต้องสร้าง มีทั้งหมด ดังนี้ 1. รายชื่อนิยายทั้งหมด 2. แนวนิยายที่เขียน 3. พล็อตของแต่ละเรื่อง 4. ฉากเหตุการณ์ในแต่ละพล็อต 5. เนื้อเรื่องในแต่ละฉาก 6. รายชื่อตัวละครในนิยา...

PHP + Fullcalendar กับ MySQL

หลักการทำงาน เรียกข้อมูลจากตาราง tb_event ด้วยฟังก์ชั่นของ MySQLi ข้อมูลจากฐานข้อมูลจะถูกวนลูปเก็บไว้ใน $data และจะถูกส่งไปที่ Fullcalendar ด้วยการแปลงข้อมูลจาก PHP ให้อยู่ในรูปแบบ JSON อาร์เรย์ด้วยฟังก์ชั่น json_encode()