<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های سینا کلانتری</title>
        <link>https://virgool.io/feed/@kalantari_sinaa</link>
        <description>مدیر پروژه و برنامه نویس Php - Laravel Framework</description>
        <language>fa</language>
        <pubDate>2026-07-07 11:31:13</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/39622/avatar/TgIFfa.jpeg?height=120&amp;width=120</url>
            <title>سینا کلانتری</title>
            <link>https://virgool.io/@kalantari_sinaa</link>
        </image>

                    <item>
                <title>الگو های طراحی (Design Patterns) در کدنویسی</title>
                <link>https://virgool.io/@kalantari_sinaa/%D8%A7%D9%84%DA%AF%D9%88-%D9%87%D8%A7%DB%8C-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-design-patterns-%D8%AF%D8%B1-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-ctthywagtywb</link>
                <description>در مهندسی نرم افزار، الگوی طراحی یک راه حل تکراری و معمول برای مشکلاتیست که در طراحی نرم افزار اتفاق میافتد، بعبارتی ممکن است ما در شرایط مختلف کد نویسی به مشکلاتی بخوریم که تکراری اند و طبیعتا برای این مشکلات بایستی از راه حال های تکراری هم استفاده کرد. یک الگوی طراحی به هیچ وجه یک طراحی کامل و تموم شده که بتوانیم اون رو مستقیما به کد تبدیل کنیم نیست، بلکه یک توضیح یا قالب برای این است که چطور یک مشکل رو در شرایط مختلف حل کنیم.الگو های طراحی برنامه نویسیاستفاده از الگو های طراحیالگو های طراحی میتوانند سرعت فرایند اجرا و توسعه رو با تست هایی که از قبل ارائه شده و مثال هایی که صورت گرفته و ثابت شده افزایش بدهند. لازمه ی طراحی درست و اصولی نرم افزار توجه به مسائلی است که ممکن است تا زمان اجرا یا پیاده سازی نرم افزار مشخص نشوند و زمانی که به مرحله کد نویسی سیستم در حال طراحی میرسیم و اون بخش رو پیاده سازی میکنیم متوجه این موضوع میشیم که چه مشکلاتی در این بخش از کار وجود دارد. استفاده از الگو های طراحی به ما کمک میکنند از این چنین مسائل نامحسوس جلوگیری کنیم که میتونن علت عمده مشکلات ما باشند. از دیگر مزیت های الگو های طراحی این است که خوانایی کد ها را برای کد نویس ها و طراحان نرم افزاری که با این الگو های طراحی آشنا هستند افزایش میدهد.اغلب افراد تنها یاد میگیرند چطور برخی از تکنیک های طراحی نرم افزار رو بر روی برخی از مشکلات اعمال کنند. اعمال این تکنیک ها برای مقابله با گستره وسیعی از مشکلات کار سختی است. الگو های طراحی راه حل های جامعی رو مستند شده و در قالبی فراهم میکنند که هیچ ارتباطی با جزئیات یک مشکل خاص ندارد و مشکلات زیاد دیگه ای رو هم ممکن است در بر بگیرد.بعلاوه، الگو ها به توسعه دهندگان این اجازه را میدهند که برای تعاملات نرم افزار با استفاده از اصول نامگذاری و نام های واضح و شناخته شده ارتباط برقرار کنند. الگو های طراحی با گذشت زمان میتوانند بهبود پیدا کنند، که این موضوع میتواند این الگو ها را از طراحی های ad-doc (الگو های ad-doc الگو هایی هستند که با هدف حل مشکلات خاص طراحی میشوند، و مانند الگو های طراحی مورد بحث ما، جامع و کلی نیستند) بسیار قوی تر کند.در مقاله های بعدی انشاءالله انواع دیزاین پترن ها مورد بررسی قرار میدیم...</description>
                <category>سینا کلانتری</category>
                <author>سینا کلانتری</author>
                <pubDate>Mon, 22 Jul 2019 13:00:05 +0430</pubDate>
            </item>
                    <item>
                <title>نه، واقعا چرا لاراول ؟</title>
                <link>https://virgool.io/laravel-community/%D9%86%D9%87-%D9%88%D8%A7%D9%82%D8%B9%D8%A7-%DA%86%D8%B1%D8%A7-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-glex5gkyf6l0</link>
                <description>اول از همه بزارین ببینیم فریم ورک چیه ؟فریم ورک در اصطلاح کلی یه ساختار یا یک قالب مفهومیه که از قبل تعیین شده که بعنوان راهنما ازش استفاده میشه و کمک میکنه به این که بشه چیزی رو ساخت و توسعه داد که در نهایت مفید واقع بشه.حالا مفهوم فریم ورک توی نرم افزار و برنامه نویسی چیه ؟توی برنامه نویسی هم فریم ورک یک قالب یا یک ساختار مفهومیه که از قبل توسط یک سری متخصص طراحی شده و شامل مجموعه ای از کتابخونه هاست که برنامه نویس ها برای ایجاد و توسعه پروژه های نرم افزارشون ازش استفاده میکنن.یک فریم ورک نرم افزار چند کار رو برای ما انجام میده :کمک میکنه پیچیدگی های کار براتون خیلی ساده تر باشه.امکانی فراهم میکنه که کد ها تمیز و مرتب و قابلیت استفاده مجدد رو برای توسعه داشته باشن.به تیم های برنامه نویسی تحمیل میکنه که برنامه ها رو طوری پیاده سازی کنن که پایداری بیشتری داشته باشه، باگ های کمتری داشته باشه و همچین درآینده انعطاف بیشتری رو برای توسعه داشته باشه.تست گرفتن و دیباگ کردن برنامه رو خیلی ساده تر میکنه.و حالا فریم ورک های وب :فریم ورک وب یک فریم ورک نرم افزار هست که برای کمک به پیاده سازی و توسعه برنامه های تحت وب طراحی شده که شامل وب سرویس ها ( خدماتی که از طریق وب ارائه میشه ) و api ها ( سرویس هایی برای ارتباط برنامه های مختلف با هم ) میشه. هدف اصلی فریم ورک های وب به این برمیگرده که از سربار فنی مرتبط با فعالیت های متداولیکه توی توسعه برنامه های وب بصورت مکرر انجام میشن کم کنه.فریم ورک Php :فریم ورک php مجموعه ای از کلاس ها و کتابخونه هاست که کار تولید و توسعه برنامه وب رو برامون ساده و خیلی آسون تر میکنه.لاراول چیست ؟لاراول یکی از فریم ورک های پر طرفدار، متن باز و مدرن وب اپلیکیشن هست که به کمک اون میشه وب اپلیکیشن ها رو به سرعت و به راحتی شخصی سازی کرد.توسعه دهندگان لاراول رو بخاطر پرفورمنس بالا، امکانات زیاد و در نهایت مقیاس پذیری بالایی که ارائه میده، نسبت به بقیه فریم ورک ها ترجیح میدن. از اونجایی که لاراول یکی از ساختار هایی که دنبال میکنه MVC هست این فریم ورک رو نسبت به php خیلی کاربردی تر میکنه.لاراول در تلاشه با راحت تر کردن کار های متدوالی مثل احراز هویت، آدرس دهی، کار با session ها و  caching که در اکثر پروژه های وب نیاز هست که رنج های توسعه رو از بین ببره. این فریم ورک معماری منحصر به فردی داره که به توسعه دهنده اجازه میده در مواقع نیاز زیر ساخت خاصی که برای برنامه خودش نیاز داره رو پیاده کنه.فریم ورک لاراول با این امکانات تنها برای پروژه های بزرگ استفاده نمیشه بلکه برای پروژه های کوچیک هم گزینه بسیار خوبیه.ویژگی های کلیدی لاراول :ماژولار بودن و پشتیبانی از چند برنامگی : ماژولار بودن این اجازه رو میده که اجزاء سیستم بصورت جدا از هم طراحی و پیاده سازی بشن ولی در نهایت اونها دوباره با هم ترکیب میشن. فرضا شما بخش بیزینس برنامه رو به بخش های مختلف تقسیم میکنین که به هم وابسته هستند و در نهایت اونها با هم کار میکنند.احراز هویت : بحث احراز هویت مهم ترین بخش هر وب اپلیکیشن هست و توسعه دهندگان زمان خیلی زیادی رو صرف نوشتن کد های احراز هویت میکنن. که این مورد در لاراول وجود داشت و در آپدیت لاراول 5 خیلی بهتر هم شده.منطق کلی برنامه : منطق کلی هر برنامه لاراول میتونه از طریق Controller ها یا مستقیما با تعریف Route ها که سینتکسی مشابه فریم ورک Sinatra دارن، پیاده سازی بشه. لاراول با امتیازات زیادی طراحی شده، فرضا اون سطح از منعطف بودنی که یک توسعه دهنده یا برنامه نویس انتظار داره رو برآورده میکنه و برنامه نویس رو قادر میسازه که هر چیزی از سایت های کوچیک گرفته تا برنامه های مهم و بزرگ رو براحتی پیاده سازی کنه.ذخیره سازی موقت ( Caching ) : اصطلاح Caching به معنی ذخیره سازی موقت داده هاست که امکان دستیابی سریع هم براش فراهم باشه. اکثرا از این ویژگی برای کاهش زمانی که نیازه برای اطلاعات با دیتابیس ارتباط برقرار کنیم یا یک سری سرویس های ریموت دیگه استفاده میشه. طبیعتا اگر ما برای یک سری از داده های تکراری مجبور نباشیم به طور مستمر با دیتابیس ارتباط برقرار کنیم، از سربار سرور هم کم میشه و این مورد به این کمک میکنه که برنامه رو سریعتر و کاربر پسندتر نگه داریم.لینک کردن وابستگی ها : توی لاراول ویژگی ای وجود داره به اسم Inversion of control که یک ابزار قدرتمند برای مدیریت کردن وابستگی های کلاس هاست. این ویژگی یک روش برای حذف کد های پیچیده و اضافی برای افزودن وابستگی هاست که یکی از پرکاربرد ترین امکانات لاراول به حساب میاد.آدرس دهی (  Routing ) : بخش Route های لاراول کار رو برای تعریف مسیردهی های برنامه خیلی راحت کرده و Url های مورد نیاز برنامه رو با انعطاف خیلی خوب استفاده و کنترل کنیم.رست فول Controllers : در لاراول این امکان بصورت اختیاری فراهمه که برنامه نویس بتونه منطق یا عملیات های پشت پرده درخواست های GET و POST رو بصورت جداگونه مدیریت کنه.تست و خطایابی : لاراول بصورت پیش فرض در داخل خود فریم ورک این امکان رو فراهم کرده که توسعه دهنده بتونه برای بخش های مختلف برنامه تست بنویسه و اگر جایی دچار مشکل بود براحتی رفع کنه.صفحه بندی خودکار : یکی از بخش های بسیار مهم در انواع زبان ها و فریم ورک ها با اون سر و کار داریم تعدد داده ها و رکورد هاست که ما نمیتونیم تمام داده هایی که برای جست و جوی کاربر موجود هست رو بهش برگردونیم، در اینجای کار نیازه که ما داده ها رو بصورت بخش بخش برای کاربر نشون بدیم و برای این کار اصطلاحا ما داده ها رو صفحه بندی میکنیم، لاراول این کار رو در صورت نیاز برنامه نویس به ساده ترین راه ممکن انجام میده و برنامه نویس مجبور نیست هیچ کد اضافه رو برای این کار بنویسه.موتور قالب ( Template Engine ) : در لاراول Blade ها خیلی ساده هستن و موتور صفحه بندی قدرتمندی در لاراول وجود داره. بر خلاف قالب Controller ها، Blade ها از بخش های جدا تشکیل میشن و با وراثت از قالب ها خودشون رو تکمیل میکنند. تمام Blade ها بایستی پسوند blade.php. رو داشته باشند. ابزار ORM ایلوکوئنت (Eloquent) : همچنین لاراول رابطی بسیار قدرتمند برای تعامل با دیتابیس رو درون خودش داره که خیلی کار رو راحت میکنه و دردسر های نوشتن کوئری های خام رو از بین میبره. حتی اگر زمانی هم رسید که امکانات لاراول نیاز شما رو برطرف نکرد، شما این امکان رو دارین که از طریق همین رابط از کوئری های خام استفاده کنین.قابلیت استفاده از چند فایل سیستم : لاراول 5 بصورت native این قابلیت رو برای توسعه دهنده ها فراهم کرده که بتونن از چند فایل سیستم مختلف استفاده کنن. برای فراهم کردن این کار لاراول از پکیجی به نام  Flysystem استفاده کرده. برنامه نویس میتونه تنظیمات هر نوع ذخیره سازی محلی یا Cloud based رو براحتی روی برنامه اعمال کنه و ازش استفاده کنه. و همچنین برنامه نویس ابزاری رو در اختیار داره که به راحتی میتونه از هر نوع از ذخیر سازی که توی تنظیمات اعمال کرده بدون دردسر بهره ببره.خب اینها تنها بخش هایی از ابزار ها ویژگی هایی بود که لاراول فراهم کرده، خیلی ویژگی های بیشتر و حرفه ای تری هم در این فریم ورک پرطرفدار وجود داره و در هر انتشار یا آپدیت جدید کلی ویژگی کاربردی جدید بهش اضافه میشه.Reference :  https://blog.vanila.io/why-laravel-is-best-php-framework-98a2784d76dc </description>
                <category>سینا کلانتری</category>
                <author>سینا کلانتری</author>
                <pubDate>Mon, 08 Jul 2019 15:01:50 +0430</pubDate>
            </item>
            </channel>
</rss>