آموزش بوت کمپ کامل اکسیر و فونیکس

The Complete Elixir and Phoenix Bootcamp

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: تکنیک های برنامه نویسی تابعی را با Elixir و Phoenix در حالی که یاد می گیرید ساخت برنامه های وب جذاب را یاد بگیرید! با ذهنیت برنامه نویسی کاربردی فکر کنید از Phoenix برای ساختن برنامه های وب جذاب و سریع استفاده کنید درک نحو رایج و الگوهای طراحی Elixir در جریان OAuth با Phoenix برای احراز هویت تسلط پیدا کنید اسرار پنهان Phoenix را بیاموزید پیش نیازها: درک اساسی از زبان برنامه نویسی دیگر - Javascript, Ruby, سی شارپ، PHP یا موارد مشابه

Elixir و Phoenix دو تا از داغ‌ترین فناوری‌های سال 2017 هستند.

برنامه نویسی کاربردی؟ آن را یاد خواهید گرفت. فونیکس با OAuth؟ اینجاست. Postgres برای ذخیره سازی داده ها؟ البته! سوکت های وب نیز!

این دوره شما را به‌سرعت با Elixir و Phoenix راه‌اندازی می‌کند و دانش اصلی مورد نیاز برای درک عمیق و ساختن برنامه‌های وب با سرعت شگفت‌انگیز را به شما می‌آموزد.

ما با تسلط بر اصول برنامه‌نویسی کاربردی با Elixir، از جمله توابع، ماژول‌ها و عملگر فوق‌العاده "pipe" شروع می‌کنیم. شما خواهید آموخت که چگونه FP با برنامه نویسی شی گرا کلاسیک با انواع مثال های عملی متفاوت متفاوت است. هنگامی که درک کاملی از Elixir به دست آوردید، در مورد نحوه ساخت برنامه های سریع شگفت انگیز با فریم ورک فونیکس با یک برنامه عمیق بحث خواهیم کرد. کد منبع برای هر سخنرانی ارائه شده است، بنابراین شما همیشه از سرعت دوره به‌روز خواهید ماند.

اگر به تازگی با Elixir آشنا شده اید، یا اگر برای یادگیری آن کار کرده اید، اما گاهی اوقات احساس می کنید هنوز کاملاً آن را دریافت نکرده اید، این دوره آموزشی اکسیر برای شماست! برای یادگیری اکسیر و فونیکس باید آنها را درک کنید.

  • با نحوه استفاده از کتابخانه داخلی Elixir برای پاکسازی کد خود آشنا شوید
  • بر تفاوت های بین برنامه نویسی تابعی و شی گرا مسلط شوید
  • همه قسمت های مختلف نحو را در برنامه های رایج Elixir درک کنید
  • پروژه های جالب و چالش برانگیزی بسازید که کاربردهای عملی دارند
  • یک برنامه وب با استفاده از Phoenix توسعه دهید که می تواند به روش های مختلف گسترش یابد
  • به پشت صحنه فونیکس بروید و نحوه عملکرد داخلی را یاد بگیرید
  • با احراز هویت کاربران با سرویس Github Public OAuth بر جریان OAuth مسلط شوید
  • با ادغام Postgres در برنامه خود کار با پایگاه داده را تمرین کنید

من دوره‌ای را ساخته‌ام که می‌خواستم زمانی که اکسیر و فونیکس را یاد می‌گرفتم بگذرانم. دوره ای که مفاهیم و نحوه اجرای آنها را به بهترین نحو توضیح می دهد تا شما آنها را یاد بگیرید و عمیقاً درک کنید.


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

گرم کردن اکسیر An Elixir Warmup

  • نحوه دریافت کمک How to Get Help

  • منابع دوره Course Resources

  • به انجمن ما بپیوندید! Join Our Community!

  • نصب اکسیر Installing Elixir

  • طرح کلی پروژه Project Outline

  • تولید یک پروژه Generating a Project

  • ماژول ها و روش های اکسیر Elixir Modules and Methods

  • لیست ها و رشته ها Lists and Strings

  • برنامه نویسی شی گرا در مقابل برنامه نویسی کاربردی Object Oriented vs Functional Programming

  • استدلال های روش Method Arguments

  • ماژول Enum The Enum Module

  • تغییر ناپذیری در اکسیر Immutability in Elixir

  • جستجوی یک لیست Searching a List

  • درک بیش از فهرست Comprehensions Over Lists

  • همه چیز برای اولین بار کار نمی کند Not Everything Works the First Time

  • حل آرایه های تودرتو Solving Nested Arrays

  • اهمیت شاخص با تاپل ها Importance of Index with Tuples

