Yothin Muangsommuk

Yothin Muangsommuk

74 posts published

#100DaysOfPyCon2018 Day5: Oops! I Committed My Password To GitHub!
Python

#100DaysOfPyCon2018 Day5: Oops! I Committed My Password To GitHub!

Key takeawayคนที่เคย commit password ลง Git มีอยู่ 2 ประเภท ประเภทแรกคือเผลอพลาดจริงๆ อีกประเภทคือบอกว่า commit สิแต่ไม่เป็นไรเพราะ… ซึ่งเพราะนี่มีหลายคนที่บอกว่า เพราะมันเป็น private repo แต่เราไม่ควรมองอย่างงั้นเพราะว่า Private Repo มันไม่ได้ encrypt เพราะฉะนั้นคนที่อยู

#100DaysOfPyCon2018 Day4: Visual Testing with PyCharm and pytest
Python

#100DaysOfPyCon2018 Day4: Visual Testing with PyCharm and pytest

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

#100DaysOfPyCon2018 Day3: Dataclasses: The code generator to end all code generators
Python

#100DaysOfPyCon2018 Day3: Dataclasses: The code generator to end all code generators

Key takeawaysSphinx ก็เอามาใช้ทำ Presentation ได้ แถมได้ document ที่อ่านง่ายกลับไปดูทีหลังได้ด้วยCode generator: tools that write code for you based on specificationdataclasses มี learning curve ต่ำมาก ถ้ามองสามารถมองได้สองมุมคือ data holder เหมือน namedTuple หรือเป็น boilerplate เอาไว้เขี

#100DaysOfPyCon2018 Day1: Pipenv: The Future of Python Dependency Management
Python

#100DaysOfPyCon2018 Day1: Pipenv: The Future of Python Dependency Management

Key takeaway: — กว่าจะมาเป็น pip ที่เราใช้กันทุกวันนี้ก็ผ่านอะไรมาเยอะมากตั้งแต่ยุค build tarball มายุค easy_install มาถึงยุค pip + virtualenv มันยาวนานมาก เพิ่งรู้ว่า easy_install ไม่มี easy uninstall แล้วสมัยนั้นมันลบกันยังไง — ข้อเสี

#100DaysOfPyCon2018 Day2: There and Back Again: Disable and re-enable garbage collector at Instagram
Python

#100DaysOfPyCon2018 Day2: There and Back Again: Disable and re-enable garbage collector at Instagram

Key takeaways — Garbage collector (GC) จะทำงานอยู่บนหลักการสองอย่างคือ Reference count กับ Copy-On-Write Semantic - Instagram disable GC ช่วยลด memory ได้จาก 500mb / process เหลือ 350mb / process (ลองคิดภาพ uWSGI ลดได้ขนาดนั้นแล้วรันซัก 100 กว่า process) - ใช้ perf ในการทำ profiling memory

แนะนำ BuJo เมื่อชีวิตอยากติด Analog
Bujo

แนะนำ BuJo เมื่อชีวิตอยากติด Analog

มันมีสิ่งหนึ่งที่ผมสงสัยมานานหลายปีละว่าทำไมหลายคนถึงติดสมุด Moleskine มากๆ ทั้งๆ ที่มันก็ดูเหมือนสมุดธรรมดาๆ เล่มนึง ที่อาจจะมีเส้น ไม่มีเส้น เป็นตาราง ฯลฯ หลังจากถามไถ่หลายคนก็ยังไม่เคลียร์เพื่อคลายความสงสัยนั้น ผมเลยซื้อมาหนึ

Python Type Annotation: ทำไม Python ต้องเขียน Type ด้วย
Python

Python Type Annotation: ทำไม Python ต้องเขียน Type ด้วย

ตั้งแต่ Python 3.5 เป็นต้นมา Python ได้แปลงร่างจากภาษา Duck Typing เต็มตัว ให้มีความสามารถในการใส่ Type Annotation ในโค้ดซึ่งถูกพัฒนามาตั้งแต่ปี 2014 แต่ผมค้นพบว่าหลายๆ บริษัทการเขียน Type Annotation ในภาษา Python ยังไม่แพร่หลายอย่างที่มันควร ในบล็

2017
Year in Review

2017

ถ้าหากว่าธีมของปีที่แล้วเป็นการพัฒนาตนเองในด้านร่างกาย ปีนี้คงเป็นการพัฒนาตนเองในด้านจิตใจอย่างไม่ต้องสงสัยเลย หลายอย่างที่เคยทำก็ไม่ได้ทำ หลายอย่างที่ไม่เคยทำก็ได้ทำ ถึงแม้ปีนี้จะวุ่นวายแค่ไหน แต่ปีนี้ก็ส่งพี่จั๊วะมาย้ำสิ

10 Python libraries ที่เราชอบในปี 2017
Python

10 Python libraries ที่เราชอบในปี 2017

