Image
By lew Founder on Tag: Linux, Rust, Kernel, Linus Torvalds
Linux

เคอร์เนลลินุกซ์กำลังเริ่มรองรับภาษา Rust สัปดาห์ที่ผ่านมาไลนัสก็ออกมาตอบ Wedson Almeida Filho ถึงการใช้ Rust ในเคอร์เนลว่าการที่ Rust รับประกันความปลอดภัยในการใช้หน่วยความจำ ไม่ได้แปลว่ามันจะทำให้โค้ดปลอดภัยอย่างสมบูรณ์ และนักพัฒนาที่ยังเชื่อว่าการใช้ Rust จะทำให้โค้ดปลอดภัยก็ควรกลับไปเรียนอนุบาลแล้วหัดเลิกเชื่อเรื่องกระต่ายอีสเตอร์หรือซานตาคลอสก่อน

แม้โค้ด Rust จะรับประกันการใช้งานหน่วยความจำให้มีความปลอดภัยในกรณีทั่วๆ ไป แต่ก็มีบางกรณีที่โค้ดล้มเหลวเรื่อยๆ เช่น overflow หรือไม่สามารถจองหน่วยความจำเพิ่มได้

By lew Founder on Tag: Cloudflare, HTTP, nginx, Rust, Web Server
Cloudflare

Cloudflare รายงานถึงโครงการ Pingora พรอกซี่เซิร์ฟเวอร์ภายในของ Cloudflare เองที่พัฒนาขึ้นเพื่อทดแทน NGINX ที่ทาง Cloudflare พบข้อจำกัดหลายอย่างทำให้ไม่สามารถรีดประสิทธิภาพออกมาได้เต็มที่

By lew Founder on Tag: GCC, Compiler, Rust
GCC

GCC โครงการคอมไพลเลอร์ของ GNU ประกาศรับโค้ดรองรับภาษา Rust เข้าโครงการ หลังจาก Philip Herron นักพัฒนาจาก Embecosm พัฒนาโครงการนี้มาตั้งแต่ปลายปี 2020

โครงการคอมไพลเลอร์ขนาดใหญ่อย่าง GCC หรือ LLVM จะแบ่งฟีเจอร์ด้านการรองรับภาษา (front-end) ออกจากการรองรับสถาปัตยกรรมซีพียู (back-end) ทุกวันนี้คอมไพลเลอร์ rustc ที่เป็นคอมไพลเลอร์หลักของภาษา Rust นั้นใช้ LLVM ขณะที่ GCC รองรับสถาปัตยกรรมซีพียูกว้างขวางกว่า

By mk Founder on Tag: Rust, Kernel, Linux, Linus Torvalds, Programming, Operating System
Rust

Linus Torvalds ไปพูดที่งานสัมมนา Open Source Summit โดยบอกว่าเคอร์เนลลินุกซ์จะรองรับโค้ดที่เขียนด้วยภาษา Rust ในเร็วๆ นี้ และอาจเป็นเคอร์เนลเวอร์ชันหน้า 5.20

By lew Founder on Tag: AWS, Development, Kotlin, Rust, Swift, Programming
AWS

AWS เพิ่มภาษาที่รองรับใน AWS SDK อีก 3 ภาษา ได้แก่ Kotlin, Rust, และ Swift โดยทั้งสามภาษายังอยู่ในช่วง Developer Preview

ภาษา Kotlin นั้นมักใช้งานในแอนดรอยด์เป็นหลัก รองรับบริการ 284 ตัว รองรับฟีเจอร์ของ Kotlin เองเช่น coroutine และรันแบบ concurrent ได้

ภาษา Rust นั้นก่อนหน้านี้มีโครงการ Rusoto ทดแทน AWS SDK ทางการที่สร้างโดยนักพัฒนาภายนอกอยู่ก่อนแล้ว แต่ทาง AWS ก็เลือกพัฒนาใหม่เป็น SDK มาตรฐาน ตอนนี้เวอร์ชั่นพรีวิวรองรับบริการ 288 ตัว หากใช้งานใน AWS เช่น EC2, ECS, หรือ Lambda จะคอนฟิกอัตโนมัติ และใช้ฟีเจอร์ของภาษา Rust เต็มที่

By lew Founder on Tag: Rust, Programming, Unicode, Security
Rust

