بانک آموزشی

بانک آموزشی

نرم افزار - سخت افزار - طراحی - برنامه نویسی _ ویروس شناسی ...
بانک آموزشی

بانک آموزشی

نرم افزار - سخت افزار - طراحی - برنامه نویسی _ ویروس شناسی ...

فایل سیستم ReFS در ویندوز 11

مایکروسافت با انتشار نسخه 24H2 ویندوز 11، تغییرات گسترده‌ای را در این سیستم‌عامل محبوب اعمال کرده است که از جهات مختلف تجربه کاربران را ارتقا می‌دهد. این به‌روزرسانی شامل بهبودهای عملکردی، ویژگی‌های جدید و ارتقاء امنیتی است که باعث شده ویندوز 11 همچنان یکی از پیشروترین سیستم‌عامل‌های جهان باقی بماند. یکی از نوآوری‌های قابل توجه در این نسخه، معرفی فایل سیستم ReFS است که با هدف بهبود مقیاس‌پذیری و پایداری داده‌ها توسعه یافته است.

فایل سیستم ReFS چیست و چرا اهمیت دارد؟

ReFS که مخفف Resilient File System است، اولین بار توسط مایکروسافت در سال 2012 معرفی شد و از همان ابتدا به عنوان جایگزینی برای NTFS طراحی شد. هدف اصلی ReFS بهبود در مدیریت داده‌ها و افزایش اطمینان از صحت داده‌ها در محیط‌هایی است که با حجم‌های بسیار بزرگ داده سروکار دارند، مانند مراکز داده و سیستم‌های ذخیره‌سازی پیشرفته.

در ویندوز 11 نسخه 24H2، مایکروسافت این فایل سیستم را به عنوان یک گزینه برای کاربران حرفه‌ای و توسعه‌دهندگان معرفی کرده است که به مقیاس‌پذیری بالا، مقاومت در برابر خرابی‌های داده و مدیریت خودکار فضای ذخیره‌سازی نیاز دارند.

قابلیت‌ها و ویژگی‌های ReFS

فایل سیستم ReFS با هدف افزایش قابلیت اطمینان و کارایی در مدیریت داده‌ها توسعه یافته است. برخی از ویژگی‌های کلیدی آن عبارتند از:

  1. مقاومت در برابر خطاهای داده: ReFS با استفاده از مکانیزم‌های تصحیح خودکار خطا، می‌تواند از بروز خطاهای داده جلوگیری کند و حتی در صورت وقوع خرابی، به سرعت آن‌ها را اصلاح کند. این امر به ویژه برای داده‌های حساس و حیاتی اهمیت دارد.
  2. مقیاس‌پذیری بالا: ReFS به‌گونه‌ای طراحی شده است که قادر به مدیریت حجم‌های بزرگ داده بدون کاهش عملکرد باشد. این ویژگی باعث می‌شود ReFS برای استفاده در محیط‌های سروری و مراکز داده بسیار مناسب باشد.
  3. Block Cloning: یکی از قابلیت‌های جدید و برجسته ReFS در ویندوز 11، فناوری Block Cloning است که سرعت کپی فایل‌ها را به شدت افزایش می‌دهد. طبق گزارش مایکروسافت، این ویژگی می‌تواند سرعت کپی فایل‌های کوچک را تا 18٪ و فایل‌های بزرگ را تا 94٪ افزایش دهد.
  4. پشتیبان‌گیری خودکار: ReFS با استفاده از سیستم پشتیبان‌گیری داخلی، به طور خودکار از داده‌ها پشتیبان تهیه می‌کند و بررسی‌های دوره‌ای روی سلامت داده‌ها انجام می‌دهد. این ویژگی باعث می‌شود کاربران دیگر نیازی به بررسی دستی و زمان‌بر سلامت هارد دیسک‌ها نداشته باشند.
  5. حفاظت در برابر خرابی داده‌ها: اگر بخشی از داده‌ها در حین عملیات دچار خرابی شود، ReFS قادر است به صورت خودکار بخش معیوب را جدا کند بدون اینکه به سایر بخش‌های داده آسیبی وارد شود.

تفاوت‌های ReFS و NTFS

ReFS و NTFS هر دو از فایل سیستم‌های محبوب و پرکاربرد ویندوز هستند، اما تفاوت‌های زیادی در کارایی، عملکرد و کاربردهای هر کدام وجود دارد. در حالی که NTFS بیشتر در سیستم‌های خانگی و کاربران عمومی مورد استفاده قرار می‌گیرد، ReFS به طور خاص برای استفاده در محیط‌های حرفه‌ای، سرورها و سیستم‌های ذخیره‌سازی بزرگ طراحی شده است. در ادامه برخی از تفاوت‌های کلیدی این دو سیستم فایل بررسی شده‌اند:

مزایای ReFS نسبت به NTFS

  • پایداری بیشتر در برابر خطاها: ReFS با استفاده از تکنیک‌های خودکار تصحیح خطا، از پایدارترین فایل سیستم‌ها در برابر خطاهای داده‌ای محسوب می‌شود.
  • مدیریت بهتر داده‌های بزرگ: اگر با حجم عظیمی از داده‌ها سروکار دارید، ReFS با طراحی مقیاس‌پذیر خود می‌تواند انتخاب مناسبی باشد.
  • پشتیبانی از ذخیره‌سازی پیچیده: ReFS در مقایسه با NTFS از پیکربندی‌های پیچیده ذخیره‌سازی، مانند RAID و چندین دیسک سخت، پشتیبانی بهتری دارد.

محدودیت‌های ReFS در مقایسه با NTFS

  • عدم پشتیبانی از بوت سیستم: یکی از بزرگ‌ترین معایب ReFS این است که نمی‌توان از آن به عنوان فایل سیستم بوت ویندوز استفاده کرد؛ در نتیجه، برای درایوی که ویندوز بر روی آن نصب شده است، همچنان باید از NTFS استفاده شود.
  • پشتیبانی کمتر از برخی ویژگی‌ها: برخی از ویژگی‌های مفید NTFS، مانند فشرده‌سازی، رمزنگاری و لینک‌های سخت در ReFS وجود ندارند.
  • مصرف بیشتر منابع سیستم: ReFS به دلیل ویژگی‌های پیشرفته‌تری که دارد، نسبت به NTFS منابع بیشتری از سیستم مصرف می‌کند.

کاربردهای ReFS: چه کسانی باید از آن استفاده کنند؟

ReFS به طور خاص برای محیط‌هایی طراحی شده است که نیاز به مدیریت حجم‌های بزرگ داده و ذخیره‌سازی پایدار دارند. این شامل استفاده در سرورها، مراکز داده، و سیستم‌هایی می‌شود که به سرعت و پایداری بالایی در مدیریت داده‌ها نیاز دارند. برخی از کاربردهای اصلی ReFS عبارتند از:

  • مراکز داده و سرورها: به دلیل مقیاس‌پذیری بالا و قابلیت‌های خودکار مدیریت داده‌ها، ReFS برای سرورها و مراکز داده گزینه‌ای عالی است.
  • برنامه‌نویسان و توسعه‌دهندگان: ویژگی Block Cloning در ReFS به توسعه‌دهندگان نرم‌افزار و بازی که با فایل‌های زیادی سروکار دارند، امکان افزایش سرعت کپی و انتقال داده‌ها را می‌دهد.
  • ذخیره‌سازی‌های پیشرفته: ReFS برای پیکربندی‌های پیچیده ذخیره‌سازی، مانند RAID، گزینه بهتری نسبت به NTFS است.

Dev Drive: ترکیب ReFS با Block Cloning در ویندوز 11

در ویندوز 11 نسخه 24H2، قابلیت جدیدی به نام Dev Drive معرفی شده است که از ReFS به همراه ویژگی Block Cloning بهره می‌برد. این قابلیت به طور خاص برای توسعه‌دهندگان نرم‌افزار و اپراتورهای سرور طراحی شده است. Dev Drive می‌تواند به طور چشمگیری سرعت عملیات‌های مرتبط با کپی و انتقال فایل‌ها را افزایش دهد. این ویژگی به توسعه‌دهندگان امکان می‌دهد تا فرآیندهای خود را سریع‌تر و با کارایی بیشتری انجام دهند.

معایب استفاده از ReFS: آیا برای همه مناسب است؟

با اینکه ReFS دارای مزایای زیادی است، اما همچنان معایب و محدودیت‌هایی دارد که ممکن است آن را برای همه کاربران مناسب نکند. برخی از این معایب عبارتند از:

  1.  عدم پشتیبانی از بوت سیستم: همان‌طور که پیش‌تر ذکر شد، از ReFS نمی‌توان برای نصب سیستم‌عامل استفاده کرد، بنابراین NTFS برای درایوهای سیستم‌عامل ضروری است.
  2. مصرف بالاتر منابع سیستم: ReFS به دلیل ویژگی‌های پیشرفته‌اش نیاز به منابع بیشتری از سخت‌افزار دارد که ممکن است در سیستم‌های قدیمی یا با منابع محدود مشکلاتی ایجاد کند.
  3. پشتیبانی نرم‌افزاری محدود: نرم‌افزارهای زیادی همچنان به طور کامل با ReFS سازگار نیستند و ممکن است برای برخی کاربردها، به پشتیبانی بهتر NTFS نیاز داشته باشید.
نتیجه‌گیری

