Category: blog

Payment Gateway ของธนาคารในประเทศไทย

ผมเคยได้รับโปรเจคให้เขียนโปรแกรมขายของแล้วในส่วนของการจ่ายเงิน ให้ใช้ Payment Gateway ที่เป็นของธนาคารโดยตรงเลย เนื่องจากว่าค่าธรรมเนียมถูกกว่าของเว็บที่เป็นตัวกลางเช่น Paypal, Paysbuy หรือ 2C2P ก็เลยมีโอกาสได้ลองติดต่อกับธนาคารและมีข้อมูลมาแชร์กันนิดหน่อยครับ

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

Continue reading

ทดลอง SAP B1iSN

หลังจากเขียนวิธีติดตั้ง SAP B1iSN ไปแล้ว ถ้าไม่มีการทดลองให้ดู มันก็ไม่เห็นภาพใช่ไหมครับ งั้นก็มาทดลองกันเลยว่าที่เราติดตั้งไปนั้น ใช้งานได้หรือไม่ แต่ก่อนที่จะทดลองก็ต้องมีการเตรียมการก่อน ลองมาดูวิธีการเลยครับ

การใช้งาน SAP B1iSN จำเป็นต้องมีฐานข้อมูลแต่ละสาขาแยกจากกัน ฐานข้อมูลตัวอย่างของ SAP B1 จะมีเพียง DemoUS เพียงตัวเดียว เราสามารถคัดลอกฐานข้อมูลที่มีอยู่แล้วเพื่อทดลองการทำงานกับ B1iSN ได้โดยมีวิธีดังนี้ Continue reading

การติดตั้ง SAP B1iSN

รอบนี้ขอหากินกับของเก่าหน่อยเหอะ หลังจากที่เคยลงวิธีการติดตั้ง SAP B1 เมื่อนานมาแล้ว (นานมาก) จริงๆ แล้ว SAP B1 มันมีตัวเสริมอีกเยอะแยะมากมายเลย ตัวหลักๆ เลยที่โดนถามขายพ่วงด้วยแน่ๆ คือ B1iSN (จริงๆ มันไม่ได้ขายนี่ แต่เสียค่า implement กัน) ถ้าหากอ่านแล้วดูแปลกๆ ก็อย่าแปลกใจเพราะผมใช้วิธีก๊อปจาก word ที่เคยทำให้ลูกค้าดู แล้วบังเอิญไปเจอ flash drive ที่ทำหายไปปีกว่าๆ (ตกหลัง TV!!!) ข้างในนั้นมีงานที่เคยทำไว้เพียบ เลยเอามาแชร์เพื่อนๆ ละกันเนอะ

เนื้อหาบางส่วนอาจจะล้าสมัยไปแล้ว เพราะเขียนไว้ตั้งแต่ปี พ.ย. 2010 แล้วนะ

การทำงานของ SAP B1 แบบง่ายที่สุดเป็นตามภาพด้านล่าง

จากภาพการทำงานจะมีเครื่องลูกข่ายเชื่อมต่อเข้าไปใน Server โดยตรงซึ่งก็จะสะดวกเมื่อทำงานอยู่ภายในสาขาเดียวกันหรือในเครื่องข่ายเดียวกัน (LAN) หลักการนี้ก็เอาไปใช้สำหรับการทำงานต่างสาขาได้เหมือนกันโดยจะมีลักษณะการเชื่อมต่อดังนี้ Continue reading

Ultrabook พร้อมแล้วหรือยัง?

Ultrabook พร้อมแล้วหรือยัง?

