آموزش ساخت API های RESTful با استفاده از Kotlin و Spring Boot [ویدئو]

Build RESTful APIs Using Kotlin and Spring Boot [Video]

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: Kotlin یک زبان برنامه نویسی مدرن، مختصر و ایمن است و یکی از محبوب ترین زبان های JVM در حال حاضر است. همچنین با جاوا و سایر زبان‌ها سازگار است و راه‌های زیادی برای استفاده مجدد از کد بین چندین پلتفرم برای برنامه‌نویسی سازنده ارائه می‌دهد. بخش اول اهداف دوره و پیش نیازهای مورد نیاز برای استفاده حداکثری از این دوره را پوشش می دهد. در بخش دوم، با زبان برنامه نویسی Kotlin و چرایی زبان قدرتمند برای توسعه سازمانی آشنا می شویم. بخش سوم در مورد مبانی کاتلین مانند متغیرهای Val و var در کاتلین، انواع رشته های پایه، while و do-while و غیره است. بخش پنجم در مورد کلاس‌ها، وراثت، و رابط‌ها به تفصیل، کلیدواژه‌های شی برای ایجاد نمونه‌های کلاس، بررسی نوع، ریخته‌گری و اسمارت cast است. در قسمت بعدی با مجموعه ها، آرایه ها و عبارات لامبدا در کاتلین آشنا می شویم. ما همچنین توابع دامنه در Kotlin و کاربرد آن را درک خواهیم کرد. در ادامه، ما با Kotlin و Spring Boot شروع می کنیم و مروری بر برنامه ای که می خواهیم بسازیم خواهیم داشت. همچنین ساخت سرویس کاتالوگ دوره ها برای مدیریت دوره ها و کدنویسی و نحوه نوشتن تست های واحد برای کنترلر همراه با کدنویسی و یادگیری استفاده از RequestParam در نقطه پایانی کنترلر را یاد خواهید گرفت. ما دوره را با یادگیری تکنیک بیان روابط در JPA با استفاده از Entity و کلاس های داده در Kotlin به پایان خواهیم رساند. در پایان این دوره، با استفاده از زبان برنامه نویسی Kotlin و ساختن API های RESTful با استفاده از Spring Boot و Kotlin راحت خواهید بود. همه منابع و فایل های کد در اینجا قرار می گیرند: https://github.com/PacktPublishing/Build-RESTFUL-APIs-using-Kotlin-and-Spring-Boot زبان برنامه نویسی Kotlin و مزایای آن را بیاموزید. با استفاده از زبان برنامه نویسی Kotlin کد بنویسید آموزش ساخت اپلیکیشن با استفاده از Kotlin قابلیت همکاری کاتلین و جاوا را یاد بگیرید ادغام Spring Data JPA با Kotlin Test Kotlin با استفاده از JUnit5 این دوره برای توسعه دهندگانی است که علاقه مند به یادگیری زبان برنامه نویسی Kotlin هستند، برای توسعه دهندگانی که علاقه مند به ساخت برنامه های کاربردی با استفاده از Kotlin و Spring Boot هستند و برای توسعه دهندگان جاوا که مایل به یادگیری زبان برنامه نویسی Kotlin هستند. تجربه اولیه کار با جاوا مزیت محسوب می شود. آموزش تست یکپارچه سازی لایه DB با استفاده از TestContainers و JUnit5 * فراخوانی تابع تست واحد با استفاده از کتابخانه ساختگی * ساخت سرویس های RESTful با استفاده از Spring Boot و Kotlin

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

شروع کار با زبان برنامه نویسی کاتلین Getting Started with Kotlin Programming Language

  • Couse مقدمه Couse Introduction

  • پیش نیازها Prerequisites

  • مقدمه ای بر کاتلین Introduction to Kotlin

  • نحوه کار کاتلین با JVM How Kotlin Works with the JVM

