Articles

ความสามารถของระบบ SimpiEcommerce ( ECommerce System )
E-Commerce

ความสามารถของระบบ SimpiEcommerce ( ECommerce System )

ระบบนี้เขียนด้วย Django web framework ที่เขียนด้วยภาษา python ซึ่งในปัจจุบันเป็นภาษาที่ใช้ในการพัฒนา AI ( Artificial Intelligence ) และมี software package คลอบคลุมหลากหลายวงการ simpliShop มีรองรับระบบดังต่อไปนี้ Product management system ระบบบริหารจัดการสินค้า Product Category system ระบบหมวดหมู่สินค้า Product Stock ระบบ stock สินค้า Shopping Cart system ระบบตะกร้าสินค้า Order management system ระบบจัดการการสั่งซื้อ Promotion management system ระบบจัดการโปรโมชั่น Coupon  Online / Offline Campaign  ทั้งร้าน หรือหมวดหมู่สินค้า และเงื่อนไขต่างๆ Flashsale Review management system […]

Read More
เราจะทำให้ program ที่มีขั้นตอนการทำงานที่ซับซ้อน และ ต้องแบ่งงานให้กับ programmer หลายๆ คนได้อย่างไร ?
Coding Network Thinking

เราจะทำให้ program ที่มีขั้นตอนการทำงานที่ซับซ้อน และ ต้องแบ่งงานให้กับ programmer หลายๆ คนได้อย่างไร ?

หลายๆคน คงได้อ่านหนังสือเกี่ยว software engineering มาหลายๆ เล่ม  ก็จะมีข้อเสนอแนะหลายวิธี แต่วันนี้ผมจะมาพูดถึงการควบคุมลำดับการทำงานของ program ที่ซับซ้อน  ให้ง่ายขึ้นด้วยการสร้าง workflow engine system ขึ้นมาใช้เอง ลองกลับไปอ่านบทความก่อนหน้านี้  สร้าง business workflow process system ด้วย networkx.org

Read More
วิธีการออกแบบเพื่อลดการซับซ้อนของ software
Coding

วิธีการออกแบบเพื่อลดการซับซ้อนของ software

ควรออกแบบให้เป็น Layer และ แต่ละ Layer ควรกำหนดจุดประสงค์ให้ชัดเจน ภาพจากหนังสือ  https://www.amazon.com/Grokking-Simplicity-software-functional-thinking/dp/1617296201 จากภาพด้านบนเราควรจะกำหนดวัตถุประสงค์ของแต่ละ layer ให้ชัดเจน และ call graph ก็ไม่ควรจะยุ่งเหยิง หรือมีลูกศรที่ข้าม layer   และใน layer เดียวกันก็ไม่ควรจะมีที่เรียกกันเอง  ( ถ้า function นั้นๆ เรียก function ใน layer เดียวกัน function นั้นก็ต้องอยู่บน layer ที่สูงกว่า ) 

Read More
Facebook Pixel ทำงานอย่างไร ?
Online Marketing

Facebook Pixel ทำงานอย่างไร ?

Facebook Pixel ใช้หลักการของ web cookie เพื่อใช้ในการติดตามเส้นทางของลูกค้าที่คลิกจาก Facebook Ads ใน Marketing Campaign ของเราที่สร้างขึ้นเพื่อเพิ่มยอดขาย  เมื่อทาง Facebook นี้ได้ข้อมูลการเดินทางของลูกค้าของเรา Facebook ก็จะสามารถทำ Analytic ได้ เราในฐานะคนซื้อ Ads ก็จะสามารถตรวจสอบดูค่าต่างๆ ของ Marketing campaign ของเราว่า ads ไหนที่ได้ผลดี เพื่อเป็นการพัฒนาการทำ online marketing

Read More
ข้อแนะนำพัฒนา E-Commerce Website ด้วย Shopify
E-Commerce

ข้อแนะนำพัฒนา E-Commerce Website ด้วย Shopify

ทุกวันนี้ธุรกิจต่างๆ ล้วนต้องเพิ่มช่องทางการขายจาก Offline สู่ Online  และ E-Commerce online platform ที่เป็นที่นิยมมีอยู่หลายตัวเช่น WooCommerce, Shopify, Magento แต่ในบทความนี้ผมจะเขียนถึง Shopify เพราะเพิ่งพัฒนา website โดยใช้ Shopify มาไม่นานนี้