انتخاب بین ReFS و NTFS بستگی به نیازهای خاص شما دارد. اگر به دنبال یک سیستم فایل با پایداری بالا و مدیریت بهتر داده‌های بزرگ هستید، ReFS می‌تواند گزینه مناسبی باشد، به ویژه در محیط‌های حرفه‌ای و سروری. با این حال، برای کاربران خانگی یا کاربرانی که به ویژگی‌های خاص NTFS مانند فشرده‌سازی و رمزنگاری نیاز دارند، NTFS همچنان انتخاب بهتری است.

ReFS نشان‌دهنده آینده مدیریت فایل‌ها در ویندوز است، اما هنوز به پشتیبانی گسترده‌تر و بهینه‌سازی بیشتری نیاز دارد تا به طور کامل جایگزین NTFS شود. تا آن زمان، استفاده از هر دو سیستم فایل بسته به نیازها و محیط کاربری ممکن است بهترین راه‌حل باشد.

چت جی پی تی (ChatGPT) چگونه کار می کند؟

بسیاری از کاربران هنگامی که از هوش مصنوعی چت جی پی تی استفاده می‌کنند، به این فکر می‌افتند که واقعاً این سیستم چگونه پاسخ‌های خود را تولید می‌کند. در حالی که توضیح کامل این فرآیند به علت پیچیدگی آن دشوار است، اما در اینجا سعی کرده‌ایم به زبانی ساده مراحل کلی کار این مدل را توضیح دهیم. با این اطلاعات، شاید بتوانید بهتر درک کنید که وقتی سوالی از ChatGTP می‌پرسید، چگونه به پاسخ شما می‌رسد.

چت جی پی تی چگونه کار می کند؟

مرحله اول: ذخیره‌سازی اطلاعات در قالب کدهای عددی

چت جی پی تی مانند یک دوست پرمطالعه است که اطلاعات زیادی از هزاران کتاب و مقالات آنلاین به دست آورده است. اما این اطلاعات را به همان شکل که ما می‌خوانیم و درک می‌کنیم، ذخیره نمی‌کند. بلکه همه چیز در قالب «کدهای عددی» یا توکن‌ها در ذهن این مدل ذخیره می‌شود. این کدها داده‌های متنی را به اعداد و بردارهای ریاضی تبدیل می‌کنند، که به آن اجازه می‌دهد تا داده‌ها را پردازش کند.

ذخیره‌سازی اطلاعات در قالب کدهای عددی

به عنوان مثال، وقتی شما از چت جی پی تی سوالی می‌پرسید، این مدل به بخش‌های مختلفی از داده‌های ذخیره‌شده خود مراجعه می‌کند تا مرتبط‌ترین توکن‌ها را بازیابی کرده و پاسخی مناسب ارائه دهد.

مرحله دوم: تبدیل کلمات به توکن

هنگامی که شما سوالی از چت جی پی تی می‌پرسید، ابتدا باید سوال شما را به زبانی که خود مدل می‌فهمد، یعنی زبان ریاضی و کدهای عددی، ترجمه کند. این فرآیند با تجزیه کلمات به توکن‌ها شروع می‌شود. هر کلمه یا عبارت، به یک نقطه در فضای ریاضی مدل تبدیل می‌شود. به عنوان مثال، اگر بپرسید «علی دایی فوتبال بازی می‌کند؟»، چت جی پی تی می‌تواند بفهمد که «علی دایی» و «فوتبال» با هم مرتبط هستند و موقعیت این دو مفهوم را در فضای ریاضی خود تشخیص دهد.

تبدیل کلمات به توکن

مرحله سوم: فیلتر کردن اطلاعات با استفاده از فیلترهای هوشمند

چت جی پی تی برای آنکه بتواند پاسخ مناسبی ارائه دهد، نیاز به فیلتر کردن اطلاعات نامرتبط دارد. این مدل از فیلترهای هوشمندی مانند ReLU (واحدهای خطی اصلاح شده) استفاده می‌کند که به او کمک می‌کند تنها اطلاعات مرتبط و مهم را نگه دارد. برای مثال، اگر شما سوالی درباره «علی دایی» بپرسید، ChatGPT به طور خودکار اطلاعاتی را که واقعاً به او و فوتبال مرتبط هستند انتخاب می‌کند و سایر اطلاعاتی که ممکن است نامرتبط باشند، کنار می‌گذارد.

فیلتر کردن اطلاعات با استفاده از فیلترهای هوشمند

فیلتر کردن اطلاعات با استفاده از فیلترهای هوشمند

مرحله چهارم: ترکیب اطلاعات برای ارائه پاسخ

پس از فیلتر کردن اطلاعات، چت جی پی تی توکن‌های مرتبط را مانند قطعات پازل کنار هم قرار می‌دهد تا به شما پاسخ دهد. برای مثال، وقتی می‌پرسید «آسمان چه رنگی است؟»، این مدل توکن‌های مرتبط با آسمان و رنگ را ترکیب می‌کند و با استفاده از داده‌هایی که از قبل دارد، به پاسخ می‌رسد که «آسمان آبی است». البته این پاسخ‌ها صرفاً از روی الگوهایی که مدل قبلاً دیده، انتخاب می‌شود و بر پایه درک واقعی نیست.

ترکیب اطلاعات برای ارائه پاسخ

آیا چت جی پی تی واقعاً «می‌فهمد»؟

شاید از خود بپرسید آیا ChatGPT واقعاً می‌فهمد که چه می‌گوید؟ پاسخ این است که خیر، چت جی پی تی مانند انسان‌ها فکر نمی‌کند و هیچ‌گونه احساسی ندارد. او صرفاً با الگوهای متنی کار می‌کند. هنگامی که سوالی از او پرسیده می‌شود، با توجه به الگویی که از متن‌های قبلی دیده، پاسخی را انتخاب می‌کند که به نظرش با سوال شما همخوانی دارد.

آیا چت جی پی تی واقعاً «می‌فهمد»؟

چرا ChatGPT گاهی اشتباه می‌کند؟

چت جی پی تی بر اساس الگوبرداری از متن‌های قبلی پاسخ‌ها را تولید می‌کند. بنابراین، ممکن است گاهی اشتباه کند یا حتی اطلاعات ناقصی ارائه دهد. مثلاً تصور کنید دوستی داستانی را که شنیده برای شما تعریف کند. ممکن است برخی جزئیات را فراموش کند یا اشتباه بیان کند. به همین ترتیب، چت جی پی تی نیز ممکن است به دلیل کامل نبودن یا نادرست بودن داده‌های ورودی، در برخی موارد پاسخ‌های نادرست ارائه دهد.

چرا چت جی پی تی گاهی اشتباه می‌کند؟

جمع‌بندی

در این مقاله تا حدودی به جواب سوال “چت جی پی تی چگونه کار می کند” رسیدیم و فهمیدم که مدل‌هایی مانند چت جی پی تی که با عنوان مدل‌های زبانی بزرگ (LLM) شناخته می‌شوند، از روش‌های پیچیده و هوشمندانه برای ذخیره و پردازش اطلاعات بهره می‌برند و به کمک این تکنیک‌ها به سوالات کاربران پاسخ می‌دهند، داستان می‌گویند و پیشنهاد می‌دهند. اما همه این‌ها بر اساس الگویی است که از داده‌های قبلی یاد گرفته‌اند. بنابراین، نمی‌توان آن را با فکر کردن و فهمیدن انسان مقایسه کرد. ChatGPT شبیه به یک کتابخانه بزرگ است که هر کلمه یا جمله‌ای که به آن می‌دهید، به پاسخ مرتبطی از همان کتابخانه هدایت می‌شود.

این مدل‌ها هر روز پیشرفت می‌کنند، اما هنوز از معماری‌های پرهزینه و منابع محدود استفاده می‌کنند. متخصصان در تلاش هستند تا مدل‌های کوچک‌تر و بهینه‌تری بسازند که هم مصرف انرژی کمتری داشته باشند و هم بتوانند بهتر و سریع‌تر مفاهیم را درک کنند.

فناوری Floom گوگل که آن طرف زمین را نشان می دهد

فناوری Floom گوگل دقیقا چیست؟

آیا تا به حال به این فکر کرده اید که دقیقا زیر پای شما و آن طرف کره زمین دقیقا چه مکانی وجود دارد؟ ابزار جدید فلوم (Floom) گوگل اینجاست تا این موضوع را به شما نشان دهد. این موضوع در شهر تهران اقیانوس آرام را نشان میدهد که دقیقا آنسوی کره زمین است.

این آزمایش که Floom نامیده می شود از واقعیت افزوده استفاده می کند و به کاربرانی که دستگاه اندرویدی دارند این امکان را میدهد تا به آن طرف کره زمین سفر کنند. این فناوری با استفاده از WebXR API نتایج تونل زنی شما را ترسیم می کند.

نحوه استفاده از Floom گوگل

جهت استفاده از این قابلیت فلوم گوگل، نیاز به یک دستگاه اندرویدی با آخرین اپدیت گوگل کروم دارید. سپس وارد وب سایت floom.withgoogle.com شده و پس از انتخاب Explore، دستگاه خود را به سمت زمین قرار دهید، روی نماد گردباد ضربه بزنید و یک نگاه اجمالی از آنچه در صورت ظهور در آن سوی کره زمین مواجه خواهید شد ، به شما پیشنهاد می شود.

نحوه استفاده از Floom گوگل
گوگل فلوم (Floom)

زیبایی این ابزار این است که به نوعی باعث می شود هر کجا که می خواهید آن را امتحان کنید تا ببینید آیا از نظر جغرافیایی همه چیز تغییر کرده است یا خیر.

