I AM MAHASAK

A journey to masterpiece

อย่าลืม Secure Grafana ด้วย Let'sEncrypt

วันนี้นั่งลง Grafana ใหม่ลงแล้วอยากจะใส่ DNS ให้ใช้ได้บน internet เพราะปกติใช้แต่ในกลุ่มของตัวเอง เลยมาจดขั้นตอนการ secure grafana ไว้หน่อย เดี๋ยวคราวหน้าจะลืม step 1 - Certbot sudo apt-get install cerbot sudo certbot certonly -d www.

CMMI in 5 minutes

สรุป (TL;DR;) CMMI เป็น model ในการประเมินวุฒิภาวะ(maturity) และความสามารถ(capability)ขององค์กร ในการที่จะนำไปสู่การปรับปรุงกระบวนการอย่างต่อเนื่อง(Continuous Process Improvement) และไม่เกี่ยวกับเอกสาร แต่สนใจหลักฐาน(Evidence/Artifact)ของการปฏิบัติมากกว่า และทั่วโลกมี

Event Loop in JavaScript

วันนี้มีโอกาสไปช่วยเพื่อนปั๊ปสอน NodeJS & MongoDB ระหว่างที่สอนๆ อยู่ก็พบว่ามีคำถามๆนึงที่น่าสนใจ และตอนแรกๆที่เขียน NodeJS ก็ไม่ได้เข้าใจมันเหมือนกัน เลยกะว่าคืนนี้จะเขียน Note ไว้เตือนตัวเอง และเผื

Scope & Closure in JavaScript

จากเมื่อวานนี้ที่เขียน Blog เรื่องเกี่ยวกับ Event Loop เลยอยากกลับมา review ความรู้ตัวเองด้าน Frontend สักนิด ไหนๆก็เป็น Frontend Engineer ละ ถ้าไม่มี blog เกี่ยวกับ Frontend เลยสงสัยจะโดนนายไล่ออก จริงๆแล้วเกิดจากตอนที

มาทำความรู้จักกับ Feature Toggle กันเถอะ

เราอาจจะเคยได้ยินคำว่า Feature Toggle / Feature Flags / Flipper / Experiment กันมาบ้างแล้ว แต่ว่าวันนี้พี่หมีจะพามารู้จักกับแนวคิดเบื้องหลังการทำ Feature Toggle กันนะครับ สำหรับการพัฒนาระบบในปัจจุบันนั้น เรามักจะ Release Feature ด้

มารู้จัก A/B Test จาก Conversion Funnels และ Statistical Significance กันเถอะ — ตอนที่ 1

ในบรรดาธุรกิจในปัจจุบันนั้น Internet Business ดูจะเป็นสิ่งที่ทุกคนอยากเข้าไปลองสัมผัสกันเป็นอย่างมาก ซึ่งในส่วนของการตลาดออนไลน์นั้นผมไม่ขอแตะละกัน ไม่ถนัดเท่าไหร่ แต่วันนี้จะมาพูดถึงการวัดผล และการปรับปรุงประสิทธิภาพของธุ

มารู้จัก A/B Test จาก Conversion Funnels และ Statistical Significance กันเถอะ — ตอนที่ 2

หลังจากที่เราได้รู้จักกับ A/B Test ในมุมของ Technical กันไปแล้วบ้าง ตอนนี้เราจะมาคุยกันเรื่อง Math ข้างหลัง A/B Test กันบ้างนะครับ โดยหลักการแล้ว A/B Testing คือการทดสอบสมมติฐาน (Hypothesis) ของเราอย่

ลองทำ Real-world Isolated game ด้วย ARKit กันเถอะ

ชื่อว่า Developer ส่วนใหญ่คงเคยได้เล่นเกมแนว JRPG ที่เป็นการเดินทางในดินแดนแห่งจินตนาการ เช่น Dragon Quest / Final Fantasy Series กันมาแล้วบ้าง และเชื่อว่าหลายคนเช่นกันที่คงจะมีความใฝ่ฝันที่จะรวมเอาโลกของจินตนาการ มารวมกับโลกแห่งความเป็นจริงแล้

