راهنمای کامل Docker عملی [ویدئو]

The Complete Practical Docker Guide [Video]

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: Docker یک چارچوب نرم افزاری برای ساخت، اجرا و مدیریت کانتینرها در سرورها و ابر است. در این دوره، با نصب Docker بر روی رایانه خود - macOS، Windows، یا Linux شروع می‌کنید. پس از آن، به تعداد زیادی فعالیت تمرینی خواهید رفت و از ویژگی های مختلف Docker استفاده خواهید کرد. شما تصاویر مختلف Docker را می‌کشید و چندین کانتینر را با استفاده از آنها اجرا می‌کنید. در بخش‌های تمرین، چندین فعالیت Docker را انجام خواهید داد، مانند اجرای کانتینرهای Docker در پیش‌زمینه و پس‌زمینه، و سپس اتصال به فرآیندهای خاصی در Docker از ترمینال. پس از آن، یاد خواهید گرفت که درگاه‌های کانتینر داخلی را در معرض بیرون قرار دهید و متغیرهای محیطی را برای کانتینرها اضافه کنید. همچنین می‌توانید نام‌ها و نام‌های میزبان سفارشی برای کانتینرها ایجاد کنید، یک شبکه پل سفارشی ایجاد کنید و چندین کانتینر را در داخل آن اجرا کنید، بین کانتینرها ارتباط برقرار کنید و پوشه‌های کانتینر را با استفاده از نگاشت حجم‌ها ادامه دهید. سپس، نحوه استفاده از تصاویر مختلف Docker (مشاهده و ویرایش آنها) را نیز یاد خواهید گرفت و تمرین خواهید کرد. برای آن، از ترمینال استفاده نخواهید کرد. در عوض، از برنامه رابط کاربری گرافیکی Visual Studio Code استفاده خواهید کرد. در پایان این دوره، دانش عملی اساسی Docker را به دست خواهید آورد و می توانید به راحتی از آن برای توسعه و آزمایش برنامه های خود استفاده کنید. مهمتر از همه، شما ویژگی های اصلی Docker مانند حجم Docker، شبکه Docker و متغیرهای محیطی را درک خواهید کرد. همه فایل‌های منبع در مخزن GitHub در https://github.com/PacktPublishing/docker آپلود می‌شوند. نحوه استفاده از تصاویر Docker و ایجاد کانتینرها را بیاموزید. ظروف Docker را مدیریت کنید: شروع، توقف، هرس، راه اندازی مجدد نگاشت پورت را فعال کنید و پورت های کانتینر را در معرض دید خارج قرار دهید برنامه های Node و Python را با استفاده از کانتینرهای Docker اجرا کنید ایجاد متغیرهای محیطی برای کانتینرهای Docker ایجاد شبکه های پل سفارشی و اجرای چندین کانتینر این دوره برای کسانی است که علاقه مند به یادگیری در مورد Docker و اجزای آن از طریق پروژه های عملی هستند. هر توسعه دهنده نرم افزاری که بخواهد برنامه های کاربردی خود را در کارهای روزمره خود توسعه دهد، ارسال و اجرا کند، می تواند از این دوره بسیار بهره مند شود. هیچ الزام خاصی وجود ندارد، فقط می خواهید دستان خود را کثیف کنید و با انجام آن Docker را یاد بگیرید. هر سیستم عاملی (macOS، ویندوز یا لینوکس) برای شروع با این دوره کار خواهد کرد. یک دوره کامل، جامع و عملی در مورد Docker ارائه شده توسط یک متخصص صنعت * نقشه برداری حجم ها و فهرست های کاری خاص در کانتینرهای Docker * ارتباط بین کانتینرها با نام کانتینر در شبکه پل سفارشی

سرفصل ها و درس ها

مقدمه دوره Introduction to the Course

  • بررسی اجمالی دوره Course Overview

نصب داکر Docker Installation

  • نصب Docker Desktop در مک Installing Docker Desktop on Mac

  • نصب Docker Desktop در ویندوز Installing Docker Desktop on Windows

  • نصب Docker Engine در لینوکس Installing Docker Engine on Linux

کانتینر پایه داکر (اوبونتو، Busybox، Alpine) Basic Docker Container (Ubuntu, Busybox, Alpine)

  • در حال اجرا کانتینر Hello-World Running Hello-World Container

  • در حال اجرا کانتینر اوبونتو Running Ubuntu Container

  • در حال اجرا کانتینر Busybox Running Busybox Container

  • تصاویر آلپ در مقابل Busybox Alpine Versus Busybox Images

