สรุปงาน Google Cloud Summit in Bangkok พร้อมคำแนะนำการใช้ Google Cloud

สวัสดีครับ, วันนี้ผมจะมาเขียนสรุปไฮไลท์ สั้นๆ เกี่ยวกับงาน Google Cloud Summit in Bangkok ที่เพิ่งจัดไปที่ Royal Paragon Hall และมาอธิบายเกี่ยวกับ Google Cloud Platform หรือ GCP แต่ก่อนอื่นเลย ผมขอขอบคุณทาง Google ประเทศไทย มานะที่นี่ด้วย ที่ให้โอกาสเชิญผมไปร่วมฟังในงานนี้ครับ [...]

[Web Component] มาตรฐานใหม่ของการเขียนเว็บด้วยการสร้าง Web Component จาก Custom Elements API

วันนี้เราจะมาเรียนการ Custom element ด้วย JavaScript API ซึ่งเป็น Native API ที่สามารถทำให้เราสร้างแท็ก HTML ได้เองหรือจะสามารถ Extend ตัว components ของคนอื่นมาได้ด้วย ซึ่งเอกสารของ Custom Elements API เขียนอยู่ในเว็บของ WHATWG แล้วสามารถเข้าไปอ่านกันได้ จริงๆ เราจะเห็นได้ว่ามันมีการพูดถึงน้อย [...]

[Math][Learning] รักคณิตศาสตร์ต้องไม่พลาด หากอยากเก่งในสาย Computer Science

ผมจะมาแนะนำแหล่งเรียนรู้วิชาคณิตศาสตร์ที่เป็นระดับพื้นจนไปถึงระดับสูง ด้วยความที่ผมเองชอบวิชานี้เหมือนกันแต่ไม่ค่อยเก่งเท่าไร ก็จะพยายามหาเว็บหรือหนังสือมาอ่าน แต่อย่างที่รู้คือมันหาหนังสือดีๆ หรือแหล่งการสอนดีๆ ยาก เพราะคณิตศาสตร์เป็นวิชานึงที่สอนยากมาก ปกติผมจะเล่น Reddit  อยู่ประจำเข้าไปหาอ่านอะไรบ่อยๆ ค่อนข้างได้ความรู้ดีมากทีเดียว ใครสนใจเรื่องไหนลองไปหาห้องอ่านดูได้ บางอันดีมากจริงๆ กลับมาเข้าเรื่องต่อพอดีผมไปเปิดเจอห้อง r/learnmath ไปเจอเขาทำหัวข้อรวมเว็บเรียนคณิตศาตร์ไว้ก็เลยเข้าไปไล่หาอันที่น่าสนและเป็นประโยชน์ต่อผู้เริ่มต้นมาแนะนำกัน   ทำไม Developer ต้องรู้คณิตศาสตร์ (ไม่รู้ก็ไม่ผิด รู้ไว้ก็ดี) ถ้าหากคุณทำงานในสายของการเขียนโปรแกรมทางธุรกิจทั่วๆ ไปดึงข้อมูลมาแสดง [...]

[DevOps][BKK 2018] ทำความเข้าใจว่า DevOps คืออะไรและจะเริ่มไ้ด้ยังไง พร้อมวีดีโอจากงาน DevOps BKK 2018

บทความนี้ผมมาอธิบายความของ DevOps ให้ได้เข้าใจกัน ซึ่งหลังจากที่เราได้มีการจัดงาน DevOps BKK 2018 ไปที่ เรียกได้ว่างานนี้ได้รับผลตอบรับดีมากเลยครับ มีคนไปเยอะมากๆ แถม Speaker ก็มีแต่คนเก่งๆ ในวงการมาให้ความรู้ งานใหญ่มากแบ่งห้องเป็น 3 และจัดกันที่ BITEC บางนา เรียกได้ว่างานนี้ใหญ่ที่สุดสาย IT ของไทยที่ผมเคยไปมาเลย วันนี้เลยจะเอาวีดีอโอ [...]