متدهای جادویی (Dunder Methods) در پایتون

متدهای جادویی در پایتون یا آنچه که در اصطلاحات برنامه‌نویسی پایتون به آن‌ها Dunder methods گفته می‌شود، یکی از ویژگی‌های جالب و قدرتمند در برنامه‌نویسی شی‌ءگرا هستند. این متدها، که با دو زیرخط (دبل آندر اسکور) در ابتدا و انتهای خود شناخته می‌شوند، به برنامه‌نویسان امکان می‌دهند تا رفتار کلاس‌ها و اشیاء پایتون را در موقعیت‌های مختلف کنترل و سفارشی‌سازی کنند.

با استفاده از متدهای جادویی در پایتون، می‌توانید عملیاتی مانند مقایسه، جمع، ضرب، تبدیل به رشته و… را در کلاس‌ها و اشیاء خودتان تعریف کنید و هر جا نیاز بود از آن‌ها به شیوه‌ای مشابه با انواع داده‌های داخلی پایتون بهره‌برداری کنید. در این مقاله، به بررسی برخی از مهم‌ترین و پرکاربردترین این متدها می‌پردازیم.

1. __new__ : تخصیص حافظه برای اشیاء

متد __new__ در واقع اولین متدی است که هنگام ساخت یک شی‌ء جدید فراخوانی می‌شود. این متد قبل از __init__ اجرا می‌شود و هدف آن تخصیص حافظه برای شی‌ء جدید است. به طور کلی، استفاده از این متد رایج نیست؛ اما در برخی موارد خاص، مانند پیاده‌سازی الگوی Singleton (که تنها یک نمونه از شی‌ء ساخته شود)، بسیار مفید است.

2. __init__ : مقداردهی اولیه به اشیاء

متد __init__ یکی از شناخته‌شده‌ترین متدهای جادویی است که پس از تخصیص حافظه و ایجاد شی‌ء فراخوانی می‌شود. این متد به شما اجازه می‌دهد تا مقادیر اولیه‌ی ویژگی‌های شی‌ء را تعیین کنید و به نوعی کار مقداردهی اولیه را انجام می‌دهد. این متد تقریباً در هر کلاس پایتونی که برای آن شی‌ءسازی انجام می‌شود استفاده می‌شود.

3. __str__ : نمایش شیء به صورت رشته‌ای خوانا

به طور پیش‌فرض، زمانی که شی‌ء را با print چاپ می‌کنید، پایتون آدرس حافظه آن شیء را نشان می‌دهد که معمولاً برای کاربر قابل فهم نیست. با تعریف متد __str__ می‌توان یک نمایش قابل خواندن و تفسیر از شی‌ء فراهم کرد. این متد در نمایش اطلاعات به کاربران نهایی بسیار کارآمد است.

مثالی برای دو متد __init__ و __str__ که برای مقداردهی اولیه و نمایش شیء به صورت رشته‌ای خوانا استفاده می‌شوند:

مثالی برای دو متد __init__ و __str__ در پایتون

در اینجا، متد init برای مقداردهی اولیه به ویژگی‌های name و age استفاده شده و str هم نحوه‌ی نمایش شیء را در حالت خوانا تعیین کرده است.

4. __int__ : تبدیل شیء به نوع صحیح

اگر بخواهید یک شیء خاص را به نوع صحیح (int) تبدیل کنید، از این متد استفاده می‌شود. مثلاً، در صورتی که یک کلاس تعریف کرده‌اید و می‌خواهید با تابع int آن را به عدد صحیح تبدیل کنید، می‌توانید متد __int__ را سفارشی‌سازی کنید تا این عملیات به دلخواه شما انجام شود.

5. __len__ : طول شیء

این متد زمانی به کار می‌رود که بخواهید طول یک شیء را مشخص کنید. برای مثال، زمانی که تابع len() روی شیء شما فراخوانی شود، پایتون به دنبال این متد می‌گردد تا نتیجه را بازگرداند. در انواع خاصی از کلاس‌ها، مانند لیست‌ها یا رشته‌ها، این متد بسیار پرکاربرد است.

متد len در پایتون

در اینجا، با استفاده از __len__، تابع len() روی شیء ml کار می‌کند و طول لیست را برمی‌گرداند.

6. __call__ : فراخوانی شیء به عنوان تابع

زمانی که شیء یک کلاس را به عنوان یک تابع فراخوانی می‌کنید (مثلاً obj())، متد __call__ فراخوانی می‌شود. این متد می‌تواند در مواقعی مفید باشد که بخواهید اشیاء کلاس را به صورت توابع قابل اجرا تعریف کنید.

فراخوانی شیء به عنوان تابع با متد call

در این مثال، __call__ به ما اجازه می‌دهد تا شیء Adder را مانند یک تابع استفاده کنیم که یک عدد را با مقدار n جمع می‌کند.

7. __getitem__, __setitem__, و __delitem__ : دسترسی، تغییر و حذف عناصر

این سه متد جادویی برای کار با اشیاءی که دارای عناصر داخلی هستند (مانند دیکشنری‌ها یا لیست‌ها) بسیار کارآمد هستند:

  • __getitem__ زمانی اجرا می‌شود که بخواهید به یک عنصر خاص از شیء دسترسی پیدا کنید (obj[key]).
  • __setitem__ زمانی به کار می‌رود که بخواهید یک مقدار را به عنصر خاصی از شیء اختصاص دهید (obj[key] = value).
  • __delitem__ نیز برای حذف یک عنصر خاص از شیء مورد استفاده قرار می‌گیرد (del obj[key]).

متدهای __getitem__ و __setitem__

در این مثال، __getitem__ برای دریافت یک عنصر از لیست سفارشی استفاده شده و __setitem__ برای تنظیم مقدار یک عنصر به کار رفته است.

8. __contains__ : بررسی وجود عنصر

این متد زمانی فراخوانی می‌شود که از عملگر in استفاده کنید. برای مثال، زمانی که item in obj را اجرا می‌کنید، پایتون متد __contains__ را فراخوانی می‌کند تا ببیند آیا آن عنصر خاص در شیء وجود دارد یا خیر.

9. __bool__ : تعیین مقدار بولین شیء

در مواقعی که نیاز دارید شیء شما در یک عبارت شرطی (if یا while) استفاده شود، متد __bool__ به کار می‌آید. با تعریف این متد، می‌توانید مشخص کنید که در چنین شرایطی، شیء شما به عنوان True یا False تلقی شود.

10. __iter__ : ایجاد قابلیت تکرارپذیری

این متد در مواقعی به کار می‌رود که بخواهید روی یک شیء تکرار (iteration) انجام دهید. برای مثال، در عبارت for x in obj، پایتون متد __iter__ را فراخوانی می‌کند تا به آیتم‌های شیء دسترسی پیدا کند.

11. متدهای مقایسه‌ای: __eq__, __ne__, __gt__, __lt__, __le__, __ge__

این متدها برای انجام مقایسه بین دو شیء استفاده می‌شوند. با استفاده از این متدها می‌توان شیء را با سایر شیءها از نظر برابری (==)، نابرابری (!=)، بزرگتر (>)، کوچکتر (<)، بزرگتر یا مساوی (>=) و کوچکتر یا مساوی (<=) مقایسه کرد.

12. __add__ و __mul__ : عملیات ریاضی

این دو متد برای انجام عملیات جمع (+) و ضرب (*) بین اشیاء استفاده می‌شوند. این قابلیت به شما اجازه می‌دهد تا عملیات ریاضی خاصی را بین اشیاء کلاس خودتان تعریف کنید.

مثالی برای دو متد __add__

اینجا متد __add__ تعریف شده تا عمل جمع برای دو بردار قابل انجام باشد.

13. __abs__, __neg__, و __invert__ : عملیات ریاضی تک‌عملگری

  • __abs__ زمانی فراخوانی می‌شود که تابع abs() روی شیء اعمال می‌شود.
  • __neg__ برای اجرای عملگر منفی (-) روی شیء استفاده می‌شود.
  • __invert__ برای عملگر ~ تعریف می‌شود و شیء را به صورت بیت به بیت معکوس می‌کند.

لیست کامل دستورات Shell در ویندوزهای مختلف

لیست کامل دستورات Shell در ویندوز 10

 

(Windows 10 v20H2 Build 19042.661)

shell:3D Objects

shell:AccountPictures

shell:AddNewProgramsFolder

shell:Administrative Tools

shell:AppData

shell:AppDataDesktop

shell:AppDataDocuments

shell:AppDataFavorites

shell:AppDataProgramData

shell:AppMods

shell:AppUpdatesFolder

shell:Application Shortcuts

shell:AppsFolder

shell:CD Burning

shell:CSCFolder

shell:Cache

shell:Camera Roll

shell:CameraRollLibrary

shell:Captures

shell:ChangeRemoveProgramsFolder

shell:Common Administrative Tools

shell:Common AppData

shell:Common Desktop

shell:Common Documents

shell:Common Programs

shell:Common Start Menu

shell:Common Start Menu Places

shell:Common Startup

shell:Common Templates

shell:CommonDownloads

shell:CommonMusic

shell:CommonPictures

shell:CommonRingtones

shell:CommonVideo

shell:ConflictFolder

shell:ConnectionsFolder

shell:Contacts

shell:ControlPanelFolder

shell:Cookies

shell:CredentialManager

shell:CryptoKeys

