Gopher Academy
3.33K subscribers
915 photos
40 videos
279 files
1.96K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Practical Patterns for Graceful Shutdowns

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
Persian Gulf | TAK3DA.COM
Shadmehr Aghili
آهنگ جدید شادمهر عقیلی - خلیج فارس

https://t.me/addlist/KpzXaiSpKENkMGM0
4👍2
🔵 عنوان مقاله
Proposal: Add Bare Metal Support to Go?

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
2
🔵 عنوان مقاله
Odin: A Pragmatic C Alternative with a Go Flavor

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Organize Your Go Middleware Without Dependencies

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
👍2🎉21
در زبان برنامه‌نویسی Go (Golang)**، متد `time.NewTicker` برای اجرای **عملیاتی تکراری در فواصل زمانی مشخص به کار می‌رود.

---

### 📌 تعریف:

ticker := time.NewTicker(duration)


* duration → فاصله زمانی بین اجرای هر بار (مثلاً: 1*time.Second)
* ticker.C → یک کانال (channel) است که هر بار بعد از گذشت مدت زمان مشخص، یک مقدار time.Time در آن ارسال می‌شود.

---

### 🧠 کاربرد اصلی:

* اجرای یک عملیات به صورت پریودیک (دوره‌ای)
* مثلاً برای:

* چک کردن وضعیت سرویس‌ها
* خواندن داده از صف یا کانال
* اجرای یک تسک background در فواصل زمانی مشخص

---

### مثال ساده:

package main

import (
"fmt"
"time"
)

func main() {
ticker := time.NewTicker(2 * time.Second)
defer ticker.Stop()

for i := 0; i < 5; i++ {
t := <-ticker.C
fmt.Println("Tick at", t)
}
}


⏱️ خروجی:

Tick at 2025-05-12 02:00:02 +0000 UTC
Tick at 2025-05-12 02:00:04 +0000 UTC
...


---

### ⚠️ نکات مهم:

* حتماً بعد از پایان استفاده ticker.Stop() فراخوانی بشه تا نشتی منابع (goroutine leak) نداشته باشیم.
* NewTicker در کنار select هم بسیار کاربرد داره.
👍7
🔵 عنوان مقاله
k6 1.0: A Go-Powered Load Testing Tool

🟢 خلاصه مقاله:

مقاله به معرفی ابزار نسل بار مدرن و کاملی می‌پردازد که با استفاده از موتور جاوا اسکریپت قدرت یافته توسط Sobek Go، امکان نوشتن اسکریپت‌های آزمایشی به زبان جاوا اسکریپت را فراهم می‌کند. نسخه ۱.۰ این ابزار استقرار و پشتیبانی عالی از TypeScript را وعده داده و قابلیت تنظیم و گسترش آسان‌تری را ارائه می‌دهد، که آن را برای توسعه‌دهندگان جذاب‌تر می‌کند.

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


👑 @gopher_academy
3
🔵 عنوان مقاله
Building a More Accessible GitHub CLI

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
👍3
🔵 عنوان مقاله
nativewebp: Native WebP Image Library

🟢 خلاصه مقاله:

فرمت تصویری WebP که برای فشرده‌سازی تصاویر با کیفیت بالا و پایین کاربرد دارد، در وب بسیار محبوب است. کتابخانه‌ای برای زبان برنامه‌نویسی Go وجود دارد که بدون نیاز به وابستگی‌های خارجی، امکان کار با فرمت WebP را فراهم می‌کند. نسخه ۱.۲ این کتابخانه، که به تازگی منتشر شده، پشتیبانی کامل از انیمیشن‌های WebP را اضافه کرده است، بدین ترتیب امکان استفاده و دستکاری فایل‌های WebP ثابت و متحرک در برنامه‌های Go فراهم شده است.

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
wget to Wipeout: Malicious Go Modules Fetch Destructive Payload

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Don't Make These Feature Flag Mistakes

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
GoVisual: A Pure-Go HTTP Request Visualizer and Debugger

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
Forwarded from Gopher Academy
اینجا یه مجموع helper از کامند های کار کرد با فایل go.mod رو براتون گذاشتم 👇👇👇

https://t.me/gopher_academy/3672

https://t.me/gopher_academy/3673


https://t.me/addlist/KpzXaiSpKENkMGM0
👍1
Forwarded from Gopher Academy
📢 اگر تلگرام پرمیوم دارید، کانال ما رو Boost کنید ! 🚀