[Learning] ทำความรู้จัก MIT OpenCourseWare (OCW) แหล่งเรียนวิชาต่างๆ จาก MIT

วันนี้ผมจะมาเสนอเว็บเรียนออนไลน์ซึ่งเป็นวิชาที่ส่งตรงมาจาก MIT มหาวิทยาลัยอันดับต้นๆ ของโลกด้านเทคโนโลยีและวิทยาศาสตร์ ซึ่งมีให้เราเลือกเรียนได้เกือบทุกวิชาเป็นวีดีโอสอนจากในห้องเรียนที่นักศึกษา MIT เรียนเลย พูดได้ว่านักศึกษา MIT เรียนแบบไหนเราก็จะได้เรียนแบบนั่น   ไม่ใช่แค่ดูอย่างเดียว นอกจากตัวเว็บเองจะมีวีดีโอให้ดูแล้ว ยังมีส่วนของ Readings เผื่อว่าใครที่ขึ้เกียจดูวีดีโอก็เอา PDF ไฟล์ไปอ่าน หัวข้อ Recitation สำหรับเนื้อหาอ่านเพื่อทบทวนบทเรียนพร้อมกับโจทย์คำถามให้ทำด้วย ถัดมาหัวข้อ Assignments [...]

[CI, Docker, Git] สอนการทำ GitLab CI ด้วย Docker runner service

Update 07/05/2018 หากใครก็ตามที่ไม่อยากให้ CI มัน Build ให้ทุกครั้งที่มีการ  Push ไปบน Git Server ให้ใส่ข้อมความใน git commit ว่า “[ci skip]” นะครับ ตัว CI จะไม่ทำงานให้เราใน commit ที่เราได้ทำการ [...]

สรุปงาน Google Cloud Study Jam Bangkok 2018

สวัสดีครับผม, พอดีผมได้มีโอกาสไปเข้าร่วมงาน Google Cloud Study Jam Bangkok 2018 จัดที่ห้าง Emporium, AIS DC ชั่น 5 และได้รับการสนับสนุนมาจากทาง Google โดยตรงและทีมจัดงานนำโดย คุณ จิรายุส นิ่มแสง หรือพี่เดียร์ เจ้าของบริษัท Opsta แน่นอนว่าใครอยู่สาย Infra [...]

[HTTP] การเขียน HTTP Status Codes โลกของความเป็นจริง เมื่อคุณเริ่มทำ API

สวัสดีครับบทคามนี้ผมจะมาอธิบายว่าการใส่ HTTP status codes นั่นมันสำคัญต่อการทำ API ยังไงในแง่ของการใช้งานจริง และถ้าไม่ใส่จะเป็นยังไง โดยผมจะยกตัวอย่างเหตุการณ์ง่ายๆ อย่างเช่นการทำเว็บมาให้เห็นภาพกัน และจุดประสงค์อีกอย่างนึงคือการอยากให้ทุกคนเขียนโปรแกรมให้เป็นมาตรฐานตรงตาม Standard ซึ่งก่อนหน้านี้ผมเคยเขียนบทความตัวนึงเกี่ยวกับการเขียน API ตาม Standard ไปแลยตามนี้ลิ้งนี้เลยครับ ก่อนจะมาเริ่มกันมาทำความรู้จักก่อนว่า HTTP status codes เริ่มกันเลย   [...]

[Part 7] Coding on Vim: การค้นหาไฟล์และค้นหาโค้ดใน Vim

สวัสดีครับบทความชุด Coding on Vim ตอนที่ 7 นะครับ สำหรับตอนนี้ผมจะมาแนะนำ Plugin ที่ช่วยให้เราทำการค้นหาไฟล์และโค้ดที่อยู่ในโปรเจคเราได้เหมือนกับการใช้พวก Atom, Sublime เลยเอากด command + p (Mac), ctrl + p (windows) ซึ่งใน vim เองก็ทำได้นะครับ [...]