shell:Desktop

shell:Development Files

shell:Device Metadata Store

shell:DocumentsLibrary

shell:Downloads

shell:DpapiKeys

shell:Favorites

shell:Fonts

shell:GameTasks

shell:History

shell:HomeGroupCurrentUserFolder

shell:HomeGroupFolder

shell:ImplicitAppShortcuts

shell:InternetFolder

shell:Libraries

shell:Links

shell:Local AppData

shell:Local Documents

shell:Local Downloads

shell:Local Music

shell:Local Pictures

shell:Local Videos

shell:LocalAppDataLow

shell:LocalizedResourcesDir

shell:MAPIFolder

shell:MusicLibrary

shell:My Music

shell:My Pictures

shell:My Video

shell:MyComputerFolder

shell:NetHood

shell:NetworkPlacesFolder

shell:OEM Links

shell:OneDrive

shell:OneDriveCameraRoll

shell:OneDriveDocuments

shell:OneDriveMusic

shell:OneDrivePictures

shell:Original Images

shell:Personal

shell:PhotoAlbums

shell:PicturesLibrary

shell:Playlists

shell:PrintHood

shell:PrintersFolder

shell:Profile

shell:ProgramFiles

shell:ProgramFilesCommon

shell:ProgramFilesCommonX64

shell:ProgramFilesCommonX86

shell:ProgramFilesX64

shell:ProgramFilesX86

shell:Programs

shell:Public

shell:PublicAccountPictures

shell:PublicGameTasks

shell:PublicLibraries

shell:Quick Launch

shell:Recent

shell:Recorded Calls

shell:RecordedTVLibrary

shell:RecycleBinFolder

shell:ResourceDir

shell:Retail Demo

shell:Ringtones

shell:Roamed Tile Images

shell:Roaming Tiles

shell:SavedGames

shell:SavedPictures

shell:SavedPicturesLibrary

shell:Screenshots

shell:SearchHistoryFolder

shell:SearchHomeFolder

shell:SearchTemplatesFolder

shell:SearchTemplatesFolder

shell:Searches

shell:SendTo

shell:Start Menu

shell:Startup

shell:SyncCenterFolder

shell:SyncResultsFolder

shell:SyncSetupFolder

shell:System

shell:SystemCertificates

shell:SystemX86

shell:Templates

shell:ThisDeviceFolder

shell:ThisPCDesktopFolder

shell:User Pinned

shell:UserProfiles

shell:UserProgramFiles

shell:UserProgramFilesCommon

shell:UsersFilesFolder

shell:UsersLibrariesFolder

shell:VideosLibrary

shell:Windows

 

لیست کامل دستورات Shell در ویندوز 8

shell:AccountPictures

shell:Roaming Tiles

shell:Common Programs

shell:PublicAccountPictures

shell:GameTasks

shell:UserProfiles

shell:MyComputerFolder

shell:SearchHistoryFolder

shell:SyncSetupFolder

shell:DpapiKeys

shell:Favorites

shell:My Video

shell:SearchHomeFolder

shell:RecordedTVLibrary

shell:System

shell:Libraries

shell:ThisDeviceFolder

shell:AppsFolder

shell:MusicLibrary

shell:CommonVideo

shell:SkyDriveDocuments

shell:SyncResultsFolder

shell:Cookies

shell:Original Images

shell:CommonMusic

shell:SkyDrivePictures

shell:My Pictures

shell:Cache

shell:Downloads

shell:CommonDownloads

shell:AppData

shell:SyncCenterFolder

shell:PublicLibraries

shell:VideosLibrary

shell:My Music

shell:ConflictFolder

shell:SavedGames

shell:InternetFolder

shell:HomeGroupFolder

shell:Quick Launch

shell:SystemCertificates

shell:Contacts

shell:UserProgramFiles

shell:Device Metadata Store

shell:Profile

shell:Start Menu

shell:Common AppData

shell:PhotoAlbums

shell:ConnectionsFolder

shell:Administrative Tools

shell:ThisPCDesktopFolder

shell:SkyDriveCameraRoll

shell:PrintersFolder

shell:DocumentsLibrary

shell:ProgramFilesX86

shell:Searches

shell:SearchTemplatesFolder

shell:Common Startup

shell:ControlPanelFolder

shell:SendTo

shell:ResourceDir

shell:ProgramFiles

shell:CredentialManager

shell:PrintHood

shell:MAPIFolder

shell:HomeGroupCurrentUserFolder

shell:User Pinned

shell:CD Burning

shell:UsersLibrariesFolder

shell:AppUpdatesFolder

shell:Application Shortcuts

shell:Common Start Menu

shell:LocalAppDataLow

shell:OneDrive

shell:Templates

shell:Programs

shell:PicturesLibrary

shell:Roamed Tile Images

shell:Camera Roll

shell:Recent

shell:Desktop

shell:CommonPictures

shell:RecycleBinFolder

shell:Screenshots

shell:CryptoKeys

shell:Common Templates

shell:Startup

shell:ImplicitAppShortcuts

shell:UserProgramFilesCommon

shell:Links

shell:OEM Links

shell:SkyDriveMusic

shell:Common Desktop

shell:NetHood

shell:Ringtones

shell:Games

shell:Common Administrative Tools

shell:NetworkPlacesFolder

shell:SystemX86

shell:History

shell:AddNewProgramsFolder

shell:Playlists

shell:ProgramFilesCommonX86

shell:PublicGameTasks

shell:ChangeRemoveProgramsFolder

shell:Public

shell:CommonRingtones

shell:Common Documents

shell:CSCFolder

shell:Local AppData

shell:StartMenuAllPrograms

shell:Windows

shell:UsersFilesFolder

shell:ProgramFilesCommon

shell:Fonts

shell:Personal

 

لیست کامل دستورات Shell در ویندوز 7

shell:Libraries

shell:MusicLibrary

shell:VideosLibrary

shell:OtherUsersFolder

shell:Device Metadata Store

shell:PublicSuggestedLocations

shell:SuggestedLocations

shell:RecordedTVLibrary

shell:UserProgramFiles

shell:DocumentsLibrary

shell:User Pinned

shell:UsersLibrariesFolder

shell:PicturesLibrary

shell:ImplicitAppShortcuts

shell:UserProgramFilesCommon

shell:Ringtones

shell:CommonRingtones

 

لیست کامل دستورات Shell در ویندوز ویستا

shell:Common Programs

shell:GameTasks

shell:UserProfiles

shell:MyComputerFolder

shell:SyncSetupFolder

shell:DpapiKeys

shell:SamplePlaylists

shell:Favorites

shell:My Video

shell:SearchHomeFolder

shell:System

shell:CommonVideo

shell:SyncResultsFolder

shell:LocalizedResourcesDir

shell:Cookies

shell:Original Images

shell:CommonMusic

shell:My Pictures

shell:Cache

shell:Downloads

shell:CommonDownloads

shell:AppData

shell:SyncCenterFolder

shell:My Music

shell:ConflictFolder

shell:SavedGames

shell:InternetFolder

shell:Quick Launch

shell:SystemCertificates

shell:Contacts

shell:TreePropertiesFolder

shell:Profile

shell:Start Menu

shell:Common AppData

shell:PhotoAlbums

shell:ConnectionsFolder

shell:Administrative Tools

shell:PrintersFolder

shell:Default Gadgets

shell:ProgramFilesX86

shell:Searches

shell:Common Startup

shell:ControlPanelFolder

shell:SampleVideos

shell:SendTo

shell:ResourceDir

shell:ProgramFiles

shell:CredentialManager

shell:PrintHood

shell:MAPIFolder

shell:CD Burning

shell:AppUpdatesFolder

shell:Common Start Menu

shell:LocalAppDataLow

shell:Templates

shell:Gadgets

shell:Programs

shell:Recent

shell:SampleMusic

shell:Desktop

shell:CommonPictures

shell:RecycleBinFolder

shell:CryptoKeys

shell:Common Templates

shell:Startup

shell:Links

shell:OEM Links

shell:SamplePictures

shell:Common Desktop

shell:NetHood

shell:Games

shell:Common Administrative Tools

shell:NetworkPlacesFolder

shell:SystemX86

shell:History

shell:AddNewProgramsFolder

shell:Playlists

shell:ProgramFilesCommonX86

shell:PublicGameTasks

shell:ChangeRemoveProgramsFolder

shell:Public

shell:Common Documents

shell:CSCFolder

shell:Local AppData

shell:Windows

shell:UsersFilesFolder

shell:ProgramFilesCommon

shell:Fonts

shell:Personal

لیست کامل دستورات Shell در ویندوز XP

shell:Common Programs

shell:Favorites

shell:My Video

shell:System

shell:CommonVideo

shell:LocalizedResourcesDir

shell:Cookies

shell:My Pictures

shell:Cache

shell:AppData

shell:My Music

shell:InternetFolder

shell:Profile

shell:Start Menu

shell:Common AppData

shell:ConnectionsFolder

shell:Administrative Tools

shell:PrintersFolder

shell:ProgramFiles

shell:Common Startup

shell:ControlPanelFolder

shell:SendTo

shell:ResourceDir

shell:ProgramFiles

shell:PrintHood

shell:CD Burning

shell:Common Start Menu

shell:Templates

shell:Programs

shell:Recent

shell:Desktop

shell:CommonPictures

shell:RecycleBinFolder

shell:Common Templates

shell:Startup

shell:Common Desktop

shell:NetHood

