<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Pouria</title>
        <link>https://virgool.io/feed/@pouria_121</link>
        <description>دانشجوی رشته مهندسی نرم افزار، دانشگاه ملی مهارت</description>
        <language>fa</language>
        <pubDate>2026-06-17 00:57:48</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/688252/avatar/Kjifoq.jpg?height=120&amp;width=120</url>
            <title>Pouria</title>
            <link>https://virgool.io/@pouria_121</link>
        </image>

                    <item>
                <title>مفاهیم اساسی لینوکس | از کرنل تا محیط گرافیکی</title>
                <link>https://virgool.io/@pouria_121/basic-linux-concepts-ytku0msx31nw</link>
                <description>لینوکس یکی از قدرتمندترین سیستم‌عامل‌های جهان است که بر پایه اصول متن‌باز ساخته شده و در سرورها، دسکتاپ‌ها و حتی گوشی‌های هوشمند استفاده می‌شود. اگر تازه با لینوکس آشنا شده‌اید، درک مفاهیم اساسی لینوکس مثل هسته (Kernel)، توزیع‌ها، بوت‌لودر و محیط‌های گرافیکی ضروری است.در این مقاله، به‌طور جامع به بررسی این موضوعات می‌پردازیم تا بتوانید لینوکس را از صفر درک کنید.مفاهیم لینوکسهسته لینوکس (Kernel): قلب تپنده سیستمکرنل لینوکس چیست؟ هسته یا کرنل، هسته مرکزی سیستم‌عامل لینوکس است که نقش چسب بین سخت‌افزار و نرم‌افزارها را ایفا می‌کند. بدون هسته، لینوکس نمی‌تواند کار کند، زیرا این بخش مسئولیت مدیریت منابع سخت‌افزاری مثل CPU، RAM و دیسک را بر عهده دارد.وظایف اصلی کرنل لینوکسکرنل لینوکس وظایف متنوعی دارد که آن را از دیگر سیستم‌عامل‌ها متمایز می‌کند. اولاً، هسته ارتباط بین اپلیکیشن‌ها و سخت‌افزار را برقرار می‌کند، مثلاً وقتی برنامه‌ای نیاز به خواندن فایل از هارد دارد، هسته این کار را مدیریت می‌کند. دوماً، مدیریت فرآیندها (Processes) را انجام می‌دهد، یعنی اولویت‌بندی کارهای سیستم برای جلوگیری از هنگ کردن کامپیوتر شما. سوماً، با کنترل دسترسی‌ها (Permissions) امنیت را تأمین می‌کند. هسته لینوکس مدولار است، یعنی بدون ریبوت کردن کامل سیستم، می‌توانید ماژول‌های اضافی را (مثل درایور کارت گرافیک) اضافه کنید.تفاوت کرنل با دیگر اجزاکرنل لینوکس فقط پایه است و بدون توزیع‌ها (Distributions) کامل نیست. مثلاً، در مقایسه با ویندوز، هسته لینوکس رایگان و متن‌باز است، که اجازه سفارشی‌سازی می‌دهد. نسخه‌های مختلف هسته (مثل ۵.۱۵ یا ۶.۲) با به‌روزرسانی‌ها بهبود می‌یابند تا پشتیبانی بهتری از سخت‌افزارهای جدید داشته باشند.توزیع‌های لینوکس (Distributions): بسته‌های آماده برای استفادهتوزیع‌های لینوکس چیست؟ توزیع یا Distro، مجموعه‌ای از نرم‌افزارها، برنامه‌ها و ابزارها است که با هسته لینوکس ترکیب شده تا یک سیستم‌عامل کامل بسازد. بدون توزیع، هسته خام است و قابل استفاده برای کاربران عادی نیست.انواع توزیع‌های لینوکستوزیع‌ها بر اساس نیاز کاربران متفاوت‌اند. مثلاً، اوبونتو (Ubuntu) برای مبتدیان مناسب است با رابط گرافیکی ساده. دبیان (Debian) پایدار و برای سرورها ایده‌آل است. فدورا (Fedora) برای توسعه‌دهندگان با آخرین فناوری‌ها. آرچ لینوکس (Arch) برای کاربران پیشرفته که می‌خواهند سیستم را دستی سفارشی کنند. هر توزیع شامل هسته، شل، و محیط دسکتاپ است.درس سایت distrosea.com میتونید توزیع های مختلف را امتحان کنید.سایت distrosea محل استفاده دمو از توزیع های لینوکستصویری از دسکتاپ توزیع manjaroبوت‌لودر (Bootloader): شروع‌کننده سیستمبوت‌لودر در لینوکس چیست؟ بوت‌لودر برنامه‌ای است که سیستم‌عامل را بوت می‌کند و هسته را بارگذاری می‌کند. بدون آن، سیستم عامل بالا نمی‌آید و کاربر نمیتواند از سیستم استفاده کند. این موضوع جزو مفاهیم اساسی لینوکس و سیستم عامل است.تصویری از بوت لودر grubانواع بوت‌لودرهامعروف‌ترین‌ها GRUB (Grand Unified Bootloader) و ISOLINUX هستند. GRUB چندسیستمه را پشتیبانی می‌کند (مثل بوت دوگانه ویندوز و لینوکس). ISOLINUX برای رسانه‌های بوت‌شدنی مثل USB استفاده می‌شود.مدیریت بوت‌لودردر نصب توزیع، بوت‌لودر خودکار نصب می‌شود. درصورت نیاز، میتوانید با استفاده از ابزار های در ترمینال یا بصورت رابط گرافیکی بوت‌لودر سیستم‌خود را مدیریت کنید.برای مثال Grub Customizer بصورت گرافیکی و فایل کانفیگ grub در مسیر /etc/default/grub برای ویرایش بوت‌لودر‌ وجود داردسرویس‌ها (Services): برنامه‌های پس‌زمینهسرویس در لینوکس چیست؟ سرویس برنامه‌ای است که در پس‌زمینه سیستم شما اجرا می‌شود و وظایف را به‌صورت مداوم انجام می‌دهد. سرویس های مختلفی در لینوکس وجود دارد. نمونه هایی از سرویس های مهم لینوکس:httpd: سرویس وب‌سرور آپاچی برای میزبانی وب‌سایت‌ها.nfsd: برای اشتراک‌گذاری فایل‌ها در شبکه (Network File System).sshd: برای دسترسی از راه دور از طریق SSH.cron: برای اجرای خودکار وظایف زمان‌بندی‌شده (مثل بک‌آپ).برای مدیریت سرویس ها، میتوانید از ابزار systemctl از طریق ترمینال بهره ببرید و در محیط گرافیکی، با ابزار هایی مثل System Monitor کار کنید.مدیریت سرویس ها در ترمیناللینوکس مدرن از Systemd برای مدیریت سرویس‌ها استفاده می‌کند. دستورات کلیدی:شروع سرویس: sudo systemctl start httpdتوقف سرویس: sudo systemctl stop httpdفعال‌سازی در بوت: sudo systemctl enable httpdبررسی وضعیت: sudo systemctl status httpdفایل سیستم: سازماندهی داده ها در لینوکسفایل سیستم (File System) روش ذخیره و سازمان‌دهی داده ها در یک سیستم‌عامل است.فایل سیستم تعیین می‌کند چگونه فایل‌ها در بلوک‌های دیسک ذخیره شوند، مجوزها (Permissions) مدیریت شوند، و عملیات مثل خواندن/نوشتن انجام گیرد. لینوکس از چندین لایه استفاده می‌کند: کرنل فایل سیستم را مدیریت می‌کند، و ابزارهایی مثل mkfs برای ایجاد آن استفاده می‌شوند.از نظر فنی، فایل سیستم شامل Inodes (برای metadata فایل‌ها مثل مالک و اندازه) و Superblock (برای اطلاعات کلی مثل فضای آزاد) است. مثلاً، در ext4، هر فایل یک Inode دارد که اجازه مدیریت میلیون‌ها فایل را می‌دهد.فایل سیستم های رایج:ext4: پیش‌فرض اوبونتو و اکثر توزیع‌ها، سریع، پایدار، و مناسب برای دسکتاپ و سرور.NTFS: پیش‌فرض ویندوز ۱۰ و ۱۱، برای سازگاری با درایوهای مشترک.FAT32: پیش‌فرض نسخه‌های قدیمی ویندوز، مناسب برای USB (محدودیت حجم فایل ۴ گیگابایت).Btrfs: پیشرفته با قابلیت اسنپ‌شات و فشرده‌سازی.ZFS: برای سرورهای پیشرفته با مدیریت داده قویمقایسه فایل سیستم هامقایسه انواع فایل سیستم هانمایش فایل سیستم و فضای دیسک:
