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

บทความ

กำลังแสดงโพสต์จาก 2013

ฟอนต์เพี้ยน ตอนนำเสนอ POWER POINT PRESENTที่เครื่องอื่น

นั่งทำเอกสารสำหรับนำเสนอด้วยฟอนต์สุดเท่ห์ เป็นวัน แต่เครื่องที่ใช้พรีเซนต์ไม่ได้ติดตั้งฟอนต์ตัวนั้นไปด้วย ปรากฏว่าตัวหนังสือหนาบางไม่เท่ากัน เพี้ยนเลยจากขอบไปหมด ช่างน่าเศร้าใจซะเหลือเกิน หลังจบจากงานนำเสนอ เลยต้องมานั่งค้นหาวิธีบันทึกแบบฝังฟอนต์ไปด้วย แล้วก็เจอวิธีการนี้มา 1. ขั้นตอนการบันทึก ให้เลือกแบบ "บันทึกเป็น" เพื่อกำหนดตัวเลือกให้ฝังฟอนต์ไปกับงานพรีเซนต์ 2. คลิกที่ปุ่ม "เครื่องมือ" เลือก "ตัวเลือกการบันทึก" 3. ด้านล่างจะมีตัวเลือก "ฝังแบบอักษรในแฟ้ม" ให้เช็กถูก 4. คลิกปุ่ม "ตกลง" 5. จะกลับไปหน้าจอขั้นตอนที่  (1) ให้คลิกปุ่ม "บันทึก" ก็เป็นอันเรียบร้อย คราวนี้จะนำไปพรีเซนต์ที่เครื่องไหนๆ ก็อุ่นใจได้แล้วครับ PHP  CI  MANIA   -  PHP Code Generator  โปรแกรมช่วยสร้างโค้ด  "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    http://fastcoding.phpcodemania.com

ข้อผิดพลาดการจากตรวจสอบเงื่อนไขไม่ครบ

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

data provider or other service returned an e_fail status

วันนี้เหนื่อยกับการแก้โจทย์ปัญหา "data provider or other service returned an e_fail status" อยู่นานมากๆ ปัญหาน่าจะเกิดจากการ JOIN แล้วฟิลด์บางฟิลด์เป็นค่าว่าง ลองค้นไปค้นมาก็เจอคำแนะนำว่าอย่าได้ใช้ SELECT * FROM .... เป็นอันขาดนะ ไม่งั้นจะเจอ Error แบบนี้แหละ เลยเปลี่ยนไป SELECT เฉพาะฟิลด์ที่ต้องใช้งาน ก็ผ่านไปได้ด้วยดี โค๊ดเดิมที SELECT * FROM table01 INNER JOIN table02 ON table01.id = table01.tb1_id INNER JOIN table02 ON table01.id = table01.tb1_id WHERE fld1 = 'xxx' โค๊ดที่เปลี่ยนใหม่ SELECT fld1, fld2, fld3 FROM table01 INNER JOIN table02 ON table01.id = table02.tb1_id INNER JOIN table03 ON table01.idx2 = table03.tb1_idx2 WHERE fld1 = 'xxx' สุดท้ายก็ใช้งานได้ และเป็นอีกกรณีหนึ่งที่ได้ความรู้เพิ่มเติม ^^

IBM x3500 M4 7383 ขั้นตอนการติดตั้ง Windows Server 2008 r2 64bit หาฮาร์ดดิสก์ไม่เจอ (RAID1)

ถ้าใครเจอปัญหานี้ ให้ดาวน์โหลดไดร์ฟเวอร์ ServerRaid มาใส่แฟลชไดร์ฟ แล้ว Load Driver เข้าไปก็สามารถมองเห็นฮาร์ดดิสก์ได้แล้วครับ ที่เหลือก็ติดตั้งตามขั้นตอนปกติ

โปรแกรม Open source ใช้แต่งภาพ และไฟล์ RAW เจ๋งๆ

Darktable โปรแกรมตกแต่งภาพที่เป็น Open source สามารถใช้งานได้กับระบบปฏิบัติการ Linux ต่างๆหลายค่าย ยังไม่มีโอกาสทดลองใช้ แต่เห็นว่าน่าสนใจเลยนำมาแบ่งปันกันครับ Darktable is an open source photography workflow application  and RAW developer http://www.darktable.org/about/