گرم کردن اکسیر An Elixir Warmup

  • نحوه دریافت کمک How to Get Help

  • منابع دوره Course Resources

  • به انجمن ما بپیوندید! Join Our Community!

  • نصب اکسیر Installing Elixir

  • طرح کلی پروژه Project Outline

  • تولید یک پروژه Generating a Project

  • ماژول ها و روش های اکسیر Elixir Modules and Methods

  • لیست ها و رشته ها Lists and Strings

  • برنامه نویسی شی گرا در مقابل برنامه نویسی کاربردی Object Oriented vs Functional Programming

  • استدلال های روش Method Arguments

  • ماژول Enum The Enum Module

  • تغییر ناپذیری در اکسیر Immutability in Elixir

  • جستجوی یک لیست Searching a List

  • درک بیش از فهرست Comprehensions Over Lists

  • همه چیز برای اولین بار کار نمی کند Not Everything Works the First Time

  • حل آرایه های تودرتو Solving Nested Arrays

  • اهمیت شاخص با تاپل ها Importance of Index with Tuples

تطبیق الگوی شگفت انگیز اکسیر Elixir's Amazing Pattern Matching

  • تطبیق الگو Pattern Matching

  • رابطه اکسیر با ارلنگ Elixir's Relationship with Erlang

  • ذخیره یک عرشه Saving a Deck

  • تطبیق الگو ادامه دارد Pattern Matching Continued

  • تطبیق الگو در اظهارات موردی Pattern Matching in Case Statements

  • اپراتور لوله The Pipe Operator

  • اپراتور لوله ادامه داد The Pipe Operator Continued

  • مستندات ماژول Module Documentation

تطبیق الگوی شگفت انگیز اکسیر Elixir's Amazing Pattern Matching

  • تطبیق الگو Pattern Matching

  • رابطه اکسیر با ارلنگ Elixir's Relationship with Erlang

  • ذخیره یک عرشه Saving a Deck

  • تطبیق الگو ادامه دارد Pattern Matching Continued

  • تطبیق الگو در اظهارات موردی Pattern Matching in Case Statements

  • اپراتور لوله The Pipe Operator

  • اپراتور لوله ادامه داد The Pipe Operator Continued

  • مستندات ماژول Module Documentation

تست و مستندسازی Testing and Documentation

  • نوشتن و تولید اسناد Writing and Generating Documentation

  • ایجاد Function Docs Creating Function Docs

  • مقدمه ای بر تست Introduction to Testing

  • آزمایشات شگفت انگیز سازنده Amazingly Productive Doctests

  • نوشتن آزمون های موثر Writing Effective Doctests

  • تست های موردی Case Tests

تست و مستندسازی Testing and Documentation

  • نوشتن و تولید اسناد Writing and Generating Documentation

  • ایجاد Function Docs Creating Function Docs

  • مقدمه ای بر تست Introduction to Testing

  • آزمایشات شگفت انگیز سازنده Amazingly Productive Doctests

  • نوشتن آزمون های موثر Writing Effective Doctests

  • تست های موردی Case Tests

چند موضوع جانبی A Few Side Topics

  • مقدمه ای بر نقشه ها Introduction to Maps

  • به روز رسانی مقادیر در نقشه Updating Values in a Map

  • لیست کلمات کلیدی Keyword Lists

چند موضوع جانبی A Few Side Topics

  • مقدمه ای بر نقشه ها Introduction to Maps

  • به روز رسانی مقادیر در نقشه Updating Values in a Map

  • لیست کلمات کلیدی Keyword Lists

دستکاری تصویر با اکسیر Image Manipulation with Elixir

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

  • فرآیند تولید Identicon Identicon Generation Process

  • فرآیند تولید Identicon ادامه دارد Identicon Generation Process Continued

  • خط لوله اصلی The Main Pipeline

  • درهم کردن یک رشته Hashing a String

  • هدف از لیست هگز The Purpose of the Hex List

