Author Archives: gigkokman

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

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

วิธีแก้ Airdrop มองไม่เห็นเพื่อนและไม่เจอใครเลย

บทความนี้เรามีวิธีแก้ปัญหาการใช้งาน Airdrop ที่มองไม่เห็นรายชื่อเพื่อน ต้องบอกก่อนว่า Airdrop ถือได้ว่าเป็นฟีเจอร์นึงของ Apple ที่ช่วยให้ชีวิตเราง่ายขึ้นมากเลยทีเดียว ไม่ว่าจะส่งรูป วีดีโอ เว็บไซต์หรือสถานที่ (location) ถ้าเราต้องการจะใช้งาน Airdrop เราจะต้องเปิดใช้งานทั้ง wifi และ bluetooth ข้อมูลจะถูกเข้ารหัสก่อนส่งเพื่อความปลอดภัย

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

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

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

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

การปรับขนาดรูปภาพบน macOS ด้วยโปรแกรม Preview

การปรับขนาด (Resize) รูปภาพบน macOS ด้วยโปรแกรม Preview ซึ่งเป็นโปรแกรมที่ทาง Apple แถมมากับ Mac ให้ได้ใช้งานกันได้ฟรีๆ เลย โดยตัวโปรแกรม Preview นั้น สามารถใช้งานได้หลายอย่างไม่ว่าจะเป็นอ่านไฟล์ pdf ดูรูปภาพ แก้ไขรูปภาพ หรือแม้แต่ปรับขนาดรูปภาพที่เรากำลังจะพูดถึง

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 นี่ หึหึ) แล้วที่เจ็บปวดที่สุด คำสั่งเดียวกันเครื่องนึงรันได้ อีกเครื่องเจ๊งซะงั้น (บันเทิงจริงๆ)

วิธีใช้งานฟังก์ชัน VLOOKUP ใน Microsoft Excel

งานแบบไหนถึงจำเป็นต้องใช้ VLOOKUP ใน Microsoft Excel (MS Excel) ถ้าเรามีข้อมูลอยู่ 2 ชุด โดยที่มีคอลัมน์ที่เชื่อมกันอยู่ เราสามารถค้นหาข้อมูลจากชุดข้อมูลที่เรามี โดยการใช้คอลัมน์ที่เหมือนกันมาเป็นตัวเชื่อมได้

ดูข้อมูล json ผ่าน jq (json processor) command-line

แนะนำ jq (json processor) เครื่องมือที่ช่วยให้เหล่านักพัฒนาทั้งหลายที่ทำงานกับ json ดูข้อมูลผ่าน terminal หรือ command-line ได้ง่ายและมีประสิทธิภาพมากขึ้น

Encoding และ Decoding ใน Python 3

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