Gopher Academy
3.33K subscribers
914 photos
40 videos
279 files
1.95K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72

ادمین تبلیغات:
@labdon_ads
Download Telegram
در زبان برنامه‌نویسی 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
Forwarded from Software Engineer Labdon
🔵 عنوان مقاله
Huge Ransomware Campaign Targets AWS S3 Storage (3 minute read)

🟢 خلاصه مقاله:
محققان امنیتی یک سرور عمومی را کشف کرده‌اند که حاوی 1,229 مدرک منحصر به فرد AWS بود. تحقیقات نشان داد که این کلیدهای فعال در کمپین‌های رمزگذاری ransomware S3 استفاده شده‌اند، جایی که مهاجمان از SSE-C برای رمزنگاری داده‌های باکت S3 و درخواست 0.3 بیت کوین (تقریباً 25,000 دلار) برای هر قربانی استفاده کرده‌اند. در برخی موارد، مهاجمانی که به شدت خودکار بودند، حاضر به ارائه آزمایش بازیابی فایل "اثبات رمزگشایی" شده‌اند. این یافته‌ها نگرانی‌های جدی در مورد امنیت داده‌ها در فضای ابری و ضرورت اتخاذ تدابیر امنیتی پیشرفته‌تر برای حفاظت از اطلاعات و جلوگیری از حملات مشابه را افزایش می‌دهد.

🟣لینک مقاله:
https://cybernews.com/security/aws-cloud-storage-bucket-ransomware-attacks/?utm_source=tldrinfosec


👑 @software_Labdon
👍2
🔵 عنوان مقاله
Compress: Optimized Compression Packages for Go

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

مقاله به تجزیه و تحلیل جامع استانداردهای مختلف فشرده‌سازی پرداخته که شامل zstandard، S2، gzip، snappy، و zip می‌باشد. هر یک از این استانداردها خصوصیات منحصر به فردی دارند و بسته به نیاز کاربردی، سرعت و کارایی فشرده‌سازی، مزایای مختلفی ارائه می‌دهند. این مقاله به خوبی ویژگی‌های کلیدی و موارد استفاده ایده‌آل هر استاندارد را خلاصه کرده است تا افراد و سازمان‌ها بتوانند بر اساس نیازهای خاص فشرده‌سازی داده‌های خود تصمیم‌ گیری کنند.

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


👑 @gopher_academy
🔵 عنوان مقاله
Goldmark: A Markdown Parser Written in Go

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

این مقاله یک تجزیه‌کننده مارک‌داون به نام Pure Go را معرفی می‌کند که قابلیت گسترش دادن راحتی دارد و با استانداردهای CommonMark، که مبنایی برای Markdown سبک GitHub است، سازگار است. همچنین به وب‌ مبتنی بر WebAssembly به نام Goldmark اشاره می‌کند که کاربران می‌توانند از قابلیت‌های تجزیه‌کننده Pure Go در آن به صورت آنلاین استفاده و به قابلیت‌ها و انعطاف‌پذیری این ابزار پی ببرند.

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


👑 @gopher_academy
👍4
🔵 عنوان مقاله
Ian Lance Taylor Has Left Google

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

یکی از مهمترین مشارکت‌کنندگان و خالق اصلی رابط کاربری Go برای GCC، از گوگل و در نتیجه از پروژه Go جدا شده است. وی ابراز امیدواری کرده که روزی دوباره به عنوان یک مشارکت‌کننده به این پروژه بازگردد. خبر این جدایی موجب واکنش‌ها و گمانه‌زنی‌های فراوان در بخش نظرات یک رشته محبوب در Hacker News شده است. یکی از نظرات برجسته در این بحث تاکید دارد که "سخت است اهمیت خدمات این فرد برای جامعه Go را بیش از حد برآورد کرد". این تغییر، آینده پروژه Go در گوگل و تاثیر آن بر جامعه برنامه‌نویسان را مورد سوال قرار می‌دهد.

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


👑 @gopher_academy
👍3
🔵 عنوان مقاله
Outpost: Outbound Webhooks and Event Destinations Infrastructure

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

در این مقاله روشی برای افزودن وب‌هوک‌ها و رویدادهای خروجی قابل اعتماد به برنامه‌ها مورد بررسی قرار می‌گیرد که با انواع مقصدها نظیر Amazon EventBridge، AWS SQS، AWS SNS، GCP Pub/Sub، RabbitMQ و Kafka سازگار است. بحث اصلی بر اهمیت وب‌هوک‌ها و معماری مبتنی بر رویداد در توسعه برنامه‌های مدرن تمرکز دارد و راهکارهای فنی برای راه‌اندازی این فناوری‌ها به ازای هر یک از سرویس‌های ذکر شده ارائه می‌دهد. در نهایت، مزایای استفاده از انواع مختلف مقصدها در فرستادن وب‌هوک‌ها و رویدادها و افزایش انعطاف‌پذیری و تحمل خطا در برنامه‌ها مورد تأکید قرار می‌گیرد.

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


👑 @gopher_academy
👍3