shell:Common Administrative Tools

shell:SystemX86

shell:History

shell:Common Documents

shell:Local AppData

shell:Windows

shell:Fonts

shell:Personal

کلیدهای میانبر کامپیوتر


CTRL+A. . . . . . . . . . . . . . . . . Select All CTRL+C. . . . . . . . . . . . . . . . . Copy

CTRL+X. . . . . . . . . . . . . . . . . Cut

CTRL+V. . . . . . . . . . . . . . . . . Paste

CTRL+Z. . . . . . . . . . . . . . . . . Undo

CTRL+B. . . . . . . . . . . . . . . . . Bold

CTRL+U. . . . . . . . . . . . . . . . . Underline

CTRL+I . . . . . . . . . . . . . . . . . Italic

F1 . . . . . . . . . . . . . . . . . . . . . . Help

F2 . . . . . . . . . . . . . . . . . . . . . Rename selected object

F3 . . . . . . . . . . . . . . . . . . . . . Find all files

F4 . . . . . . . . . . . . . . . . . . . . . Opens file list drop-down in dialogs

F5 . . . . . . . . . . . . . . . . . . . . . Refresh current window

F6 . . . . . . . . . . . . . . . . . . . . . Shifts focus in Windows Explorer

F10 . . . . . . . . . . . . . . . . . . . . Activates menu bar options

ALT+TAB . . . . . . . . . . . . . . . . Cycles between open applications

ALT+F4 . . . . . . . . . . . . . . . . . Quit program, close current window

ALT+F6 . . . . . . . . . . . . . . . . . Switch between current program windows

ALT+ENTER. . . . . . . . . . . . . . Opens properties dialog

ALT+SPACE . . . . . . . . . . . . . . System menu for current window

ALT+¢ . . . . . . . . . . . . . . . . . . opens drop-down lists in dialog boxes

BACKSPACE . . . . . . . . . . . . . Switch to parent folder

CTRL+ESC . . . . . . . . . . . . . . Opens Start menu

CTRL+ALT+DEL . . . . . . . . . . Opens task manager, reboots the computer

CTRL+TAB . . . . . . . . . . . . . . Move through property tabs

CTRL+SHIFT+DRAG . . . . . . . Create shortcut (also right-click, drag)

CTRL+DRAG . . . . . . . . . . . . . Copy File

ESC . . . . . . . . . . . . . . . . . . . Cancel last function

SHIFT . . . . . . . . . . . . . . . . . . Press/hold SHIFT, insert CD-ROM to bypass auto-play

SHIFT+DRAG . . . . . . . . . . . . Move file

SHIFT+F10. . . . . . . . . . . . . . . Opens context menu (same as right-click)

SHIFT+DELETE . . . . . . . . . . . Full wipe delete (bypasses Recycle Bin)

ALT+underlined letter . . . . Opens the corresponding menu

PC Keyboard Shortcuts

Document Cursor Controls

HOME . . . . . . . . . . . . . . to beginning of line or far left of field or screen

END . . . . . . . . . . . . . . . . to end of line, or far right of field or screen

CTRL+HOME . . . . . . . . to the top

CTRL+END . . . . . . . . . . to the bottom

PAGE UP . . . . . . . . . . . . moves document or dialog box up one page

PAGE DOWN . . . . . . . . moves document or dialog down one page

ARROW KEYS . . . . . . . move focus in documents, dialogs, etc.

CTRL+ > . . . . . . . . . . . . next word

CTRL+SHIFT+ > . . . . . . selects word

Windows Explorer Tree Control

Numeric Keypad * . . . Expand all under current selection

Numeric Keypad + . . . Expands current selection

Numeric Keypad – . . . Collapses current selection

¦ . . . . . . . . . . . . . . . . . . . Expand current selection or go to first child

‰ . . . . . . . . . . . . . . . . . . Collapse current selection or go to parent

Special Characters

‘ Opening single quote . . . alt 0145

’ Closing single quote . . . . alt 0146

“ Opening double quote . . . alt 0147

“ Closing double quote. . . . alt 0148

– En dash. . . . . . . . . . . . . . . alt 0150

— Em dash . . . . . . . . . . . . . . alt 0151

… Ellipsis. . . . . . . . . . . . . . . . alt 0133

• Bullet . . . . . . . . . . . . . . . . alt 0149

Registration Mark . . . . . . . alt 0174

Copyright . . . . . . . . . . . . . alt 0169

Trademark . . . . . . . . . . . . alt 0153

• ° Degree symbol. . . . . . . . . alt 0176

• ¢ Cent sign . . . . . . . . . . . . . alt 0162

• 1⁄4 . . . . . . . . . . . . . . . . . . . . . alt 0188

• 1⁄2 . . . . . . . . . . . . . . . . . . . . . alt 0189

• 3⁄4 . . . . . . . . . . . . . . . . . . . . . alt 0190

• PC Keyboard Shortcuts

• Creating unique images in a uniform world! Creating unique images in a uniform world!

• é . . . . . . . . . . . . . . . alt 0233

• É . . . . . . . . . . . . . . . alt 0201

• ñ . . . . . . . . . . . . . . . alt 0241

• ÷ . . . . . . . . . . . . . . . alt 0247

• File menu options in current program

• Alt + E Edit options in current program

• F1 Universal help (for all programs)

• Ctrl + A Select all text

• Ctrl + X Cut selected item

• Shift + Del Cut selected item

• Ctrl + C Copy selected item

• Ctrl + Ins Copy selected item

• Ctrl + V Paste

• Shift + Ins Paste

• Home Go to beginning of current line

• Ctrl + Home Go to beginning of document

• End Go to end of current line

• Ctrl + End Go to end of document

• Shift + Home Highlight from current position to beginning of line

• Shift + End Highlight from current position to end of line

• Ctrl + f Move one word to the left at a time

• Ctrl + g Move one word to the right at a time

• MICROSOFT WINDOWS® SHORTCUT KEYS

• Alt + Tab Switch between open applications

• Alt +

• Shift + Tab

• Switch backwards between open

• applications

• Alt + Print

• Screen

• Create screen shot for current program

• Ctrl + Alt + Del Reboot/Windows task manager

• Ctrl + Esc Bring up start menu

• Alt + Esc Switch between applications on taskbar

• F2 Rename selected icon

• F3 Start find from desktop

• F4 Open the drive selection when browsing

• F5 Refresh contents

• Alt + F4 Close current open program

• Ctrl + F4 Close window in program

• Ctrl + Plus

• Key

• Automatically adjust widths of all columns

• in Windows Explorer

• Alt + Enter Open properties window of selected icon

• or program

• Shift + F10 Simulate right-click on selected item

• Shift + Del Delete programs/files permanently

• Holding Shift

• During Bootup

• Boot safe mode or bypass system files

• Holding Shift

• During Bootup

• When putting in an audio CD, will prevent

• CD Player from playing

• WINKEY SHORTCUTS

• WINKEY + D Bring desktop to the top of other windows

• WINKEY + M Minimize all windows

• WINKEY +

• SHIFT + M

• Undo the minimize done by WINKEY + M

• and WINKEY + D

• WINKEY + E Open Microsoft Explorer

• WINKEY + Tab Cycle through open programs on taskbar

• WINKEY + F Display the Windows Search/Find feature

• WINKEY +

• CTRL + F

• Display the search for computers window

• WINKEY + F1 Display the Microsoft Windows help

• WINKEY + R Open the run window

• WINKEY +

• Pause /Break

• Open the system properties window

• WINKEY + U Open utility manager

• WINKEY + L Lock the computer (Windows XP & later)

• OUTLOOK SHORTCUT KEYS

• Alt + S Send the email

• Ctrl + C Copy selected text

• Ctrl + X Cut selected text

• Ctrl + P Open print dialog box

• Ctrl + K Complete name/email typed in address bar

• Ctrl + B Bold highlighted selection

• Ctrl + I Italicize highlighted selection

• Ctrl + U Underline highlighted selection

• Ctrl + R Reply to an email

• Ctrl + F Forward an email

• Ctrl + N Create a new email

• Ctrl + Shift + A Create a new appointment to your calendar

• Ctrl + Shift + O Open the outbox

• Ctrl + Shift + I Open the inbox

• Ctrl + Shift + K Add a new task

• Ctrl + Shift + C Create a new contact

• Ctrl + Shift+ J Create a new journal entry

• WORD SHORTCUT KEYS

• Ctrl + A Select all contents of the page

• Ctrl + B Bold highlighted selection

• Ctrl + C Copy selected text

• Ctrl + X Cut selected text

• Ctrl + N Open new/blank document

• Ctrl + O Open options

• Ctrl + P Open the print window

• Ctrl + F Open find box

• Ctrl + I Italicize highlighted selection

• Ctrl + K Insert link

• Ctrl + U Underline highlighted selection

• Ctrl + V Paste

• Ctrl + Y Redo the last action performed

• Ctrl + Z Undo last action

• Ctrl + G Find and replace options

• Ctrl + H Find and replace options

• Ctrl + J Justify paragraph alignment

• Ctrl + L Align selected text or line to the left

• Ctrl + Q Align selected paragraph to the left

• Ctrl + E Align selected

 

match-case در پایتون: جایگزین قدرتمند if-elif-else

اگر شما هم از آن دسته برنامه‌نویسانی هستید که همیشه با شرط‌های تو در تو مثل if-elif-else سروکله می‌زنید، وقتش رسیده که کدهای خود را بهبود دهید. برای این کار می توانید از ویژگی جذاب و قدرتمند match-case در پایتون که در نسخه 3.10 معرفی شده است، استفاده کنید.

