สวัสดีครับ บทความนี้ผมจะมาเรียนรู้กันนะครับว่า Deno คืออะไร มีฟีเจอร์สำคัญอะไรบ้าง รวมไปถึงการใช้งานเบื้องต้น
Deno เป็น JavaScript Runtime เหมือนกับ Node.js เลยครับ ผู้สร้าง Deno คือ Ryan Dahl ซึ่งเป็นคนเดียวกันกับผู้ที่เริ่มโครงการ Node.js ตั้งแต่ปี 2009 หลังจากนั้นเค้าก็ได้ออกจากโครงการ Node.js ไปเมื่อปี 2012 และกลับมาพัฒนาโครงการ Deno โดยใช้ภาษา Rust ในการพัฒนา และกล่าวด้วยว่า Deno นั้นสร้างขึ้นมาเพื่อลบข้อเสียของ Node.js ตอนนี้ Deno ก็ออกเวอร์ชั่น 1.0 พร้อมสําหรับการใช้งานจริงแล้ว
สามารถ Download และ Install ตาม Document ของ Deno ที่นี่ได้เลยครับ deno.land/
เริ่มต้น Deno ด้วย Project แรก Hello World กันครับ
คือจะบอกว่ามันง่ายมากๆ มันง่ายอย่างไงมาดูกันต่อครับ
แบบแรก เราสามารถทําแบบนี้ได้ครับ คือรัน Code ของเราที่อยู่บน Internet ได้เลย แบบนี้
$ deno run https://deno.land/std/examples/welcome.ts
หรือแบบที่สอง สร้าง file “app.ts” แล้วใส่ Code นี้ลงไป
import { serve } from 'https://deno.land/[email protected]/http/server.ts';
const s = serve({ port: 8000 });
console.log('http://localhost:8000/');
for await (const req of s) {
req.respond({ body: 'Hello World\n' });
}
และใช้คําสั่ง run ด้วยคำสั่งนี้
$ deno run --allow-net app.ts
ให้สังเกตุว่า เราสามารถ Import script จาก internet มาใช้งานได้เลย และ —allow-net เพื่อ บอก Deno ว่าเราจะใช้ Network ด้วย
เป็นไงครับง่ายมั้ยครับ ถ้าเทียบกับ Node.js
nginx สามารถ config ให้ limit จํานวน request และ connection ได้ ทั้งนี้เพื่อป้องกันการ request เข้ามามากๆเกินความเป็นจริงที่ client จะทําได้
ช่วงดึกเมื่อวานนี้ (5 มิ.ย. 2562) ได้มีการโหวตเลือกนายกรัฐมนตรีคนที่ 30 ของประเทศไทย โดยผลการโหวต พล.อ.ประยุทธ์ จันทร์โอชา แคนดิเดตนายกฯ ที่ถูกเสนอชื่อโดยพรรคพลังประชารัฐ ชนะด้วยเสียงสนับสนุนจาก ส.ส. และส.ว. รวมกัน 500 คะแนน ขณะที่นายธนาธร จึงรุ่งเรืองกิจ แคนดิเดตนายกฯ ฝั่ง 7 พรรคประชาธิปไตย ได้เสียงสนับสนุน 244 คะแนน ซึ่งมีรายละเอียดของคะแนนมีดังนี้
strncpy เป็น function สําหรับ copy string จากตัวแปรต้นทางไปใส่ในตัวแปรปลายทางรูปแบบการใช้char *strncpy(char *dest, const char *src, size_t n) Parameter