เรียนรู้ภาษา 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…

สรุปบทความเรื่อง Write tests. Not too many. Mostly integration

ช่วงหลัง ๆ เรามักจะได้ยินรูปแบบการทดสอบระบบงานมากมาย ทั้ง ice cream testing, pyramid testing, cup cake testing รวมทั้งอีกหนึ่งแนวคิดคือ Trophy testing ซึ่งจะเน้นไปที่ทดสอบเฉพาะในส่วนที่จำเป็นมาก ๆ นั่นก็คือ Integration testing เป็นแนวคิดที่น่าสนใจมาก ๆ ก็เลยไปค้นหาข้อมูลเพิ่ม เลยเจอบทความเริ่มต้นคือ Write tests. Not too many. Mostly integration ทำการอธิบายได้ชัดเจน เลยนำมาแปลและสรุปไว้นิดหน่อย มาเริ่มกันเลย

Read More…

แอบไปดู OWASP Docker Top 10 กันหน่อย

จากการไปแนะนำเรื่อง Docker มาก็มีคำถามเรื่อง Security !! ผมก็ไม่ค่อยมีประสบการณ์เรื่องนี้มากนัก แต่ก็ไปเจอว่าทาง OWASP นั้นได้สร้าง project OWASP Docker Top 10 ขึ้นมา เพื่อเป็นแนวทางในการวางแผนและสร้าง container ด้วย Docker อย่างปลอดภัย ซึ่งตอนนี้เป็น Draft version มาดูกันหน่อยว่ามีอะไรกันบ้าง

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…

แนวโน้มของ DevOps ที่กำลังมาในปี 2019

นั่งอ่านบทความเกี่ยวกับแนวโน้มของ DevOps ในปี 2019 แล้วน่าสนดี ซึ่งในปี 2018 นั้น หลายองค์กรน่าจะประสบพบเจอหรือต้องเผชิญกับคำว่า DevOps หนักว่านั้นน่าจะมาพร้อมกับคำว่า Microservice, Continuous Delivery และ Container เป้าหมายเพื่อให้แต่ละส่วนงานที่ต้องทำงานร่วมกัน ให้ทำงานร่วมกันได้อย่างดี ไร้รอยต่อ ทอเต็มผืน หลับเต็มตื่น !!! ส่งผลดีต่อ business ขององค์กร แน่นอนว่า ต้องการการปรับเปลี่ยนแนวคิดจากต่างฝ่ายต่างทำ ให้เป็นทำตามเป้าหมายเดียวกัน ต้องการเรื่องของ skill ต้องการเรื่องของ process ที่เร็วและดีมีคุณภาพ ต้องการเรื่องของเครื่องมือที่ช่วยให้คนและ process ดี ถ้าไม่เป็นตามนี้ปัญหายังคงอยู่แน่นอน มาดูกันว่าในปี 2019 เรื่องของ DevOps จะมีแนวโน้มอย่างไรบ้าง

Read More…

ว่าด้วยเรื่องของ Project ที่ล้มเหลว

นั่งอ่านหนังสือเกี่ยวกับการพัฒนา software มีเรื่องที่น่าสนใจคือ สาเหตุที่ทำให้ project มันล้มเหลวหรือ fail มาจากหลายสาเหตุมาก ๆ เลยสรุปไว้นิดหน่อย บางครั้งมีงานออกมาดีมาก แต่ทีมแตกกระจาย บางครั้งไม่มีงานออกมา แต่ทีมดีมาก บางครั้งทีมแย่และงานก็แย่ คำถามคือ คำว่าล้มเหลววัดจากอะไร ? ปล. ปกติเราน่าจะทำ product มากกว่า project กันอยู่แล้ว ดังนั้นไม่น่าจะ fail กันมากหรอก ใช่ไหมนะ

Read More…