کتاب macOS Daemonology آموزش کامل XPC در سیستم عامل مک میباشد. این کتاب کم حجم اما پرمحتوا در 3 قسمت و در کل 16 فصل به آموزش اساسی و از صفر این ابزار میپردازد. در ادامه با XPC آشنا میشویم.
مروری بر XPC:
از طریق XPC به مکانیزم ارتباط بین فرآیندی سطح پایین دسترسی داشته باشید. XPC Services API مکانیزم سبکی را برای ارتباطات بین فرآیندی اولیه در سطح libSystem فراهم میکند. این به شما امکان میدهد ابزارهای کمکی سبکی به نام سرویسهای XPC ایجاد کنید که کار را از طرف برنامه شما انجام میدهند.
دو دلیل اصلی برای استفاده از خدمات XPC وجود دارد: جداسازی امتیازات و پایداری.
- ثبات:
این قضیهای انکارناپذیر است که ممکن است برنامهها گاهی اوقات به مشکل برخورد کنند. ما نمیخواهیم این اتفاق بیفتد، اما به هر حال این اتفاق میافتد. اغلب، بخشهای خاصی از یک برنامه بیشتر از بقیه مستعد خرابی هستند. به عنوان مثال، پایداری هر برنامه کاربردی با یک API پلاگین ذاتاً در اختیار نویسندگان افزونهها است.
هنگامی که بخشی از یک برنامه بیشتر در معرض خطر خرابی است، جدا کردن عملکرد بالقوه ناپایدار از هسته برنامه میتواند مفید باشد. این جداسازی به شما امکان میدهد اطمینان حاصل کنید که در صورت خراب شدن، بقیه برنامه تحت تأثیر قرار نمیگیرد.
- تفکیک امتیاز:
برنامههای مدرن به طور فزایندهای به دادههای غیرقابل اعتماد مانند صفحات وب، فایلهای ارسال شده از طریق ایمیل و غیره متکی هستند. این نشاندهنده یک بردار حمله رو به رشد برای ویروسها و سایر بدافزارها است.
در برنامههای سنتی، اگر یک برنامه از طریق سرریز بافر یا سایر آسیبپذیریهای امنیتی به خطر بیفتد، مهاجم توانایی انجام هر کاری را که کاربر میتواند انجام دهد را به دست میآورد. برای کاهش این خطر، سیستم عامل Mac OS X جعبه شنی (Sandboxing) را ارائه میکند – نوع عملیاتی را که یک فرآیند میتواند انجام دهد محدود میکند.
در یک محیط سندباکس، میتوانید امنیت را با جداسازی امتیازها افزایش دهید—تقسیم یک برنامه به قطعات کوچکتر که مسئول بخشی از رفتار برنامه هستند. این به هر قطعه اجازه میدهد تا Sandbox محدودتری نسبت به کل برنامه داشته باشد.
مکانیسمهای دیگر برای تقسیم یک برنامه به بخشهای کوچکتر، مانند NSTask و posix_spawn، به شما اجازه نمیدهند که هر قسمت از برنامه را در جعبه ایمنی خودش قرار دهید، بنابراین نمیتوانید از آنها برای پیادهسازی جداسازی امتیازات استفاده کنید. هر سرویس XPC جعبه سند مخصوص به خود را دارد، بنابراین سرویسهای XPC میتوانند اجرای جداسازی مناسب امتیازات را آسانتر کنند.
در ادامه مقدمهای از کتاب macOS Daemonology را از شرح خواهیم داد.
مقدمهای بر کتاب macOS Daemonology:
از تمام قدرت سوئیفت از طریق XPC استفاده کنید. توسعه برای macOS با iOS و توسعه مبتنی بر وب به دلیل برنامههای چند جزئی متفاوت است. علاوه بر برنامههای کاربردی مبتنی بر رابط کاربری گرافیکی و برنامههای افزودنی معمول، طیف گستردهای از دیمونها (Daemons) – فرآیندهایی که در پسزمینه اجرا میشوند – وجود دارد که نگران آنها باشید. اینها شامل نظارت بر سیستم، گوش دادن به رویداد، عوامل اعلان و بسیاری موارد دیگر است.
در کتاب macOS Daemonology، ابتدا، گشتی در انواع مختلف دیمونها خواهید داشت: عوامل کاربر، کمککنندگان (Helpers) ممتاز، موارد ورود، خدمات XPC و برنامههای افزودنی سیستم. دانستن ویژگیهای کلیدی دیمونها طیف وسیعی از امکانات را از توسعه برنامههای کاربردی غیر پیش پا افتاده تا توسعه سیستم باز میکند. شما نمونههای زیادی، نمونه کدهای کاری و حتی ابزارهای آماده برای استفاده را خواهید یافت. این کتاب شما را گامبهگام در تهیه، ثبت و مدیریت انواع دیمونها راهنمایی میکند.
برنامههای افزودنی سیستم کاملاً جدید برای macOS هستند و ویژگیهای قدرتمند اضافی را برای توسعهدهندگان باز میکنند. البته، نصب، جریان کاربر و ارتباط با افزونههای سیستم را نیز با مثالها بررسی خواهید کرد. XPC یک راه ارتباطی شیگرا را ارائه میدهد. نیازی به پروتکلهای سفارشی مبتنی بر بایت/متن نیست. یک توسعهدهنده خوب macOS نه تنها باید رابطهای برنامهنویسی، بلکه الگوهای طراحی مرتبط با فناوری را نیز بداند. ارتباط XPC چند الگوی خاص خود را دارد و ما همه آنها را بررسی خواهیم کرد، از جمله ارتباط یک طرفه و دو طرفه، ارسال اشیاء با ارزش و پروکسی، مدیریت باطل شدن اتصال، اتصالات نامگذاری شده و ناشناس، و بسیاری موارد دیگر.
آنچه در کتاب macOS Daemonology یاد خواهید گرفت:
- از چندین نوع دیمون در برنامههای خود استفاده کنید.
- با افزونههای سیستم مقابله کنید – نوع جدیدی از دیمونهای سیستم.
- با الگوهای پل زدن سوئیفت برای ارتباطات XPC آشنا شوید.
کتاب macOS Daemonology برای چه کسانی است؟
توسعهدهندگان نرمافزار و معماران راهحل با حداقل دانش کافی از برنامهنویسی macOS و Swift. به عنوان نمای کلی، ممکن است به معماران نرمافزار/راه حل علاقهمند باشد.
همچنین شما میتوانید علاوه بر کتاب macOS Daemonology، جهت یادگیری برنامهنویسی برای دستگاههای iOS از کتاب iOS 15 Programming Fundamentals with Swift نیز استفاده نمائید.
سرفصلهای کتاب macOS Daemonology:
- About the Author
- About the Technical Reviewer
- Part I: Daemons in a wild
- Chapter 1: Operating System Background World
- Chapter 2: Daemon Anatomy
- Chapter 3: Daemon Management
- Part II: Daemons in Detail
- Chapter 4: Daemons at a Glance
- Chapter 5: Classic Daemon
- Chapter 6: Privileged Helper
- Chapter 7: System Extensions (Since macOS 10.15)
- Chapter 8: User Agents
- Chapter 9: XPC Services
- Chapter 10: Login Items
- Part III: Talking to your daemons
- Chapter 11: XPC at a Glance
- Chapter 12: Pass Objects by Copy Over XPC Using NSSecureCoding
- Chapter 13: Pass Objects by Proxy: The Callable XPC Objects
- Chapter 14: NSXPCListener Endpoint: XPC Service Sharing
- Chapter 15: XPC Security
- Chapter 16: XPC and Swift
- Index
فایل کتاب macOS Daemonology را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.