🔵 عنوان مقاله
Go's Support for Valgrind Instrumentation
🟢 خلاصه مقاله:
این مقاله درباره پشتیبانی آزمایشی Go از Valgrind است؛ چارچوبی که با ابزارهایی مانند Memcheck، Helgrind، DRD، Cachegrind، Callgrind و Massif برای پروفایلینگ و یافتن خطاهای حافظه و همزمانی بهکار میرود. با این پشتیبانی، برنامههای Go میتوانند به شکل عمیقتری پایش شوند—بهویژه در مرزهای cgo—و علاوه بر ابزارهای داخلی مانند pprof و race detector، گزینههای تشخیصی بیشتری در اختیار دارند. بااینحال، به دلیل سربار اجرایی بالا و ماهیت آزمایشی، نتایج ممکن است شامل خطا یا مثبت کاذب باشد و بهتر است با بیلدهای دیباگ و بارهای کاری کنترلشده استفاده شود. این قابلیت مکمل ابزارهای بومی Go است و جایگزین آنها محسوب نمیشود.
#Go #Valgrind #Instrumentation #Profiling #MemoryLeaks #Concurrency #Performance #Debugging
🟣لینک مقاله:
https://golangweekly.com/link/174628/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go's Support for Valgrind Instrumentation
🟢 خلاصه مقاله:
این مقاله درباره پشتیبانی آزمایشی Go از Valgrind است؛ چارچوبی که با ابزارهایی مانند Memcheck، Helgrind، DRD، Cachegrind، Callgrind و Massif برای پروفایلینگ و یافتن خطاهای حافظه و همزمانی بهکار میرود. با این پشتیبانی، برنامههای Go میتوانند به شکل عمیقتری پایش شوند—بهویژه در مرزهای cgo—و علاوه بر ابزارهای داخلی مانند pprof و race detector، گزینههای تشخیصی بیشتری در اختیار دارند. بااینحال، به دلیل سربار اجرایی بالا و ماهیت آزمایشی، نتایج ممکن است شامل خطا یا مثبت کاذب باشد و بهتر است با بیلدهای دیباگ و بارهای کاری کنترلشده استفاده شود. این قابلیت مکمل ابزارهای بومی Go است و جایگزین آنها محسوب نمیشود.
#Go #Valgrind #Instrumentation #Profiling #MemoryLeaks #Concurrency #Performance #Debugging
🟣لینک مقاله:
https://golangweekly.com/link/174628/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
❤3
Gopher Academy
📌 Memory Allocation in Go 🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go میپردازیم. درک درست از ساختار حافظه به شما کمک میکند عملکرد برنامههایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمید. 🔵 Introduction 🔴 https://t.iss.one/gopher_academy/4231…
🔹 Introduction – Memory Allocation in Go
مدیریت حافظه بخش حیاتی هر زبان برنامهنویسی است و Go هم از این قاعده مستثنی نیست. سرعت و کارایی برنامههای Go به شدت وابسته به نحوه تخصیص و مدیریت حافظه است.
هرچند Go با APIهای سادهای مثل
* بفهمیم چگونه runtime بازدهی بالایی دارد،
* نقاط ضعف و گلوگاههای احتمالی را شناسایی کنیم.
در این سری قرار است:
* با اجزای اصلی memory allocator در Go آشنا شویم،
* نحوه مدیریت حافظه برای اشیاء کوچک، متوسط و بزرگ را ببینیم،
* مدیریت stack در کنار heap را بررسی کنیم،
* و در نهایت با مطالعه case studyها**، تأثیر عملی این استراتژیها را در برنامههای واقعی درک کنیم.
قبل از ورود به جزئیات، بهتر است مفاهیم پایهای **Virtual Memory در سیستمعامل مرور شود.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
مدیریت حافظه بخش حیاتی هر زبان برنامهنویسی است و Go هم از این قاعده مستثنی نیست. سرعت و کارایی برنامههای Go به شدت وابسته به نحوه تخصیص و مدیریت حافظه است.
هرچند Go با APIهای سادهای مثل
new(T)
, &T{}
و make
پیچیدگیها را از دید برنامهنویس پنهان میکند، اما درک سازوکار پشت پرده به ما کمک میکند:* بفهمیم چگونه runtime بازدهی بالایی دارد،
* نقاط ضعف و گلوگاههای احتمالی را شناسایی کنیم.
در این سری قرار است:
* با اجزای اصلی memory allocator در Go آشنا شویم،
* نحوه مدیریت حافظه برای اشیاء کوچک، متوسط و بزرگ را ببینیم،
* مدیریت stack در کنار heap را بررسی کنیم،
* و در نهایت با مطالعه case studyها**، تأثیر عملی این استراتژیها را در برنامههای واقعی درک کنیم.
قبل از ورود به جزئیات، بهتر است مفاهیم پایهای **Virtual Memory در سیستمعامل مرور شود.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
❤1
Gopher Academy
📌 Memory Allocation in Go 🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go میپردازیم. درک درست از ساختار حافظه به شما کمک میکند عملکرد برنامههایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمید. 🔵 Introduction 🔴 https://t.iss.one/gopher_academy/4231…
🔹 Go’s View of Virtual Memory
یک برنامه Go در اصل یک پردازش فضای کاربر (user-space process) است و همان چیدمان استاندارد حافظه مجازی (Stack, Heap, BSS, Data) را دارد.
در Stack، Go از استک خاصی به نام g0 stack استفاده میکند که به نخ اصلی runtime (m0) متصل است.
متغیرهای global که مقدار اولیه دارند در بخش Data ذخیره میشوند، و متغیرهای global بدون مقدار اولیه در بخش BSS قرار میگیرند.
بر خلاف زبانهای سنتی مثل C که از Heap زیر program break استفاده میکنند، Go این Heap سنتی را برای اشیای خود به کار نمیبرد.
به جای آن، Go برای تخصیص حافظه اشیای heap و استک گوروتینها از memory-mapped segments استفاده میکند.
از اینجا به بعد، وقتی از "heap" در Go صحبت میکنیم، منظور همان بخش memory-mapped است (و نه heap سنتی زیر program break).
👉 به زبان ساده: Go یک heap اختصاصی روی memory-mapped segments میسازد و مدیریت حافظه را خودش انجام میدهد، نه اینکه از heap پیشفرض سیستم عامل استفاده کند.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
یک برنامه Go در اصل یک پردازش فضای کاربر (user-space process) است و همان چیدمان استاندارد حافظه مجازی (Stack, Heap, BSS, Data) را دارد.
در Stack، Go از استک خاصی به نام g0 stack استفاده میکند که به نخ اصلی runtime (m0) متصل است.
متغیرهای global که مقدار اولیه دارند در بخش Data ذخیره میشوند، و متغیرهای global بدون مقدار اولیه در بخش BSS قرار میگیرند.
بر خلاف زبانهای سنتی مثل C که از Heap زیر program break استفاده میکنند، Go این Heap سنتی را برای اشیای خود به کار نمیبرد.
به جای آن، Go برای تخصیص حافظه اشیای heap و استک گوروتینها از memory-mapped segments استفاده میکند.
از اینجا به بعد، وقتی از "heap" در Go صحبت میکنیم، منظور همان بخش memory-mapped است (و نه heap سنتی زیر program break).
👉 به زبان ساده: Go یک heap اختصاصی روی memory-mapped segments میسازد و مدیریت حافظه را خودش انجام میدهد، نه اینکه از heap پیشفرض سیستم عامل استفاده کند.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
❤1🔥1
Gopher Academy
📌 Memory Allocation in Go 🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go میپردازیم. درک درست از ساختار حافظه به شما کمک میکند عملکرد برنامههایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمید. 🔵 Introduction 🔴 https://t.iss.one/gopher_academy/4231…
برای مدیریت بهینهی حافظه، Go حافظهی تخصیصدادهشده از طریق memory mapping را به واحدهای سلسلهمراتبی تقسیم میکند:
ساختار حافظه:
Arena (۶۴MB)
بزرگترین واحد تخصیص در Go.
هر Arena فضایی به اندازهی ثابت ۶۴MB دارد.
اGo سعی میکند Arenaها رو پشتسر هم قرار بده، ولی همیشه تضمین نمیشه (به خاطر رفتار mmap).
Page (۸KB)
هر Arena به صفحات (Page) تقسیم میشود.
سایز هر Page: ۸KB.
این Pageها با Pageهای سیستمعامل (معمولاً ۴KB) متفاوت هستند.
تخصیص اشیاء:
اگر اندازهی شیء کوچکتر از ۸KB باشد → چندین شیء در یک Page جا میگیرند.
اگر اندازهی شیء دقیقاً ۸KB باشد → کل Page را اشغال میکند.
اگر اندازهی شیء بزرگتر از ۸KB باشد → روی چند Page گسترده میشود.
اGoroutine Stack
استک هر goroutine در همین Pageها نگهداری میشود.
هر استک در ابتدا فقط ۲KB است.
بنابراین یک Page (۸KB) میتواند تا ۴ goroutine stack را در خود جا دهد.
به زبان ساده:
اGo حافظه را اول به Arena (۶۴MB) تقسیم میکند، سپس هر Arena را به Page (۸KB) میشکند و این Pageها برای اشیاء مختلف یا استک goroutineها استفاده میشوند.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
ساختار حافظه:
Arena (۶۴MB)
بزرگترین واحد تخصیص در Go.
هر Arena فضایی به اندازهی ثابت ۶۴MB دارد.
اGo سعی میکند Arenaها رو پشتسر هم قرار بده، ولی همیشه تضمین نمیشه (به خاطر رفتار mmap).
Page (۸KB)
هر Arena به صفحات (Page) تقسیم میشود.
سایز هر Page: ۸KB.
این Pageها با Pageهای سیستمعامل (معمولاً ۴KB) متفاوت هستند.
تخصیص اشیاء:
اگر اندازهی شیء کوچکتر از ۸KB باشد → چندین شیء در یک Page جا میگیرند.
اگر اندازهی شیء دقیقاً ۸KB باشد → کل Page را اشغال میکند.
اگر اندازهی شیء بزرگتر از ۸KB باشد → روی چند Page گسترده میشود.
اGoroutine Stack
استک هر goroutine در همین Pageها نگهداری میشود.
هر استک در ابتدا فقط ۲KB است.
بنابراین یک Page (۸KB) میتواند تا ۴ goroutine stack را در خود جا دهد.
به زبان ساده:
اGo حافظه را اول به Arena (۶۴MB) تقسیم میکند، سپس هر Arena را به Page (۸KB) میشکند و این Pageها برای اشیاء مختلف یا استک goroutineها استفاده میشوند.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
❤1👍1🏆1
🔵 عنوان مقاله
GoMLX: An Accelerated Machine Learning Framework for Go
🟢 خلاصه مقاله:
اGoMLX یک مجموعه کتابخانه و ابزار یادگیری ماشین برای زبان Go است که با تمرکز بر اجرای شتابگرفته و تجربهای سازگار با اکوسیستم Go ارائه میشود. این پروژه عملاً نقش جایگزینی برای PyTorch یا TensorFlow در دنیای Go را بازی میکند و ساخت مدل، آموزش، پردازش داده و استنتاج را با APIهای ساده و ایدئوماتیک Go ممکن میسازد. با وجود نام مشابه، هیچ ارتباطی با MLX از Apple ندارد و در حال حاضر فقط روی Linux قابل استفاده است؛ انتخابی که آن را برای محیطهای سروری و کانتینری رایج مناسب میکند.
#GoMLX #Go #MachineLearning #PyTorch #TensorFlow #Linux #MLOps
🟣لینک مقاله:
https://golangweekly.com/link/174649/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GoMLX: An Accelerated Machine Learning Framework for Go
🟢 خلاصه مقاله:
اGoMLX یک مجموعه کتابخانه و ابزار یادگیری ماشین برای زبان Go است که با تمرکز بر اجرای شتابگرفته و تجربهای سازگار با اکوسیستم Go ارائه میشود. این پروژه عملاً نقش جایگزینی برای PyTorch یا TensorFlow در دنیای Go را بازی میکند و ساخت مدل، آموزش، پردازش داده و استنتاج را با APIهای ساده و ایدئوماتیک Go ممکن میسازد. با وجود نام مشابه، هیچ ارتباطی با MLX از Apple ندارد و در حال حاضر فقط روی Linux قابل استفاده است؛ انتخابی که آن را برای محیطهای سروری و کانتینری رایج مناسب میکند.
#GoMLX #Go #MachineLearning #PyTorch #TensorFlow #Linux #MLOps
🟣لینک مقاله:
https://golangweekly.com/link/174649/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - gomlx/gomlx: GoMLX: An Accelerated Machine Learning Framework For Go
GoMLX: An Accelerated Machine Learning Framework For Go - gomlx/gomlx
❤2 1
🔵 عنوان مقاله
TableWriter 1.1: Render Rich Text-Based Tables
🟢 خلاصه مقاله:
جدولنویسی TableWriter 1.1 یک کتابخانه چندمنظوره برای رندر کردن جدولهای متنیِ خوانا در قالبهای مختلف است. خروجیهای استاندارد مانند ASCII، Unicode، Markdown و HTML را پوشش میدهد و برای ترمینالهای رنگی نیز مناسب است؛ بنابراین برای ابزارهای خط فرمان، گزارشها و مستندسازی انتخابی کاربردی محسوب میشود. تمرکز آن بر انعطافپذیری و خوانایی است تا با تنظیم چینش، فاصلهها و مرزبندی، دادههای متفاوت را به شکلی منظم نمایش دهد. README این پروژه با مثالهای فراوان، شروع کار را سریع و بیدردسر میکند.
#TableWriter #ASCII #Unicode #Markdown #HTML #Terminal #CLI #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/174651/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
TableWriter 1.1: Render Rich Text-Based Tables
🟢 خلاصه مقاله:
جدولنویسی TableWriter 1.1 یک کتابخانه چندمنظوره برای رندر کردن جدولهای متنیِ خوانا در قالبهای مختلف است. خروجیهای استاندارد مانند ASCII، Unicode، Markdown و HTML را پوشش میدهد و برای ترمینالهای رنگی نیز مناسب است؛ بنابراین برای ابزارهای خط فرمان، گزارشها و مستندسازی انتخابی کاربردی محسوب میشود. تمرکز آن بر انعطافپذیری و خوانایی است تا با تنظیم چینش، فاصلهها و مرزبندی، دادههای متفاوت را به شکلی منظم نمایش دهد. README این پروژه با مثالهای فراوان، شروع کار را سریع و بیدردسر میکند.
#TableWriter #ASCII #Unicode #Markdown #HTML #Terminal #CLI #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/174651/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - olekukonko/tablewriter: ASCII table in golang
ASCII table in golang. Contribute to olekukonko/tablewriter development by creating an account on GitHub.
❤2
🔵 عنوان مقاله
The Day the Linter Broke My Code
🟢 خلاصه مقاله:
**
روزِ خرابکاریِ linter یادآور این واقعیت است که تحلیل ایستا همیشه تمامِ زمینه را نمیبیند. یک «اصلاح بیضرر»—مثل حذف یک متغیر بهظاهر بلااستفاده—میتواند رفتار پنهانی یا الگوهای پویا را از کار بیندازد و کد را بشکند. راهحل، کنار گذاشتن linter نیست؛ بلکه تنظیم دقیق قوانین، پرهیز از autofix برای تغییرات معنایی، کاهش شدت برخی قوانین، افزودن مستندات و استثناهای صریح، و تکیه بر تستها و بازبینی انسانی است. از lint باید بهعنوان راهنما استفاده کرد، نه مرجع نهایی؛ بهویژه در کدهایی که با الگوهای پویا، reflection یا codegen کار میکنند. با بازخورد به نگهداران ابزارها، استفاده از حالتهای آگاه به نوع (مثل ESLint با TypeScript) و سیاستهای روشن در CI، میتوان مزایای lint را گرفت و ریسک «اصلاحات خطرناک» را کم کرد.
#linting #staticanalysis #codequality #developerexperience #CI #autofix #falsepositives #softwareengineering
🟣لینک مقاله:
https://golangweekly.com/link/174418/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The Day the Linter Broke My Code
🟢 خلاصه مقاله:
**
روزِ خرابکاریِ linter یادآور این واقعیت است که تحلیل ایستا همیشه تمامِ زمینه را نمیبیند. یک «اصلاح بیضرر»—مثل حذف یک متغیر بهظاهر بلااستفاده—میتواند رفتار پنهانی یا الگوهای پویا را از کار بیندازد و کد را بشکند. راهحل، کنار گذاشتن linter نیست؛ بلکه تنظیم دقیق قوانین، پرهیز از autofix برای تغییرات معنایی، کاهش شدت برخی قوانین، افزودن مستندات و استثناهای صریح، و تکیه بر تستها و بازبینی انسانی است. از lint باید بهعنوان راهنما استفاده کرد، نه مرجع نهایی؛ بهویژه در کدهایی که با الگوهای پویا، reflection یا codegen کار میکنند. با بازخورد به نگهداران ابزارها، استفاده از حالتهای آگاه به نوع (مثل ESLint با TypeScript) و سیاستهای روشن در CI، میتوان مزایای lint را گرفت و ریسک «اصلاحات خطرناک» را کم کرد.
#linting #staticanalysis #codequality #developerexperience #CI #autofix #falsepositives #softwareengineering
🟣لینک مقاله:
https://golangweekly.com/link/174418/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍1
Forwarded from Bardia & Erfan
اگه با دلار ۱۰۰۰ تومنی زندگیتو جمع کردی
با دلار ۱۰۰ تومنی نصیحت نکن.
با دلار ۱۰۰ تومنی نصیحت نکن.
❤5🕊1
🔵 عنوان مقاله
Valgo 0.7: An Expressive Validator Library
🟢 خلاصه مقاله:
اValgo 0.7 یک کتابخانه اعتبارسنجی است که با تکیه بر generics، API ایمن از نظر نوع و قابلگسترش ارائه میدهد. بهجای استفاده از struct tags، قواعد بهصورت توابع نوشته میشوند؛ رویکردی که خوانایی، تستپذیری و ترکیبپذیری را افزایش میدهد و وابستگی به رشتهها و reflection را کاهش میدهد. نتیجه، اعتبارسنجی شفافتر و قابلنگهداریتری است که از بررسیهای ساده تا منطقهای پیچیده و دامنهمحور را پوشش میدهد و بهسادگی با لایههای مختلف کد ادغام میشود.
#Validation #Generics #TypeSafety #Extensibility #CleanCode #DeveloperExperience #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/174655/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Valgo 0.7: An Expressive Validator Library
🟢 خلاصه مقاله:
اValgo 0.7 یک کتابخانه اعتبارسنجی است که با تکیه بر generics، API ایمن از نظر نوع و قابلگسترش ارائه میدهد. بهجای استفاده از struct tags، قواعد بهصورت توابع نوشته میشوند؛ رویکردی که خوانایی، تستپذیری و ترکیبپذیری را افزایش میدهد و وابستگی به رشتهها و reflection را کاهش میدهد. نتیجه، اعتبارسنجی شفافتر و قابلنگهداریتری است که از بررسیهای ساده تا منطقهای پیچیده و دامنهمحور را پوشش میدهد و بهسادگی با لایههای مختلف کد ادغام میشود.
#Validation #Generics #TypeSafety #Extensibility #CleanCode #DeveloperExperience #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/174655/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - cohesivestack/valgo: Valgo is a type-safe, expressive, and extensible validator library for Golang. Supports localization…
Valgo is a type-safe, expressive, and extensible validator library for Golang. Supports localization and is built with generics. - cohesivestack/valgo
👍1🔥1
🔵 عنوان مقاله
the top 'programming languages' in 2025
🟢 خلاصه مقاله:
فهرست برترین زبانهای برنامهنویسی در 2025 نشان میدهد کجا واقعاً نرمافزار ساخته و نگهداری میشود؛ معیارهایی مثل میزان استفاده، تقاضای شغلی، بلوغ اکوسیستم، عملکرد و ابزارها در نظر گرفته شده است. زبانهای جاافتاده مثل Python، JavaScript/TypeScript، Java و C# همچنان ستونهای اصلیاند؛ C/C++ برای کارهای کمتأخیر و سیستمها و SQL برای داده ضروریاند، و رشد Rust بر اهمیت ایمنی و کارایی تاکید دارد؛ Kotlin و Swift نیز در موبایل قدرتمند ماندهاند. در این میان، Go در رتبه ۱۰ قرار گرفته چون سادگی، کامپایل سریع، همروندی با goroutine و channel و باینریهای مستقل را با پذیرش گسترده در فضای cloud‑native ترکیب میکند؛ پروژههایی مثل Docker و Kubernetes نقش آن را در زیرساخت نشان میدهند. جمعبندی: 2025 ترکیبی از ثبات و نوآوری است و انتخاب زبان باید بر اساس مسئله، مهارت تیم و نگهداشت بلندمدت باشد—اغلب در چارچوبی چندزبانه و عملگرایانه.
#ProgrammingLanguages #GoLang #Trends2025 #SoftwareEngineering #CloudNative #Developers #Rust #Python
🟣لینک مقاله:
https://golangweekly.com/link/174641/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
the top 'programming languages' in 2025
🟢 خلاصه مقاله:
فهرست برترین زبانهای برنامهنویسی در 2025 نشان میدهد کجا واقعاً نرمافزار ساخته و نگهداری میشود؛ معیارهایی مثل میزان استفاده، تقاضای شغلی، بلوغ اکوسیستم، عملکرد و ابزارها در نظر گرفته شده است. زبانهای جاافتاده مثل Python، JavaScript/TypeScript، Java و C# همچنان ستونهای اصلیاند؛ C/C++ برای کارهای کمتأخیر و سیستمها و SQL برای داده ضروریاند، و رشد Rust بر اهمیت ایمنی و کارایی تاکید دارد؛ Kotlin و Swift نیز در موبایل قدرتمند ماندهاند. در این میان، Go در رتبه ۱۰ قرار گرفته چون سادگی، کامپایل سریع، همروندی با goroutine و channel و باینریهای مستقل را با پذیرش گسترده در فضای cloud‑native ترکیب میکند؛ پروژههایی مثل Docker و Kubernetes نقش آن را در زیرساخت نشان میدهند. جمعبندی: 2025 ترکیبی از ثبات و نوآوری است و انتخاب زبان باید بر اساس مسئله، مهارت تیم و نگهداشت بلندمدت باشد—اغلب در چارچوبی چندزبانه و عملگرایانه.
#ProgrammingLanguages #GoLang #Trends2025 #SoftwareEngineering #CloudNative #Developers #Rust #Python
🟣لینک مقاله:
https://golangweekly.com/link/174641/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
IEEE Spectrum
The Top Programming Languages 2025
Python reigns supreme again, but is AI changing the game for programming languages? Find out how coding is transforming.
💋یادی کنیم از دوتا پست قدیمی این جنل که برای خیلی ها مفید بود
✍️برای برقراری ارتباط بین دو سرویس با استفاده از gRPC
https://t.iss.one/gopher_academy/3051
✍️برای ارتباط بین دو سرویس با استفاده از Kafka
https://t.iss.one/gopher_academy/3052
➖➖➖➖➖➖➖➖
👑 @gopher_academy
✍️برای برقراری ارتباط بین دو سرویس با استفاده از gRPC
https://t.iss.one/gopher_academy/3051
✍️برای ارتباط بین دو سرویس با استفاده از Kafka
https://t.iss.one/gopher_academy/3052
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👨💻1 1