Gopher Academy
3.85K subscribers
933 photos
42 videos
280 files
2.19K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
urfave/cli 3.1: A Declarative Way to Build Go CLI Apps

🟢 خلاصه مقاله:
این نسخه از urfave/cli 3.1 روشی اعلامی برای ساخت برنامه‌های CLI در Go ارائه می‌دهد: کافی است فرمان‌ها، زیر‌فرمان‌ها و پرچم‌ها را تعریف کنید تا چارچوب کارهای مربوط به parsing گزینه‌ها، مقدارهای پیش‌فرض، env vars، و تولید خودکار help/usage را انجام دهد. پشتیبانی از shell auto-completion، جداسازی پرچم‌های سراسری و مخصوص هر فرمان، و قابلیت سفارشی‌سازی خروجی help به ساخت ابزارهای چندفرمانی منسجم و قابل نگه‌داری کمک می‌کند. راهنمای پروژه نیز ویژگی‌های کلیدی و الگوهای پیشنهادی را با مثال‌های روشن پوشش می‌دهد—از جمله auto-completion، option parsing و help text—تا توسعه و انتشار CLIهای حرفه‌ای در Go ساده‌تر شود.

#Go #Golang #CLI #urfavecli #CommandLine #GoLibraries #DevTools #OpenSource

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
superfile: Go-Powered Terminal-Based File Manager

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

#superfile #Go #Golang #Terminal #TUI #FileManager #OpenSource #BubbleTea

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


👑 @gopher_academy
1
🔵 عنوان مقاله
The Draft Go 1.26 Release Notes

🟢 خلاصه مقاله:
نسخه‌ی پیش‌نویس Release Notes برای Go 1.26 با وجود ادامه‌ی توسعه منتشر شده و زمان انتشار آن برای February 2026 برنامه‌ریزی شده است. این متن، تغییراتی را که احتمالاً به نسخه نهایی راه پیدا می‌کنند، فهرست می‌کند و در عین حال برای دریافت بازخورد منتشر شده است؛ بنابراین ممکن است در ادامه تغییر کند. یکی از نکات برجسته، به‌روزرسانی در new برای پشتیبانی از expressions است که هدف آن استفاده‌پذیری گسترده‌تر در الگوهای تخصیص است. توسعه‌دهندگان می‌توانند با پیگیری این پیش‌نویس و نسخه‌های آزمایشی، خود را آماده کنند و به روند شکل‌گیری نهایی ویژگی‌ها کمک کنند.
#Go #Golang #Go126 #ReleaseNotes #ProgrammingLanguages #SoftwareDevelopment #OpenSource #DeveloperTools

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
go-torch: Torch-Like Deep Learning Framework in Go

🟢 خلاصه مقاله:
go-torch یک فریم‌ورک متن‌باز برای یادگیری عمیق است که با الهام از Torch ساخته شده و به‌طور کامل در خود زبان Go پیاده‌سازی شده است. این پروژه با فراهم‌کردن اجزای اصلی مانند تنسور، لایه‌ها و ابزارهای آموزش، تجربه‌ای آشنا و در عین حال بومیِ Go ارائه می‌دهد. چون به‌صورت pure Go است، به‌سادگی در سرویس‌ها و کدهای Go ادغام می‌شود، استقرار را آسان می‌کند و از مزیت‌های هم‌روندی و قابل‌حمل بودن Go بهره می‌برد. هدف آن فراهم‌کردن مسیری روان برای ساخت و آموزش شبکه‌های عصبی در اکوسیستم Go و جذب مشارکت جامعه برای گسترش قابلیت‌هاست.

#Go #Golang #DeepLearning #MachineLearning #Torch #OpenSource #AIFramework #MLTools

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
gotests: Automatically Generate Test Boilerplate From Code

🟢 خلاصه مقاله:
**خلاصه فارسی: ابزار gotests با تحلیل امضاهای توابع و متدها در کد Go، به‌طور خودکار تست‌های table-driven تولید می‌کند و نیاز به نوشتن کد تکراری برای اسکلت تست را از بین می‌برد. این کار سرعت پوشش‌دهی تست را بالا می‌برد، سبک تست را در تیم‌ها یکپارچه می‌کند و با الگوهای قابل‌سفارشی‌سازی از طریق CLI یا ادیتور به‌راحتی در جریان کار توسعه جا می‌افتد. انتشار نسخه v1 در این هفته نشان‌دهنده پایداری و آمادگی برای استفاده در محیط‌های حرفه‌ای است، چه برای شروع تست در کدهای موجود و چه برای افزودن تست به بسته‌های جدید.

#Go #Testing #UnitTesting #TDD #Automation #DeveloperTools #OpenSource

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


