آموزش ایجاد تماس‌های رویه از راه دور (RPC) - از ابتدا در C

Build Remote Procedure Calls (RPC) - from scratch in C

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: پروژه های برنامه نویسی سیستم - مدل RPC سرویس گیرنده سرور از طریق سوکت های شبکه، سریال سازی داده ها - Windows/Linux باید قادر به ایجاد تماس های رویه از راه دور با شروع از #include باشد. مفهوم سریال سازی و سریال زدایی داده ها را درک می کند درک مفهوم همگام سازی وضعیت برنامه درک مفهوم وضعیت کنترل برنامه کاربردی نحوه دستکاری اشیاء داده را به عنوان جریانی از بایت ها می فهمد قادر به درک نحوه دستکاری اشیاء به صورت بازگشتی خواهد بود. قادر به گسترش و به کارگیری مفاهیم آموخته شده در سایر زبان های برنامه نویسی خواهد بود پیش نیازهای لازم برای انتقال داده ها بین ماشین های ناهمگن را درک می کند. داده ها مطلوب هستند اما اجباری نیستند سیستم عامل لینوکس، هر طعمی، - اجرا به عنوان بومی یا به عنوان یک VM مهم ترین ابزار - اشتیاق و عشق به دانش

درباره این دوره درباره توسعه فراخوانی های رویه از راه دور شما است - من برای این دوره از سیستم عامل لینوکس استفاده خواهم کرد، اما اگر به آن عادت دارید می توانید از سیستم عامل ویندوز استفاده کنید. ماهیت و قدرت واقعی این دوره عدم استفاده از کتابخانه های شخص ثالث است. من در تمام دوره های دیگرم از این اصل پیروی می کنم. هر چیزی که از طریق دوره های من یاد می گیرید، از سطح زمین مطلق یاد می گیرید. این دوره اصول را نقض نمی‌کند و به شما یاد می‌دهد که چگونه تماس‌های رویه از راه دور را گام به گام و از صفر مطلق بسازید - بدون چارچوب، ابزار، کتابخانه‌های پشتیبانی کننده یا هر چیز دیگری - فقط C خالص.

این دوره در واقع پایه و اساس بسیاری از پروژه های نرم افزاری سیستمی آینده را می گذارد. تعداد کمی از آنها در زیر آمده و بخشی از برنامه درسی این دوره است.

تماس‌های رویه از راه دور (RPC) تکنیکی برای فراخوانی تابع/روش است که در واقع بر روی ماشین‌های فیزیکی متفاوتی است که در جای دیگری در شبکه اجرا می‌شوند - از این رو رویه‌های راه دور نامیده می‌شوند. در این دوره با مفاهیم کار در پشت صحنه آشنا خواهید شد. همین مفاهیم را می توان برای پیاده سازی سایر مفاهیم برنامه نویسی سیستم، علاوه بر RPC، مانند - همگام سازی داده ها و بررسی وضعیت برنامه گسترش داد. این دوره قول می دهد که محتوای کاملی را در مورد توسعه RPCها در نسخه اولیه ارائه دهد.

همگام سازی داده ها - فرآیندی برای همگام سازی حالت کامل برنامه Heap با ماشین راه دور است. دستگاه از راه دور حالت پشته آینه ای را ایجاد می کند. در صورت خرابی اولین دستگاه، دستگاه راه دور می‌تواند کنترل را به دست بگیرد، زیرا تمام وضعیت مورد نیاز برای از سرگیری عملکرد دستگاه خراب را دارد.

نشانگر بررسی - این فرآیند ذخیره‌سازی دائمی وضعیت حافظه برنامه در دیسک/فایل است، به طوری که می‌توان برنامه را هر زمان که دقیقاً همان حالت حافظه را از عکس فوری حافظه ذخیره شده قبلی در حافظه ثانویه ایجاد کرد، مجدداً راه‌اندازی یا از سر گرفت./p>

نقطه چک باید در نسخه های بعدی این دوره ارائه شود.


چه کسی باید این دوره را انجام دهد؟

