<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های آرین هدایتی‌فر</title>
        <link>https://virgool.io/feed/@arianhf</link>
        <description>یه مشتاق به برنامه‌نویسی، هوش مصنوعی، یادگیری ماشین. علاقه‌مند به انواع فیلم و سریال.</description>
        <language>fa</language>
        <pubDate>2026-06-07 19:50:22</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/107925/avatar/qzRMlP.jpeg?height=120&amp;width=120</url>
            <title>آرین هدایتی‌فر</title>
            <link>https://virgool.io/@arianhf</link>
        </image>

                    <item>
                <title>راه اندازی ترمینال ویندوز و oh-my-zsh</title>
                <link>https://virgool.io/FutureProgrammers/%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D8%AA%D8%B1%D9%85%DB%8C%D9%86%D8%A7%D9%84-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-%D9%88-oh-my-zsh-bamqlgf7iafa</link>
                <description>اگر شما هم مثل من دلتون می‌خواد که ترمینالی که توش کار می‌کنید شخصی‌سازی شده باشه و همه چیز اون شکلی باشه که شما دوستش دارید، ادامه این مطلب برای شماست! یکی از مشکلاتی که من همیشه با command prompt ویندوز داشتم این بود که این قابلیت رو نداشت، ولی توی سال ۲۰۱۹ ویندوز یه ترمینال جدید معرفی کرد که امکانات زیادی داره و شدیدا قابل شخصی‌سازیه. ترمینال جدید ویندوز علاوه بر اینکه قابل شخصی‌سازی هست،‌ ويژگی‌های دیگه‌ای مثل مولتی‌تب بودن و همینطور توانایی اتصال به PowerShell، WSL و Clould Shell رو هم داره.ما می‌خوایم توی ادامه این مطلب اول ترمینال جدید ویندوز رو نصب کنیم، بعد WSL رو تبدیل به ترمینال پیش‌فرض کنیم و همچنین تغییراتی توی فونت و تم و استایل ترمینالمون بدیم.مرحله ۱ - نصب ترمینال جدید ویندوزبرای نصب ترمینال جدید ویندوز windows store رو باز می‌کنیم و windows terminal رو سرچ می‌کنیم و دکمه نصب رو می‌زنیم. یا اینکه از این لینک استفاده ‌می‌کنیم.بعد از چند دقیقه،‌ ویندوز ترمینال جدید آماده است. وقتی که ترمینال جدید رو باز می‌کنیم، می‌بینیم که ترمینال پیش‌فرض Windows PowerShell هست. برای تعویض ترمینال پیش‌فرض روی علامت ⌄ کلیک می‌کنیم و وارد قسمت تنظیمات می‌‌شیم.در این قسمت از پنجره باز شده و قسمت default profile، گزینه ubuntu رو انتخاب می‌کنیم و دکمه save رو می‌زنیم. با اجرای دوباره برنامه ترمینال ویندوز، پیشفرض باید به ubuntu تغییر کرده باشه.مرحله ۲ - نصب Oh my zshبرای این‌ کار نیاز داریم ابتدا پیش‌نیازهاش رو آماده کنیم.sudo apt-get update
