Thada W.
Talks
Hi 👋 I'm Thada, DevOps & SRE Lead, welcome to my blog.
TypeScript, Azure, Creator of Nammatham, Serverless.
👤 About Me
📄 Resume
Getting to know me:
Recent Posts
2024
Run Container Docker on Mac M1 (Arm CPU) using Colima
10-09
Mastering Table-Driven Unit Tests in TypeScript
02-17
Reusable utility function for guarding type for complex object shape using Zod
02-13
Publishing Docker Image on GitHub Package Publicly with Github Actions
02-03
Resolving Docker Multi-stage Build Errors on GitHub Actions
02-01
Readable unit testing for local timezone using dayjs
01-09
Nammatham v2.x: A Type-Safe Evolution with Improved Dependency Injection
01-06
2023
เขียน Concurrency ใน TypeScript ด้วย Promise allSettled
12-05
สร้างตัวแปร Terraform Cloud ผ่าน JavaScript และ Axios
12-01
ระมัดระวัง Circular Generic Params ใน TypeScript จะทำให้การคาดเดา Type ไม่ได้
11-18
Azure Functions Node.js v4 with TypeScript Weird Part EP.1
09-20
วิธีตรวจสอบให้ Zod schemas ตรงกับ Type ที่ประกาศไว้อยู่แล้ว
09-15
วิธีสร้าง generic function สำหรับเครื่องมือ data validation ที่เป็นหลากหลายได้ใน typescript
09-12
วิธี Backup Database และเตรียม Migration Script บน SQL Server ด้วย command line
08-20
วิธีซ่อนค่า Secrets ใน GitHub Actions
08-19
วิธีการตั้งค่า Uptime Kuma บน Azure Virtual Machine
08-18
วิธีการ Import Terraform State ใน Terraform Cloud
08-07
Write Recursive Type with typeof operator in TypeScript
02-19
Nammatham Note 2: Convert array of keys and array of values to object
01-25
Nammatham Note 3: Extract Type from Object Key to Mapped Object
01-25
2022
ลดขนาด Docker Image ของ NestJS/Prisma กับ Nx Monorepo ประมาณ 97% ด้วย esbuild Bundle
12-22
TypeScript 4.9: มาใช้ satisfies เพื่อทำให้ Type ถูกต้องมากขึ้นกันเถอะ
11-23
Dealing with more than 100 secrets on GitHub Actions using Mozilla SOPS and Azure Key Vault
05-07
การใช้งาน Multi-Modules ต่อ Workspace ใน VS Codeและ วิธีการแก้ปัญหา You are outside of a module and outside of $GOPATH/src
03-19
2021
วิธีการตั้งค่า SSH สำหรับ GitHub เพื่อให้จำรหัสผ่านบน Windows, WSL, MacOS และ Ubuntu
12-08
ชีวิตดีเมื่อใช้ FluentAssertions ช่วยในเขียน test เพื่อเปรียบเทียบ Object ที่ซับซ้อน
11-27
Run C# scripts ไฟล์เดียว โดยใช้ .NET CLI
09-04
ตั้งค่าให้ Github Actions แสดง Previews Deploy เมื่อส่ง Pull Request โดยใช้ Vercel
08-27
React Import & Export Component Pattern
08-21
จัดการ side effects ใน React ด้วย Hook useEffect
08-20
ย้ายจาก React Class Component มาเป็น Functional Component ง่ายกว่าที่คิด
08-05
เราควรเพิ่มประสิทธิภาพของ Single Page Application โดยใช้ Server-side Rendering (SSR) หรือไม่
06-29
มาเขียน Notion Formula with Confidence ด้วย TDD กัน (แจก Formula Thousand Comma ด้วยนะ)
06-26
ทำ Task Management ด้วย Template My Things ( Fully inspired by Things 3 Application )
05-02
2019
วิธีการรัน JavaScript ข้างนอก Bundle ของ Webpack และการเรียกใช้ jQuery ภายใน Webpack
10-14
React Design Patterns
04-11
Amazing UI Design Articles
03-24
สิ่งที่ได้รับจากการเรียนวิศวกรรมคอมพิวเตอร์ปริญญาโท
03-17
อยากแชร์ เรื่องหลังจาการตัดสินใจ ทำไมถึงใช้เวลาทำวิจัยป.โท แค่ 7 เดือน
01-29
2018
ได้ 99 คะแนนจาก Google Insights & เรียนรู้การทำ web optimization
09-17
Getting Started TDD in 30 Seconds with Python
09-08
Promise, Async, Await ของ JS ES6+ ฉบับสั้นๆ ไม่พูดเยอะ เจ็บคอ แถม RxJS
09-02
วิธีตั้งค่าการใช้งาน Github (แบบไม่ต้องกรอกรหัสผ่านทุกครั้ง) ผ่าน SSH บน Windows
08-28
รู้จักกับฐานข้อมูลอนุกรมเวลา OpenTSDB กันเถอะ
08-13
ทำไมเราถึงควรใช้ฐานข้อมูลอนุกรมเวลาสำหรับ ข้อมูลอนุกรมเวลา (Time Series Database)
08-08
เขียนบล็อกด้วยภาษา Markdown ด้วยแอพจดโน๊ต Bear บน iOS
07-20
การเขียนงานวิจัยประชุมวิชาการครั้งแรก
04-09
2017
การเดินทางของ Xiaomi Mi2s และแนวทางแก้ปัญหาเซนเซอร์แนบหู (Proximity Sensor) ไม่ทำงาน
01-29
2016
A very short Ubuntu/Debian packages installation sheet
11-21
titlesec (Latex package) doesn't create section numbers on version 2.10.1
11-08
Awesome หนึ่งในคำสำคัญ (Keyword) ที่โปรแกรมเมอร์ทุกคนควรจะรู้จักไว้
07-03
วิธีการเริ่มการทำงาน VM ของ VirtualBox แบบทำงานเบื้องหลัง
06-27
เปิด Hotspot WiFi เองโดยที่ต้องไม่พึ่งโปรแกรมใดๆ บน Windows
06-04
วิธีติดตั้งเกม Hearthstone: Heroes of Warcraft บน Debian
03-18
ใช้งานภาษาไทยบน XeLaTeX ฉบับรีบร้อน
03-05
ทำไม mount volume ของ Docker บน Windows แล้วมองไม่เห็นไฟล์
02-27
Guideline for Upgrading Jekyll from 2.x to 3.x
02-06
วิธีการตั้งค่า VPN ของม.สงขลานครินทร์ (PSU)
01-31
ทริคการใช้ git: การ merge บางไฟล์ไปอีก branch
01-30
2015
How to Use Vim with Clipboard on Debian
09-09
Mildy: My Debian customization
09-08
How to Compile & Install Gnome Builder on Debian
07-02
วิธีการทำให้ Gnome Nautilus แสดง directory ก่อนไฟล์
07-01
มือใหม่หัดใช้ลินุกซ์ครั้งแรก
06-26
เวอร์ชั่นแต่ละเวอร์ชั่นของ debian คืออะไร อะไรคือ sid, testing, stable โอ๊ยเยอะแยะไปหมด...
06-25
วิธีการติดตั้ง Google Chrome บน Debian
06-22
How to Install Google Chrome on Debian
06-22
GitHub Page Build Failure Solution
06-20
มาอัพเดท Debian จากเวอร์ชั่น stable มาเป็น sid กันเถอะ
06-08
How to upgrade Debian to SID
06-08
การแทนตัวอักษรภาษาไทยในระบบการเข้ารหัสแบบต่างๆ
05-24
ปัญหาการพิมพ์ภาษาไทยบน Atom Editor
05-23
Responsive expanding search bar
05-07
My blog development for Jekyll site
05-06
Simple SOAP client and simple server via flask
05-04
How to setup this blog?
05-03