ทักทายกันอีกครั้ง หลังจากไม่ได้เขียนมาร่วมเดือนเลย เอาเวลาไปทำอย่างอื่นหมด (รวมถึงเล่นเกมด้วย) ช่วงนี้กำลังมองหา Notebook เครื่องใหม่อยู่พอดี หลังจากเจ้า Dell Latitude ที่อยู่ด้วยกันมา เรื่องออกอาการขุ่นเคืองให้หมองใจ อยู่ด้วยกันมาสองปีกว่าแล้ว ก็ต้องมีเบื่อกันบ้างแหละ จริงๆ มันก็ทำงานให้ได้ดีมากเลยแหละ แต่ติดอย่างเดียวคือ “มันหนัก” รวมที่ชาร์ตแล้ว ร่วมสามกิโลเลย เมื่อสมัยเป็นวัยรุ่นแบกได้ไม่มีปัญหา วันไหนอยากรวดเร็วก็ใส่เป้แบกได้สบายๆ แต่ตอนนี้อายุเริ่มมากขึ้น ตัวเลขก็ค่อยๆ เพิ่มขึ้นเรื่อยๆ อาการยอดฮิตของคนที่เป็นวัยรุ่นตอนปลายก็เริ่มเข้ามา นั่นก็คือ “ปวดหลัง” นั่นเอง ความผิดก็เลยมาตกกับ Dell ผู้น่าสงสารนี่แหละ (จริงๆ คือ อยากเปลี่ยน Notebook แต่หาข้ออ้างให้ตัวเองสบายใจมากกว่า) Continue reading

เปิดใช้งาน Remote Desktop บน ISA 2006

เขียนเมื่อ 2009-01-16 17:01:24 +0700

ปกติแล้ว ที่ทำงานผมจะใช้ ISA คุมสิทธิ์การใช้เน็ต ก็เคยแนะนำให้ใช้ ChilliSpot แต่พอเห็นว่าเป็น Linux แล้ว คนก็ร้องยี้กันเป็นแถว ไม่รู้ว่าจะกลัวอะไรหนักหนา แล้วพอลง ISA ปุ๊ป Remote Desktop ที่เคยใช้งานกันได้อยู่ ก็ดันใช้ไม่ได้ (เฉพาะเข้าไปที่ Server นะ) งานก็เลยเข้าตัวผมซะละ

ISA จริงๆ มันก็เซ็ตไม่ยากเนอะ แนวคิดก็มาจาก ปิดให้หมดทุกอย่าง อยากใช้อันไหนก็ค่อยเปิดเอา ทำให้พอลงแล้ว ทุกอย่างที่เคยใช้งานได้ ก็จะใช้งานไม่ได้ แม้แค่ DHCP ก็ตาม หุหุ

หลักการของ Remote Desktop คือ มันจะส่ง Request มาทาง port 3390 แล้วส่งกลับทาง 3389 ทีนี้เราก็สร้าง rule ที่รับ 3390 แล้วส่ง 3389 แค่นั้นเอง Continue reading

PDO Connection Class

เขียนเมื่อ 2008-07-23 16:33:10 +0700

ปกติผมจะเขียนโปรแกรมติดต่อฐานข้อมูลโดยฝัง query string เข้าไปในโค๊ดเลย ซึ่งมันก็ง่าย แต่ยากตอนจะเปลี่ยนฐานข้อมูล ก็เลยเขียน class ขึ้นมาเอง แต่ก็ยังติดที่ต้องเขียน method สำหรับแต่ละฐานข้อมูลอยู่ดี ซึ่งฐานข้อมูลบางแบบ ผมไม่ค่อยได้ใช้ (pg sql) หรือไม่เคยใช้เลย (posix, odbc) แต่ก็จำเป็นต้องรู้ไว้บ้างว่าเขียนติดต่อยังไง

หลังจากมาเขียน PHP แบบ OO (แต่ก็ไม่เต็มรูปแบบ) ก็มีคนแนะนำว่า ทำไมไม่ลองใช้ PDO ล่ะ? แรกๆ ก็ไม่ได้สนใจ แต่พอมาจับงานที่ต้องเขียนให้ติดต่อทั้ง PG SQL, MySQL, SQLite แล้วเจอปัญหาเดิมอีก คือ เปลี่ยนฐานข้อมูลลำบาก จะไล่แก้โค๊ดให้หมด ก็บ้าไปแล้ว ก็เลยนึกถึุง PDO ขึ้นมา ลองเล่น ลองลูบ ลองคลำ มันอยู่ 2 อาทิตย์กว่าๆ ก็ได้ Class ส่วนตัวออกมา อิอิ สบายเลย จะเปลี่ยนฐานข้อมูล ก็แก้แค่ไฟล์คอนฟิก Continue reading