Optimize web assets & webpack with Brotli

สำหรับนักพัฒนาเว็บแล้ว คงปฎิเสธได้ยากว่าในการพัฒนา Web Application โดยเฉพาะ Single Page Application นั้น คงจะหลีกเลี่ยงการทำ bundling ตัว Web Resource (CSS/JS/TS/JSX/TSX) ได้ลำบาก เพราะในการพัฒนาเว็บในปัจจุบันค่อนข้างซับซ้อน

มาลองทำ UI/Regression Test ด้วย Jest และ Puppeteer กันเถอะ

สมัยนี้เวลาเราทำเว็บหรือเว็บแอพพลิเคชันแต่ละทีนั้น มักจะหลีกหนีไม่พ้นในการที่จะต้องทำการเปลี่ยนแปลงตาม Change Requirement หรือ เจอปัญหาต่างๆ หรือแม้แต่อยากตรวจสอบ functional ของเว็บว่ายังทำงานได้ตามปกติหรือไม่ ในสมัยโบราณเรามักจะเทส manual exploratory

ทดลองสร้าง API Gateway ด้วย OpenResty และ Lua

ในปัจจุบันนั้นการพัฒนา Application นั้นการออกแบบให้เป็น Modular ไม่ใช่เรื่องแปลกอีกต่อไปมันกลายเป็นเรื่องปกติไปเสียแล้ว โดยเฉพาะสำหรับ Mobile Application หรือ Web Application ใหม่ๆที่มักจะทำงานบน API ที่ออกแบบมาให้ทำงานร่วมกัน รวมไปถึงคนที

มาลองเล่นกับ HttpCookie กับ XSS/XFS และ Phishing Mail

วันก่อนมีข้อสงสัยเรื่อง HttpCookie และ Scope ของมันนิดหน่อย วันนี้ได้โอกาสตื่นมาแต่เช้าเลยขอโอกาสทดลองอะไรหน่อยกับ XSS และ HttpCookie HttpCookie Scope โดยปกติแล้วเราคงไม่ค่อยได้เปิด browser ดู cookie กันเท่าไหร่ แต่ถ้าเราลองเปิ

มาลองเขียน Chrome Extension ด้วย React กันเถอะ

วันนี้ก่อนนอนเปิด Chrome Browser คู่ใจขึ้นมา และทำเรื่องที่ทำประจำคือเปิด Chrome Extension ลูกรัก “EditThisCookie” มาเคลียร์ Cookie ก่อนใช้งาน มีความรู้สึกว่าอยากลองทำ Extension ใช้เองบ้าง เลยลองหาข้อมูลดูว่าทำยังไงบ้าง สมั

A Day in Agoda — Full Stack Software Engineer

เมื่อวานนี้หลังจากไปประชาสัมพันธ์ใน Facebook Group เกี่ยวกับการรับสมัคร Graduate Full Stack Software Engineer ของ Agoda ก็มีคนมาถามว่า แล้วสังคมการทำงานที่ Agoda เป็นยังไงบ้าง ก็รู้สึกว่าอยากจะเล่าให้ฟังเรื่องที่ไม่ต้

มาลองใช้ Kafka กับ NodeJS กันเถอะ — ”Good morning Kafka !!!”

เชื่อว่า Kafka หนึ่งในเทคโนโลยีที่ฮอตและร้อนแรงที่สุดในโลก developer เรา เรามักจะได้ยินชื่อ Kafka กันบ่อยๆ แต่เชื่อกว่าคงมีหลายคนที่แอบสงสัยว่า Kafka คืออะไร และทำไมเราต้องใช้ Kafka กันด้วยล่ะ วันนี้เกิด

My Note on Tiny Go Container with Scratch Image

วันนี้นั่งคุยกับลุงเชน (Shane เป็น Developer ชาวออสเตรเลียที่อายุมากกว่าผมราวๆ 10 ปี++ ที่ทำงานอยู่ทีมเดียวกัน) เลยนั่งคุยกับลุงแกเรื่อง Go ที่ลุงใช้เป็นหนึ่งในภาษาที่ใช้ทำ Hobby Project ของแก เลยถามว่า