مبتدیان لطفاً با صلاحدید خود این دوره را بگذرانید. شما باید با اشاره گرهای C و نحوه چیدمان اشیاء C در حافظه خوب باشید. من انتظار دارم که در برنامه نویسی C حداقل از سطح مبتدی بالاتر باشید. این بدان معناست که فقط دانشجویان بسیار مشتاقی که می خواهند از باهوش ترین دانش آموز کالج خود برتری داشته باشند باید ثبت نام کنند. دانش آموزان متوسط ​​لطفا بهانه. جویندگان کار و توسعه دهندگان حرفه ای باید ثبت نام کنند. مفاهیمی که از این دوره یاد می گیرید، زبان آگنوستیک هستند و با آموختن آن ها می توانید RPC/Data-Synch/Checkpointing را در هر زبان برنامه نویسی دلخواه خود پیاده سازی کنید. اگر فردا در جاوا کار کنید، باید بدانید که RPCها در پایین ترین سطح پیاده سازی چگونه کار می کنند.


پیش نیاز

C و مهارت در اشاره گرها پیش نیاز این دوره است. حداقل پس زمینه برنامه نویسی سوکت مطلوب است اما اجباری نیست. ما این دوره را از مبانی مطلق شروع کردیم و ابتدا پایه و اساس زبان آموزان را قبل از اینکه دوره را با سرعت کامل شروع کنیم، ایجاد کردیم. اگر با اشاره گرها و دستکاری حافظه در C خوب نیستید، لطفاً فقط پس از رعایت معیارهای پیش نیاز ثبت نام کنید.

همچنین لطفاً فقط به تماشای کدهای من ننشینید. کدهای خود را بنویسید، حتی اگر همان کدهای من باشد!


زبان برنامه نویسی مورد استفاده در این دوره:

ما دلایل قوی برای انتخاب زبان C برای این دوره داریم:

RPC تکنیکی است که در صورت دانستن مفاهیم می توان آن را در هر زبان برنامه نویسی دلخواه پیاده سازی کرد. یادگیری RPC با استفاده از C به شما کمک می کند تا بفهمید پشت صحنه چه اتفاقی می افتد. زبان C واقعاً جزئیات سطح پایین را در مورد نحوه عملکرد سیستم واقعاً نشان می دهد. در برنامه نویسی سیستم، C تنها زبانی است که می توان از آن استفاده کرد و حتی زمانی که صحبت از برنامه نویسی سیستم می شود، جایگزینی برای این زبان وجود ندارد.


کتابخانه شخص ثالثی وجود ندارد

هر منطقی که پیاده‌سازی می‌کنید، باید آن را از ابتدا اجرا کنید، از #include


دوره های مرتبط

RPC یکی از راه‌های انجام ارتباطات بین فرآیندی بین دو فرآیند در حال اجرا بر روی ماشین‌های مجزا در شبکه است. همچنین ممکن است بخواهید دوره دیگری را که در آن تکنیک های IPC لینوکس مورد بحث قرار گرفته است، بررسی کنید.


اخطار: این دوره دارای زیرنویس‌های خودکار تولید شده توسط سیستم است که ممکن است کامل نباشند. لطفاً زیرنویس‌ها را طبق راحتی خود غیرفعال کنید.


برنامه درسی

این دوره به دو بخش عمده تقسیم می شود -

1. درک مفهوم سریال سازی و سریال زدایی با جزئیات کامل

2. استفاده از Serialization و DeSerialization برای حل/ساخت واقعی سیستم. این شامل :

است
  1. ساخت تماس‌های رویه از راه دور

  2. همگام سازی حالت

  3. نشان دادن وضعیت برنامه را بررسی کنید

بخش 2، 3، 4، 5، 6 به ایجاد پایه ای برای تسلط کامل بر مفهوم سریال سازی و سریال زدایی اختصاص داده شده است.