ช่วงท้ายปีเป็นช่วงที่คนส่วนใหญ่จะนั่งนึกถึงว่าเราทำอะไรมาบ้าง ตลอดปีที่ผ่านมา แล้วจะทำอะไรต่อไปในปีข้างหน้า ปกติแล้วทุกปีช่วงท้ายๆ ปีผมจะชอบรอ Tech Radar ออกซึ่งก็จะได้รู้จัก Tools และ Techniques ใหม่ๆ ที่ Proof แล้วว่

เรียนภาษาอังกฤษมันเป็นเรื่องของ ENVIRONMENT

เรียนภาษาอังกฤษมันเป็นเรื่องของ ENVIRONMENT

เมื่อวานเป็นวันแรกที่ผมไปเรียนคลาส TOEIC ของสถาบันมาครับ คลาสนี้เรียนฟรีเสียแค่ค่าสอบ 700 ซึ่ง อันที่จริงแล้วผมเล็งจะเรียนมาตั้งแต่ต้นเทอมแล้ว แต่มัวแต่ไปทำอย่างอื่นอยู่เลยไปลงทะเบียนไม่ทันสุดท้ายเลยมาตกกับรอบสองซึ่งก็คือรอบนี้ แต่ถึงแม้

ใครๆ ก็ทำอาหารได้ (ANYONE CAN COOK)
Life

ใครๆ ก็ทำอาหารได้ (ANYONE CAN COOK)

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

กินเนื้อย่างก็อไจล์
Agile

กินเนื้อย่างก็อไจล์

เมื่อเย็นนี้ผมกับน้องๆในชมรมมีโอกาสไปกินเนื้อย่างมาครับจริงๆแล้วจุดประสงค์ของการไปกินเนื้อย่างครั้งนี้ไม่มีอะไรเลยนอกจากความอยากอยากและอยากที่สั่งสมมานานหลายสัปดาห์ระหว่างที่กินๆอยู่มีน้องคนหนึ่งพูดขึ้นมาว่า "กินเนื้อย่างนี่มันอไจล์มั้ยพี่" ซึ่งหลังจากคุยกันในวงเนื้อผมสรุ

เติมฝันให้เป็นจริงด้วยอไจล์คืออัลไล
Agile

เติมฝันให้เป็นจริงด้วยอไจล์คืออัลไล

หนึ่งในวิชาบังคับที่ผมต้องเรียนให้ผ่านก่อนจบปี 4 คือวิชาสัมมนาครับเป็นวิชาที่นศในชั้นปีที่ 4 จะต้องแบ่งกลุ่มกันแล้วไปเชิญวิทยากรมาจัดงานสัมมนาหรือพูดง่ายๆมาบรรยายนั่นเองครับโดยในสัปดาห์นี้เป็นความรับผิดชอบของกลุ่มผมกับเพื่อนอีก 10 ชี

AGILE TOUR BANGKOK 2013 :: งานรวมพล คนอไจล์ ส่งท้ายปี
Agile

AGILE TOUR BANGKOK 2013 :: งานรวมพล คนอไจล์ ส่งท้ายปี

เมื่อประมาณ 6 เดือนที่แล้วมีงาน Event หนึ่งที่เปลี่ยนชีวิตผมไปตลอดกาลงานนั้นคือ Agile Thailand 2013 อย่างที่ผมพูดถึงมาหลายๆครั้งและตลอดหลายเดือนที่ผ่านมาความรู้ความเข้าใจในอไจล์นั้นก็เพิ่มขึ้นตามเวลาเป็นเหมือนขนมที่กินเท่าไรก็ไม่เบื่อ (อย่างน้อยก็ตอนนี้) และกินมาตลอดหลายเดื

วิวัฒนาการของบอร์ดที่ ADWISE
Agile

วิวัฒนาการของบอร์ดที่ ADWISE

เอนทรี่นี้ถ้าจะให้พูดตามตรงก็เหมือนภาคต่อของTDE&W (3) :: Team Foundation Serviceเลยทีเดียวเพราะในเอนทรี่ดังกล่าวผมทิ้งท้ายไว้ว่าปัจจุบันผมไม่ได้ใช้ TFS แล้วอย่างไรก็ตามเอนทรี่นี้ก็ไม่ใช่สิ่งที่ผมตั้งใจจะเขียนแต่แรกเพราะผมอยากจะพูดถึง Process ด้วยเพียงแต่

TDE&W (2) :: GIT BASIX COMMAND
Git

TDE&W (2) :: GIT BASIX COMMAND

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

RETROSPECTIVE: เมื่อทีมเกิด DRAMA ทำไง ?
Agile

RETROSPECTIVE: เมื่อทีมเกิด DRAMA ทำไง ?