df -h
شل لینوکس: رابط خط فرمان و دستورات پیشرفتهشل (Shell) برنامه‌ای است که دستورات کاربر را دریافت، تفسیر، و به کرنل منتقل می‌کند. شل‌ها برای اتوماسیون حیاتی‌اند. برخلاف GUI، شل دسترسی مستقیم به سیستم می‌دهد.دانستن چگونگی کار با شل و دستورات خط فرمان، برای سرور های بدون رابط گرافیکی (GUI) حیاطی است.انواع شل و مقایسهBash: پیش‌فرض، با سینتکس ساده و اسکریپتینگ قدرتمند. مزایا: گسترده، سازگار. معایب: کمتر مدرن.Zsh: با Oh My Zsh، اتوکامپلیت پیشرفته و تم‌ها. مزایا: کاربرپسند برای توسعه‌دهندگان. معایب: نیاز به تنظیم.Fish: پیشنهادهای هوشمند، بدون نیاز به یادگیری سینتکس پیچیده. مزایا: آسان برای مبتدیان. معایب: کمتر سازگار با اسکریپت‌های قدیمی.با باز کردن برنامه terminal در لینوکس، میتوانید به شل دسترسی داشته باشید.تصویری از ZSHساختار سلسله‌مراتبی دایرکتوری‌ها و فایل‌ها در لینوکسلینوکس از یک ساختار درخت‌وار (Hierarchical) برای سازمان‌دهی فایل‌ها استفاده می‌کند که همه چیز از ریشه (/) شروع می‌شود. این ساختار استاندارد FHS است و فایل‌ها را بر اساس نوع دسته‌بندی می‌کند.دایرکتوری‌های کلیدی و نقش آن‌ها/ (Root): پایه سیستم، همه دایرکتوری‌ها زیر آن هستند./home: خانه کاربران، فایل‌های شخصی (مثل /home/user/Documents). امنیت: مجوزهای کاربرمحور./etc: تنظیمات سیستم (مثل /etc/fstab برای فایل سیستم‌ها، /etc/passwd برای کاربران). ویرایش با sudo nano./var: داده‌های متغیر مثل لاگ‌ها (/var/log/apache2) یا دیتابیس‌ها (/var/lib/mysql). کاربرد: بررسی لاگ‌ها برای عیب‌یابی./bin و /sbin: فایل‌های اجرایی ضروری (/bin/ls) و سیستمی (/sbin/fsck)./usr: برنامه‌ها و کتابخانه‌ها (/usr/bin/python، /usr/share/icons)./tmp: فایل‌های موقت، که در ریبوت پاک می‌شود. کاربرد: ذخیره موقت دانلودها./boot: فایل‌های بوت مثل کرنل (vmlinuz) و GRUB.مقایسه با ویندوز: لینوکس درایو جدا ندارد؛ همه چیز زیر / مونت می‌شود (مثل /media/usb برای فلش).ران‌لول‌ها: حالت‌های اجرایی و مدیریت پیشرفتهران‌لِوِل‌ها (Runlevels) سطوح مختلف عملیاتی لینوکس هستند که تعیین می‌کنند کدام سرویس‌ها و رابط‌ها فعال شوند.هر ران‌لول‌ سرویس‌های خاصی را لود می‌کند و برای مدیریت منابع (مثل خاموش کردن GUI برای صرفه‌جویی در RAM) مفید است.سطوح مختلف ران‌لول‌ها0 (Halt): سیستم کامل خاموش می‌شود. همه فرآیندها متوقف و فایل سیستم‌هاUnmount می‌شوند. کاربرد: برای shutdown ایمن.1 (Single-User Mode): حالت تعمیرات با دسترسی روت. هیچ سرویس شبکه‌ای فعال نیست، فقط کنسول CLI. کاربرد: تعمیر فایل سیستم آسیب‌دیده یا تغییر پسورد روت (با passwd).2: چندکاربره بدون NFS. سرویس‌های پایه فعال‌اند، اما شبکه فایل اشتراکی خاموش است. کاربرد: محیط‌های محلی بدون نیاز به شبکه.3: چندکاربره با CLI کامل. سرویس‌های شبکه فعال‌اند، اما GUI نه. کاربرد: سرورها برای مصرف کم منابع (مثل وب‌سرورها).4: قابل‌تنظیم توسط کاربر. می‌توانید اسکریپت‌های شخصی اضافه کنید. کاربرد: حالت‌های سفارشی مثل تست نرم‌افزار.5: چندکاربره با GUI. پیش‌فرض دسکتاپ‌ها مثل اوبونتو. همه سرویس‌ها و رابط گرافیکی فعال‌اند. کاربرد: استفاده روزمره.6 (Reboot): سیستم ریبوت می‌شود. همه فرآیندها متوقف و سیستم restart می‌شود. کاربرد: اعمال تغییرات کرنل.کاربردها: در سرورهای ابری (مثل AWS EC2)، ران‌لِوِل ۳ برای کاهش هزینه‌ها استفاده می‌شود. در دسکتاپ، ران‌لِوِل ۵ برای راحتی.ران‌لول‌ها بهینه‌سازی منابع را ممکن می‌کنند. مثلاً، در سیستم‌های محدود RAM، ران‌لول‌ ۳ GUI را خاموش می‌کند و ۲۰۰-۵۰۰ MB RAM صرفه‌جویی می‌کند.محیط‌های دسکتاپ لینوکس: تجربه گرافیکیمحیط دسکتاپ (Desktop Environment) مجموعه‌ای از نرم‌افزارها است که رابط گرافیکی (GUI) لینوکس را تشکیل می‌دهد. شامل مدیریت پنجره، فایل منیجر، نوار وظیفه، و ابزارهای سفارشی‌سازی است.محیط‌های محبوب و مقایسه آنهامقایسه رابط های گرافیکی محبوب در لینوکسمدیریت پنجره یا Window Managerنرم‌افزاری که فقط مسئول مدیریت پنجره‌های گرافیکی (مانند جابجایی، تغییر اندازه، و چیدمان پنجره‌ها) است.مثال‌ها: i3، Openbox، Awesome، bspwm.اگر از GNOME استفاده کنید، مدیر پنجره داخلی آن (Mutter) بخشی از محیط دسکتاپ است و شما نیازی به مدیریت جداگانه آن ندارید.برنامه File Managerبرنامه‌ای گرافیکی یا متنی است که برای مدیریت فایل‌ها و پوشه‌ها استفاده می‌شود. این ابزار امکان مرور، کپی، انتقال، حذف و سازمان‌دهی فایل‌ها را فراهم می‌کند.یکی از محبوب ترین فایل منیجر ها Nautilus است که در محیط های GNOME بصورت پیشفرض قابل استفاده است. اما شما میتوانید فایل منیجر موردنظر خود را نصب کنید و جایگزین آن کنید.برخی (مثل Thunar) سبک و سریع هستند، برخی (مثل Dolphin) امکانات پیشرفته‌تری دارند و سنگین‌ترند.با درک عمیق مفاهیم اساسی لینوکس مثل سرویس‌ها، فایل سیستم، شل، و ...، می‌توانید سیستم را بهینه کنید و از لینوکس نهایت بهره را ببرید. از دستورات شل برای اتوماسیون تا انتخاب محیط گرافیکی مناسب سلیقه شما، این دانش به شما کمک میکند تا تجربه لذت‌بخش‌تری از لینوکس داشته باشید.و در اخر اگه کاربر لینوکس هستید، کدام توزیع و کدام محیط گرافیکی را پیشنهاد میکنید؟ شخصا دوست دارم بدونم از کدوم شل استفاده میکنید و تجربه‌هاتون رو به اشتراک بذارید.</description>
                <category>Pouria</category>
                <author>Pouria</author>
                <pubDate>Thu, 02 Oct 2025 16:26:43 +0330</pubDate>
            </item>
                    <item>
                <title>چرا برنامه‌های نصب‌شده در داشبورد اوبونتو نمایش داده نمی‌شوند؟</title>
                <link>https://virgool.io/@pouria_121/%D8%B9%D8%AF%D9%85-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-l96ihkqqvccd</link>
                <description>اگه شماهم از سیستم عامل اوبونتو یا دیگر توزیع های لینوکس استفاده میکنید، شاید به این مشکل برخورد کرده باشید. ممکنه بعد از نصب یک نرم‌افزار در لینوکس، برنامه نصب شده در داشبورد نمایش داده نشه. این مورد باعث سخت تر شدن دسترسی به برنامه مورد نظرتون باشه، که البته من هم با این موضوع سروکله زدم و در ادامه راه حلش رو بهتون یاد میدم.رفع مشکل عدم نمایش برنامه در لینوکسدلیل عدم نمایش برنامه های نصب شده در لینوکسبرنامه‌های نصب‌شده در داشبورد اوبونتو نمایش داده نمی‌شوند، چون ممکنه فایل .desktop مربوط به برنامه در مسیری که باید (مثلا/usr/share/applications) نباشد، یا مجوزهای فایل مشکل داشته باشد، یا کش داشبورد نیاز به به‌روزرسانی داشته باشد. برای رفع مشکل، روشی که در ادامه آورده ام میتواند مشکل را برطرف کند.بررسی و اصلاح فایل .desktop مربوط به برنامه مورد نظرفایل‌های .desktop قلب تپنده نمایش برنامه‌ها در اوبونتو داشبورد هستند. این فایل‌ها اطلاعاتی مثل نام برنامه، توضیحات، مسیر اجرایی، و آیکون را ذخیره می‌کنند. اگر وجود نداشته باشند یا ناقص باشند، برنامه در جستجوی داشبورد ظاهر نمی‌شود. برای رفع مشکل نمایش برنامه در داشبورد اوبونتو، مراحل زیر را دنبال کنید.desktop.بررسی وجود فایلمعمولا این فایل با پسوند .desktop به همراه اسم برنامه باید در مسیر /usr/share/applications/ قرار بگیرد، در ترمینال با دستور زیر به دنبال فایل مورد نظر بگردید.ls /usr/share/applications/ | grep &lt;نام_برنامه&gt;به‌جای &lt;نام_برنامه&gt;، نام برنامه مورد نظر خود را وارد کنید.جستجوی فایل .desktop در ترمینال لینوکسایجاد یا ویرایش فایلاگر فایل موردنظر را پیدا نکردید میتوانید باتوجه به اسم برنامه موردنظرتان ان را بسازید و کد زیر را درون ان قرار بدهید:برای این کار، ابتدا با دستور زیر فایل را ایجاد و ویرایش کنید:nano /usr/share/applications/vscode.desktopسپس کد زیر را درون فایل ایجاد شده قرار دهید و آموزش را دنبال کنید:[Desktop Entry]
