โครงการอบรมเขียนโปรแกรมฟรีทั่วประเทศ
สมาคมโปรแกรมเมอร์ จัดกิจกรรมส่งเสริมโอกาส และแบ่งปันความรู้การเขียนโปรแกรมให้กับสถาบันการศึกษาฟรีทั่วประเทศ โดยประกอบไปด้วย หลักสูตร ดังนี้
- NodeJS
- MongoDB
- Sqlite or MariaDB (ขึ้นอยู่กับผู้จัดอบรม)
สมาคมโปรแกรมเมอร์ จัดกิจกรรมส่งเสริมโอกาส และแบ่งปันความรู้การเขียนโปรแกรมให้กับสถาบันการศึกษาฟรีทั่วประเทศ โดยประกอบไปด้วย หลักสูตร ดังนี้
ในการเขียนโปรแกรมสิ่งที่เราเกี่ยวข้องด้วยมากทีสุดอย่างหนึ่งก็คือการเขียนโปรแกรมร่วมกับไฟล์ ไม่ว่าจะเป็นไฟล์ Text เอกสาร รูปภาพ ไฟล์เสียง มัลติมีเดีย ล้วนเป็นส่วนประกอบในแอพพลิเคชั่นของเรา สำหรับ nodejs ไลบรารี่ที่ใช้จัดการเกี่ยวกับไฟล์อยู่ในไลบรารี่ที่ชื่อ fs ย่อมาจาก File System
การทำ Cluster มีความหมายค่อนข้างกว้างและเกี่ยวกับเรื่องการจัดกลุ่ม สำหรับไลบรารี่ Cluster ของ NodeJS คือการแตกโปรเซสออกเป็นหลายๆ โปรเซส เพื่อกระจายการทำงาน สำหรับ NodeJS จะทำงานแบบ Single Thread ถ้าต้องการกระจายงานให้สามารถทำงานพร้อมกันได้หลายงานต้องทำการแตกโปรเซสออกเป็นหลายๆตัว ซึ่งก็คือการทำ Cluster
เมื่อวานนี้ 20 /2/2016 มีโอกาสได้มาเรียน Machine Learning กับ ดร.กานต์ ที่ Geeky Base เป็นเวลาครึ่งวัน เนื่องจากไม่ได้ลงทะเบียนไว้ พอดีผ่านมาทำธุระแถวเกษตรพอดี เลยขอท่านอาจารย์มาขอความรู้ด้านนี้ไว้เนื่องจากกำลังสนใจอย่างมาก และถ้าได้รับคำชี้แนะจากคนที่มีประสบการณ์ก็จะได้ไม่หลงทาง สิ่งที่ได้รับจากการเรียนครึ่งวัน ขอสรุปคร่าวๆ ดังนี้
จากปัญหา Callback Hell ก็มีไลบรารี่ที่แก้ปัญหาความสวยงามของการเขียนโค้ดแบบ callback ของ JavaScript ออกมาหลายตัว ตัวที่น่าสนใจอีกตัวที่ผมชอบใช้ก็คือ async ซึ่งก็มีความสามารถมากมายสามารถกำหนดลำดับการทำงานแบบต่างๆได้มากมายไม่ว่าจะเป็น waterfall,series ,parallel,etc แต่ก็ยังไม่ตอบโจทย์เรื่องความสวยงามของโค้ด ก็มีการสร้างไลบรารี่ Promise ขึ้นมา เพื่อให้เขียนโค้ด asynchronous แต่ synchronous เป็นลำดับได้ เอ่ะ งง รึเปล่า เอาเป็นว่า Promise จะช่วยให้เราเข้าใจลำดับการทำงานของ asynchronous ที่มีความต่อเนื่องกันได้ง่ายขึ้น จริงรึเปล่าต้องมาลองกันดู
Java Script Callback ก็คือ การเรียกฟังก์ชั่นแบบ Asynchronous เอ่ะ แล้วการเรียกแบบ Asynchronous มันคืออะไรอีกเนี่ย ? คำว่า Asynchronous กับ Synchronous ในแวดวงวิศวกรรมหรือเทคโนโลยีมักจะได้ยินกันบ่อยๆ ซึ่งมักใช้เกี่ยวกับการรับส่ง ข้อมูล สัญญาณ ในรูปแบบต่างๆ ซึ่งการส่งข้อมูลหรือสัญญาณต่างๆนั้นก็ ต้องมี ผู้ร้องขอ - ผู้ตอบกลับ การส่งแบบ Synchronous นั้นเป็นการรอจังหวะให้การร้องขอและการตอบกลับเสร็จเป็นเรื่องๆไปจึงจะทำงานตามขั้นตอนการร้องขอครั้งใหม่
จากตัวอย่างการเขียน Route URIs ของการเขียน RestApi ในตอนที่แล้วนั้น มีเพียง 4 route เท่านั้น คือ /get,/add,/edit และ /delete แต่ในชีวิตจริงแอพหนึ่งแอพมีเป็น 100 route ขึ้นไปแน่นอนตามขนาดแอพ แอพใหญ่ๆอาจจะมีมากถึงหมื่นเลยทีเดียว ส่วนผมเองเคยแตะถึงระดับพันต้นๆเท่านั้น เมื่อมี route มากขึ้น หากมาเขียนไว้ในไฟล์ๆเดียว หากในบริษัทมีคนพัฒนา Api หลายคนคงต้องปวดหัวในการแก้ไขไฟล์หลักนี้แน่นอน ถึงแม้ปัจจุบันมีเครื่องมือในการคอนโทรลเวอร์ชั่นดีๆอย่าง svn และ github ในตอนนี้เราจะมาแก้ไขปัญหานี้แบบง่ายๆ
การเขียนเว็บเซอร์วิส หรือ เว็บ Api (Application Programming Interface) เพื่อให้เทคโนโลยแพลตฟอร์มต่างๆสามารถแลกเปลี่ยนข้อมูลกันได้ ไม่ว่าจะเป็น OS ,Web ,Mobile Application นั้น มี 2 มาตรฐานที่ได้รับความนิยม ได้แก่
NodeJS มีไลบรารี่ให้ใช้กว่า 2 แสนแพคเกจ (ณ วันที่ 6/2/2 […]