اصول کاتلین Kotlin Fundamentals

  • راه اندازی پروژه Project Setup

  • راه اندازی پروژه Project Setup

  • سلام کاتلین! Hello Kotlin!

  • سلام کاتلین! Hello Kotlin!

  • متغیرهای val و var در کاتلین val and var Variables in Kotlin

  • متغیرهای val و var در کاتلین val and var Variables in Kotlin

  • انواع پایه - Int، Long، Double، String Basic Types - Int, Long, Double, String

  • انواع پایه - Int، Long، Double، String Basic Types - Int, Long, Double, String

  • شرایط - اگر و وقتی مسدود شود Conditionals - If and When Block

  • شرایط - اگر و وقتی مسدود شود Conditionals - If and When Block

  • محدوده ها، حلقه ها Ranges, Loops

  • محدوده ها، حلقه ها Ranges, Loops

  • while و do-While while and do-While

  • while و do-While while and do-While

  • شکستن، برچسب زدن، و بازگشت Break, Labels, and Return

  • شکستن، برچسب زدن، و بازگشت Break, Labels, and Return

توابع در Kotlin Functions in Kotlin

توابع در Kotlin Functions in Kotlin

  • تعریف و فراخوانی توابع Defining and Invoking Functions

  • تعریف و فراخوانی توابع Defining and Invoking Functions

  • پارامترهای مقدار پیش فرض و آرگومان های نامگذاری شده Default Value Parameters and Named Arguments

  • پارامترهای مقدار پیش فرض و آرگومان های نامگذاری شده Default Value Parameters and Named Arguments

  • توابع سطح بالا و ویژگی های سطح بالا Top-Level Functions and Top-Level Properties

  • توابع سطح بالا و ویژگی های سطح بالا Top-Level Functions and Top-Level Properties

کلاس ها، رابط ها و ارث بری Classes, Interfaces, and Inheritance

کلاس ها، رابط ها و ارث بری Classes, Interfaces, and Inheritance

  • مقدمه ای بر کلاس - ایجاد کلاس و اشیا Introduction to Class - Creating a Class and Objects

  • مقدمه ای بر کلاس - ایجاد کلاس و اشیا Introduction to Class - Creating a Class and Objects

  • سازندگان اولیه Primary Constructors

  • سازندگان اولیه Primary Constructors

  • سازندگان ثانویه Secondary Constructors

  • سازندگان ثانویه Secondary Constructors

  • کد آغازگر با استفاده از بلوک init Initializer Code Using init Block

  • کد آغازگر با استفاده از بلوک init Initializer Code Using init Block

  • کلاس های داده Data Classes

  • کلاس های داده Data Classes

  • گیرنده ها و تنظیم کننده های سفارشی Custom Getters and Setters

  • گیرنده ها و تنظیم کننده های سفارشی Custom Getters and Setters

  • ارث - گسترش کلاس ها Inheritance - Extending Classes

  • ارث - گسترش کلاس ها Inheritance - Extending Classes

  • وراثت - توابع لغو، متغیرها Inheritance - Override Functions, Variables

  • وراثت - توابع لغو، متغیرها Inheritance - Override Functions, Variables

  • کلمه کلیدی شی برای ایجاد نمونه کلاس Object Keyword for Creating Instance of the Class

  • کلمه کلیدی شی برای ایجاد نمونه کلاس Object Keyword for Creating Instance of the Class

  • کلمه کلیدی Companion Object Companion Object Keyword

  • کلمه کلیدی Companion Object Companion Object Keyword

  • رابط ها Interfaces

  • رابط ها Interfaces

  • رابط ها - مدیریت توابع متناقض Interfaces - Handling Conflicting Functions

  • رابط ها - مدیریت توابع متناقض Interfaces - Handling Conflicting Functions

  • رابط - تعریف و نادیده گرفتن متغیرها Interfaces - Defining and Overriding Variables

  • رابط - تعریف و نادیده گرفتن متغیرها Interfaces - Defining and Overriding Variables

  • اصلاح کننده های دید Visibility Modifiers

  • اصلاح کننده های دید Visibility Modifiers

  • عبارت Checking، Casting و Smart Cast را تایپ کنید Type Checking, Casting, and Smart Cast

  • عبارت Checking، Casting و Smart Cast را تایپ کنید Type Checking, Casting, and Smart Cast

  • کلاس Enum Enum Class

  • کلاس Enum Enum Class

Nulls در Kotlin Nulls in Kotlin

