สวัสดีครับ ในบทความนี้ก็เป็น EP.11 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Panic คืออะไร ใช้ทําอะไร และมีวิธีการใช้อย่างไร
สําหรับท่านใดที่ยังไม่ได้อ่าน EP.10 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.10 Defer ในภาษา Go
มาเริ่มเรียนรู้ไปด้วยกันตามหัวข้อด้านล่างเลยครับ
Panic เป็นคําสั่งที่บังคับโปรแกรมของเราให้เกิด Runtime Error ขึ้นมา ซึ่งเราจะใช้ในกรณีที่เราต้องการให้โปรแกรมของเราจบการทํางานทันที
ตัวอย่างเหตการณ์เรานํา Panic ไปใช้เช่น ต่อ Database ไม่ได้, อ่านไฟล์ไม่ได้ ฯลฯ ซึ่งเหตุการณ์เหล่านี้จะส่งผลการทํางานทั้งโปรแกรม
มาดูตัวอย่างการใช้งาน Panic กันดังนี้ครับ
package main
import (
"fmt"
"io/ioutil"
)
func main() {
b, err := ioutil.ReadFile("myfile.json")
if err != nil {
panic(err)
}
fmt.Printf("%v", b)
}
จากตัวอย่าง Code ด้านบนจะเห็นว่าเมื่ออ่านไฟล์ไม่ได้เราจะสั่งให้ Panic ส่งผลให้เกิด Runtime error ออกมาประมาณนี้ครับ
ในจังหวะที่ Panic ออกมา จะยังไม่เกิด Runtime error ในทันทีทันใด แต่จะเกิด “PANICKING STATE” ขึ้นมาก่อนครับ เพื่อรอ Recover ครับ (เราจะเรียนรู้กันในหัวข้อถัดไปเรื่องเกี่ยวกับ Recover) แต่ถ้าไม่มี Recover ก็จะเกิด Runtime error ขึ้น และจบการทํางานของโปรแกรม
ในบทความนี้ก็มีเนื้อหาเพียงเท่านี้ครับ สําหรับบทความต่อไปจะเป็นเรื่องเกี่ยวกับ Go EP.12 Recover ในภาษา Go ซึ่งเป็นเนื้อหาต่อเนื่องจากบทความนี้ครับ กดเข้าไปอ่านต่อได้เลยครับ ขอบคุณครับ
วิธีใช้ scp ใน ubuntuถ้าต้องการจะ copy file จาก server A ไปยัง server B สามารถใช้คําสั่ง scp โดยรูปแบบการใช้คือ
สวัสดีครับ สําหรับทความนี้จะเกี่ยวข้องกับ มาตรฐานของ RSS 2.0 ก่อนอื่นมาดูตัวอย่าง xml ของ RSS 2.0 กันก่อน
สวัสดีครับ กลับมาอีกครั้งหลังจากหายไปไม่ได้เขียน Blog นานมากๆ กลับมาครั้งนี้มีการเปลี่ยนแปลงหลายอย่างครับชื่อเว็บเปลี่ยนจากเดิม www.thitiblog.com เป็น thiti.dev แล้วในตอนนี้ และเปลี่ยนจากเดิมที่ใช้ Wordpress มาเป็น Hugo ก็จะมาเล่าให้ฟังว่า Hugo มันคืออะไร ดีอย่างไง ทําไมถึงหันมาใช้ HugoHugo คืออะไรHugo(static site generator) เป็นเครื่องมือสําหรับสร้างเว็บ Page ที่เป็น Static file ล้วนๆ ไม่ต้องมี Database มีเฉพาะไฟล์ html, css, javascript, image ที่จริงก็มีอีกหลายเจ้า แต่ Hugo จะมีจุดเด่นในเรื่องของความเร็ว และความยืดหยุ่นในการใช้งานHugo ดีอย่างไรเมื่อเป็นเว็บแบบ Static file ทำให้สามารถใช้ Static File Hosting ธรรมดาได้เลย ซึ่งจะมีราคาที่ถูก และบางที่ก็ฟรีเนื่องจาก ไม่ต้องใช้ Database และไม่มีการประมวลผลในส่วนของ Backend เพียงแค่โยนไฟล์ออกไปเท่านั้น ทำให้เว็บเร็วมากๆทำ SEO ได้ดียิ่งขึ้น เนื่องจากเป็นเว็บ แบบ Static fileหมดปัญหาเรื่องการโดน Hack เพราะเว็บทั้งเว็บเป็น Static fileข้อจํากัดของ Hugoไม่สามารถทําเว็บที่มีการเก็บข้อมูลได้ เนื่องจากไม่มี Backend และ Databaseจะต้องมี Hugo ในเครื่องที่ต้องการแก้ไขหรือ เพิ่ม Contentเมื่อมีการ Update content จะต้อง Built ก่อนทําให้ Content จะไม่ถูก Update ในทันทีสรุป Hugo เหมาะกับการสร้างเว็บแบบไหนHugo เป็น Tool สําหรับสร้างเว็บที่เป็น Static website ดังนั้นเว็บที่เหมาะจะเป็นเว็บประเภทเน้นให้บริการ Content เป็นหลัก เช่น Web blog, เว็บแนะนําสินค้า, โรงเรียน ส่วนใหญ่เว็บพวกนี้จะแสดงผลเพียงเนื้อหาอย่างเดียว อาจจะมีการ embedded forms ต่างๆ ได้ เช่น Facebook comment, Form ส่งเมล์ติดต่อสอบถาม, google analytic ฯลฯ จะง่ายในการใช้งาน และจัดการเป็นอย่างมากหลังจากที่ได้ลองเล่น ก็พบว่าเหมาะกับ Web blog ของผมเป็นอย่างมาก เพราะง่ายต่อการจัดการ ระบบไม่ซับซ้อนเกินความจําเป็นสําหรับเว็บที่เน้นนําเสนอข้อมูลเพียงอย่างเดียว และที่สําคัญเป็นมิดรกับ SEO ส่วนในเรื่อง Performance ก็ดีมากเพราะเป็น Static website เราสามารถนําเว็บของเราไปวางที่ Host ไหนก็ได้ ราคาถูก หรือไม่ก็ฟรี อย่างเช่น Google firebase hosting, netlify ฯลฯ ตอนนี้ผมจึงย้ายมาใช้งาน Hugo เป็นที่เรียบร้อย :) ถ้าท่านทําลังมองหาหรือ จะทํา Website ประเภทนี้อยู่ ก็เป็นตัวเลือกที่ดีเลยครับ