دستکاری تصویر با اکسیر Image Manipulation with Elixir

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

  • فرآیند تولید Identicon Identicon Generation Process

  • فرآیند تولید Identicon ادامه دارد Identicon Generation Process Continued

  • خط لوله اصلی The Main Pipeline

  • درهم کردن یک رشته Hashing a String

  • هدف از لیست هگز The Purpose of the Hex List

Structs - ابزار مدلسازی داده اکسیر Structs - Elixir's Data Modeling Tool

  • مدل سازی داده ها با ساختارها Modeling Data with Structs

  • ساختارهای تطبیق الگو Pattern Matching Structs

  • به روز رسانی ساختارها Updating Structs

  • ساخت شبکه Building the Grid

  • آینه سازی یک ردیف Mirroring a Row

  • نقشه برداری با توابع سفارشی Mapping with Custom Functions

  • ساختار شبکه Grid Structure

  • دادن یک شکل Identicon Giving an Identicon Shape

  • برنامه ریزی ایجاد تصویر Planning Image Creation

  • ایجاد نقشه پیکسل Creating the Pixel Map

  • رسم مستطیل Drawing Rectangles

Structs - ابزار مدلسازی داده اکسیر Structs - Elixir's Data Modeling Tool

  • مدل سازی داده ها با ساختارها Modeling Data with Structs

  • ساختارهای تطبیق الگو Pattern Matching Structs

  • به روز رسانی ساختارها Updating Structs

  • ساخت شبکه Building the Grid

  • آینه سازی یک ردیف Mirroring a Row

  • نقشه برداری با توابع سفارشی Mapping with Custom Functions

  • ساختار شبکه Grid Structure

  • دادن یک شکل Identicon Giving an Identicon Shape

  • برنامه ریزی ایجاد تصویر Planning Image Creation

  • ایجاد نقشه پیکسل Creating the Pixel Map

  • رسم مستطیل Drawing Rectangles

به سمت فونیکس On to Phoenix

  • یادداشت سریع در مورد فونیکس Quick Note About Phoenix

  • نصب و راه اندازی فونیکس Phoenix Installation

  • راه اندازی Postgres در OSX Postgres Setup on OSX

  • فونیکس چیست؟ What is Phoenix?

  • نمای کلی برنامه App Overview

  • به فینیکس می رویم Into Phoenix We Go

  • قالب سمت سرور Server Side Templating

  • الگوها در مقابل طرح‌بندی‌ها Templates vs Layouts

به سمت فونیکس On to Phoenix

  • یادداشت سریع در مورد فونیکس Quick Note About Phoenix

  • نصب و راه اندازی فونیکس Phoenix Installation

  • راه اندازی Postgres در OSX Postgres Setup on OSX

  • فونیکس چیست؟ What is Phoenix?

  • نمای کلی برنامه App Overview

  • به فینیکس می رویم Into Phoenix We Go

  • قالب سمت سرور Server Side Templating

  • الگوها در مقابل طرح‌بندی‌ها Templates vs Layouts

MVC در فونیکس MVC in Phoenix

  • مدل MVC فونیکس Phoenix's MVC Model

  • بررسی روتر و کنترلر Exploring the Router and Controller

  • نماها در مقابل الگوها Views vs Templates

  • لایه مدل در فونیکس The Model Layer in Phoenix

  • فایل های مهاجرت Migration Files

  • طرح بازی برای ایجاد موضوعات A Game Plan for Creating Topics

  • مسیریابی به کنترل کننده موضوع Routing to the Topic Controller

  • راه اندازی کنترل کننده موضوع Setting Up the Topic Controller

  • استفاده مجدد از کد با واردات، نام مستعار و استفاده Code Reuse with Import, Alias, and Use

  • مدل اشتراک گذاری کد فینیکس Phoenix's Code Sharing Model

  • فینیکس کان استراکت Phoenix's Conn Struct

  • رویکرد ققنوس به فرم ها A Phoenix Approach to Forms