Nulls در Kotlin Nulls in Kotlin

  • انواع Nullable و NonNullable در Kotlin Nullable and Non-Nullable Types in Kotlin

  • انواع Nullable و NonNullable در Kotlin Nullable and Non-Nullable Types in Kotlin

  • تماس ایمن(؟)، اپراتور الویس (؟ :)، و ادعای غیر پوچ(!!) برای مقابله با مقادیر پوچ Safe Call(?), Elvis Operator (? :), and Non-Null Assertion(!!) to Deal with Null Values

  • تماس ایمن(؟)، اپراتور الویس (؟ :)، و ادعای غیر پوچ(!!) برای مقابله با مقادیر پوچ Safe Call(?), Elvis Operator (? :), and Non-Null Assertion(!!) to Deal with Null Values

  • فراخوانی یا اختصاص یک نوع Nullable به یک نوع Non-Nullable Invoking or Assigning a Nullable Type to a Non-Nullable Type

  • فراخوانی یا اختصاص یک نوع Nullable به یک نوع Non-Nullable Invoking or Assigning a Nullable Type to a Non-Nullable Type

مجموعه ها، آرایه ها و عبارات لامبدا Collections, Arrays, and Lambda Expressions

مجموعه ها، آرایه ها و عبارات لامبدا Collections, Arrays, and Lambda Expressions

  • مقدمه ای بر مجموعه ها Introduction to Collections

  • مقدمه ای بر مجموعه ها Introduction to Collections

  • مقدمه ای بر عبارات لامبدا Introduction to Lambda Expressions

  • مقدمه ای بر عبارات لامبدا Introduction to Lambda Expressions

  • توابع لامبدا و مرتبه بالاتر Lambdas and Higher Order Functions

  • توابع لامبدا و مرتبه بالاتر Lambdas and Higher Order Functions

  • عملیات فیلتر در مجموعه های Kotlin Filter Operations on Kotlin Collections

  • عملیات فیلتر در مجموعه های Kotlin Filter Operations on Kotlin Collections

  • عملیات نقشه در مجموعه های کاتلین Map Operations on Kotlin Collections

  • عملیات نقشه در مجموعه های کاتلین Map Operations on Kotlin Collections

  • عملیات FlatMap در مجموعه ها FlatMap Operations in Collections

  • عملیات FlatMap در مجموعه ها FlatMap Operations in Collections

  • کار با HashMaps Working with HashMaps

  • کار با HashMaps Working with HashMaps

  • ارزیابی تنبل مجموعه ها با استفاده از توالی Lazy Evaluation of Collections Using Sequences

  • ارزیابی تنبل مجموعه ها با استفاده از توالی Lazy Evaluation of Collections Using Sequences

  • پوچ‌پذیری در مجموعه‌ها Nullability in Collections

  • پوچ‌پذیری در مجموعه‌ها Nullability in Collections

استثناها در کاتلین و توابع دامنه Exceptions in Kotlin and Scope Functions

استثناها در کاتلین و توابع دامنه Exceptions in Kotlin and Scope Functions

  • قسمت 1 - رسیدگی به استثناها در کاتلین با استفاده از تلاش گیر Part 1 - Handling Exceptions in Kotlin Using try-catch

  • قسمت 1 - رسیدگی به استثناها در کاتلین با استفاده از تلاش گیر Part 1 - Handling Exceptions in Kotlin Using try-catch

  • قسمت 2 - مقدمه ای بر توابع دامنه Part 2 - Introduction to Scope Functions

  • قسمت 2 - مقدمه ای بر توابع دامنه Part 2 - Introduction to Scope Functions

  • تابع اعمال و همچنین دامنه Apply and Also Scope Function

  • تابع اعمال و همچنین دامنه Apply and Also Scope Function

  • اجازه دهید Scope عملکرد کند Let Scope Function

  • اجازه دهید Scope عملکرد کند Let Scope Function

  • با و اجرای تابع محدوده With and Run Scope Function

  • با و اجرای تابع محدوده With and Run Scope Function

شروع کار با Kotlin و Spring Boot Getting Started with Kotlin and Spring Boot

