کتاب Go in Action ویرایش دوم

کتاب Go in Action

اثر William Kennedy

category

نوع محتوای کتاب

مبتنی بر پروژه

category

هدف یادگیری

تقویت مهارت‌های موجود

category

نوع مسیر

مرجع / کتابچه راهنما

category

بر اساس تکنولوژی

بک اند

category

مورد استفاده

بک اند

info نکات مهم قبل از خرید:

  • نسخه کتاب فعلی به زبان لاتین می‌باشد.
  • کتاب به صورت محصول می‌باشد و پس از خرید بلافاصله در دسترس شما قرار می‌گیرد.
  • قبل از خرید، قسمت توضیحات تکمیلی مربوط به هر کتاب را مطالعه کنید.
  • در صورت هرگونه سؤال با ایمیل و یا شماره پشتیبانی سایت در تماس باشید.
  • درگاه پرداخت رمزارز نیز برای هموطنان خارج از کشور فعال است.

درباره این کتاب

کتاب Go in Action, Second Edition (گو در عمل، نسخه دوم) یک راهنمای عملی برای توسعه‌دهندگان با سطح مهارت متوسط است که قصد دارند زبان گو را به طور جدی یاد بگیرند و از آن در پروژه‌های واقعی استفاده کنند. این کتاب با فرض آشنایی خواننده با زبان‌های برنامه‌نویسی دیگر، بر جنبه‌های کلیدی و متمایز گو مانند ساختار منحصربه‌فرد آن، سیستم نوعدهی، همزمانی با استفاده از گوروتین‌ها و کانال‌ها، و…

۱۴۰,۰۰۰ تومان

کتاب‌های پیشنهادی این دسته‌بندی:

کتاب‌های پیشنهادی این دسته‌بندی:

نظرات کاربران

تجربیات خود را از خواندن این کتاب با دیگران به اشتراک بگذارید.

امتیاز کل
star star star star star
از 0 نظر

ثبت نظر جدید

دیدگاهتان را بنویسید

هنوز دیدگاهی ثبت نشده است.

کتاب Go in Action, Second Edition (گو در عمل، نسخه دوم) یک راهنمای عملی برای توسعه‌دهندگان با سطح مهارت متوسط است که قصد دارند زبان گو را به طور جدی یاد بگیرند و از آن در پروژه‌های واقعی استفاده کنند.

این کتاب با فرض آشنایی خواننده با زبان‌های برنامه‌نویسی دیگر، بر جنبه‌های کلیدی و متمایز گو مانند ساختار منحصربه‌فرد آن، سیستم نوعدهی، همزمانی با استفاده از گوروتین‌ها و کانال‌ها، و روش‌های تست و بنچمارک تمرکز دارد.

در ادامه مقدمه‌ای از کتاب The Future of Sales را از زبان نویسنده شرح خواهیم داد.

مقدمه‌ای بر کتاب Go in Action:

