<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های یوسف</title>
        <link>https://virgool.io/feed/@yousifpapa</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-17 12:52:25</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/969442/avatar/F2E4yY.jpg?height=120&amp;width=120</url>
            <title>یوسف</title>
            <link>https://virgool.io/@yousifpapa</link>
        </image>

                    <item>
                <title>مختصری در مورد Assembly,EXE,DLL در دات نت</title>
                <link>https://virgool.io/@yousifpapa/%D9%85%D8%AE%D8%AA%D8%B5%D8%B1%DB%8C-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-assemblyexedll-%D8%AF%D8%B1-%D8%AF%D8%A7%D8%AA-%D9%86%D8%AA-j5wcp8dtok5k</link>
                <description>اسمبلی ظرفی هست که حاوی یک یا مجموعه ای از فضای نام در دات نت است که توسط CLR اجرا میشه. و میتونه در دو نوع باشه EXE  و  DLLحالا سوال این هست که فرق بین  EXEو DLLچیست؟EXE == Executable , DLL == Dynamic link library در واقع EXE در فضای آدرس (حافظه) خودش اجرا می شود. ولی DLL در فضای آدرس خودش قابل اجرا نیست و برای اینکه اجرا شود به میزبان نیاز دارد به عبارتی دیگر DLL برای اجرا به یک مصرف کننده نیاز دارد تا آنرا اجرا کند. پس DLL در فضای حافظه دیگری قابل اجراست و DLL در   فضای آدرس EXE قابل اجراست.  اهمیت DLL برای استفاده مجدد در پروژه است بعنوان مثال شما یکبار یک DLL ایجاد میکنید و میتوانید آنرا در پروژه کنسول یا ویندوز  و یا در پروژه MVC استفاده کنید. میتوانیم DLL را بعنوان یک کامپوننت قابل استفاده مجدد در نظر بگیریم.</description>
                <category>یوسف</category>
                <author>یوسف</author>
                <pubDate>Fri, 20 May 2022 21:57:18 +0430</pubDate>
            </item>
                    <item>
                <title>سی ال آر (CLR) چیست؟</title>
                <link>https://virgool.io/@yousifpapa/%D8%B3%DB%8C-%D8%A7%D9%84-%D8%A2%D8%B1-clr-%DA%86%DB%8C%D8%B3%D8%AA-yl2ydjz7czqm</link>
                <description> کدهای سی شارپ بعد از کامپایل مستقیما به زبان ماشین کامپایل نمیشن بلکه نتیجه یک زبان سطح میانی است که اصطلاحا آن را Intermediate Language یا il میگویند. که این کدهای il بصورت مستقل از کامپیوتر در یک محیط مجازی قرار میگیرند.حالا برای اینکه این کدها به زبان ماشین (باینری) تبدیل شوند تا پروژه ما اجرا بشه اینجا CLR وارد عمل میشود و کدهای زبان سطح میانی را به زبان ماشین تبدیل میکند. در واقع CLR را میتوانیم مترجمی در نظر بگیریم که کدهای il را به binary تبدیل میکند تا این کدها برای ماشین قابل فهم و اجرا بشه.به پروسه تبدیل کدهای il به binary توسط سی ال آر Just In Time Compilation گفته میشود.CLR == Common Language Runtime</description>
                <category>یوسف</category>
                <author>یوسف</author>
                <pubDate>Thu, 19 May 2022 21:34:11 +0430</pubDate>
            </item>
                    <item>
                <title>فرق بین ASP.NET  و ASP.NET Core</title>
                <link>https://virgool.io/@yousifpapa/%D9%81%D8%B1%D9%82-%D8%A8%DB%8C%D9%86-aspnet-%D9%88-aspnet-core-k73jff4no52v</link>
                <description>در واقع ASP.NET تکنولوژی هست برای توسعه وب سایت های پویا با استفاده از فریمورک دات نت که توسط مایکروسافت در سال 2002 ارائه شد که فقط روی سیستم عامل ویندوز قابل اجراست.حالا ASP.NET Core چیه؟ در حقیقت ASP.NET Core نسخه ی اپن سورس ASP.NET هست که روی سیستم عامل ویندوز و لینوکس و مک قابل اجراست که در سال 2016 توسط مایکروسافت ارائه شد با امکانات و کارایی بالاتری نسبت به  ASP.NET ASP == Active Server Pages</description>
                <category>یوسف</category>
                <author>یوسف</author>
                <pubDate>Thu, 19 May 2022 20:40:55 +0430</pubDate>
            </item>
                    <item>
                <title>بخش سوم Next js</title>
                <link>https://virgool.io/@yousifpapa/%D8%A8%D8%AE%D8%B4-%D8%B3%D9%88%D9%85-next-js-at222ptctq3m</link>
                <description>دو روش برای رندر سمت سرور در Next js هست.روش   Static Generationدر این روش  قالب HTML ما در زمان build  ساخته میشه ، یعنی اینکه قالب ما بر اساس درخواست سمت کلاینت ساخته نمیشه بلکه از قبل ساخته شده و آماده است. و زمانیکه درخواستی برای این صفحه ما بیاد دیگه نیاز به رندر نیست چونکه از قبل رندر شده، و در جواب درخواست کلاینت این قالب از قبل ساخته شده ارسال میشه به کلاینت برای نمایش به کاربر ،  این نوع از Pre-rendering برای قالب های Static  مانند پست های وبلاگ ، صفحه محصولات ، و کلا صفحاتی که از قبل میدانیم که کاربر چه می خواهد مناسب هست و این روشی هست که خود تیم Next js   پیشنهاد میکنه برای Pre-rendering صفحات وب سایتمان.روش   Server-Side Renderingدر این روش قالب HTML ما زمانی ساخته میشه که از سمت کلاینت درخواست بیاد. یعنی رندر صفحه بر اساس درخواست کلاینت هست . در این روش مدت زمان لود صفحه بیشتر است چونکه رندر باید ابتدا اتفاق بیفتد و زمانیکه قالب ساخته شد ، قالب  در پاسخ به کلاینت ارسال خواهد شد.  این روش برای صفحاتی خوب است که بر اساس درخواست کلاینت باید ساخته شوند و داده ها باید بر اساس درخواست کلاینت fetch شوند. بعنوان مثال فرض کنیم یک صفحه ای داریم که کاربر باید در این صفحه کالای مورد نظرش را   سرچ کند ، پس اینجا بر اساس سرچ کاربر ما باید کالا یا محصول را به کاربر نمایش دهیم. در اینجا این روش از Pre-rendering مناسب هست چونکه از قبل نمیدانیم که کاربر چه می خواهد. </description>
                <category>یوسف</category>
                <author>یوسف</author>
                <pubDate>Sat, 28 Aug 2021 13:33:52 +0430</pubDate>
            </item>
                    <item>
                <title>بخش دوم Next js</title>
                <link>https://virgool.io/@yousifpapa/%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-next-js-hinat47bagcx</link>
                <description>در نوشته قبلی گفتیم که اپ های ری اکت دو تا نکته منفی دارن. اول اینکه سرعت لود اولیه بالاست چونکه کل اپ ارسال میشه به کلاینت و دوم اینکه چونکه کلاینت در ابتدا یک قالب HTML خالی را  در مرورگر اجرا میکنه از نظر SEO وب سایت ما بسیار ضعیف خواهد بود.. خب ببینیم Next js اینجا برای حل این دو مشکل چه کاری میتونه برای ما انجام بده. همانطور که میدونیم بحث Routing در Next js بر اساس نام فایل هست در پوشه ای با نام pages ، به اینصورت که فایل index.js میشه صفحه اصلی وبسایت ما و فایل های دیگه میشن صفحه های دیگر وب سایت ما که بر اساس نامشون مسیر دهی میشن. مثلا اگر یک فایل داشته باشیم با نام about.js ، برای اینکه کاربر بتونه این صفحه را ببینه باید آدرس را به این صورت وارد کنه : https://our-domain/about و هر page  چیزی نیست جز یک کامپوننت ری اکت. حالا اگر کاربر درخواستی برای یکی از صفحه های وب سایت ما داشته باشه مثلا همین صفحه about را براش درخواست داده .. آنوقت Next js  عزیز و دوست داشتنی تمام اپ را براش نمیفرسته.  فقط همین صفحه ای که کاربر درخواست داده را به سمت کلاینت ارسال میکنه و بدین گونه لود اولیه اپ ما بالا نخواهد بود چونکه فقط یکی از صفحه های اپ ما اجرا شده ، پس مشکل لود اولیه حل میشه بدین صورت ، حالا بریم ببینیم که بحث SEO را چطوری Next js هندل میکنه.در Next js  اجرا یا رندر در سمت سرور اتفاق می افتد یعنی قالب HTML ما در سمت سرور ساخته میشه و بعد ارسال میشه به کلاینت برای نمایش به کاربر،  بدین صورت یک صفحه ای با محتوا ارسال شده سمت کلاینت لذا الگوریتم های موتورهای جستجو مانند گوگل با یک صفحه با محتوا مواجه هستن و آنرا نادیده نمیگیرن.این بحث رندر در سمت سرور در Next js  خودش دو نوع هست :‌ SSG و SSR که هر کدام جذابیت های خاص خودشون رو دارن و در پست بعدی با جزئیات صحبت خواهیم کرد.</description>
                <category>یوسف</category>
                <author>یوسف</author>
                <pubDate>Fri, 27 Aug 2021 13:50:10 +0430</pubDate>
            </item>
                    <item>
                <title>مقدمه ای بر Next js</title>
                <link>https://virgool.io/@yousifpapa/%D9%85%D9%82%D8%AF%D9%85%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1-next-js-snu3euntkzdl</link>
                <description>نکست جی اس در واقع فریم ورکی هست برای React که اومده زندگی را برای شما که توسعه دهنده React هستی آسونتر و جذابتر کنه.قبل از اینکه وارد بحث Next js بشیم بطور خلاصه در مورد اینکه یک اپلیکیشن React چگونه کار میکنه صحبت کنیم. فرض میکنیم که یک وبسایتی داریم که با ری اکت توسعه داده شده و همانطور که میدونم ری اکت  یک Single Page Application هست ولی با کتابخونه React Router Dom میتونیم شبیه سازی کنیم که اپ ما چندین صفحه دارد.زمانیکه  از سمت کلاینت درخواستی برای اجرای (Render) اپ ما فرستاده میشه به سمت سرور .. سرور در پاسخ کل اپ ما را در قالب یک فایل جاوا اسکریپت به کلاینت ارسال میکنه. کلاینت در ابتدا یک قالب HTML خالی را که فقط یک تگ div با آی دی root را داخل خودش داره   اجرا میکنه. در واقع این تگ div با آی دی  root  لینکی هست به فایل جاوا اسکریپت ما که کل اپ ما هست . سپس کلاینت بر اساس درخواست کاربر که کدوم صفحه از وب سایت ما را درخواست داده را براش نمایش میده و در صورتیکه کاربر درخواست داشته باشه که صفحه ای دیگه ای از اپ ما را باز کنه . کلاینت  صفحه را براش نمایش میده چونکه کل اپ ما اینجاست و به سمت سرور درخواستی ارسال نمیشه لذا اپ ما سرعت خیلی بالایی خواهد داشت چونکه اجرا یا به اصطلاح دیگه render  ما همینجاست سمت کلاینت.ولی این شیوه از اجرای  اپ در سمت کلاینت دو تا نکته منفی داره :نکته اول: اینکه سرعت لود اولیه اپ ما بالا خواهد بود بخصوص اگر یک پروژه بزرگی باشه . چرا سرعت لود اولیه بالا خواهد بود ؟ چونکه کل اپ ما در همون درخواست اول به کلاینت ارسال میشه و کل اپ قطعا حجم زیادی دارد تا اینکه فقط یک صفحه از اپ ما ! ممکنه کاربر فقط بخواد یکی از صفحه های وب سایت ما را ببیند ! چه کاریه کل اپ را بفرستیم براش !نکته دوم: چونکه در همان اجرای اولیه یک صفحه HTML خالی در سمت کلاینت اجرا میشه .. الگوریتم های  موتورهای جستجو مانند گوگل با یک صفحه خالی و بدون محتوا مواجه میشن و وقتی که میبینن صفحه محتوایی ندارد ... آنرا نادیده میگیرند و به این شکل از نظر SEO  وبسایت بسیار ضعیفی خواهیم داشت .حالا Next js اومده که این دوتا نکته منفی را برای اپلیکیشن های ری اکت حل کرده به همراه یکسری ویژگی ها و امکانات بیشتر ..... با من همراه باشید در پست بعدی در مورد اینکه Next js  چگونه کار میکنه توضیح خواهم داد ...پینوشت: منظور از اپ =&gt; اپلیکیشن</description>
                <category>یوسف</category>
                <author>یوسف</author>
                <pubDate>Thu, 26 Aug 2021 15:02:32 +0430</pubDate>
            </item>
            </channel>
</rss>