Programming Archive

[Part 1] สรุป 50 เรื่องสำหรับผู้เริ่มต้นพัฒนาระบบด้วยภาษา Go

จากบทความเรื่อง 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs ทำการสรุปเรื่องต่าง ๆ ที่น่าสนใจสำหรับการพัฒนาระบบด้วยภาษา Go ซึ่งเป็นสิ่งที่นักพัฒนาทั้งผู้เริ่มต้นไปจนถึงมีประสบการณ์มักจะไม่เข้าใจหรือทำผิด ดังนั้นบทความนี้จึงทำการสรุปมาให้ เพื่อลดข้อผิดพลาด รวมไปถึงย่นเวลาในการศึกษาอีกด้วย เนื่องจากมี 50 เรื่อง เลยแบ่งออกเป็น blog ละ 10 เรื่องน่าจะดีกว่า มาเริ่มกันเลย

Read More…

เรียนรู้ภาษา Java ผ่าน Jupyter Notebook

มาติดตั้งกัน เริ่มด้วยสิ่งที่ต้องมีก่อนคือ JDK 9 ขึ้นไป Python 3 Jupyter notebook

Read More…

ตอบคำถามเรื่อง เราจะฝึกแก้ไขปัญหาเชิง programming อย่างไรดี ?

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

Read More…

ใช้ private repository ที่ Github แบบฟรี ๆ ได้แล้ว

หลังจากที่ Microsoft ซื้อ GitHub.com ไปก็เริ่มมีการเปลี่ยนแปลง หนึ่งในนั้นคือ ผู้ใช้งานสามารถสร้าง private repository แบบฟรี ๆ ได้แล้ว จำนวน repository เท่าไรก็ได้ แต่มีจำกัดคือจำนวนคนใน repository ได้ไม่เกิน 3 คนเท่านั้น ถือว่าเป็นอีกหนึ่งก้าวสำคัญของ GitHub กับ Microsoft ลองใช้กันดูครับ

Read More…

สรุปจากบทความเรื่อง Don’t be the software developer you hate to work with

ยามเช้านั่งอ่านบทความเรื่อง Don’t be the software developer you hate to work with อธิบายว่านักพัฒนา software แบบไหนที่ไม่มีใครอยากทำงานด้วย ซึ่งสรุปไว้ 8 ข้อ ผมคิดว่า น่าจะใช้ได้ทุก ๆ สายอาชีพนะ เลยทำการสรุปมาไว้นิดหน่อย

Read More…

คำแนะนำสำหรับการเขียน code ด้วยภาษา Java

ในปี 2018 นั้นได้สอนและแนะนำเกี่ยวกับการพัฒนาระบบงานด้วยภาษา Java เยอะพอควร สิ่งที่หนึ่งที่มักจะแนะนำคือ เรื่องที่นักพัฒนาภาษา Java มักทำผิด ยกตัวอย่างเช่น ไม่รู้จัก JAVA_HOME ไม่รู้จัก CLASSPATH ไม่สามารถ compile และ run ผ่าน command-line ได้ ไม่ได้ใช้ความสามารถของ IDE ได้อย่างเต็มที่และถูกต้อง ซึ่งผมคิดว่า เป็นพื้นฐานมาก ๆ ที่ควรต้องรู้และเข้าใจ เพื่อช่วยทำให้เราแก้ไขปัญหาต่าง ๆ ได้อย่างถูกต้องมากยิ่งขึ้น แต่ก็มีเรื่องอื่น ๆ ที่อยากจะแนะนำอีกสักเล็กน้อย มาดูกันว่ามีอะไรบ้าง

Read More…

ภาษาโปรแกรมที่น่าจับตามองในปี 2019 จาก O’Reilly

เรื่องของเทคโนโลยีนั้นมีการเปลี่ยนแปลงเสมอ รวมทั้งเรื่องของภาษาโปรแกรมก็เช่นกัน แต่ละภาษามีทั้ง สร้างขึ้นมาใหม่และปรับปรุงให้ดีขึ้น เพื่อให้เหมาะสมกับรูปแบบงานในลักษณะต่าง ๆ กันไป ทาง Oreilly ทำการสรุป 6 ภาษาโปรแกรมที่น่าจับตามองในปี 2019 ซึ่งดูจากความนิยมและขนาดของ community ที่ใหญ่ขึ้น ประกอบไปด้วย Python Java Go C# Kotlin Rust ขอสรุปเพียง 4 ภาษาที่ผมใช้งานนะ

Read More…

Observer pattern ต่างกับ Publish-Subscribe pattern อย่างไร ?

เห็นผ่าน ๆ ว่ามีการพูดถึงความแตกต่างของ Observer pattern และ Publish-Subscribe pattern ว่าเป็นอย่างไร ? เป็นคำถามที่น่าสนใจมาก ๆ แต่ก่อนที่จะคุยกันว่า มันต่างกันอย่างไร ควรที่จะรู้ก่อนไหมว่า แต่ละตัวมันคืออะไร ? ดังนั้นมาดูกันหน่อยสิ

Read More…

บันทึกการเดินทาง Microservices Journey

เริ่มต้นจากสถาปัตยกรรมของระบบงาน (Application Architecture) สถาปัตยกรรมของ software นั้นมีหลากหลายรูปแบบ แต่แนวโน้มของสถาปัตยกรรมต่าง ๆ ล้วนพยายามแยกส่วนการทำงานออกเป็นชิ้นเล็ก (Decomposition) โดยแต่ละชิ้นต้องทำงานได้ด้วยตัวเอง (Service) ระบบงานใหญ่ ๆ เรามักจะเรียกว่า Monolithic ส่วนระบบงานที่เราทำการแบ่งเป็น Service เล็ก ๆ จะเรียกว่า Microservice

Read More…

สรุปการใช้งาน Docker ในการพัฒนาระบบงานไว้นิดหน่อย

พอดีในวงกินเบียร์มีการพูดคุยเรื่องการใช้งาน Docker สำหรับการพัฒนาระบบงาน ซึ่งมันมีทางเลือกในการใช้งานหลากหลายแนวทางมาก ๆ ดังนั้นจึงสรุปไว้กันลืมนิดหน่อย ว่าคุยอะไรไปบ้าง (เท่าที่จำได้น่าจะคุยและ demo ให้ดูประมาณไม่เกิน 10 นาที) มาเริ่มกันเลย

Read More…