<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مهدی محمد هاشمی</title>
        <link>https://virgool.io/feed/@korand</link>
        <description>از 19 سالگی برنامه نویسی رو شروع کردم و سال 1388 شرکت قلعه کُرند با شماره ثبت 9961 رو تاسیس کردم و در زمینه های  فریم ورک yii2 ، پایتون ، جاوا و برنامه نویسی اندروید فعالیت میکنم /https://korandco.ir</description>
        <language>fa</language>
        <pubDate>2026-06-21 13:37:54</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/52983/avatar/JIx3TB.png?height=120&amp;width=120</url>
            <title>مهدی محمد هاشمی</title>
            <link>https://virgool.io/@korand</link>
        </image>

                    <item>
                <title>نحوی کم کردن حجم فایل apk اندروید</title>
                <link>https://virgool.io/@korand/%D9%86%D8%AD%D9%88%DB%8C-%DA%A9%D9%85-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AD%D8%AC%D9%85-%D9%81%D8%A7%DB%8C%D9%84-apk-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-rgsd5e4qiyp9</link>
                <description>وظیفه یک برنامه نویس اندروید علاوه بر پیاده سازی کدها و کتابخانه ها و عملکرد خوب اپلیکیشن و زیبایی ظاهری آن ، کاهش حجم فایل Android Package است که عامل تعیین کننده ای برای دانلود کاربر خواهد بود.حجم فایل APK بعد از کامپایل اگرتنها دغدغه های توسعه دهندگان نباشد اما قطعا یکی از پراهمیت ترین هاست.مخصوصا کاربران ایرانی که با محدودیت های سرعت و میزان ترافیک اینترنت مواجه هستند.چند روش توصیه شده برای کم کردن حجم فایل APK1.بهینه سازی هوشمند کد های بی استفادهبا استفاده از لایبرری که به شما معرفی خواهد شد قادر خواهید بود به صورت هوشمند کد هایی بی استفاده موجود درون اپلیکیشن رو بهینه کنید که این روی حجم نهایی فایل APK شما تاثیر گذار خواهد بود.برای اطلاعات بیشتر شمارو به این مقاله گوگل ارجاع میدهیم : https://developers.google.com/android/guides/setupبرای بهینه سازی کد ها : لایبرری زیر در Build.gradlecompile &#x27;com.google.android.gms:play-services:9.0.2&#x27;رو با لایبرری های زیر جایگزین کنید :compile &#x27;com.google.android.gms:play-services-fitness:9.0.2&#x27;compile &#x27;com.google.android.gms:play-services-wearable:9.0.2&#x27;2.عملیات Logging ( تولید فایل Log ) را غیر فعال کنیدزمانی که عملیات توسعه و اعمال تغییرات مهم شما به پایان رسیده و نیاز ندارید رفتار برنامه را دقیق بسنجید عملیات لاگینگ که کلیه عملکرد اپلیکیشن را در یک فایل لاگ ذخیره میکند تنها باعث افزایش حجم اپلیکیشن شما خواهد شد و کاربرد دیگری ندارد.برای غیر فعال سازی Log در فایل Proguard-android.txt کد زیر را وارد کنید-assumenosideeffects class android.util.Log {public static boolean isLoggable(java.lang.String, int);public static int v(...);public static int i(...);public static int w(...);public static int d(...);public static int e(...);}3.آپلود کردن اپلیکیشن بصورت App Bundle کی از دلایلی که باعث افزایش حجم برنامه های اندرویدی و فایل apk نهایی می شود پشتیبانی از پردازنده های مختلف, صفحه نمایش های مختلف و دیگر مسایل بهینه سازی برای سازگاری با دستگاه های مختلف می باشد.اما با روش جدید خروجی گرفتن از پروژه خود و دریافت فایل aab به جای apk میتونید حجم برنامه خودتون و تا ۳۵% کاهش بدید.فایل aab فقط مخصوص استفاده در گوگل پلی می باشد و افراد هنگام مراجعه به صفحه اپلیکیشن شما فقط تنظیمات مخصوص به گوشی خودشون و دریافت می کنند باعث کاهش حجم فایل دانلودی می شود.4.استفاده از پلاگین Android size analyzer برای کاهش حجم فایل APKاستفاده از پلاگین Android Size Analyzer این امکان را به شما میدهد که نقاطی از سورس که حجم زیادی دارند را شناسایی کنید و حتی پیشنهادی برای کم حجم کردن سایز آن قسمت دریافت کنید.برای نصب پلاگین Android Size Analyzer به مسیر زیر بروید:File / Setting / pluginsدر تب Marketplace عبارت Android Size Analyzer را جستجو کنیدسپس پلاگین رو نصب و اندروید استودیو رو ری استارت کنید.برای اجرای پلاگین هم به مسیر زیر برویدAnalyze / Analyze App Sizeهمچنین میتونید پلاگین Android Size Analyzer رو بصورت کامند هم ران کنید بدین صورت که نسخه آخر پلاگین رو از گیت هاب مربوطه ش دانلود کنید ، بصورت TAR یا ZIP پس از استخراج پلاگین رو در مک یا لینوکس و یاحتی .bat در ویندوز با دستورات زیر اجرا کنید./size-analyzer check-bundle./size-analyzer check-projectخواهید دید پلاگین Android Size Analyzer پرحجم ترین فایل ها به علاوه یک پیشنهاد به شما ارائه میدهد.5.استفاده از فرمت های پیشنهاد شده و استاندارداستفاده از فرمت های پیشنهاد شده و استاندارد که از سوی گوگل توصیه می شوند می توانند تاثیر زیادی بر کاهش حجم نهایی فایل apk که اپلیکیشن اندروید شماست داشته باشند .درصد نسبتا قابل توجه ای از حجم اپلیکیشن مربوط به عناصر گرافیکیست که در صورت توجه و بهینه کردن این عناصر اپلیکیشن نهایی شما حجم کمتری خواهد داشت که میتونه یک امتیاز مثبت برای اپلیکیشن شما محسوب بشه و در فراگیر شدن اپلیکیشن شما تاثیر زیادی داشته باشه. همیشه SVG را مورد توجه قرار بدید زیرا بهترین فرمت مورد استفاده برای درنظر گرفتن آیکن اپلیکیشن شماست . برای عناصر گرافیکی مورد استفاده در طراحی لی اوت ها فرمت PNG به دلیل دارا بودن فرمت ترنسپرنت ( بدون زمینه ) انتخاب مناسبی هست .فرمت JPEG برای تصاویری که نیازی به ترنسپرنت بودن پس زمینه برای آنها احساس نمی شه مثل بنر ها ، پس زمینه لی اوت ها ، دکمه های مستطیل خاص و.. یکی از فرمت های است که با توجه به میزان Compression بالایی که داره حجم کمتری نسب به فرمت PNG داره.برنامه های بسیار زیادی منتشر شدند که میتونید با استفاده از این برنامه ها فایل های تصویری خودتون رو تا حد قابل قبولی بدون افت چشمگیر کیفیت فشرده کنید. همواره استفاده از فتوشاپ برای انجام این موارد با بهره گیری از اپشن Save for Web که در این برنامه تعبیه شده توصیه می شود.6.تمامی منابع بی استفاده را حذف کنیدحذف موارد و منابع بی استفاده در کد مانند متدها ، کلاس ها، attribute ها و … می تواند به کاهش سایز فایل APK شما کمک کند. برای این منظور ابزار های مختلفی وجود دارد؛ برای مثال می توانید از R8 Code Shrinker استفاده کنید.امروزه درخواست ها برای اپلیکیشن های اندروید بسیار زیاد شده است و به همین خاطر، کم بودن سایز APK با توجه به تاثیر نگذاشتن بر روی بهره وری اپلیکیشن، یک چالش بسیار بزرگ برای توسعه دهندگان شده است.طراحی اپلیکیشن اندروید</description>
                <category>مهدی محمد هاشمی</category>
                <author>مهدی محمد هاشمی</author>
                <pubDate>Sun, 19 Jan 2020 11:26:27 +0330</pubDate>
            </item>
                    <item>
                <title>معایب وردپرس و مشکلات استفاده از وردپرس</title>
                <link>https://virgool.io/@korand/%D9%85%D8%B9%D8%A7%DB%8C%D8%A8-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-%D9%88-%D9%85%D8%B4%DA%A9%D9%84%D8%A7%D8%AA-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-prvfuujyic87</link>
                <description>معایب وردپرس و مشکلات استفاده از وردپرس وردپرس در کنار کاربران زیاد و پر و پا قرصی که دارد، منتقدانی هم نیز داشته است. این منتقدان نقدهای زیادی بر این سیستم دارند و بر این باورند که نباید از وردپرس برای ساخت هرگونه سایتی استفاده کرد.در حالی که همگان وردپرس را ستایش می‌کنند! ما تصمیم گرفتیم از این عده جدا شده و طور دیگری به ماجرای پروژه‌ی وردپرس نگاه کنیم و به عنوان یک استثنا، به ناهماهنگی‌ها و ضعف‌های آن بپردازیم. پیش از هر چیزی ما از تمامی هواداران وردپرس درخواست داریم که واژگان ما در این نقد را به حساب توهین و یا تخریب این سرویس محبوب قرار ندهند، بیایید به شکل مستقیم به این موضوع بپردازیم.ممکن است با خود بگویید که آیا اصلا نقد چنین سرویس محبوبی که روزانه میلیون‌ها نفر از آن برای نشر محتوا استفاده کرده و میلیون‌ها نفر دیگر نیز از این محتوا استفاده می‌کنند، چه لزومی دارد؟ اما مباحث توسعه وب، با محبوبیت سروکار ندارد و در جهت توسعه به ضعف‌های هر چیزی حتی وردپرس می‌پردازد و این از بدیهیات توسعه وب است.معایب و ضعف‌های اساسی در وردپرس1 . جدی‌ترین ضعف وردپرس از نقطه نظر ما و سایر توسعه دهندگان و فعالان این عرصه، مشکلات امنیتی آن است که آن را دائما در معرض خطر قرار می‌دهد. با توجه به این موضوع و رشد حرفه‌ای نرم افزارها در جهان در مقابل رشد و توسعه وب، می‌توان گفت که این یک واقعیت است که شما دائما در معرض این آسیب قرار دارید و این سیستم نیاز دارد که مدیر آن، دائما از نظر امنیتی و اطلاعات امنیتی در سطح مطلوب باشد.معایب وردپرس و مشکلات استفاده از وردپرسهمیشه به راحتی نمی توان از امنیت سایت های وردپرسی اطمینان حاصل کرد. زیرا امنیت وردپرس تنها مربوط به هسته آن نمی شود، بلکه همه افزونه ها و قالب ها می توانند در امنیت سایت تاثیرگذار باشند. زیرا امکان دارد افزونه یا قالبی دارای باگ های امنیتی باشد که باعث به خطر افتادن تمام امنیت سایت شما شوند. زیرا قطعا تمام افزونه ها و قالب های وردپرس استاندارد و مطمئن نمی باشند. بنابراین همیشه وردپرس از نظر امنیت آسیب پذیر خواهد بود.2 . وردپرس هم‌چنان به عنوان یک موتور وبلاگ‌نویسی شناخته می‌شود و هنوز به عنوان یک سایت ساز شناخته نمی‌شود (هر چند بسیاری از مراجع و توابع آن در حال تبدیل شدن و رسیدن به استانداردهای سایت است و اغلب کدهای آن به سمت refactored شدن پیش می‌روند).3 . به طور کلی، وردپرس یک انتخاب عالی برای سایت‌هایی است که از بالا به پایین، محتوا محور هستند. مجلات و یا وب سایت‌های خبری، سایت‌های نمونه‌کار، سایت رویداد و… بسیار کاربرپسند در وردپرس راه‌اندازی می‌شوند. اما برای سایت‌هایی که در اطراف محتوای ایجاد شده توسط کاربر، نیاز به جستجوی پیچیده از طریق کاتالوگ‌های بزرگی از محصولات دارند، وردپرس می‌تواند خسته‌کننده و بسیار کند باشد. اگر شما بیشتر در مورد پلاگین‌ها برای به دست آوردن قابلیت‌های مورد نیاز خود در در وردپرس فکر می‌کنید، شما احتمالا باید برخی از سیستم عامل‌های دیگر را برای فعالیت خود در نظر بگیرید.4 . این بسیار منطقی است که وردپرس منعطف است اما این سیستم تا کنون نتوانسته است یک سیستم مدرن باشد، چرا که به هک و کدهای PHP برای اضافه شدن امکانات جانبی، به شدت وابسته است و توابع این هک‌ها نیز می‌توانند بسیار گیج کننده باشند.5 . توسعه دهندگان وردپرس، هیچ‌گونه پشتیبانی منظمی را در این باره ارایه نمی‌کنند و اغلب پشتیبانی‌ها توسط جامعه مشتاق کاربران به یکدیگر داده می‌شود. نتیجه این می‌شود که در انجمن پشتیبانی وردپرس پرسش‌های زیادی بی‌پاسخ می‌ماند و یا بد و نادرست پاسخ داده می‌شود.معایب وردپرس و مشکلات استفاده از وردپرس6 . وردپرس  به درستی و منطقی پیکربندی نشده است. به عنوان نمونه: پیوندهای یکتا تنها زمانی کامل می‌شوند که شما به صورت دستی از افزونه‌های سئو، آن را بهینه و تثبیت کنید. این منطقی است که در پیکربندی دیگری مانند مبارزه با هرزنامه‌ها، وردپرس محکم پیکربندی شده که می‌تواند بسیار مفید باشد، اما آنچه مبهم و ضعف تلقی می‌شود این است که این امکان چگونه می‌تواند اختصاصی شود و برای کل مجموعه نباشد. حقیقت این است که این سیستم، بسیار شلوغ پیکربندی شده است و بیش از حد به مواردی در آن پرداخته شده که باید واضح و روشن می‌بودند.7 . بستر نامناسب برای توسعه اختصاصی سایت،بسیاری از توسعه دهندگان وب بر این باورند که وردپرس بستری مناسب و استانداردی برای توسعه ندارد. زیرا بسیاری از بخش های وردپرس مانند متغیرهای اصلی، توابع و کلاس ها با تکنیک های قدیمی PHP ایجاد شده اند و دارای استاندارد مشخصی نیستند. به همین دلیل است که نام گذاری بعضی از توابع وردپرس برای برنامه نویسان گیج کننده است.همچنین بسیاری از بخش های وردپرس به صورت غیر شی گرا کدنویسی شده اند. این مورد از نظر برنامه نویسان بسیار ضعف بزرگی محسوب می شود. زیرا امروزه تقریبا برنامه نویسی شی گرایی یکی از مناسب ترین شیوه های کدنویسی است. از طرفی دیگر وردپرس از هیچ کدام یک از معماری های نرم افزاری مثل MVC پیروی نمی کند.8 . نیاز به دانش فنی برای توسعه سایت،همواره برای کاربران سایت های وردپرسی موضوعی به نام شخصی سازی سایت مطرح می شود. یعنی آن ها پس از راه اندازی سایت خود، به تغییرات آن مطابق با نیازها و سلایق خود می پردازند. اما همیشه شخصی سازی یک سایت به راحتی نصب یک قالب و یا چند افزونه نخواهد بود. پس کاربران در اینگونه مواقع باید خودشان دست به کار شوند و تغییرات مد نظرشان را با استفاده از کدنویسی بر روی سایتشان اعمال کنند.معایب وردپرس و مشکلات استفاده از وردپرسدر غیراینصورت باید برای اینکار به سایر برنامه نویسان و توسعه دهندگان وردپرس هزینه پرداخت کنند. سفارشی سازی قالب ها یا افزونه های وردپرسی نیاز به دانش فنی خوبی در مورد زبان های PHP، SQL، HTML، CSS و Javascript دارد. علاوه بر این موارد، برنامه نویس وردپرس باید چارچوب و ساختار آن را به خوبی درک کند تا بتواند تغییرات مورد نظر را به صورت بهینه ای در سایت ایجاد کند.9 . سرعت لود سایت های وردپرس کند میباشد،گزارش شده است که فقط تاخیر یک ثانیه در زمان بارگذاری سایت شما ممکن است باعث کاهش 11 درصدی بازدیدهای صفحه شود.بازدیدکنندگان زمان کافی برای بالا آمدن صفحه ندارند و یا به اندازه ای صبورنمی باشند که بتوانند تحمل کنند.سرعت بازگذاری سایت به راحتی تحت تاثیر سایر عوامل مانند نوع قالب سایت، افزونه های نصب شده و... قرار گیرد.ممکن است برخی قالب هایی که برای سایت های وردپرسی طراحی می شوند، به صورت غیر استاندارد کدنویسی شده باشند. چنین قالب هایی، تاثیر بسیار زیادی در کاهش سرعت بارگذاری سایت دارند. بنابراین برای انتخاب یک قالب علاوه بر فاکتورهایی مانند ظاهر، امکانات و... باید از استاندارد بودن آن نیز اطمینان حاصل کنیم. به همین دلیل نباید از هر قالبی در برای سایت های وردپرسی استفاده کنیم.معایب وردپرس و مشکلات استفاده از وردپرسهمیشه از افزونه های وردپرس به عنوان یکی از بهترین مزایای وردپرس یاد می شود. اما یکی از عواملی که می تواند عملکرد یک سایت را تحت تاثیر قرار دهد، نصب افزونه های متعدد و نامناسب است. زیرا معمولا این مورد پیش می‌ آید که عملکرد یک افزونه با مشکل رو به رو می شود و علاوه بر مصرف منابع شدید سرور، عملکرد سایت ما را به صورت کامل مختل می کند.همچنین ممکن است عملکرد برخی از افزونه ها با یکدیگر تداخل داشته باشند و منجر به ایجاد مشکلات مختلفی در سایت شوند. زیرا افزونه های وردپرس توسط افراد بسیار زیاد و مختلفی توسعه داده می شوند. از آنجایی که قانون و استانداردی برای توسعه افزونه های وردپرس وجود ندارد، هر یک از آن ها به شیوه مدنظر خود کدنویسی می کند. همین عامل باعث ایجاد عدم هماهنگی و ناسازگاری بین برخی افزونه های وردپرس می شود. بنابراین برای جلوگیری از به وجود آمدن چنین مشکلاتی باید افزونه‌ های گوناگون را قبل از نصب بررسی کنید.10 . تم شما ممکن است ناامن باشد،تم های وردپرس اغلب آسیب پذیرهستند به خصوص قالب ها و افزونه های نال شده (Nulled) و یا غیرقانونی.منبع : شرکت طراحی وب سایت و اپلیکشن کُرند https://korandco.ir/site/single?article=5</description>
                <category>مهدی محمد هاشمی</category>
                <author>مهدی محمد هاشمی</author>
                <pubDate>Thu, 09 Jan 2020 09:16:26 +0330</pubDate>
            </item>
                    <item>
                <title>آشنایی با فریمورک Yii2 و معرفی ویژگی‌های آن</title>
                <link>https://virgool.io/@korand/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D9%81%D8%B1%DB%8C%D9%85%D9%88%D8%B1%DA%A9-yii2-%D9%88-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%88%DB%8C%DA%98%DA%AF%DB%8C%D9%87%D8%A7%DB%8C-%D8%A2%D9%86-oddgieedwjbm</link>
                <description>https://korandco.ir/نایی با فریمورک Yii2فریمورکYii  (خوانده می شود یی حرف E کشیده یا Yee) که مخفف yes it is   می باشد، یکی از فریمورک های متعدد زبان php است که از سال ۲۰۰۸ فعالیت خود را آغاز کرده است.از جمله ویژگی های yii می توان به تولید کدهای سریع، ارتباط آسان و مطمئن با دیتابیس، پشتیبانی کامل از ساختار MVC و هزاران ماژول از پیش ساخته شده که به راحتی بر روی آن نصب می‌شود اشاره کرد.فریمورک چیست؟فریمورک ها چهارچوب و ساختار های کدنویسی از پیش تعیین شده ای هستند که برای یک زبان برنامه ‎نویسی خاص توسط بهترین برنامه نویسان جهان بصورت مجموعه‌ای از کدها، ابزارها و… ارائه می‌ شوند و هدف آن آسان‎تر و سریع تر کردن برنامه نویسی می باشد.بطور کلی می‌ توان فریمورک را مجموعه‌ای از ابزارها، کتابخانه‌ ها، قرارداد ها و بهترین شیوه‌ ها تعریف کرد، فریمورک‎ ها این امکان را به برنامه نویسان می‎ دهند تا با توابع و کلاس‎ های از پیش تعریف شده، ضمن ایجاد امنیت بیشتر برای برنامه‎ها، از کد کمتری در برنامه‎ های خود استفاده کنند.فریمورک ها کمک میکنند که ما کدنویسی سریع‌تر، بهتر، منظم تر و با تمرکز بیشتری داشته باشیم. شما با استفاده از Framework ها میتوانید با سرعت، کیفیت و دقت بیشتری اقدام به توسعه محصولات نرم‌افزاری کنید.چرا باید از فریمورک ها استفاده کنیم؟1.چرخ را از اول اختراع نمیکنیدیکی از مهم ترین نکات درباره‌ی کاربرد فریمورک ها این است که کمک میکند که چرخ را از اول اختراع نکنید. امکانات بسیار زیادی در فریمورک ها از قبل تهیه و برنامه نویسی شده است که باعث میشود که شما کارهای روتین و ابتدایی یک پروژه را رد کنید و مستقیم به سراغ انجام کارهای اصلی پروژه بروید.اینطور فکر کنید که برای انجام هر پروژه‌ی جدید، شما نیاز هست که بخش زیادی از زمان‌تان را صرف کارهای حاشیه‌ای، تکراری و روتین کنید و این برای شما به عنوان یک برنامه نویس فاجعه است.2.سرعت کدنویسی بیشتر می شودیکی دیگر از مزایای فریمورک ها این است که سرعت کدنویسی شما را افزایش میدهند.در فریمورک ها هرگز وقت شما برای کارهای روتین، پیش پا افتاده و بی اهمیت صرف نمیشود. همه مقدمات در فریمورک ها برای شما اماده است که تمام تمرکز خودتان را بر روی منطق (Logic) اصلی کدتان بزارید و به هیچ چیز دیگری فکر نکنید.3.بسیاری از امکانات از قبل وجود دارنداگر بخواهیم بگوییم که بهترین دلیل وجود فریمورک چیست ، میتوانیم بگوییم امکانات پیش فرض آن است. بسیاری از کارها از قبل توسط فریمورک ها نوشته شده است و شما فقط باید از آن‌ها استفاده کنید.برای مثال اگر شما بخواهید برای فرم های سرویس‌تان Form Validation داشته باشید و چک کنید که اگر رمز کاربر کمتر از ۵ کاراکتر بود، برای او خطایی نمایش داده شود، اینکار را میتوانید خیلی راحت با قابلیت های پیش فرض فریمورک ها در چند دقیقه پیاده سازی کنید و دیگر نیازی به نوشتن چندین خط کد اضاف ندارید. این باعث میشود که وقت‌ و انرژی بیشتری را ذخیره کنید.4.توابع قابلیت استفاده‌ی مجدد را دارندنکته‌ی مهمی که در خصوص فریمورک ها وجود دارد این است که به شما امکان استفاده‌ی مجدد از کدها یا اصطلاحا reuseکردن کد ها را میدهد که این فوق العاده است.5.کدهای منظم تر و بهتری خواهید داشتبسیاری از فریمورک ها به دلیل استفاده از معماری‌هایی مثل MVC کمک میکنند که کد بسیار منظم تر و مرتب تری داشته باشید.خیلی سخت است اگر بخواهید که بدون استفاده از یک فریمورک ، کدی بنویسید که منظم، خوانا، تمیز و قابل فهم برای همگان باشد. اما فریمورک ها به دلیل ساختاری که دارند، این امکان را برای شما فراهم میکنند که کدتان تا حد بسیار زیادی به یک کد منظم و خوانا و غیرکثیف تبدیل شود.معماری MVC چیست؟عبارت MVC یا Model View Controller واژه ای است که در هنگام کار کردن با فریمورک ها مورد استفاده قرار می گیرد که یک شکل خاص از ترکیب کد های برنامه نویسی است . در این ساختار کد های برنامه به سه بخش تقسیم می شوند  که با تقسیم و طبقه بندی کدها، برنامه به صورت سه لایه مجزا از هم در می آید.معماری mvc الگویی که به شما کمک می کند تا قسمت های کنترلر ( controller ) و نمایشگر (view) و بالاخره منطق (model) را از یکدیگر جدا کنید. از مزایای آن می توانم به سهولت مدیریت کدها، خطایابی ها و به طور خلاصه توسعه و نگهداری کد ها اشاره کرد.بخش Model کار ذخیره و بازیابی اطلاعات را بر عهده دارد و بخش View وظیفه ی نمایش اطلاعات به کاربر را بر عهده دارد و بخش Controller دریافت اطلاعات از کاربر و پردازش را بر عهده دارد .ویژگی‌های فریمورک Yii1.استفاده از قابلیت کامپوننتبا استفاده از Component ها می توانید بخش های جدیدی به Yii اضافه کنید، و یا Component های خود Yii را تغییر دهید.فریمورک Yii برای نشان دادن قدرت کامپوننت ها، حین نصب، تعدادی کامپوننت بسیار کاربردی را در اختیار شما می گذارد.همچنین حین اجرای وب اپلیکیشن از آن کامپوننت ها استفاده میکند.برای مثال می توان به کامپوننت های ذیل اشاره نمود:UserCatchLogUrlManagerDbViewهر برنامه نویسی می تواند بی نهایت کامپوننت به برنامه ی خود اضافه کند یا هر یک از کامپوننت های اصلی Yii را با کامپوننت های خودش جایگزین کند.2.سازگاری فریمورک  Yii با دیگر فریمورک‌های PHPگاهی گفته می‌شود که یک فریمورک به صورت متن باز است و این راهی است که امکان توسعه آن را می‌دهد. اما گاهی اوقات در کنار متن باز بودن، یک فریمورک با دیگر فریمورک‌ها، هماهنگی و سازگاری دارد که این عامل کمک می‌کند که بتوانیم از فریمورک‌های دیگر نیز جهت توسعه بهتر در فریمورک موردنظر، استفاده کنیم.3.برخورداری از یک سیستمcaching قویفریمورک Yii یک سیستم catch بسیار کاربردی و پیشرفته برای توسعه دهندگان تعبیه نموده است، که دست شما را برای اعمال هر نوع محدودیت یا تنظیمی باز می گذارد.4. استفاده از ماژول  Giiماژول Gii در واقع یک سامانه ی کدنویسی خودکار هست که با دریافت جداول مورد نظر شما در بانک داده، همه ی کلاس های مدل و کنترلر و فایل های ویو را برای شما در چند ثانیه برنامه نویسی می کند.این ماژول قابلیت های ذیل را به توسعه دهندگان می دهد:ایجاد کلاس های مدل مربوط به جدولایجاد کلاس های کنترلر به همراه اکشن ها و چهار عمل اصلی ثبت داده، ویرایش داده، نمایش داده های یک ردیف، جست و جو بین داده ها که به اختصار CRUD نامیده می شود.ایجاد فایل های ویو و بصری سازی داده های داخل جداول بانک دادهایجاد فایل های migration که برای ساخت جداول پایگاه داده از روی کلاس های برنامه نویسی شده کاربرد داردایجاد فرم هاایجاد ماژول های جدید برای برنامه نویسی ماژولاراستفاده از سیستم ترجمه در فایل های نوشته شده در صورت نیاز توسعه دهنده، به توسعه ی اسکریپت های چندزبانهقابلیت توسعه و نوشتن افزونه های شخصی برای ماژول  Giiقابلیت استفاده از قالب های شخصی سازی شده برای ماژول  Gii5.مالتی اپلیکیشن Yii Advanceفریمورک yii دارای ۲ نوع بسته مختلف برای ساخت وب اپلیکیشن های پیچیده و ساده را تحت عنوان Yii Basic و Yii Advance ارائه میدهد که در هسته تفاوت هایی ندارند فقط در قالب تفاوت دارند.در نسخه ی Advance ، شما میتوانید چندین وب اپلیکیشن جدا داشته باشید، که همگی با هم یکپارچه هستند.برای مثال پروژه ی یک فروشگاه اینترنتی پیچیده را در نظر بگیرید که شامل چند برنامه به شرح ذیل است:فرانت اند سایت(بخشی که کاربران میهمان با آن کار میکنند، در واقع ویترین فروشگاه)بک اند سایت(پنل مدیریت سایت)پروفایل کاربرانپنل فروشندگان و تامین کنندگانهر یک از بخش های بالا در واقع فرآیند های خاص خود را دارند.شما میتوانید با Yii Advance چندین برنامه در ساب دامین یا پوشه های مختلف ایجاد کنید که همگی به هم متصل هستند، اما مستقل از یکدیگر عمل میکنند و همچنین امکان فعال یا غیر فعال سازی یک ماژول یا کامپوننت در برنامه های مختلف را دارا است.6.امنیت فریمورک  Yiiاینکه شما در زمان کار با فریمورک Yii، یک سری داده را در زمان ورود بررسی کنید و در زمان خروج نیز از یک سیستم فیلتربندی استفاده کنید و نیز در کنار این اتفاقات از قابلیت‌هایی استفاده کنید تا شما را در برابر حملات به پایگاه داده (اصطلاحاً به این حملات، SQL Injection گفته می‌شود که فرد حمله‌کننده، می‌تواند در پایگاه داده، بسیاری از اطلاعات شما نظیر رمزهای عبور و غیره را سرقت کرده، ضمن اینکه می‌تواند ساختارهای مخرب را نیز به آن اضافه کند) حفاظت کند، قطعاً می‌تواند ما را مجاب به امنیت بالای فریمورک Yiiکند.7.مدیریت قویAsset هادر اغلب فریمورک هایPHP شما باید به طور دستی وجود یا عدم وجود فایل های js و css را مدیریت کنید آن هم با شرط و شروط مختلف که باید خودتان بنویسید.اما درYii داستان متفاوت است، شما می توانید Assetها را با Asset Manager مدیریت کنید، اگر هم علاقه ای به استفاده ازAsset Manager ندارید، میتوانید به صورت دستی این کار را انجام دهید.با این قابلیت، شما می توانید وجود تعدادی از Asset ها را به وجود Asset های دیگر وابسته کنید.مثلا میتوانید به yii2 بگویید، ابتدا jQuery را در Html نهایی بارگذاری کند و سپس Asset های شما را در Html نهایی قرار دهد. برای اطلاعات بیشتر در این مورد می توانید از سایت Yii کمک بگیرید.جمع بندینمی‌توان گفت که استفاده از عبارت‌هایی همچون fast و security برای این فریمورک در وب سایت Yii، اغراق است. در این مقاله، ویژگی هایی این فریمورک را تا حدی بررسی کردیم. تقریباً تمامی این ویژگی‌ها باعث شکل‌گیری فاکتور سرعت و امنیت برای این فریمورک حرفه‌ای PHP شده‌ است. اگر به امنیت و سرعت برنامه تحت وب خود اهمیت می‌دهید، فریمورک Yii می‌تواند گزینه مناسبی برای بررسی کردن باشد.منبع : شرکت طراحی وب سایت و اپلیکشن کُرند https://korandco.ir/site/single?article=7</description>
                <category>مهدی محمد هاشمی</category>
                <author>مهدی محمد هاشمی</author>
                <pubDate>Tue, 07 Jan 2020 05:20:09 +0330</pubDate>
            </item>
            </channel>
</rss>