کتاب Network Programming with Go Language (برنامهنویسی شبکه با زبان Go: مهارتهای ضروری برای برنامهنویسی، استفاده و ایمنسازی شبکهها با منبع باز Google Golang) از جدیدترین منابع برنامهنویسی زبان Go با محوریت کاربرد آن در شبکه است. این کتاب در 17 فصل به آموزش گامبهگام این زبان قدرتمند و موارد کاربردی آن در شبکه خواهد پرداخت.
در ادامه مقدمهای از کتاب Network Programming with Go Language را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Network Programming with Go Language:
پیشگفتار چاپ دوم
در حالی که سنی در سالهای اینترنت گذشته است، Go همچنان مقصد اصلی برنامهنویسان است.
زبان برنامهنویسی Go فضای فناوری کانتینر را فتح کرد. همچنان در توسعه Cloud Native محبت پیدا میکند. Go تلاش میکند تا به خودش وفادار بماند، سازگار با گذشته باشد، اما ویژگیهای زبان جدیدی مانند Generics را اضافه کند. پیشرفتهای ابزاری مانند Fuzzing امکان توسعه امنتر برنامه را فراهم میکند.
Go تغییر کرده است و این کتاب نیز تغییر کرده است. نسخه اول از Go 1.8 استفاده میکرد. ما اکنون در Go 1.18 هستیم. کد برای منعکسکننده این واقعیت جدید به روز شده است. نمونهها عمدتاً برای نشان دادن یک ویژگی خاص از شبکه Go بدون ایجاد پیچیدگی مانند مدیریت چندین پروژه یا بستههای پراکنده در سراسر کتاب ایجاد شدهاند. مخزن مرتبط را میتوانید در اینجا پیدا کنید: https://github.com/Apress/network-prog-with-go-2e.
بیشتر بخوانید: کتاب Hands-on Go Programming
اولین نسخه کتاب Network Programming with Go Language آشنایی با Go را فرض میکرد و این در این نسخه باقیمانده است. ما با گنجاندن ماژولها، ابزارها و تکنیکهای شخص ثالث بیشتر، آنچه را که مایل به بحث در این کتاب هستیم کمی گسترش میدهیم. جان درست بود که تمرکزش را روی Go نگه داشت و حواسش به اکوسیستم در کل پرت نشد.
اگر میخواهید در مورد پیاده سازی مفاهیم شبکه با Go بیاموزید، امیدوارم این کتاب مفید باشد.
به عنوان یک نقطه مقایسه، آنچه در زیر میآید مقدمه اصلی Jan (نویسنده کتاب) است که Go در سال 2017 را منعکس میکند.
پیشگفتار چاپ اول کتاب Network Programming with Go Language
یادگیری یک زبان برنامهنویسی جدید همیشه سرگرمکننده است، به خصوص زمانی که معلوم شود زبان اصلی است. قبل از انتشار Go در سال 2009، من در دانشگاه موناش دروس سطح کارشناسی ارشد برنامهنویسی شبکه را تدریس میکردم. خوب است که هنگام یادگیری یک زبان جدید هدف داشته باشید، اما این بار، به جای ساختن یک برنامه انبار شراب دیگر، تصمیم گرفتم یادداشتهای سخنرانی خود را به جای وسیله نقلیه تحویل استاندارد جاوا (در آن زمان) حول Go هدایت کنم.
آزمایش به خوبی کار کرد: جدا از غنی بودن کتابخانههای جاوا که Go هنوز با آنها مطابقت نداشت، همه نمونههای برنامهنویسی بهطور قابلتوجهی به خوبی منتقل شدند و در بسیاری از موارد ظریفتر از برنامههای جاوا اصلی بودند.
کتاب Network Programming with Go Language نتیجه است. من آن را با پیشرفت Go و به عنوان فناوریهای جدیدی مانند HTTP/2 به روز کردهام.
بوجود آمدهاند. اما اگر مانند کتاب درسی خوانده شود، خوب، به این دلیل است که یکی است. مجموعه بزرگی از مفاهیم نظری و عملی در برنامهنویسی شبکه وجود دارد و این کتاب برخی از این مفاهیم و همچنین کاربردهای ساخت سیستمها در Go را پوشش میدهد.
از نظر محبوبیت زبان، Go به وضوح در حال افزایش است. در شاخص TIOBE به رتبه شانزدهم، در PYPL (محبوبیت زبان برنامهنویسی) رتبه هجدهم و در رتبهبندی زبان برنامه نویسی RedMonk در رتبه پانزدهم قرار دارد. به طور کلی به عنوان یکی از سریعترین زبانها در حال رشد رتبهبندی میشود.
جامعهای رو به رشد از توسعهدهندگان زبان اصلی و کتابخانهها و نیز وجود دارد.
پروژههای مستقل من سعی کردهام دامنه این کتاب را فقط به کتابخانههای استاندارد و به کتابخانههای استاندارد محدود کنم.
“مخزنهای فرعی” درخت Go. در حالی که این بسیاری از پروژههای عالی را حذف میکند که بدون شک بسیاری از کارهای برنامهنویسی را آسانتر میکنند، محدود کردن کتاب به کتابخانههای رسمی Go یک محدودیت واضح را فراهم میکند.
کتاب Network Programming with Go Language دانش اولیه Go را فرض میکند. تمرکز بر روی استفاده از Go برای ساخت برنامههای شبکه است، نه روی اصول اولیه زبان. برنامههای کاربردی شبکه با برنامههای خط فرمان متفاوت هستند، با برنامههای دارای رابط کاربری گرافیکی و غیره متفاوت هستند. بنابراین فصل اول جنبههای معماری برنامههای شبکه را مورد بحث قرار میدهد. فصل دوم مروری بر ویژگیهای Go است که در این کتاب استفاده میکنیم. فصل سوم در مورد سوکتها، نسخه Go از اصول اولیه همه TCP/ها را پوشش میدهد.
سیستمهای IP فصلهای 4، 5 و 6 در کتابهای برنامهنویسی شبکه غیرعادی ترند. آنها موضوعاتی را پوشش میدهند که چه نمایشهایی از دادهها استفاده خواهد شد، چگونه یک تعامل شبکه ادامه خواهد یافت، و برای متن، از کدام قالبهای زبانی استفاده میشود.
سپس در فصل 7 کتاب Network Programming with Go Language به موضوع مهم امنیت نگاه میکنیم. در فصل 8، به یکی از رایجترین پروتکلهای لایه کاربردی در حال استفاده، HTTP نگاه میکنیم. چهار فصل بعدی در مورد موضوعات مرتبط با HTTP و فرمتهای داده رایج در بالای HTTP – HTML و XML میباشد. در فصل 13، ما به یک رویکرد جایگزین برای برنامه نویسی شبکه، فراخوانی روش از راه دور نگاه میکنیم.
فصل 14 و 15 جنبههای بیشتر برنامهنویسی شبکه با استفاده از HTTP را بررسی میکند.
سرفصلهای کتاب Network Programming with Go Language:
- About the Authors
- About the Technical Reviewer
- Acknowledgments
- Preface to the Second Edition
- Preface to the First Edition
- Chapter 1: Architectural Layers
- Chapter 2: Overview of the Go Language
- Chapter 3: Socket-Level Programming
- Chapter 4: Data Serialization
- Chapter 5: Application-Level Protocols
- Chapter 6: Managing Character Sets and Encodings
- Chapter 7: Security
- Chapter 8: HTTP
- Chapter 9: Templates
- Chapter 10: A Complete Web Server
- Chapter 11: HTML
- Chapter 12: XML
- Chapter 13: Remote Procedure Call
- Chapter 14: REST
- Chapter 15: WebSockets
- Chapter 16: Gorilla
- Chapter 17: Testing
- Appendix A: Fuzzing
- Appendix B: Generics
- Index
جهت دانلود کتاب Network Programming with Go Language میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.