Name=Firefox
Comment=Firefox web browser
Exec=/path/to/the/execucable/file
Icon=/path/to/an/appropriate/icon
Type=Application
Terminal=false
Categories=Application;Utility;TextEditor;
MimeType=text/plainدر کد بالا، باید اسم رو مطابق اسم برنامه قرار دهید، سپس یک نوشته کوتاه در قسمت comment بنویسید، مهم ترین قسمت نیز وارد کردن مسیر فایل قابل اجرای برنامه مورد نظرتان در قسمت Exec میباشد، که معمولا در دایرکتوری یا پوشه ای قرار دارد که ان فایل را دانلود کرده اید.در بخش Icon نیز باید مسیر مربوط به آیکون برنامه را وارد کنید. آیکون یا تصویر برنامه، در پوشه خود برنامه قابل یافت است.مطمئن شوید فایلی که ساختید، مجوز های لازم را داشته باشدبا اجرای دستور زیر، مجوز های لازم را برای فایل دسکتاپ برنامه صادر میکنیم. توجه داشته باشید که شما اسم برنامه ی خود را قرار دهیدsudo chmod +x /usr/share/applications/myapp.desktopبرای اعمال تغییرات، کش یا cache برنامه های داشبورد را با دستور زیر در ترمینال بروز‌رسانی کنید:sudo update-desktop-databaseآپدیت کردن کش و دیتابیس برنامه های دسکتاپقدم اخرحالا داشبورد را باز کنید و نام برنامه را جستجو کنید. اگر درست تنظیم شده باشد، باید ظاهر شود.ابزارهای گرافیکی برای رفع مشکل منوی اوبونتوبرای استفاده راحت تر برنامه ها در منوی برنامه های نصب شده، از Main Menu (Alacarte) استفاده کنید. مراحل نصب تا استفاده از آن را در ادامه میتوانید ببینید:نصب کنید: sudo apt install alacarteاجرا کنید: alacarteبرنامه جدید اضافه کنید: نام، مسیر اجرایی، و آیکون را وارد کنید.این ابزار برای رفع مشکل داشبورد اوبونتو عالی است و نیاز به کد ندارد. همچنین، برای توزیع‌های دیگر مثل فدورا، ابزارهای مشابه مثل Menu Editor وجود دارد.مشکلات رایج، پس از نصب دستی در لینوکسنصب دستی برنامه در اوبونتو (با فایل .sh یا deb) اغلب باعث مشکلات می‌شود:عدم سازگاری با محیط دسکتاپ: GNOME یا KDE ممکن است فایل‌ها را شناسایی نکند.خطاهای مجوز: فایل‌های نصب‌شده نیاز به chown یا chmod دارند.کشمکش با نسخه‌های رسمی: اگر برنامه در مخازن apt-get نباشد، فایل .desktop دستی لازم است.راه‌حل جایگزین: از snap یا flatpak استفاده کنید: مثلاً snap install komodo که خودکار منو را تنظیم می‌کند.برای پیشگیری، می‌توانید از apt-get یا نرم‌افزار گرافیکی Ubuntu Software Center استفاده کنید. این روش‌ها رفع مشکل نمایش برنامه در داشبورد اوبونتو را آسان‌تر می‌کنند.سؤالات متداول درباره نمایش برنامه‌ها در داشبورد اوبونتوچرا پس از نصب با apt-get برنامه دیده می‌شود اما با .sh نه؟ چون apt-get فایل .desktop را خودکار ایجاد می‌کند.اگر فایل .desktop را پیدا نکردم چه کنم؟ از vim یا nano برای ساخت و ویرایش فایل مورد نظر استفاده کنید.برای برنامه‌های گرافیکی مثل VS Code چطور؟ معمولاً خودکار نمایش داده می‌شوند، اما اگر نه، فایل .desktop را دستی بسازید.چرا برنامه‌های نصب‌شده در داشبورد اوبونتو نمایش داده نمی‌شوند؟ این موضوع اغلب به فایل .desktop و کش مربوط است، اما با مراحل بالا (بررسی، ایجاد فایل، تنظیم مجوز، و آپدیت کش) می‌توانید آن را حل کنید. این روش برای نصب دستی لینوکس و توزیع‌های دیگر هم کارآمد است. اگر مشکل ادامه داشت، از فروم‌های معتبر مثل Ask Ubuntu کمک بگیرید.با این تغییرات، دسترسی به برنامه‌هایتان ساده‌تر می‌شود و تجربه کاربری اوبونتو بهبود می‌یابد.</description>
                <category>Pouria</category>
                <author>Pouria</author>
                <pubDate>Sat, 27 Sep 2025 18:20:59 +0330</pubDate>
            </item>
                    <item>
                <title>تفاوت کامپایلر و مفسر</title>
                <link>https://virgool.io/@pouria_121/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%DA%A9%D8%A7%D9%85%D9%BE%D8%A7%DB%8C%D9%84%D8%B1-%D9%88-%D9%85%D9%81%D8%B3%D8%B1-h9vogzbc5huj</link>
                <description> 1- کامپایلر :کامپایلر یک برنامه کامپیوتری است که یک برنامه نوشته شده به زبان سطح بالا را می خواند و می تواند آن را به همان برنامه در یک زبان سطح پایین از جمله زبان ماشین ترجمه کند.کامپایلر زبان سطح بالا را با استفاده از مراحل مختلف به زبان سطح پایین تبدیل می کند. یک کاراکتر وارد شده توسط برنامه نویس مراحل متعددی از تدوین را طی می کند که در نهایت زبان مقصد را ارائه می دهد.* ویژگی های کامپایلر :یک کامپایلر یک برنامه را در یک اجرا ترجمه می کند. زمان کمتری مصرف می کند. مصرف CPU بیشتر است. هر دو خطای نحوی و معنایی را می توان همزمان بررسی کرد. به راحتی توسط بسیاری از زبان های سطح بالا مانند C، C++، JAVA و غیره پشتیبانی میشود.2 - مفسر :مفسر برنامه ای است که کد برنامه نویسی را  مستقیماً  اجرا می کند و دستورات زبان برنامه نویسی را یکی یکی ترجمه و اجرا می کند.* ویژگی های مفسر :یک مترجم برنامه را خط به خط ترجمه می کند. مترجم از نظر اندازه کوچکتر است.تفاوت های کامپایلر و مفسر :تفاوت اصلی و واضح مفسر و کامپایلر در این است که کامپایلرها کدهای سطح بالا را قبل از پیاده‌سازی به کدهای ماشین تبدیل می‌کنند و یک فایل اجرایی ( .exe  ) برای آن‌ها می‌سازند. اما مفسر، کدهای سطح بالا را هنگام پیاده‌سازی خط به خط برنامه به کدهای قابل فهم برای ماشین تبدیل می‌کند.* سایر تفاوت ها :- سرعت کامپایلر از مفسر بیشتر است .- در هنگام ترجمه ، کامپایلر کد ماشین را در حافظه دیسک ذخیره میکند اما مفسر اینکار را نمیکند.- در برنامه های کامپایلری اجرای برنامه تنها پس از کامپایل شدن کل برنامه انجام می شود. اما در برنامه های مفسری اجرای برنامه پس از بررسی یا ارزیابی هر خط انجام می شود.-کامپایلر قبل از کامپایل خطاهای برنامه را بررسی میکند و در صورت وجود همه خطا هارا در کنارهم هم نشان میدهد. اما مفسر خط به خط جلو میرود و اگر خطایی بود متوقف میشود و آن را نشان میدهد.</description>
                <category>Pouria</category>
                <author>Pouria</author>
                <pubDate>Sun, 26 Feb 2023 15:50:56 +0330</pubDate>
            </item>
                    <item>
                <title>زبان های سطح بالا و زبان های سطح پایین</title>
                <link>https://virgool.io/@pouria_121/%D8%B2%D8%A8%D8%A7%D9%86-%D9%87%D8%A7%DB%8C-%D8%B3%D8%B7%D8%AD-%D8%A8%D8%A7%D9%84%D8%A7-%D9%88-%D8%B2%D8%A8%D8%A7%D9%86-%D9%87%D8%A7%DB%8C-%D8%B3%D8%B7%D8%AD-%D9%BE%D8%A7%DB%8C%DB%8C%D9%86-gw9lhormt0h9</link>
                <description>زبان های سطح بالا و زبان های سطح پایینهر دو زبان سطح بالا و زبان سطح پایین از انواع زبان های برنامه نویسی هستند.تفاوت اصلی زبان سطح بالا و زبان سطح پایین در این است که برنامه نویسان به راحتی می توانند زبان سطح بالا را در مقایسه با ماشین درک یا تفسیر کنند.از طرفی ماشین یا سخت افزار به راحتی می تواند زبان سطح پایین را در مقایسه با انسان درک کند.نمونه هایی از زبان های سطح بالا عبارتند از C++، C، جاوا، پایتون و غیره.بیایید ویژگی زبان های سطح بالا و سطح پایین را ببینیم:خصوصیات زبان های سطح بالا :کاربر پسند است .زبان سطح بالا کارایی کمتری در حافظه دارد. درک آن اسان است .دیباگ کردن و رفع خطای آن راحت تر است.نگهداری آن ساده تر است.قابل حمل است ( کدی که در سیستم یک برنامه نویس کار میکند در سیستم کاربر دیگر نیز کار میکند).به کامپایلر یا مفسر نیاز دارد تا به زبان ماشین تبدیل شود . به طور گسترده ای برای برنامه نویسی استفاده می شود.خصوصیات زبان های سطح پایین :زبان سطح پایین کارایی بیشتری در حافظه دارد. درک کردن آن دشوار تر است.دیباگ و خطایابی آن پیچیده است.وابسته به سخت افزار سیستم برنامه نویس است و قابل حمل نیست.سرعت بالاتری دارد .نیاز به دانش بالای کامپیوتر.درصد خطای بالا در کد نویسی .به طور کلی زبان های سطح بالا برای برنامه نویس دوستانه تر و پسندیده تر هستند زیرا از عبارات انگلیسی در کد استفاده می کنند. در حالی که زبان های سطح پایین به دلیل استفاده از کدهای زبان باینری برای نوشتن دستورالعمل های رایانه، به ماشین نزدیک تر هستند.کانال تلگرام : TechNerd</description>
                <category>Pouria</category>
                <author>Pouria</author>
                <pubDate>Sat, 25 Feb 2023 20:55:04 +0330</pubDate>
            </item>
                    <item>
                <title>افزونه های مهم VScode</title>
                <link>https://virgool.io/@pouria_121/%D8%A7%D9%81%D8%B2%D9%88%D9%86%D9%87-%D9%87%D8%A7%DB%8C-%D9%85%D9%87%D9%85-vscode-akrsnwx7m7yp</link>
                <description>افزونه های بدردبخور vscodeچند افزونه بدرد بخور در vs code :Auto rename tagاگر طراح سایت هستید و با html , css  سروکار دارید این افزونه برای شماست.به کمک این افزونه با تغییرنام tag باز  یک عنصر html ، تگ بسته‌ی آن عنصر هم به صورت خودکار تغییر میکند.TODO Highlightبرجسته سازی کد هایی که شما مشخص کردید نیاز به تغییر دارند. برای مثال زمانی که بخشی از کُد شما نیاز به بازبینی دارد یا در جایی از برنامه تان باید کدی بنویسید با داشتن این افزونه میتوانید ان بخش از کُدتان را  برجسته یازی یا اصطلاحا Highlight کنید .Tabnineتب ناین یک افزونه دستیار است که به شما در برنامه نویسی کمک قابل توجهی میکند .قابلیت آن تکمیل خودکار کُد است که اکثر زبان های برنامه نویسی را پشتیبانی میکنداز مزیت های آن نسبت به افزونه capilot رایگان بودن آن است.Prettierافزونه prettier کُد های شما را مرتب و خوانا تر میکند و جلوه بهتری به کد شما میدهد.این باعث میشود که دیدن و خواند کد ها راحت تر شود.GitLensپشتیبانی کاملتری از گیت را به شما ارایه میکند.بهترین ویژگی این افزونه ، در خود قسمت کد نویسی است. چراکه میتواند با تفکیک خط به خط کد ها به شما نشان دهد که در یک پروژه تیمی ، یک بخش از کد را کدام یک از همکاران شما نوشته یا تغییر داده است.کانال تلگرام : TechNerd</description>
                <category>Pouria</category>
                <author>Pouria</author>
                <pubDate>Fri, 24 Feb 2023 18:33:56 +0330</pubDate>
            </item>
                    <item>
                <title>کتاب python crash course</title>
                <link>https://virgool.io/@pouria_121/python-v7dktep29uw0</link>
                <description>python crash courseسلام به همه دوست داران دنیای کدنویسی ! ‍‍‍     اینجا به صورت خلاصه میخوام این کتاب را ارزیابی کنم تا بتونیم در انتخاب کتاب اموزش برنامه نویسی پایتون بهتون کمکی کرده باشم.     این کتاب بیشتر از ۵۰۰ صفحه است که بصورت ساده درباره هر مبحث صحبت میکنه و با مثال توضیحشون میده.    کتاب &#x27;پایتون کراش کورس&#x27; به این صورت هست که اموزش رو به دوقسمت تقسیم میکنه قسمت یا پارت اول درمورد پایه و اساس پایتون هستش و قسمت دوم پروژه هایی که میشه با زبان پایتون نوشت .این پروژه ها هم در حوزه های مختلفی قرار داره تا  کسی که پایتون رو یاد گرفته بتونه با اون حوزه ها اشنا بشه.    به عبارتی قسمت دوم این کتاب به ۳ بخش تقسیم میشه :نوشتن بازی های ساده با پایتونکار با داده هانوشتن پروژه های ساده وب  برای مثال در حوزه وب با یک پروژه ساده در فریمورک  جنگو (django) شمارو با این حوزه اشنا میکنه.      در ادامه شمارو با کنترل ورژن ها ویرایش متن ها اشنا میکنه و توضیحاتی به شما میده تا مسیرتون رو انتخاب کنید .    این کتاب برای اموزش پایتون هستش و به صورت کامل اساس برنامه نویسی پایتون را اموزش میده و کد های پایتونی رو بصورت ساده براتون اماده کرده و بهتون توضیح میده همچنین با پروژه های مختلف موتور شمارو روشن میکنه . کتاب های اموزشی یکی از راه های یادگیری برنامه نویسی هستش و اگر شما با خوندن کتاب ها  راحت تر هستید کتاب ذکر شده میتونه انتخاب خوبی باشه . زبان این کتاب انگلیسی هست و توسط ERIC MATTHES نوشته شده و جزو کتاب های برتر اموزش پایتون به حساب میاد.لینک دانلود در کانال تلگرام Tech-nerd :لینک دانلود  : python crash courseکتاب های مشابه یادگیری پایتون :‌ automate the boring stuff with python </description>
                <category>Pouria</category>
                <author>Pouria</author>
                <pubDate>Mon, 25 Jul 2022 13:41:47 +0430</pubDate>
            </item>
                    <item>
                <title>سی شارپ چیست؟</title>
                <link>https://virgool.io/@pouria_121/%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-mqhdyggjff9q</link>
                <description>c# سی شارپ چیست ؟  سی شارپ یک زبان برنامه نویسی ساخته شده توسط شرکت مایکروسافت است که از خانواده زبان C  امده و به زبان های ++C  جاوا شباهت دارد و در سال ۲۰۰۲ میلادی بوجود امد .درحال حاضر اخرین ورژن آن  C# 10.0 است که در سال ۲۰۲۱ تثبیت شد.به صورت تخصصی تر  ، سی شارپ یک زبان برنامه نویسی سطح بالا و شی گرا است که در لایه .net framework  کار میکند.سی شارپ در کجا کاربرد دارد؟این زبان مانند همتاهای خود کاربرد های گوناگونی دارد که به پرکاربرد ترین انها نگاهی می اندازیم :· اپلیکیشن موبایل· نرم‌افزار های تحت ویندوز· برنامه های تحت وب· بازی سازیچرا از سی شارپ استفاده کنیم؟C#  یکی از زبان های محبوب برنامه نویسی است که در سراسر دنیا از ان استفاده میشود و انجمن  نسبتا بزرگی دارد همین طور درحال حاضر در رشته شبکه و نرم افزار در هنرستان های کشورمان تدریس میشود.· یکی از محبوب ترین زبان های برنامه نویسی در دنیا محصوب میشود.· یادگیری ساده ای دارد و به اسانی میتوان از ان استفاده کردد· یک زبان شی گرا است· انجمن بزرگی برای پشتیبانی داردابزار و محیط استفاده از زبان سی شارپ:برای نوشتن برنامه های ذکر شده و بهره گیری از این زبان مانند زبان های دیگر باید از ویرایشگر های مخصوص کد نویسی استفاده کرد . شرکت مایکروسافت که پدید اورنده c#  است دو ابزار قدرتمند ارایه کرده است که میتوان از ویرایشگر VS Code   بهره برد یا از Visual Studio که یک IDE  قدرتمند محسوب میشود استفاده کرد.منابع انگلیسی یادگیری این زبان :وب سایت w3schools.comوب سایت docs.microsoft.comمنابع فارسی به صورت ویدیویی و رایگان:وب سایت  کدیادوب سایت تاپلرن</description>
                <category>Pouria</category>
                <author>Pouria</author>
                <pubDate>Fri, 20 May 2022 14:32:06 +0430</pubDate>
            </item>
            </channel>
</rss>