จู่ๆ Windows 7 ก็ถูกซ่อน Logon screen ไปซะอย่างนั้น = ='

  เริ่มใช้มาเป็นปี เพิ่งเจอเป็นครั้งแรกครับ -O- เริ่มจากพักเที่ยงไปทานข้าวทานปลากลับเข้ามาออฟฟิศตามปกติ พอเปิดหน้าจอ ก็จะพบกับ screen saver เหมือนทุกๆครั้ง จะตั้งไว้ที่ 3 นาทีถ้าไม่ได้อยู่หน้าจอให้ล็อกหน้าจอไว้ เพราะข้อมูลสำคัญค่อนข้างเยอะครับ (รูปสาวๆเพียบ >3<) แต่วันนี้แปลกกว่าทุกวันตรงที่หน้าล็อกออนไม่มีไอคอน ไม่มีรูปแบบของ User Account ให้เลือกเหมือนทุกครั้ง พอพิมพ์ User เองก็ไม่ยอมให้ผ่าน แจ้งแต่ว่ารหัสหรือชื่อผิดทุกครั้ง ยังหาสาเหตุไม่เจอว่าไปทำอะไรกับคอมพิวเตอร์ตัวเอง ถึงได้เป็นแบบนี้ จะมีส่วนที่คล้ายจะเป็นสาเหตุก็ คือไปเปลี่ยนค่า “Welcome screen and system accounts” เพื่อให้ค่าเริ่มต้นเป็นภาษาอังกฤษเหมือนค่าที่ใช้อยู่ปัจจุบันเท่านั้น นอกเหนือจากนี้ก็เป็นการใ้ช้งานตามปกติ นั่งหาวิธีอยู่เป็นชั่วโมงยืมเครื่องพี่ที่นั่งติดกันในการค้นหาข้อมูลจนพี่เขาไม่เป็นอันทำงาน สุดท้ายเลยถอดใจ ตัดสินใจจะติดตั้งวินโดวส์ใหม่ แต่แค่คิดก็เหนื่อยแล้ว เพราะเครื่องคอมพิวเตอร์ของกระผมมันไม่ได้ติดตั้งโปรแกรมสามัญอย่างเครื่องทั่วไปน่ะสิ แต่ก็ทำอะไรไม่ได้แล้ว เลยหยิบแผ่น Wi

เขียน PHP ง่ายนิดเดียว.... แต่ต่อไปคงจะยากขึ้นแล้วล่ะ

พอได้อ่านบทความเกี่ยวกับ PHP เวอร์ชั่นใหม่ (v.5.4+) แล้วรู้สึกว่าตัวเองห่างไกลคำว่า Developer อยู่โขเลยทีเดียว เพิ่งจะรู้ว่าคนอื่นเขามอง PHP ในแง่ลบมาโดยตลอด จนในที่สุด PHP ก็ต้องพาตัวเองให้ขึ้นสูงอย่างภาษาอื่นๆ เขา... แต่เราเองกลับยังคงชอบที่จะอยู่ที่เดิม อยู่ในกะลาที่แสนจะอบอุ่น (v.5.3-) เพราะมันรู้สึกปลอดภัยอยู่ลึกๆ ต่อไปนี้คำว่าเขียน PHP ง่ายนิดเดียว ยังจะใช้ได้อีกไหม? เมื่อเขาบอกว่า  PHP จาก 'ลูกทุ่ง' สู่ 'วิศวกรรม'

PHP- ADDING AND SUBTRACTING DATES

ช่วงนี้กำลังเขียนโปรแกรมสร้างปฏิทิน PHP เพื่อใช้สำหรับทำกำหนดการต่างๆ ภายในองค์กรอยู่ และมีเรื่องวันที่เข้ามาเกี่ยวข้อง แต่อ่านในคู่มือแล้วบางทีก็เบสิกเยอะเกินไป ไม่ตรงใจเท่าไหร่ เลยลองค้นใน www.google.co.th  เลยได้โค๊ดชุดนี้มา ทำงานได้ตรงตามวัตถุประสงค์ เลยเอามาแบ่งปันกันซะเลย PHP- ADDING AND SUBTRACTING DATES http://www.brightcherry.co.uk/scribbles/php-adding-and-subtracting-dates/

Component 'COMCT232.OCX' or one of its dependencies is not ...

วันนี้ต้องอัพเดตโปรแกรมแต่เช้า เพื่อเพิ่มคุณสมบัติใหม่ให้กับระบบ แน่นอนล่ะครับ ว่าจะต้องตื่นเต้นลุ้นระทึกทั้งวันเป็นแน่แท้ ทำไมน่ะเหรอครับ? ก็โปรแกรมที่ผมเขียนเสร็จรันผ่านเรียบร้อย ไม่ได้ส่งให้ใครทดสอบอีกเลย รับคำสั่ง > เขียนโปรแกรม > รันทดสอบโค๊ด > ลองทดสอบการใช้งาน > อัพเดตเวอร์ชั่น ทั้งหมดนี้ผมเหมาหมดครับ : ) คราวนี้คงเข้าใจแล้วสินะครับว่าทำไมต้องระทึก เพราะมนุษย์ไม่ใช่หุ่นยนต์ครับ ที่จะทำงานได้อย่างเป๊ะเวอร์ บางทีก็เผลอเรอเบลอๆ ลืมเปิดข้อความทดสอบให้ได้อายยูสเซอร์เป็นประจำ เวลา 16.00 น..... ตึ้ง!!! ต่อหน้าต่อตาครับ โปรแกรม Error จนได้ ทั้งที่ทดสอบเครื่องตัวเองจนแน่ใจแล้ว พอไปใช้เครื่องยูสเซอร์กลับมีปัญหาซะงั้น "Component 'COMCT232.OCX' or one of its dependencies  is not correctly registered"  ค้นหาอยู่นานครับ จนสุดท้ายก็ได้คำตอบ 1. คัดลอกไฟล์ COMCT232.OCX จากโฟลเดอร์ C:\Windows\System32 จากเครื่องแอดมินที่รันผ่านปกติไปไว้ที่เครื่องยูสเซอร์ (ดีหน่อยที่มีเครื่องเดียว) แล้วลองทดสอบโปรแกรมอีกครั้ง 2. ถ้ายังไม่ได้ก๊อปไปอีกไฟล์

