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
🔵 عنوان مقاله
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
🔵 عنوان مقاله
go-nvtrust: NVIDIA GPU and NVSwitch Confidential Computing Attestation

🟢 خلاصه مقاله:
اgo-nvtrust یک پیاده‌سازی به زبان Go از nvTrust است که برای گردآوری و مدیریت شواهد attestation مربوط به Confidential Computing از NVIDIA GPU و NVSwitch به‌کار می‌رود. این ابزار با جمع‌آوری هویت‌های امضاشده دستگاه، اندازه‌گیری‌های firmware و پیکربندی و بسته‌بندی آن‌ها برای تأیید خارجی، امکان سنجش اعتماد پیش از اجرای بارهای کاری حساس را فراهم می‌کند. پیاده‌سازی به زبان Go ادغام آن را در سرویس‌های cloud-native، کنترلرها و ابزارهای سیاست‌گذاری ساده می‌سازد و به سناریوهای zero-trust در محیط‌های چند GPU و چندمستاجری کمک می‌کند. خروجی go-nvtrust به‌عنوان شواهد استاندارد به همراه تأییدکننده‌ها و مراجع اعتماد استفاده می‌شود تا پیش از زمان‌بندی یا آزادسازی اسرار، وضعیت امن سخت‌افزار بررسی شود.

#ConfidentialComputing #NVIDIA #GPU #NVSwitch #Go #Attestation #ZeroTrust #AIInfrastructure

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


👑 @gopher_academy
2
🔵 عنوان مقاله
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
🔵 عنوان مقاله
Fantasy: Build Flexible AI Agents with Go

🟢 خلاصه مقاله:
با تمرکز بر ساخت ایجنت‌های هوش مصنوعی انعطاف‌پذیر در Go، ابزار Fantasy از سوی Charm معرفی شده است. این ابزار یکی از اجزای اصلی پشت Crush است، اما می‌توان آن را به‌صورت مستقل برای ساخت ایجنت‌های مجهز به ابزار در Go به‌کار گرفت. هدف Fantasy ارائه رویکردی ماژولار و قابل ترکیب است تا توسعه‌دهندگان بتوانند رفتار ایجنت را سفارشی کنند، ابزارها و سرویس‌ها را متصل کنند و در عین حال در چارچوب کاری Go باقی بمانند.

#Go #Golang #AI #AIAgents #Charm #Crush #DevTools #AgentFramework

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


👑 @gopher_academy
👍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
🔵 عنوان مقاله
From 19 Hours to Under a Second: Building a Blazing-Fast TCP Scanner in Go

🟢 خلاصه مقاله:
با یک روایت عملی، مقاله توضیح می‌دهد چگونه یک اسکنر ساده TCP که ۱۹ ساعت طول می‌کشید، با بازطراحی در Go به ابزاری «زیر یک ثانیه» تبدیل شد. ابتدا نشان می‌دهد چرا اسکن مبتنی‌بر net.Dial حتی با همزمانی محدود گرفتار زمان‌های انتظار، محدودیت FD و سربار syscall می‌شود. سپس با گذار از اتصال‌های کامل به اسکن SYN، ساخت بسته‌ها، فیلترکردن پاسخ‌ها با BPF، و نگه‌داری وضعیت سبک‌وزن، سربار کرنل و زمان‌بندی به شدت کاهش می‌یابد. بهینه‌سازی‌هایی مانند batch کردن ارسال/دریافت، پیش‌اختصاص بافرها، کاهش تخصیص‌ها با sync.Pool، و حلقه‌های رویدادی کارا (epoll/kqueue) همراه با تنظیمات سیستم (ulimit، بافرهای سوکتی و sysctl) throughput را به حداکثر می‌رساند. با پروفایل‌کردن مداوم (pprof) و راستی‌آزمایی با ابزاری مانند Nmap، هم دقت و هم کارایی تضمین می‌شود. خروجی نهایی: الگوی عملی برای ساخت ابزارهای پرسرعت شبکه در Go—ترکیبی از انتخاب مدل درست (SYN به‌جای connect)، کاهش سربارها، batch کردن، اندازه‌گیری پیوسته، و پایبندی به اصول ایمنی و اخلاق اسکن. این مطلب در Golang Weekly برجسته شده است.

#Go #Golang #TCP #PortScanning #Networking #Performance #Concurrency #SystemsProgramming

🟣لینک مقاله:
https://golangweekly.com/link/176335/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
🔵 عنوان مقاله
their favorite Go related blog posts of all time.

🟢 خلاصه مقاله:
این شماره جدید از خبرنامه Golang Weekly فهرستی منتخب از «بهترین پست‌های وبلاگی مرتبط با Go» را گرد آورده است؛ مجموعه‌ای منسجم که به‌جای فهرست صرفِ لینک‌ها، مسیر مطالعه‌ای ارائه می‌دهد برای درک اصول ماندگار Go. موضوعات کلیدی مانند همروندی با goroutine و channel، خطاپرداری شفاف، استفاده از interface و ترکیب‌پذیری، آزمون‌نویسی و ابزارها، همچنین بهینه‌سازی کارایی، پروفایلینگ و مدیریت حافظه پوشش داده می‌شوند. هر انتخاب با توضیحی کوتاه درباره ارزش ماندگارش و اینکه به درد چه کسی و چه مسئله‌ای می‌خورد همراه است؛ نوآموزان می‌توانند آن را نقشه راه یادگیری بدانند و باتجربه‌ها نیز برای بازبینی مبانی و دیدگاه‌های عمیق‌تر از آن بهره ببرند. این گردآوری تصویری از مسیر بلوغ جامعه Go نیز ارائه می‌کند؛ از نوشته‌های اولیه که روحیه طراحی زبان را شکل دادند تا جمع‌بندی‌های اخیر که بر تجربه‌های تولیدی تکیه دارند—مجموعه‌ای برای نشان‌گذاری، اشتراک با تیم و رجوع‌های مکرر.