تصور کنید در حال کار با داده‌هایی مثل دیکشنری‌ها یا لیست‌های پیچیده هستید. مدیریت این داده‌ها به کمک match-case نه تنها ساده‌تر، بلکه شیک‌تر می‌شود. این قابلیت، نسخه پایتونی switch-case در زبان‌های دیگر است، اما با امکاناتی بسیار بیشتر و کاربردی‌تر. در ادامه این مقاله، با این ویژگی جدید آشنا می‌شویم و یاد می‌گیریم چطور از آن در پروژه‌های خود استفاده کنیم.

match-case در پایتون چیست؟

match-case ابزاری برای تطبیق الگوها در پایتون است که از نسخه 3.10 معرفی شده. این ویژگی به شما اجازه می‌دهد با تعریف الگوها (patterns)، داده‌های مختلف را بررسی کرده و کدی خواناتر و منظم‌تر بنویسید.

فرض کنید در حال نوشتن برنامه‌ای هستید که باید عملیات‌های مختلفی مانند ایجاد، حذف، ویرایش یا مدیریت داده‌ها را انجام دهد. معمولاً برای این کار از ترکیبی از if-elif-else استفاده می‌کنیم که می‌تواند به سرعت پیچیده و گیج‌کننده شود. اینجا جایی است که match-case وارد میدان می‌شود و کد شما را به ساده‌ترین و زیباترین شکل ممکن درمی‌آورد.

به عنوان مثال فرض کنید می‌خواهید داده‌هایی را که به شکل دیکشنری هستند، پردازش کنید:

این کد چه می‌کند؟

  • اگر دیکشنری ورودی شامل action برابر با “create” باشد، یک آیتم جدید ایجاد می‌کند.
  • اگر action برابر با “delete” باشد، آیتم مربوطه حذف می‌شود.
  • اگر action برابر با “update” باشد، محتوای آیتم به‌روزرسانی می‌شود.
  • در غیر این صورت، پیام “داده نامعتبر” چاپ می‌شود.

مقایسه match-case با if-elif-else

اگر همان مثال بالا را با if-elif-else بنویسید، به این شکل خواهد بود:

این روش نه تنها طولانی‌تر، بلکه خوانایی کمتری نیز دارد.

جمع‌بندی

ویژگی match-case در پایتون 3.10 انقلابی در مدیریت شرایط پیچیده و تطبیق الگوها ایجاد کرده است. با استفاده از این قابلیت، کدی تمیزتر، خواناتر و حرفه‌ای‌تر خواهید نوشت. اگر هنوز از نسخه‌های قدیمی‌تر پایتون استفاده می‌کنید، زمان آن رسیده که به 3.10 مهاجرت کنید و از این ابزار قدرتمند بهره‌مند شوید.

فایل سیستم ReFS در ویندوز 11

مایکروسافت با انتشار نسخه 24H2 ویندوز 11، تغییرات گسترده‌ای را در این سیستم‌عامل محبوب اعمال کرده است که از جهات مختلف تجربه کاربران را ارتقا می‌دهد. این به‌روزرسانی شامل بهبودهای عملکردی، ویژگی‌های جدید و ارتقاء امنیتی است که باعث شده ویندوز 11 همچنان یکی از پیشروترین سیستم‌عامل‌های جهان باقی بماند. یکی از نوآوری‌های قابل توجه در این نسخه، معرفی فایل سیستم ReFS است که با هدف بهبود مقیاس‌پذیری و پایداری داده‌ها توسعه یافته است.

فایل سیستم ReFS چیست و چرا اهمیت دارد؟

ReFS که مخفف Resilient File System است، اولین بار توسط مایکروسافت در سال 2012 معرفی شد و از همان ابتدا به عنوان جایگزینی برای NTFS طراحی شد. هدف اصلی ReFS بهبود در مدیریت داده‌ها و افزایش اطمینان از صحت داده‌ها در محیط‌هایی است که با حجم‌های بسیار بزرگ داده سروکار دارند، مانند مراکز داده و سیستم‌های ذخیره‌سازی پیشرفته.

در ویندوز 11 نسخه 24H2، مایکروسافت این فایل سیستم را به عنوان یک گزینه برای کاربران حرفه‌ای و توسعه‌دهندگان معرفی کرده است که به مقیاس‌پذیری بالا، مقاومت در برابر خرابی‌های داده و مدیریت خودکار فضای ذخیره‌سازی نیاز دارند.

قابلیت‌ها و ویژگی‌های ReFS

فایل سیستم ReFS با هدف افزایش قابلیت اطمینان و کارایی در مدیریت داده‌ها توسعه یافته است. برخی از ویژگی‌های کلیدی آن عبارتند از:

  1. مقاومت در برابر خطاهای داده: ReFS با استفاده از مکانیزم‌های تصحیح خودکار خطا، می‌تواند از بروز خطاهای داده جلوگیری کند و حتی در صورت وقوع خرابی، به سرعت آن‌ها را اصلاح کند. این امر به ویژه برای داده‌های حساس و حیاتی اهمیت دارد.
  2. مقیاس‌پذیری بالا: ReFS به‌گونه‌ای طراحی شده است که قادر به مدیریت حجم‌های بزرگ داده بدون کاهش عملکرد باشد. این ویژگی باعث می‌شود ReFS برای استفاده در محیط‌های سروری و مراکز داده بسیار مناسب باشد.
  3. Block Cloning: یکی از قابلیت‌های جدید و برجسته ReFS در ویندوز 11، فناوری Block Cloning است که سرعت کپی فایل‌ها را به شدت افزایش می‌دهد. طبق گزارش مایکروسافت، این ویژگی می‌تواند سرعت کپی فایل‌های کوچک را تا 18٪ و فایل‌های بزرگ را تا 94٪ افزایش دهد.
  4. پشتیبان‌گیری خودکار: ReFS با استفاده از سیستم پشتیبان‌گیری داخلی، به طور خودکار از داده‌ها پشتیبان تهیه می‌کند و بررسی‌های دوره‌ای روی سلامت داده‌ها انجام می‌دهد. این ویژگی باعث می‌شود کاربران دیگر نیازی به بررسی دستی و زمان‌بر سلامت هارد دیسک‌ها نداشته باشند.
  5. حفاظت در برابر خرابی داده‌ها: اگر بخشی از داده‌ها در حین عملیات دچار خرابی شود، ReFS قادر است به صورت خودکار بخش معیوب را جدا کند بدون اینکه به سایر بخش‌های داده آسیبی وارد شود.

تفاوت‌های ReFS و NTFS

ReFS و NTFS هر دو از فایل سیستم‌های محبوب و پرکاربرد ویندوز هستند، اما تفاوت‌های زیادی در کارایی، عملکرد و کاربردهای هر کدام وجود دارد. در حالی که NTFS بیشتر در سیستم‌های خانگی و کاربران عمومی مورد استفاده قرار می‌گیرد، ReFS به طور خاص برای استفاده در محیط‌های حرفه‌ای، سرورها و سیستم‌های ذخیره‌سازی بزرگ طراحی شده است. در ادامه برخی از تفاوت‌های کلیدی این دو سیستم فایل بررسی شده‌اند:

مزایای ReFS نسبت به NTFS

  • پایداری بیشتر در برابر خطاها: ReFS با استفاده از تکنیک‌های خودکار تصحیح خطا، از پایدارترین فایل سیستم‌ها در برابر خطاهای داده‌ای محسوب می‌شود.
  • مدیریت بهتر داده‌های بزرگ: اگر با حجم عظیمی از داده‌ها سروکار دارید، ReFS با طراحی مقیاس‌پذیر خود می‌تواند انتخاب مناسبی باشد.
  • پشتیبانی از ذخیره‌سازی پیچیده: ReFS در مقایسه با NTFS از پیکربندی‌های پیچیده ذخیره‌سازی، مانند RAID و چندین دیسک سخت، پشتیبانی بهتری دارد.

محدودیت‌های ReFS در مقایسه با NTFS

  • عدم پشتیبانی از بوت سیستم: یکی از بزرگ‌ترین معایب ReFS این است که نمی‌توان از آن به عنوان فایل سیستم بوت ویندوز استفاده کرد؛ در نتیجه، برای درایوی که ویندوز بر روی آن نصب شده است، همچنان باید از NTFS استفاده شود.
  • پشتیبانی کمتر از برخی ویژگی‌ها: برخی از ویژگی‌های مفید NTFS، مانند فشرده‌سازی، رمزنگاری و لینک‌های سخت در ReFS وجود ندارند.
  • مصرف بیشتر منابع سیستم: ReFS به دلیل ویژگی‌های پیشرفته‌تری که دارد، نسبت به NTFS منابع بیشتری از سیستم مصرف می‌کند.

کاربردهای ReFS: چه کسانی باید از آن استفاده کنند؟

