<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علیرضا بابایی</title>
        <link>https://virgool.io/feed/@babaie774</link>
        <description>عاشق تکنولوژی ؛ تمرکزم روی طراحی وب و اپلیکشین هست ولی بدم هم نمیاد در مورد هوش مصنوعی بدونم :)</description>
        <language>fa</language>
        <pubDate>2026-06-17 05:58:25</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/37940/avatar/WG0vZP.jpeg?height=120&amp;width=120</url>
            <title>علیرضا بابایی</title>
            <link>https://virgool.io/@babaie774</link>
        </image>

                    <item>
                <title>چرا شی گرایی؟</title>
                <link>https://virgool.io/@babaie774/%DA%86%D8%B1%D8%A7-%D8%B4%DB%8C-%DA%AF%D8%B1%D8%A7%DB%8C%DB%8C-d2xcguq0xok6</link>
                <description>#تاریخچهاولش برنامه نویسی #عادی بود که ما باید یه عالمه کد تکراری مینویسیم ؛ بعد #تابع اومد تو کار که میومد اونا رو دسته بندی میکرد ؛ بعد #کلاس اومد اون تابعی رو جلوگیری کرد تا اونا رو از تکرار تابع ها بی نیاز کنه ؛ بعد از اون هم برنامه نویسی #پرادایم_تابعی اومد...#شیء گراییبریم بحث oop خودمون:قرار بود کلاس چکار کنه؟جلوگیری کنه از تکرار توابع.پس نیاز بود که ساختار کلی مثل نقشه ( class ( بهمون بده تا ما هر وقت نیاز داشتیم یه چیز رو بسازیم که شبیه نقشه بود اون رو باز کنیم و از روش #نمونه_سازی ( Object ) بسازیم .تالا فک کنین که ما نیاز باشه شهرمون ؛  جای دیگ یه کوچه اضافی داشته باشه ؛ نقشه نباید از اول کشیده باشه بلکه #ارث_بری میکنه.اگه هر کس توی این شهر توی ساخت و سازش دخالت کنه ، یه عالمه به مشکل یا کانفلیک میخوریم برای همین ما کد هامون رو #کپسوله_سازی کردیم تا کسی که ازش میخواد استفاده که دیگه به فرآیند داخلش کاری نداشته باشه.#انتزاعیدر نهایت کلاس ما باید بتونه مستقل از دیگر اجزا عمل کنه ، و کاری نداشته باشه کجا فرخوانی میشه ؛ #چند_ریختی</description>
                <category>علیرضا بابایی</category>
                <author>علیرضا بابایی</author>
                <pubDate>Tue, 12 Apr 2022 10:37:30 +0430</pubDate>
            </item>
                    <item>
                <title>نگاهی سریع و کلی و البته کاربردی به NEXT از دید خودم :)</title>
                <link>https://virgool.io/@babaie774/%D9%86%DA%AF%D8%A7%D9%87%DB%8C-%D8%B3%D8%B1%DB%8C%D8%B9-%D9%88-%DA%A9%D9%84%DB%8C-%D9%88-%D8%A7%D9%84%D8%A8%D8%AA%D9%87-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D8%A8%D9%87-next-%D8%A7%D8%B2-%D8%AF%DB%8C%D8%AF-%D8%AE%D9%88%D8%AF%D9%85-muevi1gwdp8j</link>
                <description>قصدم نگاهی سریع هست اگه کابرد رو دوست دارید بدونید سرچ بزنید نکست زیاد مقاله مفید داخل ویرگول هست.دو نوع Static Generation ( ssg ) و Server-side Rendering (ssr) داره:Static Generation: کد html در زمان build-time ساخته میشه.از توابعgetStaticProps getStaticPathsاستفاده میکنه.#نکتهوقتی محتوا داینامیک هست از getStaticProps استفاده کنید.وقتی مسیر داینامیک هست از getStaticPaths استفاده کنید.ویژگی callbackfalse باشه فقط صفحات که در زمان build باشن نمایش داده میشن true باشه بعد build میتونیم یه عملی رو انجام بدیم بعد اون صفحه جدید به طور خودکار build بشه.blocking باشه تمام صفحاتی که بعد build موجود بشن رو راحت رندر میکنه.ویژگی validation به مقدار زمانی که صفحه ما بعد اون خودکار بازتولید میشه رو میگنServer-side Rendering: کد html توی هر ریکوئست ساخته میشه.از getServerSideProps استفاده میکنه#navigationبرای navigation کردن باید از Link استفاده کنیم که تگ a رو به عنوان فرزند به اون پاس میدیم که دو تا props میگیره href کا دو تا مقدار داره که اولی pathname و دومی  query که مقدار slug  ها رو میتونیم پاس بدیم و یکی هم prefetch که اگه true باشه next یه سری اطلاعات رو از قبل میگیره#componentHeadهمون تگ head هست که همون مقادیر مثل meta و title رو میگیرهImageبرای مدیریت اندازه و... عکس ها #styleاز چند روش میشه Hight-componentاولین کامپونتت که توسط نکست ابجاد میشه و میتونیم استایل ها مشترک بیین صفحاتمون رو اونجا دریافت کتیم.Style-in-jsxبرای استایل های تکی استفاده میشه میتونیم تو کامپونتت  داخل retrun این کد رو بنویسیم.&lt;style jsx&gt;{h1 {    color: red;}}&lt;/style&gt;css-moduleدر این روش ما یک فایل هم نام کامپوننت میسازیم و قبل پسوند css کلمه module میذاریم مانند : footer.module.css و بعد از اون با import  کردن اون به استایل ها دسترسی دارم و داخل className={} از اون استفاده میکنیم#baseUrl &amp; @ #Default_pathبرای تعیین مسیر شروع آدرس های سایت داخل baseurl  و میتوان با @ آدرس های dafault در داخل فایل jsonconfig.json تعیین کرد{    &quot;compilerOptions&quot;: {        &quot;baseUrl&quot;: &quot;.&quot;,        &quot;paths&quot;: {            &quot;@components/*&quot;: [&quot;components/*&quot;],            &quot;@styles/*&quot;: [&quot;styles/*&quot;],            &quot;@foo/*&quot;: [&quot;components/foo/*&quot;]        }    }}#Doumentاز کامپوننت document_ برای اعمال یک سری تک های اچ تی ام ال به صورت پیش فرض برای پروژه که میتونه یک تابع به عنوان getInitialProps استفاده کرد که فقط داخل این تابع استفاده میشه.#suppressHydrationWarningبا استفاده از این پروپتی به صورت زیر میتونیم ارور متفاوت بودن نتیجه در سمت کلاینت و سرور رو به غیر فعال کنیم.&lt;div suppressHydrationWarning={true}&gt;{now.getMilliseconds()}&lt;/div&gt;</description>
                <category>علیرضا بابایی</category>
                <author>علیرضا بابایی</author>
                <pubDate>Tue, 16 Nov 2021 00:43:46 +0330</pubDate>
            </item>
            </channel>
</rss>