Gopher Academy
3.85K subscribers
930 photos
41 videos
280 files
2.15K links
🕸 Gopher Academy

🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
How to Get Started with GitHub Copilot CLI

🟢 خلاصه مقاله:
** این مطلب با راهنمایی‌ای عملی از Andrea Griffiths (GitHub) نشان می‌دهد چگونه با GitHub Copilot CLI شروع کنید تا در ترمینال، درخواست‌های زبانی خود را به دستورات شِل تبدیل کنید، خطاها و فلگ‌های ناشناخته را توضیح بگیرید و سریع‌تر اشکال‌زدایی کنید. روند آغاز کار ساده است: نصب و ورود به GitHub CLI، افزودن افزونه Copilot و بررسی فعال بودن دسترسی Copilot روی حساب GitHub؛ سپس با gh copilot help و دستورات تولید/توضیح فرمان‌ها، می‌توانید قبل از اجرا خروجی‌ها را بررسی کنید تا از ایمنی کار مطمئن شوید. این ابزار روی Bash، Zsh و PowerShell کار می‌کند و برای وظایف روزمره مثل جست‌وجو، مدیریت پردازه‌ها و کار با Git چرخه بازخورد را کوتاه می‌کند.

هم‌زمان، نوشته‌ای از Redowan Delowar درباره Organizing Go Tests پیشنهاد می‌شود که ساختاردهی حرفه‌ای تست‌های Go را مرور می‌کند: کنار هم نگه‌داشتن فایل‌های *_test.go با کد، به‌کارگیری تست‌های جدول‌محور و زیربخش‌ها با t.Run، استفاده از پوشه testdata برای داده‌های تست، همراه با بنچمارک‌ها، مثال‌ها، نام‌گذاری شفاف، گزارش پوشش و اتصال go test به CI. مجموع این توصیه‌ها هم بهره‌وری توسعه را بالا می‌برد و هم کیفیت و قابلیت اعتماد تست‌ها را.

#GitHub #Copilot #CLI #Go #Testing #DeveloperTools #Productivity #DevOps

🟣لینک مقاله:
https://golangweekly.com/link/175637/web


👑 @gopher_academy
1
🔵 عنوان مقاله
Sift: A Lightweight Terminal UI for Displaying Go Test Results

🟢 خلاصه مقاله:
Sift یک رابط کاربری ترمینالی سبک برای نمایش نتایج آزمون‌های Go است. با لوله‌کردن خروجی JSON در حالت verbose به این ابزار، نتایج به نمای قابل‌پیمایش با بخش‌های تاشو تبدیل می‌شوند تا ابتدا روی موارد مهم تمرکز کنید و فقط هنگام نیاز جزئیات را باز کنید. این رویکرد شلوغی خروجی را کم می‌کند، خوانایی را بالا می‌برد و فرایند عیب‌یابی را در همان محیط ترمینال سریع‌تر و ساده‌تر می‌سازد.

#Go #Testing #TUI #CLI #JSON #DeveloperTools #Sift

🟣لینک مقاله:
https://golangweekly.com/link/175641/web


👑 @gopher_academy
1
🔵 عنوان مقاله
Excelize 2.10: A Pure Go Way to Work with Excel Spreadsheets

🟢 خلاصه مقاله:
نسخه 2.10 از Excelize یک کتابخانه پخته و فعال در اکوسیستم Go است که امکان خواندن و نوشتن فایل‌های XLAM، XLSM، XLSX، XLTM و XLTX را به‌صورت مستقیم و بدون وابستگی‌های بومی فراهم می‌کند. به‌دلیل Pure Go بودن، استقرار ساده است، باینری‌ها قابل حمل‌اند و روی Linux، macOS و Windows پایدار اجرا می‌شوند؛ از محیط‌های ابری و container تا serverless و ابزارهای CLI. این کتابخانه ایجاد و ویرایش فایل‌ها، کار با شیت‌ها، سلول‌ها، استایل‌ها و فرمول‌ها را پوشش می‌دهد و با پشتیبانی از مواردی مانند Data Validation، Conditional Formatting، نمودارها و Pivot Table برای ساخت گزارش‌های حرفه‌ای مناسب است. در این نسخه تمرکز بر پایداری، کارایی و سازگاری بهتر با ویژگی‌های مدرن Excel ادامه یافته و Excelize همچنان گزینه‌ای قابل اتکا برای اتوماسیون Excel در پروژه‌های Go به‌شمار می‌آید.

#Excelize #Go #Golang #Excel #Spreadsheets #OpenSource #DataEngineering #Automation

🟣لینک مقاله:
https://golangweekly.com/link/175639/web


👑 @gopher_academy
2🔥1
Forwarded from Software Engineer Labdon
یک هشدار به همه کسانی که مصاحبه شغلی دارند که کد review هم دارد!
نویسنده از تجربه‌ای را بازگو می کند که با ایجاد فشار روانی بر وی، او را متقاعد کرده بودن که کدهای آلوده nodejs را روی سیستم برای review اجرا کند که در آخرین لحظه شک کرده و ماجرا کشف می شود.

https://blog.daviddodda.com/how-i-almost-got-hacked-by-a-job-interview

<VAHID NAMENI/>
👍431
اخیرا درگیر کوچ کردن از یه سیستم مونولیت قدیمی با Symfony به میکروسرویس با Golang هستم. اونایی که تجربه این مدل کوچ کردن هارو توی سیستم های زیر بار و قدیمی دارن میدونن که مشکل اصلی دیتابیس و جلو رفتن بر اساس اسکیمای فعلی هست و این مدل کوچ ها باید تقریبا بدون Breaking Changes اتفاق بیوفته.

اینجا بود که با SqlBoiler توی زبان Go آشنا شدم.

مزایای SqlBoiler:

۱. ساخت Struct در یک چشم به هم زدن:
به جای اینکه ساعت‌ها بشینم و دستی Structهای گو رو بر اساس جدول‌های دیتابیس بنویسم، SQLBoiler در عرض چند ثانیه تمام مدل‌های Type-Safe ما رو ساخت. وقتم رو خرید، خیلی زیاد!

۲. تمرکز بر دیتابیس (Database-First):
چون دیتابیس ما از قبل وجود داشت، این ابزار خیلی راحت خودشو با Schema ما سینک کرد. انگار ساخته شده بود برای همین وضعیت!

۳. کوئری‌های ایمن و هوشمند:
دیگه نگران خطاهای احمقانه زمان اجرا (Runtime) نیستم. با تولید کوئری‌های Strongly Typed، هر اشتباهی توی نام ستون یا جدول باشه، همون موقع
کامپایل گیر میده.

۴. فقط چیزهای ضروری رو بگیر:
قابلیت Whitelist/Blacklist جدول‌ها و ستون‌ها فوق‌العاده است. توی محیط میکروسرویس که هر سرویس فقط به یه بخش دیتابیس نیاز داره، با این قابلیت فقط مدل‌های مرتبط رو تولید کردم و کد اضافی رو حذف کردم.

اینم لینک گیتهابش:
https://github.com/aarondl/sqlboiler

<Sepehr Mohseni/>
👍32
Forwarded from Bardia & Erfan
دارم پادکست پاول دوروف مال تلگرام رو میبینم

نکته جالبش اینجا اگر برادر نابغش نبود هیچ وقت تلگرامی وجود نداشت

نکته دیگه اینه اگر دقت کرده باشید پاول برعکس مارک زاکربرگ ، ایلان ماسک و . . .

زندگی خیلی لاکچری داره ولی ایلان و زاکربرگ همیشه ساده پوشن و خیلی زنی بی آلایشی از خودشون نشون میدن

حتی مارک و ایلان نهایتا ۶ تا ۸  ساعت میخوابن و پاول ۱۲ ساعت

دلیلش از نظر من خیلی جالبه

ایلان و زاکربرگ تمام سهام شرکتشون برای خودشون نیست! سرمایه گذار های بزرگی پشتشونه و هروقت بیان خودشون رو اینطور نشون بدن قطعابا فشار زیادی مواجه میشن

ولی پاول مالک خودش هست و برادرش و کلا ۴۰ برنامه نویس

هیچ وقت هم جواب به کسی نمیده

نکات خیلی زیادی داره این شخص پیشنهاد میکنم حتما درموردش مطالعه کنید

