วิธีแสดงหน้า HTML ด้วย Gin

แสดงหน้า HTML ด้วย Gin ตัวอย่างง่ายๆ ที่แสดงวิธีการแสดงหน้าเทมเพลต HTML โดยใช้เว็บเฟรมเวิร์กยอดนิยม Gin ของภาษา Go (Golang) Gin เป็นหนึ่งในเว็บเฟรมเวิร์กยอดนิยมสำหรับ Go ก่อนหน้านี้ฉันได้เขียนเกี่ยวกับวิธีการแสดงหน้า HTML โดยใช้แพ็คเกจเทมเพลต Go พื้นฐาน การแสดงเทมเพลต HTML นั้นง่ายยิ่งขึ้นด้วย Gin ในการทำให้เวิร์กโฟลว์ราบรื่นยิ่งขึ้นและลองใช้แนวคิดใหม่ๆ และแก้ปัญหา ฉันยังตัดสินใจใช้ยูทิลิตี้การโหลดอัตโนมัติที่เรียกว่า Gin โดย Codegangsta…

สร้าง Go API โดยใช้ GIN, GORM และ MySql

สร้าง Go API โดยใช้ GIN, GORM และ MySql Go เป็นภาษาโปรแกรมที่ร้อนแรงที่สุดในยุคที่เราอาศัยอยู่ Go นั้นง่ายมาก แต่มีประสิทธิภาพที่ใกล้เคียงกับภาษาระดับต่ำเช่น C ++ Go ถูกเรียกว่าภาษาการเขียนโปรแกรมที่เร็วที่สุดซึ่งให้ประสิทธิภาพสูงมาก Gin เป็นหนึ่งในเฟรมเวิร์กที่น่าทึ่งของ Go ซึ่งมีน้ำหนักเบาและรวดเร็วมาก คุณลักษณะที่น่าสนใจของ Gin คือมี HttpRouter เวอร์ชันที่กำหนดเอง ซึ่งทำให้เส้นทาง API นั้นเร็วมาก กว่ากรอบงาน…

Go Admin – Register เข้าสู่ระบบ

Register เข้าสู่ระบบ ภาษา Go Register ออกเสียงว่า เรจิสเตอร์ หรือ รีจิสเตอร์ หมายถึง การลงทะเบียน ซึ่งเราจะพบเห็นคำว่า Register ได้ จากเว็บไซต์ (Website) ต่าง ๆ ที่จัดกิจกรรม และต้องการให้ผู้ที่สนใจลงทะเบียน เพื่อร่วมกิจกรรมดังกล่าว หรือบางเว็บไซต์ที่เปิดรับสมาชิก เพื่อรับสิทธิประโยชน์ หรือรับส่วนลดต่าง ๆ ก็มักจะมีคำว่า Register ด้วยเช่นกัน คำว่า Register…

Go Admin – โครงสร้างข้อมูล (struct)

โครงสร้างข้อมูล struct แม้ภาษา Go จะไม่มีคลาส แต่มี structs ที่สามารถนิยามโครงสร้างของข้อมูลขึ้นมาเองได้ การใช้โครงสร้างข้อมูล (struct) ในภาษา Go เป็นโครงสร้างของการเก็บกลุ่มข้อมูลลงในฟิลด์ โดยประโยชน์ของการใช้ Struct นี้ จะทำให้เราเก็บข้อมูลแยกตามหมวดหมู่ได้ เช่น เราต้องการจะสร้าง ก้อนข้อมูล ของ “ลูกค้า” เราจะต้องประกอบไปด้วยอะไรบ้าง ก็จะมี ชื่อ, นามสกุล, อีเมล, รหัสผ่าน เป็นต้น ข้อกำหนดเบื้องต้น…

Go Admin – การสร้างแพ็คเกจ

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

การใช้ GORM กับ MySQL

การใช้ GORM กับ MySQL GORM เป็น Go ORM ช่วยให้เรา Map ระหว่างโครงสร้างของ Column ใน Table ของ Database กับ Field ของ Struct ใน Go ได้ เช่น หากท่านต้องการบันทึกอะไรสักอย่างลงฐานข้อมูล ท่านสามารถใช้ obj.save() หรือ code concept…