[Part 6] Coding on Vim: NERDTree ทำไฟล์ explorer บน Vim

สวัสดีครับ บทความชุด Coding on Vim ก็มาถึง Part 6 ซึ่งในบทความนี้ผมจะมาแนะนำปลั๊กอินที่ช่วยให้เราจัดการไฟล์บน Vim ได้โดยไม่ต้องใช้พวกโปรแกรม Finder(Mac) หรือ File explorer (Windows, Linux) ทำให้เราสามารถอยู่บนหน้าจอ Vim ได้ตลอดเวลา ไม่ต้องสลับหน้าจอไปมา และ Plugin ตัวนี้ชื่อว่า [...]

[Part 5] Coding on Vim: การใช้ Vim และ Git คู่กัน

สว้สดีครับ บทความก็มาถึง Part 5 กันแล้วนะครับ ซึ่ง Part นี้ก็สำคัญเหมือนกันสำหรับคนที่ทำงานเขียนโค้ดคงใช้งาน Git กันอยู่ประจำ ซึ่งพวก IDE, Editor สมัยนี้เขาก็มีลูกเล่นให้เราได้เล่น อย่างเช่น การ push, commit ได้จากตัวโปรแกรมเลย ไม่ต้องให้เรามาเปิด Terminal เอง และฟีเจอร์ที่ผมจะชอบมากคือการเอา [...]

[Part 4] Coding on Vim: การตั้งค่า Vim ใน .vimrc

บทความนี้เราจะมาพูดถึงเรื่องไฟล์ .vimrc กันว่ามันไว้ใช้ทำอะไรและมีประโยชน์อย่างไร ซึ่งหลายๆ คนอาจจะเคยเห็นไฟล์ที่เขียนลงท้ายด้วย rc (suffix) มาบ้างแล้ว เช่น .bashrc .bowerrc อะไรประมาณนี้ ซึ่งเดียวเราจะมาดูรายละเอียดกัน   ทำความรู้จักกับไฟล์ rc  จริงๆ แล้วไฟล์ที่ลงท้ายด้วย rc จะอยู่ใน OS ตระกลูพวก Unix, Linux (ผมไม่แน่ใจว่า windows ใช้อะไร) [...]

[Part 3] Coding on Vim: หัดใช้คีย์พื้นฐานที่จำเป็นใน Vim

ผ่านไปแล้ว 2 Part ครั่งนี้ผมจะมาอธิบายและสาธิตการคีย์ที่จำเป็นต่างๆ อีกครั่ง หลังจากที่ผมเคยทำวีดีโอสาธิตให้ดูแบบไวๆ ใน Part 1 แต่นั่นอาจจะยังดูกันไม่ทันและยังไม่ลงรายละเอียดไรมากเท่าไร เดียวเรามาเริ่มกันเลย ผมจะแยกคีย์ไปตามแต่ละการใช้งานเป็นหมวดหมู่ให้นะครับ ผมจะเอาที่ใช้งานจริงๆ บ่อยๆ เท่านั่น ที่เหลือลองไปหาเพิ่มเติมเอานะครับ และจะใช้การอธิบายผ่านโค้ดนะครับ ด้วยใช้รูปแบบการอธิบายแบบ ket: value ตามหลักการเขียนโปรแกรม อิอิ แอบเนริด์นิดนึง [...]

[Part 2] Coding on Vim: สอนลง Plugin บน Vim

ก็หลังจากที่ผมได้อธิบายไปบทความแรก เกี่ยวกับ vim ไปแล้ว คราวนี้ก่อนจะมาเขียนโปแกรมกันจริงๆ ผมก็จะมาสอนลง Plugin ก่อนเพื่อช่วยให้เราเขียนโปรแกรม ได้ง่ายขึ้นและมีฟังก์ชันคล้ายๆ กับพวก Atom หรือ Sublime มากขึ้น แต่มันก็ย้ำไว้ก่อนว่ามันก็ไม่ได้ทำให้ง่ายขึ้นกับการใช้ vim ทำงานถ้าเป็นมือใหม่ และยังกดคีย์ไม่คล่องนะครับ เพราะท้ายที่สุดแล้วเราก็ยังต้องพิมพ์ commend ลงไปเพื่อให้มันทำงานอยู่ดี จะช้าหน่อยจนกว่าจะชินกับมัน เดียวเรามาทำความรู้จักกันเลยครับว่า [...]

