ข่าวเทคนิคที่น่าสนใจในช่วงไม่นานนี้คือ Cloudflare, Chrome, Firefox ร่วมมือกันรองรับ HTTP/3 หรือที่เราเคยรู้จักกันในชื่อ QUIC ที่กูเกิลเคยเสนอมาตั้งแต่ปี 2015
หลายคนอาจสงสัยว่าแล้ว HTTP/1, HTTP/2 (หรือ SPDY) และ HTTP/3 (QUIC) แตกต่างกันอย่างไร บทความนี้จะอธิบายวิวัฒนาการของเทคโนโลยี HTTP ให้เข้าใจกันแบบง่ายๆ ครับ
ในรอบ 1-2 ปีนี้ ชื่อเทคโนโลยีฝั่งเซิร์ฟเวอร์ที่พบเห็นได้บ่อยมากคือคำว่า Kubernetes ที่แค่เห็นก็อ่านไม่ออกแล้วว่าออกเสียงอย่างไร (อ่านว่า "คูเบอร์เนเตส") แต่ความร้อนแรงของมันถึงขั้นพลิกโฉมสถาปัตยกรรมของระบบโครงสร้างพื้นฐานทางไอที (infrastructure) ไปอย่างสิ้นเชิง
Kubernetes เป็นซอฟต์แวร์สำหรับ Container Orchestration (คำเดียวกับ "วงออเคสตร้า") ถ้าให้อธิบายแบบสั้นๆ มันคือซอฟต์แวร์ที่ใช้จัดการและควบคุม "วงดนตรีคอนเทนเนอร์" นั่นเอง ส่วนคำอธิบายแบบยาวๆ สามารถอ่านได้จากบทความนี้ครับ
ช่วงหลังเราได้ยินชื่ออย่าง Docker, Container, Kubernetes, Orchestration กันบ่อยขึ้นมาก โดย Blognone เองก็เคยนำเสนอข่าวในหัวข้อเหล่านี้อยู่บ่อยครั้ง แต่ก็ยังมีความสับสนในเรื่องนี้อยู่มาก เพราะเป็นแนวคิดที่ยังค่อนข้างใหม่และมีความแตกต่างจากระบบเซิร์ฟเวอร์แบบเดิมๆ สูง
บทความชุดนี้จึงมีเป้าหมายเพื่ออธิบายและทำความเข้าใจกับแนวคิดเหล่านี้ ใครที่รู้เรื่องนี้ดีอยู่แล้วสามารถข้ามไปได้เลยครับ
ข่าวที่น่าสนใจของโลกกราฟิกช่วงนี้หนีไม่พ้นการเปิดตัวจีพียูสถาปัตยกรรม NVIDIA Turing ที่ยักษ์เขียว NVIDIA ทยอยเปิดตัวการ์ดจอทั้ง Quadro RTX สำหรับมืออาชีพ และ GeForce RTX สำหรับเกมมิ่ง ในเวลาห่างกันเพียงไม่กี่วัน
NVIDIA ชูว่า Turing เป็นการอัพเกรดครั้งใหญ่นับตั้งแต่การเปิดตัว CUDA Core ในช่วงปลายปี 2006 หรือประมาณ 12 ปีก่อน และโดยเนื้อในแล้ว Turing ก็มีความแตกต่างจากรุ่นพี่ Pascal (GeForce 10) ที่ออกในปี 2016 อย่างมีนัยสำคัญ บทความนี้จะอธิบายข้อมูลโดยสรุปว่า Turing มีอะไรบ้าง
หมายเหตุ: บทความนี้เป็นการอธิบาย Amazon S3 ที่กำลังเป็นข่าวอยู่ในตอนนี้ สำหรับผู้ที่ไม่เคยได้ยินชื่อมาก่อนหรือไม่คุ้นเคยกับมันมากนัก ใครที่คุ้นเคยกับ S3 อยู่แล้วข้ามไปได้เลยครับ
Amazon S3 ย่อมาจากคำว่า Simple Storage Service มันคือบริการเก็บข้อมูลบนคลาวด์ของ Amazon Web Services (AWS) ซึ่งเป็นผู้ให้บริการคลาวด์อันดับหนึ่งของโลก นอกจากนี้ S3 ยังถือเป็นบริการตัวแรกสุดของ AWS ด้วย โดยเปิดตัวมาตั้งแต่ปี 2006 หรือ 12 ปีก่อน
การโจมตี Meltdown ที่เริ่มมีรายงานในสัปดาห์นี้เปิดทางให้แฮกเกอร์ที่สามารถรันโปรแกรมบนเครื่องของเหยื่อ สามารถอ่านข้อมูลบนหน่วยความจำได้ทั้งหมด แม้จะไม่มีสิทธิ์อ่านหน่วยความจำส่วนนั้นๆ เช่น หน่วยความจำของเคอร์เนล และโปรเซสอื่นๆ
การสาธิตที่ชัดเจนที่สุดคงเป็นการขโมยรหัสผ่านที่ผู้ใช้พิมพ์บนโปรแกรมอื่นดังวิดีโอต่อไปนี้
ข่าวสำคัญของโลกโปรแกรมมิ่งวันนี้คือ Android รองรับภาษา Kotlin อย่างเป็นทางการ และถือเป็นภาษาที่สองถัดจาก Java
หลายคนอาจเพิ่งเคยได้ยินชื่อภาษา Kotlin เป็นครั้งแรก บทความนี้จะพามาแนะนำตัวให้รู้จักกันครับ
ปัญหามัลแวร์เรียกค่าไถ่ WannaCrypt ที่ระบาดทั่วโลกในวันนี้ เกิดจากช่องโหว่ของระบบปฏิบัติการตระกูล Windows ที่ไมโครซอฟท์อัพเดตแพตช์ไปแล้วตั้งแต่เดือนมีนาคม (MS17-010) อย่างไรก็ตาม มีผู้ใช้จำนวนมากที่ไม่ได้อัพเดตแพตช์นี้ตามไปด้วย จึงกลายเป็นช่องโหว่ให้ถูกโจมตีและสูญเสียข้อมูลได้ง่าย
ผมเชื่อว่าสมาชิก Blognone ทุกท่านคงทราบดีถึงความสำคัญของการอัพเดตซอฟต์แวร์ให้เป็นเวอร์ชันล่าสุดเสมอ เพื่อลดความเสี่ยงจากการถูกโจมตี แต่กระบวนการอัพเดตซอฟต์แวร์ (ในที่นี้คือ Windows Update) ที่มีความยุ่งยากและน่ารำคาญอยู่ไม่น้อย ก็เป็นปัจจัยหนึ่งที่ทำให้ผู้ใช้ไม่ยอมกดอัพเดตกัน
บทความนี้จึงเป็นการแนะนำข้อมูลและเทคนิคการใช้งาน Windows Update เพื่อสร้างความเข้าใจที่ดีขึ้นต่อระบบอัพเดตซอฟต์แวร์ตัวนี้ และหวังว่าจะช่วยให้ผู้ใช้ขยันกดอัพเดตกันบ่อยขึ้นเพื่อชีวิตที่ดีกว่าเดิม
ทุกวันนี้หลายคนคงได้ยินคำว่า SD-WAN หรือชื่อเต็มๆ software-defined wide area networking ซึ่งเป็นเทคโนโลยีเครือข่ายที่ถูกนำมาใช้อย่างกว้างขวางในปัจจุบัน โดยบริษัทวิจัย International Data Corp (IDC) ได้พยากรณ์ไว้ว่าในปี 2020 ตลาดของ SD-WAN จะมีมูลค่าสูงถึง 6 พันล้านดอลลาร์เลยทีเดียว
หลังจากวันนี้มีข่าว root CA ของรัฐบาลไทยได้รับการเชื่อถือจากไมโครซอฟท์ ตอนนี้ผู้ใช้วินโดวส์จำนวนหนึ่งน่าจะได้รับอัพเดตที่มี root CA นี้เข้ามาในเครื่องแล้ว สำหรับคนที่ไม่ต้องการใช้งานน่าจะมีคนเขียนบทความจำนวนมากเพื่อแนะนำวิธีการถอนใบรับรองนี้ออกจากเครื่อง
ในทางกลับกันมีผู้ใช้จำนวนหนึ่งที่เชื่อใจรัฐบาลเป็นอย่างยิ่งและต้องการให้เข้ามาช่วยดูแลความปลอดภัย อาจจะต้องผิดหวังเพราะผู้ผลิตซอฟต์แวร์รายอื่นๆ ยังไม่รับรอง สำหรับ Chrome บน Windows นั้นไม่เป็นปัญหาเพราะใช้ฐานข้อมูล root CA ของวินโดวส์โดยตรง แต่กับไฟร์ฟอกซ์กลับใช้ฐานข้อมูลของตัวเองทำให้ใช้งาน root CA ตัวนี้ไม่ได้
ช่วงหลังมานี้เราเริ่มจะได้ยินข่าวเกี่ยวกับคอมพิวเตอร์ควอนตัมกันมากขึ้น ทั้งเรื่องของการวิจัยพัฒนา จนไปถึงความพยายามสร้างเพื่อเอาไปใช้จริง หลายหน่วยงานในต่างประเทศก็เริ่มพูดถึง และให้การสนับสนุนงานวิจัยเหล่านี้กันมากขึ้นเรื่อยๆ (ขนาดนายกรัฐมนตรีแคนาดายังเคยพูดถึงเลย) หลายคนเชื่อกันว่านี่จะเป็นวิวัฒนาการของคอมพิวเตอร์แบบก้าวกระโดด
แต่ก็ยังมีอีกหลายคนที่ไม่รู้จัก หรือเพิ่งจะได้ยินชื่อนี้เป็นครั้งแรกเสียด้วยซ้ำ บทความนี้เขียนไว้เพื่อนำเสนอว่าคอมพิวเตอร์ควอนตัมคืออะไร แตกต่างจากคอมพิวเตอร์ที่เราใช้ๆ กันยังไง และเราจะได้ประโยชน์อะไรจากมัน
กระบวนการรับรอง SSL/TLS Certificate หรือ “ใบรับรองอิเล็กทรอนิกส์” (ต่อไปจะเรียกว่า TLS Certificate) จะผ่านทาง Certificate Authority หรือ “ผู้ออกใบรับรองอิเล็กทรอนิกส์” (CA)
โดยเว็บเบราว์เซอร์หรือระบบปฏิบัติการ (ต่อไปจะเรียกว่า client) จะมีรายการที่เรียกว่า Trusted Root Certification Authorities หรือ “รายการใบรับรองอิเล็กทรอนิกส์ของผู้ออกใบรับรองอิเล็กทรอนิกส์สำหรับผู้อื่น” อยู่ภายใน โดยมากมักอ้างอิงกับตัวระบบปฏิบัติการเป็นหลัก ซึ่งจะบรรจุ Root Certificate หรือ “ใบรับรองอิเล็กทรอนิกส์ลำดับชั้นบนสุด” เพื่อให้ client สามารถเชื่อใบรับรองอิเล็กทรอนิกส์ที่ได้รับรองจาก Certificate Authority เหล่านั้น (Trust any certificates issued by the Certificate Authorities)
หนังเรื่อง Warcraft: The Beginning ก็ได้เข้าโรงเป็นที่เรียบร้อยแล้วไปเมื่อวันที่ 26 พฤษภาคม 2559 นี้ หลังจากที่ผู้เขียนก็ได้ไปรับชมหนังมาเองด้วยความที่เคยเล่นเกมมาก่อนทำให้ขณะดูไม่ติดขัดอะไร แต่ว่าด้วยความรีบรัดของหนังจึงอาจทำให้ผู้ที่ไม่เคยเล่นเกมมาก่อน มีจุดสงสัยขึ้นหลาย ๆ จุดระหว่างดูหนังได้ จึงขอรวบรวมข้อสงสัยที่อาจเกิดขึ้นระหว่างดูหนังไว้ ณ ที่นี้ครับ
ชนเผ่าผิวสีฟ้าที่อยู่ในกรงตอนต้นเรื่องคือชนเผ่าอะไร?
คำว่า Internet of Things (IoT) ได้รับความสนใจอย่างสูงในช่วงเวลาไม่กี่ปีที่ผ่านมา เราเห็นบริการจำนวนมากเริ่มบอกว่าตัวเองรองรับ IoT ในแบบต่างๆ สำหรับคนทั่วไปคำถามคงเป็นเรื่องว่า IoT จะเข้ามาเปลี่ยนชีวิตของเราได้อย่างไร แต่สำหรับนักพัฒนา เราอาจจะตั้งคำถามถึงความเปลี่ยนแปลงที่กำลังจะเกิดขึ้น เทคโนโลยีที่เข้ามาเกี่ยวพันกับ IoT
หลายวันนี้ข่าว Single gateway ได้ชิงพื้นที่จากหน้าสื่อไปพอสมควร ด้วยความที่เป็นประเด็นใหญ่ ซับซ้อน และมีผลกระทบตามมาเป็นจำนวนมาก
ผู้เขียนเชื่อว่า เราๆ ทุกท่าน ไม่ว่าจะสนใจด้านสารสนเทศกันแค่ไหน ล้วนควรจะได้รับข้อเท็จจริงที่เกี่ยวกับ Single gateway จึงเป็นที่มาของบทความชุดนี้ ที่จะอธิบายว่า Single gateway คืออะไรในแบบภาษาชาวบ้าน (ที่อาจไม่รู้เรื่อง Infrastructure ต่างๆ) และผลกระทบที่จะตามมาครับ
จากปัญหาช่องโหว่ Flash และ Java รอบล่าสุดที่เป็นช่องโหว่ร้ายแรง และต้นสังกัดยังไม่ออกแพตช์แก้ ทางออกของผู้ใช้งานที่เป็นไปได้ในตอนนี้คือปิดการทำงานของปลั๊กอินเหล่านี้
สมาชิก Blognone น่าจะปิดปลั๊กอินกันได้ไม่ยาก แต่ผมอ่านจากความเห็นในหลายๆ ที่พบว่ายังมีคนไม่รู้วิธีการปิดปลั๊กอินอีกมาก บทความนี้จึงเขียนเพื่อสอนการปิดปลั๊กอินบนเว็บเบราว์เซอร์ (อย่างละเอียดแบบมีภาพประกอบทุกขั้นตอน) โดยมุ่งเป้าไปยังคนที่ปิดไม่เป็นนะครับ ใครรู้อยู่แล้วข้ามไปได้เลย
ช่วงนี้มีเรื่องเป็นที่ชวนฉงนสงสัยของใครหลายคนที่ใช้ Internet บ้านของ True เหตุใดบางครั้ง มันถึงช้าจนใช้งานไม่ได้ แถมมาเจาะจงเป็นเฉพาะกับบริการของ Google
และ ถ้าเจาะจงมากกว่านั้น ทำไมมันมีปัญหากับเฉพาะ Google Chrome
บางคนได้ถามไปทางผู้ให้บริการแล้วได้คำตอบที่ไม่แน่ชัด แต่ละคนก็มีทฤษฎีตีความกันไปต่างๆ นาๆ แต่คนที่สรุปได้ว่าเป็นเพราะอะไร ไม่ได้ออกมาอธิบายให้รู้ทั่วกัน แถมตัวปัญหาก็ไม่ได้ใหญ่โตเกินแก้ เป็นไปได้หรือไม่ว่า วิศวกรผู้รับผิดชอบของบริษัทดังกล่าว จนบัดนี้ก็ยังไม่เข้าใจว่าเกิดอะไรขึ้น
หลักการความปลอดภัยข้อหนึ่งที่ดูจะไม่เกี่ยวกับความปลอดภัยนัก คือ availability หรือสถานะพร้อมใช้งาน แม้ว่าแฮกเกอร์อาจจะไม่ได้ขโมยข้อมูลออกไปจากระบบ หรือทำลายข้อมูลสร้างความเสียหายโดยตรง แต่ทุกวันนี้เพียงแค่การทำให้ระบบไม่สามารถใช้งานได้โดยผู้ใช้ที่ถูกต้อง ก็สร้างความเสียหายได้มากมาย ระบบสำคัญอย่างสาธารณูปโภค เช่น ไฟฟ้า, โทรศัพท์, หรือน้ำประปา หากไม่สามารถใช้งานเพียงไม่กี่ชั่วโมง ความเสียหายอาจจะสูงจนคาดไม่ถึง ในโลกอินเทอร์เน็ต ธนาคารออนไลน์อาจจะถูกโจมตีจนกระทั่งไม่สามาถใช้งานได้สร้างความเสียหายให้กับลูกค้าของธนาคารและความน่าเชื่อถือของธนาคารเอง
โปรแกรมเมอร์ที่มีประสบการณ์สักหน่อยคงเข้าใจได้ไม่ยากว่าซอฟต์แวร์ที่ไม่มีบั๊กนั้นแทบไม่มีจริงอยู่ในโลก หนังสือ Code Complete ของ Steve McConnell ระบุว่าโดยทั่วไปแล้วโค้ดทุกๆ 1000 บรรทัด (KLOC: kilo lines of code) จะมีข้อผิดพลาดประมาณ 15-50 จุด ซอฟต์แวร์ที่คุณภาพสูงมากๆ อาจจะมีกระบวนการตรวจสอบที่รัดกุม อาจจะทำให้คุณภาพซอฟต์แวร์ดีขึ้น จุดผิดพลาดต่ำลงต่ำ แต่ซอฟต์แวร์สมัยใหม่ที่มีความซับซ้อนสูง พึ่งพิงกับไลบรารีภายนอกจำนวนมาก แทบเป็นไปไม่ได้ที่จะอ้างว่าซอฟต์แวร์เหล่านี้ไม่มีความผิดพลาดอยู่เลย ในบางกรณีอาจมีผู้อ้างว่าทำได้เช่นในโครงการอวกาศบางโครงการ แต่ซอฟต์แวร์เหล่านั้นมักเป็นงานเฉพาะทาง ไม่ต้องรองรับฮาร์ดแวร์ที่หลากหมายและมาตรฐานการเชื่อมต่
หมายเหตุ บทความนี้ไม่เกี่ยวกับข่าว "กระทรวงไอซีทีพยายามตรวจสอบและปิดกั้นเว็บเข้ารหัส ทดสอบที่เกตเวย์" แต่อย่างใด
เว็บและบริการคอมพิวเตอร์ยุคใหม่ส่วนมากมักเข้ารหัสอย่างแน่นหนาขึ้นเรื่อยๆ ในช่วงเวลาไม่กี่ปีที่ผ่านมา กระบวนการเข้ารหัสเหล่านี้คุ้มครองความเป็นส่วนตัวและความปลอดภัยของผู้ใช้ได้เป็นอย่างดี แต่แน่นอน หากวันดีคืนดีเราเป็นเจ้าของบ้านที่ควบคุมเกตเวย์อินเทอร์เน็ต "ที่บ้าน" ได้โดยไม่มีการตรวจสอบ ไม่มีการถ่วงดุล สามารถทำอะไรได้ตามใจชอบ เราอาจจะเริ่มสงสัยว่าจริงๆ แล้วเราอยากส่องข้อความที่ทุกคนส่งเข้าออกจากบ้านของเราแม้จะเข้ารหัสได้หรือไม่
กระบวนการยืนยันตัวตน (Authentication) เป็นปัญหาสำคัญในโครงสร้างความปลอดภัยคอมพิวเตอร์มาตั้งแต่เริ่มต้นยุคแรกๆ จนถึงทุกวันนี้ที่ปัญหาการขโมยตัวตนผู้ใช้ออนไลน์ยังเป็นปัญหาอยู่เรื่อยมา การยืนยันตัวตนที่ใช้งานเป็นวงกว้างทุกวันนี้คงเป็นรหัสผ่านที่มีคุณสมบัติการยืนยันตัวตนที่ดีพอสมควร เช่น เป็นความลับส่วนตัวกับเจ้าของตัวตน, และสามารถยกเลิกได้เมื่อความลับรั่วไหล แต่อย่างไรก็ตาม เราพบว่าผู้ใช้จำนวนมากมีแนวโน้มจะใช้รหัสผ่านอย่างไม่ปลอดภัย เช่น การใช้รหัสผ่านที่ง่ายต่อการคาดเดาจนเกินไป รวมถึงการใช้รหัสผ่านร่วมกันกับบริการอื่นๆ ทำให้รหัสผ่านตกอยู่ในความเสี่ยงเมื่อบริการใดบริการหนึ่งถูกเจาะจนข้อมูลรั่วไหล แฮกเกอร์มีแนวโน้มจะนำรหัสผ่านเหล่านั้นไปใช้งาน
ในรอบปีที่ผ่านมาเราพบกับปัญหาความปลอดภัย และช่องโหว่ของระบบเข้ารหัสแบบ SSL จำนวนมาก อีกทั้งยังทั่วถึงกันแทบจะทุกระบบปฏิบัติการที่มีใช้งานกันอยู่ (Windows, iOS+OSX, SSLv3 ทุก OS, Heartbleed ใน OpenSSL) ทั้งที่ส่งผลโดยตรงต่อผู้ใช้ และส่งผลโดยตรงต่อผู้ดูแลระบบ ไม่นับปัญหาที่ “อาจ” มีผลกระทบต่อผู้ใช้งานจำนวนมาก และเมื่อการทำธุรกรรมทางการเงินผ่านอินเทอร์เน็ตได้รับความนิยมมากขึ้นเรื่อยๆ เราจึงควรทราบข้อมูลทางด้านความปลอดภัยของเว็บไซต์ระบบธนาคารออนไลน์ต่างๆ ที่เปิดให้ใช้งานอยู่ในประเทศไทยไว้บ้างคร
บทความนี้เป็นตอนต่อจาก รู้จัก Web Components - ปฏิวัติการเขียน UI บน HTML ด้วยการสร้างคอมโพเนนต์ ต้องอ่านตอนแรกก่อนนะครับ
สำหรับตอนนี้เราจะพูดถึงตัว Polymer กันจริงๆ หลังจากเกริ่นนำแนวคิดของ Web Components ในฐานะ "เอกสารสเปก" ไปเมื่อตอนก่อน คราวนี้เป็นคิวของ Polymer ที่เป็นตัวซอฟต์แวร์ (implementation ตามสเปก) ที่พัฒนาโดยทีมงานกูเกิลนั่นเอง
Polymer เปิดตัวต่อโลกครั้งแรกในงาน Google I/O 2013 แต่ช่วงนั้นยังไม่มีข้อมูลออกมาเยอะมากนัก เมื่อเวลาผ่านมา 1 ปี มันถูกกล่าวถึงอีกครั้งในงาน Google I/O 2014 และถูกเน้นมากเป็นพิเศษผ่านเซสชันในงานรอบล่าสุดนี้
ในตอนที่แล้ว ผมได้พูดถึงโปรแกรม PocketSphinx ซึ่งเป็นโปรแกรมรู้จำเสียงอัตโนมัติ (Automatic Speech Recognition หรือ ASR) ที่เป็น open source สามารถปรับแต่งให้รู้จำเสียงแบบใด ภาษาใดก็ได้ โดยผมได้พูดถึงการสร้างโมเดลที่จำเป็นต้องใช้สำหรับโปรแกรมรู้จำเสียงทั้งสามแบบ ได้แก่ language model, phonetic dictionary และ acoustic model ไปแล้ว ในตอนนี้จะเป็นการทดสอบโมเดลเพื่อวัดประสิทธิภาพของโมเดล การนำเอาโมเดลทั้งสามไปใช้งานจริง การทำ adaptation acoustic model และการทำ voice activation ครับ
คนที่ติดตามงาน Google I/O 2014 คงได้ยินชื่อโครงการ Polymer ของกูเกิลกันมาบ้าง มันคือ "ไลบรารีสำหรับสร้าง UI ด้วยเทคโนโลยีเว็บ" ที่พัฒนาขึ้นบนมาตรฐานเว็บตัวใหม่ Web Components ที่ว่ากันว่าจะปฏิวัติแนวคิดของการเขียนเว็บแบบเดิมๆ ไปอย่างสิ้นเชิง
บทความนี้จะแนะนำแนวคิดของ Web Components ในฐานะมาตรฐานที่กำลังพัฒนาขึ้นโดยคณะทำงานของ W3C ก่อนจะกล่าวถึง Polymer ในตอนต่อไป (ผู้อ่านควรมีพื้นฐานด้านการพัฒนาเว็บมาบ้างพอสมควร)