🔵 عنوان مقاله
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
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
threedots.tech
Durable Background Execution with Go and SQLite
A DNS outage is like a flash flood. It hits you and disappears as if it were never there. “It was probably the DNS” became a meme. But, half the time, we do not know the exact cause. The outage is seldom long enough to diagnose, sequester, replicate, simulate…
👍1
🔵 عنوان مقاله
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
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
GitHub
GitHub - urfave/cli: A declarative, simple, fast, and fun package for building command line tools in Go
A declarative, simple, fast, and fun package for building command line tools in Go - urfave/cli
👍2
🔵 عنوان مقاله
JWT Authentication in Go with Gin
🟢 خلاصه مقاله:
این مقاله با رویکردی عملی نشان میدهد چگونه احراز هویت مبتنی بر JWT را در یک سرویس Go با فریمورک Gin پیادهسازی کنیم؛ هدف نمونه، کار با Vonage است اما الگوها در هر پروژه APIمحور قابل استفادهاند. نویسنده، Benjamin Aronov (Vonage)، ابتدا مزایای JWT و مفاهیم ادعاها، الگوریتمهای امضا و تفکیک توکنهای دسترسی و نوسازی را توضیح میدهد. سپس ساختار پیادهسازی را تشریح میکند: صدور توکن امن پس از تأیید اعتبار، میانافزار Gin برای اعتبارسنجی و تزریق کانتکست کاربر، محافظت از مسیرها، مدیریت خطاها و نگهداری کلیدها در متغیرهای محیطی. بخش امنیت بر انقضای کوتاه توکن دسترسی، چرخش Refresh Token، جلوگیری از سوءاستفاده، استفاده از HTTPS، ملاحظات CORS و محدودسازی نرخ و نیز لاگگذاری و چرخش کلیدها در محیط تولید تأکید دارد. در نهایت نشان میدهد چگونه با توکنهای کوتاهعمر و محدود به سطح دسترسی، تعاملات با Vonage (مانند پیام، صوت یا ویدئو) را ایمن کنیم. نتیجه، لایه احراز هویت منعطفی در Go و Gin است که فراتر از Vonage هم قابل استفاده است.
#Go #Gin #JWT #Authentication #Security #Golang #API #Vonage
🟣لینک مقاله:
https://golangweekly.com/link/175981/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
JWT Authentication in Go with Gin
🟢 خلاصه مقاله:
این مقاله با رویکردی عملی نشان میدهد چگونه احراز هویت مبتنی بر JWT را در یک سرویس Go با فریمورک Gin پیادهسازی کنیم؛ هدف نمونه، کار با Vonage است اما الگوها در هر پروژه APIمحور قابل استفادهاند. نویسنده، Benjamin Aronov (Vonage)، ابتدا مزایای JWT و مفاهیم ادعاها، الگوریتمهای امضا و تفکیک توکنهای دسترسی و نوسازی را توضیح میدهد. سپس ساختار پیادهسازی را تشریح میکند: صدور توکن امن پس از تأیید اعتبار، میانافزار Gin برای اعتبارسنجی و تزریق کانتکست کاربر، محافظت از مسیرها، مدیریت خطاها و نگهداری کلیدها در متغیرهای محیطی. بخش امنیت بر انقضای کوتاه توکن دسترسی، چرخش Refresh Token، جلوگیری از سوءاستفاده، استفاده از HTTPS، ملاحظات CORS و محدودسازی نرخ و نیز لاگگذاری و چرخش کلیدها در محیط تولید تأکید دارد. در نهایت نشان میدهد چگونه با توکنهای کوتاهعمر و محدود به سطح دسترسی، تعاملات با Vonage (مانند پیام، صوت یا ویدئو) را ایمن کنیم. نتیجه، لایه احراز هویت منعطفی در Go و Gin است که فراتر از Vonage هم قابل استفاده است.
#Go #Gin #JWT #Authentication #Security #Golang #API #Vonage
🟣لینک مقاله:
https://golangweekly.com/link/175981/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Vonage API Developer
JWT Authentication in Go with Gin
Secure JWT auth in Go with Gin: access/refresh tokens, HttpOnly cookies, Redis, and Vonage API.
🔵 عنوان مقاله
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
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
superfile
superfile | terminal-based file manager
superfile is a very fancy and modern terminal file manager that can complete the file operations you need!!
❤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
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
tip.golang.org
Go 1.26 Release Notes - The Go Programming Language
👍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
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
GitHub
GitHub - Abinesh-Mathivanan/go-torch: torch like deep learning framework in Go
torch like deep learning framework in Go. Contribute to Abinesh-Mathivanan/go-torch development by creating an account on GitHub.
👍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
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
GitHub
GitHub - confidentsecurity/go-nvtrust: go version of https://github.com/nvidia/nvtrust
go version of https://github.com/nvidia/nvtrust. Contribute to confidentsecurity/go-nvtrust development by creating an account on GitHub.
❤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
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
GitHub
GitHub - cweill/gotests: Automatically generate Go test boilerplate from your source code.
Automatically generate Go test boilerplate from your source code. - cweill/gotests
👍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
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
GitHub
GitHub - charmbracelet/fantasy: Build AI agents with Go. Multiple providers, multiple models, one API 🧙
Build AI agents with Go. Multiple providers, multiple models, one API 🧙 - charmbracelet/fantasy
👍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
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
pkg.go.dev
jsonschema package - github.com/ianlancetaylor/jsonschema - Go Packages
Package jsonschema implements JSON schemas.
🔵 عنوان مقاله
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
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
docs.serviceradar.cloud
From 19 Hours to Under a Second: Building a Blazing-Fast TCP Scanner in Go | ServiceRadar
How ServiceRadar turned a 19-hour TCP discovery job into a sub-second SYN scan by leaning on raw sockets, BPF, and Go assembly.
🔵 عنوان مقاله
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
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
go.dev
Go Wiki: Go-Release-Cycle - The Go Programming Language
👍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
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
Reddit
From the golang community on Reddit
Explore this post and more from the golang community
❤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
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
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
Matthewhalpern
Timezones as Types: Making Time Safer to Use in Go | Matthew Halpern
Introducing go-meridian: a library that makes timezones first-class in Golang programs.
❤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
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
GitHub
GitHub - charmbracelet/crush: The glamourous AI coding agent for your favourite terminal 💘
The glamourous AI coding agent for your favourite terminal 💘 - charmbracelet/crush
❤1👍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، اشاره میکند که هدفش ارائه نگاشت پایدار schema↔type، اعتبارسنجی سریع و گزارش خطای قابل اتکا است. در ادامه، مخزن ianlancetaylor/jsonschema نیز معرفی میشود و نقاط همگرایی و تفاوتهای رویکردی آن بیان میگردد. در پایان، مسیرهای آینده مانند همگرایی بهتر با OpenAPI، تقویت codegen برای ویژگیهای پیشرفته، راهبردهای تکامل schema و یکپارچگی عمیقتر با ابزارها مطرح میشود تا توسعه مبتنی بر Schema در Go هم قابل اتکا و هم خوشتجربه باشد.
#Go #JSONSchema #Google #golang #APIs #Validation #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/176345/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
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، اشاره میکند که هدفش ارائه نگاشت پایدار schema↔type، اعتبارسنجی سریع و گزارش خطای قابل اتکا است. در ادامه، مخزن ianlancetaylor/jsonschema نیز معرفی میشود و نقاط همگرایی و تفاوتهای رویکردی آن بیان میگردد. در پایان، مسیرهای آینده مانند همگرایی بهتر با OpenAPI، تقویت codegen برای ویژگیهای پیشرفته، راهبردهای تکامل schema و یکپارچگی عمیقتر با ابزارها مطرح میشود تا توسعه مبتنی بر Schema در Go هم قابل اتکا و هم خوشتجربه باشد.
#Go #JSONSchema #Google #golang #APIs #Validation #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/176345/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍1
🔵 عنوان مقاله
Go's Green Tea Garbage Collector
🟢 خلاصه مقاله:
** در Go 1.25 یک garbage collector آزمایشی به نام Green Tea معرفی شده که با هدف کاهش تأخیر و نوسان، بهبود کارایی و مصرف حافظه، و مقیاسپذیری بهتر ارائه میشود. این قابلیت فعلاً بهصورت opt-in و از طریق فلگهای مستند در release notes فعال میشود و پیشفرض نیست. نتایج اولیه بسته به بار کاری میتواند متفاوت باشد؛ در صورت پسرفت میتوان به GC فعلی بازگشت. تیم Go با تکیه بر بازخورد و سنجش میدانی، در نسخههای بعدی آن را بهبود میدهد و در صورت موفقیت، میتواند بر راهبرد آینده GC در Go اثر بگذارد.
#Go #Golang #GreenTea #GarbageCollection #Go125 #MemoryManagement #Performance #Runtime
🟣لینک مقاله:
https://golangweekly.com/link/176318/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go's Green Tea Garbage Collector
🟢 خلاصه مقاله:
** در Go 1.25 یک garbage collector آزمایشی به نام Green Tea معرفی شده که با هدف کاهش تأخیر و نوسان، بهبود کارایی و مصرف حافظه، و مقیاسپذیری بهتر ارائه میشود. این قابلیت فعلاً بهصورت opt-in و از طریق فلگهای مستند در release notes فعال میشود و پیشفرض نیست. نتایج اولیه بسته به بار کاری میتواند متفاوت باشد؛ در صورت پسرفت میتوان به GC فعلی بازگشت. تیم Go با تکیه بر بازخورد و سنجش میدانی، در نسخههای بعدی آن را بهبود میدهد و در صورت موفقیت، میتواند بر راهبرد آینده GC در Go اثر بگذارد.
#Go #Golang #GreenTea #GarbageCollection #Go125 #MemoryManagement #Performance #Runtime
🟣لینک مقاله:
https://golangweekly.com/link/176318/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
The Green Tea Garbage Collector - The Go Programming Language
Go 1.25 includes a new experimental garbage collector, Green Tea.