python Archive

มาดูข้อมูลว่า ทำไมภาษา Python ที่ได้รับความนิยมสูง

ข้อมูลจาก web จัดอันดับความนิยมของภาษาโปรแกรม Tiobe Index ขึ้นมาอยู่อันดับสองที่สำคัญความนิดยมพุ่งมาสุด PyPL อยู่อันดับ 1 Redmonk อยู่ในอันดับที่ 3 โดยที่แต่ละที่เขานำข้อมูลมากจากTiobe Index นำข้อมูลจากการค้นหา search engine ต่าง ๆ และ Wikipedia PyPL นำข้อมูลมาจากการค้นหาใน google Redmonk นำข้อมูลมาจาก code ใน GitHub และการพูดคุยใน StackOverflow

Read More…

สรุปความรู้ที่ได้ในการเปลี่ยนจากภาษา Python มายัง Go

นั่งอ่านบทความเรื่องการย้ายระบบงานด้วยภาษา Go จาก Golang :: Success Story  มีหลาย ๆ เรื่องราวที่น่าสนใจ แต่มีเรื่องหนึ่งที่เขาเล่ามาได้ดีมาก ๆ คือการย้ายจากภาษา Python มาใช้ภาษา Go ที่ชอบคือ ลำดับขั้นตอนการศึกษา พร้อมแหล่งที่มา ทำให้เข้าใจได้ง่าย จึงทำการสรุปไว้นิดหน่อย

Read More…

ใส่สีให้กับการทดสอบสำหรับภาษา Python

ปัญหาและความต้องการ หลังจากที่ทำการ run test ที่พัฒนาด้วยภาษา Python ซึ่งใช้งานผ่าน module unittest เมื่อทำการ run ได้แล้วพบว่า ผลลัพธ์ที่ออกมามันไม่สวย นั่นคือไม่มีสีสันอะไรเลย ดูลำบาก

Read More…

[Part 2] มาต่ออีก 4 ข้อ สำหรับการพัฒนาระบบตามแนวคิด 12 Factor