5 เหตุผลที่ผมแนะนำให้ Developer ชาวไทยลองไปทำงานที่ Agoda

หลายๆคนพอเห็นชื่อหัวข้ออ่านแล้วอาจจะรู้สึกว่าอวยที่ทำงานตัวเองจังเลย แต่ผมลาออกจาก Agoda มาเมื่อสัปดาห์ก่อนแล้ว คราวนี้อยากจะมาเล่าให้ฟังว่าทำไมถึงอยากให้ developer ชาวไทย ไปลองทำงานที่ Agoda ดู จากมุมมองของ exAgoda แบบไม่มี bias (และไม่ได้เอาเงินเป็

เริ่มต้นการเดินทางบทใหม่ที่ Facebook

สวัสดีครับ ตอนที่ publish blog นี้คงเดินทางไป เข้า Engineering Bootcamp ที่ Menlo Park แล้วล่ะครับ ผมตั้งค่าให้ medium publish หลังเครื่องออกพอดี หลายปีที่ผ่านมาช่วงที่ทำงานกับ Agoda ผมก็มีความสุขดี แต่ในปีนี

มาเขียน dotnet core โดยไม่ต้องลง dotnet SDK + Google Cloud Builds !!!

ห่างหายไปนานจากการเขียน blog เพราะว่าต้องไป join Engineering Bootcampm ที่ Menlo Park แล้วยังต้องเหนื่อยกับการ relocation อีกต่างหาก ตอนนี้ก็ยังย้ายของไม่เสร็จ แต่ชีวิตเริ่มมีเวลามากขึ้นบ้างแล้ว ก็เลยมาเขียน blog สั

Monitoring API performance with Grafana & Elasticsearch

วันนี้มีพี่ท่านนึงมาถามเรื่อง TSDB: Time Series Database เพื่อจะใช้ในการทำ monitoring ซึ่งก็มีพูดถึงหลายตัวที่เคยใช้งาน เช่น InfluxDB เป็นต้น แต่ว่าหลังๆมีตัวที่ใช้บ่อยกว่าตัวอื่นคือ

Make prediction API using your models with PyTorch

ในยุคที่ Machine Learning เฟื่องฟูนี้ ถ้าไม่ลองเขียนอะไรเกี่ยวกับ ML เลยก็จะดูบาปไปสักนิด วันนี้ก็เลยอยากเขียน blog เกี่ยวกับ Deep Learning Framework ที่เคยแชรฺไปวันก่อนสักนิดนึง โดยอยากโฟกัสไปที่การเอา model ที

เบื่อ ngrok กันไหม มาลองใช้ Serveo กัน

หลังๆมานี้งานที่ต้องทำต้องทดสอบกับ Webhook ค่อนข้างบ่อย ซึ่งโดยปกติก็จะใช้ ngrok เพราะว่าง่ายดี แต่ก็ต้องติดตั้ง ngrok client ด้วย วันก่อนอ่านเจอว่า Choopong Choosamer เคย mention ตัว Serveo ผ่านๆตา

การใช้ 2-Layer Cache เพื่อลดภาระการทำงานของ Database

วันนี้ได้ลองตอบโพสต์นึงของ กระทู้เกี่ยวกับอะไรสักอย่างนี่แหละที่น่าจะต้องใช้ cache เลยอยากเล่าวิธีการใช้งาน cache ในระดับ low level ที่ใช้ๆกันทั่วไป แต่ไม่ใช่ Hibernate/EF cache นะครับ (แฟนๆ Java ที่ใช้

Review Expat มือใหม่หลังจาก 6 เดือนแรกผ่านไป : n00b edition

สวัสดีครับ ผมเป็น Expat มือใหม่ที่เพิ่งเริ่มชีวิตการทำงานในต่างประเทศมาได้ 6 เดือน นี่เป็นหกเดือนแรกที่มีแค่ครั้งเดียวเพราะเดือนต่อไปจะเป็น 7 เดือนแรก ผ่าง !! ย้อนกลับไปหกเจ็ดเดือนที่แล้วที่ผมรู