EP 1: Serverless Big Data Architecture on Google Cloud Platform @ Credit OK

สวัสดีครับทุกท่าน สืบเนื่องจากที่ผมได้ทำงานอยู่ที่ Credit OK ซึ่งเป็น Fintech Startup ที่ต้องใช้เทคโนโลยีสำหรับจัดการกับ Big Data แบบเป็นเรื่องเป็นราว มาตั้งแต่ตอนต้นปี 2018 โดยเริ่มต้นจากไม่มีอะไรเลย จึงได้มีโอกาสได้ศึกษาและเลือกเทคโนโลยีที่จะใช้อย่างอิสระ ได้ทดลองแล้วมาถูกใจกับ Google Cloud Platform (GCP) เพราะบริการที่มีให้ค่อนข้างตรงกับโจทย์ธุรกิจที่ต้องการ นอกจากนั้นยังเป็นบริการที่เข้าไปใช้งานได้เลยผ่านทาง GUI หรือ Library โดยไม่ต้องมากดตั้งเครื่องสักตัว (Serverless) ก็เลยรู้สึกว่าอยากจะมาแบ่งปันประสบการณ์​ที่ได้พบเจอมา และได้มีโอกาสไปพูดเป็นวิทยากรในหัวข้อนี้กับ MSIT ของ ม.เกษตร และในงาน Barcamp Bangkhen 2018 ก็พบว่าหลายคนให้ความสนใจในหัวข้อนี้ จึงเป็นอันควรแล้วจะมาเขียน Blog แบ่งปันความรู้กัน 🙂

สำหรับ Slide ในงาน Barcamp สามารถดูได้จากที่นี่ครับ
Serverless Big Data Architecture on Google Cloud Platform at Credit OK

Continue reading

ตอบคำถาม วิศวะคอมฯ วิทยาการคอมฯ ไอที ต่างกันอย่างไร ควรเลือกเรียนอะไรดี?

สวัสดีครับทุกท่าน หนึ่งในคำถามที่ผมถูกถามบ่อยที่สุดเวลาไปคุยกับเด็กมัธยมฯ หรือแม้กระทั่งผู้ใหญ่ก็คือ สาขา Computer Science (วิทยาการคอมพิวเตอร์), Computer Engineering (วิศวกรรมคอมพิวเตอร์) และ Information Technology (เทคโนโลยีสารสนเทศ) มันเรียนแตกต่างกันอย่างไร ในฐานะที่เป็นคนทำงานทางสายงานคอมพิวเตอร์และมีความซาบซึ่งในด้านการศึกษาทางศาสตร์นี้ด้วย วันนี้จึงจะมาขอเล่าให้ฟังอย่างเป็นเรื่องเป็นราวแบบที่จบในม้วนเดียว และปิดท้ายด้วยคำแนะนำสำหรับน้องๆ ที่กำลังจะเรียนทางสายนี้ว่า ควรจะเลือกเรียนอะไรดี โอเค เรามีเริ่มกันเลยดีกว่า

Continue reading

ความจริง Blockchain แก้ปัญหาอะไรกันแน่

Blockchain เป็นกระแสในประเทศไทยมาได้สักปีนึงแล้ว เห็นคนเยอะแยะพูดถึง รวมไปถึงมีหนังสือเยอะแยะไปหมด แต่ส่วนใหญ่มักจะอธิบายไม่เป็นเรื่อง Cryptocurrency ก็เรื่องว่ามันคืออะไร น่าจะเอาไปใช้ทำอะไรได้บ้าง ซึ่งน่าจะเอาไปใช้ได้เนี่ย ซึ่งคนนอกวงการหลายคนที่ผมเจอ ได้อ่านไปฟังคนเล่ามาก็พอจะเห็นภาพความฝัน แต่ยังไม่รู้ว่าจริงๆ ที่รับข้อมูลมานั้นมันใช้งานได้จริงขนาดไหน ส่วนคนในวงการเทคโนโลยีที่เข้าในการทำงานของคอมพิวเตอร์อยู่แล้ว ก็จะมองออกมาเป็นอีกโลกไปเลย วันนี้ผมขอมาเล่าสิ่งที่ได้จากการสังเคราะห์จากสื่อที่เสพเข้ามาและจากประสบการณ์ที่ได้เจอกับตัวว่า จริงๆ แล้ว Blackchain เนี่ย มันพิเศษอย่างไรกว่าวิธีการเก็บข้อมูลปรกติอย่างไร แล้วทำไมหลายคนจึงได้ตื่นเต้นกับมันนัก แล้วมันน่าตื่นเต้นจริงอย่างที่ถูกพูดถึงจริงหรือไม่

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

Continue reading

ติดตั้ง Open VPN Server บน Google Cloud Platform ใช้งานแบบฟรีๆ

วันนี้จะมาเล่าและแนะนำวิธีการตั้ง Open VPN Server ใช้เองแบบฟรีๆ บน Google Cloud Platform สำหรับใช้เข้าถึงอินเทอร์เน็ตแบบทะลุไปออกทางฝั่ง US อย่างปลอดภัย และที่สำคัญคือหลบหลีกจากการถูกบล็อคการเข้าใช้งานเว็บไซต์หลายๆ เว็บไซต์ที่ไม่สามารถใช้ได้จากประเทศไทย ซึ่งหลายๆ เว็บไซต์ก็ไม่ควรบล็อคไม่รู้จะบล็อคทำไม มาเริ่มกันเลยดีกว่า Continue reading

