Gopher Academy
3.84K subscribers
930 photos
41 videos
280 files
2.16K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Subtest Grouping in Go

🟢 خلاصه مقاله:
این مقاله از Golang Weekly توضیح می‌دهد چگونه با استفاده از T.Run در بسته testing می‌توان زیر‌آزمون‌ها را گروه‌بندی کرد تا تست‌های بزرگ و Table-Driven خواناتر، قابل نگهداری‌تر و قابل فیلترشدن شوند. با نام‌گذاری سلسله‌مراتبی مثل "Parser/Valid" یا "Auth/Admin/Permissions" می‌توان با go test -run فقط یک گروه یا یک مورد خاص را اجرا کرد و همان الگو برای Benchmarks با B.Run نیز کاربرد دارد. مزیت دیگر این الگو، مدیریت ساده‌تر Setup/Teardown با تکیه بر Closure و t.Cleanup و همچنین امکان موازی‌سازی امن با t.Parallel است. مقاله بر نام‌های شفاف، پرهیز از وضعیت مشترک قابل تغییر، گروه‌های منسجم، و استفاده از t.Helper برای ساده‌سازی تأکید می‌کند؛ ضمن اینکه خروجی ساخت‌یافته تست‌ها با -json و ابزارها/IDEها به‌خوبی یکپارچه می‌شود و عیب‌یابی و سرعت توسعه را بهبود می‌دهد.

#Go #Golang #Testing #Subtests #GoTesting #GolangWeekly #SoftwareTesting

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Durable Background Execution with Go and SQLite

🟢 خلاصه مقاله:
این مقاله نشان می‌دهد چگونه می‌توان با ترکیب Go و SQLite یک سیستم اجرای پس‌زمینه‌ای ساخت که در برابر کرش و راه‌اندازی مجدد مقاوم است، بدون نیاز به سرویس‌های خارجی. الگوی اصلی شامل صف کاری مبتنی بر SQLite با ستون‌هایی برای وضعیت، شمارش تلاش‌ها و زمان اجاره (lease) است؛ کارگرها کار را در تراکنش می‌گیرند، با زمان اجاره کوتاه اجرا می‌کنند، و نتیجه را ثبت می‌کنند تا در صورت کرش، کار دوباره قابل بازیابی باشد. با فعال‌سازی WAL، شاخص‌گذاری درست، backoff نمایی و الزام به idempotency، معمولاً به تضمین at-least-once می‌رسیم. کنترل همزمانی با worker pool، خاموش‌سازی تمیز با سیگنال‌ها و context، و رصد شاخص‌هایی مانند نرخ خطا و زمان پردازش از ملزومات عملیاتی است. برای آزمودن این رفتارها، استفاده از Subtest Grouping in Go (با ایده‌هایی از Dima Kotik و Redowan Delowar) کمک می‌کند سناریوها به‌صورت گروهی، خوانا و قابل موازی‌سازی بررسی شوند.

#Go #SQLite #BackgroundJobs #Durability #GoTesting #Subtests #Concurrency #SoftwareDesign

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


👑 @gopher_academy
👍1