เมื่อกลางปีที่ผ่านมามีรายงานการโจมตี CVE-2021-42574 ที่อาศัยอักขระ Unicode สำหรับการพิมพ์จากขวาไปซ้าย ทำให้ตัวแก้ไขโค้ดแสดงอักขระกลับข้างเปิดทางให้คนร้ายอาจจะซ่อนโค้ดเอาไว้ภายในซอร์สโค้ดเอง โดยที่โปรแกรมเมอร์มองไม่เห็นซอร์สโค้ดนั้น

ปัญหานี้ไม่ใช่ปัญหาของภาษาโปรแกรมมิ่งโดยตรง แต่วันนี้ทาง Rust ก็ออกมาประกาศว่าจะป้องกันปัญหานี้ด้วยการเพิ่มกฎตรวจสอบโค้ด (lint) เข้าไปใน rustc ทำให้โค้ดที่มีอักขระ Unicode เหล่านี้คอมไพล์ไม่ผ่าน หากต้องการใช้งานจริงๆ ต้อง escape ตัวอักขระเสียก่อน

By lew Founder on Tag: 1Password, Password Manager, Security, Linux, Rust
1Password

1Password ประกาศเปิดตัวรุ่นลินุกซ์เต็มรูปแบบ อินทิเกรตกับลินุกซ์ เช่น การอ่านค่าธีมสว่างหรือมืดจากค่าคอนฟิก GTK, เติมรหัสผ่านให้เบราว์เซอร์, ทำงานร่วมกับ clipboard ของ X11, และเชื่อมต่อกับการล็อกระบบ

จุดน่าสนใจของ 1Password ลินุกซ์คือฟีเจอร์หลายตัวนั้นนำหน้าเวอร์ชั่นอื่นๆ ไปเสียอีก เช่น การแนบไฟล์แบบเข้ารหัส, เก็บรหัสผ่านที่ไม่ได้ใช้ (archiving), dashboard สำหรับตรวจความปลอดภัยรหัสผ่าน

By lew Founder on Tag: Facebook, Rust, Programming
Facebook

เฟซบุ๊กประกาศเข้าเป็นสมาชิก Rust Foundation มูลนิธิเพื่อการพัฒนาภาษา Rust ที่เพิ่งก่อตั้งเมื่อต้นปีที่ผ่านมา โดยสมัครเป็นระดับแพลตตินั่มที่เป็นระดับสูงสุดเท่ากับ 5 องค์กรที่ร่วมก่อตั้ง คือ AWS, Google, Huawei, Microsoft, และ Mozilla

Joel Marcey หัวหน้าทีมโอเพนซอร์สของเฟซบุ๊ก และตอนนี้เป็นกรรมการ Rust Foundation ระบุว่ามีการใช้ภาษา Rust มาตั้งแต่ปี 2016 ในทุกส่วนของการพัฒนา ตั้งแต่ระบบควบคุมซอร์สโค้ดไปจนถึงคอมไพล์เลอร์

By mk Founder on Tag: Rust, OpenSSL, Security, Open Source, ISRG
Rust

ช่วงหลังเราเห็นความนิยมใช้ภาษา Rust ทดแทน C ด้วยเหตุผลด้านความปลอดภัย เพราะมีฟีเจอร์ memory safety ที่ตัวภาษาเอง ตัวอย่างที่สำคัญคือ Android จะเริ่มใช้ Rust เขียนบางส่วนของ OS แล้ว

By mk Founder on Tag: Rust, Microsoft, Programming
Rust

ไมโครซอฟท์เปิดคอร์สสอนเขียนภาษา Rust สำหรับผู้เริ่มต้น โดยเป็น เอกสาร tutorial บนเว็บไซต์ Microsoft Docs มีเนื้อหา 8 โมดูล ใช้เวลาเรียนประมาณ 5 ชั่วโมง เรียนจบแล้วสามารถเขียนโปรแกรม Rust ง่ายๆ แบบคอมมานด์ไลน์ได้

เอกสารนี้สอนการเขียน Rust โดยใช้ VS Code เป็น editor และสอนแนวคิดเบื้องต้น เช่น ระบบจัดการแพ็กเกจ Cargo, ชนิดของตัวแปรต่างๆ, การจัดการหน่วยความจำ เป็นต้น

By mk Founder on Tag: Rust, Android, Operating System, Security
Rust