สิ่งหนึ่งที่เป็นเรื่องที่เกิดขึ้นเสมอเมื่อคุณทำงานร่วมกับคนอื่นก็คือ "ดราม่า" ครับไม่ว่าทีมคุณจะห่วยแตกจะเข้ากันดีมากจะสมบูรณ์แบบแค่ไหนอย่างน้อยต้องมีสักครั้งที่เกิดเรื่อง "ดราม่า" ขึ้นในทีมซึ่งการเกิดดราม่าในทีมไม่ใช่

TPSE CONFERENCE 2013 ตอนที่ 2 : ROBOT FRAMEWORK
Testing

TPSE CONFERENCE 2013 ตอนที่ 2 : ROBOT FRAMEWORK

ต่อจาก โพสที่แล้ว เลยนะครับเพื่อไม่ให้เป็นการเสียเวลา Robot Framework: Generic test automation framework for acceptance testing and acceptance test-driven development (ATDD)สำหรับ Session นี้ผมถือว่าเป็น Session ที่สนุกที่สุดของงานนี้แล้วโดย Speaker เป็นพี่รูฟ @roofimon โดย Session

TPSE CONFERENCE 2013 ตอนที่ 1 : งานอไจล์ที่ไม่มีคำว่าอไจล์ในชื่องาน + KEYNOTE ไปดาวอังคาร
Agile

TPSE CONFERENCE 2013 ตอนที่ 1 : งานอไจล์ที่ไม่มีคำว่าอไจล์ในชื่องาน + KEYNOTE ไปดาวอังคาร

เมื่อวันพฤหัสและศุกร์ที่ผ่านมาผมได้มีโอกาสโดดเรียนวิชา DSP ไปร่วมงานThailand Practical Software Engineering Conferenceที่Software Parkมาครับซึ่งงานนี้เรียกได้ว่าเป็นครั้งแรกที่จัด (ในชื่อนี้) โดยกลุ่มผู้จัดงานก็คือThailand SPINซึ่งถ้าเคยไปร่วมงานสัมมนา Agile หลายๆงานมาก็จะค้นพบว่าคือวงการเดี

TDE&W (3) :: TEAM FOUNDATION SERVICE
Agile

TDE&W (3) :: TEAM FOUNDATION SERVICE

ก็เป็นตอนที่ 3 แล้วสิ่งที่ผมจะมาพูดถึงในวันนี้คือหนึ่งในเรื่องที่ตัดสินใจยากที่สุดตั้งแต่ตอนเริ่มทำ Project I แล้วคือการหา Project Management Tool ครับย้อนกลับไปในเดือนกรกฎาคมปี 2013 เป็นช่วงเวลาที่โปรเจ็คเริ่มตั้งไข่หลังจากส่ง Proposal และได้รั

INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS
Agile

INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS

เมื่อหลายวันก่อนมีรุ่นน้องมาถามผมว่าใช้ Tools ตัวนี้ๆ ดีรึเปล่าสำหรับ Project Management ซึ่งผมก็ตอบไปตามทรรศนะและประสบการณ์ และเมื่อวานนี้ก็มีรุ่นพี่ที่รู้จักได้ยกเรื่องคล้ายๆ กันนี้มาพูดอีกครั้ง ผมก็ยังแนะนำไปตามประสบการณ์ที่เคยใช้งานมา พอดีผมได้มี

HOW 21 YEARS OLD GOING SO FAST, AND WHAT THEN…
Year in Review

HOW 21 YEARS OLD GOING SO FAST, AND WHAT THEN…

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

TEAM DEVELOPMENT ENVIRONMENT & WORKFLOW (1) - VERSION CONTROL SYSTEM
Git

TEAM DEVELOPMENT ENVIRONMENT & WORKFLOW (1) - VERSION CONTROL SYSTEM

ช่วงเวลาสองสัปดาห์ที่ผ่านมาหลังสอบไล่ Project I เสร็จหลาย คนอาจจะเริ่มอ่านหนังสือสอบไล่ตัวอื่นกันบ้างแล้ว ผมก็สอบครับ แต่สอบน้อยกว่าคนอื่น (3 ตัว) ช่วงเวลาที่หยุดระหว่างสอบ นอกจากจะอ่านหนังสือ แล้วสิ่งที่ผมไม่อาจลืมได้คือ

SCRUM 1ST DAY - INTRODUCTION TO SCRUM WITH MY TEAM
Agile

SCRUM 1ST DAY - INTRODUCTION TO SCRUM WITH MY TEAM

ขณะกำลังทำ Sprint Planningไหนๆ วันนี้ก็ได้ Applied Scrum เข้ากับ Project อย่างเต็มตัววันแรกละ ขอเขียนอะไรไว้เป็นที่ระลึกหน่อย จริงๆ ผมตั้งใจไว้ว่าจะสอนทีม Senior Project ทำ Agile Methodology มาซักพักแล้ว ไอเดียนี้มันติดใจมาตั้งแต่ครั้งไปร่