MVC در فونیکس MVC in Phoenix

  • مدل MVC فونیکس Phoenix's MVC Model

  • بررسی روتر و کنترلر Exploring the Router and Controller

  • نماها در مقابل الگوها Views vs Templates

  • لایه مدل در فونیکس The Model Layer in Phoenix

  • فایل های مهاجرت Migration Files

  • طرح بازی برای ایجاد موضوعات A Game Plan for Creating Topics

  • مسیریابی به کنترل کننده موضوع Routing to the Topic Controller

  • راه اندازی کنترل کننده موضوع Setting Up the Topic Controller

  • استفاده مجدد از کد با واردات، نام مستعار و استفاده Code Reuse with Import, Alias, and Use

  • مدل اشتراک گذاری کد فینیکس Phoenix's Code Sharing Model

  • فینیکس کان استراکت Phoenix's Conn Struct

  • رویکرد ققنوس به فرم ها A Phoenix Approach to Forms

مدل ها در فونیکس Models in Phoenix

  • مدل موضوع The Topic Model

  • مجموعه تغییرات و اعتبارسنجی مدل Model Changesets and Validations

  • اطلاعات بیشتر در مورد Changesets More on Changesets

  • ایجاد مجموعه تغییرات برای فرم Generating Changesets for the Form

  • فرم موضوع جدید New Topic Form

  • نحو قالب Phoenix Phoenix Template Syntax

  • رسیدگی به فرم های ارسالی Handling Form Submissions

  • بررسی سریع و تنفس A Quick Review and Breather

مدل ها در فونیکس Models in Phoenix

  • مدل موضوع The Topic Model

  • مجموعه تغییرات و اعتبارسنجی مدل Model Changesets and Validations

  • اطلاعات بیشتر در مورد Changesets More on Changesets

  • ایجاد مجموعه تغییرات برای فرم Generating Changesets for the Form

  • فرم موضوع جدید New Topic Form

  • نحو قالب Phoenix Phoenix Template Syntax

  • رسیدگی به فرم های ارسالی Handling Form Submissions

  • بررسی سریع و تنفس A Quick Review and Breather

کار با Postgres Working with Postgres

  • مقدمه ای بر ماژول Repo Introduction to the Repo Module

  • رسیدگی به فرم های ارسالی ناموفق Handling Failed Form Submissions

  • یک ظاهر طراحی با CSS در Phoenix Styling with CSS in Phoenix

  • شکستن قراردادهای آرامش بخش با خیال راحت Breaking Restful Conventions Safely

  • استفاده از ماژول Repo برای پرس و جوها Using the Repo Module for Queries

  • لیست های ساختمانی در قالب های EEX Building Lists in EEX Templates

  • تغییر مسیرها در کنترلر Redirects in the Controller

  • ایجاد لنگر با تگ های لینک Generating Anchors with Link Tags

  • عجایب روتر Router Wildcards

  • تنظیم فرم ویرایش Setting up the Edit Form

  • تعریف مسیر به روز رسانی Defining the Update Route

  • ویرایش یک موضوع Editing a Topic

  • پیوند دادن به فرم ویرایش موضوع Linking to the Edit Topic Form

  • کمک کننده منابع The Resources Helper

  • حذف یک موضوع Deleting a Topic

  • در حال تکمیل TopicController Wrapping up TopicController

کار با Postgres Working with Postgres

  • مقدمه ای بر ماژول Repo Introduction to the Repo Module

  • رسیدگی به فرم های ارسالی ناموفق Handling Failed Form Submissions

  • یک ظاهر طراحی با CSS در Phoenix Styling with CSS in Phoenix

  • شکستن قراردادهای آرامش بخش با خیال راحت Breaking Restful Conventions Safely

  • استفاده از ماژول Repo برای پرس و جوها Using the Repo Module for Queries

  • لیست های ساختمانی در قالب های EEX Building Lists in EEX Templates

  • تغییر مسیرها در کنترلر Redirects in the Controller

  • ایجاد لنگر با تگ های لینک Generating Anchors with Link Tags

  • عجایب روتر Router Wildcards

  • تنظیم فرم ویرایش Setting up the Edit Form

  • تعریف مسیر به روز رسانی Defining the Update Route

  • ویرایش یک موضوع Editing a Topic

  • پیوند دادن به فرم ویرایش موضوع Linking to the Edit Topic Form

  • کمک کننده منابع The Resources Helper

  • حذف یک موضوع Deleting a Topic

  • در حال تکمیل TopicController Wrapping up TopicController

