Category Archives: เขียนโปรแกรม

การใช้งานฟังก์ชัน useCallback เพื่อช่วยลดการ re-renders ของ components ใน React

วันนี้เราจะมาทำความรู้จะกับ useCallback ซึ่งเป็น React Hook ที่จะช่วยแคช (cache) ฟังก์ชัน ระหว่างการ re-renders components แล้วทำไมเราต้อง cache ฟังก์ชันด้วยล่ะ อย่างที่เรารู้กัน ใน javascript นั้น function () {} และ () => {} จะเป็นการสร้างฟังก์ชันใหม่ คล้ายๆ กับ {} ที่เป็นการสร้าง object ใหม่ ถึงแม้ว่าจะมีหน้าตาเหมือนเดิมเป๊ะๆ ก็ตาม

การใช้งาน virtual environment สำหรับ python 3 ด้วย venv module

ในการพัฒนาโปรแกรมด้วยภาษา python 3 นั้น เพื่อให้เราสามารถติดตั้ง library หรือ dependencies ได้หลากหลายเวอร์ชั่น เราสามารถใช้งานฟีเจอร์ virtual environment ที่ติดมาด้วย (built-in) ใน module venv เพื่อสร้าง virtual environment สำหรับใช้ในแต่ละโปรเจ็ค

การใช้งาน python หลายเวอร์ชันด้วย pyenv

บทความนี้จะช่วยให้เพื่อนๆ ที่อยากใช้งาน Python หลายเวอร์ชันพร้อมๆ กันบนเครื่องเซิฟเวอร์หรือบนเครื่องของเราเองก็ตาม เราสามารถใช้เครื่องมือที่ชื่อว่า pyenv ที่ช่วยให้การติดตั้ง Python เวอร์ชันต่างๆ สะดวกมากยิ่งขึ้น

timeit อีกหนึ่ง module ที่ไม่ควรมองข้ามของ Python

การพัฒนาซอฟแวร์ไม่ว่าจะด้วยภาษาอะไรก็ตาม องค์ประกอบหนึ่งที่ขาดไม่ได้เลยคือเรื่องของประสิทธิภาพหรือความเร็วในการทำงานของซอฟแวร์ ในภาษา Python เองก็มีโมดูล (module) ที่ให้นักพัฒนาได้เลือกใช้เพื่อวัดประสิทธิภาพของซอฟแวร์อยู่หลากหลายเหมือนกัน ซึ่งหนึ่งในนั้นก็คือ timeit

VS Code กับการสร้าง Dev Environment ด้วย VS Code Remote – (Docker) Container Extension

เพื่อนๆ ที่เริ่มพัฒนาซอฟแวร์ตั้งแต่ก่อนที่จะมี Docker ต้องเข้าใจความรู้สึกถึงความยากลำบากในการตั้งค่าต่างๆ ของ dev environment อย่างแน่นอน ไม่ว่าจะเป็นเวอร์ชั่นของภาษาที่ใช้ในการพัฒนาเอย การ compile C extensions เอย (อันนี้เอาเรื่องมากๆ เพราะต้องติดตั้งเครื่องมือที่ใช้ในการ compile ด้วย ยิ่ง compile บน Windows นี่ หึหึ) แล้วที่เจ็บปวดที่สุด คำสั่งเดียวกันเครื่องนึงรันได้ อีกเครื่องเจ๊งซะงั้น (บันเทิงจริงๆ)

Encoding และ Decoding ใน Python 3

ใน Python 3 นั้นจะมีค่าเริ่มต้น encoding เป็น UTF-8 ทำให้เราไม่ต้องระบุ # -*- coding: utf-8 -*- ไว้ที่บรรทัดแรกของไฟล์ .py อักขระทุกอย่างของ Unicode สามารถนำมาใช้ในไฟล์ .py ได้เลย อยากตั้งชื่อตัวแปรเป็นภาษาไทยเลยก็ได้ ^^

String Formatter ใน Python

บทความนี้เราจะมาพูคถึง string formatters ใน Python กัน ซึ่ง formatter ในภาษา Python ก็มีการพัฒนาขึ้นเรื่อยๆ เราจะเปรียบเทียบ formatter ที่เป็นตัวเก่า (%) และตัวใหม่ (format) ที่พัฒนาขึ้น ตัวอย่างการใช้งานที่ใช้อยู่บ่อยๆ ก็แน่นอนว่าตัวใหม่ก็ต้องมีลูกเล่นและฟีเจอร์ใหม่ๆ ที่ดีกว่าตัวเดิมแน่นอน

การเลือกใช้งาน Compression Encoding สำหรับข้อมูลแต่ละคอลัมน์ของ Amazon Redshift

Compression หรือการบีบอัดข้อมูลนั้นเป็นกระบวนการที่เกิดขึ้นในระดับคอลัมน์ (column) เพื่อจะลดขนาดของข้อมูลที่จะถูกเก็บไว้บน storage ซึ่งจะช่วยลดการอ่านข้อมูลจาก disk ลง ผลที่ตามมาอีกคือ ทำให้เรา query ข้อมูลได้เร็วขึ้นนั่นเอง

เปลี่ยน string เป็น datetime ด้วย Python

บทความนี้จะพูดถึงการแปลงค่าวัน เวลา ในรูปแบบ string ไปเป็น datetime ในภาษา Python กัน สำหรับคนที่พึ่งเริ่ม ในภาษา Python มีไลบรารี่ (library) ที่ติดมากับภาษาเลย (standard library หรือ built-in) ชื่อ datetime ที่ใช้จัดการกับวัน เวลาโดยเฉพาะ

Jetpack กับ CDN สำหรับรูปภาพ และ static files (javascript, css) ของ WordPress

สัปดาห์ที่ผ่านมาผมพยายามปรับปรุง imooh.com ให้เร็วขึ้น จะได้ช่วยเพื่อนๆ (ถึงจะน้อยนิดแต่เราก็ใส่ใจนะจ๊ะ) ที่สนใจเข้ามาอ่านบทความไม่ต้องเสียเวลารอเว็บโหลดนานๆ แล้วเริ่มจากตรงไหนดีล่ะ เข้าไปที่ GoogleSpeed Insight ก่อนเลยครับ จะได้รู้ว่าเราต้องปรับปรุงตรงไหนบ้าง เพื่อจะได้ส่งมอบเนื้อหาได้เร็วขึ้น ^^