کتاب صوتی Rust and System Programming: A Comprehensive Guide to Low-Level Programming
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب Rust and System Programming: A Comprehensive Guide to Low-Level Programming
موضوع کلی: برنامه نویسی
موضوع میانی: راست (Rust)
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمهای بر برنامهنویسی سیستمی و نقش Rust
- 2. راهاندازی محیط توسعه Rust (rustup, cargo, rustc)
- 3. اولین برنامه Rust شما: "Hello, World!" و Cargo
- 4. متغیرها، تغییرپذیری (Mutability) و سایهزنی (Shadowing)
- 5. انواع داده بنیادین: انواع اسکالر (Scalar)
- 6. انواع داده ترکیبی: تاپلها (Tuples) و آرایهها (Arrays)
- 7. توابع، پارامترها و مقادیر بازگشتی
- 8. درک تفاوت دستورات (Statements) و عبارات (Expressions)
- 9. کنترل جریان: عبارات `if`, `else if`, `else`
- 10. اجرای تکراری با حلقهها: `loop`, `while`, و `for`
- 11. مدل مالکیت (Ownership): یک پارادایم جدید
- 12. ارجاعها (References) و قرضگیری (Borrowing)
- 13. ارجاعهای تغییرپذیر و جلوگیری از رقابت داده (Data Races)
- 14. برشها (Slices): نمایی از یک مجموعه
- 15. تعریف و نمونهسازی از ساختارها (Structs)
- 16. ساختارها با متدها: بلوکهای `impl`
- 17. شمارشگرها (Enums) و قدرت `match` برای تطبیق الگو
- 18. شمارشگر `Option<T>` برای مدیریت مقادیر پوچ (Nullability)
- 19. مدیریت خطا با شمارشگر `Result<T, E>`
- 20. ماژولها، کریتها (Crates) و سیستم ماژول
- 21. مسیرها برای ارجاع به آیتمها در درخت ماژول
- 22. وارد کردن مسیرها به اسکوپ با کلمه کلیدی `use`
- 23. مجموعههای رایج: ذخیرهسازی لیستها با وکتورها (`Vec<T>`)
- 24. ذخیرهسازی متن UTF-8 با رشتهها (`String`)
- 25. دادههای انجمنی با هشمپها (`HashMap<K, V>`)
- 26. انواع داده جنریک (Generic): نوشتن کد برای انواع متعدد
- 27. ویژگیها (Traits): تعریف رفتار مشترک
- 28. پیادهسازی یک Trait روی یک نوع
- 29. استفاده از Trait Bounds برای محدود کردن انواع جنریک
- 30. ویژگی `Drop`: سفارشیسازی منطق پاکسازی
- 31. اعتبارسنجی ارجاعها با طول عمر (Lifetimes)
- 32. درک حاشیهنویسیهای طول عمر در امضای توابع
- 33. قوانین حذف طول عمر (Lifetime Elision Rules)
- 34. حاشیهنویسیهای طول عمر در تعریف ساختارها
- 35. مدیریت خطای پیشرفته: انتشار خطاها با `?`
- 36. خطاهای غیرقابل بازیابی با `panic!`
- 37. نوشتن تستهای خودکار: تستهای واحد و یکپارچهسازی
- 38. سازماندهی و اجرای تستها با Cargo
- 39. ساخت یک اپلیکیشن خط فرمان: تجزیه آرگومانها
- 40. خواندن از فایلها و نوشتن در آنها
- 41. کلوژرها (Closures): توابع ناشناسی که میتوانند محیط خود را ضبط کنند
- 42. پردازش یک سری از آیتمها با ایتراتورها (Iterators)
- 43. اشارهگرهای هوشمند: `Box<T>` برای تخصیص حافظه هیپ (Heap)
- 44. شمارش ارجاع با `Rc<T>`
- 45. تغییرپذیری داخلی با `RefCell<T>`
- 46. همروندی (Concurrency): ایجاد تردها با `thread::spawn`
- 47. گذردهی پیام برای ارتباط بین تردها با استفاده از کانالها
- 48. همروندی با حالت مشترک با استفاده از Mutex ها (`Mutex<T>`)
- 49. شمارش ارجاع اتمی و امن برای تردها با `Arc<T>`
- 50. ویژگیهای `Send` و `Sync`: همروندی قابل توسعه
- 51. ماکروهای اعلانی با `macro_rules!` برای فرابرنامهنویسی
- 52. ماکروهای رویهای (Procedural): سفارشیسازی `#[derive]`، شبه-صفت و شبه-تابع
- 53. کد ناامن (Unsafe Rust): ورود به دنیای عدم بررسی ایمنی حافظه
- 54. کار با اشارهگرهای خام (`*const T` و `*mut T`)
- 55. فراخوانی توابع و متدهای ناامن
- 56. رابط تابع خارجی (FFI): تعامل با زبانهای دیگر
- 57. فراخوانی کد C از Rust
- 58. ایجاد یک کتابخانه Rust برای C
- 59. ویژگیهای پیشرفته: انواع وابسته (Associated Types)
- 60. ویژگیهای پیشرفته: ویژگی `Deref` و Deref Coercion
- 61. انواع پیشرفته: الگوی Newtype برای ایمنی نوع
- 62. نام مستعار برای انواع با کلمه کلیدی `type`
- 63. نوع هرگز (`!`)
- 64. انواع با اندازه پویا (DSTs) و ویژگی `Sized`
- 65. توابع و کلوژرهای پیشرفته: اشارهگرهای تابع
- 66. چیدمان حافظه: پشته (Stack) و هیپ (Heap) به تفصیل
- 67. درک اشارهگرها، ارجاعها و آدرسهای حافظه
- 68. نمایش دادهها: Endianness، اندازه و همترازی (Alignment)
- 69. انجام عملیات بیتی (Bitwise Operations)
- 70. مدیریت حافظه سطح پایین با `std::alloc`
- 71. ساخت یک ابزار CLI قوی: یک مثال کامل
- 72. تعامل با محیط: متغیرهای محیطی
- 73. جریانهای ورودی/خروجی استاندارد: stdin, stdout, stderr
- 74. کار با توصیفگرهای فایل (File Descriptors)
- 75. فرآیندها: ایجاد و مدیریت فرآیندهای فرزند
- 76. ارتباط بین فرآیندی (IPC) با پایپها (Pipes)
- 77. ارتباط بین فرآیندی با حافظه مشترک
- 78. مقدمهای بر برنامهنویسی شبکه: سوکتها
- 79. ساخت یک کلاینت TCP ساده
- 80. ساخت یک سرور TCP تک-تردی ساده
- 81. برنامهنویسی ناهمگام (Asynchronous): `async` و `await`
- 82. درک فیوچرها (Futures) و ویژگی `Future`
- 83. انتخاب و استفاده از یک رانتایم ناهمگام (مانند Tokio)
- 84. ساخت یک سرور TCP چند-تردی
- 85. ساخت یک سرور TCP ناهمگام
- 86. مدیریت سیگنالهای سیستم (SIGINT, SIGTERM)
- 87. فایلهای نگاشتشده در حافظه (Memory-Mapped Files)
- 88. پیادهسازی یک تخصیصدهنده حافظه سراسری سفارشی
- 89. مقدمهای بر توسعه `no_std`
- 90. کراس-کامپایل برای معماریهای هدف مختلف
- 91. عملکرد: بنچمارک کردن کد Rust شما
- 92. عملکرد: پروفایل کردن برای یافتن گلوگاهها
- 93. مقدمهای بر سیستمهای نهفته (Embedded) با Rust
- 94. Rust برهنه (Bare-Metal): راهاندازی یک فایل اجرایی مستقل
- 95. Rust برهنه: یک هسته حداقلی و حالت متنی VGA
- 96. Rust برهنه: مدیریت استثناها و وقفههای CPU
- 97. نوشتن کد ناامن به صورت ایمن: ایجاد انتزاعات امن
- 98. مدلهای تردینگ: 1:1, N:M و گرین تردها
- 99. نگاهی عمیق به Cargo: فضاهای کاری، پروفایلها و اسکریپتهای ساخت
- 100. پروژه نهایی: ساخت یک ابزار سیستمی سطح پایین
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
sp.express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.