ReFS به طور خاص برای محیط‌هایی طراحی شده است که نیاز به مدیریت حجم‌های بزرگ داده و ذخیره‌سازی پایدار دارند. این شامل استفاده در سرورها، مراکز داده، و سیستم‌هایی می‌شود که به سرعت و پایداری بالایی در مدیریت داده‌ها نیاز دارند. برخی از کاربردهای اصلی ReFS عبارتند از:

  • مراکز داده و سرورها: به دلیل مقیاس‌پذیری بالا و قابلیت‌های خودکار مدیریت داده‌ها، ReFS برای سرورها و مراکز داده گزینه‌ای عالی است.
  • برنامه‌نویسان و توسعه‌دهندگان: ویژگی Block Cloning در ReFS به توسعه‌دهندگان نرم‌افزار و بازی که با فایل‌های زیادی سروکار دارند، امکان افزایش سرعت کپی و انتقال داده‌ها را می‌دهد.
  • ذخیره‌سازی‌های پیشرفته: ReFS برای پیکربندی‌های پیچیده ذخیره‌سازی، مانند RAID، گزینه بهتری نسبت به NTFS است.

Dev Drive: ترکیب ReFS با Block Cloning در ویندوز 11

در ویندوز 11 نسخه 24H2، قابلیت جدیدی به نام Dev Drive معرفی شده است که از ReFS به همراه ویژگی Block Cloning بهره می‌برد. این قابلیت به طور خاص برای توسعه‌دهندگان نرم‌افزار و اپراتورهای سرور طراحی شده است. Dev Drive می‌تواند به طور چشمگیری سرعت عملیات‌های مرتبط با کپی و انتقال فایل‌ها را افزایش دهد. این ویژگی به توسعه‌دهندگان امکان می‌دهد تا فرآیندهای خود را سریع‌تر و با کارایی بیشتری انجام دهند.

معایب استفاده از ReFS: آیا برای همه مناسب است؟

با اینکه ReFS دارای مزایای زیادی است، اما همچنان معایب و محدودیت‌هایی دارد که ممکن است آن را برای همه کاربران مناسب نکند. برخی از این معایب عبارتند از:

  1.  عدم پشتیبانی از بوت سیستم: همان‌طور که پیش‌تر ذکر شد، از ReFS نمی‌توان برای نصب سیستم‌عامل استفاده کرد، بنابراین NTFS برای درایوهای سیستم‌عامل ضروری است.
  2. مصرف بالاتر منابع سیستم: ReFS به دلیل ویژگی‌های پیشرفته‌اش نیاز به منابع بیشتری از سخت‌افزار دارد که ممکن است در سیستم‌های قدیمی یا با منابع محدود مشکلاتی ایجاد کند.
  3. پشتیبانی نرم‌افزاری محدود: نرم‌افزارهای زیادی همچنان به طور کامل با ReFS سازگار نیستند و ممکن است برای برخی کاربردها، به پشتیبانی بهتر NTFS نیاز داشته باشید.
نتیجه‌گیری

انتخاب بین ReFS و NTFS بستگی به نیازهای خاص شما دارد. اگر به دنبال یک سیستم فایل با پایداری بالا و مدیریت بهتر داده‌های بزرگ هستید، ReFS می‌تواند گزینه مناسبی باشد، به ویژه در محیط‌های حرفه‌ای و سروری. با این حال، برای کاربران خانگی یا کاربرانی که به ویژگی‌های خاص NTFS مانند فشرده‌سازی و رمزنگاری نیاز دارند، NTFS همچنان انتخاب بهتری است.

ReFS نشان‌دهنده آینده مدیریت فایل‌ها در ویندوز است، اما هنوز به پشتیبانی گسترده‌تر و بهینه‌سازی بیشتری نیاز دارد تا به طور کامل جایگزین NTFS شود. تا آن زمان، استفاده از هر دو سیستم فایل بسته به نیازها و محیط کاربری ممکن است بهترین راه‌حل باشد.

نصب و راه اندازی File Server 2022


راه‌اندازی و مدیریت فایل سرور یکی از نیازهای اساسی در محیط‌های شبکه‌ای مدرن است که نقش کلیدی در ذخیره‌سازی و اشتراک‌گذاری داده‌ها بین کاربران دارد. فایل سرور (File Server) در سیستم‌عامل ویندوز سرور ۲۰۲۲، امکانات پیشرفته‌ای را برای مدیریت دسترسی، امنیت داده‌ها و بهره‌وری در انتقال اطلاعات فراهم می‌کند. با استفاده از این قابلیت، سازمان‌ها می‌توانند فایل‌ها را به صورت متمرکز مدیریت کرده و به کاربران دسترسی کنترل‌شده ارائه دهند. در این مقاله، مراحل نصب و راه‌اندازی فایل سرور در ویندوز سرور ۲۰۲۲ به صورت گام‌به‌گام بررسی خواهد شد تا شما بتوانید به راحتی این سرویس مهم را پیاده‌سازی کنید.

پیش‌نیاز نصب و راه‌ اندازی File Server 2022

برای نصب و راه اندازی فایل سرور به دو سرویس مجزا نیاز داریم:

 

سرور اول

سرور دوم

نصب و راه اندازی File Server 2022

برای نصب و راه اندازی فایل سرور، بعد از نصب ویندوز سرور وارد Local Server شده و در ابتدا تنظیمات اولیه شامل تنظیمات IP، Time Zone، فایروال و… را انجام می دهیم و سرویس را به دامین اصلی join می کنیم. سپس، دامنه را ping می‌کنیم تا مطمئن شویم با Root Forest در ارتباط می‌باشد، سپس Role فایل سرور را بر روی آن نصب می کنیم. پس با فرض اینکه سرویس دوم را Join به Domain کرده ایم شروع به نصب Role فایل سرور می کنیم:

ابتدا از منوی Tools گزینه Add Roles and Features را انتخاب می کنیم یا مطابق تصویر زیر، روی گزینه دوم کلیک کرده و و وارد پروسه نصب می شویم.


در صفحه Before you begin روی Next کلیک می کنیم.



گزینه  …Role-Based or Feature-based را انتخاب و روی Next کلیک می کنیم.


سرور موردنظر برای نصب سرویس  File Server انتخاب و روی Next کلیک  می کنیم.



در این مرحله باید Role مورد نظر را انتخاب کنیم.



همانطور که در عکس زیر می بینید اگر فلش کنار File and Storage Services  را باز کنید، به طور پیش فرض تیک گزینه File Server و Storage Services زده  شده است. همانطور که می دانید فایل سرور به طور پیش فرض حتی اگر تازه ویندوز سرور نصب کرده باشید در کنسول ویندوز سرور وجود دارد. نقش (role) Storage Services نیز به دلیل اینکه باید روی سرویس ها سیستم عامل نصب شود یا برای ساخت فایل نیاز به این role داریم و حتی برای نصب ویندوز وجود نقش Storage Services الزامی است، نصب می شود، پس به طور پیش فرض این دو گزینه از ابتدا نصب می باشد.

در اینجا قصد داریم گزینه های دیگر این سرویس را نیز نصب کنیم. یکی از گزینه های مهم File Server Resource Manager می باشد که با نصب این role می توانیم Quota تعریف کنیم که در ادامه و بعد از نصب roleها به آن می پردازیم. همچنین roleهای DFS Namespaces و DFS Replication را نیز نصب خواهیم کرد. این roleها برای زمانی استفاده می شوند که ممکن است بخشی از فضای دخیره سازی، روی این سرویس نباشد و روی خود Storage باشد. پس به این دو role نیاز است. این سه گزینه را تیک می‌زنیم، بر روی Add Feature کلیک کرده و Next را می‌زنیم.



صفحه بعد را نیز بدون تغییر Next می کنیم.



تیک گزینه …Restart the destination را می زنیم و بر روی Install کلیک می کنیم تا رول نصب شود.



بعد از اینکه رول File Server نصب شد و نوار آبی رنگ پر شد بر روی Close کلیک می کنیم.




حالا اگر بر روی Tools کلیک کنیم گزینه File Server Resource Manager  اضافه شده است. بر روی آن کلیک می کنیم تا وارد کنسول مدیریتی فایل سرور شویم.




کنسول مدیریتی File Server

Quota Management

در کنسول File Server بر روی Quota Management کلیک می کنیم، شامل دو گزینه Quota Template و Quotas می باشد که در ادامه هرکدام را به تفکیک توضیح می دهیم.



Quota Template

همانطور که در عکس مشاهده می کنید اگر بر روی Quota Templates کلیک کنیم تمپلیت های پیش فرض و از قبل تعریف شده در این بخش از File Server وجود دارد که می توانیم بنا به نیازمان از این تمپلیت ها استفاده کنیم و یا اینکه Quota Templates سفارشی خودمان را بسازیم.