ติดตั้ง MySQL บน Mac

ติดตั้ง MySQL บน Mac ติดตั้ง MySQL https://dev.mysql.com/downloads/ เลือก MySQL Community Server เลือกติดตั้งตามรุ่นที่ใช้ เลือก No thanks, just start my download. Open คลิก Allow Continue Continue Agree Install พาสเวิร์ดผู้ดูแลระบบ เลือก Use Legacy…

การใช้ Channel

การใช้ Channel Go Channel คืออะไร ? Channel มันคือ ท่อการสื่อสารระหว่าง Go Routines กับ ตัวโปรแกรมหลัก หรือ Go Routines ตัวอื่นๆก็ได้ หรือพูดง่ายๆ ว่า เวลาเราสั่งงาน Go Routines ให้ทำอะไร มันจะไปทำงานเบื้องหลัง คือแบ่งไปให้ CPU อีก Core ช่วยทำงาน ส่วนตัวโปรแกรมหลักก็ทำงานไป และ…

การเข้ารหัส / ถอดรหัส JSON

การเข้ารหัส / ถอดรหัส JSON JSON คืออะไร JSON ย่อมาจาก JavaScript Object Notation มันคือ Standard format อย่างหนึ่งที่เป็น text และสามารถอ่านออกได้ด้วยตาเปล่า ใช้ในการสร้าง object ขึ้นมาเพื่อส่งข้อมูลระหว่าง Application หรือ Applications Program Interface (API) โดย format จะมีรูปแบบเป็น คู่…

การใช้ Gorilla Websockets

การใช้ Gorilla Websockets ในบทความนี้ เราจะมาดูกันว่าเราจะใช้ แพ็คเกจ Gorilla Websocket ใน Go ได้อย่างไร ไลบรารีนี้ช่วยให้เราเขียน ไคลเอ็นต์/เซิร์ฟเวอร์ websocket ใน Go ได้ง่าย มีการนำ Go ไปใช้จริงของโปรโตคอล websocket ซึ่งช่วยให้เราจัดการกับการเชื่อมต่อ http แบบเก็บสถานะได้โดยใช้ websockets WebSockets – มันคืออะไร? การกล่าวถึงเหตุผลที่เราใช้ WebSockets…

การ CRUD กับฐานข้อมูล ด้วย sqlc

การ CRUD กับฐานข้อมูล ด้วย sqlc ในนี้เราจะมาเรียนรู้วิธีการเขียนโค้ด Go เพื่อดำเนินการ CRUD บนฐานข้อมูล CRUD คืออะไร? มันคือ 4 ปฏิบัติการพื้นฐาน: C ย่อมาจาก Create, หรือแทรกระเบียนใหม่ลงในฐานข้อมูล R ใช้สำหรับ Read ซึ่งหมายถึงการดึงบันทึกจากฐานข้อมูล U คือ Update การเปลี่ยนเนื้อหาของบันทึกในฐานข้อมูล และ D เป็นการ…

การย้ายฐานข้อมูลด้วย Go บน Mac

การย้ายฐานข้อมูลด้วย Go บน Mac เมื่อทำงานกับฐานข้อมูล การโยกย้ายสคีมาเป็นงานสำคัญอย่างหนึ่งที่เรามักจะต้องทำตลอดอายุการใช้งานของแอปพลิเคชันเพื่อปรับให้เข้ากับความต้องการทางธุรกิจใหม่ ในบทความนี้ เราจะเรียนรู้วิธีการเขียนและเรียกใช้การโยกย้ายสคีมาฐานข้อมูลใน Go โดยใช้ไลบรารี golang-migrate ข้อกำหนดเบื้องต้น ข้อกำหนดสำหรับบทความนี้คือ คุณต้องติดตั้ง Go บนคอมพิวเตอร์ของคุณ และได้ทำตามบทความ ติดตั้ง Go บน Mac และ ติดตั้งและใช้ Docker บน Mac มาก่อน ติดตั้งและใช้งาน Homebrew บน…

สร้างโค้ดฐานข้อมูล Go ด้วย sqlc