با Boost کردن کانال، به رشد و دیده شدن ما بیشتر کمک کنید💙

https://t.me/boost/gopher_academy
1🎉1
🔵 عنوان مقاله
pdfcpu: A PDF Processing and Manipulation Library

🟢 خلاصه مقاله:

ابزارهای نرم افزاری جدید امکانات زیادی در مدیریت اسناد PDF فراهم کرده‌اند. این ابزارها به کاربران اجازه می‌دهند تا PDFها را تأیید، بهینه‌سازی، تقسیم، ادغام کرده و عناصری را از آن‌ها استخراج کنند. نسخه جدید این نرم‌افزار از اعتبارسنجی امضای دیجیتال پشتیبانی کرده و در بهبود کیفیت تصاویر موجود در PDF‌ها نیز پیشرفت‌هایی حاصل شده است. این نرم‌افزار از طریق مخزن GitHub قابل دسترسی است.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Which Go Router Should I Use?

🟢 خلاصه مقاله:

در مقاله به روز شده خود برای سال ۲۰۲۵، الکس به بررسی روش‌های مختلف مسیریابی در شبکه‌ها پرداخته است. او با ارائه مزایا و معایب هر روش، تحلیل دقیقی از گزینه‌های موجود ارائه داده و با تهیه نمودار جریان تصمیم‌گیری، به مدیران سیستم و معماران شبکه کمک می‌کند تا بر اساس نیازهای خاص مانند اندازه شبکه، نیازهای امنیتی، و قابلیت ارتقاء، مناسب‌ترین روش مسیریابی را انتخاب نمایند. او همچنین فهرستی از گزینه‌های دیگر مسیریابی را ارائه داده، که می‌تواند در موارد تخصصی یا با پیشرفت‌های فناوری جدید مرتبط باشد.

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


👑 @gopher_academy
🔵 عنوان مقاله
UPX 5.0: The 'Ultimate Packer' for EXecutables

🟢 خلاصه مقاله:

UPX یک ابزار برای کاهش حجم فایل‌های اجرایی از طریق فشرده‌سازی و بازیابی داده‌ها در زمان اجرا است. این ابزار که در سال ۲۰۱۹ توسط بن بویتر بر روی فایل‌های اجرایی نوشته شده با زبان برنامه‌نویسی Go مورد استفاده قرار گرفت، منحصر به فرد نبوده و برای زبان‌های مختلف مناسب است. استفاده از UPX منجر به کاهش قابل توجه در حجم فایل‌های اجرایی می‌شود، که به نوبه خود منجر به صرفه‌جویی در پهنای باند و فضای ذخیره‌سازی می‌گردد.

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


👑 @gopher_academy
🔵 عنوان مقاله
Fx 36.0: A Command-Line JSON Processing Tool

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Centralize HTTP Error Handling in Go

🟢 خلاصه مقاله:

مقاله به بررسی روش نوآورانه‌ای برای مدیریت بهینه‌تر HTTP handlers با استفاده از تابع wrapper و خطای سفارشی می‌پردازد. این روش با ایجاد نوع خطای سفارشی و تابع wrapper که دور HTTP handlers پیچیده می‌شود، کمک می‌کند تا خطاها به طور موثرتری مدیریت شوند و ساختار کد نظیف‌تر و قابل نگهداری‌تری داشته باشد. با اعمال این الگو، توسعه‌دهندگان می‌توانند پاسخ‌ها را استاندارد کرده و کدهای تکراری را کاهش دهند.

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


👑 @gopher_academy
🔵 عنوان مقاله
New Experimental 'Green Tea' Garbage Collector

🟢 خلاصه مقاله:

مقاله‌ای پیشنهادی با معرفی یک الگوریتم جمع‌آوری زباله (GC) جدید و مبتنی بر اسپن، که "آگاه از حافظه" بوده و برای اشیاء کوچک ساخته شده است، به‌منظور بهبود موقعیت مکانی و زمانی در سیستم‌های مدرن چند CPU توسط بهره‌گیری بهتر از توپولوژی‌های حافظه و سلسله‌مراتب کش مطرح شده است. نتایج اولیه بنچمارک‌ها مخلوط هستند، اما هنوز روزهای اولیه‌اند. شما اکنون می‌توانید با استفاده از ابزار gotip آن را امتحان کنید و قرار است به عنوان یک آزمایش اختیاری در Go 1.25 عرضه شود.

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


👑 @gopher_academy
👍2