نقشه برداری پورت و حجم در کانتینرهای Docker Port and Volume Mapping in the Docker Containers

  • اجرای Nginx با پورت Exposur Running Nginx with Exposed Port

  • ظرف Nginx با محتوای سفارشی Nginx Container with Custom Content

  • افزودن فاویکون به پروژه Adding Favicon to the Project

  • استفاده از متغیر مسیر در نگاشت حجم Using Path Variable in Volume Mapping

مدیریت کانتینرهای Docker (Ubuntu، Nginx) Docker Containers Management (Ubuntu, Nginx)

  • در حال اجرا ظروف در پس زمینه Running Containers in Background

  • کانتینر در حال اجرا با شبه TTY Running Container with Pseudo TTY

  • ایجاد چندین کانتینر اوبونتو از یک تصویر Creating Multiple Ubuntu Containers from the Same Image

  • اجرای چندین سرور Nginx Running Multiple Nginx Servers

  • تمیز کردن ظروف متوقف شده Cleaning Up Stopped Containers

اجرای برنامه های پایتون در داکر Running Python Applications in Docker

  • ایجاد کانتینرهای پایتون Creating Python Containers

  • برنامه ساده پایتون Simple Python Program

  • چالش: برنامه تقویم ساده پایتون Challenge: Simple Python Calendar App

  • راه حل چالش: برنامه تقویم ساده پایتون Challenge Solution: Simple Python Calendar App

اجرای برنامه های Node.js در Docker Running Node.js Applications in Docker

  • در حال اجرا کانتینرهای Node.js Running Node.js Containers

  • اپلیکیشن Hello World با Node Hello World Application with Node

  • وب سرور اکسپرس با استفاده از Node Express Web Server Using Node

  • کنترل سیگنال های SIGINT و SIGTERM را اضافه کنید Add Handling of the SIGINT and SIGTERM Signals

  • چالش: ایجاد اپلیکیشن Node Handling Files Challenge: Create Files Handling Node App

  • راه حل چالش: ایجاد اپلیکیشن Node Handling Files Challenge Solution: Create Files Handling Node App

  • نتیجه - کانتینرها می توانند فایل های خارجی ایجاد و اصلاح کنند Conclusion - Containers can Create and Modify External Files

در حال اجرا ظروف MongoDB Running MongoDB Containers

  • کشیدن تصویر مونگو و ایجاد اولین کانتینر مونگو Pulling Mongo Image and Creating the First Mongo Container

  • شروع فرآیندهای اضافی در کانتینر در حال اجرا Starting Additional Processes in the Running Container

  • نقطه ورود چیست و در کجا قرار دارد What is Entry Point and Where is it Located

  • ایجاد پایگاه داده جدید Mongo با استفاده از Mongo Shell Creating New Mongo Database Using Mongo Shell

  • در حال اجرا کانتینر Mongo با پایگاه داده پایدار Running Mongo Container with Persistent Database

ارتباط بین کانتینرها و متغیرهای محیطی (MySQL، phpMyAdmin) Communication Between Containers and Environment Variables (MySQL, phpMyAdmin)

  • راه اندازی کانتینر وردپرس Starting WordPress Container

  • برنامه ریزی برای سخنرانی های بعدی - شبکه ها و متغیرهای محیطی Plan for the Next Lectures - Networks and Environment Variables

  • شبکه پل پیش فرض و ارتباط بین کانتینرها Default Bridge Network and Communication Between Containers

  • بررسی متغیرهای محیطی Exploring Environment Variables

  • راه اندازی کانتینر MySQL با متغیر env Starting MySQL Container with env Variable

  • راه اندازی یک کانتینر phpMyAdmin دیگر Launching Another phpMyAdmin Container

  • اتصال phpMyAdmin به کانتینر MySQL Connecting phpMyAdmin to MySQL Container

  • یادداشت برداری از دستورات Making Notes of the Commands

