Node Master
1.02K subscribers
24 photos
2 files
156 links
Group Chat: @nodemastergp
Admin: @napoleon_n1
Download Telegram
Channel created
Channel photo updated
console.log("Welcome To Node Master")
👍6
اگر با Nodejs کار میکنید قطعا اسم Deno رو هم به عنوان یک Runtime رقیب میشناسید.
به تازگی نسخه 1.28 این Runtime منتشر شد.

حالا چنل یوتیوب رسمی Deno در یک لایو استریم قرار هست راجع به ویژگی های جدید این نسخه صحبت کنن

https://www.youtube.com/live/5tUDSrnHFPk?si=xg5BpMhSti4PlbMl
👍1
نسخه LTS جدید برای NodeJs منتشر شد.
بزودی لیستی از ویژگی های این نسخه در اینجا خواهم گذاشت.
اگر هم دوست دارید میتونید خودتون برید بخونید.

https://nodejs.org/en/blog/release/v20.9.0
👍1
یکی از مشکلاتی که Node داشت و Deno سعی بر حل آن بود امنیت اجرای پکیج های 3rd party بود که اگر پکیجی بخواهد کارهایی از قبیل دسترسی به network یا خواندن و نوشتن دیتا روی disk انجام دهد شما باید به عنوان developer تایید کنید و اجازه دسترسی بدهید.
و حالا در Node 20 LTS شاهد این موضوع هستیم که تیم توسعه دهنده این ويژگی رو به صورت آزمایشی در Node پیاده سازی کردند که باعث امیدواری زیادی هست.
// fileread.js
import { readFileSync } from "fs";
const content = readFileSync("myfile.txt");
console.log(content);
حالا شما اگر فایل fileread.js رو اگر با کامند

node fileread.js

به صورت معمول استفاده کنید همه چیز طبق روال قدیم اجرا خواهد شد.
ولی اگر بخواهید از این ویژگی استفاده کنید حتما باید برنامه خود را با flag

--experimental-permission

اجرا کنید.
node --experimental-permission fileread.js
حالا با اجرای fileread با این flag شما با ارور زیر مواجهه خواهید شد که در بخش توضیحات ارور میگه برنامه شما در حال تلاش برای خواندن فایل از روی دیسک است و دسترسی به خواندن فایل از روی سیستم نیاز است.
node --experimental-permission fileread.js                    
node:internal/modules/cjs/loader:178
const result = internalModuleStat(filename);
^

Error: Access to this API has been restricted
at node:internal/main/run_main_module:23:47 {
code: 'ERR_ACCESS_DENIED',
permission: 'FileSystemRead',
resource: '/home/imanhpr/Desktop/sandbox/nod/fileread.js'
}
Node.js v20.9.0

حال برای دادن مجوز های لازم به برنامه میتوانید از این کامند استفاده کنید تا برنامه شما دسترسی به خواندن فایل داشته باشد.
node --experimental-permission --allow-fs-read='*' fileread.js 
این ویژگی امنیت پروژه های شما رو تا حدود زیادی بالاتر میبرد و به پکیج های نصب شده توسط npm اجازه ارسال اطلاعات بدون دسترسی نمیدهد و درصورتی که پکیج مخربی نصب کنید به سرعت متوجه خواهید شد.
👍7