
ข่าวสาร/กิจกรรม
ข่าวสารและกิจกรรมทั้งหมดของสมาคมโปรแกรมเมอร์ไทย
Machine Learning สำหรับผู้เริ่มต้น
เมื่อวานนี้ 20 /2/2016 มีโอกาสได้มาเรียน Machine Learning กับ ดร.กานต์ ที่ Geeky Base เป็นเวลาครึ่งวัน เนื่องจากไม่ได้ลงทะเบียนไว้ พอดีผ่านมาทำธุระแถวเกษตรพอดี เลยขอท่านอาจารย์มาขอความรู้ด้านนี้ไว้เนื่องจากกำลังสนใจอย่างมาก และถ้าได้รับคำชี้แนะจากคนที่มีประสบการณ์ก็จะได้ไม่หลงทาง สิ่งที่ได้รับจากการเรียนครึ่งวัน ขอสรุปคร่าวๆ ดังนี้
NodeJS ตอนที่ 8 [การเขียน Asynchronous ด้วย Promise]
จากปัญหา Callback Hell ก็มีไลบรารี่ที่แก้ปัญหาความสวยงามของการเขียนโค้ดแบบ callback ของ JavaScript ออกมาหลายตัว ตัวที่น่าสนใจอีกตัวที่ผมชอบใช้ก็คือ async ซึ่งก็มีความสามารถมากมายสามารถกำหนดลำดับการทำงานแบบต่างๆได้มากมายไม่ว่าจะเป็น waterfall,series ,parallel,etc แต่ก็ยังไม่ตอบโจทย์เรื่องความสวยงามของโค้ด ก็มีการสร้างไลบรารี่ Promise ขึ้นมา เพื่อให้เขียนโค้ด asynchronous แต่ synchronous เป็นลำดับได้ เอ่ะ งง รึเปล่า เอาเป็นว่า Promise จะช่วยให้เราเข้าใจลำดับการทำงานของ asynchronous ที่มีความต่อเนื่องกันได้ง่ายขึ้น จริงรึเปล่าต้องมาลองกันดู
NodeJS ตอนที่ 7 [การเขียนโปรแกรมแบบ Callback]
Java Script Callback ก็คือ การเรียกฟังก์ชั่นแบบ Asynchronous เอ่ะ แล้วการเรียกแบบ Asynchronous มันคืออะไรอีกเนี่ย ? คำว่า Asynchronous กับ Synchronous ในแวดวงวิศวกรรมหรือเทคโนโลยีมักจะได้ยินกันบ่อยๆ ซึ่งมักใช้เกี่ยวกับการรับส่ง ข้อมูล สัญญาณ ในรูปแบบต่างๆ ซึ่งการส่งข้อมูลหรือสัญญาณต่างๆนั้นก็ ต้องมี ผู้ร้องขอ – ผู้ตอบกลับ การส่งแบบ Synchronous นั้นเป็นการรอจังหวะให้การร้องขอและการตอบกลับเสร็จเป็นเรื่องๆไปจึงจะทำงานตามขั้นตอนการร้องขอครั้งใหม่
NodeJS ตอนที่ 6 [เทคนิคการเขียน Route แยก หลายๆไฟล์]
จากตัวอย่างการเขียน Route URIs ของการเขียน RestApi ในตอนที่แล้วนั้น มีเพียง 4 route เท่านั้น คือ /get,/add,/edit และ /delete แต่ในชีวิตจริงแอพหนึ่งแอพมีเป็น 100 route ขึ้นไปแน่นอนตามขนาดแอพ แอพใหญ่ๆอาจจะมีมากถึงหมื่นเลยทีเดียว ส่วนผมเองเคยแตะถึงระดับพันต้นๆเท่านั้น เมื่อมี route มากขึ้น หากมาเขียนไว้ในไฟล์ๆเดียว หากในบริษัทมีคนพัฒนา Api หลายคนคงต้องปวดหัวในการแก้ไขไฟล์หลักนี้แน่นอน ถึงแม้ปัจจุบันมีเครื่องมือในการคอนโทรลเวอร์ชั่นดีๆอย่าง svn และ github ในตอนนี้เราจะมาแก้ไขปัญหานี้แบบง่ายๆ
NodeJS ตอนที่ 5 [Restful API]
การเขียนเว็บเซอร์วิส หรือ เว็บ Api (Application Programming Interface) เพื่อให้เทคโนโลยแพลตฟอร์มต่างๆสามารถแลกเปลี่ยนข้อมูลกันได้ ไม่ว่าจะเป็น OS ,Web ,Mobile Application นั้น มี 2 มาตรฐานที่ได้รับความนิยม ได้แก่
- SOAP (Simple Object Access Protocol)
- REST (Representational state transfer)
NodeJS ตอนที่ 4 [ติดตั้งโมดูล และ Express framework]
NodeJS มีไลบรารี่ให้ใช้กว่า 2 แสนแพคเกจ (ณ วันที่ 6/2/2016) แม่เจ้า เยอะมากแล้วจะใช้ตัวไหนดี ดูทั้งหมดได้ที่ npmjs.com หลักการเลือกใช้ไลบรารี่ทั่วไป แต่ละคนให้น้ำหนักไม่เท่ากัน ผมพิจาณาจาก เงื่อนไข ดังนี้ มีฟังก์ชั่นที่ผมต้องการ ทำงานได้ถูกต้อง ใช้งานง่าย มีเอกสารอ่านง่าย หาข้อมูลศึกษาได้เยอะ ได้รับความนิยม ดูจากการโหวต จำนวนของผู้เข้าร่วมพัฒนา การ Support ความสม่ำเสมอในการออกเวอร์ชั่นใหม่ๆ อั้ยย่ะ แค่เลือกใช้ไลบรารี่ สมัยนี้เสียเวลากว่าเขียนโค้ดอีกนะ สำหรับการทำ * ระบบหลังบ้าน (Back End) มีไลบรารี่ในการทำ Web Framework ที่ได้รับความนิยมเท่าที่ผมรู้จักอยู่ 4 ตัว ได้แก่ Express – ออกมาเป็นตัวแรก เข้าใจได้ง่าย มี Feature มากมาย Hapi – เน้นการเขียนลักษณะ Config และ Flow […]
NodeJS ตอนที่ 3 [JavaScript Basic และการเขียนโมดูล]
NodeJS เป็นเทคโนโลยีที่เรารู้กันว่าเป็น JavaScript ฝั่งเซิร์เวอร์ ดังนั้นก็ต้องมีพื้นฐานภาษา JavaScript จึงจะช่วยให้ทำความเข้าใจในการเขียนโค้ดบน NodeJS ได้ง่ายขึ้น ในบทความนี้จะสรุปเพียงสั้นๆที่พอให้ไปต่อได้เท่านั้น JavaScript Value Type ภาษา JavaScript มีการเก็บค่าอยู่ 3 แบบด้วยกัน คือ boolean ค่าตรรกะ true , false numeric ค่าตัวเลข Number.MIN_VALUE 5e-324 – Number.MAX_VALUE 1.7976931348623157e+308 string “hello” , ‘hello’ Reference Type การเก็บค่าแบบ Reference Type เก็บในรูปแบบยอดฮิตอย่าง JSON (JavaScript Object Notation) {“firstName”:”John”, “LastName”:”Doe” , “Age”:30} การประกาศตัวแปร ใช้คำว่า var ขึ้นต้น ตามด้วยชื่อตัวแปรตามกฎการตั้งชื่อของภาษาทั่วๆไป var […]
NodeJS ตอนที่ 2 [V8 และ Non Blocking I/O]
Google V8 V8 เป็น Engine ที่สร้างโดย Google ด้วยภาษา C++ ใช้คอมไฟล์ JavaScript ให้เป็น Byte Code ซึ่งช่วยให้ JavaScript ทำงานได้เร็วขึ้นมาก เมื่อเรา Complie NodeJS จะเป็น Byte code อยู่ในหน่วยความจำ ซึ่งคอมพิวเตอร์เข้าใจทำให้ทำงานได้เร็ว การคอมไพล์เราได้ลองทำในตอนที่ 1 ดังนี้ node ch1_hello.js เมื่อเราดำเนินการทำตามคำสั่ง ดังกล่าว ชุดคำสั่ง byte code นั้นจะถูกสร้างเป็น process ไว้ในหน่วยความจำ เมื่อคอมไพล์เสร็จ หากเราลบไฟล์ ch1_hello.js ออก โปรแกรมที่รันอยู่ก็ยังสามารถทำงานได้ เพราะอยู่ในหน่วยความจำแล้ว ในส่วนรายละเอียดการทำงานเชิงลึกของ V8 Engine คงไม่ได้กล่าวถึงเพราะคงมีน้อยคนนักที่จะลงไปศึกษาระดับสถาปัตยกรรม ส่วนใหญ่ก็ศึกษาเพื่อเขียนโปรแกรมเป็นหลัก หากใครสนใจสามารถศึกษาเพิ่มเติมได้ที่ https://developers.google.com/v8/?hl=th Blocking I/O สำหรับพื้นฐานการทำงานของคอมเตอร์นั้น มีอยู่ […]
NodeJS ตอนที่ 1 [NodeJS คืออะไร ?]
NodeJS ตอนที่ 1 NodeJS คืออะไร ? เทคโนโลยีฝั่ง Server Side ที่ถูกพัฒนาด้วยภาษา JavaScript เดิมทีภาษา JavaScript ทำงานฝั่ง Client เป็นหลัก แต่จริงๆแล้ว NodeJS เป็น Client หรือ Server ก็ขึ้นอยู่กับจุดประสงค์ของแอพนั้น แต่จุดตั้งต้นเริ่มมาจาก Server Side เป็นหลัก ผู้สร้าง คือ คนนี้แหละครับ Ryan Dahl เขาว่าคือพ่อมด แฮรี่ ที่มาร่ายเวทย์ด้วยภาษา JavaScript NodeJS คือ JavaScript มีการ Complied เป็น Byte Code ด้วย V8 Engine ของ Google Debug ได้ ต่างจาก JavaScript ในยุคแรกๆ ทำให้แก้ปัญหาได้ง่ายขึ้น รันได้บนทุกระบบปฏิบัติการยอดนิยม […]
Programming World – Year in Review 2015
ผ่านไปแล้วกับปี 2015 ครับในช่วงหยุดปีใหม่นี้ผมมาลองรีวิวดูว่าในโลกของโปรแกรมมิ่งมีอะไรที่เปิดตัวใหม่หรือเหตุการณ์อะไรที่น่าสนใจในรอบปีที่ผ่านมากันบ้างนะครับ [ 22 กุมภาพันธ์ 2015 ] ในงาน React.js Conf ทาง Facebook ได้ประกาศ React Native ที่ช่วยให้ react แปลงเป็น native code ใน platform ต่างๆได้ไม่จำกัดแค่เว็บบราวเซอร์อีกต่อไป นอกจากนั้นยังได้ประกาศ Relay ซึ่งเป็นเฟรมเวิร์คสำหรับการดึงข้อมูลเพื่อเชื่อมต่อกับ React application โดยใช้ภาษา GraphQL ซึ่งสามารถทำงานกับ storage engine ด้านหลังใดๆก็ได้ ที่มา http://conf2015.reactjs.org/schedule.html [ 26 กุมภาพันธ์ 2015 ] Docker Machine, Swarm, Compose เปิดให้ดาวน์โหลดใช้งานเป็นทางการครั้งแรก โดย Docker Machine ช่วยติดตั้ง Docker Engine ให้กับเครื่องเรา, Docker […]
งาน IT Talk 2015 – Introduction to User Experience – How to develop products that people love
[img src=”/wp-content/uploads/2018/07/12312250_10153695821337808_613745077_n-2-702×336.jpg” class=”aligncenter”] สมาคมโปรแกรมเมอร์ร่วมกับคุณะเทคโนโลยีสารสนเทศมหาวิทยาลัยชินวัตร รวมจัดงาน IT Talk 2015 – Introduction to User Experience – How to develop products that people love โดยมีรายละเอียดงานดังนี้ สัมมนาฟรี !!! วิทยากร คุณดาริน สุทธพงษ์ – User Experience Designer, Amazon.com Seattle, WA Designer จากประเทศสหรัฐอเมริกาผู้มีประสบการณ์ User Experience and Design Fields มานานกว่า 10 ปี เวลา 9.30 -12.00 – เสาร์ ที่ 19 ธันวาคม 2558 สถานที่ มหาวิทยาลัยชินวัตร […]
งาน IT Talk 2015 – Introduction to User Experience – How to develop products that people love
สมาคมโปรแกรมเมอร์ร่วมกับคุณะเทคโนโลยีสารสนเทศมหาวิทยาลัยชินวัตร รวมจัดงาน IT Talk 2015 – Introduction to User Experience – How to develop products that people love โดยมีรายละเอียดงานดังนี้ สัมมนาฟรี !!! วิทยากร คุณดาริน สุทธพงษ์ – User Experience Designer, Amazon.com Seattle, WA Designer จากประเทศสหรัฐอเมริกาผู้มีประสบการณ์ User Experience and Design Fields มานานกว่า 10 ปี เวลา 9.30 -12.00 – เสาร์ ที่ 19 ธันวาคม 2558 สถานที่ มหาวิทยาลัยชินวัตร ชั้น 4 ห้อง 409 […]