Read More
บางทีความรู้ก็เป็นสิ่งที่จำกัดความคิดสร้างสรรค์ได้เหมือนกัน
Thinking

บางทีความรู้ก็เป็นสิ่งที่จำกัดความคิดสร้างสรรค์ได้เหมือนกัน

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

Read More
Web Socket  คืออะไร
Coding Network

Web Socket คืออะไร

Web socket คือ technology ที่ใช้สื่อสารระหว่าง web browser และ server  เป็นการสื่อสารแบบสองทาง ข้อดีของ web socket คือ program ในฝั่ง web browser ไม่ต้องเขียนในลักษณะของการเรียก function ในแบบ interval วนไปเรื่อยๆ แต่ใช้วิธีการ  Event listening  สรุปง่ายๆ คือ  ถ้าเราเขียน code ว่า เราสนใจใน event นี้ เมื่อ event นั้นๆ เกิดขึ้นมา code ที่เราผูกกับ event. นั้นก็จะนำ event data ไป process  

Read More
เทคนิคที่ช่วยให้เขียน program ให้ดีขึ้นอย่างรวดเร็ว
Coding

เทคนิคที่ช่วยให้เขียน program ให้ดีขึ้นอย่างรวดเร็ว

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

Read More
มาสร้าง Blockchain ของเราเองกันเถอะ ( 2 ) , Mining
Blockchain

มาสร้าง Blockchain ของเราเองกันเถอะ ( 2 ) , Mining

Mining ( ขุด ) คือกระบวนการสร้าง block. ใหม่ แล้วเพิ่มเข้าไปใน blockchain มีขั้นตอนการทำงานดังต่อไปนี้ เรามาดู code ของ function เหล่านี้กันดีกว่า เราควรจะเริ่มดูที่ hashBlock function ซึ่งถูกเรียกใช้บ่อย function นี้ไม่มีอะไรซับซ้อนมาก แค่ทำการ hash ค่าของ previousBlockHash + nonce + currentBlockData ด้วย sha256 proofOfWork function คือการหา hash ที่ขึ้นต้นด้วย 0000 ให้เจอ เราจะเห็นว่า nonce คือตัวแปรที่เพิ่มค่าไปเรื่อยๆ ใน while loop เมื่อเราเจอ nonce ที่ถูกต้องแล้ว function ก็จะ return กลับมาดู code ที่พูดในตอนแรกจะเห็นได้ว่า createNewBlock เพียงแค่รับ […]

Read More
มาสร้าง Blockchain ของเราเองกันเถอะ ( 1 )
Coding Network

มาสร้าง Blockchain ของเราเองกันเถอะ ( 1 )

Blockchain คือ การบันทึกข้อมูล ที่ยากในการแก้ไข ( แทบจะเป็นไปไม่ได้ ) ที่จะเปลี่ยนแปลงข้อมูล, hack ระบบ, หรือโกงได้ องค์ประกอบของ blockchain จะประกอบด้วย Block ซึ่งเป็นที่เก็บข้อมูลที่เราต้องการบันทึก เมื่อมี block ใหม่เข้ามา ก็จะทำการไปต่อท้ายเหมือนเป็นสายโซ่ ( chain ) เราเลยเรียกว่า Blockchain แต่การที่จะเพิ่ม block เข้าไปใหม่ใน blockchain network จะมีขั้นตอนที่เรียกว่า proof of work ( การสร้าง hash key ที่ตรงตามเงื่อนไขที่เรากำหนดไว้ เราอาจจะรู้จักขั้นตอนนี้ว่า “ขุด” mine )

Read More
decentralized network system คืออะไร ?
Farming Network

decentralized network system คืออะไร ?

เราอาจจะเคยได้ยิน Bitcoin หรือพวก cryptocurrency ต่างๆ ที่ทำงานอยู่บน Blockchain ที่ทำงานบน decentralize network ก่อนที่เราจะทำความเข้าใจในรายละเอียดของ Blockchain และ decentralize network เราลองมาดู network ในรูปแบบต่างๆ 