👑 @gopher_academy
👍1
Forwarded from Linux Labdon
🔵 عنوان مقاله
Ubuntu 25.10's Rust Coreutils Transition Has Uncovered Performance Shortcomings

🟢 خلاصه مقاله:
Ubuntu 25.10 در حال جایگزینی Rustا Coreutils به‌جای GNU Coreutils است. آزمایش‌های اولیه نشان می‌دهد نسخه Rust در برخی سناریوها کندتر از پیاده‌سازی C در GNU Coreutils عمل می‌کند. با این حال هنوز تا انتشار پایدار چند هفته باقی مانده و توسعه‌دهندگان upstream در حال بهینه‌سازی و رفع شکاف‌های کارایی هستند تا ضمن بهره‌مندی از مزایای ایمنی Rust، به کارایی هم‌تراز برسند.

#Ubuntu2510 #Ubuntu #RustCoreutils #GNUCoreutils #Linux #Performance #OpenSource #RustLang

🟣لینک مقاله:
https://www.phoronix.com/news/Ubuntu-Rust-Coreutils-Perf


👑 @Linux_Labdon
1
🔵 عنوان مقاله
google/jsonschema-go

🟢 خلاصه مقاله:
این مقاله دو کتابخانه Go برای کار با JSON Schema را مقایسه می‌کند: google/jsonschema-go و مخزن شخصی Ian Lance Taylor با نام ianlancetaylor/jsonschema. تمرکز اصلی بر کاربردهای عملی مانند اعتبارسنجی در زمان اجرا، هم‌ترازی قراردادهای داده میان سرویس‌ها، و در صورت نیاز، تولید کد برای انواع Go است. به‌جای معرفی یک برنده قطعی، مجموعه‌ای از معیارهای انتخاب پیشنهاد می‌شود: پوشش استاندارد (کلیدواژه‌ها، فرمت‌ها، و ارجاعات $ref)، کیفیت گزارش خطا، کارایی در بارهای واقعی، قابلیت سفارشی‌سازی، و نشانه‌های پایداری و نگهداشت پروژه. همچنین سازگاری با فرآیندهای CI، نحوه حل $ref در فایل‌ها و URLها، و میزان تطبیق با ابزارهای رایج Go بررسی می‌شود. جمع‌بندی مقاله عملی است: هر دو گزینه قابل اتکا هستند و انتخاب نهایی باید بر اساس نیازهای خاص تیم—سادگی رابط، گستره امکانات، یا الزامات یکپارچه‌سازی—انجام شود.

#Go #JSONSchema #GoLang #OpenSource #Validation #CodeGeneration #GitHub

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


👑 @gopher_academy
🔵 عنوان مقاله
Go's Release Cycle and Process as Go 1.26 Progresses

🟢 خلاصه مقاله:
با نزدیک‌شدن به انتشار Go 1.26، فرآیند انتشار این زبان وارد مرحله حساس می‌شود. طبق برنامه، تاریخ “development freeze” برای ۲۶ نوامبر تعیین شده است؛ یعنی از این زمان هیچ قابلیت جدیدی برای Go 1.26 پذیرفته نمی‌شود و تمرکز پروژه بر رفع باگ‌ها، بهبود کارایی، مستندسازی و آزمون است. نسخه‌های beta و RC برای آزمایش جامعه منتشر می‌شوند تا مشکلات واقعی سریع‌تر شناسایی و رفع شوند.

برای توسعه‌دهندگان، این یعنی تغییراتی که تا موعد یادشده آماده نشوند، به چرخه بعدی (مثلاً Go 1.27) منتقل خواهند شد. پیشنهاد می‌شود پروژه‌ها و کتابخانه‌ها، ساخت‌ها و تست‌های خود را با پیش‌انتشارهای Go 1.26 اجرا کنند و هر گونه مشکل را سریع گزارش دهند تا در نسخه نهایی رفع شود. این انضباط در “فریز” ویژگی‌ها و محدودکردن تغییرات پرریسک، مسیر انتشار پایدار و قابل‌پیش‌بینی Go را تضمین می‌کند.

#Go #Golang #Go126 #ReleaseCycle #DevelopmentFreeze #SoftwareRelease #ProgrammingLanguages #OpenSource

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
on using JSON schemas in Go

