فارسی
باز کردن در Telegram

پست ‏Do not use fs sync methods in Javascript⚡️

5 سپتامبر 2024
G
genix
‏Do not use fs sync methods in Javascript⚡️ زمانی که ماژول fs رو در Node.js فراخوانی میکنیم، یک فهرست طولانی از متد های Syntc بهمون میده مثل: .readFileSync, fs.rmSync, fs.writeFileSync و... خیلی از متد های دیگه شبیه این متد ها هستن. مثلا من میخام یک فایل رو بخونیم: const file = fs.readFileSync("codemodule.txt") اگه ما این فایل رو اجرا کنیم واقعا متوجه این کند بودن نمیشیم (جوری که فکر میکنیم دسترسی به فایل ها و خوندن سریع هست)، در حالی که اینگونه نیست! دسترسی به فایل سیستم کند هست و این هم باید در نظر بگیریم که کد های js در بین چندین لایه کد قرار داره (کد های خود js و c++ و...) هرجور بخوایم حساب کنیم در بهترین شرایط باز هم دسترسی به فایل ها کند هست! به عنوان مثال من امروز نیاز داشتم که 10 هزار فایل که حجم هر فایل 10 بایت هست رو ایجاد کنم. پیاده سازی اولیه من با استفاده از fs و متد های Sync بود. وقتی تست رو ران کردم این خروجی بهم داد( به صورت تقریبی هست): Logging with frequent rotations took 223981~~ ms چیزی حدود 4 دقیقه طول میکشه و خب خوب نیست. درواقع وقتی ما از متد های Sync استفاده میکنیم ایونت لوپ Nodejs رو متوقف میکنیم و بهش میگیم:"صبر کن کار من تموم شه" که همین باعث میشه چیزی حدود 4 دقیقه کمتر یا بیشتر طول بکشه. اما اگر همین کار رو بدون استفاده از متد ها Sync و از fs.promises استفاده کنیم نتیجه خیلی چشمگیر و بهتر از قبلی هست. که با چنین خروجی احتمالی روبرو میشیم: Logging with frequent rotations took 7555.057167 ms چیزی حدود 7 ثانیه که متغیر هست 👀 این یکی از محکم ترین دلایلی هست که "نباید از متد های Sync استفاده کنیم". شما میتونید برای اطلاعات بیشتر مقاله زیر و کد ها رو بخونید (با متد های sync و بدون آنها) - Article #nodejs @CodeModule
13 · 1.2K ·

در همان حوالی فید

Ggenixبا پترن Proxy آشنا بشید! 🪻 الگوی پروکسی یک الگوی طراحی نرم افزار هست. یک پروکسی در کلی ترین شکل خود، کلاسی هست که به عنوان رابطی برای چیز دیگری عمل میکنه. پروکس𔓙𔓙اگه در توسعه پروژتون نیاز به بک اند و دیتابیس داشتید، اما به هر دلیلی دسترسی به بک اند کار نداشتید و از فایربیس امثالهم خسته شدید، میتونید از ابزاری به نام Json
این پیام
𔓙𔓙سوالات مصاحبه ای React.js 💠 در سایت زیر میتونید مجموعه ای از سوالات کاربردی و مصاحبه ای کتابخانه React.js رو به همراه جواب مشاهده کنید. با استفاده از این سایت، MMahan-Heydari‏WSL چیه ؟ ازش استفاده کنیم یا نه ؟ 🪴 🔵در واقع Windows Subsystem for Linux (WSL) یک فیچر ویندوزه که به شما این امکان رو میده که توزیع‌های مختلف لینوکس رو مستقیم
CCode Module | کد ماژولCode Module | کد ماژول@CodeModule · کانال · فناوری
2 180مشترک594میانگین دسترسی پست
فید انجمن باز کردن در Telegram

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما