🔵 عنوان مقاله
A Modern Approach to Preventing CSRF/CORF in Go
🟢 خلاصه مقاله:
این مقاله یک رویکرد مدرن برای مقابله با حملات CSRF/CORF در Go معرفی میکند. بهجای تکیه بر tokens، در Go 1.25 یک middleware به نام http.CrossOriginProtection ارائه شده که با استفاده از سیگنالهای امنیتی مرورگر (مانند Fetch Metadata و سیاستهای SameSite) میان درخواستهای امن هممبداء و درخواستهای مشکوک بینمبداء تفکیک ایجاد میکند. این میانافزار بهطور پیشفرض درخواستهای امن را میپذیرد و درخواستهای تغییردهنده حالت از مبداءهای نامطمئن را مسدود میکند، درحالیکه برای مسیرهای ضروری (مثل OAuth callback یا webhook) قابلیت allowlist دارد و با CORS نیز سازگار است. نتیجه، کاهش پیچیدگی پیادهسازی CSRF، تکیه بر قابلیتهای جدید مرورگرها، و استقرار مرحلهای (از حالت گزارش تا اعمال) است؛ ضمن اینکه جایگزین احراز هویت و کنترل دسترسی نیست، بلکه مکمل آنهاست.
#Go #CSRF #WebSecurity #FetchMetadata #SameSite #Middleware #GoLang #Security
🟣لینک مقاله:
https://golangweekly.com/link/175634/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
A Modern Approach to Preventing CSRF/CORF in Go
🟢 خلاصه مقاله:
این مقاله یک رویکرد مدرن برای مقابله با حملات CSRF/CORF در Go معرفی میکند. بهجای تکیه بر tokens، در Go 1.25 یک middleware به نام http.CrossOriginProtection ارائه شده که با استفاده از سیگنالهای امنیتی مرورگر (مانند Fetch Metadata و سیاستهای SameSite) میان درخواستهای امن هممبداء و درخواستهای مشکوک بینمبداء تفکیک ایجاد میکند. این میانافزار بهطور پیشفرض درخواستهای امن را میپذیرد و درخواستهای تغییردهنده حالت از مبداءهای نامطمئن را مسدود میکند، درحالیکه برای مسیرهای ضروری (مثل OAuth callback یا webhook) قابلیت allowlist دارد و با CORS نیز سازگار است. نتیجه، کاهش پیچیدگی پیادهسازی CSRF، تکیه بر قابلیتهای جدید مرورگرها، و استقرار مرحلهای (از حالت گزارش تا اعمال) است؛ ضمن اینکه جایگزین احراز هویت و کنترل دسترسی نیست، بلکه مکمل آنهاست.
#Go #CSRF #WebSecurity #FetchMetadata #SameSite #Middleware #GoLang #Security
🟣لینک مقاله:
https://golangweekly.com/link/175634/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
www.alexedwards.net
A modern approach to preventing CSRF in Go - Alex Edwards
❤4
🔵 عنوان مقاله
Gist of Go: Atomics
🟢 خلاصه مقاله:
در Go، atomics مجموعهای از عملیات سطحپایین در بسته sync/atomic هستند که امکان دسترسی thread-safe و lock-free به مقادیر حافظه مشترک را میدهند. آنها برای متغیرهای ساده (مثل شمارندهها، فلگهای وضعیت، و تعویض ایمن یک اشارهگر پیکربندی) بسیار سریع و مناسباند و با Load/Store، Add/Swap و CAS رابطههای happens-before لازم را تضمین میکنند. وقتی نیاز به حفظ ناهمبستگیهای چندفیلدی دارید یا بهروزرسانی چندمرحلهای میخواهید، استفاده از mutex یا کانالها شفافتر و کمخطرتر است. از اختلاط دسترسی atomic و non-atomic به یک متغیر خودداری کنید، به همترازی و false sharing توجه کنید، و برای دادههای read-mostly از atomic.Value بهره ببرید. نتیجه: در سناریوهای محدود، همزمانی بدون mutex واقعا شدنی است—به شرط رعایت دقیق مدل حافظه و الگوهای درست.
#golang #concurrency #atomics #lockfree #CAS #multithreading #memorymodel
🟣لینک مقاله:
https://golangweekly.com/link/175632/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Gist of Go: Atomics
🟢 خلاصه مقاله:
در Go، atomics مجموعهای از عملیات سطحپایین در بسته sync/atomic هستند که امکان دسترسی thread-safe و lock-free به مقادیر حافظه مشترک را میدهند. آنها برای متغیرهای ساده (مثل شمارندهها، فلگهای وضعیت، و تعویض ایمن یک اشارهگر پیکربندی) بسیار سریع و مناسباند و با Load/Store، Add/Swap و CAS رابطههای happens-before لازم را تضمین میکنند. وقتی نیاز به حفظ ناهمبستگیهای چندفیلدی دارید یا بهروزرسانی چندمرحلهای میخواهید، استفاده از mutex یا کانالها شفافتر و کمخطرتر است. از اختلاط دسترسی atomic و non-atomic به یک متغیر خودداری کنید، به همترازی و false sharing توجه کنید، و برای دادههای read-mostly از atomic.Value بهره ببرید. نتیجه: در سناریوهای محدود، همزمانی بدون mutex واقعا شدنی است—به شرط رعایت دقیق مدل حافظه و الگوهای درست.
#golang #concurrency #atomics #lockfree #CAS #multithreading #memorymodel
🟣لینک مقاله:
https://golangweekly.com/link/175632/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
antonz.org
Gist of Go: Atomics
Concurrent-safe operations without explicit synchronization.
❤2👍1
🔵 عنوان مقاله
CPU Cache-Friendly Data Structures in Go: 10x Speed with Same Algorithm
🟢 خلاصه مقاله:
** این مقاله نشان میدهد که در Go میتوان بدون تغییر الگوریتم و فقط با بهینهسازی نحوهٔ دسترسی به حافظه، به بهبودهایی تا ۱۰ برابر رسید. ایدهٔ اصلی این است که با بهرهگیری از محلیّت در CPU و نگه داشتن دادههای «داغ» در حافظهٔ پیوسته، تعداد cache miss به شدت کم میشود. راهکارهای کلیدی شامل استفاده از sliceهای پیوسته بهجای ساختارهای پر از pointer، فشردهسازی و چیدمان درست فیلدهای struct، انتخاب آگاهانه بین AoS و SoA، کاهش تخصیصها و استفاده از sync.Pool برای بازاستفادهٔ حافظه، و اجتناب از false sharing در برنامههای همزمان است. اندازهگیری با ابزارهای benchmark و pprof کمک میکند ببینیم گلوگاه واقعاً از کجاست. نتیجهٔ عملی طبق تجربهٔ Serge Skoredin: با حفظ همان منطق، تنها با طراحی cache‑friendly در Go میتوان جهشهای بزرگ کارایی بهدست آورد.
#Go #Golang #CPUCache #Performance #DataStructures #SystemsProgramming #Optimization #LowLatency
🟣لینک مقاله:
https://golangweekly.com/link/175636/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
CPU Cache-Friendly Data Structures in Go: 10x Speed with Same Algorithm
🟢 خلاصه مقاله:
** این مقاله نشان میدهد که در Go میتوان بدون تغییر الگوریتم و فقط با بهینهسازی نحوهٔ دسترسی به حافظه، به بهبودهایی تا ۱۰ برابر رسید. ایدهٔ اصلی این است که با بهرهگیری از محلیّت در CPU و نگه داشتن دادههای «داغ» در حافظهٔ پیوسته، تعداد cache miss به شدت کم میشود. راهکارهای کلیدی شامل استفاده از sliceهای پیوسته بهجای ساختارهای پر از pointer، فشردهسازی و چیدمان درست فیلدهای struct، انتخاب آگاهانه بین AoS و SoA، کاهش تخصیصها و استفاده از sync.Pool برای بازاستفادهٔ حافظه، و اجتناب از false sharing در برنامههای همزمان است. اندازهگیری با ابزارهای benchmark و pprof کمک میکند ببینیم گلوگاه واقعاً از کجاست. نتیجهٔ عملی طبق تجربهٔ Serge Skoredin: با حفظ همان منطق، تنها با طراحی cache‑friendly در Go میتوان جهشهای بزرگ کارایی بهدست آورد.
#Go #Golang #CPUCache #Performance #DataStructures #SystemsProgramming #Optimization #LowLatency
🟣لینک مقاله:
https://golangweekly.com/link/175636/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
skoredin.pro
CPU Cache-Friendly Data Structures in Go: 10x Speed
False sharing killed our performance. Data-oriented design saved it.
❤1🔥1
🔵 عنوان مقاله
15 Go Subtleties You May Not Already Know
🟢 خلاصه مقاله:
این مقاله یک مرور جمعوجور و کاربردی از ۱۵ ظرافت کمترشناختهشده در Go است؛ نکاتی که معمولاً در بازبینی کد و اشکالزدایی مهم میشوند. از تفاوت nil در اینترفیسها تا تفاوت گیرندههای اشارهای و مقداری، رفتار slice و map، ترتیب پیمایش map و زمانبندی و هزینه defer، همگی با مثالهای کوتاه بیان شدهاند. بخشهایی درباره همزمانی و الگوهای هماهنگی (جلوگیری از نشت goroutine و استفاده درست از context) و نیز ظرایف کار با زمان—از تفاوت زمان یکنواخت و دیواری تا کار با تایمرها، tickerها و بسته time—هم پوشش داده میشود. نتیجه: مطلبی سریع و قابل مرور که حتی اگر فقط چند نکتهاش برایتان تازه باشد، ارزش خواندن دارد؛ و اگر همه را میدانید، حس خوبی از تأیید دانستههایتان میگیرید.
#Go #Golang #time #Concurrency #ProgrammingTips #SoftwareEngineering #GoTips
🟣لینک مقاله:
https://golangweekly.com/link/175625/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
15 Go Subtleties You May Not Already Know
🟢 خلاصه مقاله:
این مقاله یک مرور جمعوجور و کاربردی از ۱۵ ظرافت کمترشناختهشده در Go است؛ نکاتی که معمولاً در بازبینی کد و اشکالزدایی مهم میشوند. از تفاوت nil در اینترفیسها تا تفاوت گیرندههای اشارهای و مقداری، رفتار slice و map، ترتیب پیمایش map و زمانبندی و هزینه defer، همگی با مثالهای کوتاه بیان شدهاند. بخشهایی درباره همزمانی و الگوهای هماهنگی (جلوگیری از نشت goroutine و استفاده درست از context) و نیز ظرایف کار با زمان—از تفاوت زمان یکنواخت و دیواری تا کار با تایمرها، tickerها و بسته time—هم پوشش داده میشود. نتیجه: مطلبی سریع و قابل مرور که حتی اگر فقط چند نکتهاش برایتان تازه باشد، ارزش خواندن دارد؛ و اگر همه را میدانید، حس خوبی از تأیید دانستههایتان میگیرید.
#Go #Golang #time #Concurrency #ProgrammingTips #SoftwareEngineering #GoTips
🟣لینک مقاله:
https://golangweekly.com/link/175625/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
harrisoncramer.me
15 Go Subtleties You May Not Already Know
Some of my favorite tidbits from the past year of working with Go.
🔵 عنوان مقاله
Go 1.25.3 and 1.24.9 have been released
🟢 خلاصه مقاله:
نسخههای Go 1.25.3 و 1.24.9 منتشر شدند. این بهروزرسانیهای جزئی، مشکل ایجادشده توسط یک وصله امنیتی قبلی را که هنگام parse کردن X بیش از حد سختگیرانه عمل میکرد، برطرف میکنند. ویژگی جدیدی اضافه نشده و تغییرات محدود به منطق parse مرتبط با X است. به کاربران شاخههای 1.25 و 1.24 توصیه میشود برای حفظ سازگاری و امنیت، به این نسخهها ارتقا دهند و پس از ارتقا، تستها را اجرا کنند.
#Go #Golang #Security #Release #Patch #Bugfix #Parsing #Update
🟣لینک مقاله:
https://golangweekly.com/link/175627/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go 1.25.3 and 1.24.9 have been released
🟢 خلاصه مقاله:
نسخههای Go 1.25.3 و 1.24.9 منتشر شدند. این بهروزرسانیهای جزئی، مشکل ایجادشده توسط یک وصله امنیتی قبلی را که هنگام parse کردن X بیش از حد سختگیرانه عمل میکرد، برطرف میکنند. ویژگی جدیدی اضافه نشده و تغییرات محدود به منطق parse مرتبط با X است. به کاربران شاخههای 1.25 و 1.24 توصیه میشود برای حفظ سازگاری و امنیت، به این نسخهها ارتقا دهند و پس از ارتقا، تستها را اجرا کنند.
#Go #Golang #Security #Release #Patch #Bugfix #Parsing #Update
🟣لینک مقاله:
https://golangweekly.com/link/175627/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🔵 عنوان مقاله
the Cup o'Go podcast
🟢 خلاصه مقاله:
آخرین شماره Golang Weekly پادکست Cup o'Go را برجسته کرده و آن را بهعنوان همراهی صوتی و بهروز برای پیگیری روندها و مباحث مهم دنیای Go معرفی میکند. این پادکست با مرور خبرها، نکات عملی و گفتوگو درباره ویژگیهای زبان، ابزارها و الگوهای عملکرد، به توسعهدهندگان در سطوح مختلف کمک میکند تا بدون صرف زمان زیاد، در جریان تغییرات اکوسیستم Go بمانند و از محتوای کیوریتشده Golang Weekly یک مکمل کاربردی بسازند.
#Golang #GoDevelopers #GolangWeekly #CupOGo #Podcast #SoftwareEngineering #Backend #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/175631/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
the Cup o'Go podcast
🟢 خلاصه مقاله:
آخرین شماره Golang Weekly پادکست Cup o'Go را برجسته کرده و آن را بهعنوان همراهی صوتی و بهروز برای پیگیری روندها و مباحث مهم دنیای Go معرفی میکند. این پادکست با مرور خبرها، نکات عملی و گفتوگو درباره ویژگیهای زبان، ابزارها و الگوهای عملکرد، به توسعهدهندگان در سطوح مختلف کمک میکند تا بدون صرف زمان زیاد، در جریان تغییرات اکوسیستم Go بمانند و از محتوای کیوریتشده Golang Weekly یک مکمل کاربردی بسازند.
#Golang #GoDevelopers #GolangWeekly #CupOGo #Podcast #SoftwareEngineering #Backend #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/175631/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Cup o' Go
Stay up to date with the Go community in about 15 minutes per week
❤1 1
🔵 عنوان مقاله
How Slow is Channel-Based Iteration?
🟢 خلاصه مقاله:
این مقاله پرسش «تکرار مبتنی بر channel در Go چقدر کند است؟» را با یک مثال عملی بررسی میکند. تیم Dolt سه الگو را مقایسه کرده است: دو رویکرد مبتنی بر channel و یک روش iterator کشیدنی با iter.Pull. نتیجه کلی این است که هرچند channelها برای همزمانی، مدیریت فشار برگشتی و جداسازی تولیدکننده/مصرفکننده عالیاند، اما در حلقههای محاسباتیِ حساس به کارایی، سربار همگامسازی، زمانبندی goroutine و تخصیصها محسوس میشود. در مقابل، iter.Pull (و حلقههای ساده روی دادههای خطی) معمولاً سبکتر و بهینهترند. توصیه نهایی: وقتی به همزمانی واقعی نیاز دارید از channel استفاده کنید؛ برای مسیرهای داغ که فقط پیمایش میخواهند، سراغ iterator کشیدنی یا حلقههای ساده بروید.
#Go #Golang #Channels #Iteration #Performance #Benchmarking #Concurrency #Dolt
🟣لینک مقاله:
https://golangweekly.com/link/175626/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
How Slow is Channel-Based Iteration?
🟢 خلاصه مقاله:
این مقاله پرسش «تکرار مبتنی بر channel در Go چقدر کند است؟» را با یک مثال عملی بررسی میکند. تیم Dolt سه الگو را مقایسه کرده است: دو رویکرد مبتنی بر channel و یک روش iterator کشیدنی با iter.Pull. نتیجه کلی این است که هرچند channelها برای همزمانی، مدیریت فشار برگشتی و جداسازی تولیدکننده/مصرفکننده عالیاند، اما در حلقههای محاسباتیِ حساس به کارایی، سربار همگامسازی، زمانبندی goroutine و تخصیصها محسوس میشود. در مقابل، iter.Pull (و حلقههای ساده روی دادههای خطی) معمولاً سبکتر و بهینهترند. توصیه نهایی: وقتی به همزمانی واقعی نیاز دارید از channel استفاده کنید؛ برای مسیرهای داغ که فقط پیمایش میخواهند، سراغ iterator کشیدنی یا حلقههای ساده بروید.
#Go #Golang #Channels #Iteration #Performance #Benchmarking #Concurrency #Dolt
🟣لینک مقاله:
https://golangweekly.com/link/175626/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Dolthub
How slow is channel-based iteration?
We benchmarked channel-based iterators v. those provided by the iter package and share the results.
❤1👍1🔥1
🔵 عنوان مقاله
Writing Better Go: Lessons from 10 Code Reviews
🟢 خلاصه مقاله:
** این اسلایدها با عنوان Writing Better Go: Lessons from 10 Code Reviews حاصل ارائهای از Konrad Reiche در GoLab 2025 است و مجموعهای از الگوهای تکرارشونده در بازبینیهای واقعی کد را به راهنماییهای عملی تبدیل میکند. محور اصلی، نوشتن کد ساده و خوانا با Go است: طراحی APIهای کوچک و منسجم، نامگذاری دقیق، تعریف interface در محل مصرف، استفاده سنجیده از composition، صفر-مقدارهای مفید، عبور منظم context و پرهیز از وضعیتهای سراسری.
بخش مهمی از درسها به خطاها و ثبت رویداد میپردازد: خطاها را بهعنوان مقدار مدیریت کنید، با %w زمینه اضافه کنید، از panic فقط برای شکستهای غیرقابلبازیابی در آغاز اجرا بهره ببرید، منابع را با defer جمع کنید، و در کتابخانهها بهجای لاگکردن، خطا برگردانید تا برنامه اصلی مسئول لاگ باشد.
در همروندی، تأکید بر سادگی و ایمنی است: چرخه عمر goroutineها را صریح کنید، آنها را به context گره بزنید، با select روی context.Done() از نشت جلوگیری کنید، و بسته به مسئله از channel یا ابزارهای sync بهدرستی استفاده کنید. بافرگذاری آگاهانه، مستندسازی قراردادها، و اعمال timeout و backpressure در پایپلاینها ضروری است.
برای کیفیت و کارایی، تستهای جدولمحور، پوشش مرزی، fuzzing، اجرای race detector، بنچمارک با testing.B و پروفایل با pprof توصیه میشود؛ از بهینهسازی زودهنگام بپرهیزید و تغییرات را بر اساس اندازهگیری انجام دهید.
در نهایت، فرهنگ بازبینی و ابزارهای خودکار نقش کلیدی دارند: یکدستی با gofmt/goimports، بررسیهای خودکار با go vet و staticcheck در CI، درخواستهای کوچک با پیامهای شفاف و تمرکز بازبینی بر درستی، طراحی و نگهداشتپذیری. این چکلیست عملی میتواند فوراً در تیمها و کدبیسهای Go به کار گرفته شود.
#Go #Golang #CodeReview #GoLab2025 #SoftwareEngineering #BestPractices #Concurrency #ErrorHandling
🟣لینک مقاله:
https://golangweekly.com/link/175975/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Writing Better Go: Lessons from 10 Code Reviews
🟢 خلاصه مقاله:
** این اسلایدها با عنوان Writing Better Go: Lessons from 10 Code Reviews حاصل ارائهای از Konrad Reiche در GoLab 2025 است و مجموعهای از الگوهای تکرارشونده در بازبینیهای واقعی کد را به راهنماییهای عملی تبدیل میکند. محور اصلی، نوشتن کد ساده و خوانا با Go است: طراحی APIهای کوچک و منسجم، نامگذاری دقیق، تعریف interface در محل مصرف، استفاده سنجیده از composition، صفر-مقدارهای مفید، عبور منظم context و پرهیز از وضعیتهای سراسری.
بخش مهمی از درسها به خطاها و ثبت رویداد میپردازد: خطاها را بهعنوان مقدار مدیریت کنید، با %w زمینه اضافه کنید، از panic فقط برای شکستهای غیرقابلبازیابی در آغاز اجرا بهره ببرید، منابع را با defer جمع کنید، و در کتابخانهها بهجای لاگکردن، خطا برگردانید تا برنامه اصلی مسئول لاگ باشد.
در همروندی، تأکید بر سادگی و ایمنی است: چرخه عمر goroutineها را صریح کنید، آنها را به context گره بزنید، با select روی context.Done() از نشت جلوگیری کنید، و بسته به مسئله از channel یا ابزارهای sync بهدرستی استفاده کنید. بافرگذاری آگاهانه، مستندسازی قراردادها، و اعمال timeout و backpressure در پایپلاینها ضروری است.
برای کیفیت و کارایی، تستهای جدولمحور، پوشش مرزی، fuzzing، اجرای race detector، بنچمارک با testing.B و پروفایل با pprof توصیه میشود؛ از بهینهسازی زودهنگام بپرهیزید و تغییرات را بر اساس اندازهگیری انجام دهید.
در نهایت، فرهنگ بازبینی و ابزارهای خودکار نقش کلیدی دارند: یکدستی با gofmt/goimports، بررسیهای خودکار با go vet و staticcheck در CI، درخواستهای کوچک با پیامهای شفاف و تمرکز بازبینی بر درستی، طراحی و نگهداشتپذیری. این چکلیست عملی میتواند فوراً در تیمها و کدبیسهای Go به کار گرفته شود.
#Go #Golang #CodeReview #GoLab2025 #SoftwareEngineering #BestPractices #Concurrency #ErrorHandling
🟣لینک مقاله:
https://golangweekly.com/link/175975/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Speaker Deck
Writing Better Go: Lessons from 10 Code Reviews
Why do Go developers obsess over variable names, error handling, and interfaces, even when your approach does the job, too? Whether gently or not so gen…
👍1
🔵 عنوان مقاله
The Speed of Random Number Generators
🟢 خلاصه مقاله:
در این مقاله، Daniel سرعت گزینههای رایج تولید اعداد تصادفی در Go را مقایسه میکند. او نشان میدهد که math/rand/v2 با الگوریتم PCG در سناریوهای غیرامنیتی سریعترین گزینه است و از نسخه قدیمیتر math/rand عملکرد بهتری دارد، در حالی که crypto/rand بهدلیل تمرکز بر امنیت بهطور قابلتوجهی کندتر است. جمعبندی عملی: برای کارهای غیررمزنگاری که سرعت و قابلیت بازتولید مهماند، از math/rand/v2 (PCG) استفاده کنید؛ اما برای مقاصد امنیتی، با وجود هزینهی عملکرد، crypto/rand انتخاب درست است.
#Go #Golang #RandomNumberGeneration #Performance #Benchmark #PCG #mathrand #cryptorand
🟣لینک مقاله:
https://golangweekly.com/link/175977/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The Speed of Random Number Generators
🟢 خلاصه مقاله:
در این مقاله، Daniel سرعت گزینههای رایج تولید اعداد تصادفی در Go را مقایسه میکند. او نشان میدهد که math/rand/v2 با الگوریتم PCG در سناریوهای غیرامنیتی سریعترین گزینه است و از نسخه قدیمیتر math/rand عملکرد بهتری دارد، در حالی که crypto/rand بهدلیل تمرکز بر امنیت بهطور قابلتوجهی کندتر است. جمعبندی عملی: برای کارهای غیررمزنگاری که سرعت و قابلیت بازتولید مهماند، از math/rand/v2 (PCG) استفاده کنید؛ اما برای مقاصد امنیتی، با وجود هزینهی عملکرد، crypto/rand انتخاب درست است.
#Go #Golang #RandomNumberGeneration #Performance #Benchmark #PCG #mathrand #cryptorand
🟣لینک مقاله:
https://golangweekly.com/link/175977/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Daniel Lemire's blog
Speed of random number generators in Go
We often need to generate random numbers in software. We need them for games, simulations, testing, and so forth. In many of these cases, we would like to use the fastest generator we can find, as long as it is reasonably random-looking. In some instances…
👍1
🔵 عنوان مقاله
The 'Compare IP Subnets' Proposal
🟢 خلاصه مقاله:
در مجموعه Accepted!، «Anton» یکی از تغییرات «Go 1.26» را معرفی میکند که مشکل قدیمی مقایسه زیرشبکههای IP را هدف گرفته است. این تغییر روشی استاندارد و یکدست برای مقایسه و مرتبسازی زیرشبکهها (IPv4 و IPv6) ارائه میکند تا کارهایی مثل مرتبسازی جدولهای مسیریابی، حذف موارد تکراری و بررسی شمول (Containment) ساده و قابل اتکا شود. نتیجه این است که کدهای شبکه خواناتر میشوند، از خطاهای ظریف جلوگیری میشود و عملکرد بهبود مییابد؛ بدون آنکه ناسازگاری با کدهای موجود ایجاد شود. این قابلیت بهصورت افزایشی اضافه میشود و میتوان آن را تدریجی به کار گرفت.
#Go #Golang #Networking #IP #CIDR #Subnetting #Go126 #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/175978/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The 'Compare IP Subnets' Proposal
🟢 خلاصه مقاله:
در مجموعه Accepted!، «Anton» یکی از تغییرات «Go 1.26» را معرفی میکند که مشکل قدیمی مقایسه زیرشبکههای IP را هدف گرفته است. این تغییر روشی استاندارد و یکدست برای مقایسه و مرتبسازی زیرشبکهها (IPv4 و IPv6) ارائه میکند تا کارهایی مثل مرتبسازی جدولهای مسیریابی، حذف موارد تکراری و بررسی شمول (Containment) ساده و قابل اتکا شود. نتیجه این است که کدهای شبکه خواناتر میشوند، از خطاهای ظریف جلوگیری میشود و عملکرد بهبود مییابد؛ بدون آنکه ناسازگاری با کدهای موجود ایجاد شود. این قابلیت بهصورت افزایشی اضافه میشود و میتوان آن را تدریجی به کار گرفت.
#Go #Golang #Networking #IP #CIDR #Subnetting #Go126 #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/175978/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
antonz.org
Go proposal: Compare IP subnets
The same way IANA and Python do.
👍2
🔵 عنوان مقاله
The “10x” Commandments of Highly Effective Go
🟢 خلاصه مقاله:
** مقاله با تمثیلی شوخطبعانه، «ده فرمان» برای توسعهدهندگان Go ارائه میکند؛ نه چیزِ تازه، بلکه ده راهنمای کلی و کاربردی برای نوشتن کد ساده، خوانا و قابل نگهداری. محورهای اصلی شامل سادگی و خوانایی، اینترفیسهای کوچک، مدیریت صریح خطا، همزمانی قابل پیشبینی با goroutine و channel، سازماندهی درست پکیجها، تست و بنچمارک، مستندسازی و بهینهسازی مبتنی بر اندازهگیری است. هر اصل با نمونههای عملی در GoLand همراه شده: استفاده از inspections برای شناسایی کد غیر idiomatic، refactor به سمت اینترفیسهای کوچک، الگوهای آماده برای error handling، اجرای تست و بنچمارک، دیباگ همزمانی، یکپارچهسازی linters و پروفایلینگ برای سنجش کارایی. برچسب «10x» فقط کمکی برای بهخاطر سپردن است؛ پیام اصلی این است که با تکیه بر عادتهای درست و بهرهگیری از GoLand، انجام کار درست آسانتر میشود.
#Go #Golang #GoLand #SoftwareEngineering #BestPractices #Testing #Refactoring #Productivity
🟣لینک مقاله:
https://golangweekly.com/link/175970/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The “10x” Commandments of Highly Effective Go
🟢 خلاصه مقاله:
** مقاله با تمثیلی شوخطبعانه، «ده فرمان» برای توسعهدهندگان Go ارائه میکند؛ نه چیزِ تازه، بلکه ده راهنمای کلی و کاربردی برای نوشتن کد ساده، خوانا و قابل نگهداری. محورهای اصلی شامل سادگی و خوانایی، اینترفیسهای کوچک، مدیریت صریح خطا، همزمانی قابل پیشبینی با goroutine و channel، سازماندهی درست پکیجها، تست و بنچمارک، مستندسازی و بهینهسازی مبتنی بر اندازهگیری است. هر اصل با نمونههای عملی در GoLand همراه شده: استفاده از inspections برای شناسایی کد غیر idiomatic، refactor به سمت اینترفیسهای کوچک، الگوهای آماده برای error handling، اجرای تست و بنچمارک، دیباگ همزمانی، یکپارچهسازی linters و پروفایلینگ برای سنجش کارایی. برچسب «10x» فقط کمکی برای بهخاطر سپردن است؛ پیام اصلی این است که با تکیه بر عادتهای درست و بهرهگیری از GoLand، انجام کار درست آسانتر میشود.
#Go #Golang #GoLand #SoftwareEngineering #BestPractices #Testing #Refactoring #Productivity
🟣لینک مقاله:
https://golangweekly.com/link/175970/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The JetBrains Blog
The “10x” Commandments of Highly Effective Go | The GoLand Blog
What makes Go developers truly effective? In this guest post, John Arundel shares ten practical “commandments” of Go excellence – timeless lessons for writing cleaner, safer, and more maintainable Go code.
❤1👍1
🔵 عنوان مقاله
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
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
Redowan's Reflections
Subtest grouping in Go
Go has support for subtests starting from version 1.7. With t.Run, you can nest tests,
assign names to cases, and let the runner execute work in parallel by calling t.Parallel
from subtests if needed.
For small suites, a flat set of t.Run calls is usually…
assign names to cases, and let the runner execute work in parallel by calling t.Parallel
from subtests if needed.
For small suites, a flat set of t.Run calls is usually…
👍1
🔵 عنوان مقاله
the results of its latest 'State of Developer Ecosystem Report'
🟢 خلاصه مقاله:
خلاصه تازهترین State of Developer Ecosystem Report نشان میدهد Go در شاخص Language Promise Index رتبه چهارم و در فهرست "languages developers want to adopt next" رتبه نخست را کسب کرده است. این نتایج از رشد چشمگیر و علاقه بالای توسعهدهندگان به Go حکایت دارد؛ زبانی ساده، سریع و مناسب برای کارهای cloud-native، microservices و زیرساخت که انتظار میرود حضورش در پروژههای واقعی و مسیرهای یادگیری و استخدام بیشتر شود.
#Go #golang #DeveloperEcosystem #DeveloperSurvey #ProgrammingLanguages #LanguageTrends #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/175972/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
the results of its latest 'State of Developer Ecosystem Report'
🟢 خلاصه مقاله:
خلاصه تازهترین State of Developer Ecosystem Report نشان میدهد Go در شاخص Language Promise Index رتبه چهارم و در فهرست "languages developers want to adopt next" رتبه نخست را کسب کرده است. این نتایج از رشد چشمگیر و علاقه بالای توسعهدهندگان به Go حکایت دارد؛ زبانی ساده، سریع و مناسب برای کارهای cloud-native، microservices و زیرساخت که انتظار میرود حضورش در پروژههای واقعی و مسیرهای یادگیری و استخدام بیشتر شود.
#Go #golang #DeveloperEcosystem #DeveloperSurvey #ProgrammingLanguages #LanguageTrends #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/175972/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Jetbrains
Tools and Trends - The State of Developer Ecosystem in 2025
Explore key software developer statistics for 2025 in the State of Developer Ecosystem Report. Trends, insights, and tools shaping the developer world.
❤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
🔵 عنوان مقاله
SFTPGo 2.7: A Full Featured File Transfer Solution
🟢 خلاصه مقاله:
این نسخه از SFTPGo 2.7 یک سرور انتقال فایل مبتنی بر Go است که پروتکلهای SFTP، HTTP/S، FTP/S و WebDAV را در یک راهکار یکپارچه ارائه میدهد. تمرکز آن بر پیکربندی منعطف و کنترل دقیق دسترسی است تا مدیران بتوانند سیاستها، مسیرها و رفتار کاربران را مطابق نیاز تنظیم کنند. نقطهقوت اصلی، تعامل با storageهای ابری است؛ میتوان backendهایی مانند Amazon S3، Google Cloud Storage و Azure Blob را مانند پوشههای محلی در اختیار کلاینتها گذاشت و همان داده را همزمان از چند پروتکل ارائه کرد. امنیت انتقال با TLS و رمزنگاری مدرن تضمین میشود و ثبت رویدادها نیز برای نظارت و انطباق در دسترس است. نسخه 2.7 بر پایداری و بلوغ خط v2 تأکید دارد و گزینهای مناسب برای نوسازی جریانهای انتقال فایل و پلزدن میان کلاینتهای قدیمی و زیرساختهای cloud-first است.
#SFTPGo #SFTP #FTP #WebDAV #GoLang #CloudStorage #FileTransfer #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/176312/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
SFTPGo 2.7: A Full Featured File Transfer Solution
🟢 خلاصه مقاله:
این نسخه از SFTPGo 2.7 یک سرور انتقال فایل مبتنی بر Go است که پروتکلهای SFTP، HTTP/S، FTP/S و WebDAV را در یک راهکار یکپارچه ارائه میدهد. تمرکز آن بر پیکربندی منعطف و کنترل دقیق دسترسی است تا مدیران بتوانند سیاستها، مسیرها و رفتار کاربران را مطابق نیاز تنظیم کنند. نقطهقوت اصلی، تعامل با storageهای ابری است؛ میتوان backendهایی مانند Amazon S3، Google Cloud Storage و Azure Blob را مانند پوشههای محلی در اختیار کلاینتها گذاشت و همان داده را همزمان از چند پروتکل ارائه کرد. امنیت انتقال با TLS و رمزنگاری مدرن تضمین میشود و ثبت رویدادها نیز برای نظارت و انطباق در دسترس است. نسخه 2.7 بر پایداری و بلوغ خط v2 تأکید دارد و گزینهای مناسب برای نوسازی جریانهای انتقال فایل و پلزدن میان کلاینتهای قدیمی و زیرساختهای cloud-first است.
#SFTPGo #SFTP #FTP #WebDAV #GoLang #CloudStorage #FileTransfer #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/176312/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Sftpgo
SFTP & FTP as a Managed Service (SaaS) and On-premise
Fully featured and highly configurable SFTP server with HTTP/S Web UI, FTP/S and WebDAV - As a Managed Service, On-premise, Cloud, Hybrid Cloud - Data at Rest Encryption, S3, Google Cloud, Azure Blob.
❤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