حدود یک دهه پیش، به مسیر شغلی‌ام خیره شده بودم و فکر می‌کردم که باید به چه سمتی بروم. آن زمان توسعه‌دهنده جاوا (Java) بودم و در این میان ناگهان یک چیز توجه مرا جلب کرد: جاوا همین حالا هم ۲۰ ساله شده بود! آیا می‌خواستم تا آخر زندگی شغلی‌ام همین کار را ادامه دهم و سرانجامم مانند یک توسعه‌دهنده کوبول (COBOL) شود؟ شروع به جستجو و کاوش کردم و تصادفاً با گو (Go) آشنا شدم.
سادگی‌اش و اینکه به نظر می‌رسید هر آنچه نیاز دارید آماده در اختیارتان است، بلافاصله مرا مجذوب خود کرد. با نگاهی به کتاب‌های موجود در آن زمان، به چاپ اول کتاب Go in Action رسیدم و همان نقطه عطف و تغییردهنده بازی برای من بود.
جاوا چیزهای زیادی به من آموخته بود؛ اگرچه تا زمانی که از آن دنیای جاوا خارج نشدم، قدرش را کاملاً ندانستم. سال‌ها کار با آن، درک واقعی و عمیقی از آنچه در کد برایم مهم بود به من داد: آیا می‌توانم آن را تست کنم؟ آیا می‌توانم خطاها را در زمان کامپایل پیدا کنم؟ آیا می‌توانم کدم را شش ماه پس از نوشتن همچنان بفهمم؟ قابلیت تست‌پذیری، امنیت تایپ (Type Safety) و خوانایی کد. این اصول در ذهن من ماندگار شدند، چرا که جاوا وقتی آن‌ها را نادیده می‌گرفتی، مجازاتت می‌کرد!
کاری که زبان گو کرد این بود که اجازه داد تمام آن اصول ارزشمند را نگه دارم و هر آنچه از آن متنفر بودم را دور بریزم. دیگر خبری از Application Context نبود؛ خبری از آنوتیشن‌های Spring Boot که هر کلاس را با ماکروهای جادویی تزیین می‌کردند و برای فهم کاملشان باید کلی سرک می‌کشیدی، نبود. می‌توانستم یک سرویس کوچک، تست‌پذیر و با تایپ امن را صرفاً با استفاده از کتابخانه استاندارد خود گو بنویسم و اجرا کنم.
شروع به نوشتن کد گو به صورت حرفه‌ای کردم و آن شغل روزمره، تبدیل به سال‌ها طراحی و عرضه سیستم‌های واقعی و عملیاتی (Production) با گو شد. در نهایت، آن‌قدر صاحب‌نظر شده بودم که کتاب Shipping Go را نوشتم؛ کتابی درباره به‌کارگیری همان اصول (تست‌پذیری، امنیت تایپ، خوانایی و غیره) در برنامه‌های کاربردی واقعی. نوشتن آن کتاب مرا مجبور کرد چیزهایی را که غریزی انجام می‌دادم دقیق بیان کنم، و از آن تجربه با درک بسیار تیزتر و روشن‌تری از اینکه گو چقدر عالی مسائل مهندسی نرم‌افزار را حل می‌کند، بیرون آمدم.
بنابراین وقتی انتشارات Manning برای نگارش چاپ دوم کتاب Go in Action سراغم آمد، لحظه‌ای تردید نکردم. اما آن را سرسری هم نگرفتم. گو در دهه گذشته از زمان انتشار چاپ اول، تغییرات شگرفی کرده است. ویژگی Generics اضافه شد که یکی از بزرگ‌ترین و مهم‌ترین تغییرات تاریخ این زبان بود. مدیریت خطاها (Error handling) برای مواجهه با سناریوهای پیچیده‌تر تکامل یافت.
ابزارهای تست گو اکنون شامل Fuzzing و Benchmarking به عنوان ویژگی‌های درجه یک هستند، نه چیزهای فرعی و جانبی. وجدانم اجازه نمی‌داد کتابی به دست خوانندگان بدهم که با هیچ‌کدام از این موارد مثل موضوعات خارج از نطاق و مبحث رفتار کند.
کتاب Go in Action برای توسعه‌دهندگانی است که از قبل برنامه‌نویسی با زبان‌های دیگر را بلدند یا می‌خواهند دانش خود را در گو ارتقا دهند. شما نیازی ندارید که من برایتان توضیح دهم «حلقه» چیست، اما ممکن است بخواهید الگوهای مختلف تعریف حلقه در گو را بدانید. آنچه شما نیاز دارید، یک روایت صادقانه و دقیق از نحوه کار گو، طرز تفکر آن و نحوه استفاده از آن برای ساخت نرم‌افزاری است که یک سال بعد از نوشتن آن، خجالت‌زده نشوید. این همان کتابی است که تلاش کردم بنویسم.
جوئل هولمز (Joel Holmes)
درباره این کتاب
کتاب Go in Action, Second Edition تلاش می‌کند روح زبان برنامه‌نویسی Go را با ساده و شفاف نگه‌داشتن همه‌چیز تا حد ممکن، تجسم بخشد. هر فصل به بررسی جنبه‌ای از این زبان و روح و دلیلِ پشت آن می‌پردازد. این کتاب به‌جای فهرست‌کردن تمام ویژگی‌های زبان، بر درک عمیق Go تمرکز دارد تا بتوانید با اطمینان از آن در محیط‌های عملیاتی (Production) استفاده کنید.
این ویرایش دوم، یک به‌روزرسانی سطحی نیست. Go از زمان انتشار ویرایش اول به‌طور چشمگیری تکامل یافته است و این کتاب این تغییرات را جدی می‌گیرد. ویژگی Generics، ابزارهای به‌روزرسانی‌شده تست شامل Fuzzing و Benchmarking، پکیج لاگ‌نویسی ساختاریافته log/slog، ماژول‌ها و Workspaceها؛ این‌ها موارد فرعی نیستند، بلکه مباحث درجه‌اولی هستند که در سراسر کتاب بافته شده‌اند.
چه کسانی باید کتاب Go in Action را بخوانند؟
این کتاب برای توسعه‌دهندگانی نوشته شده است که از قبل برنامه‌نویسی را بلدند. نیازی به تجربه قبلی در Go ندارید، اما باید با مفاهیمی مانند متغیرها، توابع، حلقه‌ها و ساختارهای داده حداقل در یک زبان دیگر راحت باشید. اگر از زبان‌های Python ،Java ،JavaScript یا C می‌آیید، مقایسه‌های موجود در سراسر کتاب برای پیوند دادن رویکرد Go به مفاهیم آشنا برای شما مفید خواهد بود.
کتاب Go in Action همچنین برای توسعه‌دهندگانی ارزشمند است که تا حدی با Go آشنایی دارند اما می‌خواهند درک خود را از سیستم تایپ، مدل هم‌روندی (Concurrency) یا روش‌های تست‌نویسی عمق ببخشند. اگر از نسخه Go 1.17 یا قدیمی‌تر استفاده می‌کنید، فصل‌های مربوط به Generics، الگوهای مدیریت خطا و کتابخانه استاندارد، مباحثی را پوشش می‌دهند که ممکن است برای شما کاملاً جدید باشد.
ساختار کتاب Go in Action: نقشه راه
این کتاب به‌گونه‌ای ساختار یافته است که از مفاهیم پایه زبان به سمت برنامه‌های کاربردی حرکت کند. فصل‌های اولیه، مفاهیم پایه مورد نیاز شما را می‌سازند: تایپ‌ها، مجموعه‌ها (Collections) و مدل ترکیب (Composition) که جایگزین وراثت شده است. فصل‌های بعدی کتاب Go in Action، این مفاهیم را در برابر چالش‌های واقعی به کار می‌گیرند: مدیریت یکپارچه خطاها، نوشتن کد تست‌پذیر، تحلیل اجرای هم‌روند و سازمان‌دهی کدهای چندماژولی.
فصل ۱: منشأ و انگیزه پیدایش Go را معرفی می‌کند و توضیح می‌دهد که چرا به این شکل طراحی شده است: کامپایل سریع، تایپ قوی، هم‌روندی درجه‌یک و اینکه برای حل چه مشکلاتی ساخته شده است.
فصل ۲: شما را بلافاصله وارد کدنویسی واقعی با Go می‌کند. یک برنامه تحت خط فرمان (CLI) کاربردی را از صفر می‌سازید که شامل ابزارها، ساختار پروژه و گردش کاری است که در ادامه کتاب استفاده خواهید کرد.
فصل ۳: به بررسی عمیق تایپ‌های پایه Go می‌پردازد: اعداد صحیح و انواع آن، مقادیر بولین، رشته‌ها (Strings)، ران‌ها (Runes) و اشاره‌گرها (Pointers). درک دقیق این موارد اهمیت دارد، زیرا سیستم تایپ Go تبدیل‌های نامحسوس و پنهانی انجام نمی‌دهد.
فصل ۴: انواع مجموعه‌های داخلی Go شامل آرایه‌ها، اسلایس‌ها (Slices) و مپ‌ها (Maps) را معرفی می‌کند. این‌ها ساختارهای داده بنیادی هستند که تقریبا در هر برنامه Go ظاهر می‌شوند و این فصل از کتاب Go in Action رفتار، تفاوت‌ها و نحوه کار استاندارد با آن‌ها را توضیح می‌دهد.
فصل 4 کتاب Go in Action ویرایش دوم
فصل ۵: رویکرد Go را در مدل‌سازی داده‌ها و رفتارها بررسی می‌کند. تایپ‌های نام‌گذاری‌شده، Structها، Embedding، اینترفیس‌ها و متدها در کنار Type Assertionها و Type Switchها پوشش داده می‌شوند. Go به‌جای وراثت از ترکیب (Composition) استفاده می‌کند و این فصل از کتاب Go in Action نحوه کار این مدل را در عمل نشان می‌دهد.
فصل ۶: به Generics می‌پردازد که مهم‌ترین ویژگی اضافه شده به تاریخ این زبان است. یاد می‌گیرید پارامترها و محدودکننده‌های تایپ (Constraints) چگونه کار می‌کنند، چگونه توابع و ساختارهای داده ژنریک بنویسید و چه زمانی Generics ابزار مناسبی است و چه زمانی رویکردهای ساده‌تر کفایت می‌کنند.
فصل ۷: فلسفه مدیریت خطا در Go را بررسی می‌کند. خطاها در Go مقدار (Value) هستند نه استثنا (Exception)؛ این فصل از کتاب Go in Action نحوه کار مؤثر با این مدل از جمله ساخت انواع خطای سفارشی، Wrapping، خطاهای Sentinel و استفاده کنترل‌شده از Panic و Recover را توضیح می‌دهد.
فصل ۸: اکوسیستم تست در Go را پوشش می‌دهد: تست‌های واحد (Unit Tests)، تحلیل پوشش کد (Coverage)، Benchmarkها، Fuzz Testها و نمونه‌ها (Examples). پکیج testing تمام این امکانات را به‌صورت پیش‌فرض ارائه می‌دهد و این فصل از کتاب Go in Action با تست‌نویسی به عنوان یک چارچوب طراحی برخورد می‌کند، نه فقط یک مرحله بررسی.
فصل 8 کتاب Go in Action ویرایش دوم
فصل ۹: مدل هم‌روندی Go را با ساخت یک RSS‌خوان هم‌روند معرفی می‌کند و به Goroutineها، Channelها و عبارت Select می‌پردازد. این فصل از کتاب Go in Action برنامه را گام‌به‌گام می‌سازد و هر ابزار هم‌روندی را به‌جای ارائه یک‌باره، تنها در صورت نیاز وارد کار می‌کند.
فصل ۱۰: کتابخانه استاندارد را از طریق یک پروژه کاربردی بررسی می‌کند: ابزاری تحت خط فرمان برای پارس کردن و تبدیل بین JSON و XML. این فصل پکیج‌های fmt ،os ،io و پکیج‌های پردازش داده را پوشش می‌دهد و نشان می‌دهد چه حجم زیادی از امکانات را می‌توان بدون وابستگی به کتابخانه‌های خارجی ساخت.
فصل ۱۱: به سازمان‌دهی کد در مقیاس بزرگ می‌پردازد: پکیج‌ها، ماژول‌ها، نسخه‌گذاری و Workspaceها. این فصل RSS‌خوان فصل ۹ را بازنویسی (Refactor) کرده و به یک معماری چندماژولی تبدیل می‌کند؛ همچنین go.mod ،go.sum و الگوهای مورد استفاده در پروژه‌های واقعی Go را معرفی می‌کند.
فصل 11 کتاب Go in Action ویرایش دوم
ضمیمه A: یک سرویس جستجوی برداری (Vector Search) با ذخیره‌سازی پایدار می‌سازد. جستجوی برداری در قلب زیرساخت‌های مرتبط با هوش مصنوعی (مانند Embedding Lookupها، بازخوانی معنایی و سیستم‌های پیشنهادی) قرار دارد و دقیقاً به همان کارایی با توان عملیاتی بالا و تاخیر کم نیاز دارد که Go برای آن ساخته شده است. این ضمیمه پیاده‌سازی مرجعی است که می‌توانید آن را تغییر داده و گسترش دهید و ابزارهای سنجش عملکرد (Benchmarking) Go را در جهتی به کار می‌گیرد که مسیر آینده این صنعت را نشان می‌دهد.
ضمیمه B: خط لوله‌ای (Pipeline) می‌سازد که یک مدل زبانی بزرگ (LLM API) را با یک برنامه Go ادغام می‌کند و الگوهای کار با سرویس‌های خارجی، مدیریت پاسخ‌های استریم و ساختاردهی به کدهای Go مرتبط با هوش مصنوعی را نشان می‌دهد.
فصل‌های کتاب Go in Action به‌گونه‌ای طراحی شده‌اند که به ترتیب خوانده شوند، زیرا فصل‌های بعدی بر اساس مفاهیم قبلی ساخته می‌شوند. با این حال، اگر با سیستم تایپ Go راحت هستید، می‌توانید از فصل‌های ۳ تا ۵ عبور کنید و بعداً به عنوان مرجع به آن‌ها بازگردید. فصل‌های ۶ تا ۱۱ پس از یادگیری مفاهیم پایه، هرکدام نسبتاً مستقل هستند.

سرفصل‌های کتاب Go in Action:

  • Go in Action
  • copyright
  • contents
  • praise for the first edition
  • dedication
  • preface
  • acknowledgments
  • about this book
  • about the authors
  • about the cover illustration
  • 1 Go is the solution
  • 2 Diving into Go
  • 3 Primitive types and operators
  • 4 Collection types
  • 5 Working with types
  • 6 Generics
  • 7 Errors in Go
  • 8 Testing and tooling
  • 9 Concurrency
  • 10 The standard library
  • 11 Working with larger projects
  • appendix A Vector search with storage
  • appendix B LLM-powered summarization

جهت دانلود کتاب Go in Action می‌توانید پس از پرداخت، دریافت کنید.