หลังจากที่ลองพัฒนาระบบด้วยภาษา Python ตามแนวคิด The Twelve Factor App มาแล้ว 4 ข้อคือ Codebases Dependencies Configs Backing services ซึ่งยังเหลืออีก 8 ข้อ ดังนั้นมาต่อกันให้จบ โดยทั้ง 8 ข้อนี้จะเข้ากันมาก ๆ กับโลกของ Containerization ในตัวอย่างจะเน้นไปที่ Docker เป็นหลัก มี Kubernetes มาผสมบ้างเล็กน้อย ปล. เขียนไปเขียนมาทำไมมันยาว ดังนั้นเพิ่มแค่ 4 ข้อเป็น 8 ก็แล้วกัน ที่เหลืออีก 4 ข้อ เอาไว้อีก blog มาเริ่มกันเลย ข้อที่ 5 Build, release, run Strictly separate build and run stages [&hellip

Read More…

[Part 1] ว่าง ๆ มาลองพัฒนาระบบด้วยภาษา Python ตามแนวคิด 12 Factor กัน

ช่วงหลังมีการพูดถึง The Twelve -Factor App กันเยอะ แต่ไม่ค่อยบอกหรือแสดงให้ดูว่ามันทำอย่างไรบ้าง ? ดังนั้นเราลองมาพัฒนาระบบงานแบบง่าย ๆ ตามแนวคิดนี้กันดู (ตามความเข้าใจที่มีนะ ผิดถูกก็ตามข้างล่างนี้) มาเริ่มกันดีกว่า ปล. ยิ่งรู้ว่าผิดเร็ว ก็จะทำถูกได้ไว

Read More…

[Python]สร้าง API ง่าย ๆ ด้วย Flask และ Connexion

วันนี้มีโอกาสได้แบ่งปันความรู้สำหรับการสร้าง API ด้วยภาษา Python โดยสิ่งที่ต้องการคือ พัฒนาได้ง่าย ยิ่งถ้าสร้างจาก specification บางอย่างด้วยน่าจะดี ขนาดไม่ใหญ่ ไม่ซับซ้อน ดังนั้นจึงเลือก Flask ซึ่งเป็น microframework สำหรับการพัฒนาระบบ web รวมทั้งใช้ Connexion เพื่อช่วยทำการสร้าง API แบบอัตโนมัติ จากการกำหนดค่าต่าง ๆ ในรูปแบบ OpenAPI หรือ Swagger Specification นั่นเอง ซึ่งน่าจะเป็นทางเลือกที่น่าสนใจ มาลองใช้งานกัน

Read More…

[Python] เตรียมข้อมูลให้พร้อมสำหรับการวิเคราะห์ ด้วย Pandas library กัน

ระหว่างนั่งรอเครื่องบินไปจังหวัดเชียงใหม่ เจอข้อมูลที่น่าสนใจจาก sensor เกี่ยวกับสภาวะอากาศ จึงนำมาใช้ฝึกการ cleaning ข้อมูลด้วย Pandas library กันหน่อย โดยขั้นตอนการทำงานประกอบไปด้วย อ่านข้อมูลจากไฟล์ CSV ทำการจัดเรียงข้อมูล ทำการ transform ข้อมูลในแต่ละ column ทำการจัดการเรื่อง missing value การ plotting หรือแสดงข้อมูลในรูปแบบ graph มาเริ่มกันหน่อย

Read More…

[Python] สรุป library เกี่ยวกับ Data Analysis สำหรับผู้เริ่มต้นไว้นิดหน่อย

สำหรับภาษา Python นั้นเหมาะกับการทำ Data Analysis อย่างมาก เนื่องจากมี ecosystem และพวก library ต่าง ๆ ให้ใช้มากมาย แต่ในความมากมายนั้น กลับกลายเป็นภัยสำหรับผู้เริ่มต้น ดังนั้นจึงสรุป library หลัก ๆ สำหรับผู้เริ่มต้นไว้นิดหน่อย ค่อย ๆ ศึกษาและใช้งานกันไปนะ

Read More…

[Python] มาดูประสิทธิภาพการทำงานของ Numpy และ Pandas กัน

ช่วงนี้มีโอกาสใช้งาน Array ของ Numpy library และ Series/DataFrame ของ Pandas library สำหรับการจัดการและวิเคราะห์ข้อมูลของระบบนิดหน่อย จากการใช้งานพบว่า ในการเข้าถึงข้อมูลของ Pandas นั้นช้ากว่า Numpy มากพอสมควร แต่ก็ยังเร็วกว่า Python standard library !! จึงลองทำ profiling ดูนิดหน่อย รวมทั้งการปรับปรุง code ให้ทำงานเร็วขึ้นบ้าง

Read More…

จัดการ Python project ด้วย Docker กันหน่อย

วันนี้มานั่งฟังการแบ่งปันเรื่อง Docker ที่ SPRINT3R ตั้งแต่เรื่องพื้นฐานไปยัน Docker Swarm กันเลย !! ดังนั้นจึงลองมาสร้างสิ่งที่ต้องการนิดหน่อย คือการเตรียม environment ไว้สำหรับ Python project ประเด็นหลัก ๆ คือการจัดการ library หรือ dependency ต่าง ๆ ปล. ปกติจะใช้งาน virtualenv ซึ่งทำงานได้แจ่มมาก ๆ ทำให้เราจัดการ dependency ต่าง ๆ ตาม version ของ python บนเครื่องเดียวกัน แต่ถ้าต้องการเตรียม environment ต่าง ๆ เพิ่มล่ะ เช่น Database Messaging server Search server จะต้องทำอย่างไร ให้เราทำงานได้ง่ายและสะดวกขึ้น ? หนึ่งในทางเลือกก็คือ Docker ดังนั้นมาเริ่มสร้างกันหน่อยสิ

Read More…