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

โปรแกรมเมอร์กับความย้อนแย้งในตัวเอง

โปรแกรมเมอร์กับความย้อนแย้งในตัวเอง

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

       "วิธีลัด" ผมคิดว่าน่าจะเป็นคำตอบของสิ่งที่เกิดขึ้น หลายคนก็ยิ่งใหญ่และเติบโตมาได้ด้วยการอาศัยทางลัด ซึ่งบอกไม่ได้ว่าทางลัดของแต่ละคนที่นำมาใช้เพื่อจุดหมายปลายทางนั้น เป็นการกระทำโดยชอบหรือโดยมิชอบ

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

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

"ต่างก็บอกว่าขาดแคลนโปรแกรมเมอร์
นักศีกษาที่จบออกมาไม่ผ่านเกณฑ์"

       ผมอยากจะถามหน่อย ถ้าไม่ผ่านเกณฑ์ แล้วเขาจะจบออกมาได้ไง?

       "พื้นฐานสำคัญสุด ภาษาอังกฤษก็เช่นกัน" เพราะเหตุนี้เองพวกเราจึงได้เรียนแต่หลักการ วิชาการที่แน่นปึ๊ก เข้าใจถึงโครงสร้างฐานข้อมูล ทำข้อสอบได้ ผ่านเกณฑ์ทุกอย่าง แต่ถามว่า

"ตลาดต้องการนักวิชาการในตำราไหม?"

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

       "ศาสตร์ชั้นสูง" ผมมองว่าเหมาะสำหรับพวกที่อยากเป็นโปรแกรมเมอร์ที่ไปเขียนโปรแกรมวิเคราะห์สภาพอากาศ ถอดรหัสเสียง แยกความเข้มของแสง หรือจะยกตัวอย่างง่ายๆ เช่น โปรแกรมตกแต่งภาพ  โปรแกรมตัดต่อวิดีโอ โปรแกรมตกแต่งเสียง หรือพยากรณ์อากาศพวกนี้ต่างหากที่ต้องเรียน

ถามว่า "โปรแกรมพวกนี้ ใช่ที่ท้องตลาดต้องการหรือไม่?"

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

       1) เขียนโปรแกรมในงานอุตสาหกรรม ระบบอัตโนมัติ ควบคุมเครื่องจักร การขนส่ง โลจิสติกส์ต่างๆ

       2) เขียนโปรแกรมเชิงวิเคราะห์ ที่ใช้ศาสตร์ขั้นสูง เพื่อสร้างโปรแกรมตกแต่งภาพชั้นเยี่ยมแข่งกับ Photoshop, Lightroom หรือโปรแกรมแต่งเสียงหวานๆ ตัดต่อวิดีโอขั้นเทพ พยากรณ์อากาศแบบข้ามปีอย่างแม่นยำ

       3) เขียนโปรแกรมทางธุรกิจ พวกออกใบสั่งซื้อ ขายหน้าร้าน สต๊อกสินค้า ระบบจองต่างๆ สอนไปเลยสักปีละระบบ 4 ปีก็ได้ 4 ระบบ เอาให้เข้าใจกระบวนการของงานในประเภทนั้นๆไปเลย จบออกมาจะได้ทำมาหากินได้ ไปสมัครที่ไหนใครๆก็รับ


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

"แต่มันจะดีอย่างไร จำเป็นอย่างไร มันจะได้อะไรขึ้นมา
  หากสอนในสิ่งที่ไม่ได้ใช้ในชีวิตจริง!!"


--------------------------------------------
ติดตามเรื่องราวการเขียนโปรแกรม PHP ได้ที่
https://www.youtube.com/user/PHPcodingAndDesign/featured

เตรียมตัวก่อนเขียน PHP 5.5
https://www.youtube.com/playlist?list=PLEFxdFJkMLu78rEFPPzkpeieOGEJp730g

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ร้อยละ ทศนิยม 2 ตำแหน่งบวกคืน ไม่เท่ากับ 100 และ ปัญหาการคำนวณเลขทศนิยม เมื่อปัดเศษแล้วค่าที่บวกคืนไม่เท่าเดิม