بخش 7، 8، 9 به ساخت و توسعه سیستم های فوق اختصاص داده شده است


  • بخش 1 - شروع به کار

    • فهرست محتویات کل دوره

    • نصب لینوکس برای مبتدیان

  • بخش 2 - سریال سازی چیست و چرا به آن نیاز داریم؟

  • بخش 3 - مفهوم سریال‌سازی و سریال‌زدایی داده‌ها

    • سریال سازی و سریال زدایی از ساختارهای ساده C

    • سریال سازی و سریال زدایی از ساختارهای تودرتوی C

    • سریال سازی و سریال زدایی از ساختارهای اشاره گر C

  • بخش 4 - جریانها - ساختار داده

    • طراحی و پیاده سازی

  • بخش 5 - اجرای سریال‌سازی و سریال‌زدایی داده‌ها در C

    • سریال سازی و سریال زدایی از ساختارهای ساده C

    • سریال سازی و سریال زدایی از ساختارهای تودرتوی C

    • سریال سازی و سریال زدایی از ساختارهای اشاره گر C

    • یک مثال

  • بخش 6 - سریال سازی ساختارهای داده عمومی

    • از نشانگرهای تابع برای سریال کردن فضای خالی *

      استفاده کنید
  • بخش 7 - اجرای فراخوانی روش از راه دور از ابتدا

    • درک مفهوم و طراحی RPC

    • توسعه مقالات خرد مشتری - مارشال کردن آرگومان های RPC

    • توسعه مقالات خرد سرور - UnMarshalling آرگومان های RPC

    • در حال توسعه خرد سرور - مارشال کردن نوع بازگشت RPC

    • در حال توسعه مقالات خرد مشتری - UnMarshalling نوع بازگشت RPC

    • مفهوم هویت RPC

    • موارد استفاده RPC

  • بخش 8 - همگام سازی وضعیت

  • بخش 9 - ایست بازرسی (به زودی)


**آزمایش حسابرسی **

30 سپتامبر 2018 - اضافه شدن بخش 8 در مورد همگام سازی حالت

29 سپتامبر 2018 - بخش 6 درباره سریال سازی ساختارهای داده عمومی اضافه شد



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

شروع کنید Get Started

  • فهرست مطالب Table of Contents

  • عضویت در گروه تلگرام Join Telegram Group

  • راه اندازی محیط توسعه لینوکس Setting up Linux Develop Environment

معرفی Introduction

  • دستور جلسه Agenda

  • معرفی Introduction

  • چرا به سریال سازی نیاز داریم؟ Why We need Serialization ?

  • مشکلات بدون سریال سازی Problems Without DeSerialization

  • کاربرد سریال سازی Application of Serialization

  • خلاصه Summary

مفهوم سریال سازی و سریال زدایی داده ها Concept of Data Serialization and DeSerialization

  • مبانی سریال سازی Serialization Basics

  • سریال سازی ساختارهای ساده Serializing Simple Structures

  • سریال سازی ساختارهای تودرتو Serializing Nested Structures

  • سریال سازی ساختارهای اشاره گر Serializing Pointer Structures

  • سریال زدایی از ساختارهای ساده DeSerializing Simple Structures

  • سریال زدایی از ساختارهای تودرتو DeSerializing Nested Structures

  • سریال زدایی از ساختارهای اشاره گر DeSerializing Pointer Structures

  • نمونه سریال زدایی DeSerialization Example

  • یک تصویر بزرگ A Big Picture

  • دنباله کامل مراحل - فلوچارت Complete Sequence of Steps - FlowChart

  • نمونه های اولیه API سریال سازی Serialization API Prototypes

  • خلاصه Summary

ساختار داده - STREAMS Data Structure - STREAMS

  • استریم قسمت 1 Streams Part 1

  • استریم قسمت 2 Streams Part 2

  • استریم قسمت 3 Streams Part 3