https://www.youtube.com/watch?v=qjPH9njnaVU
👍5🔥221
🔵 عنوان مقاله
A Modern Approach to Preventing CSRF/CORF in Go

🟢 خلاصه مقاله:
این مقاله یک رویکرد مدرن برای مقابله با حملات CSRF/CORF در Go معرفی می‌کند. به‌جای تکیه بر tokens، در Go 1.25 یک middleware به نام http.CrossOriginProtection ارائه شده که با استفاده از سیگنال‌های امنیتی مرورگر (مانند Fetch Metadata و سیاست‌های SameSite) میان درخواست‌های امن هم‌مبداء و درخواست‌های مشکوک بین‌مبداء تفکیک ایجاد می‌کند. این میان‌افزار به‌طور پیش‌فرض درخواست‌های امن را می‌پذیرد و درخواست‌های تغییر‌دهنده حالت از مبداءهای نامطمئن را مسدود می‌کند، درحالی‌که برای مسیرهای ضروری (مثل OAuth callback یا webhook) قابلیت allowlist دارد و با CORS نیز سازگار است. نتیجه، کاهش پیچیدگی پیاده‌سازی CSRF، تکیه بر قابلیت‌های جدید مرورگرها، و استقرار مرحله‌ای (از حالت گزارش تا اعمال) است؛ ضمن اینکه جایگزین احراز هویت و کنترل دسترسی نیست، بلکه مکمل آن‌هاست.

#Go #CSRF #WebSecurity #FetchMetadata #SameSite #Middleware #GoLang #Security

🟣لینک مقاله:
https://golangweekly.com/link/175634/web


👑 @gopher_academy
4
🔵 عنوان مقاله
Gist of Go: Atomics

🟢 خلاصه مقاله:
در Go، atomics مجموعه‌ای از عملیات سطح‌پایین در بسته sync/atomic هستند که امکان دسترسی thread-safe و lock-free به مقادیر حافظه مشترک را می‌دهند. آن‌ها برای متغیرهای ساده (مثل شمارنده‌ها، فلگ‌های وضعیت، و تعویض ایمن یک اشاره‌گر پیکربندی) بسیار سریع و مناسب‌اند و با Load/Store، Add/Swap و CAS رابطه‌های happens-before لازم را تضمین می‌کنند. وقتی نیاز به حفظ ناهمبستگی‌های چندفیلدی دارید یا به‌روزرسانی چندمرحله‌ای می‌خواهید، استفاده از mutex یا کانال‌ها شفاف‌تر و کم‌خطرتر است. از اختلاط دسترسی atomic و non-atomic به یک متغیر خودداری کنید، به هم‌ترازی و false sharing توجه کنید، و برای داده‌های read-mostly از atomic.Value بهره ببرید. نتیجه: در سناریوهای محدود، همزمانی بدون mutex واقعا شدنی است—به شرط رعایت دقیق مدل حافظه و الگوهای درست.

#golang #concurrency #atomics #lockfree #CAS #multithreading #memorymodel

🟣لینک مقاله:
https://golangweekly.com/link/175632/web


👑 @gopher_academy
2👍1
🔵 عنوان مقاله
CPU Cache-Friendly Data Structures in Go: 10x Speed with Same Algorithm

🟢 خلاصه مقاله:
** این مقاله نشان می‌دهد که در Go می‌توان بدون تغییر الگوریتم و فقط با بهینه‌سازی نحوهٔ دسترسی به حافظه، به بهبودهایی تا ۱۰ برابر رسید. ایدهٔ اصلی این است که با بهره‌گیری از محلیّت در CPU و نگه داشتن داده‌های «داغ» در حافظهٔ پیوسته، تعداد cache miss به شدت کم می‌شود. راهکارهای کلیدی شامل استفاده از sliceهای پیوسته به‌جای ساختارهای پر از pointer، فشرده‌سازی و چیدمان درست فیلدهای struct، انتخاب آگاهانه بین AoS و SoA، کاهش تخصیص‌ها و استفاده از sync.Pool برای بازاستفادهٔ حافظه، و اجتناب از false sharing در برنامه‌های همزمان است. اندازه‌گیری با ابزارهای benchmark و pprof کمک می‌کند ببینیم گلوگاه واقعاً از کجاست. نتیجهٔ عملی طبق تجربهٔ Serge Skoredin: با حفظ همان منطق، تنها با طراحی cache‑friendly در Go می‌توان جهش‌های بزرگ کارایی به‌دست آورد.