شروع کار با Kotlin و Spring Boot Getting Started with Kotlin and Spring Boot

  • نمای کلی برنامه و راه اندازی پروژه Overview of the App and Project Setup

  • نمای کلی برنامه و راه اندازی پروژه Overview of the App and Project Setup

  • یک نقطه پایانی ساده - کنترل کننده خوش آمد گویی بسازید Build a Simple Endpoint - Greeting Controller

  • یک نقطه پایانی ساده - کنترل کننده خوش آمد گویی بسازید Build a Simple Endpoint - Greeting Controller

  • تزریق سازنده در بهار Constructor Injection in Spring

  • تزریق سازنده در بهار Constructor Injection in Spring

  • راه اندازی پروفایل های مختلف در Spring Boot Setting Up Different Profiles in Spring Boot

  • راه اندازی پروفایل های مختلف در Spring Boot Setting Up Different Profiles in Spring Boot

  • ورود به سیستم را در Kotlin تنظیم کنید Set Up Logging in Kotlin

  • ورود به سیستم را در Kotlin تنظیم کنید Set Up Logging in Kotlin

تست ادغام/واحد با استفاده از Junit 5 Integration/Unit Testing Using Junit 5

تست ادغام/واحد با استفاده از Junit 5 Integration/Unit Testing Using Junit 5

  • مقدمه ای بر تست های خودکار و راه اندازی JUnit5 Introduction to Automated Tests and Setting Up JUnit5

  • مقدمه ای بر تست های خودکار و راه اندازی JUnit5 Introduction to Automated Tests and Setting Up JUnit5

  • تست یکپارچه سازی برای کنترلر Integration Test for Controller

  • تست یکپارچه سازی برای کنترلر Integration Test for Controller

  • تست واحد برای کنترلر - با استفاده از کتابخانه ساختگی Unit Test for Controller - Using the Mock Mocking Library

  • تست واحد برای کنترلر - با استفاده از کتابخانه ساختگی Unit Test for Controller - Using the Mock Mocking Library

خدمات کاتالوگ دوره را بسازید Build the Course Catalog Service

خدمات کاتالوگ دوره را بسازید Build the Course Catalog Service

  • Course Entity و CourseDTO را تنظیم کنید Set Up the Course Entity and CourseDTO

  • Course Entity و CourseDTO را تنظیم کنید Set Up the Course Entity and CourseDTO

  • CourseRepository را ایجاد کنید و JPA را در فایل application.yml پیکربندی کنید Create CourseRepository and Configure JPA in application.yml File

  • CourseRepository را ایجاد کنید و JPA را در فایل application.yml پیکربندی کنید Create CourseRepository and Configure JPA in application.yml File

  • نقطه پایانی POST را برای افزودن دوره جدید بسازید Build the POST Endpoint for Adding New Course

  • نقطه پایانی POST را برای افزودن دوره جدید بسازید Build the POST Endpoint for Adding New Course

  • تست یکپارچه سازی برای نقطه پایانی POST با استفاده از JUnit5 Integration Test for the POST Endpoint Using JUnit5

  • تست یکپارچه سازی برای نقطه پایانی POST با استفاده از JUnit5 Integration Test for the POST Endpoint Using JUnit5

  • برای بازیابی همه دوره ها، نقطه پایانی را بسازید Build the Get Endpoint to Retrieve All Courses

  • برای بازیابی همه دوره ها، نقطه پایانی را بسازید Build the Get Endpoint to Retrieve All Courses

  • تست یکپارچه سازی برای GET Endpoint برای بازیابی همه دوره ها Integration Test for the GET Endpoint to Retrieve All the Courses

  • تست یکپارچه سازی برای GET Endpoint برای بازیابی همه دوره ها Integration Test for the GET Endpoint to Retrieve All the Courses

  • برای به روز رسانی یک دوره، نقطه پایانی به روز رسانی را بسازید Build the Update Endpoint to Update a Course

  • برای به روز رسانی یک دوره، نقطه پایانی به روز رسانی را بسازید Build the Update Endpoint to Update a Course

  • تست یکپارچه سازی برای نقطه پایانی PUT با استفاده از JUnit5 Integration Test for the PUT Endpoint Using JUnit5

  • تست یکپارچه سازی برای نقطه پایانی PUT با استفاده از JUnit5 Integration Test for the PUT Endpoint Using JUnit5

  • برای حذف یک دوره، نقطه پایانی DELETE را بسازید Build the DELETE Endpoint to Delete a Course

  • برای حذف یک دوره، نقطه پایانی DELETE را بسازید Build the DELETE Endpoint to Delete a Course

لایه کنترل کننده تست واحد (سطح وب) Unit Testing Controller Layer (Web Tier)