Fix *** CFEqual() called with NULL first argument *** on macOS High Sierra

Yesterday my mac got a lot of crash after reboot the system on some applications, including Slack and TotalSpaces. They has one thing in common in the error report  .

I looked around the internet and found the solution almost right away in electron (the engine of Slack desktop version) GitHub Repo here. In short, the solution is is simple, just run the command to remove the caused file

Then reboot the system.

That’s all.

Passing variable from Laravel to VueJS 2 component

tl;dr:
Use   for Blade and    for component.
Beware of using    for content contains    and  .

Recently I write a lot of Laravel and VueJS 2 then faced with the common case when want to pass PHP variables to VueJS component.
There are a lot of proposed methods including pass as global JS variables, pass as a slot, and pass as a props.
Each one has its own advantages and disadvantages here I will explain.

Continue reading

การตั้งค่า DNS Server ฉบับผู้เริ่มต้น

Domain Name System (DNS) คือระบบที่เอาไว้จัดการบริหารชื่อ Domain อย่างที่เราใช้ๆ กันบนอินเทอร์เน็ต การตั้งค่า DNS สำหรับคนที่เพิ่งจะเริ่มทำเว็บเป็นเรื่องน่างนงงมากเพราะว่ามีอะไรให้ตั้งเยอะแยะมากมาย วันนี้เลยจะมาเขียนแบบกระชัดสำหรับคนที่ยังงงๆ เอาแบบอ่านรวดเดียวรู้เรื่อง โดยสรุปสิ่งที่จะเล่าวันนี้ก็คือวิธีการตั้งค่า Domain Name ของเราว่า ถ้าเข้ามาที่ชื่อนี้ ให้ไปเรียกหา Server ที่ไหนต่อนั่นเอง ซึ่งเดี๋ยวจะอธิบายถึงชนิดของ record ที่จำเป็นต้องรู้แต่ละอัน Continue reading

การตั้งค่า NGINX ให้ใช้กับ Let’s Encrypt และได้เกรด A+ จาก SSL Labs

ช่วงหลังๆ มานี่ปริมาณเว็บไซต์ที่ใช้ HTTPS เพิ่มขึ้นอย่างมาก ทั้งด้วยปัจจัยเรื่องความเป็นส่วนตัวของผู้ใช้ การแอบดักข้อมูลของรัฐบาล การที่คอมพิวเตอร์เซิร์ฟเวอร์มันเร็วขึ้นมากจนรองรับการเข้ารหัสกับผู้ใช้ทุกคนได้ จนไปถึง SSL ไม่ต้องเสียเงินอีกต่อไป ด้วยเหตุผลที่กล่าวมาข้างต้น ดังนั้นเว็บไซต์ยุคใหม่ควรจะปรับตัวและใช้ HTTPS ให้เรียบร้อยได้แล้ว วันนี้จึงจะมาสอนตั้งค่า NGINX ให้ได้ HTTPS สวยๆ แบบไม่ต้องเสียค่า Certificate สำหรับ SSL กัน แต่ก่อนอื่นต้องบอกว่านี่ไม่ใช่โพสที่จะสอนว่าเปิด Web Server ยังไงนะครับ นี่เป็นระดับผู้ที่ใช้งานเป็นแล้วพอสมควร Continue reading

Rewrite Laravel URL when not in root path with NGINX

In the most cases, we place the Laravel in the root path /.

As a result, the nginx configuration becomes

However, if we want to move Laravel inside other directories, we must also change the location directive along with the public/index.php file.

Let’s say we want to move to the /app directory. Then the location directive would become

Since nginx indicates the root path already, so we have to always refer from the root path.

เทคนิคการตั้งรหัสผ่านให้ยาก! แต่จำง่าย

รหัสผ่านเป็นสิ่งที่ถูกใช้มาอย่างยาวนานบนโลกคอมพิวเตอร์เพื่อใช้ในการยืนยันตัวตนผู้ใช้งาน หลายๆ คนก็รู้ว่ามันเป็นการป้องกันความปลอดภัยที่ไม่ได้ดีมากนัก แต่เนื่องจากไม่มีทางเลือกอื่นที่จะสะดวกสบายง่ายแต่การนำมาใช้งานได้มากกว่านี้อีกแล้ว มันจึงถูกใช้ต่อมาเรื่อยจนถึงปัจจุบัน มีความพยายามจะทดแทนการใช้งานรหัสผ่านด้วยหลายๆ วิธี แต่สุดท้ายก็กลายเป็นแค่ทางเลือก หรือถูกใช้เป็นวิธีการช่วยเพิ่มความปลอดภัยให้เท่านั้น และรหัสผ่านที่แท้จริงก็ยังมีอยู่ต่อไป ดังนั้นเราจึงต้องหาวิธีการตั้งรหัสผ่านที่ดีสำหรับการใช้บริการต่างๆ เพื่อป้องกันปัญหาที่จะเกิดขึ้นในกรณีที่ Account โดนแฮค ใน Entry นี้ผมจะขอนำเสนอไอเดียการตั้งรหัสผ่านที่ผมคิดว่ามันเจ๋ง เผื่อหลายๆ คนจะได้เอาไปใช้และรู้สึกว่าตัวเองปลอดภัยมากขึ้น Continue reading