🔵 عنوان مقاله
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.