🔵 عنوان مقاله
Reverse Engineering Doesn't Have to Be Hard
🟢 خلاصه مقاله:
این مطلب نشان میدهد مهندسی معکوس الزماً سخت نیست و با یک نمونه بدافزار نوشتهشده با Go بهصورت گامبهگام پیش میرود. بدون نیاز به دانستن Go یا کدنویسی، بر روششناسی تمرکز دارد: راهاندازی محیط امن، تریاژ اولیه (هشها، فراداده و بررسی سریع رشتهها)، تشخیص بستهبندی/ابهامسازی، تحلیل ایستا (بررسی imports، نقطههای ورود، نامگذاری تابعها، و ترسیم جریان کنترل) و در کنار آن تحلیل پویا در محیط جداافتاده برای مشاهده رفتار پردازشی، تغییرات سیستم و ترافیک شبکه. نتیجه، یک جعبهابزار فشرده از تکنیکهای پایه است که به مبتدیان اعتمادبهنفس میدهد تا منطق بدافزار را روشن کنند و نشانگرهای آلودگی (IOC) را استخراج کنند—بدون تکیه بر ترفندهای وابسته به زبان.
#ReverseEngineering #MalwareAnalysis #Golang #Infosec #StaticAnalysis #DynamicAnalysis #CyberSecurity
🟣لینک مقاله:
https://golangweekly.com/link/175361/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Reverse Engineering Doesn't Have to Be Hard
🟢 خلاصه مقاله:
این مطلب نشان میدهد مهندسی معکوس الزماً سخت نیست و با یک نمونه بدافزار نوشتهشده با Go بهصورت گامبهگام پیش میرود. بدون نیاز به دانستن Go یا کدنویسی، بر روششناسی تمرکز دارد: راهاندازی محیط امن، تریاژ اولیه (هشها، فراداده و بررسی سریع رشتهها)، تشخیص بستهبندی/ابهامسازی، تحلیل ایستا (بررسی imports، نقطههای ورود، نامگذاری تابعها، و ترسیم جریان کنترل) و در کنار آن تحلیل پویا در محیط جداافتاده برای مشاهده رفتار پردازشی، تغییرات سیستم و ترافیک شبکه. نتیجه، یک جعبهابزار فشرده از تکنیکهای پایه است که به مبتدیان اعتمادبهنفس میدهد تا منطق بدافزار را روشن کنند و نشانگرهای آلودگی (IOC) را استخراج کنند—بدون تکیه بر ترفندهای وابسته به زبان.
#ReverseEngineering #MalwareAnalysis #Golang #Infosec #StaticAnalysis #DynamicAnalysis #CyberSecurity
🟣لینک مقاله:
https://golangweekly.com/link/175361/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
YouTube
reverse engineering doesn't have to be hard
https://jh.live/hex-rays || Disassemble, decompile and debug with IDA Pro! Use promo code HAMMOND50 for 50% off any IDA Pro product (license discount is only applicable to individuals for any product, not corporations https://hex-rays.com/pricing) and code…
🔵 عنوان مقاله
GopherCon Korea 2025
🟢 خلاصه مقاله:
**GopherCon Korea 2025 حدود یک ماه دیگر، در تاریخ ۹ نوامبر برگزار میشود. این رویداد جامعهمحور برای توسعهدهندگان Go (Golang) فرصتی مناسب است تا بهروزترین روندها را دنبال کنند، تجربههای عملی را به اشتراک بگذارند و شبکهسازی مؤثری داشته باشند. معمولاً نشستها به موضوعاتی مانند مفاهیم زبان و کارایی، الگوهای همزمانی، توسعه cloud-native و microservices، ابزارها و observability و مطالعات موردی در مقیاس تولید میپردازد. اگر قصد حضور دارید، اکنون زمان خوبی برای ثبتنام و برنامهریزی سفر است و پیگیری کانالهای رسمی برای جزئیات برنامه و مکان توصیه میشود.
#GopherConKorea #GopherCon #Golang #Go #TechConference #Developers #Korea #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/175357/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GopherCon Korea 2025
🟢 خلاصه مقاله:
**GopherCon Korea 2025 حدود یک ماه دیگر، در تاریخ ۹ نوامبر برگزار میشود. این رویداد جامعهمحور برای توسعهدهندگان Go (Golang) فرصتی مناسب است تا بهروزترین روندها را دنبال کنند، تجربههای عملی را به اشتراک بگذارند و شبکهسازی مؤثری داشته باشند. معمولاً نشستها به موضوعاتی مانند مفاهیم زبان و کارایی، الگوهای همزمانی، توسعه cloud-native و microservices، ابزارها و observability و مطالعات موردی در مقیاس تولید میپردازد. اگر قصد حضور دارید، اکنون زمان خوبی برای ثبتنام و برنامهریزی سفر است و پیگیری کانالهای رسمی برای جزئیات برنامه و مکان توصیه میشود.
#GopherConKorea #GopherCon #Golang #Go #TechConference #Developers #Korea #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/175357/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GopherCon Korea 2025
The largest annual conference for Go language users in South Korea.
❤1
🔵 عنوان مقاله
Constraining LLMs with Structured Output in Python and Go
🟢 خلاصه مقاله:
**این مجموعه به روشهای عملی برای واداشتن LLMها به تولید خروجی ساختیافته میپردازد تا ادغام در سیستمهای تولیدی قابل اعتماد، قابل اعتبارسنجی و قابل آزمون باشد. در Python با تعریف شِماهای سازگار با JSON و اتصال خروجی مدل به انواع مشخص، و در Go با استفاده از structهای نوعدار، struct tagها، و خطاهای صریح، خطر خروجی متنی آزاد و شکننده کاهش مییابد.
همچنین یک ویدئو از Rost Glukhov ساخت یک عامل کدنویس در Go را از ابتدا نشان میدهد؛ از طراحی پرامپت و برنامهریزی تا اجرای ابزار و حلقه بازخورد. در بخش کارهای زمانبندی انبوه، مقاله Bill Kennedy توضیح میدهد چگونه Timing Wheels بدون پیمایش O(n) میتوانند میلیونها کلید را منقضی کنند—الگویی مفید برای زمانبندیکنندهها، کشها و محدودکنندههای نرخ در Go. برای درک عمیقتر همروندی، نوشتار Ankur Anand رفتار و انتخابهای درست پیرامون primitives بسته sync مانند Mutex، RWMutex، WaitGroup و Cond را تشریح میکند. در پایان، مطلبی از Matheus Mina این مجموعه را کامل میکند. حاصل کار، جعبهابزاری عملی برای ساخت عاملها و سرویسهای پربازده در Python و Go است.
#Go #Python #LLM #StructuredOutput #TimingWheels #Concurrency #Golang #Agents
🟣لینک مقاله:
https://golangweekly.com/link/175364/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Constraining LLMs with Structured Output in Python and Go
🟢 خلاصه مقاله:
**این مجموعه به روشهای عملی برای واداشتن LLMها به تولید خروجی ساختیافته میپردازد تا ادغام در سیستمهای تولیدی قابل اعتماد، قابل اعتبارسنجی و قابل آزمون باشد. در Python با تعریف شِماهای سازگار با JSON و اتصال خروجی مدل به انواع مشخص، و در Go با استفاده از structهای نوعدار، struct tagها، و خطاهای صریح، خطر خروجی متنی آزاد و شکننده کاهش مییابد.
همچنین یک ویدئو از Rost Glukhov ساخت یک عامل کدنویس در Go را از ابتدا نشان میدهد؛ از طراحی پرامپت و برنامهریزی تا اجرای ابزار و حلقه بازخورد. در بخش کارهای زمانبندی انبوه، مقاله Bill Kennedy توضیح میدهد چگونه Timing Wheels بدون پیمایش O(n) میتوانند میلیونها کلید را منقضی کنند—الگویی مفید برای زمانبندیکنندهها، کشها و محدودکنندههای نرخ در Go. برای درک عمیقتر همروندی، نوشتار Ankur Anand رفتار و انتخابهای درست پیرامون primitives بسته sync مانند Mutex، RWMutex، WaitGroup و Cond را تشریح میکند. در پایان، مطلبی از Matheus Mina این مجموعه را کامل میکند. حاصل کار، جعبهابزاری عملی برای ساخت عاملها و سرویسهای پربازده در Python و Go است.
#Go #Python #LLM #StructuredOutput #TimingWheels #Concurrency #Golang #Agents
🟣لینک مقاله:
https://golangweekly.com/link/175364/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Rost Glukhov | Personal site and technical blog
Constraining LLMs with Structured Output: Ollama, Qwen3 & Python or Go
Constraining LLMs with Structured Output — Using Ollama and Qwen3 with examples in Python and Go
❤2
🔵 عنوان مقاله
Lo v1.52.0: A Lodash-Style Library for Go 1.18+
🟢 خلاصه مقاله:
** Lo v1.52.0 یک کتابخانه سبک Lodash برای Go 1.18+ است که مجموعهای از توابع کمکیِ آماده برای کار با slice و map و سایر کالکشنها را فراهم میکند. با تکیه بر generics در Go، این ابزار توابعی مانند Map، Filter، Reduce، GroupBy، Chunk، و عملیات مجموعهای مثل Union و Intersect را بهصورت type-safe و بدون نیاز به reflection ارائه میدهد. هدف آن کاهش کد زائد، سادهسازی پردازش دادهها، و افزایش خوانایی است؛ بهطوریکه بتوان بهجای حلقههای تودرتو، زنجیرهای از توابع قابلخواندن و کارا نوشت. نسخه v1.52.0 این رویکرد را برای کاربران Go 1.18+ تثبیت کرده و تجربهای روان و کارآمد برای تبدیل و مدیریت کالکشنها فراهم میکند.
#Go #Golang #Lo #Lodash #Generics #Go18 #Libraries #FunctionalProgramming
🟣لینک مقاله:
https://golangweekly.com/link/175369/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Lo v1.52.0: A Lodash-Style Library for Go 1.18+
🟢 خلاصه مقاله:
** Lo v1.52.0 یک کتابخانه سبک Lodash برای Go 1.18+ است که مجموعهای از توابع کمکیِ آماده برای کار با slice و map و سایر کالکشنها را فراهم میکند. با تکیه بر generics در Go، این ابزار توابعی مانند Map، Filter، Reduce، GroupBy، Chunk، و عملیات مجموعهای مثل Union و Intersect را بهصورت type-safe و بدون نیاز به reflection ارائه میدهد. هدف آن کاهش کد زائد، سادهسازی پردازش دادهها، و افزایش خوانایی است؛ بهطوریکه بتوان بهجای حلقههای تودرتو، زنجیرهای از توابع قابلخواندن و کارا نوشت. نسخه v1.52.0 این رویکرد را برای کاربران Go 1.18+ تثبیت کرده و تجربهای روان و کارآمد برای تبدیل و مدیریت کالکشنها فراهم میکند.
#Go #Golang #Lo #Lodash #Generics #Go18 #Libraries #FunctionalProgramming
🟣لینک مقاله:
https://golangweekly.com/link/175369/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - samber/lo: 💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)
💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...) - samber/lo
❤2
🔵 عنوان مقاله
Excelize 2.10: A Pure Go Way to Work with Excel Spreadsheets
🟢 خلاصه مقاله:
نسخه 2.10 از Excelize یک کتابخانه پخته و فعال در اکوسیستم Go است که امکان خواندن و نوشتن فایلهای XLAM، XLSM، XLSX، XLTM و XLTX را بهصورت مستقیم و بدون وابستگیهای بومی فراهم میکند. بهدلیل Pure Go بودن، استقرار ساده است، باینریها قابل حملاند و روی Linux، macOS و Windows پایدار اجرا میشوند؛ از محیطهای ابری و container تا serverless و ابزارهای CLI. این کتابخانه ایجاد و ویرایش فایلها، کار با شیتها، سلولها، استایلها و فرمولها را پوشش میدهد و با پشتیبانی از مواردی مانند Data Validation، Conditional Formatting، نمودارها و Pivot Table برای ساخت گزارشهای حرفهای مناسب است. در این نسخه تمرکز بر پایداری، کارایی و سازگاری بهتر با ویژگیهای مدرن Excel ادامه یافته و Excelize همچنان گزینهای قابل اتکا برای اتوماسیون Excel در پروژههای Go بهشمار میآید.
#Excelize #Go #Golang #Excel #Spreadsheets #OpenSource #DataEngineering #Automation
🟣لینک مقاله:
https://golangweekly.com/link/175639/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Excelize 2.10: A Pure Go Way to Work with Excel Spreadsheets
🟢 خلاصه مقاله:
نسخه 2.10 از Excelize یک کتابخانه پخته و فعال در اکوسیستم Go است که امکان خواندن و نوشتن فایلهای XLAM، XLSM، XLSX، XLTM و XLTX را بهصورت مستقیم و بدون وابستگیهای بومی فراهم میکند. بهدلیل Pure Go بودن، استقرار ساده است، باینریها قابل حملاند و روی Linux، macOS و Windows پایدار اجرا میشوند؛ از محیطهای ابری و container تا serverless و ابزارهای CLI. این کتابخانه ایجاد و ویرایش فایلها، کار با شیتها، سلولها، استایلها و فرمولها را پوشش میدهد و با پشتیبانی از مواردی مانند Data Validation، Conditional Formatting، نمودارها و Pivot Table برای ساخت گزارشهای حرفهای مناسب است. در این نسخه تمرکز بر پایداری، کارایی و سازگاری بهتر با ویژگیهای مدرن Excel ادامه یافته و Excelize همچنان گزینهای قابل اتکا برای اتوماسیون Excel در پروژههای Go بهشمار میآید.
#Excelize #Go #Golang #Excel #Spreadsheets #OpenSource #DataEngineering #Automation
🟣لینک مقاله:
https://golangweekly.com/link/175639/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Ri Xu Online
Excelize Official Documentation
Go language API for Spreadsheet (Excel) Document
🔵 عنوان مقاله
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
❤3
🔵 عنوان مقاله
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