مدیریت احراز هویت با OAuth Handling Authentication with OAuth

  • نمای کلی OAuth OAuth Overview

  • راه اندازی OAuth با Ueberauth OAuth Setup with Ueberauth

  • ایجاد یک برنامه Github OAuth Creating a Github OAuth App

  • تعریف مسیرهای OAuth Defining OAuth Routes

  • دریافت اطلاعات کاربر از Github Receiving User Info From Github

  • مهاجرت کاربران Users Migration

  • هضم پاسخ OAuth Digesting the OAuth Response

  • مجموعه تغییرات کاربر The User Changeset

  • ایجاد کاربران جدید Creating New Users

  • طرح بزرگ اعتبار ما Our Auth Grand Plan

  • مدیریت موفقیت OAuth Handling OAuth Success

مدیریت احراز هویت با OAuth Handling Authentication with OAuth

  • نمای کلی OAuth OAuth Overview

  • راه اندازی OAuth با Ueberauth OAuth Setup with Ueberauth

  • ایجاد یک برنامه Github OAuth Creating a Github OAuth App

  • تعریف مسیرهای OAuth Defining OAuth Routes

  • دریافت اطلاعات کاربر از Github Receiving User Info From Github

  • مهاجرت کاربران Users Migration

  • هضم پاسخ OAuth Digesting the OAuth Response

  • مجموعه تغییرات کاربر The User Changeset

  • ایجاد کاربران جدید Creating New Users

  • طرح بزرگ اعتبار ما Our Auth Grand Plan

  • مدیریت موفقیت OAuth Handling OAuth Success

تبدیل درخواست ها با پلاگ ها Transforming Requests with Plugs

  • مقدمه ای بر Plugs Introduction to Plugs

  • استفاده از پلاگین ماژول برای تنظیم کاربر Using a Module Plug to Set the User

  • پیاده سازی دوشاخه های ماژول Implementing Module Plugs

  • امکان خروج از سیستم به کاربران Allowing Users to Signout

  • محدود کردن دسترسی کاربران Restricting Access of Users

  • پلاگین Require Auth The Require Auth Plug

  • پلاگین های محدوده کنترلر Controller Scoped Plugs

  • ارتباط کاربران با موضوعات Associating Users with Topics

  • تغییر جداول موجود Altering Existing Tables

  • بازی کردن با انجمن ها Playing Around with Associations

  • با استفاده از تابع Build Assoc Using the Build Assoc Function

  • نهایی شدن انجمن Finalizing the Association

  • بررسی مالک موضوعات Checking the Topics Owner

تبدیل درخواست ها با پلاگ ها Transforming Requests with Plugs

  • مقدمه ای بر Plugs Introduction to Plugs

  • استفاده از پلاگین ماژول برای تنظیم کاربر Using a Module Plug to Set the User

  • پیاده سازی دوشاخه های ماژول Implementing Module Plugs

  • امکان خروج از سیستم به کاربران Allowing Users to Signout

  • محدود کردن دسترسی کاربران Restricting Access of Users

  • پلاگین Require Auth The Require Auth Plug

  • پلاگین های محدوده کنترلر Controller Scoped Plugs

  • ارتباط کاربران با موضوعات Associating Users with Topics

  • تغییر جداول موجود Altering Existing Tables

  • بازی کردن با انجمن ها Playing Around with Associations

  • با استفاده از تابع Build Assoc Using the Build Assoc Function

  • نهایی شدن انجمن Finalizing the Association

  • بررسی مالک موضوعات Checking the Topics Owner