แอบฉิจฉานิดๆ ชีวิตโปรแกรมเมอร์มือโปรฯ

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

[MySQL] incorrect string value: '\xC2\xA0' for column

  ....... กริ๊งๆๆๆๆๆ ....... ....... กริ๊งๆๆๆๆๆ ....... Admin : กำลังใช้ความคิด เล่นซะสะดุ้ง - - " ....... กริ๊งๆๆๆๆๆ ....... Admin : ใครก็ได้รับทีเหอะ คงไม่ใช่สายเราหรอกโทรมาแต่เช้าแบบนี้ - - " ....... กริ๊งๆๆๆๆๆ ....... Admin : สวัสดีครับ ห้องพัสดุครับ Telephone : ค๊าาาา....ขอสายโปรแกรมเมอร์หน่อยค่ะ ^__^ Admin  : โปรแกรมเมอร์ไม่ว่างครับ กำลังรับสายอยู่ Telephone :  ค๊าาาา...งั้นเดี๋ยวโทรมาใหม่นะคะ Admin  : เอ่อไม่ต้อง...ไม่ใช่...นี่ไงรับสายอยู่นี่ไงครับ ^O^" Telephone :  O_o? Telephone:  เพิ่มรายการสินค้าไม่ได้เลยค่ะ เพิ่มไปตั้งหลายสิบรายการแล้วพอบันทึก แจ้งเกิดข้อผิดพลาดขึ้นมาตลอดเลย รายการสินค้าก็ต้องพิมพ์ใหม่เยอะมากเลยนะ Admin  : งานเข้าอีกแล้วครับท่าน O_o" จากข้อความแจ้งเตือน  [MySQL] incorrect string value: '\xC2\xA0' for column ถูกสตั๊นท์ไป 2 วินาที " ปัญหานี้เราแก้แล้วนี้นา " เพราะผู้ใช้งานส่วนใหญ่จะคัดลอกข้อมูลมาจากไฟล์ Excel แล้วมาวางในแบบฟอร์ม พอบันทึกจะมีเครื่องหมาย ' ติดมาด้วย แต่คราวนี้มาแปลก ทั

php "->" คือ อะไร

       เป็นคำถามที่เล่นเอางงเหมือนกันครับ  php "->" คือ  Syntax ส่วนหนึ่งที่ใช้ในการเขียนโปรแกรม PHP แบบ OOP ครับ ซึ่งจะเป็นตัวชี้ หรือเรียกใช้งาน Property และ Method ที่เราต้องการอ้างถึงครับ        ผมมีเว็บไซต์ที่เก็บรวมรวมวิดีโอสอนเขียนโปรแกรม PHP OOP แนะนำให้ลองเข้าไปรับชมดู จะเข้าใจ OOP ได้อย่างไม่ยากครับ เพราะวิดีโอระเอียดดีมากครับ http://www.thaicreate.com/community/php-oop-tutorial-vdo-online.html        ถ้าต้องการเข้าชมที่เว็บไซต์ของเจ้าของวิดีโอเลย ก็เชิญที่  iyouuu.com

การเขียนโปรแกรม PHP ดึงข้อมูลจากฐานข้อมูลมาเก็บใน Array ช่วยได้เยอะ