Read More
Blockchain Technology จะช่วยแก้ปัญหาของชาวสวนและผู้บริโภคได้อย่างไร ?
Farming

Blockchain Technology จะช่วยแก้ปัญหาของชาวสวนและผู้บริโภคได้อย่างไร ?

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

Read More
เครื่องวัดอัตราไหลของน้ำด้วย Arduino และ  YF-S201 Hall Effect Water Flow Meter Sensor
Farming Microcontroller

เครื่องวัดอัตราไหลของน้ำด้วย Arduino และ YF-S201 Hall Effect Water Flow Meter Sensor

Hall effect คือ ค่าความต่างศักย์  ( Voltage difference ) ( Hall Voltage ) ระหว่างสองฝั่งของตัวนำทางไฟฟ้า ( Electrical Conductor )   ที่กระแสไฟฟ้าวิ่งผ่าน โดยในขณะที่กระแสไฟฟ้าวิ่งผ่าน จะมีสนามแม่เหล็กตั้งฉากกับกระแสไฟฟ้า โดยปรากฎการณ์นี้ค้นพบโดย Edwin Hall  ในปี คศ. 1879

Read More
เราจะเข้าใจ code ของ project ที่มีความซับซ้อนได้อย่างไร ?
Coding

เราจะเข้าใจ code ของ project ที่มีความซับซ้อนได้อย่างไร ?

ในสมัยที่ผมเขียน code แรกๆ ผมเข้าใจว่าผมสามารถเข้าใจการทำงานของ program ทุกอย่างผ่านการอ่าน code เพียงอย่างเดียว ผมมีหนังสือหลายเล่มที่อยากแนะนำให้ programmer ลองอ่านดูนะครับ

Read More
Photogrammetry และ Metaverse
Metaverse

Photogrammetry และ Metaverse

วันนี้ผมลองศึกษาเกี่ยวกับ Metaverse ก็ได้นิยามว่า คือการสร้างโลกเสมือน ( virtual world ) 3D บน internet ขึ้นมา เพื่อให้ผู้ใช้งานระบบที่อยู่ในรูปแบบ Metaverse ได้เข้าไปมีตัวตนสมมติ ( avatar )ในโลกเสมือนนั้น 

Read More
ทำแอปประชุม online ด้วย Zoom SDK และ Ionic  mobile framework
Coding

ทำแอปประชุม online ด้วย Zoom SDK และ Ionic mobile framework

เมื่อสองสามวันก่อน มีลูกค้ารายหนึ่ง มาปรึกษาว่า เค้าต้องการจะใช้ Wowza Video streaming server มาทำเป็น Online conference แต่เนื่องจากเค้าทำอย่างไรก็ยัง delay อยู่ประมาณ 5 วินาที  แต่ความต้องการของลูกค้าเค้าอยากให้การตอบสนองเหมือน Zoom เลย 

Read More
Smart Factory หรือ Industry 4.0 คืออะไร ?
Industry

Smart Factory หรือ Industry 4.0 คืออะไร ?

Smart Factory / Industry 4.0 เป็นแนวคิดที่เกี่ยวกับ การนำ Network  + Sensor + Machine learning technology มาใช้กับโรงงานอุตสาหกรรม  Sensor technology มีการพัฒนาไปมาก และราคาก็ถูกลงไปมาก การเชื่อมต่อข้อมูลกับเครื่องจักร ( Machine interface ) ที่ใช้ในอุตสาหกรรม ส่งข้อมูลผ่าน network ( ทั้งในรูปแบบ local network หรือ internet ) 

Read More
Live Sport Engagement Technology ช่วยเพิ่มประสบการณ์ของแฟนกีฬาได้อย่างไร
Sports

Live Sport Engagement Technology ช่วยเพิ่มประสบการณ์ของแฟนกีฬาได้อย่างไร

Live Sport Engagement Technology คือ technology ที่ช่วยให้การติดตามการถ่ายทอดสดกีฬาให้มีความสนุกสนานมากขึ้น และพยายามให้แฟนกีฬามีประสบการณ์ใกล้เคียงกับรับชมที่สนามการแข่งขันจริง

Read More
5 ข้อ ที่เข้าใจผิดในการเขียน code
Coding

5 ข้อ ที่เข้าใจผิดในการเขียน code

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

Read More