ตารางชนิดต่างๆใน MySQL

ร่างไว้ก่อนนานมากๆ แล้ว เนื้อหายังไม่เสร็จดี แต่เอามาลงให้ก่อน เดี๋ยวจะหาว่าไม่อัพเดทเว็บไซต์เลย เอาแค่ engine หลักๆ ก่อนละกัน ส่วนอันอื่นๆ ค่อยลงทีหลังเนอะ

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

คงปฏิเสธไม่ได้อีกว่า MySQL นี้เป็นระบบฐานข้อมูลแรกที่ทุกๆ คนเรียนรู้คู่กับภาษา PHP แน่นอน เพราะหนังสือส่วนใหญ่จะสอนคู่กันเลย มีแยกเป็นบทท้ายๆ ในหนังสือส่วนใหญ่แน่นอน แต่สิ่งที่หนังสือไม่ได้สอน (หนังสือภาษาไทย) คือ รูปแบบของตารางแต่ละชนิด (stroage engine) ว่ามีแบบไหนบ้าง แล้วต่างกันอย่างไร หรือควรจะใช้ตารางข้อมูลแบบไหนในระบบของเรา Continue reading

Timestamp แบบเลขกลมๆ

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

timestamp ของ php, mysql, unix และภาษาอื่นๆ จะนับเวลาเป็นวินาที เว้นบางภาษาเช่น javascript จะนับเป็นมิลิวินาที ซึ่งจริงๆ มันก็เท่ากันหมด แค่เอาไปหาร 1000 ก็ได้เป็น timestamp ทั่วๆ ไปแล้ว แต่รายละเอียดลึกๆ มันก็ต่างกันอยู่ดี อย่าง php จะเริ่มนับเดือน มกราคม เป็น 1 แต่ javascript จะเริ่มที่ 0 อันนี้ก็แล้วแต่ภาษาแต่ยังไง timstamp ก็จะมีค่าเท่ากันเสมอ ทำให้เราสามารถนำค่าคงที่ของแต่ละ นาที ชั่วโมง ไล่ไปเรื่อยๆ ไปคำนวนได้เสมอ Continue reading

ครบรอบ 4 ปี cmdevhub

ผมยังจำวันนี้เมื่อสี่ปีที่แล้วได้ไม่ลืม วันนั้นกำลังนั่งทำงานซึ่งก็อยู่ในช่วงที่ว่างงานเพราะไม่มีโปรเจคให้ทำ นั่งเล่นเว็บ pantip ไปเรื่อยๆ เหมือนทุกๆ วัน ตอบกระทู้นั่นกระทู้นี่เรื่อยเปื่อย อยู่ดีๆ นึงยังไงไม่รู้เหมือนกันความรู้สึกว่า “อยากทำเว็บไซต์” มันก็โผล่มาในหัวดื้อๆ เลย พอตัดสินใจว่าจะทำล่ะ แต่จะทำอะไร ตอนนั้นก็เขียน PHP อยู่ทุกวัน (วันนี้ก็เขียนบ้าง) ก็เลยตัดสินใจว่า จะเขียนเว็บสอน PHP ด้วยความที่มันยังใหม่มากในตอนนั้น และหนังสือภาษาไทยที่มีขายแทบทุกเล่ม เหมือน copy > paste เนื้อหามันเลยไม่หลากหลายเท่าไหร่ อยากเขียนในเรื่องที่หนังสือภาษาไทยไม่มีเขียนไว้ ปัญหาอีกอย่างคือ จะเอาชื่อโดเมนอะไรดี ตอนแรกคิดไว้หลายชื่อมาก มากเลยสุดท้ายก็มาใช้ชื่อ cmdev แต่ว่าไม่สามารถจด .com ได้ เลยเติมคำว่า hub ต่อท้ายเข้าไป ปรากฎว่าชื่อนี้ว่าง ก็เลยใช้มาจนถึงวันนี้

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