#Go #Golang #CPUCache #Performance #DataStructures #SystemsProgramming #Optimization #LowLatency

🟣لینک مقاله:
https://golangweekly.com/link/175636/web


👑 @gopher_academy
1🔥1
Gopher Academy
📌 Memory Allocation in Go این پست اپدیت می‌شود 🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go می‌پردازیم. درک درست از ساختار حافظه به شما کمک می‌کند عملکرد برنامه‌هایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمید. 🔵 Introduction…
☝️☝️☝️☝️☝️☝️☝️☝️☝️
این پست اپدیت می‌شود

🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go می‌پردازیم.

درک درست از ساختار حافظه به شما کمک می‌کند عملکرد برنامه‌هایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمی
4
This media is not supported in your browser
VIEW IN TELEGRAM
31
یه ابزار باحال برای به اشتراک گذاری صفحه‌نمایش که با go مخصوص developerها نوشته شده
- کیفیت بالا و تاخیر کم
- می‌تونیم روی سرور خودمون بالا بیاریم
- نصب ساده با داکر
-امنیت بالا اگر براتون مهم باشه

https://github.com/screego/server

<Milad Niroee/>
👍3🔥1
🔵 عنوان مقاله
Oto 3.4: Low-Level Cross-Platform Sound Library

🟢 خلاصه مقاله:
Oto 3.4 یک کتابخانه صوتی سطح‌پایین و چندسکویی است که با ساده‌سازی تفاوت‌های سیستم‌های مختلف، پخش صوتی یکنواختی ارائه می‌دهد. این کتابخانه در Ebitengine برای اجرای صدا روی Windows، macOS، Linux، Nintendo Switch و iOS به‌کار می‌رود و بدون نیاز به بازنویسی کد صوتی برای هر پلتفرم، ادغام آسان و قابل اتکایی فراهم می‌کند. رویکرد سطح‌پایین Oto با تمرکز بر قابل‌حمل‌بودن و پایداری، زیرساختی سبک و مطمئن برای صدا در بازی‌های دوبعدی و اپلیکیشن‌های تعاملی ارائه می‌دهد.

#Oto #Ebitengine #GameDev #Audio #CrossPlatform #SoundLibrary #NintendoSwitch

🟣لینک مقاله:
https://golangweekly.com/link/175643/web


👑 @gopher_academy
🔵 عنوان مقاله
15 Go Subtleties You May Not Already Know

🟢 خلاصه مقاله:
این مقاله یک مرور جمع‌وجور و کاربردی از ۱۵ ظرافت کمترشناخته‌شده در Go است؛ نکاتی که معمولاً در بازبینی کد و اشکال‌زدایی مهم می‌شوند. از تفاوت nil در اینترفیس‌ها تا تفاوت گیرنده‌های اشاره‌ای و مقداری، رفتار slice و map، ترتیب پیمایش map و زمان‌بندی و هزینه defer، همگی با مثال‌های کوتاه بیان شده‌اند. بخش‌هایی درباره همزمانی و الگوهای هماهنگی (جلوگیری از نشت goroutine و استفاده درست از context) و نیز ظرایف کار با زمان—از تفاوت زمان یکنواخت و دیواری تا کار با تایمرها، tickerها و بسته time—هم پوشش داده می‌شود. نتیجه: مطلبی سریع و قابل مرور که حتی اگر فقط چند نکته‌اش برایتان تازه باشد، ارزش خواندن دارد؛ و اگر همه را می‌دانید، حس خوبی از تأیید دانسته‌هایتان می‌گیرید.

#Go #Golang #time #Concurrency #ProgrammingTips #SoftwareEngineering #GoTips

🟣لینک مقاله:
https://golangweekly.com/link/175625/web


👑 @gopher_academy
Forwarded from AI Labdon
🚗 کسب درآمد جدید برای رانندگان Uber با کمک به هوش مصنوعی!