[Part1] Coding on Vim: ทำความรู้จัก Vim

บทความชุดนี้เราจะมาแนะนำการใช้ Vim เพื่อทำงานกันในการเขียนโปรแกรม โดยตอนแรกเองผมก็ใช้ Vim และ Vi ปกติก็แก้ไฟล์เล็กๆ น้อยๆ บน Sever หรือในคอมตัวเอง ใช้งานปกติทั่วไป แต่เรื่องมีอยู่ว่า พอดีผมย้ายงานใหม่และมีเพื่อนที่ทำงานผมคนนึงเก่งมากเลยในการใช้ Vim มันดูเท่มากครับ เวลาคุณเอามาเขียนโปรแกรม จริงๆ จังๆ ลงฟังก์ชัน กดโน้นนี่ อย่างคล่องแคล่ว [...]

MVC vs FLUX เมื่อ Front-end กลายเป็น Non-manageable Applications

เป็นเวลานานมากที่เราเขียนโปรแกรมกันมาด้วยแนวคิดที่เรียกว่า MVC ไม่มีใครไม่รู้จัก หรือแทบจะไม่มีโปรแกรมไหนในโลกที่ไม่ใช้ MVC ในการเขียนโปรแกรม พักหลังๆ ผมเริ่มจะเขียน ReactJs แบบจริงจัง ตอนนี้ก็เริ่มศึกษา Redux อยู่ จู่ๆ ก็ไปสะดุดกับหลายๆ บทความของฝรั่งที่เขาพูดถึง MVC และ FLUX กันเยอะมาก กะว่าจะเขียนรวบยอดรีบเรียงในความเข้าใจมาให้อ่านกัน เอาละเรามาเข้าเรื่องกัน MVC [...]

เลิกเขียน RESTful API แบบแย่ๆ แล้วหันมาเขียนให้มันถูกต้องตามมาตรฐานกันดีกว่า

ผมเชื่อว่าหลายๆ ที่คนที่เข้ามาอ่านบทความนี้จะต้องทำงานอยู่ในส่วนของ Back-end Developer หรือกำลังเขียน API ด้วย RESTful เราจะไม่พูดถึง SOAP เพราะมันเก่าไป และเดาได้ว่าบางคนคงเขียน API แบบขอไปทีอย่าง เช่น การตั่งชื่อไม่ได้มีหลักการที่ถูกต้อง การเลือกใช้ HTTP Method ก็คงใช่แต่ POST, GET หรืออาจจะไม่เคยเขียนจัดการกับ [...]

JavaScript Design Pattern ที่คุณต้องไว้ทำงาน

ช่วงนี้ JavaScript กำลังมาแรงจริงๆ ผมเลยต้องขยันเขียนเกี่ยวกับการเขียนเว็บที่ผมมีมาสอนกันให้ทันตามเทรนของ JavaScript เลย แน่นอนว่าต้องมี Full Stack Developer ที่มือใหม่ยังไม่เข้าใจถึงหลักการเขียน JavaScript แน่นอน เพราะว่ามันก็ไม่ใช้ภาษาอะไรจะง่ายแบบที่ทุกคนพูดกัน ถ้าจะเขียนให้ดีเพราะความเป็นภาษาแบบ Script ทำให้มันเขียนได้หลายรูปแบบและไม่ค่อยจะมีหลักการ โค้ดบางอย่างไม่คิดว่าจะทำงานได้ก็กับทำงานได้สะงั่น เอาละเรามาดูวิธีการเขียน Design Pattern ที่จำเป็นต่อการทำงานจริงๆ กันเลยครับ [...]