จริงๆ เว็บนี้ผมก็คิดจะเลิกทำหลายครั้งแล้วเพราะทำแค่คนเดียว แถมอัพเดทบ้าง ไม่อัพบ้างมันเป็นกระจกส่องตัวผมเองเลยว่า เป็นคนที่ไม่ค่อยสม่ำเสมอเท่าไหร่ จริงๆ ก็มีหลายบทความมากๆ ที่ผมคิดจะเขียนแล้วร่างลงสมุดแล้ว แต่สุดท้ายมันก็ยังคงอยู่ในสมุดนั่นเอง แต่มีครั้งหนึ่งที่เฮียเจ้าของร้านเน็ตที่ผมรู้จักเขาบังเอิญมาเปิดเว็บผมแล้วกำลังทำ USB เอาไว้ติดตั้ง Windows XP ตามบทความนี้ http://www.cmdevhub.com/blog/install-windows-xp-usb ผมก็บอกว่า เว็บนี้ผมเขียนเองแล้วก็ช่วยทำให้เขาจนสามารถใช้งานได้ เขาบอกผมว่า “การให้ความรู้มันเป็นการทำบุญอย่างหนึ่ง แล้วเป็นการทำบุญที่ได้บุญมากกว่าให้ทรัพย์สินเงินทองอีกด้วย ยิ่งทำโดยไม่หวังอะไรตอบแทนก็ทำไปเหอะ ค่าโฮสปีละพันกว่าบาท ถ้าไม่มีมาบอกเฮีย เดี๋ยวเอาให้ แต่อย่าหยุดเขียน” ประโยคนี้ทำให้ผมยังคงเขียนมาจนถึงทุกวันนี้ ถึงแม้จะไม่สม่ำเสมอก็เหอะ อย่างน้อยก็ให้คนอื่นค้นหาจาก google แล้วมีเว็บผมเป็นตัวเลือกแค่นี้ก็โอเคละครับ

cmdevhub จะก้าวไปข้างหน้าเรื่อยๆ ตามกำลังของผมละครับ อาจจะช้า แต่ก็จะไม่หยุดเดิน ขอบคุณทุกๆ ท่านที่ไม่ว่าจะตั้งใจเข้ามา หรือค้นหาจาก google เจอ หรือหลงเข้ามาเฉยๆ ที่เป็นกำลังใจให้เสมอมา cmdevhub จะอยู่ต่อไปไม่ว่าปีที่ 5 ที่ 6 หรืออีกกี่ปีก็ตาม ผมจะอยู่ตรงนี้ต่อไป

ขอบคุณครับ

[open cart] แก้ปัญหาติดตั้ง vq-mod

หายไปนานมากๆๆๆๆๆๆๆๆๆๆๆๆๆๆ ช่วงนี้ก็มัวแต่ไปเล่น OpenCart กับทำงานส่วนตัวเล็กน้อยครับ เลยไม่ค่อยได้อัพเดทเว็บไซต์เลย

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

สำหรับ OpenCart แล้ว การติดตั้ง vQmod มันไม่ยากเลย แค่อัพโหลดไฟล์เข้าไปแล้วสั่ง install เท่านั้น แต่บางทีจะเจอข้อความ ONE OR MORE FILES COULD NOT BE WRITTEN แปลกันง่ายก็คือ มีไฟล์บางไฟล์เขียนไม่ได้ แต่ก็ไม่บอกว่าไฟล์ไหนบ้างซะงั้น


วิธีแก้ก็ไม่ยากเลย แค่ตั้ง chmod ไฟล์ index.php และ /admin/index.php ให้เป็น 666 หรือ 777 ไปเลยก็ได้ ให้มันเขียนได้ก็พอ เท่านี้ก็จะสามารถติดตั้งได้แบบไร้ปัญหาแล้ว

รันตัวติดตั้งอีกครั้ง ถ้าได้ผลลัพธ์ดังนี้ แสดงว่าคุณพร้อมที่จะใช้งาน vQmod แล้ว

จบ…