<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های الیاس</title><link>https://virgool.ir/feed/@elyashanafilts</link><description>سلام من الیاسم و حدودا 3 سالی هست که فرانت رو با علاقه دنبال میکنم و اینجام تا به دانش خودم اضافه کنم و از مطالبی که بلدم برای شما بگم</description><language>fa</language><pubDate>2026-11-11 23:45:46</pubDate><image><url>https://files.virgool.ir/upload/users/2737039/avatar/Yl2pj2.jpg</url><title>الیاس</title><link>https://virgool.ir/@elyashanafilts</link></image><item><title>ری‌اکت جی‌اس و ترفندی به نام Memoization !</title><link>https://virgool.ir/@elyashanafilts/ری-اکت-جی-اس-و-طرفندی-به-نام-memoization-hizxm9cdhd8g</link><description>مقدمهسلام به همه عزیزان عاشق کدنویسی! امروز با شما هستیم تا در دنیای شگفت‌انگیز &#34;ری‌اکت جی‌اس&#34; تا به سفری جذاب و پر ماجرا برویم و با ترفندی ساده ولی قدرتمندی به نام &#34;Memoization&#34; آشنا شویم. و با شوق و هیجان به مزایای این تکنیک ویژه می‌پردازیم. پیش به سوی ماجراجویی.آشنایی با Memoizationبرای شروع، بیایید با هم مفهوم &#34;Memoization&#34; را بررسی کنیم. در واقع، این ترفند ساده، یک تکنیک بهینه‌سازی است که به کمک آن می‌توانید در برنامه‌های &#34;ری‌اکت جی‌اس&#34; خود، عملکرد کدها را بهبود دهید. این تکنیک به شما اجازه می‌دهد نتایج محاسبات گذشته را ذخیره کنید و در صورت نیاز دوباره از آن‌ها استفاده کنید، بدون اجرای محاسبات دوباره :) .دلیل محبوبیت Memoization در ری‌اکت جی‌اسبی‌تردید Memoization به دلیل مزایای فوق‌العاده‌ای که ارائه می‌دهد، در جامعه برنامه‌نویسی به شدت محبوب شده است. این تکنیک باعث بهبود کارایی کدها، کاهش زمان اجرا و همچنین کاهش نیاز به محاسبات تکراری می‌شود. به این ترتیب، برنامه‌های ری‌اکت جی‌اس شما به سرعت نور اجرا می‌شوند و کاربران به تجربه‌ی استفاده بهتری دست می‌یابند.نمونه کد عملی با Memoizationحالا که با مفهوم Memoization آشنا شدیم، بیایید با یک نمونه کد عملی در ری‌اکت جی‌اس، این تکنیک را به صورت عملی ببینیمimport React, { useState, useMemo } from &#39;react&#39;;&#xA;const wordCount = (word) =&gt; {&#xA;for (let i = 1; i &lt;= 99999999; i++) {}&#xA;return word.length;&#xA;};&#xA;const MemoizedComponent = () =&gt; {&#xA;const [count, setCount] = useState(0);&#xA;const optimizedWordCount = useMemo(() =&gt; wordCount, []);&#xA;return (&#xA;&lt;div&gt;&#xA;&lt;h2&gt;شمارنده&lt;/h2&gt;&#xA;&lt;p&gt;تعداد: {count}&lt;/p&gt;&#xA;&lt;p&gt;مجموع: {optimizedWordCount(&#39;elyas&#39;)}&lt;/p&gt;&#xA;&lt;button ={() =&gt; setCount(count + 1)}&gt;افزایش&lt;/button&gt;&#xA;&lt;/div&gt;&#xA;);&#xA;};&#xA;export default MemoizedComponent;‍‍‍‍‍‍خب در این مثال تابع wordCount یک عملیات زمان بر رو انجام میده و در قسمت &#34;مجموع&#34; تعداد حروف کلمه پاس داده شده رو به ما نمایش میده خب در این مثال اگر ما از useMemo استفاده نکنیم با هر بار افزایش عدد &#34;تعداد&#34; و آپدیت شدن کامپوننت تابع wordCount که بار زمانی داره اجرا میشه و اجرا ما رو کند میکنه ولی با قرار دادنش در useMemo تا وقتی dependency arrey اون تغییر نکنه مقدار محاسبه شده قبلی برای ما نمایش داده میشه!نمونه کد بهینه نشده :import React, { useState, useMemo } from &#39;react&#39;;&#xA;const MemoizedComponent = () =&gt; {&#xA;const [count, setCount] = useState(0);&#xA;//   const optimizedWordCount = useMemo(() =&gt; wordCount, []);&#xA;const wordCount = (word) =&gt; {&#xA;for (let i = 1; i &lt;= 99999999; i++) {}&#xA;return word.length;&#xA;};&#xA;return (&#xA;&lt;div&gt;&#xA;&lt;h2&gt;شمارنده&lt;/h2&gt;&#xA;&lt;p&gt;تعداد: {count}&lt;/p&gt;&#xA;&lt;p&gt;مجموع: {wordCount(&#39;elyas&#39;)}&lt;/p&gt;&#xA;&lt;button ={() =&gt; setCount(count + 1)}&gt;افزایش&lt;/button&gt;&#xA;&lt;/div&gt;&#xA;);&#xA;}; &#xA;export default MemoizedComponent; مزایای Memoization در ری‌اکت جی‌اسهمچنین، Memoization به مزایای بی‌شماری دیگر در برنامه‌های ری‌اکت جی‌اس منجر می‌شود. به عنوان مثال:بهبود کارایی: با استفاده از Memoization، زمان اجرای برنامه کاهش می‌یابد و کدها با سرعت بیشتری اجرا می‌شوند.کاهش بار محاسباتی: این تکنیک به شما اجازه می‌دهد نتایج محاسبات قبلی را ذخیره کنید و در صورت نیاز، از آن‌ها استفاده کنید، بدون نیاز به محاسبات دوباره.کاربردهای مختلف Memoizationمتد Memoization ، در بسیاری از موارد در برنامه‌های ری‌اکت جی‌اس مورد استفاده قرار می‌گیرد. این تکنیک مناسب است برای:بهبود عملکرد کامپوننت‌ها: با استفاده از Memoization می‌توانید کامپوننت‌های خود را بهینه‌تر کنید و اجرای آن‌ها را به سرعت انجام دهید.مدیریت حالت‌ها: Memoization به شما امکان می‌دهد حالت‌ها و مقادیر محاسباتی را به طور بهینه‌تری مدیریت کنید. نکات مهم در استفاده از Memoizationبرای استفاده موثر از Memoization، باید به چند نکته مهم توجه کنید:مطمئن شوید کش‌های اضافه‌ای ایجاد نکرده‌اید و کش‌ها را همیشه به‌روزرسانی کنید.از useMemo به میزان لازم استفاده کنید، زیرا استفاده زیاد از این تابع ممکن است به جای بهبود، عملکرد کد را کاهش دهد.جمع‌بندیپایان مقاله! امیدوارم که با این ماجرای سرگرم‌کننده در دنیای &#34;ری‌اکت جی‌اس&#34; و  ترفند  &#34;Memoization&#34; , از این تجربه لذت برده‌باشید. این ترفند ساده به شما امکان می‌دهد کدهای بهتری بنویسید و برنامه‌هایتان را با سرعت و کارایی بیشتر اجرا کنید. با انرژی و هیجان، همیشه به دنبال بهترین راه‌حل‌ها باشید و سفر خوبی را در دنیای کدنویسی آغاز کنید و همیشه با شادی و لبخند، کدنویسی خود را ادامه دهید!</description><category>الیاس</category><author>الیاس</author><pubDate>Wed, 02 Aug 2023 16:00:55 +0330</pubDate></item><item><title>فایبر در React js</title><link>https://virgool.ir/@elyashanafilts/فایبر-در-react-js-sf8pbm9zlnnx</link><description>سلام به همگی! امروز می‌خوام با شما درباره‌ی یه چیز خفن و جدید تو دنیای React JS حرف بزنم که به بهبود عملکرد و تجربه کاربری می‌پردازه. می‌دونم که شما هم مثل من عاشق کد زدن و ساخت وبسایت‌های باحالید و می‌خواید اون‌ها بهترین تجربه ممکن رو به کاربرا ارائه بدند. پس بزارید از امروز به یه چیزی به نام React Fiber پرداخته و ببینیم چطور می‌تونه به بهبود کارمون کمک کنه.خب React Fiber چیه؟در واقع React Fiber یه نسخه‌ی تجدید‌ نظر شده از الگوریتم تطبیق React هست، که مسئول به‌روزرسانی virtual DOM و بازتاب دادن تغییراتش توی actual DOM هست. یعنی مختصراً، یه مجموعه‌ی جدید از الگوریتم‌ها و ساختارهای داده‌ایه که به React اجازه می‌ده که فرآیند rendering رو بهتر اولویت‌بندی کنه و مدیریت کنه. این باعث می‌شه که به‌روزرسانی‌ها با سرعت و کارایی بیشتری انجام بشن و به کاربرا تجربه‌ای نرم و بهتر ارائه بدن.چرا نیاز به React Fiber هست؟البته الانم می‌فهمید که چرا نیاز به این قسمت از React هست. فرآیند سنتی تطبیق React به صورت همزمان و مسدودکننده عمل می‌کنه. این باعث می‌شه که وقتی کامپوننت‌های زیاد و پیچیده‌ای دارید، عملکرد برنامه‌تون کاهش پیدا کنه و رابط کاربریش ناپایدار و جلف بشه. وقتی ما با این مشکلات روبرو می‌شیم، نیاز به React Fiber حس می‌شه که به این موضوعات پرداخته و روشی مدرن و قابل تطبیق برای rendering ارائه بده.امکانات کلیدی React Fiberحالا بریم سراغ امکانات مهمی که React Fiber با خودش به ما ارائه می‌ده.Incremental Renderingیکی از امکانات اصلی React Fiber، رندر کردن تدریجیه. به جای این که فرآیند تطبیق رو کاملاً یکجا انجام بده، React Fiber اون رو به واحدهای کوچک‌تری به نام &#34;fibers&#34; تقسیم می‌کنه. این باعث می‌شه React در هر فریم رندر کردن بخش‌های کوچک‌تری از درخت کامپوننت رو انجام بده و فرآیند رندر کردن پیش‌بینی‌پذیرتر و مدیریت‌پذیرتر بشه.Prioritization and Schedulingدر React Fiber مفهوم اولویت‌بندی رو معرفی می‌کنه که به توسعه‌دهندگان اجازه می‌ده مراحل مختلف به‌روزرسانی‌ها رو با اهمیت‌های متفاوت برچسب‌زنی کنن. با تعیین اولویت‌های مختلف، React می‌تونه اطمینان حاصل کنه که به‌روزرسانی‌های با اولویت بالاتر اولویت بیشتری دارن و این باعث می‌شه که رابط کاربری با سرعت بیشتری پاسخ بده.Time Slicingاین مفهوم Time slicing یکی دیگه از جنبه‌های حیاتی React Fiber هست. این اجازه رو می‌ده که React کار رندر کردن رو به چندین فریم تقسیم کنه و از این طریق، از بروزرسانی‌های طولانی و پیچیده جلوگیری کنه. این روش باعث می‌شه که میانبر اصلی برای وظایف دیگه روی مسیر اصلی باز باقی بمونه و کارایی کلی برنامه‌تون بهتر بشه.معماری Fiber رو بشناسیم  سیستم React Fiber  توی دو مرحله‌ی اصلی عمل می‌کنه: مرحله‌ی تطبیق و مرحله‌ی اجرا.  مرحله‌ی تطبیقدر این مرحله، React یه virtual DOM جدید بر اساس تغییراتی که در درخت کامپوننت‌ها شناسایی شده، ایجاد می‌کنه. اون تغییراتی که نیاز به اعمالشون داریم رو از حالت قبلی و حالت فعلی کامپوننت‌ها مقایسه می‌کنه و شناسایی می‌کنه.مرحله‌ی اجراوقتی به مرحله‌ی اجرا می‌رسیم، React تغییرات شناسایی شده رو که در مرحله‌ی تطبیق شناسایی شده، روی actual DOM اعمال می‌کنه. این مرحله مسئولیت اینو داره که به کاربرا تغییرات روی رابط کاربری نمایش داده بشه.مزایای React Fiberحالا که با React Fiber آشنا شدیم، بیاید نگاهی به مزایای اون بندازیم.بهبود عملکردبا توانایی‌های رندر کردن تدریجی و time slicing از React Fiber، برنامه‌ها می‌تونن بهبود عملکرد چشم‌گیری داشته باشن. کاربران تجربه‌ی تعامل با تاخیر کمتری خواهند داشت و زمان بارگذاری صفحات بهتری رو تجربه می‌کنن، حتی توی برنامه‌های پیچیده.تجربه کاربری بهتربا اولویت‌بندی‌های متفاوت و حفظ پاسخگویی در زمان رندر کردن، React Fiber به تجربه کاربری بهتری منجر می‌شه. کاربران می‌تونن با برنامه‌تون بدون تاخیر یا عدم پاسخگویی روبرو بشن.  چطور می‌تونیم از React Fiber در پروژه‌هامون استفاده کنیم؟برای بهره‌برداری از React Fiber، اطمینان حاصل کنید که از React نسخه‌ی 16 یا بالاتر استفاده می‌کنید. به‌طور پیش‌فرض، React Fiber به‌طور کامل به کتابخانه‌ی اصلی اضافه شده و شما نیازی ندارید که به‌صورت جداگانه اون رو فعال کنید. کافیه نسخه‌ی React خودتون رو به آخرین نسخه‌ی موجود آپدیت کنید تا خودبخود از فواید React Fiber بهره‌مند بشید.     سوءتفاهمات معمول درباره React Fiberبعضی از توسعه‌دهنده‌ها ممکنه فکر کنند که React Fiber یه تجدیدنظر کامل درمورد React هست که کاملاً درست نیست. اگرچه React Fiber الگوریتم تطبیق رو مجدداً پیاده‌سازی کرده، اصول اصلی React رو تغییر نداده. این یه تکامله، نه انقلاب.  بهترین روش‌ها برای استفاده از React Fiberبرای بهره‌مندی بیشتر از React Fiber، توصیه می‌شه که کامپوننت‌ها رو کوچک و ماژولار نگه‌دارید. تقسیم کردن کامپوننت‌های بزرگ به کوچک‌ترین واحدها باعث می‌شه React به‌روزرسانی‌ها رو به صورت کارآمدتری انجام بده. همچنین، اولویت به‌روزرسانی‌های با تأثیر بالا رو بالاتر بگیرید تا تجربه کاربری پاسخگوتری ارائه بشه. چالش‌ها و محدودیت‌های ممکنبا وجود تغییرات بزرگ React Fiber، این به هیچ وجه به‌خوبی برای همه‌ی موارد جوابگو نیست. استفاده از React Fiber در برخی حالت‌ها نیاز به ملاحظات اضافی داره و توسعه‌دهندگان باید از چالش‌ها و محدودیت‌های ممکن آگاه باشن.توسعه و به‌روزرسانی‌های آیندهتیم React همچنان در تلاشه تا React Fiber رو بهبود ببخشه. با پیشرفت تکنولوژی و ظهور چالش‌های جدید، React Fiber احتمالاً به‌روزرسانی‌ها و بهینه‌سازی‌های جدیدی دریافت خواهد کرد تا اطمینان حاصل کنه که همچنان یک راه‌حل قدرتمند و قابل اعتماد برای توسعه وب نوین باشه.نتیجه‌گیریدر React Fiber اوضاع rendering و به‌روزرسانی رو در React به‌صورت اساسی تغییر داده و به توسعه‌دهندگان یک ابزار کارآمد و پاسخگوتر برای ساخت برنامه‌های وب پویا ارائه می‌ده. با احاطه از توانایی‌های React Fiber، توسعه‌دهندگان می‌تونن رابط‌های کاربری جذابی رو ایجاد کنند که عملکرد استثنایی و تجربه‌ی بی‌نقصی رو به کاربرا ارائه بدن.</description><category>الیاس</category><author>الیاس</author><pubDate>Mon, 24 Jul 2023 19:46:25 +0330</pubDate></item></channel></rss>