لایه کنترل کننده تست واحد (سطح وب) Unit Testing Controller Layer (Web Tier)

  • راه اندازی آزمون واحد برای CourseController Setting Up the Unit Test for the CourseController

  • راه اندازی آزمون واحد برای CourseController Setting Up the Unit Test for the CourseController

  • تست واحد برای Post Endpoint در CourseController Unit Test for the Post Endpoint in CourseController

  • تست واحد برای Post Endpoint در CourseController Unit Test for the Post Endpoint in CourseController

  • تست واحد برای نقطه پایانی GET در CourseController Unit Test for the GET Endpoint in CourseController

  • تست واحد برای نقطه پایانی GET در CourseController Unit Test for the GET Endpoint in CourseController

  • تست واحد برای نقطه پایانی PUT در CourseController Unit Test for the PUT Endpoint in CourseController

  • تست واحد برای نقطه پایانی PUT در CourseController Unit Test for the PUT Endpoint in CourseController

  • تست واحد برای نقطه پایانی DELETE در CourseController Unit Test for the DELETE Endpoint in CourseController

  • تست واحد برای نقطه پایانی DELETE در CourseController Unit Test for the DELETE Endpoint in CourseController

اعتبارسنجی Bean با استفاده از Validators و ControllerAdvice Bean Validation Using Validators and ControllerAdvice

اعتبارسنجی Bean با استفاده از Validators و ControllerAdvice Bean Validation Using Validators and ControllerAdvice

  • نام و دسته به عنوان اجباری با استفاده از @NotBlank Annotation Name and Category as Mandatory Using @NotBlank Annotation

  • نام و دسته به عنوان اجباری با استفاده از @NotBlank Annotation Name and Category as Mandatory Using @NotBlank Annotation

  • پیاده سازی مدیریت خطای سفارشی با استفاده از ControllerAdvice Pattern Implement Custom Error Handling Using ControllerAdvice Pattern

  • پیاده سازی مدیریت خطای سفارشی با استفاده از ControllerAdvice Pattern Implement Custom Error Handling Using ControllerAdvice Pattern

  • کنترل Global RuntimeException با استفاده از ControllerAdvice Pattern Handle Global RuntimeException Using ControllerAdvice Pattern

  • کنترل Global RuntimeException با استفاده از ControllerAdvice Pattern Handle Global RuntimeException Using ControllerAdvice Pattern

جستارهای سفارشی JPA با استفاده از Spring Data JPA و آزمایش لایه DB با استفاده از @DataJpaTest Custom JPA Queries Using Spring Data JPA and DB Layer Testing Using @DataJpaTest

جستارهای سفارشی JPA با استفاده از Spring Data JPA و آزمایش لایه DB با استفاده از @DataJpaTest Custom JPA Queries Using Spring Data JPA and DB Layer Testing Using @DataJpaTest

  • با استفاده از تابع ایجاد پرس و جو JPA، دوره ها را بر اساس نام بازیابی کنید Retrieve Courses by Name using JPA Query Creation Function

  • با استفاده از تابع ایجاد پرس و جو JPA، دوره ها را بر اساس نام بازیابی کنید Retrieve Courses by Name using JPA Query Creation Function

  • بازیابی دوره ها بر اساس نام با استفاده از پرس و جوی SQL بومی Retrieve Courses by Name Using Native SQL Query

  • بازیابی دوره ها بر اساس نام با استفاده از پرس و جوی SQL بومی Retrieve Courses by Name Using Native SQL Query

  • آزمایش چند مجموعه داده با استفاده از @Parameterized Test Testing Multiple Sets of Data Using @Parameterized Test

  • آزمایش چند مجموعه داده با استفاده از @Parameterized Test Testing Multiple Sets of Data Using @Parameterized Test

دریافت نقطه پایانی برای بازیابی دوره ها بر اساس نام با استفاده از @RequestParam GET Endpoint to Retrieve Courses by Name Using @RequestParam

دریافت نقطه پایانی برای بازیابی دوره ها بر اساس نام با استفاده از @RequestParam GET Endpoint to Retrieve Courses by Name Using @RequestParam

  • از GET Endpoint موجود برای بازیابی دوره ها بر اساس نام استفاده کنید Use Existing GET Endpoint to Retrieve Courses by Name

  • از GET Endpoint موجود برای بازیابی دوره ها بر اساس نام استفاده کنید Use Existing GET Endpoint to Retrieve Courses by Name

  • برای بازیابی نام دوره، تست ادغام را بنویسید Write Integration Test to Retrieve Course by Name

  • برای بازیابی نام دوره، تست ادغام را بنویسید Write Integration Test to Retrieve Course by Name

