🔵any says nothing (#8)
🟢Only use any if you need to accept or return any possible type, such as json.Marshal. Otherwise, any doesn’t provide meaningful information and can lead to compile-time issues by allowing a caller to call methods with any data type.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🟢Only use any if you need to accept or return any possible type, such as json.Marshal. Otherwise, any doesn’t provide meaningful information and can lead to compile-time issues by allowing a caller to call methods with any data type.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
❤1🕊1🍾1
🔵 عنوان مقاله
Codoworks Go Boilerplate: Prod-Ready RESTful API Boilerplate
🟢 خلاصه مقاله:
مقاله مورد بحث یک برنامهی نمونهی بیانگرا است که با استفاده از فریمورک Echo برای راهاندازی سریع APIهای CRUD طراحی شده است. Echo یک فریمورک وب محبوب در زبان برنامهنویسی Go است که به دلیل سرعت بالا و کارایی خود شناخته شده است. نقطه قوت این برنامه نمونه، فراهم کردن یک محیط آماده و منظم برای توسعه دهندگان است تا بتوانند APIهای CRUD را بدون نیاز به صرف زمان زیاد برای پیکربندی اولیه، بسرعت پیادهسازی کنند. برنامه نمونه شامل پیکربندیهای پیشفرض و ساختار دهی شده است که به توسعهدهندگان اجازه میدهد تمرکز خود را روی نوشتن منطق کسبوکار و توسعه ویژگیهای جدید معطوف دارند. برنامهی نمونه Echo این قابلیت را ارائه میدهد که میتوان با اندکی تنظیمات شخصی، به یک راهحل عملی برای پروژههای واقعی تبدیل شود.
🟣لینک مقاله:
https://github.com/codoworks/go-boilerplate
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Codoworks Go Boilerplate: Prod-Ready RESTful API Boilerplate
🟢 خلاصه مقاله:
مقاله مورد بحث یک برنامهی نمونهی بیانگرا است که با استفاده از فریمورک Echo برای راهاندازی سریع APIهای CRUD طراحی شده است. Echo یک فریمورک وب محبوب در زبان برنامهنویسی Go است که به دلیل سرعت بالا و کارایی خود شناخته شده است. نقطه قوت این برنامه نمونه، فراهم کردن یک محیط آماده و منظم برای توسعه دهندگان است تا بتوانند APIهای CRUD را بدون نیاز به صرف زمان زیاد برای پیکربندی اولیه، بسرعت پیادهسازی کنند. برنامه نمونه شامل پیکربندیهای پیشفرض و ساختار دهی شده است که به توسعهدهندگان اجازه میدهد تمرکز خود را روی نوشتن منطق کسبوکار و توسعه ویژگیهای جدید معطوف دارند. برنامهی نمونه Echo این قابلیت را ارائه میدهد که میتوان با اندکی تنظیمات شخصی، به یک راهحل عملی برای پروژههای واقعی تبدیل شود.
🟣لینک مقاله:
https://github.com/codoworks/go-boilerplate
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - codoworks/go-boilerplate: Production-ready Go RESTful API boilerplate with Echo
Production-ready Go RESTful API boilerplate with Echo - codoworks/go-boilerplate
👍2❤1🍾1
🔵 عنوان مقاله
The One Billion Row Challenge (Again!) – From 95s to 1.96s
🟢 خلاصه مقاله:
در چالش "یک میلیارد ردیف" ارائه شده توسط گونار مورلینگ، هدف خواندن و تجمیع اطلاعات از یک فایل شامل یک میلیارد خط میباشد. این چالش توجه بسیاری را به خود جلب کرده و راهحلهای ارائهشده توسط شرادها آگروال و بِن هویت پیشتر مورد بررسی قرار گرفتهاند. این مقاله به بررسی دقیقتر و عمیقتر این موضوع پرداخته و جزئیات فنی و سطح پایینتری را مورد توجه قرار داده است. تکنیکها و جزئیات ارائه شده در این زمینه میتوانند برای کسانی که علاقهمند به بهبود فرآیند خواندن و تجزیه و تحلیل دادههای حجیم هستند، بسیار سودمند باشد.
🟣لینک مقاله:
https://r2p.dev/b/2024-03-18-1brc-go/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The One Billion Row Challenge (Again!) – From 95s to 1.96s
🟢 خلاصه مقاله:
در چالش "یک میلیارد ردیف" ارائه شده توسط گونار مورلینگ، هدف خواندن و تجمیع اطلاعات از یک فایل شامل یک میلیارد خط میباشد. این چالش توجه بسیاری را به خود جلب کرده و راهحلهای ارائهشده توسط شرادها آگروال و بِن هویت پیشتر مورد بررسی قرار گرفتهاند. این مقاله به بررسی دقیقتر و عمیقتر این موضوع پرداخته و جزئیات فنی و سطح پایینتری را مورد توجه قرار داده است. تکنیکها و جزئیات ارائه شده در این زمینه میتوانند برای کسانی که علاقهمند به بهبود فرآیند خواندن و تجزیه و تحلیل دادههای حجیم هستند، بسیار سودمند باشد.
🟣لینک مقاله:
https://r2p.dev/b/2024-03-18-1brc-go/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
r2p.dev
One Billion Row Challenge in Golang - From 95s to 1.96s
In the One Billion Row Challenge, the task is to write a program capable of reading an 1-billion-line file (with around 13GB), process and aggregate temperature readings from various weather stations, and present a report of the results on console. In this…
❤1👍1🔥1🕊1🍾1
💡5 پلتفرم برتر چالش کد نویسی برای برنامه نویسان
🏷 leetcode.com ⬇️
⬅️با مجموعه گسترده ای از چالش های کدنویسی در LeetCode، مهارت های حل مسئله را تقویت کنید.
🏷 hackerrank.com ⬇️
⬅️چالش های کدنویسی متنوعی را برای الگوریتم، ساختار داده و بهبود مهارت زبان ارائه می دهد.
🏷 codesignal.com ⬇️
⬅️چالش ها و ارزیابی های کدگذاری را برای افزایش مهارت های کدنویسی برای مصاحبه و تمرین فراهم می کند.
🏷 codewars.com ⬇️
⬅️ توسعه دهندگان را در حل خلاقانه مسائل از طریق چالش های کاتا درگیر می کند و توسعه مهارت ها را تقویت می کند.
🏷 exercism.io ⬇️
⬅️ تمرینهای کدنویسی را به زبانهای مختلف ارائه میکند که راهنمایی و پشتیبانی جامعه را ارائه میکند.
#kali_linuxxx
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🏷 leetcode.com ⬇️
⬅️با مجموعه گسترده ای از چالش های کدنویسی در LeetCode، مهارت های حل مسئله را تقویت کنید.
🏷 hackerrank.com ⬇️
⬅️چالش های کدنویسی متنوعی را برای الگوریتم، ساختار داده و بهبود مهارت زبان ارائه می دهد.
🏷 codesignal.com ⬇️
⬅️چالش ها و ارزیابی های کدگذاری را برای افزایش مهارت های کدنویسی برای مصاحبه و تمرین فراهم می کند.
🏷 codewars.com ⬇️
⬅️ توسعه دهندگان را در حل خلاقانه مسائل از طریق چالش های کاتا درگیر می کند و توسعه مهارت ها را تقویت می کند.
🏷 exercism.io ⬇️
⬅️ تمرینهای کدنویسی را به زبانهای مختلف ارائه میکند که راهنمایی و پشتیبانی جامعه را ارائه میکند.
#kali_linuxxx
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍3🔥1🎉1🍾1
🔵 عنوان مقاله
Measuring a System’s Performance with Go
🟢 خلاصه مقاله:
مقالهای که مرور شده، به بررسی تواناییهای زبان برنامهنویسی Go در اجرای بنچمارک ها میپردازد و تأکید میکند که Go ویژگیهای چشمگیری برای سنجش عملکرد CPU و حافظه، استفاده از حافظه، و حتی بررسی بهینهسازیهای انجامشده توسط Go دارد. مقاله همچنین به چگونگی استفاده و کاربرد این ویژگیها در Go میپردازد و با ارائه مثالهای فراوان، راهنماییهای عملی را برای بهبود و ارزیابی برنامهها فراهم میآورد. این منابع به توسعهدهندگان کمک میکنند تا درک بهتری از کارایی برنامههای خود به دست آورند و راههایی برای بهینهسازی کدها با توجه به نیازهای محاسباتی و حافظهای شناسایی کنند.
🟣لینک مقاله:
https://lemire.me/blog/2024/03/17/measuring-your-systems-performance-using-software-go-edition/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Measuring a System’s Performance with Go
🟢 خلاصه مقاله:
مقالهای که مرور شده، به بررسی تواناییهای زبان برنامهنویسی Go در اجرای بنچمارک ها میپردازد و تأکید میکند که Go ویژگیهای چشمگیری برای سنجش عملکرد CPU و حافظه، استفاده از حافظه، و حتی بررسی بهینهسازیهای انجامشده توسط Go دارد. مقاله همچنین به چگونگی استفاده و کاربرد این ویژگیها در Go میپردازد و با ارائه مثالهای فراوان، راهنماییهای عملی را برای بهبود و ارزیابی برنامهها فراهم میآورد. این منابع به توسعهدهندگان کمک میکنند تا درک بهتری از کارایی برنامههای خود به دست آورند و راههایی برای بهینهسازی کدها با توجه به نیازهای محاسباتی و حافظهای شناسایی کنند.
🟣لینک مقاله:
https://lemire.me/blog/2024/03/17/measuring-your-systems-performance-using-software-go-edition/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍4🔥2🍾1
🔵 عنوان مقاله
Learn Building Scalable & Resilient Go Backend
🟢 خلاصه مقاله:
مقالهای که مورد بحث قرار گرفته، به معرفی دوره آینده "Go Event-Driven" میپردازد، که مهارتهای مرتبط با برنامهنویسی رویداد محور را آموزش میدهد. برنامهنویسی رویداد محور با زبان Go یکی از مهارتهای درخواستی و مهم در بازار کار فناوری اطلاعات است و این دوره به شرکتکنندگان فرصتی میدهد تا از دیگر رقبا متمایز شوند. مشارکت در این دوره فرصتی است برای افراد جهت به دست آوردن دانش فنی به روز و کاربردی در زمینهی برنامهنویسی رویداد محور، که میتواند به پیشرفت شغلی و فرصتهای بهتری در آینده منجر شود.
🟣لینک مقاله:
https://threedots.tech/event-driven/?utm_source=golang-weekly
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Learn Building Scalable & Resilient Go Backend
🟢 خلاصه مقاله:
مقالهای که مورد بحث قرار گرفته، به معرفی دوره آینده "Go Event-Driven" میپردازد، که مهارتهای مرتبط با برنامهنویسی رویداد محور را آموزش میدهد. برنامهنویسی رویداد محور با زبان Go یکی از مهارتهای درخواستی و مهم در بازار کار فناوری اطلاعات است و این دوره به شرکتکنندگان فرصتی میدهد تا از دیگر رقبا متمایز شوند. مشارکت در این دوره فرصتی است برای افراد جهت به دست آوردن دانش فنی به روز و کاربردی در زمینهی برنامهنویسی رویداد محور، که میتواند به پیشرفت شغلی و فرصتهای بهتری در آینده منجر شود.
🟣لینک مقاله:
https://threedots.tech/event-driven/?utm_source=golang-weekly
➖➖➖➖➖➖➖➖
👑 @gopher_academy
threedots.tech
Go Event-Driven Training
Learn to build extremely scalable and resilient event-driven backend systems in Go. Go Event-Driven provides hands-on training with real-world projects to master asynchronous processing, message brokers, CQRS, sagas and more. Level up your Go skills with…
👍2🔥2❤1
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1255447]
در پیام خطای SIGSEGV که مشاهده میکنید، pc مخفف "Program Counter" است. Program Counter (یا به اختصار PC) یک ثبات (register) در پردازنده است که آدرس دستورالعملی را که قرار است بعدی اجرا شود، نگه میدارد.
توضیحاتی دربارهی پیام خطا:
🔵اsignal SIGSEGV: این سیگنال نشان میدهد که یک Segmentation Fault رخ داده است، یعنی برنامه سعی کرده به آدرسی از حافظه دسترسی پیدا کند که مجاز نیست.
🔵اcode=0x1: این مقدار نشاندهندهی کد خطای خاصی است که در اینجا بیان میکند که خطا به دلیل دسترسی نامعتبر به حافظه رخ داده است.
🔵اaddr=0x0: این مقدار نشان میدهد که برنامه سعی کرده به آدرس حافظه 0x0 دسترسی پیدا کند. دسترسی به این آدرس معمولاً به دلیل استفاده از اشارهگر تهی (nil pointer) است.
🔵اpc=0x1255447: این مقدار نشان میدهد که برنامه در کدام آدرس حافظه (instruction address) در حال اجرا بود که خطا رخ داد. این آدرس نشان میدهد که کدام دستور در کد شما باعث بروز این خطا شده است.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
در پیام خطای SIGSEGV که مشاهده میکنید، pc مخفف "Program Counter" است. Program Counter (یا به اختصار PC) یک ثبات (register) در پردازنده است که آدرس دستورالعملی را که قرار است بعدی اجرا شود، نگه میدارد.
توضیحاتی دربارهی پیام خطا:
🔵اsignal SIGSEGV: این سیگنال نشان میدهد که یک Segmentation Fault رخ داده است، یعنی برنامه سعی کرده به آدرسی از حافظه دسترسی پیدا کند که مجاز نیست.
🔵اcode=0x1: این مقدار نشاندهندهی کد خطای خاصی است که در اینجا بیان میکند که خطا به دلیل دسترسی نامعتبر به حافظه رخ داده است.
🔵اaddr=0x0: این مقدار نشان میدهد که برنامه سعی کرده به آدرس حافظه 0x0 دسترسی پیدا کند. دسترسی به این آدرس معمولاً به دلیل استفاده از اشارهگر تهی (nil pointer) است.
🔵اpc=0x1255447: این مقدار نشان میدهد که برنامه در کدام آدرس حافظه (instruction address) در حال اجرا بود که خطا رخ داد. این آدرس نشان میدهد که کدام دستور در کد شما باعث بروز این خطا شده است.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍3❤1🍾1
🔵 عنوان مقاله
How to Write a '4000 Stars' GitHub README for Your Project
🟢 خلاصه مقاله:
مقاله مذکور به بحث در مورد اهمیت و نکات کلیدی ایجاد فایلهای README خوب میپردازد که در دایرهی توسعهدهندگان نرمافزار، به ویژه پروژههای برنامهنویسی به زبان Go مانند پروژه Daytona، استفاده میشود. نویسندگان با تکیه بر تجارب خود، تاکید میکنند که یک README خوب باید واضح، مختصر و مفید باشد و نه تنها نحوه استفاده از کد، بلکه هدف و مقصود کلی پروژه را نیز شرح بدهد. آنها به این نکته اشاره میکنند که README باید به گونهای نوشته شود که هم برای مبتدیان قابل فهم باشد و هم اطلاعات کافی برای پیشرفتهترین کاربران فراهم آورد. از جمله دیگر توصیهها، بهروزرسانی مداوم README به هنگام تغییرات در پروژه و استفاده از لینکهای داخلی برای ارجاع دادن به بخشهای مختلف اسناد یا منابع خارجی است. نویسندگان معتقدند که یک README مؤثر میتواند در موفقیت کلی پروژه نقش بسزایی داشته باشد.
🟣لینک مقاله:
https://www.daytona.io/dotfiles/how-to-write-4000-stars-github-readme-for-your-project
➖➖➖➖➖➖➖➖
👑 @gopher_academy
How to Write a '4000 Stars' GitHub README for Your Project
🟢 خلاصه مقاله:
مقاله مذکور به بحث در مورد اهمیت و نکات کلیدی ایجاد فایلهای README خوب میپردازد که در دایرهی توسعهدهندگان نرمافزار، به ویژه پروژههای برنامهنویسی به زبان Go مانند پروژه Daytona، استفاده میشود. نویسندگان با تکیه بر تجارب خود، تاکید میکنند که یک README خوب باید واضح، مختصر و مفید باشد و نه تنها نحوه استفاده از کد، بلکه هدف و مقصود کلی پروژه را نیز شرح بدهد. آنها به این نکته اشاره میکنند که README باید به گونهای نوشته شود که هم برای مبتدیان قابل فهم باشد و هم اطلاعات کافی برای پیشرفتهترین کاربران فراهم آورد. از جمله دیگر توصیهها، بهروزرسانی مداوم README به هنگام تغییرات در پروژه و استفاده از لینکهای داخلی برای ارجاع دادن به بخشهای مختلف اسناد یا منابع خارجی است. نویسندگان معتقدند که یک README مؤثر میتواند در موفقیت کلی پروژه نقش بسزایی داشته باشد.
🟣لینک مقاله:
https://www.daytona.io/dotfiles/how-to-write-4000-stars-github-readme-for-your-project
➖➖➖➖➖➖➖➖
👑 @gopher_academy
www.daytona.io
How to Write A 4000 Stars GitHub README for Your Project
Guide on How We Created a GitHub Project README that Propelled Our Open Source Project to 4k Stars
👍3
🖐درود به همه دوستان
لیست چنل های ما👇
🔵 موقعیت شغلی های گولنگ
❤️ @gopher_job
🔵 آموزش و مقالات بروز انواع دیتابیس ها
❤️ @database_academy
لیست چنل های ما👇
🔵 موقعیت شغلی های گولنگ
❤️ @gopher_job
🔵 آموزش و مقالات بروز انواع دیتابیس ها
❤️ @database_academy
👍5🍾1
Gopher Academy pinned «🖐درود به همه دوستان لیست چنل های ما👇 🔵 موقعیت شغلی های گولنگ ❤️ @gopher_job 🔵 آموزش و مقالات بروز انواع دیتابیس ها ❤️ @database_academy»
🔵 عنوان مقاله
More Powerful Go Execution Traces
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته به تلاشهای تیم برنامهنویسی زبان برنامهنویسی Go در دو نسخه اخیر اشاره دارد، که در آنها به بهبود و تعمیر سیستم اجرایی tracing پرداخته شده است. این بهبودها منجر به کاهش ده برابری در بار اضافی سیستم و افزایش قابلیتهای مقیاسپذیری در traceها شدهاست. از نتایج این پیشرفتها، دو ویژگی آزمایشی جدید معرفی شدهاند. نخست، توانایی ضبط مداوم اجرا که بهعنوان 'flight recording' شناخته میشود و دوم، API مخصوص خواندن traceها. هر دو ویژگی جدید، افقهای تازهای را برای توسعهدهندگان و محققان در زمینه تحلیل کارایی و عیبیابی برنامهها فراهم میآورند و قدمهای مهمی در جهت افزایش کارایی و تحلیلپذیری برنامهها در Go بهشمار میروند.
🟣لینک مقاله:
https://go.dev/blog/execution-traces-2024
➖➖➖➖➖➖➖➖
👑 @gopher_academy
More Powerful Go Execution Traces
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته به تلاشهای تیم برنامهنویسی زبان برنامهنویسی Go در دو نسخه اخیر اشاره دارد، که در آنها به بهبود و تعمیر سیستم اجرایی tracing پرداخته شده است. این بهبودها منجر به کاهش ده برابری در بار اضافی سیستم و افزایش قابلیتهای مقیاسپذیری در traceها شدهاست. از نتایج این پیشرفتها، دو ویژگی آزمایشی جدید معرفی شدهاند. نخست، توانایی ضبط مداوم اجرا که بهعنوان 'flight recording' شناخته میشود و دوم، API مخصوص خواندن traceها. هر دو ویژگی جدید، افقهای تازهای را برای توسعهدهندگان و محققان در زمینه تحلیل کارایی و عیبیابی برنامهها فراهم میآورند و قدمهای مهمی در جهت افزایش کارایی و تحلیلپذیری برنامهها در Go بهشمار میروند.
🟣لینک مقاله:
https://go.dev/blog/execution-traces-2024
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
More powerful Go execution traces - The Go Programming Language
New features and improvements to execution traces from the last year.
👍4
در زبان Go،
در Go، چندین نوع
🟢 1. Open-Coded Defer
ا
ویژگیها:
- از تخصیص حافظه اضافی جلوگیری میکند.
- سریعتر اجرا میشود.
- مستقیم در کد قرار میگیرد و از پیچیدگیهای معمول
🟢 2. Heap-Allocated Defer
ا
ویژگیها:
- برای مدیریت
- کندتر از
- در تابعهایی که تعداد زیادی
🟢 3. Stack-Allocated Defer
ا
🔵ویژگیها:
- روی stack تخصیص داده میشود.
- از
- به دلایلی نمیتواند
🔴 جمعبندی
- `Open-coded defer`: بهینهترین نوع، زمانی که
- `Heap-allocated defer`: کمینه کارایی دارد زیرا نیاز به تخصیص حافظه روی heap دارد.
- `Stack-allocated defer`: از stack استفاده میکند و بین کارایی و پیچیدگی قرار میگیرد.
این تمایزها به دلیل نحوه مدیریت منابع و بهینهسازیهای مختلف در کامپایلر Go است و درک آنها میتواند به نوشتن کدهای کاراتر کمک کند.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
defer
یک مکانیزم است که به شما اجازه میدهد یک تابع را در انتهای اسکوپ (scope) اجرا کنید، معمولاً برای پاکسازی منابع یا اجرای کدهای نهایی مثل بستن فایلها، قفلها، یا کانکشنها. در Go، چندین نوع
defer
وجود دارد که بر اساس نحوه پیادهسازی و تخصیص منابع، رفتارهای مختلفی دارند:🟢 1. Open-Coded Defer
ا
Open-coded defer
نوعی از defer
است که بهینهسازی شده و مستقیماً در کد قرار داده میشود. این نوع defer
زمانی اتفاق میافتد که Go تشخیص دهد که فراخوانی defer
نیازی به پیچیدگیهای اضافهی معمول (مثل تخصیص حافظه روی heap) ندارد. معمولاً این بهینهسازی زمانی انجام میشود که تعداد کمی defer
در تابع وجود دارد و آنها ساده هستند.ویژگیها:
- از تخصیص حافظه اضافی جلوگیری میکند.
- سریعتر اجرا میشود.
- مستقیم در کد قرار میگیرد و از پیچیدگیهای معمول
defer
اجتناب میکند.🟢 2. Heap-Allocated Defer
ا
Heap-allocated defer
زمانی ایجاد میشود که defer
به دلایل خاصی نیاز به تخصیص حافظه روی heap دارد. این اتفاق معمولاً در مواقعی رخ میدهد که تابع دارای چندین defer
پیچیده باشد، یا زمانی که defer
در یک تابع ناشناس یا گوروتین استفاده شود.ویژگیها:
- برای مدیریت
defer
باید از heap استفاده کند.- کندتر از
open-coded defer
است زیرا نیاز به تخصیص حافظه و مدیریت اضافی دارد.- در تابعهایی که تعداد زیادی
defer
دارند یا defer
در گوروتینها استفاده شده، این نوع دیده میشود.🟢 3. Stack-Allocated Defer
ا
Stack-allocated defer
نوعی از defer
است که در stack تخصیص داده میشود. این نوع معمولاً در مواقعی استفاده میشود که defer
از لحاظ تخصیص منابع ساده است و نیازی به استفاده از heap ندارد، اما همچنان نمیتواند open-coded
باشد. این نوع به نوعی میان open-coded
و heap-allocated
قرار میگیرد.🔵ویژگیها:
- روی stack تخصیص داده میشود.
- از
heap
استفاده نمیکند، بنابراین بهینهتر از heap-allocated defer
است.- به دلایلی نمیتواند
open-coded
باشد (مثل پیچیدگی بیشتر یا وجود چندین defer
).🔴 جمعبندی
- `Open-coded defer`: بهینهترین نوع، زمانی که
defer
ساده و کم تعداد باشد.- `Heap-allocated defer`: کمینه کارایی دارد زیرا نیاز به تخصیص حافظه روی heap دارد.
- `Stack-allocated defer`: از stack استفاده میکند و بین کارایی و پیچیدگی قرار میگیرد.
این تمایزها به دلیل نحوه مدیریت منابع و بهینهسازیهای مختلف در کامپایلر Go است و درک آنها میتواند به نوشتن کدهای کاراتر کمک کند.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍6
🔵 عنوان مقاله
Valgo 0.3: An Expressive Validator Library
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته به معرفی کتابخانهای جدید برای اعتبارسنجی دادهها به نام "Valgo" پرداخته است. تمرکز اصلی این کتابخانه بر تایپسیف (امنیت نوع) و قابلیت توسعه با استفاده از جنریکها است. این کتابخانه با سایر کتابخانههای اعتبارسنجی تفاوتهای چشمگیری دارد، به ویژه در نحوه اعمال قوانین اعتبارسنجی. در "Valgo"، قوانین به جای استفاده از تگهای ساختار، به صورت توابع نوشته میشوند که این امر امکان سازگاری و انعطافپذیری بیشتری در چگونگی و مکان اعتبارسنجی دادهها را فراهم میآورد. این تغییر نه تنها افزایش کنترل بر روی پروسه اعتبارسنجی را به دنبال دارد بلکه امکان سفارشیسازی بیشتری را برای توسعهدهندگان ایجاد میکند تا بتوانند با توجه به نیازهای خاص پروژه خود، بهترین استفاده را از این کتابخانه ببرند.
🟣لینک مقاله:
https://github.com/cohesivestack/valgo
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Valgo 0.3: An Expressive Validator Library
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته به معرفی کتابخانهای جدید برای اعتبارسنجی دادهها به نام "Valgo" پرداخته است. تمرکز اصلی این کتابخانه بر تایپسیف (امنیت نوع) و قابلیت توسعه با استفاده از جنریکها است. این کتابخانه با سایر کتابخانههای اعتبارسنجی تفاوتهای چشمگیری دارد، به ویژه در نحوه اعمال قوانین اعتبارسنجی. در "Valgo"، قوانین به جای استفاده از تگهای ساختار، به صورت توابع نوشته میشوند که این امر امکان سازگاری و انعطافپذیری بیشتری در چگونگی و مکان اعتبارسنجی دادهها را فراهم میآورد. این تغییر نه تنها افزایش کنترل بر روی پروسه اعتبارسنجی را به دنبال دارد بلکه امکان سفارشیسازی بیشتری را برای توسعهدهندگان ایجاد میکند تا بتوانند با توجه به نیازهای خاص پروژه خود، بهترین استفاده را از این کتابخانه ببرند.
🟣لینک مقاله:
https://github.com/cohesivestack/valgo
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - cohesivestack/valgo: Valgo is a type-safe, expressive, and extensible validator library for Golang. Supports localization…
Valgo is a type-safe, expressive, and extensible validator library for Golang. Supports localization and is built with generics. - cohesivestack/valgo
👍5
درود دوستان اپدیت جدید تلگرام(البته خیلی وقت پیش) که ری اکشن جدیدی به نام استارز فعال شده که با زدن اون میتونید به چنل هایی که دوست دارید استارز هدیه بدین و ازشون حمایت کنید.
استارز هایی که شما اهدا میکنید به موجودی چنل ها اضافه میشه و قابلیت برداشتش برای ادمین ها فراهم میشه
این استارز رو ما اضافه کردیم توی reaction های چنل
⭐
➖➖➖➖➖➖➖➖
👑 @gopher_job
استارز هایی که شما اهدا میکنید به موجودی چنل ها اضافه میشه و قابلیت برداشتش برای ادمین ها فراهم میشه
این استارز رو ما اضافه کردیم توی reaction های چنل
⭐
➖➖➖➖➖➖➖➖
👑 @gopher_job
❤3🔥1🎉1🕊1🍾1
🔵 عنوان مقاله
Debugging a Go Bug with Non-Blocking Reads
🟢 خلاصه مقاله:
مقاله مورد بررسی به مشکلی اشاره دارد که در آن رفتارهای متفاوتی در سیستمهای عامل مختلف رخ داده است، که این امر باعث شد تا تیم توسعهدهنده زبان برنامهنویسی Go یک بروزرسانی سریع را ایجاد کنند تا مشکل را برطرف نمایند. با این حال، اگر کاربران نمیخواهند برای رفع این مشکل منتظر باشند، راه حل ساده و مقطعی نیز وجود دارد. این مقاله نشان میدهد که چگونه یک تفاوت در نحوه اجرای دستورالعملها در سیستمهای عامل مختلف ممکن است بر عملکرد برنامهها تأثیر گذارد و تاکید میکند بر لزوم آمادگی و سرعت عکسالعمل در مواجهه با چنین شرایطی. این خلاصه نشان میدهد که تیمهای توسعه باید چگونه به سرعت به تغییرات و تفاوتها در محیطهای مختلف واکنش نشان دهند تا اطمینان حاصل شود که نرمافزارها به طور یکنواخت در همه پلتفرمها کار میکنند.
🟣لینک مقاله:
https://scratchdata.com/blog/go-nonblocking-pipes-bug/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Debugging a Go Bug with Non-Blocking Reads
🟢 خلاصه مقاله:
مقاله مورد بررسی به مشکلی اشاره دارد که در آن رفتارهای متفاوتی در سیستمهای عامل مختلف رخ داده است، که این امر باعث شد تا تیم توسعهدهنده زبان برنامهنویسی Go یک بروزرسانی سریع را ایجاد کنند تا مشکل را برطرف نمایند. با این حال، اگر کاربران نمیخواهند برای رفع این مشکل منتظر باشند، راه حل ساده و مقطعی نیز وجود دارد. این مقاله نشان میدهد که چگونه یک تفاوت در نحوه اجرای دستورالعملها در سیستمهای عامل مختلف ممکن است بر عملکرد برنامهها تأثیر گذارد و تاکید میکند بر لزوم آمادگی و سرعت عکسالعمل در مواجهه با چنین شرایطی. این خلاصه نشان میدهد که تیمهای توسعه باید چگونه به سرعت به تغییرات و تفاوتها در محیطهای مختلف واکنش نشان دهند تا اطمینان حاصل شود که نرمافزارها به طور یکنواخت در همه پلتفرمها کار میکنند.
🟣لینک مقاله:
https://scratchdata.com/blog/go-nonblocking-pipes-bug/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍3🍾1
🔵 عنوان مقاله
For Loops and More in Go
🟢 خلاصه مقاله:
مقالهای به بررسی جزئیات پیچیدهتر و کاربردهای پیشرفتهتر حلقههای for میپردازد که شاید در نگاه اول برای مبتدیان به نظر رسیده باشد، اما دانش عمیقتری را در مورد استفاده کامل از آنها نیاز دارد. نویسنده، میکی، به بررسی چگونگی مدیریت متغیرهای متعدد درون حلقهها، زمان مناسب استفاده از شکستهای برچسبدار و تأثیر سیمانتیکهای حلقه range بر روی بهروزرسانی ساختارهای حلقه میپردازد. با ارائه نمونههای متعدد، میکی استفادههای متنوع و پیچیدگیهایی را که ممکن است در استفاده عملی از حلقههای for پیش آید، روشن میکند. این مقاله به خوانندگان کمک میکند تا درک عمیقتری از استفاده اثربخش حلقههای for در برنامهنویسی کسب کنند.
🟣لینک مقاله:
https://www.ardanlabs.com/blog/2024/03/for-loops-and-more-in-go.html
➖➖➖➖➖➖➖➖
👑 @gopher_academy
For Loops and More in Go
🟢 خلاصه مقاله:
مقالهای به بررسی جزئیات پیچیدهتر و کاربردهای پیشرفتهتر حلقههای for میپردازد که شاید در نگاه اول برای مبتدیان به نظر رسیده باشد، اما دانش عمیقتری را در مورد استفاده کامل از آنها نیاز دارد. نویسنده، میکی، به بررسی چگونگی مدیریت متغیرهای متعدد درون حلقهها، زمان مناسب استفاده از شکستهای برچسبدار و تأثیر سیمانتیکهای حلقه range بر روی بهروزرسانی ساختارهای حلقه میپردازد. با ارائه نمونههای متعدد، میکی استفادههای متنوع و پیچیدگیهایی را که ممکن است در استفاده عملی از حلقههای for پیش آید، روشن میکند. این مقاله به خوانندگان کمک میکند تا درک عمیقتری از استفاده اثربخش حلقههای for در برنامهنویسی کسب کنند.
🟣لینک مقاله:
https://www.ardanlabs.com/blog/2024/03/for-loops-and-more-in-go.html
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Ardanlabs
For Loops and More in Go
Introduction Looping seems like a basic topic: Write a for loop with a termination condition, and you’re done. However there’s a lot of ways you can write a for loop in Go. Knowing more about the different versions of for will help you choose the best option…
👍3🕊1
🔵 عنوان مقاله
Hugot: Hugging Face Transformer Pipelines in Go
🟢 خلاصه مقاله:
این مقاله به بررسی پروژهای میپردازد که هدف آن سهولت اجرای خطوط لوله ترانسفورمر Hugging Face از طریق زبان برنامهنویسی Go بدون نیاز به استفاده از پایتون یا APIهای خارجی است. با این حال، لازم به ذکر است که این پروژه به طور کامل با Go نوشته نشده است، بلکه از ONNX Runtime بهره میبرد. تاکنون، این پروژه تنها مدلهای ONNX و تعداد محدودی از خطوط لوله را پشتیبانی میکند. این تلاش برای یکپارچه سازی و تسهیل در به کارگیری مدلهای پیشرفته هوش مصنوعی در بسترهای توسعه نرمافزار مختلف، گام مهمی در افزایش دسترسی و کاربردیسازی فناوریهای نوین در زمینه یادگیری ماشین به شمار میرود.
🟣لینک مقاله:
https://github.com/knights-analytics/hugot
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Hugot: Hugging Face Transformer Pipelines in Go
🟢 خلاصه مقاله:
این مقاله به بررسی پروژهای میپردازد که هدف آن سهولت اجرای خطوط لوله ترانسفورمر Hugging Face از طریق زبان برنامهنویسی Go بدون نیاز به استفاده از پایتون یا APIهای خارجی است. با این حال، لازم به ذکر است که این پروژه به طور کامل با Go نوشته نشده است، بلکه از ONNX Runtime بهره میبرد. تاکنون، این پروژه تنها مدلهای ONNX و تعداد محدودی از خطوط لوله را پشتیبانی میکند. این تلاش برای یکپارچه سازی و تسهیل در به کارگیری مدلهای پیشرفته هوش مصنوعی در بسترهای توسعه نرمافزار مختلف، گام مهمی در افزایش دسترسی و کاربردیسازی فناوریهای نوین در زمینه یادگیری ماشین به شمار میرود.
🟣لینک مقاله:
https://github.com/knights-analytics/hugot
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - knights-analytics/hugot: Onnx transformer pipelines in Golang
Onnx transformer pipelines in Golang. Contribute to knights-analytics/hugot development by creating an account on GitHub.
❤2
🔵 عنوان مقاله
Failsafe: Fault Tolerance and Resilience Patterns
🟢 خلاصه مقاله:
مقاله مورد نظر کتابخانهی مخصوص توسعهی برنامههای مقاوم در برابر خطا را معرفی میکند که این امکان را میدهد کدها را درون سیاستهای مختلفی همچون Retry (تلاش مجدد)، CircuitBreaker (قطعکننده مدار)، RateLimiter (محدودکننده نرخ)، Timeout (تایماوت) و Fallback (عملیات جایگزین) بپوشانید؛ به این ترتیب افزایش استحکام و کاهش آسیبپذیری برنامهها امکانپذیر میشود. این کتابخانه، که قبلاً چندین ماه پیش به آن اشاره شده بود، با انتشار نسخهی 0.6 قابلیتهای تازهای اضافه شده است که از جمله مهمترین آنها امکان ادغام با مشتریهای HTTP است. این قابلیت جدید توانایی کتابخانه را در اجرای عملیاتهای شبکهای به صورت مقاومتر و انعطافپذیرتر افزایش میدهد و به واسطهی آن، توسعهدهندهگان میتوانند برنامههای خود را از خطاهای مختلف شبکه بهتر محافظت کنند.
🟣لینک مقاله:
https://failsafe-go.dev/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Failsafe: Fault Tolerance and Resilience Patterns
🟢 خلاصه مقاله:
مقاله مورد نظر کتابخانهی مخصوص توسعهی برنامههای مقاوم در برابر خطا را معرفی میکند که این امکان را میدهد کدها را درون سیاستهای مختلفی همچون Retry (تلاش مجدد)، CircuitBreaker (قطعکننده مدار)، RateLimiter (محدودکننده نرخ)، Timeout (تایماوت) و Fallback (عملیات جایگزین) بپوشانید؛ به این ترتیب افزایش استحکام و کاهش آسیبپذیری برنامهها امکانپذیر میشود. این کتابخانه، که قبلاً چندین ماه پیش به آن اشاره شده بود، با انتشار نسخهی 0.6 قابلیتهای تازهای اضافه شده است که از جمله مهمترین آنها امکان ادغام با مشتریهای HTTP است. این قابلیت جدید توانایی کتابخانه را در اجرای عملیاتهای شبکهای به صورت مقاومتر و انعطافپذیرتر افزایش میدهد و به واسطهی آن، توسعهدهندهگان میتوانند برنامههای خود را از خطاهای مختلف شبکه بهتر محافظت کنند.
🟣لینک مقاله:
https://failsafe-go.dev/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Failsafe-go
Fault tolerance and resilience patterns for Go
Failsafe-go website
👍3
از دیتاهای تلگرام بک آپ بگیرین؛ به بهانه دستگیری دورف
https://youtu.be/4cGqJJoRLyc
خبر امروز صبح برای ما این بود که دورف در فرانسه دستگیر شده؛ احتمالا به خاطر اتهامهایی مثل عدم رسیدگی به جرایم مشهود داخل تلگرام. من و شما ممکنه در این مورد نظرات متنوعی داشته باشیم ولی نکته مهم اینه که دیتای ما باید در کنترل ما باشه و خوبه از این دیتا بک آپ داشته باشیم.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
https://youtu.be/4cGqJJoRLyc
خبر امروز صبح برای ما این بود که دورف در فرانسه دستگیر شده؛ احتمالا به خاطر اتهامهایی مثل عدم رسیدگی به جرایم مشهود داخل تلگرام. من و شما ممکنه در این مورد نظرات متنوعی داشته باشیم ولی نکته مهم اینه که دیتای ما باید در کنترل ما باشه و خوبه از این دیتا بک آپ داشته باشیم.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🕊4
Gopher Academy
از دیتاهای تلگرام بک آپ بگیرین؛ به بهانه دستگیری دورف https://youtu.be/4cGqJJoRLyc خبر امروز صبح برای ما این بود که دورف در فرانسه دستگیر شده؛ احتمالا به خاطر اتهامهایی مثل عدم رسیدگی به جرایم مشهود داخل تلگرام. من و شما ممکنه در این مورد نظرات متنوعی داشته…
🔻دادگاه بنیانگذار تلگرام احتمالاً امروز برگزار شود
🔸برخی خبرگزاریهای فرانسه میگویند پاول دوروف، بنیانگذار تلگرام، امروز یکشنبه ۴ شهریورماه برای رسیدگی به اتهاماتش در دادگاه حاضر میشود.
#telegram
🔹روسیه، فرانسه را به عدم همکاری در پرونده پاول دوروف متهم کرد
🔸مقامات روسی بعد از دستگیری پاول دوروف خواستار دسترسی به بنیانگذار تلگرام شدند، اما هیچ پاسخی از سوی فرانسه دریافت نکردهاند.
🔸سفارت روسیه در پاریس در بیانیهای اعلام کرد: «ما فوراً از مقامات فرانسوی خواستیم دلایل این بازداشت را توضیح دهند و خواستار حمایت از حقوق وی و اعطای دسترسی کنسولی شدیم.»
❤حمایت از پاول دوروف با موشک کاغذی
🔸معترضان به بازداشت پاول دوروف، بنیانگذار تلگرام، با موشک کاغذی مقابل سفارت فرانسه در روسیه حاضر شدند تا حمایت خود را از او را اعلام کنند.
#telegram
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🔸برخی خبرگزاریهای فرانسه میگویند پاول دوروف، بنیانگذار تلگرام، امروز یکشنبه ۴ شهریورماه برای رسیدگی به اتهاماتش در دادگاه حاضر میشود.
#telegram
🔹روسیه، فرانسه را به عدم همکاری در پرونده پاول دوروف متهم کرد
🔸مقامات روسی بعد از دستگیری پاول دوروف خواستار دسترسی به بنیانگذار تلگرام شدند، اما هیچ پاسخی از سوی فرانسه دریافت نکردهاند.
🔸سفارت روسیه در پاریس در بیانیهای اعلام کرد: «ما فوراً از مقامات فرانسوی خواستیم دلایل این بازداشت را توضیح دهند و خواستار حمایت از حقوق وی و اعطای دسترسی کنسولی شدیم.»
❤حمایت از پاول دوروف با موشک کاغذی
🔸معترضان به بازداشت پاول دوروف، بنیانگذار تلگرام، با موشک کاغذی مقابل سفارت فرانسه در روسیه حاضر شدند تا حمایت خود را از او را اعلام کنند.
#telegram
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🕊6❤1