เมื่อก่อนอาร์เรย์ (Array) เป็นเรื่องปวดหัวสำหรับผม ตอนเรียนไม่ค่อยเข้าใจนัก แต่พอได้จับงานสักชิ้น โจทย์บางข้อก็ซับซ้อนเกินที่ตัวแปรและการตัดสินใจธรรมดาจะทำไหว ถึงทำได้ก็รู้สึกว่าอ่านโค๊ดตัวเองในภายหลังแล้วไม่เข้าใจว่ามันทำงานยังไง หลังจากที่ผมเผยแพร่บทความ การดึงข้อมูลรายงานต่างๆ เก็บไว้ในอาร์เรย์เพื่อจัดรูปแบบข้อมูลตามต้องการ แล้วนำมาวนลูปแสดงผลอีกทีนั้น รู้สึกว่าเริ่มจะมีคนสนใจการใช้งานอาร์เรย์หลายมิติขึ้นมาบ้างแล้ว (ที่จริงก็อาจจะคิดไปเอง ^^") ดังนั้น จึงตัดสินใจว่าจะนำบทความการเขียนโปรแกรม PHP กับ Array ให้มากขึ้นกว่าเดิม ซึ่งหากท่านใดสนใจ ติดตามอ่านกันได้ที่ PHP Coding & Desgin ตอนนี้มีบทความอีกหลายบทความที่จะนำเสนอ อาจจะใช้ได้บ้างไม่ได้บ้าง ก็ลองพิจารณากันเป็นอย่างๆ ไป -------------------------------------------- ติดตามเรื่องราวการเขียนโปรแกรม PHP ได้ที่ https://www.youtube.com/user/PHPcodingAndDesign/channels เตรียมตัวก่อนเขียน PHP 5.5 https://www.youtube.com/playlist?list=PLEFxdFJkMLu78rEFPPzkpeieOGEJp730g

ความสำคัญของการเรียนรู้ที่จะใช้ อาร์เรย์ หลายมิติ (Multi Dimension Array)

ครั้งที่เพิ่งเริ่มหัดเริ่มเขียน เริ่มเรียนการเขียนโค๊ด ยังจำความรู้สึกมึนงงและความโหด ของการเรียนรู้ได้ เรื่องอาร์เรย์ (Array)  เป็นเรื่องหนึ่งในนั้น แม้จะผ่านนานเพียงใดก็ไม่อาจเข้าใจได้สักที มิติเดียวว่าสับสนแล้ว แต่ยังมีการวนลูปสร้างอาร์เรย์หลายมิติ (Multi Dimension Array) ขึ้นมาอีก ก็ไม่รู้ว่าจะใช้มันทำไมหลายชั้น ซับซ้อน ชวนปวดหัว แต่เมื่อได้เขียนโปรแกรมเป็นเรื่องเป็นราว เรียกได้ว่าแทบขาดไม่ได้เลยกับการเรียกใช้แบบหลายมิติ เพราะช่วยประหยัดเวลา ทำให้โค๊ดสวยงาม และทำงานได้เร็วขึ้นอีกด้วย ก่อนหน้านี้ผมเขียนโปรแกรมภาษา PHP ซึ่งมีความสะดวกและเรียกใช้งานอาร์เรย์ได้ง่ายมาก แต่วันนี้ผมต้องเขียน VB6 ไปด้วย การเรียกใช้อาร์เรย์ ทำได้เพียงอ้างอิงผ่านคีย์ หรือดัชนีที่เป็นตัวเลขเท่านั้น เทคนิคที่เคยใช้เลย ไม่ได้ใช้ ต้องปรับเปลี่ยนวิธีใหม่ โดยการฝากข้อมูลไว้ที่ออบเจ็กต์ต่างๆ แล้วค่อยเรียกใช้ โดยการ While Loop เอาข้อมูลมาตรวจสอบ แทนการคิวรี่จากฐานข้อมูลทุกครั้ง เพราะบางครั้งรายงานที่ค้นหาก็มีข้อมูลหลายร้อยรายการ การ JOIN หรือ คิวรี่ข้อมูลจากฐานข้อมูลใน LOOP จะเป็นการสิ้นเปลืองทรัพย

แชร์ไฟล์ด้วย Windows 7 เข้าถึงได้เป็นบางเครื่อง ใครเคยเจอบ้าง???

  Admin : สวัสดีครับ แอดมินฯ รับสายครับ Telephone : สวัสดีค่ะ น้องเองนะคะ ^____^ Admin : ( ^__^"  ใครหว่า ) Admin : ติดต่อเรื่องอะไรครับ Telephone : อัพเดตโปรแกรมไม่อ่ะค่ะ ขึ้น Error ตลอดเลย Admin : อ่านข้อความที่แจ้งเตือนหน่อยสิครับ ว่าฟ้องอะไรบ้าง (ปลายสายกระแอมเล็กน้อย ก่อนจะเริ่มเอ่ยออกมา) Telephone :  ♪ ♫ ♩ ♬  ท่านกําลังเข้าสู่บริการรับฝากหัวใจ...  ♪ ♫ ♩ ♬ Admin :  ~ o_O??? Telephone : เอ่อ ขอโทษค่ะ สายเข้าพอดีเดี๋ยวขอตัวรับสายก่อนนะคะ  Admin :    Telephone : โหลๆๆ ยังอยู่มั้ยคะ Admin : ต่อเลยครับ Telephone : ค่าาาา....พอกดอัพเดตมันจะขึ้นข้อความว่า "ไม่พบไฟล์ที่ต้องการ" ค่ะ Admin : แล้วตอนนี้เข้าใช้งานเว็บภายในได้รึเปล่า Telephone : เดี๋ยวสักครู่นะคะ.............เข้าได้ปกติค่ะ Admin : งั้นใช้วิธีดาวน์โหลดไฟล์อัพเดตบนเว็บของแอดมิน มาทับตัวเดิมแทนละกันนะครับ Telephone : ได้ค่า....ว่าแต่ทำยังไงเหรอคะ ^^" Admin : ให้ไปที่นั่น....ที่นี่...แล้วกดตรงนั้น...คลิกตรงนี้...แตกไฟล์ออกมา...เอาไปวางทับไฟล์เดิมอย่างนี้ เรียบร้อยครับ แล้วก็ได้

อย่าเขียนโปรแกรมแบบก้าวกระโดด ( ^ ^" )

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

ทุกวันนี้ โลกหมุนเร็วเกินไป.....

โปรแกรมเมอร์กิ๊กก๊อก คืออะไร เอ่อ....บรรยายไม่ถูก แฮะ ^___^" คนเรามักจะบรรยายบุคลิกตัวเองไม่ค่อยถูกครับ ทุกวันผมเขียนโปรแกรมไปเรื่อยๆ ๆ ๆ ตามคำสั่งเจ้านาย แต่ยังไม่ม่โปรแกรมเป็นหน้าเป็นตาให้กับตัวเองสักชิ้น ฟังๆ ไปเหมือนว่าจะเป็นโปรแกรมเมอร์ที่ไร้ซึ่งความสามารถ ซึ่งจะมองแบบนั้นก็คงไม่ผิด

PHP Calendar : ฝึกสร้างปฏิทินไว้ใช้ในงานต่างๆ

บทความนี้ถูกย้ายไปที่ >>  http://sunzandesign.blogspot.com/2013/06/php-day-of-week-calendar.html

Multiple-step operation generated errors. Check each status value.

กริ๊งๆๆๆๆ........กริ๊งๆๆๆๆ Admin : สวัสดีครับ แอดมินรับสายครับ User : พี่ครับตอนผมปริ้นท์ใบตรวจรับพัสดุ โปรแกรมแจ้ง Error ครับ เอาละสิ งานเข้าแต่เช้า เปิดคอมพิวเตอร์ยังไม่ทันได้ท่องเน็ตให้หนำใจเลย Admin : ครับ ไม่ทราบว่าเครื่องนี้ใช้งานได้ล่าสุดเมื่อไหร่ครับ User : ตะกี้ก็ยังพิมพ์ได้ครับ ทำรายการเสร็จไปสองเรื่องแล้ว แต่เอกสารเล่มนี้ทำไม่ได้ T^T

วิกฤตการณ์โปรแกรมเมอร์ไทย

แบไต๋ไฮเทค: Special Report - วิกฤตการณ์โปรแกรมเมอร์ไทย  หลังจากที่ผมได้รับชมวิดีโอตัวนี้แล้ว รู้สึกว่าอาชีพโปรแกรมเมอร์เสมือนเป็นกรรมกรไอทีจริงๆ ต่างกันเพียงทำงานหามรุ่งหามค่ำ แทนที่จะแบกหามกระสอบข้าวสาร หรือออกแรงจนเหงื่อไหลไคลย้อย

ระบบบริหารจัดการ พล็อตนิยาย : โครงสร้างฐานข้อมูลเต็ม

ตารางที่ใช้เก็บข้อมูลทั้งหมดของโปรแกรมช่วยเขียนนิยาย ที่ออกแบบไว้ ตารางที่ใช้เก็บข้อมูลเบื้องต้น ประกอบด้วย 8 ตาราง tb_member ระบบสมาชิก tb_story_charactor  รายชื่อตัวละครในนิยายแต่ละเรื่อง tb_story_detail  เนื้อเรื่องในแต่ละฉาก tb_story_info_reference  ข้อมูลอ้างอิง tb_story_list รายชื่อนิยายทั้งหมด tb_story_plot  พล็อตของแต่ละเรื่อง tb_story_scene  ฉากเหตุการณ์ในแต่ละพล็อต tb_story_type แนวนิยายที่เขียน

SQL สำหรับตรวจสอบช่วงเวลาที่ว่าง สำหรับระบบจองห้อง ต่างๆ

(บทความนี้ย้ายไปยังหน้า... http://sunzandesign.blogspot.com/2013/05/php-mysql-booking-room.html) นอกจากระบบจองห้องประชุมแล้ว น่าจะรวมถึงระบบจอง อื่นๆ ที่มีเรื่องวันที่ และเวลาเข้ามาเกี่ยวข้องด้วย ในรูปจะเป็นการค้นหาช่วงเวลาที่ทับซ้อนกัน สำหรับคำสั่งที่ใช้ตรวจสอบเวลาที่จองห้อง จะเป็นดังนี้  http://sunzandesign.blogspot.com/2013/05/php-mysql-booking-room.html

ระบบบริหารจัดการ พล็อตนิยาย (ตอนที่ 2)

หลังจากที่ได้นั่งคิดนอนคิด และหลับไปฝันไป จนในที่สุดก็ได้ฐานข้อมูลระบบบริหารจัดการพล็อตนิยายมาคร่าวๆ มาจนได้ โครงสร้างฐานข้อมูลตอนนี้อาจจะขี้เหร่ไปบ้าง แต่ในอนาคตก็คงจะพัฒนากันต่อไป ตารางที่จะต้องสร้าง มีทั้งหมด ดังนี้

ระบบบริหารจัดการ พล็อตนิยาย พัฒนาโดย PHP

วันนี้นำระบบบริหารจัดการแบบง่ายๆ มาเล่าสู่กันฟังครับ มีอยู่ช่วงหนึ่งที่ผมสนใจการเขียนนิยาย และค้นหาข้อมูลเพิ่มเติม และได้พบกับโปรแกรมหนึ่งที่ช่วยงานด้านการเขียนนิยายให้เป็นเรื่องที่ง่ายขึ้น แต่จากที่ได้อ่านรีวิวแล้วดูเหมือนว่า โปรแกรมช่วยเขียนนิยายนี้ ไม่จะไม่ค่อยรองรับภาษาไทย แต่ผมก็ยังไม่ได้ลองมาดาวน์โหลดมาลองใช้งานดูนะครับ แต่รู้สึกชอบเครื่องมือนี้ เลยอยากลองพัฒนาโดยถอดคุณสมบัติพื้นฐานมาใช้งานดู ว่าจะใช้กับงานเขียนนิยายได้จริงรึเปล่า ตัวอย่างระบบจัดการพล็อตเรื่อง เพื่อช่วยงานเขียนนิยาย จากรูป จะเห็นว่าเป็นระบบที่เล็กจริงๆ แต่ก็ไม่รู้ว่าจะใช้เวลาเขียนโปรแกรมกี่วัน เพราะช่วงนี้ก็วุ่นๆ อยู่กับโปรเจ็กต์หนึ่งที่เพื่อนแนะนำมาให้ ถ้าระบบนี้ใช้งานได้ก็หวังอย่างยิ่งว่าจะช่วยให้ตัวกระผมเองเขียนนิยายได้สักเรื่อง ถ้าคนที่ไม่เก่งงานด้าศิลป์ก็คงต้องเพิ่งพาเครื่องมือกันสักหน่อย ^^ Develop by PHP -------------------------------------------- ติดตามเรื่องราวการเขียนโปรแกรม PHP ได้ที่ https://www.youtube.com/user/PHPcodingAndDesign/channels เตรียมตัวก่อนเขีย

การเขียนโปรแกรมแสดงความคิดเห็น (PHP Real time Comment)

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

ทักษะการเขียนโปรแกรม เรียนได้ด้วยตัวเอง

ผมเป็นกรรมกรไอทีคนหนึ่ง ที่วันๆ นั่งเขียนโปรแกรมงกๆๆ แทบไม่ลืมหูลืมตาดูโลกกะเขาบ้าง จนมาวันนึงความคิดนึงมันก็พุ่งจึกเข้ากลางใจ "ถ้าต้องออกจากงานไป แล้วรับงานเองจะไหวมั้ยนะ?" พูดกันจริงๆ ทุกวันนี้ผมกลัวจะตกงานเอาง่ายๆ เพราะใครๆก็สามารถเขียนโปรแกรมได้ ทำไมถึงผมถึงบอกอย่างนั้น ก็เพราะไปเจอบทความนึง ที่ Google สนับสนุนให้คนหันมาพัฒนาแอพพลิเคชั่นบนระบบ Android ที่มีในมือถือใหม่ๆหลายยี่ห้อ โดยแค่เปิดโปรแกรมแล้วลากวางๆ ก็ออกมาเป็นแอพฯเท่ห์เก๋ไก๋ แบบมีเอกลักษณ์เป็นของตัวเอง ผมจะขอข้ามเรื่องแอพฯ บนมือถือไปก็แล้วกัน เพราะไม่เกี่ยวกับงานที่ผมทำอยู่ มาดูโปรแกรมเมอร์สายเว็บแอพฯ กันบ้างดีกว่า ภาษาที่ผมถนัดที่สุดในการเขียนโปรแกรมบนเว็บก็คือ PHP ซึ่งเป็นเครื่องมือฟรีทั้งชุดเลยก็ว่าได้ เป็นโปรแกรมที่ต้นทุนไม่สูงครับ ควักกระเป๋าตังค์จ่ายค่าเครื่องเซิร์ฟเวอร์ครั้งเดียว ไม่ต้องจ่ายค่าลิขสิทธิ์ซอร์ฟแวร์อีก ถ้าเราใช้ระบบปฏิบัติการ UBUNTU SERVER เราก็จะได้ระบบพร้อมติดตั้งโปรแกรมที่พัฒนาขึ้นมาจากภาษา PHP ได้ทันที คู่มือ PHP มีหนังสือเยอะแยะมากมายในห้องสมุด มีผู้เชี่ยวชาญมากมายใหนหลายเว็บบอร์ด

แผนผังระบบ Teacher Assistant

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

ระบบช่วยงานครูผู้สอน

ระบบช่วยงานครูผู้สอน ฐานข้อมูลนักเรียน แยกชั้น ห้อง ติดตามพฤติกรรม จิตพิสัย คะแนนเก็บ ตัดเกรด ออกข้อสอบ สุ่มข้อสอบ (แยกตามบทเรียน / สุ่มทั้งหมด เรียงตามบทเรียน ) รายละเอียด 1. ฐานข้อมูลนักเรียน เก็บข้อมูลนักเรียนแต่ละคน ตั้งแต่เริ่มเรียนจนกระทั่งจบการศึกษา นักเรียนสามารถแก้ไขข้อมูลบางส่วนได้ เช่น ความสนใจต่างๆ ซึ่งอาจารย์ประจำชั้นสามารถออกแบบแบบฟอร์มเองได้ ว่าต้องการเก็บข้อมูลอะไรจากนักเรียน 2. ติดตามพฤติกรรม จิตพิสัย ครูสามารถสร้างแบบฟอร์มที่ต้องการเก็บข้อมูลเองได้ บันทึกข้อมูลการกระทำต่างๆ ของนักเรียนแต่ละคนได้ สร้างสูตรคำนวณผลลัพธ์จากข้อมูลในแบบประเมินได้ 3. คะแนนเก็บ และการตัดเกรด เก็บคะแนนแบ่งตามภาคเรียน กำหนดชื่อหัวข้อที่ใช้เก็บคะแนนในแต่ละครั้งได้ กำหนดตัวหารในการคำนวณคะแนนในแต่ละครั้งได้ 4. การออกข้อสอบ การสร้างข้อสอบ ในหน้าออกข้อสอบจะกำหนดเซสชั่น ให้น้อยกว่าปกติ กรณีไม่อยู่หน้าจอจะได้ LogOut ออกจากหน้านั้น เพื่อไม่ให้ผู้อื่นมาอ่านข้อสอบได้ การสั่งพิมพ์ข้อสอบจะต้องใส่รหัสผ่านยืนยัน ก่อนพิมพ์เพื่อป้องกันผู้อื่นมาพิมพ์ข้อมูลออกไป ข้อมูลที่บันทึก จะต้องเข้

วางแผนรับมือกรณีเครื่องเซิรฟเวอร์หลักเกิดปัญหา (Change Slave to Master)

สำหรับเรื่องที่เลวร้ายที่สุดของการเป็นโปรแกรมเมอร์ คงจะเป็นช่วงเวลาบ่ายแก่ๆ ที่ต้องเดินไปชงกาแฟแล้วเจอแต่ความว่างเปล่า เจอแต่ขวดที่ปราศจากกาแฟ !! จากนั้นก็เดินกลับมาพร้อมกับแก้วกาแฟ ที่มีเพียงน้ำอุ่นใสๆ ไว้จิบเล่น พอบรรเทาความง่วงสักเล็กน้อยโดยการเอาลิ้นลงไปจุ่มเล่น ให้พอสะดุ้ง ....ตึ้ง....ตึ๊ง... "ขออภัย ระบบไม่สามารถเชื่อมต่อกับฐานข้อมูลได้!!" > cmd > ping 192.168.1.211 > Request timed out. ชัดเลย...ไม่ต้องสงสัย ต้องเกิดอะไรขึ้นกับเซิร์ฟเวอร์อย่างแน่นอน ถ้าเปิดไม่ติด หรือติดแล้วก็ดับ หรือจะอะไรก็แล้วแต่ที่เครื่องไม่สามารถจะทำงานต่อไปได้ ก็ต้องหาเครื่องสำรองมาใช้แทนก่อนเป็นลำดับแรก แล้วข้อมูลล่ะ สำหรับใครที่สะดวกในการถอดฮาร์ดดิสก์มาพ่วงเครื่องใหม่ที่เป็นเครื่องรุ่นเดียวกันได้ ก็ใช้วิธีนี้ไปเลยครับ เพราะถ้าฮาร์ดดิสก์ไม่เสีย ก็จะบู๊ตเข้าระบบตามปกติ แต่ถ้าเราไม่มีเครื่องเซิรฟเวอร์สำรองล่ะ มีแต่เครื่อง PC ธรรมดา แน่นอนว่าถอดฮาร์ดดิสก์มาก็คงจะต้องใช้วิธีพ่วงเข้าไปอีกลูก แล้วตั้งค่าใหม่เพื่อใช้แทนเครื่องเดิมไปก่อน แต่ถ้าฮาร์ดดิสก์ต่อพ่วง

การทำ Replicate MySQL

ตัวอย่างการทดสอบระบบ MySQL Replication สำหรับขั้นตอนการทำ MySQL Replication ด้วย phpMyAdmin นั้น ลองศึกษาจากเว็บไซต์นี้ดูนะครับ ภาพชัดเจนทุกขั้นตอน Mysql Replication With Phpmyadmin สำหรับตัวอย่างภาษาไทยหาที่รายละเอียดชัดเจนไม่ได้ครับ ผมก็อาศัยลองผิดลองถูกด้วยขั้นตอนที่เขียนไว้ในเว็บนี้ที่เดียว ทดลองกับเครื่องที่ใช้งานอยู่กับ เครื่องเก่าที่วางไว้ไม่ได้ใช้ จับมาลงชุดเว็บเซิร์ฟเวอร์ ด้วยโปรแกรม  AppServ 2.5.10 จะประกอบด้วย Apache 2.2.8 PHP 5.2.6 MySQL 5.0.51b phpMyAdmin-2.10.3 ถ้า phpMyAdmin ที่ได้หลังจากติดตั้ง AppServ ดูแล้วไม่เหมือนในตัวอย่าง หรือไม่สวยสบายตามให้ไปดาวน์โหลดเวอร์ชั่นใหม่ได้ที่เว็บไซต์ phpMyAdmin จากนั้นก็ร่ายยาวไปตามตัวอย่างเลยนะครับ ถ้าทำครบทุกขั้นตอน รับรองว่าใช้งานได้ชัวร์ หลังจากที่พยายามมาครึ่งวันจนสำเร็จ ตอนนี้ก็ยังไม่รู้ว่าจะเอาไปใช้กับเซิร์ฟเวอร์เครื่องที่ใช้อยู่จริงได้ยังไง เพราะเหมือนจะไม่ได้ใช้ชุดโปรแกรม AppServ เป็นเว็บเซิร์ฟเวอร์ซะงั้น แต่คิดว่าพระเอกของงานคงอยู่ที่ MySQL มากกว่า ถ้าใช้ phpMyAdmin ได้ ก็คงจะทำการ Replicat

การรับตัวแปรจากแบบฟอร์ม ส่งค่าไปยังไฟล์ PHP

บทความนี้ถูกย้ายไปที่ >>  http://sunzandesign.blogspot.com/2013/03/php-form-request.html

ดึงข้อมูลมาจากอีกตาราง มาเก็บในรายงาน ควรเก็บเป็น id อ้างอิง หรือ ชื่อเต็มไปเลย

ข้อมูลในตาราง customer ประกอบด้วย cust_id     cust_name cust_address 1 นายโรเบิร์ต ... 2 นายวิลสัน ... 3 นายทอมครุซ ... ข้อมูลในรายงาน sale_report ประกอบด้วย sale_id sale_date sale_cust_id 1 2012-02-01 3 2 2012-02-03 1 3 2012-02-20 2 สังเกตในฟิลด์ที่ 3 ของตาราง sale_report จะเป็นการเก็บรหัสอ้างอิงลูกค้า ปัญหาที่พบคืออะไร??? เมื่อเวลาผ่านไป แล้วลูกค้าเกิดเปลี่ยนชื่อ ประวัติการซื้อขายก็จะเพี้ยน พอเรียกรายงานกลับมาดู ก็จะพบว่าเป็นชื่อใหม่ ส่วนเอกสารที่เคยพิมพ์ออกมาเป็นคนละชื่อ ตัวอย่างเช่น นายโรเบิร์ต ซื้อรถเมื่อปีที่แล้ว วันที่ 2 ก.พ. 2012  ข้อมูลทั้งหมดถูกพิมพ์เก็บเข้าแฟ้มไปแล้ว  หลังจากนั้นเขาเกิดเปลี่ยนชื่อ เป็น นายสตีเว่น มาปีนี้อยากเรียกดูรายงานของปีก่อน พอปริ้นท์ออกมา ปรากฏว่าเอกสารไม่ตรงกัน ข้อมูลนายโรเบิร์ตหายไป และมีข้อมูล นายสตีเว่น โผล่มาจากไหนก็ไม่รู้ สาเหตุก็เพราะเรียกชื่อลูกค้า จะใช้ id อ้างอิง ทำให้ได้ข้อมูลที่เขาเป

Gimp โปรแกรมตกแต่งภาพ สำหรับงาน CG

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

ร้อยละ ทศนิยม 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

PHP CI MANIA