Data binding ของ JavaScript และการใช้งาน “this” keyword

บทความนี้จะมาอธิบายการทำงานของ “this” ปกติ “this” เราจะอ้างถึง properties ของคลาสนั่นๆ แต่ JavaScript แต่ต่างออกไปนิดหน่อยและการใช้ “this” นั้นทำได้หลายหลายวิธีมากขึ้นอยู่กับการ binding Properties ของเราครับ วันนี้จะมาสอนการใช้ “this” ให้ถูกวิธีกัน ขอยกตัวอย่างภาษา Java ก่อนนะเพื่อให้เห็นว่า “this” ทำงานยังไง การใช้ [...]

การติดตั่ง LEMP Stack บนเซิฟเวอร์เพื่อทำงานกับ PHP Apps ด้วย Docker ตามสไตล์ Algorithmtut

สวัสดีครับ ตอนนี้เว็บ Algorithmtut ได้ทำการเปลี่ยนเซิฟเวอร์และย้ายข้อมูลต่างๆ ใหม่ในช่วงสองวันที่ผ่านมา ซึ่งผมก็ได้ติดตั่งเซิฟเวอร์ใหม่ทั่งหมดเลย ดังนั่นเลยถือโอกาสเอา Docker มาใช้งานครับ ตอนนี้เว็บเรารันอยู่บน Docker ทั่งหมดเลยครับ เพราะงั้นบทความนี้ผมก็เลยจะมาสาธิตการติดตั่ง LEMP Stack ที่ประกอบด้วย Linux, Nginx ,MySQL, PHP ปกติบางคนจะรู้จักกันแต่ LAMP Stack หรือก็คือ Linux, Apache, [...]

[UX][HCI] UX ออกแบบ UI และวัฒนธรรมท้องถิ่น

สวัสดีครับ บทความนี้ผมจะพามาเรียนเรื่องการออกและวัฒนธรรม บทความนี้จะพูดถึงเรื่อง UX และ Culture (วัฒนธรรม) บางคนสงสัยเห้ย! มันเกี่ยวไรกัน เดียวจะอธิบายให้ฟังนะครับ   แค่ออกแบบ UI ทำไมเกี่ยวกับวัฒนธรรมท้องถิ่นได้ละ? แน่นอนว่าทุกคนหวังว่างานตัวเองจะออกไปสู่สายตาชาวโลก แน่ๆ คงไม่มีใครอยากทำงานแล้วจบลงที่มีคนใช้เพียงน้อยนิด ถูกไหมครับ? เพราะงั่นถ้าต้องการให้ UI ของเรามีความ Friendly มากที่สุดเราเองก็ควรจะใส่ใจเรื่องของวัฒนธรรมท้องถิ่นของแต่ละชาติ [...]

เว็บที่ใช้ศึกษาและอ่านงานวิจัยด้าน Machine Leaning & Data Science

ก่อนอื่นเลยก็บทความนี้ผมจะมาแนะนำเกี่ยวกับศาสตร์ด้าน Machine Leaning และ Data Science เนื่องด้วยผมเองมีความสนใจในงานด้านอยู่แล้ว และได้มาทำงานในบริษัทที่ทำงานเกี่ยว Data และ Image Processing โดยหลักๆ คือการ Training คอมพิวเตอร์ให้มีการตรวจจับรูปและค้นหาวัตถุในรูปที่ไม่หมาะสมอะไรทำนองนั่น ผมก็เลยได้แลกเปลี่ยนพูดคุยเกี่ยวกับงานบ้าง (ก็พอมี background งานด้านนี้มานิดหน่อย) ก็เลยได้คำแนะนำว่าลองอ่านเว็บพวกนี้ดูสิ อะไรทำนองนี้ผมก็เลย คิดว่าเอามาเขียนลงเว็บดีกว่า [...]