Gopher Academy
3.84K subscribers
931 photos
42 videos
280 files
2.17K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
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
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
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
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
🔵 عنوان مقاله
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
11
🔵 عنوان مقاله
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
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
👍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
👍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
👍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
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
👍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
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
👍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
🔵 عنوان مقاله
superfile: Go-Powered Terminal-Based File Manager

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

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

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


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

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

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


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

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

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

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
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
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