▪️اوبر از یه قابلیت تازه رونمایی کرده که راننده‌هاش می‌تونن در زمان‌های بیکار، با انجام تسک‌های کوچیک به تمرین مدل‌های هوش مصنوعی کمک کنن و پول بگیرن!

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

+ هم درآمد راننده‌ها بیشتر میشه ، هم اوبر داده‌های واقعی و متنوع برای آموزش مدل‌های هوش مصنوعی جمع میکنه!
Forwarded from Software Engineer Labdon
♨️ اسپاتیفای در حال تست قابلیتی برای استخراج DNA آهنگ!

▪️با این ویژگی قراره بفهمید چه کسانی پشت هر آهنگ بودن ، از ترانه‌سرا و تهیه‌کننده گرفته تا نوازنده‌ها. یعنی اگه مثلاً آهنگ جدید Taylor Swift رو دوست داری و تهیه‌کننده‌ش Max Martin باشه، اسپاتیفای ، آهنگ‌های دیگه‌ای از مکس مارتین رو بهت پیشنهاد میده!

+ این یعنی یه لایه‌ی تازه از پیشنهاد موزیک: نه فقط بر اساس «چی گوش دادی»، بلکه بر اساس «کی اون آهنگ رو ساخته».
🔵 عنوان مقاله
Go 1.25.3 and 1.24.9 have been released

🟢 خلاصه مقاله:
نسخه‌های Go 1.25.3 و 1.24.9 منتشر شدند. این به‌روزرسانی‌های جزئی، مشکل ایجاد‌شده توسط یک وصله امنیتی قبلی را که هنگام parse کردن X بیش از حد سخت‌گیرانه عمل می‌کرد، برطرف می‌کنند. ویژگی جدیدی اضافه نشده و تغییرات محدود به منطق parse مرتبط با X است. به کاربران شاخه‌های 1.25 و 1.24 توصیه می‌شود برای حفظ سازگاری و امنیت، به این نسخه‌ها ارتقا دهند و پس از ارتقا، تست‌ها را اجرا کنند.

#Go #Golang #Security #Release #Patch #Bugfix #Parsing #Update

🟣لینک مقاله:
https://golangweekly.com/link/175627/web


👑 @gopher_academy
Forwarded from Software Engineer Labdon
تا حالا اسم Server-Driven UI یا همون SDUI رو شنیدی؟

توی مدل معمولی ساخت اپ (Client-Driven UI)، همه‌چی از طراحی صفحه تا منطق رابط کاربری داخل خود اپ نوشته میشه.
یعنی حتی برای یه تغییر کوچیک تو رنگ، متن یا چیدمان، باید اپ رو دوباره بیلد کنی، منتشرش کنی و صبر کنی تا کاربر آپدیت کنه

اما SDUI یه نگاه جدید به این موضوع داره
توی این مدل، UI از سمت سرور تعریف میشه و اپ فقط اون داده‌ها رو می‌گیره و رندر می‌کنه.
نتیجه؟ می‌تونی ظاهر اپ رو از راه دور و بدون نیاز به آپدیت کاربر تغییر بدی!

برای ما فلاتر‌کارها هم یه پکیج خیلی کاربردی توی این حوزه ساخته شده به اسم Stac (قبلاً با نام Mirai شناخته می‌شد).

پکیج Stac یه فریم‌ورک SDUI مخصوص فلاتره که اجازه میده UI رو به صورت JSON از سرور بفرستی و اپ اون رو مثل ویجت‌های فلاتر رندر کنه.

چند تا مزیت مهمش:
- تغییر سریع UI بدون انتشار نسخه جدید
- شخصی‌سازی برای هر کاربر
- تست A/B راحت‌تر
- انعطاف بالا برای تیم‌های چابک (Agile)

اگه دنبال راهی هستی که اپ فلاترت رو پویا، سبک و قابل‌به‌روزرسانی از سرور بسازی،
پیشنهاد می‌کنم یه سر به Stac بزنی
معرفی در Medium
https://medium.com/stac/introducing-mirai-a-server-driven-ui-framework-for-flutter-d020fd0c387d

<Aria Ramin/>
🔵 عنوان مقاله
Goiaba: An Experimental Go Parser and Compiler in Rust

