Category

Go Programming

Go language tutorials, patterns, and best practices

68 posts

کاهش تأخیر: بهینه‌سازی تخصیص حافظه و توقف‌های GC در Go برای میکروسرویس‌ها

در دنیای پرمخاطره میکروسرویس‌های مدرن، هر میلی‌ثانیه اهمیت دارد. اگرچه زبان برنامه‌نویسی Go به خاطر اصول همزمانی و زمان راه‌اندازی سریع خود معروف است، اما جمع‌کننده زباله (GC) آن می‌تواند برای برنامه‌هایی که به تأخیر قطعی زیر میلی‌ثانیه نیاز دارند، به یک گلوگاه تبدیل شود.

تسلط بر هیولا: بهینه‌سازی تخصیص حافظه و توقف‌های GC در میکروسرویس‌های با تأخیر کم

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

گو مدرن: تسلط بر جنریک‌ها با الگوهای سازنده، کارخانه و استراتژی

با معرفی جنریک‌ها در گو ۱.۱۸، این زبان از یک ابزار صرفاً ساختاری به یک پلتفرم مهندسی بیانگر و ایمن از نظر نوع تبدیل شده است. برای توسعه‌دهندگان متوسط و پیشرفته، این موضوع تنها درباره راحتی نیست؛ بلکه درباره حذف کدهای تکراری در حالی است که...

تسلط بر ماژول‌ها و مدیریت فضای کاری در Go: راهنمای توسعه‌دهندگان مدرن

گو از زمان پیدایش خود تحولات چشمگیری داشته است، اما معرفی ماژول‌ها (در Go 1.11) و فضاهای کاری (در Go 1.18) دو تغییر بنیادین در نحوه ساختاردهی، ساخت و نگهداری برنامه‌های گو محسوب می‌شوند. برای توسعه‌دهندگان میان‌رده و پیشرفته، عبور از پروژه‌های تک‌ماژولی ساده برای ساخت سیستم‌های مقیاس‌پذیر و قابل نگهداری ضروری است.

تسلط بر تست‌نویسی در Go: هنر و علم تست‌های مبتنی بر جدول

نوشتن تست‌های واحد مؤثر، یکی از حیاتی‌ترین مهارت‌ها برای هر توسعه‌دهنده Go است. اگرچه بسته تست کتابخانه استاندارد قدرتمند و ساده است، اما نوشتن تست‌هایی که هم جامع و هم قابل نگهداری باشند، نیازمند یک استراتژی محکم است. در میان الگوهای مختلف موجود در اکوسیستم Go...

تسلط بر جداسازی: الگوهای ناظر و استراتژی در میکروسرویس‌های Go

در چشم‌انداز مدرن سیستم‌های توزیع‌شده، حفظ جداسازی شل بین میکروسرویس‌ها نه تنها یک بهترین روش، بلکه ضرورتی برای مقیاس‌پذیری و نگهداری‌پذیری است. در حالی که Go (Golang) به سادگی و عملکرد خود معروف است، رویکرد اصیل آن در طراحی اغلب از الگوهای شیءگرای سنتی فاصله می‌گیرد...

تسلط بر تست‌های پیشرفته در Go: شبیه‌سازی وابستگی‌های خارجی و استراتژی‌های تست یکپارچه

نوشتن تست‌های واحد در Go اغلب به دلیل فلسفه طراحی این زبان ساده است. با این حال، با افزایش پیچیدگی برنامه‌ها، مرز بین تست‌های واحد ایزوله و تعاملات دنیای واقعی محو می‌شود. رایج‌ترین چالشی که توسعه‌دهندگان با آن روبرو هستند، تست کدی است که با سیستم‌های خارجی تعامل دارد...