Blog

Kelvin แมวน้ามซั่ม แผล่บๆๆๆ

Kelvin แมวน้ามซั่ม แผล่บๆๆๆ

What interests you about technology and software development? The way software transforms people’s lives. Technologies today enable us to do things we wouldn’t be able to achieve in the past. That comes from someone who writes code. How amazing is that!!!? What is the most interesting project/feature you've worked on at Pronto Tools? SimpleSat, a satisfaction survey solution, which involves a lot of complex UI/UX which is now my personal taste.

ใช้ Tableau ดึงข้อมูลบน S3 ผ่าน Amazon Athena

ใช้ Tableau ดึงข้อมูลบน S3 ผ่าน Amazon Athena

Amazon Athena เป็น query service ที่เราสามารถเชื่อมต่อกับข้อมูลที่เราเก็บอยู่ใน S3 และเขียน SQL เพื่อดึงข้อมูลออกมาวิเคราะห์ได้ ความดีงามของ service นี้คือ service นี้เป็น serverless ครับ เราไม่ต้องนั่งจัดการ infrastructure ให้เปลืองเงินเล่น เราจ่ายแค่เฉพาะตอนเรา query ข้อมูลเท่านั้น ราคาก็แค่ $5 ต่อ 1 TB ความดีงามอีกอย่างที่จะมากล่าวถึงในบทความนี้ นั่นก็คือ Athena มีตัว connector ที่ทำให้เราสามารถใช้ Tableau (ตั้งแต่เวอร์ชั่น 10.3 ขึ้นไป) ดึงข้อมูลจาก Athena ได้! (more…)

Airflow at Pronto

ทุกวันนี้เรามีการเก็บข้อมูลที่เข้ามาเรื่อยๆ เป็นจำนวนมาก และต้องจัดการ ผ่านกระบวนการต่างๆ เป็นขั้นเป็นตอน เช่น ดึงข้อมูลมาจากหลายๆ แหล่ง แล้วนำมาทำความสะอาดข้อมูล (data cleasning) สุดท้ายก็นำไปโหลดเข้าอีกระบบหนึ่งเพื่อใช้ประโยชน์ไม่ว่าจะเป็นในทางธุรกิจหรือการพัฒนาองค์กร เป็นต้น เราเรียกขั้นตอนเหล่านั้นว่า Extract, Transform, Load (ETL) บทความนี้จะมาพูดถึง Airflow ว่าได้เข้ามาช่วยชีวิตเราที่ Pronto ได้อย่างไร 🙂

มาจัดการ Credential ต่างๆ ด้วย Docker Secret กัน

การเก็บรักษา Credential ต่างๆ ให้เป็นความลับเป็นสิ่งที่สำคัญมากๆ ใน Application ของเราเพราะถ้าเกิดว่ามันหลุดออกไปเท่ากับข้อมูลต่างๆ ของเราก็หลุดออกไปด้วยเช่นกัน วันนี้เราจะมาแนะนำวิธีการเก็บ Credential ต่างๆ ด้วย Docker Secret กัน

Pipeline as Code กับ Jenkins

Pipeline as Code คือการที่เราเขียนโค้ดเพื่อสร้างขั้นตอนของการ delivery/deployment แทนที่เราจะมานั่งปรับแต่งเครื่องมือที่ใช้ทำ continuous integration and continuous delivery/deployment (CI/CD) อย่างตัวที่เรารู้จักกันดี เช่น Jenkins เป็นต้น

Robot Framework 101 มาลองใช้กัน

Robot Framework (รูปที่ 1) เป็นเครื่องมือที่น่าสนใจเครื่องมือหนึ่งสำหรับทำ acceptance test และ acceptance-test driven development (ATDD) ของบรรดา Tester ทั้งหลาย รวมไปถึง Developer ด้วย ที่ว่าน่าสนใจก็เป็นเพราะว่าเครื่องมือนี้ช่วยให้เราสามารถ automate งานทดสอบทั้งหลายของเราได้ ตามที่เขียนไว้บนเว็บของ Robot เองเลย! (ในบทความนี้ผมขอเรียกสั้นๆ ว่า Robot นะ) รูปที่ 1: Robot Framework (more…)

แนะนำการใช้ django-tables2 library

February 27th, 2017
แนะนำการใช้ django-tables2 library

ที่ Pronto มีการทำ Product เล็กๆ หลายๆ ตัว ใช้กันเองภายใน เพื่อให้เราทำงานได้ง่ายขึ้นและไวขึ้น และหนึ่งในนั้นที่จะมาพูดถึงในบทความนี้ เราเรียกมันว่า zendesk tickets machine เป็น app ที่เอาไว้ยิง ticket ไปยัง zendesk ทีละหลายๆ ticket เพราะกระบวนการแบ่งงานของ Production team จะใช้ zendesk ticket เป็น workflow ส่งต่องานไปเรื่อยๆ แต่ก่อนเราใช้ผ่าน Google Doc โดยเขียน script ต่อเข้ากับ Google API แต่เกิดปัญหาคือ บางที Google API มันเปลี่ยนหรืออัพเดท ทำให้มันทำงานได้บ้างไม่ได้บ้าง และมัน sensitive มากๆ เพราะเป็น script บน Google Spreadsheet ถ้าใส่ special character ไรงี้มันจะพังเลย 555 นี่ก็เลยกลายเป็น project แสนสนุกของ Dr.Kan และ Agile Coach อย่างเรา ที่ทำด้วยกัน อารมณ์แบบขอเขียน code เป็น product ของตัวเองบ้างเหอะ

สอนใช้ LoginView ใน Django 1.11+

February 14th, 2017
สอนใช้ LoginView ใน Django 1.11+

เนื่องจากตอนนี้ Django เวอร์ชั่น 1.11 ขึ้นไป มีการใช้ class LoginView ซึ่งทำให้เราทำ Login ได้ง่ายมาก เลยอยากแชร์เก็บไว้เผื่อโปรเจคอื่นๆ อยากจะเอาไปใช้บ้างอ้างอิงจาก document นี้ แล้วก็บทความนี้ใช้เวอร์ชั่น 1.11a กับ Python 3.6 นะคะ Requirement: ต้องการหน้า login ที่มีช่องให้ใส่ username, password และกดปุ่ม login แบบกากๆ ไม่มีความสวยงามใดๆ ยังไม่ต้องการ CSS ขอให้ใช้งานได้อย่างถูกต้องก็พอ Implementation: ทำตัว template ซึ่งถ้าอยากใช้ฉบับ basic ก่อน ก็สามารถ copy จากลิงค์ด้านบนได้เลย ตรงที่บอกว่า เป็น Sample ของ registration/login.

ใช้ Python ต่อฐานข้อมูล PostgreSQL

สมัยนี้เรามี framework หลายๆ ตัวที่ทำให้เราสามารถเขียนโปรแกรมเชื่อมต่อกับฐานข้อมูลได้โดยง่าย แต่ว่าก็อาจจะมีบางงานที่เราไม่อยากที่ต้องไปสร้างโปรเจคโดยใช้ framework นั้นๆ เราอยากจะแค่เขียนสคริปต่อกับฐานข้อมูลได้แบบเร็วๆ บทความนี้จะมาลองเขียน Python ต่อกับฐานข้อมูล PostgreSQL แบบง่ายๆ กัน

Prasongsuk (Joe) Anuwong

Prasongsuk (Joe) Anuwong

What interests you about technology and software development? I was born around technology. My childhood hobby was doing all sorts of electronic things. What I like about technology and software is it never stops changing, and it changes so quickly. You can do anything with software.