Month: February 2022

การย้ายฐานข้อมูลด้วย 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 เพื่อแชร์กับทีมของคุณ…

สร้าง REST API ด้วย เว็บเฟรมเวิร์ค Gin

เว็บเฟรมเวิร์ค Gin เว็บเฟรมเวิร์ค Gin ใช้ HttpRouter เวอร์ชันที่กำหนดเอง ซึ่งแตกต่างจากเฟรมเวิร์กเว็บ Go อื่น ๆ ซึ่งหมายความว่าสามารถนำทางผ่านเส้นทาง API ของคุณได้เร็วกว่าเฟรมเวิร์กส่วนใหญ่ที่มีอยู่ ผู้สร้างยังอ้างว่าสามารถทำงานได้เร็วกว่า Martini ถึง 40 เท่า อย่างไรก็ตาม Gin เป็นไมโครเฟรมเวิร์กที่ไม่ได้มาพร้อมกับฟีเจอร์แฟนซีมากมายที่มาพร้อมในเฟรมเวิร์กนี้ มีเพียงเครื่องมือที่จำเป็นในการสร้าง API เช่น การกำหนดเส้นทาง การตรวจสอบแบบฟอร์ม ฯลฯ ดังนั้นสำหรับงานต่างๆ เช่น…

การใช้ Makefile ภาษา GO

การใช้ Makefile ภาษา GO ในบทความนี้ เราจะมาดูกันว่าคุณในฐานะนักพัฒนา Go สามารถใช้ประโยชน์จากเทคโนโลยีอันยอดเยี่ยมที่ชื่อว่า Makefiles ซึ่งมีไว้เพื่อเพิ่มความสะดวกในการพิมพ์ command line ยาวๆที่ต้องใช้งานซ้ำๆ บ่อยๆ  สำหรับพัฒนาแอปพลิเคชั่น Go ของคุณเอง Makefiles คืออะไร? มาเริ่มด้วยการดูว่า Makefiles คืออะไรก่อน Makefiles เป็นเครื่องมืออัตโนมัติที่มีประโยชน์อย่างเหลือเชื่อที่คุณสามารถใช้เพื่อรันและสร้างไม่ใช่แค่แอปพลิเคชัน Go ของคุณ แต่สำหรับภาษาการเขียนโปรแกรมส่วนใหญ่ โดยทั่วไป คุณจะเห็น Makefiles…

ตัวแปร (Variable) ภาษา Go

Go variable แสดงวิธีการทำงานกับตัวแปรใน Golang โดยค่าอื่นๆที่อยู่ในโปรแกรมเรานั้นส่วนใหญ่เก็บค่าแบบ static เราไม่สามารถเปลี่ยนแปลงได้ แต่ Variable นั้นค่อนข้างที่จะเป็น dynamic สามารถกำหนดค่า ดึงค่าแม้กะทั้งใช้ตัวเดิมซ้ำได้ ข้อกำหนดเบื้องต้น ข้อกำหนดสำหรับบทความนี้คือ คุณต้องติดตั้ง Go บนคอมพิวเตอร์ของคุณตามบทความ ติดตั้ง Go และ ทดสอบ Hello World  มาก่อน ตัวแปรใน Go (Variables in Go) ตัวแปร…

ภาษา Go (Golang) เบื้องต้น

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

Deploy เว็บไซต์ ไปที่ DigitalOcean

Deploy เว็บไซต์ ไปที่ DigitalOcean เมื่อเราเขียนเว็บไซต์ แล้ว ก็คงอยากที่จะ deploy เว็บไซต์ ขึ้นไปยัง web hosting เพื่อให้คนอื่นสามารถเข้าถึงเว็บไซต์ได้ บทความนี้จะมาแนะนำวิธีการ Deploy เว็บไซต์หรือการอัพโหลดเว็บไซต์เราไปที่เครื่อง Hosting นั่นเอง โดยใช้  ซึ่ง DigitalOcean คือ Cloud Hosting ซึ่งให้บริการคลาวด์เซิร์ฟเวอร์ (Cloud server) โดยให้เรามีสิทธิจัดการกับเครื่องได้ทุกอย่าง (Root Access)…

Deploy เว็บไซต์ ไปที่ Heroku

Deploy เว็บไซต์ ไปที่ Heroku เมื่อเราเขียนเว็บไซต์ แล้ว ก็คงอยากที่จะ deploy เว็บไซต์ ขึ้นไปยัง web hosting เพื่อให้คนอื่นสามารถเข้าถึงเว็บไซต์ได้ บทความนี้จะมาแนะนำวิธีการ Deploy เว็บไซต์หรือการอัพโหลดเว็บไซต์เราไปที่เครื่อง Hosting นั่นเอง โดยใช้ Heroku ซึ่งเป็นบริการคลาวด์แบบ Platform as a Service (Paas) ที่ให้บริการสำหรับนักพัฒนาซอฟต์แวร์ สามารถรองรับภาษาต่างๆ เช่น Java…

การใช้ Cookie ภาษา Go

การใช้ Cookie ภาษา Go คุกกี้ (cookie) คืออะไร? คุกกี้คือไฟล์ที่เก็บข้อมูลซึ่งเซิร์ฟเวอร์สามารถเขียนไปยังเครื่องของไคลเอนต์ได้ หากไคลเอนต์อนุญาตให้เขียนคุกกี้ได้ ทุกครั้งที่ส่งคำขอไปยังโดเมนใดโดเมนหนึ่ง เว็บเบราว์เซอร์ของไคลเอนต์จะดูว่ามีคุกกี้จากโดเมนนั้นในเครื่องของไคลเอนต์หรือไม่ หากมีคุกกี้ที่เขียนโดยโดเมนนั้น ๆ เบราว์เซอร์จะส่งคุกกี้พร้อมกับทุกคำขอไปยังโดเมนนั้น ข้อกำหนดเบื้องต้น ข้อกำหนดสำหรับบทความนี้คือ คุณต้องติดตั้ง Go บนคอมพิวเตอร์ของคุณตามบทความ ติดตั้ง Go และ ทดสอบ Hello World และ คุณคุ้นเคยกับรูปแบบและโครงสร้างของมัน มาก่อน Read, Write(Create) and Delete…