لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش جلوگیری از باگهای ضمنی در C++
- آخرین آپدیت
دانلود Avoiding Implicit Bugs in C++
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
زبان C++ یک زبان برنامهنویسی بسیار قدرتمند، قابل حمل و مقرونبهصرفه است. اما در عین حال، سرشار از مفاهیم ضمنی و غیرمنتظرهای است که میتوانند باعث ایجاد باگ در برنامههای شما شوند. در این دوره، همراه با مدرس دوره، شachar Shemesh، مهارتهای بنیادی مورد نیاز هر توسعهدهنده برای شناسایی و جلوگیری از باگهای ضمنی در C++ را بیاموزید.
در این مسیر، رفتارهای دنیای واقعی که منجر به ایجاد باگ میشوند را بررسی خواهید کرد؛ مواردی مانند سازندههای کپی (Copy Constructors) و عملگرهای مقداردهی کپی که به طور خودکار تولید میشوند، زنجیرههای تبدیل نوع (Cast Chains) با تبدیلهای داخلی و کاربر-تعریف شده، رفتارهای تعریفنشده (Undefined Behaviors)، مفاهیم استثنا (Exception Semantics) و مخربها (Destructors). شachar در طول این دوره، سطح آگاهی شما را برای بهکارگیری بهترین روشها در شناسایی، اجتناب، استراتژیگذاری، کنترل و محافظت از کدهای شما در برابر باگهای ضمنی افزایش میدهد.
سرفصل ها و درس ها
مقدمه
Introduction
ساختار دوره
Course structure
باگهای ضمنی در C++
Implicit bugs in C++
1. کپی ضمنی
1. Implicit Copying
غیرفعال کردن کپی ضمنی
Disabling implicit copying
بررسی سازنده کپی ضمنی
Exploring the implicit copy constructor
کلاس FD
The FD class
شما یک باگ دارید
You have a bug
مفاهیم جابجایی (Move Semantics)
Move semantics
پیادهسازی کپی ضمنی
Implementing implicit copy
عملگرهای مقداردهی، کپی و جابجایی
Assignment operators and copy-and-swap
یافتن محل باگ
Locating the bug
2. تبدیلهای ضمنی
2. Implicit Casts
کلمه کلیدی explicit
The explicit keyword
استفاده از explicit برای تبدیلها
Explicit for casts
مشکل اول: فقط یک بار چاپ میشود
Problem 1: Only prints once
سازندهها به عنوان تبدیلهای ضمنی
Constructors as implicit casts
مشکل دوم: توصیفگر فایل خراب؟
Problem 2: Corrupt file descriptor?
3. رفتار تعریفنشده
3. Undefined Behavior
کالبدشکافی مثال اشارهگر تهی (Null Pointer)
Deconstructing null pointer example
ارزیابی ترتیب پارامترها
Parameters order evaluation
ارجاع به اشارهگر تهی
Null pointer dereference
پیادهسازی رفتارهای تعریفشده، نامشخص و تعریفنشده
Implementation of defined, unspecified, and undefined behavior
چرا رفتارهای تعریفنشده (UBs) خوب هستند (یا نیستند)
Why UBs are a good thing (or not)
4. استثناها و مخربها
4. Exceptions and Destructors
خطر پرتاب استثنا در مخرب
The danger of a destructor throwing
راهکارهای احتمالی
Potential solutions
جمعبندی
Conclusion
فلسفه کلاسهای تدافعی
Philosophy of defensive class
شاچار شمش یک معمار ارشد نرم افزار در Speedata.io است.
شاچار یک توسعه دهنده با تجربه و متخصص در ممیزی امنیت محصولات نرم افزاری است. ، توسعه نرم افزار در C و C++، مونتاژ لینوکس، و توسعه نرم افزار برای سرورهای شبکه، درایورهای پایگاه داده، ابزارهای رمزگذاری و سیستم های نصب. از پشتیبانی و توسعه منبع باز گرفته تا ادغام با لینوکس، اندروید و موارد دیگر، شاچار در کانال YouTube خود به موارد ضروری توسعه سخت افزار و نرم افزار پرداخته است مجموعه لازم است.
نمایش نظرات