แม้ Linus Torvalds ยังแบ่งรับแบ่งสู้เรื่องการใช้ภาษา Rust ในเคอร์เนล แต่ล่าสุดฝั่งกูเกิลออกมาประกาศรองรับ Rust ในตัวระบบปฏิบัติการ Android อย่างเป็นทางการแล้ว

เหตุผลของกูเกิลคือต้องการลดจำนวนบั๊กด้านหน่วยความจำ (memory safety) ที่เกิดจากภาษา C/C++ ซึ่งบั๊กเหล่านี้ตรวจสอบได้ยาก และมีผลกระทบสูงในแง่ความปลอดภัย (คิดเป็น 70% ของช่องโหว่ความปลอดภัย Android ระดับรุนแรง)

By mk Founder on Tag: Rust, Linux, Kernel, Linus Torvalds
Rust

ภาษา Rust เริ่มได้รับความนิยมมากขึ้นเรื่อยๆ จากฟีเจอร์เด่นเรื่อง memory safety ตั้งแต่ระดับของตัวภาษาเลย ช่วยลดปัญหาบั๊กความปลอดภัยที่มาจากหน่วยความจำลงได้มาก ช่วงหลังเราจึงเห็น Rust ถูกใช้ในงานระดับล่างๆ (ที่เดิมทีใช้ภาษา C) กันมากขึ้น ตัวอย่างเช่น Bottlerocket ระบบปฏิบัติการของ Amazon

จากกระแส Rust มาแรง ทำให้ ZDNet ไปสอบถาม Linus Torvalds และ Greg Kroah-Hartman ผู้ดูแลเคอร์เนลเวอร์ชันเสถียร (ถือเป็น 2 คนที่สำคัญที่สุดของโครงการเคอร์เนลลินุกซ์) ว่ามีความเห็นอย่างไรกับการใช้ Rust ในเคอร์เนลลินุกซ์

By lew Founder on Tag: Cloudflare, Security, Firewall, Rust
Cloudflare

Cloudflare อัพเดต Web Application Firewall ตัวใหม่จากเดิมที่รันไฟร์วอลล์ใน LuaJIT หันมาสร้างเอนจินใหม่จาก Rust

การอัพเดตครั้งนี้จะทำให้ตัวไฟร์วอลล์เอนจินของ Cloudflare ใช้คอนฟิกแบบ wirefilter syntax ที่มีแนวทางคอนฟิกเหมือนการคิวรีแพ็กเก็ตใน Wireshark (Cloudflare โอเพนซอร์สตัวเอนจิน wirefilter มาตั้งแต่ปี 2019) คอนฟิกแบบใหม่นี้ยืดหยุ่นขึันและประสิทธิภาพดีขึ้น

By lew Founder on Tag: Google, Rust, Security, Open Source
Google

กูเกิลประกาศความร่วมมือกับ ISRG องค์กรแม่ของ Let's Encrypt เตรียมช่วยเหลือโครงการโอเพนซอร์สสำคัญให้อิมพลีเมนต์ใหม่ด้วยภาษา Rust เพื่อแก้ปัญหาช่องโหว่หน่วยความจำ

เมื่อต้นเดือนที่ผ่านมากูเกิลประกาศความร่วมมือรูปแบบนี้โดยเข้าไปสนับสนุนโครงการ mod_tls ของ Apache การประกาศขยายความร่วมมือครั้งนี้ทาง ISRG จะเข้าไปสนับสนุนให้โครงการต่างๆ ให้ค่อยๆ อิมพลีเมนต์เครื่องมือและไลบรารีส่วนต่างๆ เสียใหม่

By lew Founder on Tag: Rust, Programming, Open Source
Rust

โครงการภาษา Rust ก่อตั้งเป็นมูลนิธิตามกฎหมายในชื่อ Rust Foundation อย่างเป็นทางการเรียบร้อยแล้ว โดยมีบริษัทร่วมก่อตั้ง ได้แก่ AWS, Huawei, Google, Microsoft, และ Mozilla โดยรวมทางมูลนิธิจะมีงบประมาณสำหรับบริการโครงการ Rust อย่างน้อยปีละล้านดอลลาร์ไปอีก 2 ปี