روابط موجودیت با استفاده از Spring Data JPA Entity Relationships Using Spring Data JPA

روابط موجودیت با استفاده از Spring Data JPA Entity Relationships Using Spring Data JPA

  • افزودن نهاد مدرس به سرویس کاتالوگ دوره Adding Instructor Entity into the Course Catalog Service

  • افزودن نهاد مدرس به سرویس کاتالوگ دوره Adding Instructor Entity into the Course Catalog Service

  • افزودن رابطه به کلاس Entity Adding the Relationship to the Entity Class

  • افزودن رابطه به کلاس Entity Adding the Relationship to the Entity Class

  • Instructor Controller برای مدیریت داده های مربی Instructor Controller to Manage Instructor Data

  • کنترلر مربی برای مدیریت داده های مربی Instructor Controller to Manage Instructor Data

  • CourseService را برای اعتبارسنجی داده های مربی به روز کنید Update CourseService to Validate Instructor Data

  • CourseService را برای اعتبارسنجی داده های مربی به روز کنید Update CourseService to Validate Instructor Data

  • تست های یکپارچه سازی CourseController را برطرف کنید Fix the CourseController Integration Tests

  • تست های یکپارچه سازی CourseController را برطرف کنید Fix the CourseController Integration Tests

  • تست های واحد CourseController را برطرف کنید Fix the CourseController Unit Tests

  • تست های واحد CourseController را برطرف کنید Fix the CourseController Unit Tests

ادغام با Postgres DB Integrating with Postgres DB

ادغام با Postgres DB Integrating with Postgres DB

  • تنظیم DB و برنامه Postgres برای تعامل با Postgres Setting Up the Postgres DB and App to Interact with Postgres

  • تنظیم DB و برنامه Postgres برای تعامل با Postgres Setting Up the Postgres DB and App to Interact with Postgres

  • برنامه را با Postgres DB تست کنید Test the App with Postgres DB

  • برنامه را با Postgres DB تست کنید Test the App with Postgres DB

تست یکپارچه سازی با استفاده از TestContainers Integration Testing Using TestContainers

تست یکپارچه سازی با استفاده از TestContainers Integration Testing Using TestContainers

  • راه اندازی TestContainers برای تست یکپارچه سازی Setting Up TestContainers for the Integration Test

  • راه اندازی TestContainers برای تست یکپارچه سازی Setting Up TestContainers for the Integration Test

  • @DataJpaTest را با TestContainers پیکربندی کنید Configure @DataJpaTest with TestContainers

  • @DataJpaTest را با TestContainers پیکربندی کنید Configure @DataJpaTest with TestContainers

قابلیت همکاری جاوا و کاتلین Java and Kotlin Interoperability

قابلیت همکاری جاوا و کاتلین Java and Kotlin Interoperability

  • فراخوانی کد Kotlin از کلاس جاوا Invoking Kotlin Code from Java Class

  • فراخوانی کد Kotlin از کلاس جاوا Invoking Kotlin Code from Java Class

  • فراخوانی کد جاوا از Kotlin Invoking Java Code from Kotlin

  • فراخوانی کد جاوا از Kotlin Invoking Java Code from Kotlin

  • حاشیه نویسی های مفید JVM در Kotlin Useful JVM Annotations in Kotlin

  • حاشیه نویسی های مفید JVM در Kotlin Useful JVM Annotations in Kotlin

نمایش نظرات

آموزش ساخت API های RESTful با استفاده از Kotlin و Spring Boot [ویدئو]
جزییات دوره
8 h 25 m
91
Packtpub Packtpub
(آخرین آپدیت)
از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dilip Sundarraj Dilip Sundarraj

Tech Savvy، مهندس نرم افزار

سلام، من دیلیپ هستم.

من یک مهندس نرم افزار هستم و از سال 2008 برنامه های کاربردی نرم افزار می سازم.

من از سال 2016 تدریس آنلاین را تجربه کرده ام و پیوند کانال یوتیوب من در اینجا پیوست شده است.

برای به‌روزرسانی‌های بیشتر در کانال من مشترک شوید.

https://www.youtube.com/user/dilipthelip1