شبکه های پل پیش فرض و سفارشی در Docker (وردپرس، MySQL) Default and Custom Bridge Networks in Docker (WordPress, MySQL)

  • ارتباط با استفاده از نام هاست در شبکه پل پیش فرض Communication Using Hostnames in the Default Bridge Network

  • بازرسی شبکه پل پیش فرض Inspecting Default Bridge Network

  • ایجاد شبکه پل سفارشی جدید Creating New Custom Bridge Network

  • ایجاد کانتینرهای Busybox در شبکه سفارشی Creating Busybox Containers in the Custom Network

  • استفاده از نام‌های ثابت سفارشی برای اتصال در شبکه سفارشی Using Custom Persistent Names for Connectivity in the Custom Network

  • MySQL و phpMyAdmin در شبکه سفارشی MySQL and phpMyAdmin in the Custom Network

  • چالش: وردپرس با MySQL و phpMyAdmin Challenge: WordPress with MySQL and phpMyAdmin

  • راه حل چالش: وردپرس با MySQL و phpMyAdmin - قسمت 1 Challenge Solution: WordPress with MySQL and phpMyAdmin - Part 1

  • راه حل چالش: وردپرس با MySQL و phpMyAdmin - قسمت 2 Challenge Solution: WordPress with MySQL and phpMyAdmin - Part 2

  • خلاصه ای برای راه اندازی وردپرس و MySQL Summary for the WordPress and MySQL Setup

ظروف اضافی - Elasticsearch، Redis، Httpd Additional Containers – Elasticsearch, Redis, Httpd

  • دریافت تصویر Docker با Curl Utility Getting Docker Image with Curl Utility

  • چالش: Elasticsearch و Curl Containers را در شبکه سفارشی اجرا کنید Challenge: Run Elasticsearch and Curl Containers in the Custom Network

  • راه حل چالش: کانتینرهای Elasticsearch و Curl را در شبکه سفارشی اجرا کنید Challenge Solution: Run Elasticsearch and Curl Containers in the Custom Network

  • درج اسناد در Elasticsearch Index Inserting Documents into Elasticsearch Index

  • راه اندازی Redis Container Starting Redis Container

  • چالش: Redis و Redis-Commander Challenge: Redis and Redis-Commander

  • راه حل چالش: Redis و Redis-Commander Challenge Solution: Redis and Redis-Commander

  • راه اندازی کانتینر Httpd Launching Httpd Container

Docker on Practice خلاصه و مقدمه ای بر اصول Docker Docker on Practice Summary and Introduction to the Docker Fundamentals

  • خلاصه بخش عملی مبانی داکر Docker Fundamentals Practical Section Summary

  • مقدمه ای بر Docker Fundamentals Introduction to the Docker Fundamentals

Docker و Docker Components چیست؟ What is Docker and Docker Components

  • ماشین‌های مجازی در مقابل کانتینرهای Docker Virtual Machines Versus Docker Containers

  • معماری ماشین های مجازی Virtual Machines Architecture

  • نحوه استفاده از ماشین های مجازی How I Use Virtual Machines

  • کامپیوتر من فقط حافظه اش تمام شد My Computer Just Ran Out of Memory

  • Docker Containers Architecture Docker Containers Architecture

  • نحوه اجرای Docker بر روی سیستم عامل های مختلف How Docker is Running on Different Operating Systems

  • فرآیندها و منابع کانتینری Container Processes and Resources

  • اجزای Docker: نمای کلی Docker Components: Overview

  • مشتری داکر Docker Client

  • سرور داکر Docker Server

  • میزبان داکر Docker Host

  • تصویر داکر Docker Image

  • کانتینر داکر Docker Container

  • مخزن داکر Docker Repository

  • رجیستری داکر Docker Registry

  • اجزای Docker: خلاصه Docker Components: Summary

مقدمه ای بر تصاویر و کانتینرها Introduction to the Images and Containers

  • دستورات Docker در مقابل دستورات مدیریت Docker Commands Versus Management Commands

  • دستورات جایگزین Alternative Commands

  • دستورات اولیه کانتینر و تصاویر Basic Container and Images Commands

  • پاک کردن My Docker Setup Cleaning Up My Docker Setup

  • کشیدن تصاویر از داکر هاب Pulling Images from Docker Hub

  • Docker Image چیست؟ What is Docker Image

  • ایجاد کانتینر جدید از تصویر Creating New Container from the Image

  • CMD در Docker Image چیست؟ What is CMD in the Docker Image

  • Docker Container چیست؟ What is Docker Container

  • خلاصه ای برای مقدمه ای بر تصاویر و کانتینرها Summary for the Introduction to Images and Containers