กรรมการชุดแรกของมูลนิธิมี 10 คนประกอบด้วยตัวแทนจาก 5 บริษัทร่วมก่อตั้ง และ 2 คนจากโครงการพัฒนาหลัก และอีก 3 คนที่ดูแลโครงการสำคัญ ได้แก่ เสถียรภาพ (reliability), คุณภาพ (quality), และ การมีส่วนร่วม (collaboration)

By mk Founder on Tag: Apache, Web Server, Rust, TLS, SSL, Security, ISRG
Apache

ผู้ใช้ Apache Web Server คงคุ้นเคยกับ mod_ssl ที่ใช้จัดการ HTTPS โดยโมดูลนี้เขียนด้วยภาษา C ซึ่งมีปัญหาตามมาเรื่องความปลอดภัยที่ระดับตัวภาษา และที่ผ่านมาก็พบช่องโหว่ความปลอดภัยมากมาย

ล่าสุด กูเกิลประกาศสนับสนุนโครงการใหม่ mod_tls ที่ทำงานแบบเดียวกัน แต่เขียนด้วยภาษา Rust ที่ออกแบบมาให้ปลอดภัยมากขึ้น (memory safety)

By mk Founder on Tag: Microsoft, Windows, API, C#, Rust, Development
Microsoft

ไมโครซอฟท์มีแนวทางหลอมรวม Win32 และ UWP เข้าด้วยกันภายใต้ Project Reunion ซึ่งประกอบด้วยโครงการย่อยหลายอย่าง เป้าหมายข้อหนึ่งของ Reunion คือเปิดให้ใช้ภาษาโปรแกรมรุ่นใหม่ๆ เขียนแอพบนวินโดวส์ได้หลากหลายขึ้น

ข้อจำกัดสำคัญของ Win32 API แบบดั้งเดิมคือมันถูกสร้างขึ้นในยุคภาษา C/C++ จึงรองรับเฉพาะภาษานี้ หากต้องการเขียนโปรแกรม Win32 ด้วยภาษาโปรแกรมอื่น จำเป็นต้องมี binding หรือ wrapper มาทำหน้าที่เชื่อมต่อ API ให้

By lew Founder on Tag: Cloudflare, Rust
Cloudflare

Cloudflare เปิดซอร์สโครงการ Saffron ที่เป็นไลบรารีสำหรับอ่านค่าคอนฟิก cron ที่ใช้กำหนดเวลารันงานตามห้วงเวลาในอนาคต หลังจากก่อนหน้านี้ทาง Cloudflare ประสบปัญหาว่าไลบรารีบน frontend นั้นรองรับคอนฟิก cron ไม่ตรงกับระบบหลังบ้านเนื่องจากใช้ไลบรารีคนละตัวกัน

By lew Founder on Tag: Rust, Library
Rust

Tokio รันไทม์เน็ตเวิร์คแบบ asynchronous ยอดนิยมของภาษา Rust ประกาศออกเวอร์ชั่น 1.0 เป็นเวอร์ชั่นแรกในรอบ 4 ปีนับแต่เปิดตัวโครงการที่จะคง API ให้เสถียรสำหรับการใช้งานในระยะยาว

Tokio ถูกใช้งานในโครงการใหญ่ๆ จำนวนมาก เช่น AWS ที่จ้างนักพัฒนา Rust เข้าบริษัทจำนวนมากก็ใช้ Tokio ในบริการ Lambda หรือ Discord ก็เปลี่ยนมาใช้ Tokio เพื่อลดระยะเวลาหน่วงของระบบ

By mk Founder on Tag: Deno, Rust, JavaScript
Deno

โครงการ Deno รันไทม์ JavaScript/TypeScript ที่เขียนด้วยภาษา Rust ของผู้สร้าง Node.js เปิดตัวเวอร์ชัน 1.0 ไปเมื่อเดือนพฤษภาคม

ตอนนี้ Deno เดินทางมาถึงเวอร์ชัน 1.5 โดยปรับปรุงทั้งเรื่องฟีเจอร์และประสิทธิภาพอย่างรวดเร็ว ของใหม่ในเวอร์ชันนี้คือ Deno เปลี่ยนมาใช้คอมไพเลอร์ชื่อ swc ที่เขียนด้วยภาษา Rust เช่นกัน ทำให้ประสิทธิภาพตอนเช็คชนิดของตัวแปร (type-check) เพิ่มขึ้น 3 เท่า (หรือ 15 เท่าถ้าระบุว่าไม่ต้องเช็คเลย)

Subscribe to Rust