سوکت های وب در فینیکس Websockets in Phoenix

  • مقدمه ای بر وب سوکت ها Introduction to Websockets

  • نمایش موضوعات فردی Showing Individual Topics

  • ایجاد مهاجرت نظرات Making the Comments Migration

  • مدل نظرات The Comments Model

  • مروری بر کانال ها در فونیکس Overview of Channels in Phoenix

  • RallyCoding RallyCoding

  • معرفی کانال نظرات Introducing the Comments Channel

  • پیشرفت با سوکت ها Making Progress with Sockets

  • تنفس سریع و بررسی Quick Breather and Review

  • انتشار پیام ها Publishing Messages

  • فهمیدن اینکه چه موضوعاتی باید نمایش داده شود Figuring Out What Topics to Show

  • Refactoring برای تعیین شناسه موضوع Refactoring to Determine Topic Id

  • واکشی موضوعات در عضویت Fetching Topics on Join

  • اشکال زدایی واکشی موضوع Debugging Topic Fetching

  • ساخت فرم نظر Building the Comment Form

  • درج نظرات در پایگاه داده Inserting Comments into the Database

  • موارد باقیمانده با سوکت Remaining Items with Sockets

  • رمزگذار سم Poison Encoder

  • ارائه فهرست نظرات Rendering a List of Comments

  • به روز رسانی های پخش Broadcasting Updates

  • به روز رسانی مشتری Updating the Client

  • شی رویداد سوکت The Socket Event Object

  • احراز هویت با سوکت Authentication with Sockets

  • انتقال توکن ها به سرور Transporting Tokens to the Server

  • تأیید کاربر سوکت فعلی Verifying the Current Socket User

  • ارتباط نظرات با کاربران Associating Comments with Users

  • واکشی کاربران با نظرات Fetching Users with Comments

  • ارائه کاربران مرتبط Rendering Associated Users

سوکت های وب در فینیکس Websockets in Phoenix

  • مقدمه ای بر وب سوکت ها Introduction to Websockets

  • نمایش موضوعات فردی Showing Individual Topics

  • ایجاد مهاجرت نظرات Making the Comments Migration

  • مدل نظرات The Comments Model

  • مروری بر کانال ها در فونیکس Overview of Channels in Phoenix

  • RallyCoding RallyCoding

  • معرفی کانال نظرات Introducing the Comments Channel

  • پیشرفت با سوکت ها Making Progress with Sockets

  • تنفس سریع و بررسی Quick Breather and Review

  • انتشار پیام ها Publishing Messages

  • فهمیدن اینکه چه موضوعاتی باید نمایش داده شود Figuring Out What Topics to Show

  • Refactoring برای تعیین شناسه موضوع Refactoring to Determine Topic Id

  • واکشی موضوعات در عضویت Fetching Topics on Join

  • اشکال زدایی واکشی موضوع Debugging Topic Fetching

  • ساخت فرم نظر Building the Comment Form

  • درج نظرات در پایگاه داده Inserting Comments into the Database

  • موارد باقیمانده با سوکت Remaining Items with Sockets

  • رمزگذار سم Poison Encoder

  • ارائه فهرست نظرات Rendering a List of Comments

  • به روز رسانی های پخش Broadcasting Updates

  • به روز رسانی مشتری Updating the Client

  • شی رویداد سوکت The Socket Event Object

  • احراز هویت با سوکت Authentication with Sockets

  • انتقال توکن ها به سرور Transporting Tokens to the Server

  • تأیید کاربر سوکت فعلی Verifying the Current Socket User

  • ارتباط نظرات با کاربران Associating Comments with Users

  • واکشی کاربران با نظرات Fetching Users with Comments

  • ارائه کاربران مرتبط Rendering Associated Users

به روز رسانی Phoenix 1.3 Phoenix 1.3 Update

  • جدید در Phoenix 1.3 New in Phoenix 1.3

  • دستور CLI تغییر می کند CLI Command Changes

  • تغییرات پوشه دارایی ها Assets Folder Changes

  • تغییرات ساختار دایرکتوری Directory Structure Changes

  • زمینه ها Contexts

  • بیشتر در زمینه زمینه ها More on Contexts

به روز رسانی Phoenix 1.3 Phoenix 1.3 Update

  • جدید در Phoenix 1.3 New in Phoenix 1.3

  • دستور CLI تغییر می کند CLI Command Changes

  • تغییرات پوشه دارایی ها Assets Folder Changes

  • تغییرات ساختار دایرکتوری Directory Structure Changes

  • زمینه ها Contexts

  • بیشتر در زمینه زمینه ها More on Contexts

موارد اضافی Extras

  • جایزه! Bonus!

موارد اضافی Extras

  • جایزه! Bonus!

نمایش نظرات

آموزش بوت کمپ کامل اکسیر و فونیکس
جزییات دوره
17.5 hours
154
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
26,117
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Stephen Grider Stephen Grider

معمار مهندسی