شروع کار با لینوکس Getting Started with Linux

  • چرا هنگام مطالعه Docker باید لینوکس را بدانید؟ Why You Need to Know Linux while Studying Docker

  • مقدمه ای بر بخش لینوکس Introduction to the Linux Section

  • گزینه های ممکن برای استفاده از لینوکس در macOS و Windows Possible Options to Use Linux on macOS and Windows

  • ایجاد کانتینر لینوکس با استفاده از Docker Creating Linux Container Using Docker

  • شل، ترمینال و فرمان چیست؟ What is Shell, Terminal, and Command

  • دریافت اطلاعات در مورد کامپیوتر لینوکس Getting Information about Linux Computer

  • شل چگونه متوجه می شود که شما یک فرمان را وارد کرده اید How Shell Understands that You Have Entered a Command

  • دریافت راهنمایی درباره دستورات با استفاده از Man Utility Getting Help about Commands Using Man Utility

  • گزینه های فرمان Command Options

  • آرگومان های فرمان Command Arguments

  • استدلال برای گزینه ها Arguments for Options

فرآیندها در لینوکس Processes in Linux

  • فرآیندها چیست What Are Processes

  • لیست فرآیندهای در حال اجرا List Running Processes

  • شروع فرآیندهای اضافی و فرآیندهای کشتار Starting Additional Processes and Killing Processes

  • نصب بسته htop با استفاده از apt-get Installing htop Package Using apt-get

  • با استفاده از htop Utility Using the htop Utility

  • خلاصه برای نظارت بر فرآیندها Summary for Processes Monitoring

جریان داده و لوله کشی در لینوکس Data Streams and Piping in Linux

  • جریان های داده فرآیند Data Streams of the Process

  • تغییر مسیر STDOUT و STDERR به فایل Redirecting STDOUT and STDERR to the File

  • جایی که جریان های داده پردازش داده ها را به صورت پیش فرض ارسال می کنند Where Process Data Streams Send Data by Default

  • نحوه ارسال داده به STDIN و تغییر مسیر STDOUT و STDERR How to Send Data to STDIN and Redirect STDOUT and STDERR

  • لوله کشی Piping

  • خلاصه برای جریان داده و لوله کشی Summary for Data Streams and Piping

مدیریت فایل ها و دایرکتوری ها در لینوکس Files and Directories Management in Linux

  • مقدمه ای بر مدیریت فایل ها و دایرکتوری ها Introduction to Files and Directories Management

  • ساختار سیستم فایل لینوکس و ناوبری Linux File System Structure and Navigation

  • فهرست کردن فایل ها و دایرکتوری ها Listing Files and Directories

  • کاوش زیرشاخه های دایرکتوری ریشه Exploring Subdirectories of the Root Directory

  • ایجاد و حذف دایرکتوری ها و فایل ها Creating and Removing Directories and Files

  • ایجاد فایل های جدید Creating New Files

  • ویرایش فایل ها با استفاده از ویرایشگرهای Vim و Nano Editing Files Using Vim and Nano Editors

  • کپی و انتقال فایل ها و دایرکتوری ها Copy and Move Files and Directories

  • خواندن فایل ها Reading Files

  • فیلتر کردن متن با استفاده از دستور grep Filtering Text Using the grep Command

  • پیوندهای نرم در مقابل سخت Soft Versus Hard Links

  • ایجاد لینک های سخت و نرم Creating Hard and Soft Links

عملیات جستجو در لینوکس Search Operations in Linux

  • مقدمه ای بر دستور Find Introduction to the Find Command

  • جستجوی فایل ها با استفاده از دستور Find Searching Files Using the Find Command

  • چند نمونه دیگر از دستور Find Some Other Examples of the Find Command

  • اجرای دستورات اضافی در داخل عملیات Find Executing Additional Commands Inside of the Find Operation

  • فرمان Xargs Xargs Command

  • نتایج لوله کشی فرمان Find به دستور دیگر با استفاده از Xargs Piping Results of the Find Command to the Other Command Using Xargs