กรณีนี้เป็นการทดสอบคำนวณเลขที่ต้องหารครึ่ง ตัวอย่างเช่น 2.33 / 2 = 1.165 กรณีนี้ถ้าเก็บค่านี้ในฐานข้อมูลที่กำหนดให้มีทศนิยมเพียง 2 หลัก ในฟิลด์ 2 ฟิลด์ซึ่งแต่ละฟิลด์จะถูกปัดขึ้นเป็น 1.7 เมื่อนำมาบวกกลับ 1.17 + 1.17 = 2.34 ถ้าอย่างนั้นเราก็ต้องกำหนดให้ฟิลด์ที่ใช้เก็บข้อมูลสามารถเก็บเลขทศนิยมได้หลายๆตัว ก็จะเก็บเลขทั้งสามหลักไว้ในฐานข้อมูลเลย 1.165 + 1.165 จะได้ 2.33 พอดี แต่ตอนเราแสดงรายงาน ก็จำเป็นจะต้องแสดงเลขทศนิยมเพียงแค่ 2 หลักอยู่ดี แล้วเราจะทำอย่างไรล่ะทีนี้ ก็เก็บมันเป็นเลขทศนิยมเต็มจำนวนซะแล้วตอนแสดงก็ต้องปัดเศษอยู่ดี เพราะค่า 1.165 ถ้าใช้ฟังก์ชั่นปัดเศษลง ก็จะเหลือ 1.16 แต่ถ้าปัดขึ้นก็จะเป็น 1.17 ซึ่งตัวเลขทั้งสองตัว เมื่อนำมารวมกัน ยังไงๆ ก็ไม่เท่ากับ 2.33 อยู่ดี (1.16+1.16 = 2.32,    1.17+1.17 = 2.34 ) อีกตัวอย่างนึงครับเป็นการถอด VAT ราคาสินค้า การคิดค่าทศนิยม แล้วผลรวมเพี้ยน เนื่องจากการปัดเศษ แล้วยอดเกินบ้าง ขาดบ้าง ตัวอย่างการถอด VAT ซื้อของมา 573.50 บาท ถอด VAT ออกมาได้ (573.50*7) / 100 = 40.145 ราคาสินค้า จะได้เป็น 573.50 - 40.145 = 533.3

FPDF ภาษาไทย กับ วรรณยุกต์ลอย

สำหรับงานเขียนโปรแกรมเว็บแอพฯ ด้วย PHP ที่ต้องทำการส่งออกข้อมูลเป็นไฟล์เอกสาร PDF นั้น เมื่อลองค้นดูแล้วก็เจอกับ FPDF เป็นคลาสที่เขียนขึ้นมาสำหรับงานนี้โดยเฉพาะ แต่กับภาษาไทยแล้วก็ต้องเจอกับปัญหาสุดคลาสสิคคือ รองรับภาษาไทยไม่ร้อยเปอร์เซ็นต์ ^^" บทความที่สอนการใช้งานเบื้องต้นที่ครอบคลุมการทำงานของ FPDF http://www.select2web.com/category/fpdf จะมีบทความแนะนำการใช้ฟอนต์ภาษไทยอยู่ที่ลิงค์นี้ http://www.select2web.com/fpdf/fpdf-lesson-10.html ดาวน์โหลดและสร้างฟอนต์มาใช้เอง http://witkub.blogspot.com/2011/11/fpdf.html สำหรับวิธีแก้ไขปัญหาวรรณยุกต์ลอย ลองดูวิธีจากที่นี่ http://punnawatt.blogspot.com/2009/07/pdf.html สุดท้ายแล้วลองทดลองมาหมด ก็ยังไม่ได้คำตอบที่ตรงใจครับ เพราะไม่สามารถแก้สระลอยได้อย่างแท้จริง เพราะเงื่อนไขข้อมูลจริงไม่อาจจะทำให้เหมือนในตัวอย่างได้ ก็เลยถอดใจเรื่องวรรณยุกต์ลอย นอกจากปัญหาเรื่องวรรณยุกต์ลอย แล้วฟอนต์บางตัวก็เกิดปัญหาวรรณยุกต์ซ้อนทับกันด้วย เช่นคำว่า "นี้" เมื่อผลลัพธ์ออกมา สระอี และวรรณยุกต์โท จะทับกัน สรุป 1. ดาวน์โหล

FPDI มาทำให้การสร้างเอกสาร PDF ด้วย PHP ง่ายขึ้นกันเถอะ

เคยใช้กันรึยังครับ เหมาะสำหรับงานสร้างแบบฟอร์ม PDF แล้วกรอกข้อมูลตามแบบฟอร์มทีหลัง หลักการคือโหลด PDF เข้ามา แล้วก็เขียนไฟล์ใหม่ขึ้นมา ส่วนที่มันไดนามิกมากๆ คงไม่เหมาะเท่าไหร่ ถ้าให้มองการทำงานของไลบรารี่ตัวนี้ ก็เหมือนกับที่เราสั่งทำใบเสร็จรับเงิน แล้วกรอกข้อมูลทีหลังนั่นเอง 1. สร้าง PDF เปล่าๆ ที่มีแค่ส่วนหัว และส่วนท้าย 2. เติมข้อมูลรายการลงในส่วนกลาง ถ้าเกินจำนวนแถวที่กำหนดให้ขึ้นหน้าใหม่ http://www.setasign.com/products/fpdi/about/ ตัวอย่างในลิงค์ต่อไปนี้ จะเป็นการนำข้อความในไฟล utf8test.txt ไปแทรกในไฟล์ logo.pdf http://www.setasign.com/products/fpdi/demos/tcpdf-demo/ PHP  CI  MANIA   -  PHP Code Generator  โปรแกรมช่วยสร้างโค้ด  "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    http://fastcoding.phpcodemania.com

PHP CI MANIA