sudo apt-get install git zsh -yحالا با استفاده از دستور زیر oh-my-zsh رو نصب می‌کنیم.sh -c &amp;quot$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&amp;quotدر ادامه این دستور از شما سوال می‌شه که آیا می‌خواهید shell شما به zsh تغییر پیدا کنه؟ در این مرحله y رو بزنید.حالا وقت اون رسیده که تم shell رو تغییر بدیم، برای این کار با استفاده از ابزار nano و دستور nano ~/.zshrcفایل رو باز می‌کنیم و به خطی که با ZSH_THEME شروع می‌شه می‌ریم و اون رو به &quot;agnoster&quot; تغییر می‌دیم. برای خروج Ctrl + X رو می‌زنیم و بعدش y رو برای ذخیره کردن تغییرات می‌زنیم.اگر توی این مرحله ترمینال رو دوباره باز کنیم، می‌بینیم که تغییرات اعمال شده، ولی این تغییرات تصویر زیبایی نداره! اما نگران نباشید، دلیل این اتفاق نداشتن فونت مناسب نمایش متن مورد نظر هستش و در ادامه به این مسأله خواهیم پرداخت. اما قبلش کمی تغییر در رنگ‌های ترمینال ایجاد می‌کنیم.مرحله ۳ - تغییر ترکیب رنگ‌های ترمینالبرای این کار ابتدا قسمت تنظیمات ترمینال ویندوز رو انتخاب می‌کنیم، بعد از قسمت مشخص شده، فایل تنظیمات رو باز می‌کنیم.اگر کمی در این فایل پایین بیاییم به قسمت schemes می‌رسیم. از کد زیر در این قسمت استفاده می‌کنیم.&amp;quotschemes&amp;quot : 
[{ &amp;quotbackground&amp;quot: &amp;quot#002B36&amp;quot,
&amp;quotblack&amp;quot: &amp;quot#002B36&amp;quot,
&amp;quotblue&amp;quot: &amp;quot#268BD2&amp;quot,
&amp;quotbrightBlack&amp;quot: &amp;quot#657B83&amp;quot,
&amp;quotbrightBlue&amp;quot: &amp;quot#839496&amp;quot,
&amp;quotbrightCyan&amp;quot: &amp;quot#D33682&amp;quot,
&amp;quotbrightGreen&amp;quot: &amp;quot#B58900&amp;quot,
&amp;quotbrightPurple&amp;quot: &amp;quot#EEE8D5&amp;quot,
&amp;quotbrightRed&amp;quot: &amp;quot#CB4B16&amp;quot,
&amp;quotbrightWhite&amp;quot: &amp;quot#FDF6E3&amp;quot,
&amp;quotbrightYellow&amp;quot: &amp;quot#586E75&amp;quot,
&amp;quotcursorColor&amp;quot: &amp;quot#FFFFFF&amp;quot,
&amp;quotcyan&amp;quot: &amp;quot#2AA198&amp;quot,
&amp;quotforeground&amp;quot: &amp;quot#93A1A1&amp;quot,
&amp;quotgreen&amp;quot: &amp;quot#859900&amp;quot,
&amp;quotname&amp;quot: &amp;quotwsl&amp;quot,
&amp;quotpurple&amp;quot: &amp;quot#6C71C4&amp;quot,
&amp;quotred&amp;quot: &amp;quot#DC322F&amp;quot,
&amp;quotselectionBackground&amp;quot: &amp;quot#FFFFFF&amp;quot,
&amp;quotwhite&amp;quot: &amp;quot#93A1A1&amp;quot,
&amp;quotyellow&amp;quot: &amp;quot#B58900&amp;quot}]سپس به ابتدای فایل رفته و به قسمتی که مربوط به wsl است مقدار زیر رو اضافه می‌کنیم.&amp;quotcolorScheme&amp;quot: &amp;quotwsl&amp;quotفایل رو ذخیره می‌کنیم. اگر الان ترمینال خودتون رو باز کنید،‌ باید تغییر رنگ‌ها را ببینید.مرحله ۴ - نصب و تغییر فونت برای نصب فونت یک ترمینال PowerShell باز می‌کنیم و دستورات زیر رو اجرا می‌کنیم.mkdir c:/fonts
cd c:/fonts
git clone https://github.com/powerline/fonts.git
cd fonts
.\install.ps1این کار ممکنه چند دقیقه طول بکشه. برای اینکه از فونت‌های نصب شده در ترمینال استفاده کنیم، لازمه که یک خط دیگه به تنظیمات ترمینال اضافه کنیم.{
&amp;quotcolorScheme&amp;quot: &amp;quotwsl&amp;quot,
&amp;quotguid&amp;quot: &amp;quot{2c4de342-38b7-51cf-b940-2309a097f518}&amp;quot,
&amp;quothidden&amp;quot: false,
&amp;quotname&amp;quot: &amp;quotUbuntu&amp;quot,
&amp;quotsource&amp;quot: &amp;quotWindows.Terminal.Wsl&amp;quot,
&amp;quotfontFace&amp;quot: &amp;quotDejaVu Sans Mono for Powerline&amp;quot
},تغییر دیگه‌ای که من دوست دارم تو نحوه نمایش ترمینال داشته باشم تغییر رنگ و نحوه نمایش نام کاربری و همچنین تغییر پوشه اولیه است که برای تغییر اون‌ها مسیر زیر رو پیش می‌گیریم.nano ~/.oh-my-zsh/themes/agnoster.zsh-themeبه خط ۹۲ رفته و به این شکل تغییرش می‌دیم: prompt_segment green black &amp;quot%(!.%{%F{yellow}%}.)%n&amp;quotو آخرین کار تغییر پوشه اولیه است، برای این کار فایل تنظیمات zsh رو باز می‌کنیم:nano ~/.zshrcو به انتهای اون دستور cd ~ رو اضافه می‌کنیم، از فایل خارج شده و تغییرات رو ذخیره می‌کنیم.در انتها ترمینال شما باید به شکل زیر باشه:ساده و جذاب!جمع‌بندیدر این مطلب موفق شدیم ترمینال جدید ویندوز رو نصب کنیم، و اون رو با توجه به سلیقه خود شخصی‌سازی کنیم. راه‌های بسیار زیادی برای شخصی سازی oh-my-zsh وجود دارد،‌ و همچنین تم‌ها و افزونه‌های بسیاری نیز برای انتخاب موجوده. خوشحال می‌شم اگه باهام تم‌ها و افزونه‌هایی که دوست دارین رو به اشتراک بذارین!  </description>
                <category>آرین هدایتی‌فر</category>
                <author>آرین هدایتی‌فر</author>
                <pubDate>Thu, 04 Nov 2021 12:25:32 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی جنگو(django) و راه اندازی محیط توسعه جنگو</title>
                <link>https://virgool.io/FutureProgrammers/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%AC%D9%86%DA%AF%D9%88-%D9%88-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D9%85%D8%AD%DB%8C%D8%B7-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%AC%D9%86%DA%AF%D9%88-ti2ard68im5o</link>
                <description>مقدمهدر این مطلب به سوال &quot;جنگو چیست؟&quot; پاسخ می‌‌دهیم و یک نمای کلی از ویژگی‌های خاص این فریم‌ورک وب به نمایش می‌گذاریم،‌ سپس یک محیط توسعه را برای جنگو راه‌اندازی می‌کنیم.در ادامه با هم به بررسی اجمالی ويژگی‌های اصلی، از جمله برخی از قابلیت‌های پیشرفته خواهیم پرداخت و همچنین برخی از اجزای اصلی یک برنامه جنگو را نشان می‌دهیم.جنگو چیست؟جنگو یک فریم‌ورک سطح بالا متن‌باز برای توسعه بک‌اند اپلیکیشن‌های تحت وب بر اساس پایتون، که یکی از پر استفاده‌ترین زبان‌های توسعه‌ در حال حاضر است، می‌باشد. این فریم‌ورک توسعه سریع وب‌سایت‌های امن و قابل نگه‌داری را امکان‌پذیر می‌کند.  اهداف اصلی این فریم‌ورک، سادگی، انعطاف، قابل اتکا بودن و مقیاس‌پذیری است. این فریم‌ورک توسط توسعه‌دهندگانی خبره و در محیط پرشتاب خبری توسعه پیدا کرده است. جنگو بسیاری از مشکلات توسعه‌ی وب را حل می‌کند و به شما اجازه می‌دهد که روی اجزای اصلی برنامه‌ی خود تمرکز کنید و نیازی نباشد تا بسیاری از مشکلات مشترک را از نو حل کنید.در ادامه به بررسی برخی از ویژگی‌های اصلی جنگو می‌پردازیم.کامل جنگو از فلسفه &quot;شامل باطری&quot; (batteries included) پیروی می‌کند و تقریبا تمام امکانات مورد نیاز یک توسعه‌دهنده وب را در اختیارش قرار می‌دهد. و به خاطر اینکه تمامی این اجزا بخشی از یک محصول هستند، همه با هم به صورت یک‌پارچه و بدون مشکل کار کرده و از اصول طراحی یکسان پیروی می‌کنند و همچنین مستندات گسترده و به روز دارند. همه کارهاز جنگو برای ساخت هر نوع وبسایتی می‌توان استفاده کرد. از سیستم‌های مدیریت محتوا و ویکی‌ها گرفته، تا شبکه‌های اجتماعی و سایت‌های خبری. این فریم‌ورک می‌تواند به راحتی با هر فریم‌ورک سمت‌کاربر(client-side) کار کند و می‌تواند محتوا را تقریبا با هر فرمت(از جمله RSS، HTML، XML، JSON و ...) ارائه دهد. جنگو بسیاری از عملکرد‌های مورد نیاز را به صورت پیش‌فرض تأمین می‌کند و شما می‌توانید در صورت نیاز اجزای دیگری را نیز اضافه کنید و از آن‌ها بهره بگیرید.امنجنگو با ارائه چارچوبی برای انجام کارهای درست برای حفاظت از وبسایت به توسعه‌دهنگان کمک می‌‌کند از بسیاری از اشتباهات امنیتی رایج جلوگیری کنند. به عنوان مثال جنگو روشی امن برای مدیریت حساب‌های کاربری و رمزهای عبور ارائه می‌کند، از اشتباهات رایج مانند قرار دادن اطلاعات سشن(session) در کوکی‌ها که ناامن هستند جلوگیری می‌کند و در عوض کوکی‌ها فقط حاوی یک کلید هستند و داده‌های واقعی در پایگاه‌داده ذخیره می‌شوند، و همچنین از ذخیره‌ی مستقیم رمزهای عبور به‌ جای هش(hash)رمز عبور جلوگیری می‌کند.جنگو به صورت پیشفرض سایت شما را در مواجهه با حملاتی مانند تزریق SQL، اسکریپ‌های بین‌سایتی(cross-site scripting)، جعل درخواست بین‌سایتی(cross-site request forgery) و کلیک‌ربایی(clickjacking) محافظت می‌کند.مقیاس‌پذیردر معماری جنگو هر بخش از دیگر بخش‌ها کاملا جدا است و هر بخش به صورت مستقل در صورت نیاز می‌تواند تغییر پیدا کند یا تعویض شود. این جدا بودن به این معناست که هر سطح می‌تواند با افزودن سخت‌افزار مناسب(برای مثال سرورهای کش، سرورهای پایگاه‌داده، یا سرورهای برنامه) برای افزایش ترافیک تنظیم بشود. برخی از پرترافیک‌ترین سایت‌ها مانند Instagram و Disqus با موفقیت توانسته‌اند از جنگو برای برآورده کردن نیازهایشان استفاده کنند.قابل نگهداریکد جنگو با استفاده از اصول و الگوهایی که ایجاد کدهای قابل نگهداری و قابل استفاده مجدد را تشویق می‌کند،‌ طراحی و نوشته‌ شده است. به طور خاص، جنگو از اصل خودت را تکرار نکن(DRY) استفاده می‌کند، بنابراین تکرار غیرضروری وجود ندارد و به همین دلیل مقدار کد نوشته شده کاهش می‌یابد. همچنین جنگو توسعه‌دهندگان را به گروه‌بندی عملکردهای مشابه در قالب یک برنامه قابل استفاده مجدد تشویق می‌کند.انتقال‌پذیرجنگو به زبان پایتون که روی پلتفرم‌های زیادی اجرا می‌شود، نوشته شده است. این به این معناست که شما به پلتفرم سرور خاصی وابسته نیستید و می‌توانید برنامه‌های خود را روی ورژن‌ها و نوع‌های مختلفی از لینوکس، ویندوز و Mac OS X اجرا کنید. علاوه بر این جنگو توسط بسیاری از ارائه‌دهنگان سرویس میزبانی وب که اغلب مستندها و زیرساخت‌های خاصی برای میزبانی سایت جنگو ارائه می‌دهند،‌ پشتیبانی می‌شود.کد جنگو چجوریه؟در یک وبسایت مبتنی بر داده، برنامه وب منتظر درخواست‌های HTTP از مرورگر وب(یا سایر کلاینت‌ها) است. هنگامی که درخواستی دریافت می‌شود، برنامه بر اساس URL و گاهی اطلاعات موجود در داده‌های POST یا GET مسیر مورد نیاز را انتخاب می‌کند. سپس با توجه به مسیر انتخابی، ممکن است اطلاعات را از یک پایگاه داده بخواند یا در آن بنویسد یا کارهای دیگری برای برآورده کردن درخواست انجام بدهد. برنامه پاسخی را به مرورگر وب برمی‌گرداند، و اغلب این پاسخ به صورت یک صفحه پویا HTML، که با قرار دادن داده‌ها در مکان‌های از پیش تعیین شده در قالب HTML تکمیل شده است،  نمایش داده می‌شود.برنامه‌های وب جنگو معمولا کدهایی را که هر یک از این مراحل را انجام می‌دهند،‌ در فایل‌های جداگانه گروه‌بندی می‌کنند:نقش URLها:با اینکه پردازش درخواست‌ها از هر URL با استفاده از یک تابع امکان‌پذیر است، نوشتن یک تابع view جداگانه برای مدیریت برای هر منبع، نگه‌داری و توسعه را راحت‌تر می‌کند.جنگو از یک نگاشت‌گر(mapper) URL برای هدایت درخواست‌های HTTP به view مناسب بر اساس URL درخواستی، استفاده می‌کند. این نگاشت‌گر همچنین می‌تواند الگوهای خاصی از رشته‌ها یا ارقام را که در URL ظاهر می‌شوند به عنوان داده به یک تابع view ارسال کند.نقش viewها:view یک تابع کنترل‌کننده درخواست است که درخواست‌های HTTP را دریافت می‌کند و پاسخ‌های HTTP را برمی‌گرداند. viewها از طریق مدل‌ها(models) به داده‌های مورد نیاز برای برآورده کردن درخواست‌ها دسترسی دارند و قالب‌بندی پاسخ را به الگوها(templates) واگذار می‌کنند.نقش modelها:مدل‌ها اشیائی در پایتون هستند که ساختار داده‌های یک برنامه را تعریف می‌کنند و روش‌هایی برای مدیریت(افزودن،‌ اصلاح و حذف) و دریافت اطلاعات از پایگاه داده را فراهم می‌کنند.نقش templateها:الگوها یک فایل متنی هستند که ساختار یک فایل(مثلا یک فایل HTML) را با متغیرهایی که برای نمایش محتوای واقعی استفاده می‌شود، تعریف می‌کنند. یک view می‌تواند به صورت پویا یک صفحه HTML را با استفاده از الگوی HTML ایجاد کند و آن را با داده‌های مدل‌ها پر کند. حال که آشنایی کلی با جنگو پیدا کردیم،‌ وقت آن رسیده که یک محیط توسعه جنگو را آماده سازی کنیم.محیط توسعه جنگو چیست؟محیط توسعه جنگو یک نسخه نصب شده جنگو بر روی سیستم شماست که می‌توانید از آن برای توسعه و تست برنامه‌های جنگو خود، پیش از قرار دادن آن در محیط پروداکشن استفاده کنید. جنگو به صورت پیش‌فرض ابزاری دارد که برای توسعه می‌توان از آن‌ها استفاده کرد. از جمله این ابزارها می‌توان به مجموعه‌ای از اسکریپ‌های پایتون برای ایجاد و کار با پروژه‌های جنگو اشاره کرد. و همچنین جنگو یک وب سرور توسعه ساده در اختیار شما قرار می‌دهد که از آن برای تست برنامه‌های جنگویی که بر روی کامپیوتر خود دارید از طریق مرورگر می‌توانید استفاده کنید.در ادامه به نصب جنگو بر روی یک سیستم لینکوس که بر روی آن پایتون و pipenv نصب شده است، می‌پردازیم. اگر پایتون و pipenv را نصب ندارید،‌ می‌توانید از این راهنما برای نصب استفاده کنید.مرحله ۱ - ایجاد محیط مجازی جدیدابتدا یک پوشه جدید ساخته و سپس با استفاده از pipenv یک محیط مجازی جدید ایجاد می‌کنیم و آن را فعالسازی می‌کنیم.mkdir test_project
cd test_project
pipenv install --python 3.8
pipenv shellمرحله ۲ - نصب جنگوحال که محیط مجازی را ساخته و فعال کرده‌ایم، می‌توانیم جنگو را نصب کنیم.pipenv install Django==3.2.8برای تست اینکه آیا به ماژول جنگو دسترسی داریم یا نه،‌ دستور زیر را اجرا می‌کنیم.python -m django --versionاین دستور باید خروجی 3.2.8 را بدهد.مرحله ۳ - تست نصبتست بالا نشان می‌دهد که ما موفق شده‌ایم که جنگو را نصب کنیم یا نه،‌ اما روش هیجان‌انگیزتری نیز برای این کار وجود دارد. در این روش ما اسکلت اولیه یک پروژه را می‌سازیم و آن را اجرا می‌کنیم. برای اینکار از ابزار django-admin استفاده می‌کنیم، سپس به پوشه ساخته شده می‌رویم. در این پوشه فایل manage.py که اسکریپت اصلی مدیریت پروژه است را اجرا می‌کنیم.django-admin startproject mytestsitecd mytestsiteبا استفاده از دستور tree می‌توانیم ساختار پوشه را به صورت گرافیکی نشان دهیم.حال می‌توانیم وب سرور توسعه را به وسیله manage.py و با دستور runserver اجرا کنیم.python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run &#039;python manage.py migrate&#039; to apply them.
October 27, 2021 - 19:54:15
Django version 3.2.8, using settings &#039;mytestsite.settings&#039;
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.بعد از این مرحله، می‌توانیم با استفاده از URL داده شده(http://127.0.0.1:8000) صفحه اولیه جنگو را درون مرورگر خود باز کنیم.صفحه اولیه چیزی شبیه به تصویر زیر خواهد بود: جمع‌بندیدر این مطلب با جنگو و اصول و پایه‌های اولیه آن آشنا شدیم و سپس موفق شدیم که یک محیط توسعه جنگو را راه اندازی کنیم. و همچنین در قسمت آخر به صورت خلاصه با چند دستور اصلی برای شروع پروژه‌های جنگو و استفاده از وب سرور توسعه‌ی آن آشنا شدیم.مطلب بالا بر اساس ترجمه‌ی آزاد از django introduction و setting up a django development environment و django at a glance همراه با تغییراتی در برخی از بخش‌هاست.</description>
                <category>آرین هدایتی‌فر</category>
                <author>آرین هدایتی‌فر</author>
                <pubDate>Sat, 30 Oct 2021 16:29:36 +0330</pubDate>
            </item>
                    <item>
                <title>نصب پایتون ۳، pipenv و راه‌اندازی محیط برنامه‌نویسی در WSL</title>
                <link>https://virgool.io/FutureProgrammers/%D9%86%D8%B5%D8%A8-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%DB%B3-pipenv-%D9%88-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D9%85%D8%AD%DB%8C%D8%B7-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AF%D8%B1-wsl-uygddin4p1rn</link>
                <description>مقدمهزبان برنامه‌نویسی پایتون یک انتخاب محبوب برای توسعه‌‌دهندگان مبتدی و با تجربه است.  این زبان برنامه‌نویسی منعطف و همه‌کاره، در حوزه‌های scripting، اتوماسیون، تجزیه و تحلیل داده‌ها، یادگیری ماشین و همچنین توسعه back-end بسیار قدرتمند است. در انتهای این آموزش شما یک محیط آماده برای شروع برنامه‌نویسی در پایتون ۳ بر روی WSL خواهید داشت. اصول کلی این آموزش در هر توزیع لینوکس دبیان قابل استفاده خواهد بود.پیش‌نیازهابرای تکمیل این آموزش، باید یک سیستم ویندوز ۱۰ نسخه ۲۰۰۴ یا بالاتر (build 10941 یا بالاتر) داشته باشید.برای چک کردن نسخه ویندوز و شماره build ابتدا دکمه لوگو ویندوز + R را فشار دهید، winver را تایپ کرده و OK را انتخاب کنید.اگر سیستم شما این پیش‌نیازها را ندارد می‌توانید از این آموزش برای به روزرسانی و نصب WSL استفاده کنید.مرحله ۱ - نصب WSL و تنظیم اطلاعات کاربری لینوکسبرای نصب WSL تنها کاری که نیاز هست انجام بدهید، این است که دستور زیر را در Windows Commnad Prompt و یا PowerShell وارد کرده و سپس کامپیوتر خود را ری‌استارت کنید.wsl --install -d Ubuntuاین دستور اجزای اختیاری مورد نیاز را فعال می‌کند، آخرین kernel لینوکس را دانلود می‌کند، WSL 2 را به عنوان پیش‌فرض در نظر می‌گیرد و توزیع اوبونتو لینوکس را برای شما نصب می‌کند.وقتی برای اولین بار یک توزیع جدید لینوکس را راه‌اندازی می‌کنید، یک پنجره باز می‌شود و از شما خواسته می‌شود که منتظر بمانید تا فایل‌ها از حالت فشرده خارج شده و بر روی سیستم شما ذخیره شوند. دفعات بعدی راه‌اندازی کمتر از یک ثانیه طول خواهد کشید.پس از نصب WSL، شما باید یک اکانت کاربری و پسورد برای توزیع لینوکس جدید خود بسازید. مرحله ۲ - راه‌اندازی پایتون ۳اوبونتو ۲۰.۰۴ پایتون ۳ را به صورت پیشفرض نصب شده دارد. برای اطمینان از اینکه ورژنی که استفاده می‌کنیم به روز است، ابتدا سیستم را به وسیله دستور apt به روزرسانی می‌کنیم. apt مخفف Advanced Packaging Tool است و برای مدیریت و سازماندهی به برنامه‌های مختلف در لینوکس دبیان استفاده می‌شود.$ sudo apt update $ sudo apt -y upgradeوقتی که پروسه نصب تکمیل شد، می‌توانیم ورژن پایتون نصب شده بر روی سیستم را چک کنیم. $ python3 -V خروجی این دستور در ترمینال ورژن پایتون را نشان خواهد داد. این ورژن ممکن است متفاوت باشد اما چیزی شبیه به این خواهد بود. Python 3.8.10برای مدیریت پکیج‌های نرم‌افزاری پایتون، نیاز داریم که ابزار pip را نصب کنیم. pip ابزاریست که برای نصب و مدیریت پکیج‌هایی که احتمالا برای توسعه‌ی پروژه‌های مختلف به آن‌ها نیازمند خواهیم شد، مورد استفاده قرار می‌گیرد.$ sudo apt install -y python3-pipحالا می‌توانید با دستور زیر پکیج‌های مورد نیاز خود را نصب کنید.$ pip3 install package_nameبرای اینکه محیط برنامه‌نویسی خود را آماده کنیم، نیاز به نصب چند پکیج و ابزار توسعه دیگر نیز هست.$ sudo apt install -y build-essential libssl-dev libffi-dev python3-dev پس از انجام این مراحل پایتون راه‌اندازی شده و pip و دیگر ابزارها نصب شده‌اند، حالا می‌توانیم یک محیط مجازی(virtual environment) برای توسعه‌ی پروژه‌های خود ایجاد کنیم.مرحله ۳ - راه‌اندازی محیط مجازی(virtual environment)محیط‌های مجازی این اجازه را به شما می‌دهد تا یک فضای ایزوله برای هر پروژه در حال توسعه خود داشته باشید و تضمین می‌کند که هر پروژه وابستگی‌های خاص خودش را داشته باشد و اخلالی برای دیگر پروژه‌ها ایجاد نکند.راه‌اندازی یک محیط برنامه‌نویسی مجازی کنترل بیشتری بر پروژه‌های پایتون و نحوه مدیریت نسخه‌های مختلف پکیج‌ها ایجاد می‌کند. این موضوع به ویژه زمانی که از پکیج‌های خارجی(third-party) استفاده می‌کنید اهمیت پیدا می‌کند. شما می‌توانید محیط‌های برنامه‌نویسی نامحدودی بر روی سیستم خود داشته باشید.روش‌های مختلفی برای ساخت یک محیط مجازی وجود دارد. از جمله این روش‌ها می‌توان به venv، virtualenv و pipenv اشاره کرد. در این آموزش ما از pipenv استفاده خواهیم کرد. برای نصب pipenv:$ pip3 install --user pipenvبرای استفاده از این ابزار ابتدا یک پوشه ایجاد می‌کنیم و سپس از دستورات مخصوص این ابزار برای ایجاد یک محیط مجازی جدید استفاده می‌کنیم.$ mkdir test_project &amp;&amp; cd test_project $ pipenv install --python 3.8$ pipenv shellدستور اول یک پوشه جدید ایجاد می‌کند و وارد آن پوشه می‌شود. دستور دوم محیط مجازی را با استفاده از پایتون ۳.۸ می‌سازد و دستور سوم این محیط را فعال‌سازی می‌کند.بعد از انجام این مرحله، محیط شما فعال‌سازی شده و command prompt شما با یک پیشوند که نشان‌دهنده اسم محیط مجازی جدید شما است شروع می‌شود. این پیشوند به این معناست که محیط مجازی با این نام در حال حاضر فعال است.مرحله ۴ - نوشتن یک برنامه &quot;Hello, World&quot;در دنیای برنامه نویسی این اتفاق مرسوم است که برای تست کردن محیط برنامه نویسی برای اولین بار، یک برنامه  hello world نوشته و آن را اجرا می‌کنند. برای اینکار ابتدا یک فایل جدید ایجاد می‌کنیم. و سپس به وسیله یک ویرایشگر متن آن را باز می‌کنیم.$ touch hello.py $ nano hello.pyسپس کد زیر را اضافه کردهprint(&amp;quotHello, World!&amp;quot) و با کلیدهای CTRL و X از برنامه خارج می‌شویم، در جواب سوالی که برای ذخیره کردن فایل پرسیده می‌شود دکمه y را می‌زنیم.حال می‌توانیم برنامه‌ای را که نوشته‌ایم اجرا کنیم. این برنامه باید خروجی زیر را چاپ کند.برای خروج از محیط مجازی از دستور exit استفاده می‌کنیم.جمع‌بندیشما موفق شدید که بر روی ویندوز خود WSL را نصب کرده و سپس بر روی سیستم اوبونتوی لینوکس یک محیط برنامه‌نویسی پایتون آماده سازی بکنید و حالا می‌توانید ایده‌های خود را به کد تبدیل کنید!</description>
                <category>آرین هدایتی‌فر</category>
                <author>آرین هدایتی‌فر</author>
                <pubDate>Mon, 25 Oct 2021 23:31:17 +0330</pubDate>
            </item>
            </channel>
</rss>