فشرده سازی و مرتب سازی در لینوکس Compressing and Sorting in Linux

  • مروری بر ابزارهای tar و gzip Overview of the tar and gzip Utilities

  • ایجاد و استخراج آرشیو فشرده با استفاده از tar و gzip Creating and Extracting Compressed Archive Using tar and gzip

  • مرتب سازی فایل ها با استفاده از دستور Ls Sorting Files Using Ls Command

  • مرتب سازی محتویات فایل ها با استفاده از ابزار مرتب سازی Sorting Contents of the Files Using Sort Utility

مدیریت کاربر و مجوزها در لینوکس User Management and Permissions in Linux

  • مقدمه ای بر مدیریت کاربر در لینوکس Introduction to the User Management in Linux

  • ایجاد کاربران با استفاده از دستور useradd Creating Users Using useradd Command

  • ایجاد کاربر جدید با استفاده از دستور adduser Creating New User Using adduser Command

  • تغییر مالکیت فایل Changing Ownership of the File

  • تغییر مجوزها Changing Permissions

فایل های اجرایی و اسکریپت در لینوکس Executable Files and Scripting in Linux

  • ایجاد اسکریپت اجرایی Creating Executable Script

  • اضافه کردن مسیر به اسکریپت ها در متغیر PATH Adding Path to the Scripts into the PATH Variable

  • خلاصه برای کاربران، مجوزها و اسکریپت ها Summary for Users, Permissions, and Scripts

شبکه در لینوکس Networking in Linux

  • مقدمه ای بر شبکه های لینوکس Introduction to the Linux Networking

  • کاوش در تنظیمات آدرس IP Exploring IP address settings

  • بررسی اتصال با سرورهای راه دور Verifying Connectivity with Remote Servers

  • فعال کردن SSH در سرور لینوکس Enabling SSH on the Linux Server

  • اتصال به سرور لینوکس از راه دور از طریق SSH Connecting to the Linux Server Remotely Via SSH

  • استفاده از ابزارهای curl و wget Using curl and wget Utilities

متغیرهای محیطی در لینوکس Environment Variables in Linux

  • متغیرهای محیطی Environment Variables

  • راه حل - اسکریپت با دسترسی به متغیرهای محیطی SOLUTION - Script with Environment Variables Access

  • لینوکس: خلاصه Linux: Summary

راه اندازی برنامه پروژه دوره بدون داکر Launching Course Project Application without Docker

  • مقدمه ای بر Dockerfiles و Docker Compose Introduction to the Dockerfiles and Docker Compose

  • شبیه سازی Remote Docker Repository با فایل های پروژه Cloning Remote Docker Repository with Project Files

  • بررسی اجمالی پروژه Project Overview

  • دریافت کلید Unsplash API Getting Unsplash API Key

  • نصب Node.js و NPM Installing Node.js and NPM

  • نصب Python، Pip و Pipenv در macOS Installing Python, Pip, and Pipenv on macOS

  • نصب Python، Pip و Pipenv در ویندوز Installing Python, Pip, and Pipenv on Windows

  • شروع برنامه Frontend با استفاده از NPM Starting Frontend App Using NPM

  • شروع برنامه API با استفاده از پایتون Starting API Application Using Python

  • بررسی نحوه عملکرد پروژه گالری تصاویر Verifying How Images Gallery Project Works

  • خلاصه برای شروع برنامه بدون داکر Summary for Start of the App without Docker

ساخت تصاویر سفارشی با استفاده از Dockerfiles Building Custom Images Using Dockerfiles

  • راه اندازی Git و GitHub برای پروژه Initializing Git and GitHub for the Project

  • نصب Docker و Hello-World با استفاده از Docker Installing Docker and Hello-World Using Docker

  • ایجاد Dockerfile برای سرویس Python API Creating Dockerfile for the Python API Service

  • ساختن تصویر داکر برای سرویس API Building Docker Image for the API Service

  • اجرای کانتینرهای API بر اساس تصویر Docker ساخته شده Running API Containers Based on the Built Docker Image

  • تجزیه و تحلیل API Docker Container از داخل Analyzing API Docker Container from Inside

  • تصویر داکر برای سرویس API: خلاصه Docker Image for the API Service: Summary

  • ایجاد Dockerfile برای برنامه Frontend Creating Dockerfile for the Frontend Application

  • ساختن تصویر Docker برای برنامه Frontend Building Docker Image for the Frontend App

  • در حال اجرا Docker Container برای سرویس Frontend Running Docker Container for the Frontend Service

  • کاوش کانتینر Frontend از داخل Exploring Frontend Container from Inside

  • چرا باید پوشه node_modules و Python venv را به صورت محلی داشته باشید Why You Need to Have the node_modules Folder and Python venv Folders Locally

  • اجرای هر دو کانتینر Frontend و API در پس زمینه Running Both Frontend and API Containers in Background