اجرای سریال سازی و سریال زدایی در C Serialization and DeSerialization Implementation in C

  • اهداف ما چیست؟ What are our Goals ?

  • C ویرایش سریع C Quick Revision

  • سریال سازی ساختارهای ساده Serializing Simple Structures

  • سریال سازی ساختارهای تودرتو Serializing Nested Structures

  • سریال سازی ساختارهای اشاره گر Serializing Pointer Structures

  • سریال زدایی از ساختارهای ساده DeSerializing Simple Structures

  • کنوانسیون های سریال زدایی DeSerialization Conventions

  • سریال زدایی از ساختارهای تودرتو DeSerializing Nested Structures

  • سریال زدایی از ساختارهای اشاره گر DeSerializing Pointer Structures

  • سریال کردن لیست پیوندی Serializing a Linked List

  • PitFall of a Serialization-DeSerialization PitFall of a Serialization-DeSerialization

  • محدودیت های سریال سازی (De)Serialization Limitations Of (De)Serialization

  • نسخه ی نمایشی - Code Walk Demo - Code Walk

  • Code Walk C Structures - Part1 Code Walk C Structures - Part1

  • Code Walk C Structures - Part2 Code Walk C Structures - Part2

  • Code Walk C Structures - Part3 Code Walk C Structures - Part3

  • Code Walk C Structures - Part4 Code Walk C Structures - Part4

  • تمرینات Exercises

  • از آرشیو QnA From QnA archive

سریال سازی ساختارهای داده عمومی Serializing The Generic Data Structures

  • سریال سازی یک لیست پیوندی عمومی - قسمت 1 Serializing a Generic Linked List - part1

  • سریال سازی یک لیست پیوندی عمومی - قسمت 2 Serializing a Generic Linked List - part2

اجرای زیرساخت تماس های رویه از راه دور Implementation of Remote Procedure Calls Infrastructure

  • دستور جلسه Agenda

  • آشنایی با RPC ها Understanding RPCs

  • 9 مرحله RPC 9 Steps Of RPC

  • مراحل RPC - 1 تا 3 RPC Steps - 1 to 3

  • مراحل RPC - 1 تا 3 - Code Walk RPC Steps - 1 to 3 - Code Walk

  • مراحل RPC - 4 تا 6 RPC Steps - 4 to 6

  • مراحل RPC - 4 تا 6 - Code Walk RPC Steps - 4 to 6 - Code Walk

  • مراحل RPC - 7 تا 8 RPC Steps - 7 to 8

  • مراحل RPC - 7 تا 8 - Code Walk RPC Steps - 7 to 8 - Code Walk

  • مراحل RPC - 9 - مرحله نهایی RPC Steps - 9 - Final Step

  • مراحل RPC - 9 - مرحله نهایی - Code Walk RPC Steps - 9 - Final Step - Code Walk

  • نسخه ی نمایشی RPC RPC Demo

  • RPC - چهار روال ویژه RPC - Four Special Routines

  • هویت RPC RPC Identity

  • پیوست کردن سربرگ RPC در سرویس گیرنده RPC Attaching RPC Header On RPC Client

  • رمزگشایی سربرگ RPC در سرور RPC Decoding RPC Header On RPC Server

  • موارد استفاده RPC و موارد بعدی در دوره RPC Use Cases and What Next in the Course

  • تخصیص کدنویسی RPC RPC Coding Assignment

همگام سازی وضعیت برنامه Application State Synchronization

  • همگام سازی وضعیت برنامه - مقدمه Application State Synchronization - Introduction

  • همگام سازی وضعیت برنامه - پیاده سازی Application State Synchronization - Implementation

  • همگام سازی حالت - نمایش State Synchronization - Demonstration

  • سخنرانی جایزه - زمان برای گرفتن آب نبات! Bonus Lecture - Time to get some Candies !!

نمایش نظرات

نظری ارسال نشده است.

آموزش ایجاد تماس‌های رویه از راه دور (RPC) - از ابتدا در C
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
6.5 hours
66
Udemy (یودمی) udemy-small
29 فروردین 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
1,500
4.6 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Abhishek CSEPracticals Abhishek CSEPracticals

من شبکه می سازم!

Shiwani Nigam Shiwani Nigam

مجری بازاریابی دیجیتال

Ekta Ekta Ekta Ekta

مدیر تاسیسات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.