สร้างโค้ดฐานข้อมูล Go ด้วย sqlc sqlc เป็นเครื่องมือใหม่ที่ทำให้การทำงานกับ SQL ใน Go เป็นเรื่องสนุก ปรับปรุงประสบการณ์ของนักพัฒนาในการทำงานกับฐานข้อมูลเชิงสัมพันธ์ได้อย่างมากโดยไม่ลดทอนความปลอดภัยของประเภทหรือประสิทธิภาพรันไทม์ ไม่ใช้แท็กโครงสร้าง ฟังก์ชัน mapper ที่เขียนด้วยลายมือ การสะท้อนสิ่งที่ไม่จำเป็น หรือเการพิ่ม dependencies ใหม่ให้กับโค้ดของคุณ ในความเป็นจริง มันยังรับประกันความถูกต้องและความปลอดภัยอีกด้วย sqlc ทำสิ่งนี้ให้สำเร็จโดยใช้วิธีการที่แตกต่างกันโดยพื้นฐาน: รวบรวม SQL ลงในโค้ด Go ที่ปลอดภัยสำหรับการสร้างอย่างสมบูรณ์  วิธีใช้ sqlc มี 3…

ติดตั้งและใช้งาน Homebrew บน Mac

ติดตั้งและใช้งาน Homebrew บน Mac Homebrew เป็นโปรแกรมจัดการแพ็คเกจที่จำเป็นสำหรับนักพัฒนา ผู้ดูแลระบบ และผู้ใช้ระดับสูงบน macOS Homebrew ช่วยให้เราติดตั้งแอปพลิเคชัน แพ็คเกจ และเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ยอดนิยมเวอร์ชันล่าสุดและอัปเดตได้ Homebrew เป็นวิธีที่ไม่ยุ่งยากในการติดตั้งแพ็คเกจที่จำเป็นบน Mac ของคุณ ตัวอย่างเช่น เราสามารถติดตั้ง PostgreSQL, Python, PHP, Bash, Nginx, Apache และอื่นๆ อีกมากมายโดยใช้คำสั่ง brew หน้านี้อธิบายวิธีติดตั้งและใช้ Homebrew…

ติดตั้งและใช้ Docker บน Mac

ติดตั้งและใช้ Docker บน Mac ในบทความ ออกแบบฐานข้อมูล Simple bank เราได้เรียนรู้วิธีการออกแบบฐานข้อมูล schema ด้วย dbdiagram.io ในบทความนี้เราจะมาเรียนรู้วิธีติดตั้ง Docker Desktop บนเครื่อง local จากนั้นดาวน์โหลดและเริ่มต้นคอนเทนเนอร์ PostgreSQL Docker คือ engine ตัวหนึ่งที่มีการทำงานในลักษณะจำลองสภาพแวดล้อมขึ้นมาบนเครื่อง server เพื่อใช้ในการ run service ที่ต้องการ มีการทำงานคล้ายคลึงกับ Virtual…

ติดตั้ง Go บน Mac

ติดตั้ง Go บน Mac Mac OSX คือระบบปฏิบัติการของคอมพิวเตอร์อย่างหนึ่ง ที่ถูกออกแบบมาให้ ใช้งานบนเครื่อง Mac โดยมีชื่อเต็มๆ คือ Macintosh เป็นระบบปฏิบัติการของบริษัท Apple โดย Mac ใช้ ระบบปฏิบัติการที่มีชื่อเรียกว่า OSX โดยจุดเด่นของ Mac นอกจากงานกราฟิกที่ สวยงามแล้วยังมี Interface ที่ใช้ได้ง่าย เพราะเครื่อง Mac ถูกออกแบบมาให้ใช้งานได้ง่าย มีความปลอดภัย…

ติดตั้ง Go บน Linux – Ubuntu