در ستون Quota Type دو نوع Quota وجود دارد: Hard و Soft. نوع Hard یعنی اگر برای کاربری تعیین شده است که به عنوان مثال نهایتا 2GB فایل به اشتراک بگذارد کاربر نمی تواند 2.1GB به اشتراک بگذارد. به کاربر پیغام خطا دریافت می کند و این اجازه را ندارد. نوع Soft اجازه می دهد فایل را به اشتراک بگذارد اما برای مدیر IT لاگ می اندازد و مدیر IT می تواند به کاربر تذکر دهد که بیش از حد مجاز تعریف شده فایل به اشتراک گذاشته است.(اگر دقت کنید برای Quota های نوع Soft در ابتدا کلمه Monitor نوشته شده است، یعنی اینکه نظارت می شود.

در قسمت سفید رنگ کلیک راست کرده و گزینه Create Quota Template… را انتخاب می کنیم.



می توان از Quota Template های آماده استفاده کرد. برای این کار می توانیم روی گزینه Copy کلیک کرده و طبق نیاز هر کدام از Quota های مورد نظر خود را انتخاب کنیم.

در قسمت Template Names یک نام برای Quota جدید تایپ می کنیم و در قسمت Description در صورت نیاز، یک توضیح اضافه می کنیم. در کادر Space Limit و در قسمت Limit می توانیم فضای مورد نیاز برای اشتراک گذاری فایل را انتخاب کنیم و در نهایت می توانیم انتخاب کنیم که Quota از نوع Hard باشد یا Soft .

در کادر Notification Thresholds مشخص می کند که چه میزان درصدی از فضا نیاز است پر شود، تا از طریق ایمیل هشدار داده شود و همچنین Log را ثبت کند.



Quotas

در این بخش می توانیم Quota جدید بسازیم. در فضای سفید کلیک راست کرده و بر روی Create Quota کلیک می کنیم.



در ابتدا باید تعیین کنیم که Quota جدید روی چه فایلی اعمال شود، بنابراین بر روی Browse کلیک کرده و فولدر مورد نظرمان را که از قبل بر روی یک درایو در فایل سرور ساخته و Share کرده ایم را انتخاب می کنیم.(در ادامه مقاله به ساخت فایل و نحوه Share کردن آن ها می پردازیم)



در قسمت Drive Properties from this Quota Templates تمپلت های پیش فرضی وجود دارد که می توانیم یکی از آن ها را انتخاب کنیم و یا اینکه همان Quota Template که خودمان در بخش قبل به طور سفارشی ساختیم را انتخاب کنیم.



هر کدام از Template هایی که انتخاب می‌کنیم، خلاصه‌ مشخصاتش در کادر Summary of Quota Templates به ما نمایش داده می شود. اگر گزینه Define custom quota properties را تیکدار کنیم می توانیم تغییراتی مانند حجم فضای ذخیره سازی و نوع Quota را اعمال کنیم. در نهایت  بر روی Create کلیک می کنیم.




Quota جدید ساخته می شود.




File Screening Management

در این بخش از کنسول File Server می توانیم برای کاربران محدودیت هایی اعمال کنیم. مثلا اینکه کاربر نتواند در Share Folder خود Email File یا Audio File بگذارد.

File Screen Template

در این قسمت همانند Quota Template تمپلیت های آماده وجود دارد که در صورت نیاز می توانیم از همین Template ها استفاده کنیم و یا اینکه Template مورد نظر خودمان را بسازیم. برای این کار در فضای سفید کنسول File Server کلیک می‌کنیم و بر روی گزینه Create File Screen Template کلیک می کنیم.



در قسمت File Name Template یک نام برای تمپلیت تایپ می‌کنیم. در قسمت File Group می توانیم محدودیت هایی که می خواهیم اعمال کنیم را انتخاب کنیم.




File Screen

ابتدا از قسمت سمت راست File Screen را انتخاب می کنیم، سپس در فضای سفید کنسول File Server کلیک می کنیم و بر روی گزینه  Create File Screen کلیک می کنیم.




بر روی Browse کلیک کرده و Share Folder مورد نظرمان که می خواهیم این محدودیت ها بر روی آن اعمال شود را انتخاب می کنیم.




در قسمت Drive Properties from this file screen template همان Template را که در بخش File Screen Template ساخته بودیم، انتخاب می کنیم. و در انتها بر روی Create کلیک می کنیم.




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

Storage Reports Management

در این قسمت از کنسول File Server، اگر فردی بیشتر از حجمی که برایش در نظر گرفته شده است استفاده کند Log آن را گزارش می دهد.



بر روی گزینه ی Storage Reports Management راست کلیک کرده و گزینه ی Schedule a New Reports Task  را انتخاب می کنیم.




در قسمت اول، نام reports خواسته می‌شود. در قسمت reports data پرسیده می‌شود که از چه چیزی می خواهید گزارش تهیه کنید. به صورت پیش فرض تیک های انتخاب شده را نگه می داریم. در قسمت report formats  نوع خروجی گزارشی که می خواهیم بگیریم پرسیده می‌شود. در اینجا DHTML را انتخاب می کنیم.




در تب scope مکان فایلی که می خواهیم گزارش در آن ذخیره شود را وارد می کنیم.




در تب delivery می توانید ایمیل خود را برای فرستادن گزارش ها وارد کرده و فعال کنید. با زدن تیک این گزینه فعال می شود.




در تب Schedule زمان و روز گزارش گیری را وارد تنظیم می کنیم. می تواند به صورت هفتگی و در روز های خاصی در هفته انتخاب شود یا به صورت ماهانه و در روز های خاصی از ماه انجام شود. به عنوان مثال ما زمان را ساعت 12 شب و به صورت هفتگی در روز های شنبه، سه شنبه و جمعه در نظر گرفتیم. روی ok کلیک می کنیم.




همانطور که مشاهده می کنید screens  اعمال شده است.




برای گزارش گیری می توان روی ریپورت ساخته شده راست کلیک و گزینه ی Run Report Task Now  را انتخاب کرد.




دو گزینه مشاهده می کنید که با زدن گزینه ی اول فقط نتیجه به ایمیل شما ارسال می شود و با زدن گزینه ی دوم می توانیم عملیات گزارش گیری را ببینیم، روی ok کلیک کرده و ریپورت می گیریم.




Classification Properties

در این بخش از کنسول File Server می توانیم یک شرط تعریف کنیم و در مراحل بعد کارایی آن برای شما مشخص می شود. به قسمت File Server Resource Manager رفته و برروی گزینه ی Classification Properties راست کلیک می کنیم گزینه ی Create Local Property را انتخاب می کنیم.



در تب general در قسمت name نام شرط، در قسمت description توضیحات شرط و در قسمت بعد می توان نوع شرط را مشخص کرد که بله یا خیر باشد به عنوان مثال روی بله می گذاریم سپس ok می کنیم.




در حال حاضر شرط ما ساخته شد، اما مقدار شرط در قسمت بعد مشخص می شود که بله یا خیر باشد.

Classification Rule

در این تب می توان مشخص کرد Classification Properties روی چه Folderای اعمال شود و مقدار آن را چقدر باشد. همچنین می‌تواند اعلام کند با پیدا کردن چه چیزی، اجرا شود. بر رو گزینه ی Classification Rules راست کلیک کرده و  گزینه ی Create Classification Rule را انتخاب می کنیم.



در تب general در قسمت name نام Rule، در قسمت description توضیحات Rule را می نویسیم.




در تب scope مکان فایلی که می خواهیم Rule بر روی آن اعمال شود را تعیین می کنیم.




در تب  classification، باید classification properties ای که ایجاد کردیم را انتخاب و مقدار آن را مشخص کنیم. در قسمت property باید یک property انتخاب شود. در اینجا تنها یک property داریم، پس همان را انتخاب می کنیم و مقدار property را برابر با No یا Yes قرار می دهیم. مقدار آن را yes را انتخاب کردیم. سپس روی گزینه ی configure کلیک می کنیم.




در این بخش از ما می پرسد که دنبال چه چیزی بگردد، اگر Expression Type را بر روی  String Case-sensitive قرار دهید سخت گیری افزایش می‌یابد.  به عنوان مثال، اگر شما بخواهید که به دنبال Ts بگردد، حتی Ts را با حروف کوچک ts پیدا نمی کند. نوع دوم String است که سختگیری کمی دارد مثلا اگر شما بخواهید که Test را پیدا کند به این شکل نیز  teST پیدا می کند.




Classification Rules اعمال شد.




File Management Task

در این قسمت از کنسول File Server می توانیم تعیین کنیم که اگر شرط درست بود چه کاری انجام دهد مثلا folder را انتقال دهد. بر روی گزینه ی File Management Task راست کلیک می کنیم. گزینه ی Create File Management Task  را انتخاب می کنیم.



در تب general در قسمت name یک نام  و در قسمت description توضیحات File Management Task را می نویسیم.




در تب scope، مکان فایلی خواسته می‌شود که شرط را روی آن اعمال کردیم. بر روی add کلیک کرده و فولدر را انتخاب می کنیم.




در این بخش پرسیده می‌شود که چه عملکردی انجام دهد، می توانیم بگوییم که اگر شرط درست بود فایل هایی که پیدا کرده را به یک مسیر دیگر انتقال دهد. برای دادن مسیر روی گزینه browse کلیک می کنیم و مسیرمان را تعیین می کنیم.




در تب notification می توانیم تعین کنیم که اگر فایل ها را انتقال داد چگونه به ما اطلاع دهد. روی گزینه ی add کلیک می کنیم.




یک تب جدید باز می شود. در تب اول با زدن تیک اول ایمیلی داده می‌شود. ایمیل و موضوع آن را وارد می کنیم. بخش اخر متن ایمیل را می خواهد.




در تب event log با فعال کردن آن، لاگ فرستاده می‌شود. موضوع لاگ را می توانیم وارد کنیم. از قسمت command هم طبق روال قبل گذر کرده و بر روی ok کلیک  می کنیم.




در تب report در قسمت logging پرسیده می‌شود که لاگ چه چیزهایی را بیندازد، در قسمت report formats پرسیده می‌شود که با چه فرمت هایی ریپورت بگیرد. در اینجا DHTML و HTML را انتخاب کرده ایم، در تب delivery با فعال کردن ایمیل، برای ما ایمیل ارسال می شود.




در تب Condition از ما Classification property می خواهد برای دادن Classification property روی گزینه Add کلیک می کنیم. در کادر اول نام property را وارد می کنیم و در کادر آخر مقدار را برابر Yes یا No قرار می دهیم.