🟢 خلاصه مقاله:
** این مقاله به مزایای استفاده از JSON Schema برای تعریف، اعتبارسنجی و مستندسازی داده‌های JSON در Go می‌پردازد و نشان می‌دهد چطور می‌توان این رویکرد را در یک جریان کاری «schema-first» به‌صورت عملی پیاده کرد. محور بحث، نگاشت دقیق قابلیت‌های JSON Schema به انواع ایستا در Go است؛ از چالش‌هایی مانند فیلدهای اختیاری، additionalProperties، enumها، nullability و ترکیب‌گرهایی مثل oneOf/anyOf/allOf تا تصمیم‌های طراحی میان رویکردهای مبتنی بر reflection در زمان اجرا و code generation در زمان ساخت. مقاله سپس به کار انجام‌شده در Google، به‌ویژه در مخزن google/jsonschema-go، اشاره می‌کند که هدفش ارائه نگاشت پایدار schematype، اعتبارسنجی سریع و گزارش خطای قابل اتکا است. در ادامه، مخزن ianlancetaylor/jsonschema نیز معرفی می‌شود و نقاط همگرایی و تفاوت‌های رویکردی آن بیان می‌گردد. در پایان، مسیرهای آینده مانند همگرایی بهتر با OpenAPI، تقویت codegen برای ویژگی‌های پیشرفته، راهبردهای تکامل schema و یکپارچگی عمیق‌تر با ابزارها مطرح می‌شود تا توسعه مبتنی بر Schema در Go هم قابل اتکا و هم خوش‌تجربه باشد.

#Go #JSONSchema #Google #golang #APIs #Validation #OpenSource

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Fyne: A GUI App Framework for Desktop, Mobile and Web

🟢 خلاصه مقاله:
**Fyne یک فریم‌ورک GUI برای Desktop، Mobile و Web است که با Go کار می‌کند و امکان ساخت اپ‌های بومی چندسکویی را بدون بسته‌بندی یک موتور کامل مرورگر فراهم می‌کند. این روش به باینری‌های کوچک‌تر، مصرف حافظه کمتر و تجربه‌ی بصری منسجم‌تر منجر می‌شود. نسخه‌های اخیر بهبودهای مهمی در i18n، قابلیت‌های canvas برای ترسیم و گزینه‌های styling ارائه کرده‌اند تا هم بومی‌سازی ساده‌تر شود و هم ظاهر و تم‌ها بهتر با استانداردهای هر پلتفرم و نیازهای برند هماهنگ شوند.

#Fyne #Go #GUI #CrossPlatform #MobileDevelopment #DesktopApps #i18n #OpenSource

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


👑 @gopher_academy
👍2🔥1
🔵 عنوان مقاله
The first release candidate of Bubble Tea 2.0

🟢 خلاصه مقاله:
اولین release candidate برای Bubble Tea 2.0 منتشر شده و نشان می‌دهد این فریم‌ورک محبوب TUI به انتشار نهایی نزدیک است. مهم‌ترین تغییر، جابه‌جایی import URL است؛ بنابراین لازم است مسیرهای import در پروژه‌ها به‌روزرسانی و تست شوند. علاوه بر این، تغییرات و بهبودهایی که پیش‌تر در یادداشت‌های beta آمده بود در این نسخه جمع‌بندی شده‌اند. پیشنهاد می‌شود برای جلو افتادن از انتشار نهایی، همین حالا RC را امتحان کنید، وابستگی‌ها را به‌روز کنید، تست‌ها را اجرا کنید و بازخورد بدهید.

#BubbleTea #TUI #ReleaseCandidate #ImportURL #Beta #DeveloperTools #OpenSource

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


👑 @gopher_academy
🔵 عنوان مقاله
progjpeg: image/jpeg But With Progressive Encoding Support

🟢 خلاصه مقاله:
progjpeg نسخه‌ای از بسته image/jpeg در زبان Go است که امکان Progressive Encoding را به آن اضافه می‌کند؛ قابلیتی که تصویر را ابتدا به‌صورت کم‌جزئیات نشان می‌دهد و در چند گذر با دریافت داده‌های بیشتر شفاف‌تر می‌شود. این ویژگی می‌تواند در شبکه‌های کند تجربه کاربری را بهبود دهد و توسط بیشتر مرورگرها و دیکدرهای تصویر پشتیبانی می‌شود. چون درخواست افزودن این قابلیت در مخزن رسمی Go «متوقف/فریز» شده بود، progjpeg این خلأ را برای توسعه‌دهندگان پر می‌کند. هرچند کاربرد آن تخصصی است، اما برای سرویس‌های وب و سامانه‌های سنگینِ تصویر می‌تواند تجربه بارگذاری روان‌تری فراهم کند، با درنظرگرفتن ملاحظاتی مثل پیچیدگی کدنویسی و تفاوت احتمالی در اندازه فایل.

#Go #Golang #JPEG #ProgressiveJPEG #ImageProcessing #WebPerformance #OpenSource

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


👑 @gopher_academy