ติดตั้ง Go บน Linux ภาษา Go นั้นเป็น Open Source ที่นิยามว่า รันง่าย เชื่อถือได้ และ มีประสิทธิภาพ พูดง่ายๆ คือมันเร็ว กว่าภาษาอื่นๆ ทั่วๆไป และตัวมันเองก็เบามาก เวลานำมาเขียนโปรแกรม ภาษาโก ทำให้นักพัฒนาสามารถคอมไพล์ (การแปลงชุดคำสั่งโปรแกรมที่เขียนขึ้นมาให้กลายเป็นไฟล์ที่สั่งให้ทำงานได้) สามารถคอมไพล์โปรแกรมที่มีความซับซ้อนได้ภายในไม่กี่วินาที ซึ่งนอกจากคุณสมบัติดังกล่าวแล้ว กลไกการทำงานของ Go ยังสามารถใช้ประสิทธิภาพของโพรเซสเซอร์มัลติคอร์ในการทำงานแบบขนานกันไปได้อีกด้วย อีกทั้งยังมีระบบจัดการหน่วยความจำที่แก้ปัญหา (garbage…

การย้ายฐานข้อมูลด้วย golang-migrate

การย้ายฐานข้อมูลด้วย go เมื่อทำงานกับฐานข้อมูล การโยกย้ายสคีมาเป็นงานสำคัญอย่างหนึ่งที่เรามักจะต้องทำตลอดอายุการใช้งานของแอปพลิเคชันเพื่อปรับให้เข้ากับความต้องการทางธุรกิจใหม่ ในบทความนี้ เราจะเรียนรู้วิธีการเขียนและเรียกใช้การโยกย้ายสคีมาฐานข้อมูลใน Go โดยใช้ไลบรารี golang-migrate ข้อกำหนดเบื้องต้น ข้อกำหนดสำหรับบทความนี้คือ คุณต้องติดตั้ง Go บนคอมพิวเตอร์ของคุณ และได้ทำตามบทความ ติดตั้งและใช้ Docker + Postgres  มาก่อน ติดตั้ง golang-migrate Golang-migrate ทำงานร่วมกับเครื่องมือฐานข้อมูลต่างๆ เช่น postgres, mysql, mongo, cockroach ฯลฯ…

ติดตั้งและใช้ Docker + Postgres

ติดตั้งและใช้ Docker ในบทความ ออกแบบฐานข้อมูล Simple bank เราได้เรียนรู้วิธีการออกแบบฐานข้อมูล schema ด้วย dbdiagram.io ในบทความนี้เราจะมาเรียนรู้วิธีติดตั้ง Docker Desktop บนเครื่อง local จากนั้นดาวน์โหลดและเริ่มต้นคอนเทนเนอร์ PostgreSQL Docker คือ engine ตัวหนึ่งที่มีการทำงานในลักษณะจำลองสภาพแวดล้อมขึ้นมาบนเครื่อง server เพื่อใช้ในการ run service ที่ต้องการ มีการทำงานคล้ายคลึงกับ Virtual Machine เช่น…

ออกแบบฐานข้อมูล Simple bank

ออกแบบฐานข้อมูล Simple bank บริการที่เราจะสร้างเป็นธนาคารที่เรียบง่าย มันจะจัดเตรียม API สำหรับส่วนหน้าเพื่อทำสิ่งต่อไปนี้: ขั้นแรก สร้างและจัดการบัญชีธนาคาร ซึ่งประกอบด้วยชื่อเจ้าของ ยอดคงเหลือ และสกุลเงิน ประการที่สอง บันทึกการเปลี่ยนแปลงยอดคงเหลือทั้งหมดในแต่ละบัญชี ดังนั้นทุกครั้งที่มีการเพิ่มหรือหักเงินจากบัญชี จะมีการสร้างบันทึกรายการบัญชี และประการที่สาม ดำเนินการโอนเงินระหว่าง 2 บัญชี สิ่งนี้ควรเกิดขึ้นภายในธุรกรรม เพื่อให้ยอดคงเหลือของทั้งสองบัญชีได้รับการอัปเดตสำเร็จหรือไม่มีเลย ออกแบบฐานข้อมูล เราจะเรียนรู้เกี่ยวกับการออกแบบฐานข้อมูล: ออกแบบสคีมาฐานข้อมูล SQL โดยใช้ dbdiagram.io บันทึกสคีมาเป็นไดอะแกรม PDF หรือ PNG เพื่อแชร์กับทีมของคุณ…