Learning Boost C++ Libraries : Solve Practical Programming Problems Using Powerful, Portable, and Expressive Libraries From Boost
معرفی کتاب «Learning Boost C++ Libraries : Solve Practical Programming Problems Using Powerful, Portable, and Expressive Libraries From Boost» نوشتهٔ Trang Thanh Tran و Arindam Mukherjee، منتشرشده توسط نشر [distributor] Bertrams در سال 2015. این کتاب در 5 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است.
کتاب «یادگیری کتابخانههای بوست در سیپلاسپلاس» (Learning Boost C++ Libraries) نوشتهٔ آریندام موکرجی (Arindam Mukherjee)، یک راهنمای جامع و عملی برای برنامهنویسانی است که میخواهند از کتابخانههای قدرتمند، قابلحمل و گویای بوست (Boost) برای حل مسائل واقعی برنامهنویسی استفاده کنند. این کتاب که در سال ۲۰۱۵ توسط انتشارات پکت (Packt Publishing) منتشر شده، با ارائهٔ دهها مثال کد عملی، خواننده را در سفری جذاب برای کشف بیش از چهل کتابخانهٔ محبوب بوست همراهی میکند.
دربارهٔ کتاب «یادگیری کتابخانههای بوست در سیپلاسپلاس»
بوست (Boost) نه تنها مجموعهای از کتابخانههای مفید و قابلحمل است، بلکه بهعنوان یک محیط آزمایشی برای ایدهها و مفاهیمی عمل میکند که راه خود را به استاندارد رسمی زبان «سیپلاسپلاس» باز میکنند. این کتاب با درک این اهمیت، بهعنوان یک دورهٔ آموزشی مقدماتی طراحی شده است تا برنامهنویسان را با نحوهٔ ساخت، استقرار و استفاده از کتابخانههای بوست در کدهای خود آشنا کند. نیمهٔ نخست کتاب بر روی رابطهای برنامهنویسی پایه مانند کانتینرهای عمومی و الگوریتمها، رشتهها، مدیریت حافظه، ایمنی استثنا و مجموعهای از ابزارهای برنامهنویسی کاربردی متمرکز است که کارهای روزمرهٔ کدنویسی را آسانتر میکنند. نیمهٔ دوم کتاب نیز به مباحث سیستممحورتر مانند مدیریت دایرکتوریها، ورودی/خروجی، برنامهنویسی همروند و شبکه اختصاص دارد. ساختار کتاب بهگونهای است که کتابخانههای معرفیشده در فصلهای ابتدایی، بهطور طبیعی در مثالهای بعدی نیز به کار گرفته میشوند و مخاطب را با همافزایی موجود میان کتابخانههای مختلف بوست آشنا میسازند.
دربارهٔ نویسنده
آریندام موکرجی (Arindam Mukherjee)، یک مهندس نرمافزار ارشد و اصلی (Senior Principal Software Engineer) در شرکت سیمانتک (Symantec) در هند است که در زمینهٔ تحقیق و توسعهٔ راهکارهای تداوم کسبوکار برای سازمانها فعالیت میکند. او سالها تجربهٔ کار با زبان «سیپلاسپلاس» را در زمینهٔ توسعهٔ سیستمهای توزیعشدهٔ بزرگمقیاس دارد و در کنفرانس معتبر «دکتر دابز ژورنال هند» (Dr. Dobb's Journal India Conference) در سال ۲۰۱۴ بهعنوان سخنران حضور داشته است. موکرجی برگزارکنندهٔ جلسات منظم گروه کاربران «سیپلاسپلاس» و بوست در شهر پونا (Pune) است و بهنقش فعال خود در اجتماع برنامهنویسان افتخار میکند.
چرا باید «یادگیری کتابخانههای بوست در سیپلاسپلاس» را بخوانید؟
مطالعهٔ این کتاب، مسیر تسلط بر یکی از مهمترین مجموعه کتابخانههای زبان «سیپلاسپلاس» را هموار میکند و دستاوردهای ارزشمندی را به همراه دارد:
آشنایی عملی با بیش از ۴۰ کتابخانهٔ محبوب بوست: کتاب با ارائهٔ مثالهای کد متعدد، کاربرد کتابخانههای گوناگون از جمله کانتینرها، اشارهگرهای هوشمند، عبارتهای باقاعده، نخها و ورودی/خروجی شبکه را بهطور عملی آموزش میدهد.
افزایش بهرهوری و کیفیت کد: با یادگیری کتابخانههای بوست، برنامهنویس از «چرخدوباره اختراع کردن» پرهیز کرده و کدهایی کارآمد، خواناتر و قابلنگهداریتر مینویسد.
آمادگی برای استانداردهای جدید زبان: از آنجایی که بسیاری از ویژگیهای «سیپلاسپلاس» نسخهٔ ۱۱ (C++11) و نسخههای جدیدتر، ابتدا در کتابخانهٔ بوست ارائه شدهاند، این کتاب مسیر آشنایی با این قابلیتها را هموار میکند.
یادگیری برنامهنویسی همروند و شبکه: کتاب با پوشش مباحثی همچون کتابخانهٔ «اسیو» (Asio) برای برنامهنویسی شبکه، دانش طراحی سرورهای مقیاسپذیر «تیسیپی» (TCP) و «یودیپی» (UDP) را به مخاطب منتقل میکند.
ارائهٔ رویکردی گامبهگام و خودآموز: حتی اگر هیچ پیشزمینهای از کتابخانههای بوست نداشته باشید، این کتاب با زبانی شیوا و ساختاری منظم، شما را از نصب و راهاندازی تا کدنویسی پیشرفته همراهی میکند.
این کتاب برای چه کسانی مناسب است؟
این کتاب برای هر برنامهنویس «سیپلاسپلاس» که به دنبال یادگیری یا ارتقای دانش خود در زمینهٔ کتابخانههای بوست است، منبعی بینظیر بهشمار میرود. بهویژه، برنامهنویسانی که پیشتر از این کتابخانهها استفاده نکردهاند، با مطالعهٔ این کتاب بهسرعت با مفاهیم اصلی آشنا میشوند. همچنین، کسانی که با بوست آشنایی مقدماتی دارند، میتوانند از این کتاب بهعنوان سکوی پرشی برای کسب تخصصی عمیقتر در کار با این کتابخانههای قدرتمند بهره ببرند. برای بهرهمندی کامل از مطالب کتاب، داشتن دانش کاری خوب از زبان «سیپلاسپلاس» و آشنایی با مفاهیمی مانند قالبها (Templates) و مدل کامپایل، پیشنیاز محسوب میشود.
سوالات متداول
آیا این کتاب برای برنامهنویسانی که با زبان «سیپلاسپلاس» آشنایی کامل ندارند، مناسب است؟
خیر، این کتاب فرض را بر این میگذارد که خواننده با مفاهیم پایه و متوسط «سیپلاسپلاس» مانند قالبها (Templates) و مدل کامپایل آشنا است و بر آموزش کتابخانههای بوست متمرکز است، نه خود زبان.
آیا برای استفاده از کتاب، نیاز به نصب نسخهٔ خاصی از کتابخانهٔ بوست است؟
بله، برای کامپایل و اجرای مثالهای کتاب، به نصب نسخهٔ٫۵۶ یا بالاتر از کتابخانهٔ بوست نیاز است و کتاب در فصل اول به نحوهٔ نصب و راهاندازی آن میپردازد.
آیا این کتاب مباحث «سیپلاسپلاس» مدرن (نسخهٔ ۱۱ و بالاتر) را نیز پوشش میدهد؟
بله، بسیاری از مثالهای کتاب از قابلیتهای «سیپلاسپلاس» نسخهٔ ۱۱ استفاده میکنند و پیوستی نیز به شبیهسازی این قابلیتها در نسخهٔ قدیمیتر «سیپلاسپلاس ۰۳» اختصاص دارد.
**Solve practical programming problems using powerful, portable, and expressive libraries from Boost** About This Book* Learn to apply the breadth of Boost libraries, including containers, smart pointers, regular expressions, threads, network I/O, and other utilities through practical programming examples * Write clear and succinct C++ code that is efficient and maintainable * Speed up using the Boost libraries without any prior knowledge, using an in-depth tutorial introduction Who This Book Is ForIf you are a C++ programmer who has never used Boost libraries before, this book will get you up-to-speed with using them. Whether you are developing new C++ software or maintaining existing code written using Boost libraries, this hands-on introduction will help you decide on the right library and techniques to solve your practical programming problems. What You Will Learn* Write efficient and maintainable code using expressive interfaces from Boost libraries * Leverage a variety of flexible, practical, and highly efficient containers and algorithms beyond STL * Solve common programming problems by applying a wide array of utility libraries * Design and write portable multithreaded code that is easy to read and maintain * Craft highly scalable and efficient TCP and UDP servers * Build and deploy Boost libraries across a variety of popular platforms * Use C++11 functionality and emulate C++11 language features in C++03 code In DetailFilled with dozens of working code examples that illustrate the use of over 40 popular Boost libraries, this book takes you on a tour of Boost, helping you to independently build the libraries from source and use them in your own code. The first half of the book focuses on basic programming interfaces including generic containers and algorithms, strings, resource management, exception safety, and a miscellany of programming utilities that make everyday programming chores easy. Following a short interlude that introduces template metaprogramming and functional programming, the later chapters are devoted to systems programming interfaces, focusing on directory handling, I/O, concurrency, and network programming Solve practical programming problems using powerful, portable, and expressive libraries from Boost About This Book Learn to apply the breadth of Boost libraries, including containers, smart pointers, regular expressions, threads, network I/O, and other utilities through practical programming examples Write clear and succinct C++ code that is efficient and maintainable Speed up using the Boost libraries without any prior knowledge, using an in-depth tutorial introduction Who This Book Is For If you are a C++ programmer who has never used Boost libraries before, this book will get you up-to-speed with using them. Whether you are developing new C++ software or maintaining existing code written using Boost libraries, this hands-on introduction will help you decide on the right library and techniques to solve your practical programming problems. What You Will Learn Write efficient and maintainable code using expressive interfaces from Boost libraries Leverage a variety of flexible, practical, and highly efficient containers and algorithms beyond STL Solve common programming problems by applying a wide array of utility libraries Design and write portable multithreaded code that is easy to read and maintain Craft highly scalable and efficient TCP and UDP servers Build and deploy Boost libraries across a variety of popular platforms Use C++11 functionality and emulate C++11 language features in C++03 code In Detail Filled with dozens of working code examples that illustrate the use of over 40 popular Boost libraries, this book takes you on a tour of Boost, helping you to independently build the libraries from source and use them in your own code. The first half of the book focuses on basic programming interfaces including generic containers and algorithms, strings, resource management, exception safety, and a miscellany of programming utilities that make everyday programming chores easy. Following a short interlude that introduces template metaprogramming and functional programming, the later chapters are devoted to systems programming interfaces, focusing on directory handling, I/O, concurrency, and network programming Key FeaturesBook DescriptionWhat you will learnWrite efficient and maintainable code using expressive interfaces from Boost librariesLeverage a variety of flexible, practical, and highly efficient containers and algorithms beyond STLSolve common programming problems by applying a wide array of utility librariesDesign and write portable multithreaded code that is easy to read and maintainCraft highly scalable and efficient TCP and UDP serversBuild and deploy Boost libraries across a variety of popular platformsUse C++11 functionality and emulate C++11 language features in C++03 codeWho this book is forIf you are a C++ programmer who has never used Boost libraries before, this book will get you up-to-speed with using them. Whether you are developing new C++ software or maintaining existing code written using Boost libraries, this hands-on introduction will help you decide on the right library and techniques to solve your practical programming problems. Arindam Mukherjee. Includes Bibliographical References And Index.