🟢 خلاصه مقاله:
** Goiaba یک پروژه آزمایشی و در حال توسعه است که با Rust نوشته می‌شود تا کد Go را پردازش کرده و خروجی WebAssembly تولید کند؛ هدف اصلی آن یادگیری مباحث ساخت parser و compiler است، نه عرضه یک ابزار آماده تولید. تمرکز پروژه بر شفافیت و درک‌پذیری است، بنابراین پوشش کامل ویژگی‌های Go و کارایی بالا در اولویت نیست و ممکن است بسیاری از بخش‌ها ناقص یا آزمایشی باشند. معماری ماژولار آن برای آزمایش و گسترش آسان طراحی شده و هدف‌گیری WebAssembly امکان اجرا در مرورگرها و زمان‌اجرای سبک را فراهم می‌کند. این پروژه می‌تواند مرجعی آموزشی برای علاقه‌مندان به compiler، parser و ابزارهای WebAssembly باشد و در آینده احتمالاً پوشش زبانی بهتر، تست و مستندسازی بیشتر و بهینه‌سازی‌های پایه را دنبال می‌کند.

#Goiaba #Go #Rust #WebAssembly #Compiler #Parser #ProgrammingLanguages #LearningProject

🟣لینک مقاله:
https://golangweekly.com/link/175645/web


👑 @gopher_academy
2
🔵 عنوان مقاله
the Cup o'Go podcast

🟢 خلاصه مقاله:
آخرین شماره Golang Weekly پادکست Cup o'Go را برجسته کرده و آن را به‌عنوان همراهی صوتی و به‌روز برای پیگیری روندها و مباحث مهم دنیای Go معرفی می‌کند. این پادکست با مرور خبرها، نکات عملی و گفت‌وگو درباره ویژگی‌های زبان، ابزارها و الگوهای عملکرد، به توسعه‌دهندگان در سطوح مختلف کمک می‌کند تا بدون صرف زمان زیاد، در جریان تغییرات اکوسیستم Go بمانند و از محتوای کیوریت‌شده Golang Weekly یک مکمل کاربردی بسازند.

#Golang #GoDevelopers #GolangWeekly #CupOGo #Podcast #SoftwareEngineering #Backend #OpenSource

🟣لینک مقاله:
https://golangweekly.com/link/175631/web


👑 @gopher_academy
11
🔵 عنوان مقاله
AWS Lambda for Go 1.50

🟢 خلاصه مقاله:
این مقاله اعلام می‌کند که AWS Lambda از Go 1.50 پشتیبانی می‌کند و مجموعه‌ای از نمونه‌ها و ابزارها برای ساخت سرویس‌های Serverless ارائه می‌دهد. محورها شامل استفاده از کتابخانه aws-lambda-go، ادغام با رویدادهای Amazon API Gateway، Amazon S3، Amazon DynamoDB و AWS Step Functions، و مشاهده‌پذیری از طریق Amazon CloudWatch و AWS Lambda Powertools for Go است. برای استقرار و اتوماسیون، از AWS SAM، AWS CDK و Serverless Framework استفاده می‌شود؛ تست محلی با AWS SAM CLI و شبیه‌ساز رابط زمان‌اجرا ممکن است، و استقرار هم به‌صورت zip و هم Container Image پشتیبانی می‌شود. نکات عملی شامل ساخت باینری‌های کوچک برای linux/amd64 یا linux/arm64، بهره‌گیری از Lambda Layers، بهینه‌سازی سرداستارت با مقداردهی اولیه سراسری و Provisioned Concurrency، تنظیم بهینه حافظه/CPU، انتخاب arm64 برای کارایی-به‌ازای-هزینه، و مدیریت امن رازها با AWS Secrets Manager یا AWS Systems Manager Parameter Store است؛ همچنین برای مهاجرت از نسخه‌های قبلی Go بر بررسی وابستگی‌ها و تنظیم پرچم‌های ساخت تأکید می‌شود.

#AWS #AWSLambda #Go #Serverless #Cloud #DevOps #InfrastructureAsCode #Observability

🟣لینک مقاله:
https://golangweekly.com/link/175649/web


👑 @gopher_academy
1🔥1