#Go #Golang #GolangWeekly #Programming #SoftwareEngineering #Concurrency #GoTips #DevCommunity

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


👑 @gopher_academy
1👍1
🔵 عنوان مقاله
vite-plugin-use-golang: Write Go in JavaScript Files?

🟢 خلاصه مقاله:
** این افزونه با نام vite-plugin-use-golang برای Vite یک آزمایش جالب است که با قرار دادن دستور "use golang" داخل فایل‌های JavaScript، کدهای Go را شناسایی کرده و آن‌ها را برای استفاده در فرانت‌اند به WebAssembly کامپایل می‌کند. نتیجه این است که می‌توانید بخشی از منطق Go را مستقیماً در مرورگر و کنار کدهای JavaScript فراخوانی کنید. این رویکرد برای بهره‌برداری مجدد از منطق موجود در Go یا آزمایش بخش‌های حساس به کارایی مفید است، اما پیچیدگی فرایند ساخت، افزایش حجم باندل، زمان راه‌اندازی WASM، دشواری دیباگ و محدودیت دسترسی مستقیم به DOM از چالش‌های آن هستند. در مجموع، این کار «نامتعارف اما واقعی» است و نشان می‌دهد زنجیره ابزارهای امروز تا کجا قابل گسترش است.

#Vite #Go #WebAssembly #WASM #JavaScript #Frontend #DevTools #WasmInBrowser

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


👑 @gopher_academy
🔵 عنوان مقاله
Timezones as Types: Making Time Safer to Use in Go?

🟢 خلاصه مقاله:
** این مقاله ایده Timezones as Types را بررسی می‌کند؛ رویکردی که در آن اطلاعات منطقه زمانی به‌صورت مستقیم در نوع داده‌ها کدگذاری می‌شود. نویسنده، سازنده go-meridian، نشان می‌دهد چگونه می‌توان با مدل‌کردن timezoneها در سطح نوع، از ترکیب نادرست زمان‌ها جلوگیری کرد تا خطاها به‌جای زمان اجرا، در مرحله کامپایل آشکار شوند.

go-meridian به‌جای تکیه بر متغیرهای بدون نوع مشخص، زمان را به نوعی گره می‌زند که منطقه زمانی را نیز در بر دارد؛ بنابراین اگر دو مقدار با منطقه‌های متفاوت بدون تبدیل صریح ترکیب شوند، کد اصلاً کامپایل نمی‌شود. این کار خطاهای رایجی مانند دست‌کم‌گرفتن تغییرات DST، ابهام در زمان‌های محلی، یا تبدیل‌های ضمنی از/به UTC را کاهش می‌دهد و خوانایی و صراحت کد را بهبود می‌بخشد.

این کتابخانه با سبک Go و بسته time سازگار است، تبدیل‌های صریح را در نقاط مرزی اجبار می‌کند و به تیم‌ها کمک می‌کند داده‌های ورودی را زودهنگام به زمان‌های با نوع صحیح تبدیل کنند. هرچند ممکن است اندکی صراحت بیشتر در امضاها و تبدیل‌ها لازم باشد، اما دستاورد آن قراردادهای واضح‌تر، ایمنی بالاتر و نگه‌داری آسان‌تر کدهای حساس به زمان است.

#Go #Golang #Timezone #TypeSafety #StaticTyping #goMeridian #TimeHandling #SoftwareEngineering

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


👑 @gopher_academy
1
🔵 عنوان مقاله
Crush: Charm's Go-Powered AI Coding Agent

🟢 خلاصه مقاله:
Crush یک عامل کدنویسی مبتنی بر هوش مصنوعی از شرکت Charm و ساخته‌شده با Go است که پس از چند ماه توسعه از یک مخزن اولیه به ابزاری پخته و قابل استفاده تبدیل شده. مهم‌ترین مزیت Crush انعطاف‌پذیری آن است: با هر LLM API سازگار با OpenAI کار می‌کند، بنابراین می‌توانید بسته به نیاز عملکرد، هزینه یا حریم داده‌ها از ارائه‌دهندگان مختلف یا endpointهای خودمیزبان استفاده کنید. Crush رقیبی برای ابزارهایی مانند Claude Code و Codex محسوب می‌شود و با تکیه بر سادگی، سرعت و همخوانی با جریان کاری توسعه‌دهندگان—به‌ویژه در اکوسیستم Go و فضای CLI—تجربه‌ای آشنا و قابل ترکیب ارائه می‌دهد. اگر به دنبال دستیار کدنویسی بدون قفل‌شدن به یک فروشنده واحد هستید، Crush گزینه‌ای جدی برای بررسی است.

#AI #Go #DevTools #LLM #OpenAI #Charm #CodingAssistant #BubbleTea

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


👑 @gopher_academy
1👍1