راه اندازی چندین سرویس با استفاده از Docker Compose Launching Multiple Services Using Docker Compose

  • ایجاد یک فایل پایه docker-compose Creating a Basic docker-compose File

  • آوردن هر دو کانتینر با استفاده از docker-compose Bringing Up Both Containers Using docker-compose

  • نحوه کار با کانتینرها با استفاده از docker-compose How to Operate Containers Using docker-compose

  • ایجاد نقشه برداری حجم برای سرویس Frontend Creating Volumes Mapping for the Frontend Service

  • رفع همگام سازی حجم ها در ظرف React Fix Volumes Sync in the React Container

  • فعال کردن نگاشت حجم برای سرویس API Enabling Volumes Mapping for the API Service

  • فعال کردن راه‌اندازی مجدد خودکار و خلاصه نوشتن docker-compose برای API و Frontend Enabling auto-restart and docker-compose Summary for API and Frontend

  • چرا به خدمات Mongo و mongo-express نیاز داریم؟ Why Do We Need Mongo and mongo-express Services

  • Mongo and mongo-express Official Docker Images Overview Mongo and mongo-express Official Docker Images Overview

  • افزودن خدمات Mongo و mongo-express به فایل docker-compose Adding Mongo and mongo-express Services to the docker-compose File

  • شروع همه خدمات از جمله Mongo و mongo-express با استفاده از docker-compose Starting All Services Including Mongo and mongo-express Using docker-compose

کاوش در تنظیم Docker Compose Exploring Docker Compose Setup

  • نمای کلی دسکتاپ Docker Docker Desktop Overview

  • استفاده از Mongo Shell و mongo-express GUI Using Mongo Shell and mongo-express GUI

  • داده های MongoDB اکنون پس از راه اندازی مجدد docker-compose حذف می شوند MongoDB Data is Now Deleted after docker-compose Restart

  • پیکربندی حجم داده پایدار برای کانتینر Mongo Configuring Persistent Data Volume for the Mongo Container

  • تأیید ذخیره سازی دائمی MongoDB با استفاده از Volume Verifying Persistent MongoDB Storage Using Volume

  • خلاصه راه اندازی Mongo و mongo-express Mongo and mongo-express Setup Summary

  • نحوه ارتباط کانتینرهای docker-compose با یکدیگر How docker-compose Containers Communicate with Each Other

  • کاوش در شبکه بین کانتینرهای Docker Exploring Networking Between Docker Containers

خلاصه دوره Course Summary

  • خلاصه راهنمای کامل Docker Docker Complete Guide Summary

نمایش نظرات

راهنمای کامل Docker عملی [ویدئو]
جزییات دوره
18 h 29 m
193
Packtpub Packtpub
(آخرین آپدیت)
1
5 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Bogdan Stashchuk Bogdan Stashchuk

مهندس نرم افزار ، CCIE # 22608 ، MBA ، PhD - stashchuk.com آیا واقعاً می خواهید به جای نشستن و تماشای سخنرانی های طولانی یا تلاش برای رمزگذاری بدون هیچ سرنخی از آنچه در پشت صحنه اتفاق می افتد ، درک کنید و تمرین کنید؟ در هر یک از دوره های من به من بپیوندید و دانش واقعی را بر اساس درک عمیق هر موضوع کسب خواهید کرد. اما من کیستم؟ نام من بوگدان استاشچوک است و بیش از 20 سال به دانشجویان آموزش می دهم. من به عنوان مهندس نرم افزار کار می کنم و دوست دارم خودم یاد بدهم و یاد بگیرم. من یک تجربه عظیم در توضیح چیزهای دشوار در قالب قابل فهم دارم که با فعالیتهای عملی پشتیبان تهیه شده است. این ترکیب کاملی است که شما را قادر می سازد تا به طور واقعی دانش به دست آمده را برای مدت طولانی یاد بگیرید و آن را حفظ کنید. بیایید در شبکه های اجتماعی متصل شویم! تمام پیوندهایی که می توانید در زیر عکس پروفایل پیدا کنید.