<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های دختر صحرا 🌵🌾</title>
        <link>https://virgool.io/feed/@sahragirl</link>
        <description>من یک (( برنامه نویس وب )) و هکر ((اخلاقی)) هستم نه از اونایی که خرابکاری میکنن بلکه از اونایی که (( امنیت )) وب سایت ها را تامین میکنن 🎃</description>
        <language>fa</language>
        <pubDate>2026-04-15 01:35:01</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>دختر صحرا 🌵🌾</title>
            <link>https://virgool.io/@sahragirl</link>
        </image>

                    <item>
                <title>مدرس برنامه نویسی تبریز</title>
                <link>https://virgool.io/@sahragirl/%D9%85%D8%AF%D8%B1%D8%B3-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AA%D8%A8%D8%B1%DB%8C%D8%B2-qpplierzjsfy</link>
                <description>اگر ساکن شهر تبریز هستید و به دنبال مدرس برنامه نویسی میگردید این مقاله میتواند به شما کمک کند.اینکه مدرس بومی شهر خود را پیدا کنید خیلی برای شما مفید خواهد بود زیرا دسترسی به او راحت تر است و همچنین ممکن است درک دوره نیز برایتان آسان باشد.مدرس برنامه نویسی در شهر تبریز✔ یادگیری برنامه نویسی در تبریز امکان پذیر است ؟پاسخ :تبریز یکی از شهرهای پیشرفته و جزو کلانشهرهای ایران محسوب میشود، آموزشگاه های زیادی در تبریز هستند که با مراجعه به آنها میتوانید برنامه نویسی یاد بگیرید هرچند دوره آموزشی برای برنامه نویسی بصورت غیزحضوری پیشنهاد میشود.✔ میزان اهمیت یادگیری برنامه نویسی در تبریز چقدر است؟پاسخ :از آنجایی که تبریز یکی از کلانشهرهای صنعتی کشور ایران می باشد نیاز به برنامه نویس در این شهر حتما وجود دارد و بسیاری از شرکت های فناوری نیازمند برنامه نویس برای انجام پروژه های برنامه نویسی خود هستند.✔ بهترین مدرس برنامه نویسی در شهر تبریز کیست ؟مهندس سام نیک زاد از مدرسین با تجربه و یکی از بهترین برنامه نویسان ایرانی می باشد که ساکن شهر تبریز است و برای ارتباط با سام نیکزاد شما میتوانید با مجموعه ی آواسام در ارتباط باشید✔ آیا دوره ی آموزش برنامه نویسی به زبان ترکی موجود است ؟بله مهندس نیک زاد اهل تبریز میباشند و به زبان ترکی تسلط دارند و شما میتوانید دوره ی آموزشی خصوصی یا غیر خصوصی را ثبت نام‌کنید.این پست تبلیغاتی نیست</description>
                <category>دختر صحرا 🌵🌾</category>
                <author>دختر صحرا 🌵🌾</author>
                <pubDate>Mon, 10 Nov 2025 05:07:34 +0330</pubDate>
            </item>
                    <item>
                <title>ده دلیل برای یادگیری جاوا اسکریپت javascript</title>
                <link>https://virgool.io/@sahragirl/%D8%AF%D9%87-%D8%AF%D9%84%DB%8C%D9%84-%D8%A8%D8%B1%D8%A7%DB%8C-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-javascript-i1rjmsg5sgr4</link>
                <description>وقتی قصد داریم یک چیز انتخاب کنیم در دو حالت ذهن ما به بمب بست میرسه یکی وقتی که گزینه ها خیلی کمه و نمیدونیم کدومو انتخاب کنیمیکی وقتی که گزینه ها خیلی زیاده و نمیتونیم یکی رو انتخاب کنیمتو انتخاب زبان برنامه نویسی گزینه ی دوم صدق میکنه انقدر زبان برنامه نویسی زیاد شده که ذهنمون به بمب بست میرسه زبان های زیادی مثلGo ,  Rust , Kotlin , Python , Java,  JavaScript , C/CPP , PHP ,  Swift ,  C# , Ruby , Objective-C  وجود داره که همشون هم کاربردی و خوب هستن حالا اینکه کدومو انتخاب کنید خیلی سخت میشه ده دلیل برای یادگیری جاوااسکریپتخب برنامه نویسی که زبان های برنامه نویسی و ابزارهای بیشتری بلده مطمئنا بازارکار بهتری هم داره جایگاه خوبی هم داره ولی توی شروع اصلا سعی نکنید چند زبان با هم یاد بگیرید چون حسابی قاتی میکنین بلاخره شما باید از یه جایی شروع کنین میتونه اون زبان برای شروع جاوااسکریپت باشه یا اینکه اصلا شما برنامه نویس باشید ولی جاوااسکریپت کار نکرده باشیدتو این مقاله قراره درباره ی جاوااسکریپت صحبت کنم و بگم چرا باید یادش بگیریم ! در ضمن تو این اول مقاله بهتون بگم که جاوااسکریپت کوچیک شده ی جاوا نیست ... اینا دو تا زبان جدا با کاربرد های جدایی هستند که یه دنیا با هم فرق دارن هیچکدوم کوچیک و مخلص اون یکی ام نیس در این مقاله من قصد دارم کمی درباره ی خود جاوااسکریپت (Javascript) صحبت کنم بعد ده تا دلیل بیارم برای اینکه بدونید حتما باید بعنوان یک برنامه نویس جاوااسکریپت را بلد باشید...جاوا اسکریپت (Javascript ) دقیقا چیه ؟‌تو همین شروع بزارید بگم که جاوااسکریپت ربطی به زبان جاوا خالی نداره اون Java هس این Javascript و جاوااسکریپت در سال ۱۹۹۵  توسط شرکت نت اسکیپ ساخته شده. توسعه دهنده های جاواسکریپت درباره ی این زبان اینطوری گفتن : زبان برنامه نویسی اسکریپتی که به شما اجازه میده چیزهای پیچیده را در صفحات وب پیاده سازی کنید.جاوااسکریپت صفحات وب را پویاتر میکنه و همچنین رابط کاربری سایت ها را بهبود میده یا بعبارت دیگری جاوااسکریپت صفحات وب را تعاملی تر میکنه تا کاربر عملیات بیشتری بتونه تو سایت انجام بده .اسم اولیه javaScript بصورت LiveScript بود ولی به دلیل محوبیت زبان Java از اسم این زبان استفاده کرد تا معروفتر بشه بخاطر همین تغییر نام طرفداران زیادی هم به خودش جذب کرد خب حالا بریم سراغ دلایل و بررسی اونا تا ببینیم چرا باید جاوااسکریپت یاد بگیریم ده دلیل برای یادگیری جاوااسکریپت ۱ - جاوااسکریپت محبوب ترین زبان برنامه نویسی است.لیست ده دلیل برای یادگیری جاوااسکریپت را با مهم ترین آنها شروع میکنیم. طبق آمارهای سایت Stackoverflow.com امروزه جاوااسکریپت بعنوان محبوب ترین زبان برنامه نویسی است که توسط برنامه نویسان حرفه ای استفاده میشه ، حتی برنامه نویسان سمت سرور (Back-end) اغلب از جاوااسکریپت استفاده میکنن.۲ - جاوا اسکریپت در مرورگرهای مردم هست.بدون شک جاوااسکریپت تنها زبان برنامه نویسی مرورگرهای وب هست و تقریبا تمام وب سایت های دنیا از زبان جاوااسکریپت استفاده میکنند. از اونجایی که مرورگرها بخش اصلی اینترنت هستند به راحتی قابل درکه که چرا جاوااسکریپت در بحث توسعه ی وب مهم تر از هر چیز دیگریه۳ - جاوا اسکریپت بیرون از اینترنت هم کاربردهای زیادی دارد.شاید تصور کنید که جاوااسکریپت مخصوصه اینترنت و مرورگره درحالیکه کلی کاربرد در زمینه های دیگه داره مثلا در تلویزیون های هوشمند برای اینترنت چیزها ، ساخت اپلیکیشن موبایل برای Android و IOS ، ساخت اپلیکیشن های کراس پلتفرم برای دسکتاپ  و ... کاربرد داره۴ - جاوا اسکریپت برای تازه کارها ایده آله.از اونجایی که روی همه ی مرورگرهای موتور پردازش جاوااسکریپت هست پس نیازی به نصب و آماده سازی محیط برنامه نویسی نیست مرورگر میتونه کدهای شما را بدون هیچ کار خاصی اجرا بکنه.نصب و آماده سازی محیط های برنامه نویسی برای زبان های دیگر یکی از مشکلات اصلی افرادی هست که میخان برنامه نویسی را شروع کنند ولی تو جاوااسکریپت قضیه برعکسه هیچ زحمتی برای نصب و /اماده سازی محیط برنامه نویسی نیاز نیست همه چی از قبل اماده استهمچنین اونایی که میخان زبان های برنامه نویسی دیگه یاد بگیرند جاوااسکریپت نقطه ی شروع عالیه چون با یادگیری جاوااسکریپت اصول برنامه نویسی و سبک برنامه نویسی و بسیاری از مفاهیم اصلی را یاد میگیرید.۵ - یادگیری جاوااسکریپت واقعا آسونه از اونجایی که کدهای جاوااسکریپت شبیه مکالمه ی طبیعی آدما به زبان انگلیسیه کدنویسی باهاش راحت تره و یادگیریش هم واقعا آسونه ۶ - با جاوااسکریپت میشه جلوه های بصری برای وب ساخت.توی طراحی وب علاوه بر اینکه امکانات وب باید صحیح و درست کار بکنه باید جلوه های تصویری هم باشه مثل انیمیشن برای بعضی جاها و جلوه های تصویری که کاربران را جذب بکنه این کارا به سادگی با جاوااسکریپت امکان پذیره و به وب سایت شما پویایی و زیبایی بیشتری میده ۷ - جاوااسکریپت همه کارست.از آنجایی که جاوااسکریپت یک زبان برنامه نویسی کراس پلتفرمه به هیچ جایی وابسته نیست شما میتونید ازش هرجایی استفاده کنید و به همین خاطر یک زبان همه کار شده اگه میخواهید یک وب سایت مدرن بسازید و سمت فرانت اند را درست کنید میتونید از Angular کمک بگیرید همینطور اگه دوست دارید یک اپلیکیشن با بک اند قوی بسازید میتونید از محیط Nodejs کمک بگیرید.همینطور برای ساخت اپلیکیشن موبایل و دسکتاپ میتونید از Electron، React Native و React استفاده کنین۸ - جاوااسکریپت در دنیای بیگ دیتا و cloud هم تاثیر گذاشته.شاید شما هم با JSON برخورد کرده باشید یک زبانی برای تبادل داده ها در اینترنت که مخفف JavaScript Object Notation است. دیتابیس های NoSQL databases از JSON استفاده میکنند تا رکوردها را ذخیره سازی کنند.همچنین توسعه دهندگان از Node.js استفاده میکنند تا اپلیکیشن های مبتنی بر cloud بسازند.۹ - جاوااسکریپت یک ابزار ارزشمند برای بازی سازیامروزه بازی سازی یکی از صنعت های بزرگ در بحث برنامه نویسی است و آنهایی که جاوا اسکریپت بلد هستند یک ابزار اضافی تر نسبت به دیگر برنامه نویسان دارند در محیط unity3d با زبان جاوا اسکریپت میتوانید اسکریپت نویسی کنید و همچنین در بسیاری از کتابخانه های بازیی سازی از جاوااسکریپت بصورت گسترده ای استفاده میشود.۱۰ - در نهایت جاوااسکریپت پتانسیل شغلی بسیار بالایی داردبا افزایش تعداد کسب و کارهای آنلاین ، به تعداد توسعه دهندگان و برنامه نویسانی که جاوااسکریپت بلد هستند هم افزوده میشود که البته در این میان باز هم جاوا اسکریپت حرف اول را میزند چون تقریبا در همه جا کاربرد دارد و مورد نیاز است مخصوصا در وب جاوا اسکریپت را از کجا یاد بگیریم ؟‌امروز دوره های آموزشی و مقالات آموزشی بسیار زیادی در اینترنت هست که میتوانید بصورت غیرحضوری یک دوره ی JavaScript تهیه کنید و به راحتی طی کنید اما کیفیت دوره بسیار مهم است .دوره ی آموزش جاوااسکریپت به زبان فارسیدوره ای که من پیشنهاد میکنم دوره ی آموزش جاوااسکریپت سایت آواسام است که هم از نظر کیفیت عالی بود و هم سرفصل های خوبی دارد و من تهیه کردم.</description>
                <category>دختر صحرا 🌵🌾</category>
                <author>دختر صحرا 🌵🌾</author>
                <pubDate>Sun, 14 Aug 2022 20:38:47 +0430</pubDate>
            </item>
                    <item>
                <title>ساخت بازی snake یا مار نوکیا با پایتون</title>
                <link>https://virgool.io/@sahragirl/%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A8%D8%A7%D8%B2%DB%8C-snake-%DB%8C%D8%A7-%D9%85%D8%A7%D8%B1-%D9%86%D9%88%DA%A9%DB%8C%D8%A7-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-ugrj2kjicrnz</link>
                <description>سلام داشتم تو یوتیوب گشت میزدم که یه آموزش عالی درباره ی پایتون دیدم و اونم ساختن بازی snake یا مار با زبان پایتون که هم شیوه ی تدریسشون عالی بود و هم نتیجه اش خیلی خوب بود خاستم یه مقاله براش بنویسم و هم اینکه لینکشو بزارم هرکس دوس داشت بره تماشا کنه بازی مار نوکیا را همه میشناسیم دیگه یه بازی قدیمی که تو اون یه مار را هدایت میکنیم تا غذای موجود در صفحه رو بخوره و هر بار که مار غذا میخوره بزرگتر میشه و بازی سخت تر میشه شاید تو نگاه اول کدنویسی این بازی پیچیده و سخت به نظر برسه ولی من با دیدن این کلیپ فهمیدم که با زبان پایتون چقدر راحت میشه این بازی را درست کرد و در انتهای مقاله کدهاشم میزارم استفاده کنید بازی مار نوکیا با زبان برنامه نویسی پایتونچطور بازی مار (snake) را با زبان پایتون (Python) درست کنیم ؟ برای ساختن بازی مار snake با پایتون از ماژول curses استفاده شده که برای ترسیم یک ویندوز در ترمینال استفاده میشه و شما میتونید یک صفحه ی دلخواه بسازید بصورت مکعبی و مار درون اون محیط شروع به بازی بکنه بازی مار (snake) با پایتوناگر به دنبال یادگیری استفاده از لیست ها ، tuple ها و بقیه الگوریتم های پایه ای زبان پایتون هستید این ویدیو را از دست ندید و حتما این اموزش عالی را تماشا کنید این بازی توی هفتاد خط کدنویسی شده که بسیاری از نکات زبان برنامه نویسی پایتون را به شما آموزش میده .الگوریتم این بازی به این شکله که در ابتدا یک کادر با همراه لبه ها ( مرز ها ) ساخته میشه تا موقع برخورد مار به دیواره ها متوجه بشیم و بازیی را قطع کنیممار از سه تا کاراکتر پشت سرهم تشکیل شده که موقعیت مکانی اونا رو با یه لیست که سه عضو داره و هر عضو یک توپل هست مشخص کردیم و هر توپل دو عضو داره که مختصات x و y هر کدوم از کاراکتر های مار هستمشخصه که در صورت حرکت افقی باید x اینا برابر باشه و y اینا هر سری یه واحد افزایش پیدا بکنه و وقتی که بصورت عمودی حرکت میکنه y اینا ثابت باشه و x اینا هر سری یه واحد کم یا زیاد بشه که اینا رو داخل یک حلقه ی while قرار میدیم تا هی تکرار بشه و ساخته بشه پنج تا دکمه تعریف میشه چپ راست بالا پایین و دکمه خروج که Esc کیبورد هست دکمه های چپ راست بالا پایین رو میبریم داخل while و تعریف میکنیم هر وقت کلید دیگه از این چهارتا زده شد جهت حرکت را عوض کن توی همین while دو تا شرط نیاز داره یکی برای زمانی که مار به لبه های بازی برخورد میکنه و یکی برای زمانی که مار به مختصات دیگر قسمت های خودش برخورد میکنه زمانی که این اتفاقات میوفته break میشه و از while میوفتیم بیرون و بقیه الگوریتم که البته در این مقاله جا نمیشه و بهتره برید ویدیو رو کامل تماشا کنین بازی مار که با پایتون ساخته شده دارای چه امکاناتیه ؟‌بازی مار یا اسنک در این الگوریتم ساده است ولی دارای امکانات زیر هست : ۱ امکان تشخیص محیط بازی و اتمام بازی موقع برخورد به لبه ها ۲ امکان تشخیص برخورد به خود مار و قطع بازی ۳ محاسبه امتیازات۴ نمایش رندم غذای مار ۵ سرعت مار با قابلیت کاهش خودکار موقع بزرگ شدن مار۶ بزرگ شدن مار هنگام خوردن طعمه و ....لینک ویدیو آموزش ساخت بازی مار با پایتون در یوتیوب  کدهای این بازی با زبان پایتون در گیتهاب : https://github.com/nikzad-avasam/snake-by-pythonلطفا از این ویدیو حمایت کنید چون عالی بود و مدرسش اقای نیکزاد واقعا به دنیای برنامه نویسی خدمت میکنه و چیز خوب باید معرفی بشه </description>
                <category>دختر صحرا 🌵🌾</category>
                <author>دختر صحرا 🌵🌾</author>
                <pubDate>Sat, 13 Aug 2022 16:30:37 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش ساخت فروشگاه با لاراول ( پروژه محور ) پارت دوم</title>
                <link>https://virgool.io/@sahragirl/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%D9%81%D8%B1%D9%88%D8%B4%DA%AF%D8%A7%D9%87-%D8%A8%D8%A7-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%85%D8%AD%D9%88%D8%B1-%D9%BE%D8%A7%D8%B1%D8%AA-%D8%AF%D9%88%D9%85-yltibr9zwsw9</link>
                <description>در پارت اول این آموزش من به شما آموزش دادم که در لاراول چطوری دیتابیس ، مدل ها و مایگریشن های لازم برای فروشگاه خود را بسازید. در این پارت که پارت دوم از آموزش ساخت فروشگاه با لاراول هست به آموزش controllers و route ها میپردازیم .قبل از خواندن این مقاله پیشنهاد میکنم حتما برید و پارت اول این آموزش را کامل بخوانید و موارد را ایجاد کنید.پیاده سازی کنترلرهای فروشگاه لاراولی کنترلرها در فریمورک لاراول در مسیر app/Http/Controllers قرار میگیرند. در ابتدا ما قصد داریم UserController بسازیم. برای ساختن این کنترلر دستور زیر را در ترمینال اجرا کنید : php artisan make:controller UserController  سپس کنترلر که ایجاد شده و در مسیر app/Http/Controllers/UserController.php هست را باز کنید و محتویاتش را به شکل زیر تغییر دهید : &lt;?php
    namespace App\Http\Controllers;

    use Auth;
    use App\User;
    use Validator;
    use Illuminate\Http\Request;

    class UserController extends Controller
    {
        public function index()  // displays all user with orders
        {
        $id=auth()-&gt;guard(&#039;user&#039;)-&gt;user()-&gt;id;    
        return view()-&gt;with(User::find($id)-&gt;with([&#039;orders&#039;])-&gt;get());
        }

        public function login(Request $request)  // authenticates the user
        {
            $status = 401;
            $response = [&#039;error&#039; =&gt; &#039;Unauthorised&#039;];

            if (Auth::attempt($request-&gt;only([&#039;email&#039;, &#039;password&#039;]))) {
                return view(&#039;user.dashboard&#039;);
            }

            return redirect()-&gt;back();
        }

        public function register(Request $request)  //create user account
        {
            $validator = Validator::make($request-&gt;all(), [
                &#039;name&#039; =&gt; &#039;required|max:50&#039;,

                &#039;email&#039; =&gt; &#039;required|email&#039;,
                &#039;password&#039; =&gt; &#039;required|min:6&#039;,
                &#039;c_password&#039; =&gt; &#039;required|same:password&#039;,
            ]);
 if ($validator-&gt;fails()) {
                return redirect()-&gt;back()-&gt;withErrors();
            }

            $data = $request-&gt;only([&#039;name&#039;, &#039;email&#039;, &#039;password&#039;]);
            $data[&#039;password&#039;] = bcrypt($data[&#039;password&#039;]);

            $user = User::create($data);
            $user-&gt;is_admin = 0;

            return response()-&gt;json([
                &#039;user&#039; =&gt; $user,
                &#039;token&#039; =&gt; $user-&gt;createToken(&#039;bagisto&#039;)-&gt;accessToken,
            ]);
        }

        public function show(User $user)  // fetch details of users
        {
            return response()-&gt;json($user);
        }

        public function showOrders(User $user)  // fetch the orders of the users
        {
            return response()-&gt;json($user-&gt;orders()-&gt;with([&#039;product&#039;])-&gt;get());
        }
}سپس به همین شیوه باید ProductController را بسازید و بعد از ساختن این کنترلر محتویات آنرا به شکل زیر عوض کنید : &lt;?php

    namespace App\Http\Controllers;

    use App\Product;
    use Illuminate\Http\Request;

    class ProductController extends Controller
    {
        public function index()  // fetch all products
        {
            return response()-&gt;json(Product::all(),200);
        }

        public function store(Request $request)  // creates a new product
        {
            $product = Product::create([
                &#039;name&#039; =&gt; $request-&gt;name,
                &#039;description&#039; =&gt; $request-&gt;description,
                &#039;quantity&#039; =&gt; $request-&gt;units,
                &#039;price&#039; =&gt; $request-&gt;price,
                &#039;image&#039; =&gt; $request-&gt;image
            ]);

            return response()-&gt;json([
                &#039;status&#039; =&gt; (bool) $product,
                &#039;data&#039;   =&gt; $product,
                &#039;message&#039; =&gt; $product ? &#039;Product Created!&#039; : &#039;Error Creating Product&#039;
            ]);
        }

        public function show(Product $product)
        {
            return response()-&gt;json($product,200); 
        }

        public function uploadFile&#40;Request $request&#41;  //upload the product image and fetch the
image URL
        {
            if($request-&gt;hasFile&#40;&#039;image&#039;&#41;){
                $name = time().&amp;quot_&amp;quot.$request-&gt;file&#40;&#039;image&#039;&#41;-&gt;getClientOriginalName();
                $request-&gt;file&#40;&#039;image&#039;&#41;-&gt;move(public_path(&#039;images&#039;), $name);
            }
            return response()-&gt;json(asset(&amp;quotimages/$name&amp;quot),201);
        }

        public function update(Request $request, Product $product)  //Update the Product
        {
            $status = $product-&gt;update(
                $request-&gt;only([&#039;name&#039;, &#039;description&#039;, &#039;units&#039;, &#039;price&#039;, &#039;image&#039;])
            );

            return response()-&gt;json([
                &#039;status&#039; =&gt; $status,
                &#039;message&#039; =&gt; $status ? &#039;Product Updated!&#039; : &#039;Error Updating Product&#039;
            ]);
        }

        public function Quantity(Request $request, Product $product)  //Adds the product
quantity
        {
            $product-&gt;quantity = $product-&gt;quantity + $request-&gt;get(&#039;quantity&#039;);
            $status = $product-&gt;save();

            return response()-&gt;json([
                &#039;status&#039; =&gt; $status,
                &#039;message&#039; =&gt; $status ? &#039;Units Added!&#039; : &#039;Error Adding Product Units&#039;
            ]);
        }

        public function destroy(Product $product)  //deletes the product
        {
            $status = $product-&gt;delete();

            return response()-&gt;json([
                &#039;status&#039; =&gt; $status,
                &#039;message&#039; =&gt; $status ? &#039;Product Deleted!&#039; : &#039;Error Deleting Product&#039;
            ]);
        }
    }در نهایت ما کنترلری به اسم OrderController میسازیم و محتویات زیر را درونش کپی میکنیم :‌&lt;?php

    namespace App\Http\Controllers;

    use App\Order;
    use Auth;
    use Illuminate\Http\Request;

    class OrderController extends Controller
    {
        public function index() // Fetch all Orders
        {
            return response()-&gt;json(Order::with([&#039;product&#039;])-&gt;get(),200);
        }

        public function deliverOrder(Order $order) //Set status as Order Delivered
        {
            $order-&gt;is_delivered = true;
            $status = $order-&gt;save();

            return response()-&gt;json([
                &#039;status&#039;    =&gt; $status,
                &#039;data&#039;      =&gt; $order,
                &#039;message&#039;   =&gt; $status ? &#039;Order Delivered!&#039; : &#039;Error Delivering Order&#039;
            ]);
        }

        public function store(Request $request) //Creates an Order
        {
            $order = Order::create([
                &#039;product_id&#039; =&gt; $request-&gt;product_id,
                &#039;user_id&#039; =&gt; Auth::id(),
                &#039;quantity&#039; =&gt; $request-&gt;quantity,
                &#039;address&#039; =&gt; $request-&gt;address
            ]);

            return response()-&gt;json([
                &#039;status&#039; =&gt; (bool) $order,
                &#039;data&#039;   =&gt; $order,
                &#039;message&#039; =&gt; $order ? &#039;Order Created!&#039; : &#039;Error Creating Order&#039;
            ]);
        }

        public function show(Order $order)
        {
            return response()-&gt;json($order,200);
        }

        public function update(Request $request, Order $order) //Updates the Order
        {
            $status = $order-&gt;update(
                $request-&gt;only([&#039;quantity&#039;])
            );

            return response()-&gt;json([
                &#039;status&#039; =&gt; $status,
                &#039;message&#039; =&gt; $status ? &#039;Order Updated!&#039; : &#039;Error Updating Order&#039;
            ]);
        }

        public function destroy(Order $order)  //Deletes the Order
        {
            $status = $order-&gt;delete();

            return response()-&gt;json([
                &#039;status&#039; =&gt; $status,
                &#039;message&#039; =&gt; $status ? &#039;Order Deleted!&#039; : &#039;Error Deleting Order&#039;
            ]);
        }
    }در اینجا ما برای هر عملیات کنترلرهای پایه را درست کردیم حالا باید route های لازم برای اپلیکیشن خودمان که یک فروشگاه با لاراول هست را بسازیم.ساخت route های مربوط به فروشگاه لاراولی تمامی route های اپلیکیشن های نوشته شده با لاراول در مسیر routes/api.php قرار میگیرد البته روت های مربوط به API و روت های مربوط به وب درون web.php هستند.کدهای زیر را در فایل api.php خود کپی کنید : &lt;?php
    use Illuminate\Http\Request;

    Route::post(&#039;login&#039;, &#039;UserController@login&#039;);
    Route::post(&#039;register&#039;, &#039;UserController@register&#039;);
    Route::get(&#039;/products&#039;, &#039;ProductController@index&#039;);
    Route::post(&#039;/upload-file&#039;, &#039;ProductController@uploadFile&#039;);
    Route::get(&#039;/products/{product}&#039;, &#039;ProductController@show&#039;);
    Route::get(&#039;/users&#039;,&#039;UserController@index&#039;);
    Route::get(&#039;users/{user}&#039;,&#039;UserController@show&#039;);
    Route::patch(&#039;users/{user}&#039;,&#039;UserController@update&#039;);
    Route::get(&#039;users/{user}/orders&#039;,&#039;UserController@showOrders&#039;);
    Route::patch(&#039;products/{product}/units/add&#039;,&#039;ProductController@updateUnits&#039;);
    Route::patch(&#039;orders/{order}/deliver&#039;,&#039;OrderController@deliverOrder&#039;);بعد از اینکه کنترلرها و route های اصلی خود را ایجاد کردید شما میتوانید از هر فریمورک جاوااسکریپت برای ساختن front end مربوط به فروشگاه لاراولی خود استفاده کنید.با آن میتوانید صفحات احراز هویت بسازید و یک پنل مدیریتی نیز بسازید.همچنین شما میتوانید از پکیج های آماده ی درگاه های پرداخت برای لاراول نیز کمک بگیرید تا پرداخت آنلاین هم در فروشگاه شما اتفاق بیوفتد.در نهایت اگر کارتان تمام شد دستور زیر باعث اجرا شدن فروشگاه شما میشود : php artisan serveدر نهایت با آموزش های این دو پارت شما دانش پایه ای از ساختن یک فروشگاه با فریمورک لاراول را کسب میکنید و هرگز یک فروشگاه حرفه ای و خوب را نمیتوانید با این دو پارت بسازید.اگر نیاز به ساختن فروشگاه اینترنتی پیشرفته با لاراول دارید با دوره ی آموزشی طولانی تری طی کنید زیر مباحث پیچیده تر هست و جزئیات زیاد میباشد.من پیشنهاد میدهم دوره ی اموزش پروژه محور ساخت فروشگاه مشابه دیجیکالا سایت آواسام را تهیه کنید چون من تهیه کردم و بسیار عالی بود و از این دوره هم لاراول را یاد گرفتم و هم نحوه ی ساختن یک اپلیکیشن فروشگاهی مشابه دیجیکالا ...موفق باشید ! </description>
                <category>دختر صحرا 🌵🌾</category>
                <author>دختر صحرا 🌵🌾</author>
                <pubDate>Thu, 11 Aug 2022 22:47:55 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش ساخت فروشگاه با لاراول ( پروژه محور )</title>
                <link>https://virgool.io/@sahragirl/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%A7%D8%AE%D8%AA-%D9%81%D8%B1%D9%88%D8%B4%DA%AF%D8%A7%D9%87-%D8%A8%D8%A7-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%85%D8%AD%D9%88%D8%B1-tleebcdjrqi7</link>
                <description>از ده سال گذشته اینترنت به قدر خیلی زیاد و با سرعت بالایی پیشرفت کرده و یکی از مهم ترین کاربردهای اینترنت تجارت الکترونیک ( خرید فروش آنلاین ) است.فناوری در راس این پیشرفت هاست و توسعه دهندگان درسرتاسر جهان با استفاده از زبان های برنامه نویسی همچون PHP JAVA, Python, MEAN, Ruby On Rails و ... سعی در آسانتر کردن و بهتر کردن تجارت آنلاین هستند.آموزش ساخت فروشگاه اینترنتیمحبوب ترین ابزاری که برای ساخت فروشگاه ها استفاده میشود ، از الگوی mvc استفاده میکند و متن باز هست فریمورکی به اسم لاراول ( Laravel ) که در سال ۲۰۱۱ توسط تیلور اتول ساخته شده است.فریمورک لاراول با هدف آسان سازی توسعه ی وب و ایجاد ابزارهایی برای کارهای تکراری در توسعه وب مانند routing authentication, sessions و caching به محبوبیت خیلی زیادی در بین توسعه دهندگان وب رسید.در این آموزش من قصد دارم به شما یاد بدم که چطور یک فروشگاه را با استفاده از فریمورک لاراول بالا بیاورید و سپس از فریمورک های جاوااسکریپت مانند Vue.js, React, Node.js, Angular JS  و Backbone.js برای ظاهر آن استفاده کنید.پیش نیاز ها برای شروع محیط برنامه نویسی خود را آماده کنیدلاراول را روی سیستم خود نصب کنیدبا زبان PHP باید آشنا باشیدبا دستورات ترمینال یا command line باید آشنا باشیدبا زبان Javascript و فریمورک vue.js آشنا باشیدچه چیزایی برای ساخت فروشگاه با لاراول میسازیم ؟ ( بصورت خلاصه )یک صفحه ی خانگی که محصولات را لیست میکندیک صفحه ی جزئیات محصول خاصیک صفحه ی سبد خرید که شامل اطلاعاتی مثل آدرس و اطلاعات پرداخت باشدیک پنل مدیریت برای فروشنده که شامل افزودن / ویرایش و حذف محصولات و کنترل تعداد فروش باشدیک پنل مدیریتی برای مشتری باشد تا محصولات خرید شده یا پرداختی ها را بررسی کندتعریف کردن نقش کاربران در فروشگاه اینترنتی با لاراولباید سطح دسترسی کاربران را مشخص کنیم در فروشگاه لاراولی ما دو نوع کاربر داریم که به ترتیب زیر هستند :ادمین : صاحب فروشگاهخریدار : کاربرانی که محصولات میخرندجزئیات فروشگاه اینترنتی با لاراول ما باید کامپوننت های مختلف فروشگاه اینترنتی خود را مشخص کنیم . علاوه بر کاربران که همان مشتریان سیستم فروشگاهی هستند ما باید محصولات را هم ذخیره کنیم همچنین بخشی هم برای ذخیره سفارشات باشد. ما میتوانیم کامپوننت های اولیه فروشگاه خود را به شکل زیر بسازیم ( ابتدا نام کامپوننت یا موجودیت را میبینید سپس با علامت فلش فیلد های لازم را مشخص کردیم ) : User &gt; username, password, roleProduct &gt; name, description, price, quantity, imageOrder  &gt; product, user, stock, delivery_status, addressساختن کنترلر ( Controller ) های مورد نیاز فریمورک لاراول به شما این امکان را میدهد که برای هر عملیات یا هر مسیری که در route تعریف میکنید یک کنترلر داشته باشید.برای انجام هر عمل خاصی در اپلیکیشن لاراولی میتوانید یک متود در کنترلر مد نظر ایجاد کنید. در زیر عملیات های مختلف با نام کنترلر آنها را میبینید ‌:کنترلرهای لازم برای ساخت فروشگاه با لاراولآموزش نصب یک لاراول جدیدبرای ساختن یک اپلیکیشن جدید با فریمورک لاراول کد زیر را در ترمینال یا cmd خود اجرا کنید:$ laravel new shopالبته شما میتوانید از دستور زیر نیز برای نصب یک نسخه ی جدید لاراول استفاده کنید composer create-project laravel/laravel shopبه درون پوشه shop بروید اینجا مسیر اصلی پروژه ی لاراولی شما است و برای اجرای دستورات ترمینالی باید درون این پوشه باشید.ساخت پایگاه داده ی فروشگاه در این پروژه ما از MySQL برای ساختن دیتابیس ( پایگاه داده ) فروشگاه خودمان استفاده خواهیم کرد. یک دیتابیس جدید بسازید و سپس فایل .env را باز کنید که در ریشه ی پروژه ی لاراول شما است. درون این فایل موارد دیتابیس را برای اتصال تنظیم کنید : DB_CONNECTION=mysql
DB_DATABASE=homestead
DB_USERNAME=username
DB_PASSWORD=passwordدستور زیر برای اجرای مایگریشن ( ساختن جدول های مورد نیاز ) و همچنین seed کردن داده هاست : $ php artisan migrate --seedساخت مدل برای فروشگاه مدل ها در الگوی mvc نقش واسط بین اپلیکیشن و پایگاه داده را بازی میکنند یعنی هر اتفاقی که به پایگاه داده مربوط شود باید در سمت مدل ها نوشته شود.مدل ها ( Model ) در لاراول به شما امکان کار با داده های درون جداول پایگاه داده را میدهد.برای ساختن مدل جدید برای محصولات و سفارشات دستورات زیر را اجرا کنید : php artisan make:model Productوphp artisan make:model Orderمدل ها در مسیر app/Models ساخته میشوند. حالا فایل app/Models/User.php را باز کنید و با کد زیر جایگزین کنید : &lt;?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;

    class User extends Authenticatable
    {
      use Notifiable, SoftDeletes;
        protected $fillable = [
            &#039;name&#039;, &#039;email&#039;, &#039;password&#039;,
        ];
        protected $hidden = [
            &#039;password&#039;, &#039;remember_token&#039;,
        ];
        public function orders()
        {
            return $this-&gt;hasMany(Order::class);
        }
    }در مدل های فریمورک لاراول SoftDelete قرار داده شده تا زمانی که یک عنصر را پاکسازی میکنیم فقط در ظاهر نمایش داده نشود و در واقع از دیتابیس پاکسازی نمیشود ، پس زمانی که یک بصورت اشتباهی یک رکورد را پاکسازی کردیم میتوانیم انرا بازیابی کنیم.آرایه ای به اسم $fillable وجود دارد که باید شامل تمام فیلدهایی باشد که قصد داریم آنها را پر کنیم.حالا فایل app/Models/Product.php را باز کنید و محتویاتش را به شکل زیر تغییر دهید :‌&lt;?php
    namespace App;
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Database\Eloquent\SoftDeletes;

    class Product extends Model
    {
        use SoftDeletes;
        protected $fillable = [
            &#039;name&#039;, &#039;price&#039;, &#039;quantity&#039;, &#039;description&#039;, &#039;image&#039;
        ];
        public function orders(){
            return $this-&gt;hasMany(Order::class);
 }
}
این مدل نیز مشابه مدل User هست با این تفاوت که یک رابطه ( relation ) با order ها دارد.حالا فایل app/Models/Order.php را باز کنید و به شکل زیر تغییر دهید :‌&lt;?php    namespace App;
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Database\Eloquent\SoftDeletes;

    class Order extends Model
 {
        use SoftDeletes;
        protected $fillable = [
            &#039;product_id&#039;, &#039;user_id&#039;, &#039;quantity&#039;, &#039;address&#039; 
        ];

        public function user()
{
            return $this-&gt;belongsTo(User::class, &#039;user_id&#039;);
        }

        public function product()
        {
            return $this-&gt;belongsTo(Product::class, &#039;product_id&#039;);
        }
    }این مدل نیز دقیقا مشابه مدل های دیگر است با این تفاوت که رابطه ی جدایی داخلش هست و رابطه نشان میدهد که سفارش متعلق به کدام یوزر هست .تعریف کردن و ساختن مایگریشن ها مایگریشن ها مثل یک ورژن کنترلر برای دیتابیس شما هستند . آنها اجازه ی ساخت و مدیریت جدول و فیلدهای درون جدول را به برنامه نویس میدهند.اگر بصورت تیمی کار کنید به راحتی میتوانید در قابل یک فایل تمامی کارهایی که برای ساخت و مدیریت خود جدول و سطر و ستون های آن انجام دادید را به اشتراک بگذارید.برای ساختن یک مایگریشن جدید از دستور زیر استفاده کنید :php artisan make:migration create_users_tableبا اجرای کد بالا یک فایل php در مسیر database/migrations ساخته میشود که همنام با نامی است که موقع ساختن مایگریشن وارد کردیم. برای مثال بالا فایلی باید با نام create_users_table ساخته شود. باز کنید و محتویاتش را به شکل زیر تغییر دهید :‌&lt;?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create(&#039;users&#039;, function (Blueprint $table) {
$table-&gt;increments(&#039;id&#039;);
$table-&gt;string(&#039;name&#039;);
$table-&gt;string(&#039;email&#039;)-&gt;unique();
$table-&gt;boolean(&#039;is_admin&#039;)-&gt;default(false);
$table-&gt;string(&#039;password&#039;);
$table-&gt;rememberToken();
$table-&gt;timestamps();
$table-&gt;softDeletes();
});
}
public function down()
{
Schema::dropIfExists(&#039;users&#039;);
}
}در اینجا ما ستون های یک جدول را با ویژگیهای آن ساختیم.سپس مایگریشن create_products_table را باز کنید و کد زیر را درونش بنویسید :  &lt;?php
    use Illuminate\Support\Facades\Schema;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Database\Migrations\Migration;

    class CreateProductsTable extends Migration
    {
        public function up()
        {
            Schema::create(&#039;products&#039;, function (Blueprint $table) {
                $table-&gt;increments(&#039;id&#039;);
                $table-&gt;string(&#039;name&#039;);
                $table-&gt;string(&#039;description&#039;);
                $table-&gt;unsignedInteger(&#039;quantity&#039;)-&gt;default(0);
                $table-&gt;double(&#039;price&#039;);
                $table-&gt;string(&#039;image&#039;);
                $table-&gt;timestamps();
                $table-&gt;softDeletes();
            });
        }

        public function down()
        {
            Schema::dropIfExists(&#039;products&#039;);
        }
}در نهایت مایگریشن جدیدی نیاز دارید که اگر وجود ندارد بسازید نام آن create_orders_table است و محتویاتش باید به شکل زیر باشد :
 &lt;?php
    use Illuminate\Support\Facades\Schema;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Database\Migrations\Migration;

    class CreateOrdersTable extends Migration
    {
        public function up()
        {
            Schema::create(&#039;orders&#039;, function (Blueprint $table) {
                $table-&gt;increments(&#039;id&#039;);
                $table-&gt;unsignedInteger(&#039;product_id&#039;);
                $table-&gt;unsignedInteger(&#039;user_id&#039;);
                $table-&gt;unsignedInteger(&#039;quantity&#039;)-&gt;default(1);
                $table-&gt;string(&#039;address&#039;)-&gt;nullable();
                $table-&gt;boolean(&#039;is_delivered&#039;)-&gt;default(false);
                $table-&gt;timestamps();
                $table-&gt;softDeletes();
            });
        }
        public function down()
        {
            Schema::dropIfExists(&#039;orders&#039;);
        }
    }ساخت Seeder ها برای وارد کردن اطلاعات پیش نمایش به دیتابیس لاراول از کلاس seed برای وارد کردن اطلاعات تستی در دیتابیس جهت پیش نمایش استفاده میکند . این کار ساختن  یک فروشگاه با لاراول را ساده تر میکند چون اطلاعات تستی داریم. در اینجا برای یوزر ها و محصولات بصورت تستی داده هایی میسازیم.خب برای ساختن یک seeder جدید دستور زیر را استفاده کنید : php artisan make:seed UsersTableSeederفایل جدیدی در مسیر database/seeds درست میشود که نامش UserTableSeeder.php هست آنرا باز کنید و محتویاتش را به شکل زیر تغییر دهید : &lt;?php
use App\User;
use Illuminate\Database\Seeder;
class UsersTableSeeder extends Seeder
{
public function run()
{
$user = new User;
$user-&gt;name = &amp;quotAdmin&amp;quot
$user-&gt;email = &amp;quotadmin@bagisto.com&amp;quot
$user-&gt;password = bcrypt(&#039;bagisto&#039;);
$user-&gt;is_admin = true;
$user-&gt;save();
}
}کلاس seeder بالا یک یوزر ادمین در دیتابیس میسازد.با دستور زیر یک seeder جدید برای محصولات بسازید : php artisan make:seed ProductsTableSeederحالا فایل جدیدی که در مسیر database/seeds/ProductTableSeeder.php ساخته شده را باز کنید و محتویاتش را با کدهای زیر عوض کنید : &lt;?php

    use Illuminate\Database\Seeder;

    class ProductsTableSeeder extends Seeder
    {
        public function run()
        {
            $products = [
                [
                    &#039;name&#039; =&gt; &amp;quotRed &amp; Navy Checked Slim Formal Shirt&amp;quot,
                    &#039;description&#039; =&gt; &#039;Red and navy checked formal shirt, has a button-down collar, a full
button placket, long sleeves, a curved hemline.&#039;,
                    &#039;quantity&#039; =&gt; 21,
                    &#039;price&#039; =&gt; 200.10,
                    &#039;image&#039; =&gt;
&#039;https://assets.myntassets.com/h_1440,q_100,w_1080/v1/assets/images/1038959/2015/1
/7/11449479796511-INVICTUS-Red--Navy-Checked-Slim-Formal-Shirt-4621449479796242
3.jpg&#039;,
                    &#039;created_at&#039; =&gt; new DateTime,
                    &#039;updated_at&#039; =&gt; null,
                ],
                [
                    &#039;name&#039; =&gt; &amp;quotMen Red Classic Slim Fit Solid Formal Shirt&amp;quot,
                    &#039;description&#039; =&gt; &#039;Red solid formal shirt, has a slim collar, button placket, 1 pocket,
long sleeves, curved hem&#039;,
                    &#039;quantity&#039; =&gt; 400,
                    &#039;price&#039; =&gt; 1600.21,
                    &#039;image&#039; =&gt;
&#039;https://assets.myntassets.com/h_1440,q_100,w_1080/v1/assets/images/3117516/2018/3
10/11520666535008-JAINISH-Men-Red-Classic-Slim-Fit-Solid-Formal-Shirt
2801520666534871-3.jpg&#039;,
                    &#039;created_at&#039; =&gt; new DateTime,
                    &#039;updated_at&#039; =&gt; null
                ],
                [
                    &#039;name&#039; =&gt; &amp;quotWhite &amp; Red Checked Slim Formal Shirt&amp;quot,
                    &#039;description&#039; =&gt; &#039;White, red and blue checked formal shirt, has a contrast spread
collar, a full button placket, long sleeves, a curved hemline&#039;,
                    &#039;quantity&#039; =&gt; 37,
                    &#039;price&#039; =&gt; 378.00,
                    &#039;image&#039; =&gt;
&#039;https://assets.myntassets.com/h_1440,q_100,w_1080/v1/assets/images/1038966/2015/1
/8/11449575702385-INVICTUS-White--Red-Checked-Slim-Formal-Shirt-5221449575701961
1.jpg&#039;,
                    &#039;created_at&#039; =&gt; new DateTime,
                    &#039;updated_at&#039; =&gt; null,
                ],
            ];

            DB::table(&#039;products&#039;)-&gt;insert($products);
        }
    }بعد از اینکه seeder های خود را ساختید با استفاده از دستور زیر میتوانید آنها را وارد دیتابیس کنید و آماده ی استفاده باشند : php artisan db:seedبرای قسمت اول همینقدر کافی است. باقی قسمت ها را در پارت دوم این مقاله ی آموزشی مینویسم.اگر قصد دارید بصورت ویدیویی ساختن یک فروشگاه با لاراول را یاد بگیرید من از دوره ی آموزش پروژه محور ساخت فروشگاه مشابه دیجیکالا سایت آواسام استفاده کردم و به شما هم پیشنهاد میدم که از این دوره ی فوق العاده برای ساختن یک فروشگاه کامل به همراه سورس کد آماده و پشتیبانی و ... در این دوره شرکت کنید. برای تهیه دوره ی بالا میتوانید به لینک زیر برید : دوره ی آموزش ساخت فروشگاه اینترنتی مشابه دیجی کالا با لاراول به همراه سورس با اپ موبایلبه زودی پارت دوم این مقاله ی آموزشی را هم مینویسم تا یک فروشگاه ساده با لاراول را بسازید.</description>
                <category>دختر صحرا 🌵🌾</category>
                <author>دختر صحرا 🌵🌾</author>
                <pubDate>Wed, 10 Aug 2022 23:52:31 +0430</pubDate>
            </item>
                    <item>
                <title>چرا باید پایتون را در سال ۲۰۲۲ یاد بگیرید ؟</title>
                <link>https://virgool.io/@sahragirl/%DA%86%D8%B1%D8%A7-%D8%A8%D8%A7%DB%8C%D8%AF-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%B1%D8%A7-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84-%DB%B2%DB%B0%DB%B2%DB%B2-%DB%8C%D8%A7%D8%AF-%D8%A8%DA%AF%DB%8C%D8%B1%DB%8C%D8%AF-bhfuab7axfq0</link>
                <description>زبان پایتون یکی از پرطرفدارترین زبان های برنامه نویسی رو به شد و با جامعه ای خوب هست و برای هر کس که قصد دارد برنامه نویس شود میتواند بهترین نقطه برای شروع کدنویسی باشد.یادگیری پایتون خیلی آسان است و در زمینه های مختلف و زیادی هم کاربرد دارد از علم داده بگیر تا یادگیری ماشین و .... در این مقاله پنج دلیل اصلی جمع آوری کردم که به شما نشان میدهد چرا پایتون را در سال ۲۰۲۲ یاد بگیرید و خواندن این مقاله ممکن است برای شما به شدت مفید باشد ... پایتون چیست ؟‌پایتون یک زبان همه منظوره هست و برخلاف زبان هایی مثل php که فقط برای توسعه ی وب استفاده میشود پایتون در اکثر زمینه ها کاربرد دارد و میتوانید از آن استفاده کنید.پایتون چیست عمر زبان پایتون نزدیک به ۳۰ سال است ولی اخیرا تبدیل به یکی از محبوب ترین و پرطرفدارترین زبان های برنامه نویسی جهان شده ...پایتون یک زبان برنامه نویسی به شدت سطح بالا ، شی گرا و از نوع تفسیری هست.دلیل ۱ - پایتون برای مبتدیان مناسب است اگر در برنامه نویسی تازه کار هستید زبان برنامه نویسی پایتون یک گزینه ی عالی برای شروع میباشد . یکی از موانع افرادی که مشتاق برنامه نویسی هستند استرس یادگیری یک زبان برنامه نویسی جدید است چون که درک سینتکس ( قواعد دستوری ) زبان برنامه نویسی برای آنها سخت است.زبان برنامه نویسی پایتون ( python ) شبیه به زبان انگلیسی است و درک و یادگیری آن راحت است. پایتون به گونه ای طراحی شده که مختصر و خوانا باشد و همه ی اینها باعث میشود که برنامه نویسان برای اولین بار با پایتون شروع کنند.و از آنجایی که پایتون یک زبان برنامه نویسی تفسیری هست یادگیری آن نیز بسیار آسان است ، به این معنی که بعد از نوشتن هر خط کد میتوانید آنرا بلافاصله اجرا کنید و نتیجه ی آنرا ببینید و این برای یادگیری بسیار عالی است.دلیل ۲ - پایتون همه کاره استکاربرد زبان پایتون بسیار زیاد است شما میتوانید این زبان را برای کارهای کوچک و حتی برای کارهای بسیار بزرگ نیز استفاده کنید. از نوشتن اپلیکیشن موبایل ، توسعه ی وب ، بازی سازی بگیر تا هوش مصنوعی کاربرد های فراوانی دارد.این استفاده ی متنوع و گسترده از پایتون باعث شده که در هر زمینه ای یک کتابخانه برای پایتون وجود داشته باشد و تقریبا ۱۲۵۰۰۰ کتابخانه برای این زبان بوجود آمده که در زمینه های مختلفی کاربرد دارند.شما میتوانید از این کتابخانه ها و ماژول ها در کدهای خود استفاده کنید کافیست ابتدا پایتون را یاد بگیرید ...یکی دیگر از ویژگی های زبان پایتون که آن را یک زبان همه کاره کرده قابلیت سازگاری پایتون با دیگر زبان های برنامه نویسی است که میتواند در کنار دیگر زبان های برنامه نویسی اجرا شود.نمونه هایی از ادغام پایتون با دیگر زبان ها Jython ( ادغام پایتون با جاوا ) یا CPython ( ادغام پایتون با سی ) اشاره کرد.در آخر پایتون یک زبان مولتی پلتفرم است و هیچ وابستگی به پلتفرم شما ندارد چه لینوکس چه مک چه ویندوز و .... پایتون به سیستم عامل وابسته نیست.دلیل ۳ - تقاضای پایتون در بازار کار بالاستدر بازار کار تقاضای برنامه نویس پایتون خیلی زیاد است و شرکت های بزرگی همچون DropBox, Netflix و Facebook از زبان پایتون استفاده میکنند. حتی شرکت گوگل مستندات خود برای پایتون را ساخته است.مشاغل مرتبط با پایتون نیز بسیار پرسود است طبق آمارهای سایت indeed میانگین حقوق یک پایتون کار ۱۱۶۰۰۰ دلار است که آنرا به جایگاه سوم بعد از زبان روبی و c++ رسانده است. حتی درآمد پایتون از جاوا اسکریپت نیز پیشی گرفته و از آن بالاتر است.طبق آمارهای سایت Stackoverflow برنامه نویسان پایتون این فرصت را دارند که با تجربه ی کمتر حقوق بالاتری را هم دریافت کنند.دلیل ۴ - پایتون جامعه ی بزرگی داردزمانی که در حال یادگیری یک زبان برنامه نویسی جدید هستید و مخصوصا یک دوره ی کارآموزی یا بوت کمپ نیز برای آن طی کردید باید مطمئن باشید زبان برنامه نویسی که یاد گرفتید جامعه ی بزرگ و خوبی دارد که اگر مشکل یا سوالی پیش امد از آنها کمک بخواهید.یکی از مزایای اصلی پایتون جامعه ی آنلاین قوی و پشتیبانی کننده ی آن است ، در گیتهاب نیز ۱.۵ میلیون مخزن با زبان پایتون ایجاد شده که باعث شده پایتون بعنوان دومین زبان پر مخاطب در گیتهاب باشد.همچنین در جامعه ی stackoverflow حدود دو میلیون سوال در زمینه ی پایتون پرسیده شده که هرکدام پاسخ های زیاد و کامنت های اموزشی زیادی نیز برای خود دارد که شما هم میتوانید سوال خود را آنجا مطرح کنید.دلیل ۵ - پایتون سریعترین زبان برنامه نویسی در حال رشد استوقتی صحبت از محبوبیت و نرخ رشد پایتون می شود، اعداد دروغ نمی گویند.طبق آمار سایت PYPL، پایتون پرجستجوترین زبان برنامه نویسی در اینترنت است - و به نظر نمی رسد که به این زودی تغییر کند.طبق مقاله ی منتشر شده در سایت stackoverflow پایتون از نظر رشد سریعترین زبان برنامه نویسی است و سایت TIOBE جایزه ی زبان سال ۲۰۲۰ را به پایتون اهدا کرد چون سریعترین زبان برنامه نویسی از نظر رشد بود.بخشی از این تحسین ها بخاطر رشد زبان پایتون در علم داده ( data science ) است. همانطور که هوش مصنوعی ، یادگیری ماشین و مدلسازی داده ها رشد میکند پایتون هم در کنار آنها رشد میکند.همه ی اینها بیانگر این است که اگر به دنبال یادگیری یک زبان پرکاربرد هستید با پایتون باید شروع کنید.از کجا پایتون یاد بگیریم ؟‌حالا که با ۵ دلیل اصلی یادگیری زبان پایتون آشنا شدیم شاید سوال شما این باشد که خب پایتون را از کجا شروع کنم ؟!‌من تجربه ی شخصی خودم رو میگم و شاید به درد شما بخوره ، من قبل از اینکه پایتون بلد باشم دو سه تا آموزشگاه حضوری رفتم و متاسفانه هیچ بازدهی خاصی برای من نداشت و بعدا تصمیم گرفتم که از دوره های آموزشی ویدیویی استفاده کنم چون واقعا نمیتونستم به آموزشگاه فیزیکی مراجعه حضوری داشته باشم.و در این تایم با مهندس نیکزاد یکی از بهترین مدرس های برنامه نویسی ایران اشنا شدم و دوره ی جامع پایتون ایشان را تهیه کردم و خیلی خوب و عالی زبان پایتون را یاد گرفتم.دوره ی جامع پایتوناگر علاقه مند بودید که در این دوره فوق العاده شرکت کنید میتونید از این لینک برید سایتشون و ثبت نام کنید.سخن پایانی : پایتون ( python ) یکی از بهترین زبان های برنامه نویسی هست و یادگیری آن برای افرادی که تازه میخان برنامه نویسی شروع کنند به شدت پیشنهاد میشه و در زمینه های زیادی هم کاربرد دارد اما این صحبت هرگز باعث تعصب در شما نشود چون قرار نیست از پایتون بت بسازید...پایتون هم مثل خیلی از زبان های برنامه نویسی دارای نقص و ایراداتی هست مثلا برای پروژه هایی که زمان اجرا خیلی مهم هست زمان اجرای پایتون نسبت به javascript و ... کمتر است ولی کاربرد آن بسیار گسترده است.از انجایی که نوشتن یک اسکریپت و اجرای آن در هر محیطی خیلی ساده و راحت است در بحث امنیت و هک خیلی کاربرد دارد و بیشتر اسکریپت هایی که برای هک نوشته میشود توسط پایتون است.در کل یادگیری پایتون پیشنهاد میشود !‌</description>
                <category>دختر صحرا 🌵🌾</category>
                <author>دختر صحرا 🌵🌾</author>
                <pubDate>Wed, 10 Aug 2022 12:22:27 +0430</pubDate>
            </item>
            </channel>
</rss>