هفته نامه Golang Nugget رو اگه دوست داشتید دنبال کنید.
منابع خوبی رو معرفی میکنه
این یه نمونه ش هست
https://golangnugget.com/p/go-concurrency-upgrade-strategies-memory-management-january-6-2024
این خبرنامه رو آقا لیام عزیز مدیریت میکنه
https://x.com/liammanesh
<Hossein Nazari/>
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
منابع خوبی رو معرفی میکنه
این یه نمونه ش هست
https://golangnugget.com/p/go-concurrency-upgrade-strategies-memory-management-january-6-2024
این خبرنامه رو آقا لیام عزیز مدیریت میکنه
https://x.com/liammanesh
<Hossein Nazari/>
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
👍2
دیزاین پترن Facade در Golang
یکی از دیزاین پترن های جذاب و کاربردی، پترن Facade! شاید اسمش یه کم شیک به نظر بیاد، ولی قول میدم که خیلی کاربردیه و کارمون رو راحتتر میکنه.
حالا Facade چیه؟
فرض کن جلوی یه ساختمون خیلی شیک و بزرگ وایسادی، ولی لازم نیست بری داخلش و همه اتاقاشو ببینی. فقط کافیه از بیرون، نمای ساده و مرتبش رو ببینی و کارتو راه بندازی. پترن Facade دقیقاً همینه! یه رابط کاربری ساده میده که دیگه لازم نباشه با پیچیدگیهای سیستم درگیر بشی.
چرا باید ازش استفاده کنیم؟
دو تا اصل مهم دنیای کدنویسی اینجا برامون روشنتر میشه:
1- همه چی ساده باشه KISS
2- تکرار نکن DRY
وقتی از Facade استفاده میکنی، پیچیدگیهای پشت پرده سیستم رو قایم میکنی و فقط چیزی که کاربر (یا حتی خودت!) نیاز داری رو نشون میدی. کدت مرتبتر، قابل نگهداریتر و قابلفهمتر میشه.
ی مثال ساده: اتصال به دیتابیس
فرض کن میخوای به دیتابیس وصل بشی، کوئری بزنی و قطع کنی. بدون Facade و با Facade داخل تصویر هست.
کاربردهای دیگه:
کار با فایلها
ارتباط با API
راهاندازی وبسرور
مدیریت سفارشهای فروشگاه آنلاین
و...
این Facade مثل یه شمشیر دولبهست. اگه زیادی سادهسازی کنی یا بخوای همه کارها رو تو یه struct و متدهاش بذاری، ممکنه یه ساختار پیچیده (God Object) بسازی که خودش یه مشکل جدیده.
خلاصه صحبت هامون:
دیزاین پترن Facade، یه ابزار فوقالعاده برای سادهسازی و مرتب کردن کدهاتونه. اما همونطور که هر چیزی حد داره، از این پترن هم فقط وقتی استفاده کن که به درد بخوره و لازم باشه.
<Mohammad Abdorrahmani/>
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
یکی از دیزاین پترن های جذاب و کاربردی، پترن Facade! شاید اسمش یه کم شیک به نظر بیاد، ولی قول میدم که خیلی کاربردیه و کارمون رو راحتتر میکنه.
حالا Facade چیه؟
فرض کن جلوی یه ساختمون خیلی شیک و بزرگ وایسادی، ولی لازم نیست بری داخلش و همه اتاقاشو ببینی. فقط کافیه از بیرون، نمای ساده و مرتبش رو ببینی و کارتو راه بندازی. پترن Facade دقیقاً همینه! یه رابط کاربری ساده میده که دیگه لازم نباشه با پیچیدگیهای سیستم درگیر بشی.
چرا باید ازش استفاده کنیم؟
دو تا اصل مهم دنیای کدنویسی اینجا برامون روشنتر میشه:
1- همه چی ساده باشه KISS
2- تکرار نکن DRY
وقتی از Facade استفاده میکنی، پیچیدگیهای پشت پرده سیستم رو قایم میکنی و فقط چیزی که کاربر (یا حتی خودت!) نیاز داری رو نشون میدی. کدت مرتبتر، قابل نگهداریتر و قابلفهمتر میشه.
ی مثال ساده: اتصال به دیتابیس
فرض کن میخوای به دیتابیس وصل بشی، کوئری بزنی و قطع کنی. بدون Facade و با Facade داخل تصویر هست.
کاربردهای دیگه:
کار با فایلها
ارتباط با API
راهاندازی وبسرور
مدیریت سفارشهای فروشگاه آنلاین
و...
این Facade مثل یه شمشیر دولبهست. اگه زیادی سادهسازی کنی یا بخوای همه کارها رو تو یه struct و متدهاش بذاری، ممکنه یه ساختار پیچیده (God Object) بسازی که خودش یه مشکل جدیده.
خلاصه صحبت هامون:
دیزاین پترن Facade، یه ابزار فوقالعاده برای سادهسازی و مرتب کردن کدهاتونه. اما همونطور که هر چیزی حد داره، از این پترن هم فقط وقتی استفاده کن که به درد بخوره و لازم باشه.
<Mohammad Abdorrahmani/>
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
❤2
اصول CSP از Tony Hoare - الهامبخش طراحی Concurrency در زبان برنامهنویسی Go
https://virgool.io/@mehradsadeghi/tony-hoare-csp-votfcg3risji
https://virgool.io/@mehradsadeghi/tony-hoare-csp-votfcg3risji
ویرگول
اصول CSP از Tony Hoare - الهامبخش طراحی Concurrency در زبان برنامهنویسی Go
اندیشمند برجسته علوم کامپیوتر Tony Hoare، در سال ۱۹۷۸ مفهوم CSP را معرفی کرد؛ مدلی که تأثیر عمیقی بر طراحی Concurrency در زبان Go داشت.
🔵 عنوان مقاله
Fuego: A Nest-Inspired API/Web Framework for Go
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته دربارهی یک فریمورک برای زبان برنامهنویسی Go است که خاصیت مهم آن تولید مستندات OpenAPI مستقیماً از کد برنامهنویسی است. این فریمورک که از فریمورک Nest الهام گرفته شده است، به طور خاص برای توسعهدهندگان Go طراحی شده است. همچنین، مثالی از یک برنامه ساده Hello World به همراه مستندات کامل ارائه شده است تا نحوه استفاده از این فریمورک را به نمایش بگذارد. در نسخهی اخیر این فریمورک، که نسخهی 0.17 است، پشتیبانی اولیه از روتر Gin افزوده شدهاست تا تواناییهای آن گسترش یابد و کاربران بتوانند از این فریمورک در محیطهای مختلف بیشتری استفاده کنند.
🟣لینک مقاله:
https://golangweekly.com/link/163989/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Fuego: A Nest-Inspired API/Web Framework for Go
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته دربارهی یک فریمورک برای زبان برنامهنویسی Go است که خاصیت مهم آن تولید مستندات OpenAPI مستقیماً از کد برنامهنویسی است. این فریمورک که از فریمورک Nest الهام گرفته شده است، به طور خاص برای توسعهدهندگان Go طراحی شده است. همچنین، مثالی از یک برنامه ساده Hello World به همراه مستندات کامل ارائه شده است تا نحوه استفاده از این فریمورک را به نمایش بگذارد. در نسخهی اخیر این فریمورک، که نسخهی 0.17 است، پشتیبانی اولیه از روتر Gin افزوده شدهاست تا تواناییهای آن گسترش یابد و کاربران بتوانند از این فریمورک در محیطهای مختلف بیشتری استفاده کنند.
🟣لینک مقاله:
https://golangweekly.com/link/163989/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go-fuego.dev
The framework for busy Go developers
🙏1
🔵 عنوان مقاله
Rust vs Go in 2025
🟢 خلاصه مقاله:
مقالهای که تحت بررسی قرار گرفته پیرامون بحث بهروز شدهای است که جان بارها به آن پرداخته است: ارزش دانستن دو زبان. با اینکه موضوع اغلب در نوشتههای قبلی جان مطرح شده، اما این بار با دیدگاهی تازه به تحلیل و بررسی آن پرداخته میشود. مقاله به تأکید بر فواید دوزبانگی میپردازد، از جمله تقویت تواناییهای شناختی، فرصتهای شغلی بهتر و برقراری ارتباط مؤثرتر در سطح جهانی. بهرغم محتوای تکراری در نظر گرفته شده برای کسانی که با نوشتههای جان آشنا هستند، مقاله این بار با دیدگاهی جامع و بهروز شده به تحلیل این مزیتها میپردازد و در نهایت به همان نتیجه قبلی رسیده است: دانستن دو زبان مطلقاً مفید است.
🟣لینک مقاله:
https://golangweekly.com/link/163976/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Rust vs Go in 2025
🟢 خلاصه مقاله:
مقالهای که تحت بررسی قرار گرفته پیرامون بحث بهروز شدهای است که جان بارها به آن پرداخته است: ارزش دانستن دو زبان. با اینکه موضوع اغلب در نوشتههای قبلی جان مطرح شده، اما این بار با دیدگاهی تازه به تحلیل و بررسی آن پرداخته میشود. مقاله به تأکید بر فواید دوزبانگی میپردازد، از جمله تقویت تواناییهای شناختی، فرصتهای شغلی بهتر و برقراری ارتباط مؤثرتر در سطح جهانی. بهرغم محتوای تکراری در نظر گرفته شده برای کسانی که با نوشتههای جان آشنا هستند، مقاله این بار با دیدگاهی جامع و بهروز شده به تحلیل این مزیتها میپردازد و در نهایت به همان نتیجه قبلی رسیده است: دانستن دو زبان مطلقاً مفید است.
🟣لینک مقاله:
https://golangweekly.com/link/163976/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Bitfield Consulting
Rust vs Go in 2025 — Bitfield Consulting
Which is a better choice, Rust or Go? Which language should you choose for your next project, and why? How do the two compare in areas like performance, simplicity, safety, features, scale, and concurrency?
🎯 چندتا پست در مورد ویژگی های جدید گولنگ 1.24 اینجاست می تونید بخونید👇
🔵 https://t.me/gopher_academy/3557
🔵 https://t.me/gopher_academy/3556
🔵 https://t.me/gopher_academy/3555
🔵 https://t.me/gopher_academy/3554
🔵 https://t.me/gopher_academy/3553
🔵 https://t.me/gopher_academy/3581
🔵 https://t.me/gopher_academy/3582
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
🔵 https://t.me/gopher_academy/3557
🔵 https://t.me/gopher_academy/3556
🔵 https://t.me/gopher_academy/3555
🔵 https://t.me/gopher_academy/3554
🔵 https://t.me/gopher_academy/3553
🔵 https://t.me/gopher_academy/3581
🔵 https://t.me/gopher_academy/3582
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
🙏1🍾1
Forwarded from Gopher Job
این سایت دادههای خوبی در مورد حقوق توی شرکتهای اروپایی توی کشورهای مختلف رو داره که میتونید ازش برای کاریابی استفاده کنید.
https://techpays.eu
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
https://techpays.eu
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
👍2
🔵 عنوان مقاله
Master the Fullstack
🟢 خلاصه مقاله:
این مقاله به بررسی مسیر یادگیری جامعی پرداخته که به شما کمک میکند تا تواناییهای خود را در زمینه سرورها گسترش دهید. در این مسیر، شما با نحوه ساخت APIها، بنای ظروف (کانتینرها)، استقرار کد، راهاندازی سرورها و موارد دیگر آشنا خواهید شد. از مراحل ابتدایی شامل طراحی و پیادهسازی APIهایی که به عنوان پل ارتباطی بین کاربر نهایی و پایگاهداده عمل میکنند، گرفته تا پیشرفتهترین موضوعات مانند ساخت و مدیریت کانتینرها برای بهبود دپلومانسی موثر و کاربردی، همه و همه در این مقاله به تفصیل شرح داده شدهاند. همچنین، شامل اطلاعاتی درخصوص انتخاب صحیح سختافزار و نرمافزار لازم برای بهینهسازی عملکرد سرور نیز میشود و با تکیه بر آخرین فناوریها و ابزارهای موجود، راههایی برای تسهیل مدیریت و نگهداری سرورها ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/163963/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Master the Fullstack
🟢 خلاصه مقاله:
این مقاله به بررسی مسیر یادگیری جامعی پرداخته که به شما کمک میکند تا تواناییهای خود را در زمینه سرورها گسترش دهید. در این مسیر، شما با نحوه ساخت APIها، بنای ظروف (کانتینرها)، استقرار کد، راهاندازی سرورها و موارد دیگر آشنا خواهید شد. از مراحل ابتدایی شامل طراحی و پیادهسازی APIهایی که به عنوان پل ارتباطی بین کاربر نهایی و پایگاهداده عمل میکنند، گرفته تا پیشرفتهترین موضوعات مانند ساخت و مدیریت کانتینرها برای بهبود دپلومانسی موثر و کاربردی، همه و همه در این مقاله به تفصیل شرح داده شدهاند. همچنین، شامل اطلاعاتی درخصوص انتخاب صحیح سختافزار و نرمافزار لازم برای بهینهسازی عملکرد سرور نیز میشود و با تکیه بر آخرین فناوریها و ابزارهای موجود، راههایی برای تسهیل مدیریت و نگهداری سرورها ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/163963/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Frontendmasters
Fullstack to Backend Learning Path – Expand Your Abilities to the Server and Master the Fullstack
Set up servers, create APIs, and deploy your code to the world by learning the full stack.
🔵 عنوان مقاله
betteralign 0.6: Make Your Programs Use Less Memory.. Maybe
🟢 خلاصه مقاله:
این مقاله به ابزاری جدید میپردازد که با هدف کاهش مصرف حافظه در زبان برنامهنویسی Go طراحی شده است. این ابزار، که یک شاخه از ابزار fieldalignment موجود در Go است، از طریق بازآرایی فیلدهای موجود در ساختارها (structs) کار میکند. تفاوتهای اصلی این ابزار با نسخه اصلی شامل عدم بررسی فایلهای تولیدی یا تست، پرش از ساختارهایی که به صورت خاص مشخص شدهاند یا دارای فیلدهای ناشناس هستند، و نگهداشتن کامنتها در کد است. این بهبودها به منظور افزایش تجربه توسعهدهندگان (DX) ارائه شده است. استفاده از این ابزار میتواند به توسعهدهندگان کمک کند تا با بازسازی ساختارها، بهینهسازی مصرف حافظه را در برنامههای خود اعمال کنند.
🟣لینک مقاله:
https://golangweekly.com/link/163987/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
betteralign 0.6: Make Your Programs Use Less Memory.. Maybe
🟢 خلاصه مقاله:
این مقاله به ابزاری جدید میپردازد که با هدف کاهش مصرف حافظه در زبان برنامهنویسی Go طراحی شده است. این ابزار، که یک شاخه از ابزار fieldalignment موجود در Go است، از طریق بازآرایی فیلدهای موجود در ساختارها (structs) کار میکند. تفاوتهای اصلی این ابزار با نسخه اصلی شامل عدم بررسی فایلهای تولیدی یا تست، پرش از ساختارهایی که به صورت خاص مشخص شدهاند یا دارای فیلدهای ناشناس هستند، و نگهداشتن کامنتها در کد است. این بهبودها به منظور افزایش تجربه توسعهدهندگان (DX) ارائه شده است. استفاده از این ابزار میتواند به توسعهدهندگان کمک کند تا با بازسازی ساختارها، بهینهسازی مصرف حافظه را در برنامههای خود اعمال کنند.
🟣لینک مقاله:
https://golangweekly.com/link/163987/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - dkorunic/betteralign: Make your Go programs use less memory (maybe)
Make your Go programs use less memory (maybe). Contribute to dkorunic/betteralign development by creating an account on GitHub.
❤2
🔵 عنوان مقاله
ebpf-go 0.17: A Way to Work with eBPF from Go
🟢 خلاصه مقاله:
مقالهای که مورد بحث قرار گرفته است راجع به کتابخانهای به زبان برنامهنویسی Go است که برای خواندن، تغییر دادن و بارگذاری برنامههای eBPF طراحی شده است. این برنامهها به طور مستقیم توسط هسته لینوکس مورد استفاده قرار میگیرند. eBPF یک فناوری جدید و جذاب است که ارزش بررسی دارد. نسخه 0.17 این کتابخانه نیازمند نسخه 1.22 یا بالاتر از زبان Go است و API جدیدی را برای کار با متغیرهای جهانی معرفی میکند. این API جدید امکانات و قابلیتهای اضافی به کتابخانه میبخشد، که شامل تعامل بهتر و مؤثرتر با برنامههای eBPF میباشد و بنابراین، کاربران میتوانند برنامهها و توابع خود را به طور کارآمدتر در هسته لینوکس پیادهسازی کنند.
🟣لینک مقاله:
https://golangweekly.com/link/164289/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
ebpf-go 0.17: A Way to Work with eBPF from Go
🟢 خلاصه مقاله:
مقالهای که مورد بحث قرار گرفته است راجع به کتابخانهای به زبان برنامهنویسی Go است که برای خواندن، تغییر دادن و بارگذاری برنامههای eBPF طراحی شده است. این برنامهها به طور مستقیم توسط هسته لینوکس مورد استفاده قرار میگیرند. eBPF یک فناوری جدید و جذاب است که ارزش بررسی دارد. نسخه 0.17 این کتابخانه نیازمند نسخه 1.22 یا بالاتر از زبان Go است و API جدیدی را برای کار با متغیرهای جهانی معرفی میکند. این API جدید امکانات و قابلیتهای اضافی به کتابخانه میبخشد، که شامل تعامل بهتر و مؤثرتر با برنامههای eBPF میباشد و بنابراین، کاربران میتوانند برنامهها و توابع خود را به طور کارآمدتر در هسته لینوکس پیادهسازی کنند.
🟣لینک مقاله:
https://golangweekly.com/link/164289/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
ebpf-go.dev
ebpf-go Documentation
Pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel.
1👍1
🔵 عنوان مقاله
go-haystack: Track Personal Devices via Apple's 'Find My' Network
🟢 خلاصه مقاله:
مقاله مورد بحث راهکاری نوآورانه را برای ردیابی دستگاههای بلوتوث شخصی از طریق شبکه گستردهی «یافتن دستگاه من» اپل با استفاده از برنامهنویسی TinyGo و کمی تجهیزات اضافی مورد بررسی قرار میدهد. با استفاده از این تکنیک، کاربران میتوانند با نصب یک قطعه سختافزار کوچک که با TinyGo برنامهریزی شده است، دستگاههای بلوتوث خود را به شبکه «یافتن دستگاه من» متصل کنند، که این امر امکان پیدا کردن دستگاههای گمشده را در مکانهای وسیعتر فراهم میکند. این شبکه بدین صورت عمل میکند که تقریباً هر دستگاه اپل میتواند به عنوان یک گره در شبکه عمل کرده و سیگنالهای بلوتوث را از دستگاههای گمشده دریافت و موقعیت آنها را گزارش دهد. این روش بازدهی بالایی در یافتن دستگاهها در محیطهای مختلف دارد و ارتقاء امنیت شخصی کاربران را موجب میشود.
🟣لینک مقاله:
https://golangweekly.com/link/164297/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go-haystack: Track Personal Devices via Apple's 'Find My' Network
🟢 خلاصه مقاله:
مقاله مورد بحث راهکاری نوآورانه را برای ردیابی دستگاههای بلوتوث شخصی از طریق شبکه گستردهی «یافتن دستگاه من» اپل با استفاده از برنامهنویسی TinyGo و کمی تجهیزات اضافی مورد بررسی قرار میدهد. با استفاده از این تکنیک، کاربران میتوانند با نصب یک قطعه سختافزار کوچک که با TinyGo برنامهریزی شده است، دستگاههای بلوتوث خود را به شبکه «یافتن دستگاه من» متصل کنند، که این امر امکان پیدا کردن دستگاههای گمشده را در مکانهای وسیعتر فراهم میکند. این شبکه بدین صورت عمل میکند که تقریباً هر دستگاه اپل میتواند به عنوان یک گره در شبکه عمل کرده و سیگنالهای بلوتوث را از دستگاههای گمشده دریافت و موقعیت آنها را گزارش دهد. این روش بازدهی بالایی در یافتن دستگاهها در محیطهای مختلف دارد و ارتقاء امنیت شخصی کاربران را موجب میشود.
🟣لینک مقاله:
https://golangweekly.com/link/164297/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - hybridgroup/go-haystack: Track personal Bluetooth devices via Apple's "Find My" network using OpenHaystack and Macless…
Track personal Bluetooth devices via Apple's "Find My" network using OpenHaystack and Macless-Haystack with tools written in Go/TinyGo. No Apple hardware required! - hybri...
👍4
🔵 عنوان مقاله
Gophers Pack: A Collection of Gopher Pictures and Design Elements
🟢 خلاصه مقاله:
این مقاله دربارهی منابع تصویری موجود برای استفاده در پروژهها، پستهای وبلاگ، یا ارائههایی است که نیازمند تمهای مرتبط با Go gopher هستند. این تصاویر دوستداشتنی که زیر مجموعهی حقوق مالکیت عمومی CC0 قرار دارند، میتوانند بسیار مفید باشند و در این خبرنامه به طور مکرر استفاده میشوند. به تازگی، ماریا تعدادی از این تصاویر را با تمهای زمستانی به مجموعه اضافه کرده است که این گزینهها تنوع بیشتری را برای کاربران فراهم میآورد.
🟣لینک مقاله:
https://golangweekly.com/link/164271/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Gophers Pack: A Collection of Gopher Pictures and Design Elements
🟢 خلاصه مقاله:
این مقاله دربارهی منابع تصویری موجود برای استفاده در پروژهها، پستهای وبلاگ، یا ارائههایی است که نیازمند تمهای مرتبط با Go gopher هستند. این تصاویر دوستداشتنی که زیر مجموعهی حقوق مالکیت عمومی CC0 قرار دارند، میتوانند بسیار مفید باشند و در این خبرنامه به طور مکرر استفاده میشوند. به تازگی، ماریا تعدادی از این تصاویر را با تمهای زمستانی به مجموعه اضافه کرده است که این گزینهها تنوع بیشتری را برای کاربران فراهم میآورد.
🟣لینک مقاله:
https://golangweekly.com/link/164271/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - MariaLetta/free-gophers-pack: ✨ This pack of 100+ gopher pictures and elements will help you to build own design of almost…
✨ This pack of 100+ gopher pictures and elements will help you to build own design of almost anything related to Go Programming Language: presentations, posts in blogs or social media, courses, vid...
❤2
توی گولنگ 1.24 یه ویزگی اضافه شده برای نمایش zero value ها به نام omitzero که می تونید توی مقاله زیر در موردش بخونید
https://www.bytesizego.com/blog/go-124-omitzero
➖➖➖➖➖➖➖➖
👑 @gopher_academy
https://www.bytesizego.com/blog/go-124-omitzero
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🔥3⚡2
اینم دوتا مقاله خوب و کامل در مورد تمامی ویژگی های گولتگ 1.24
https://antonz.org/go-1-24/
https://zenn.dev/koya_iwamura/articles/ca9ab62ff760c2
➖➖➖➖➖➖➖
👑 @gopher_academy
https://antonz.org/go-1-24/
https://zenn.dev/koya_iwamura/articles/ca9ab62ff760c2
➖➖➖➖➖➖➖
👑 @gopher_academy
👍2🥰1🤩1
👍3🍾2🍓1
🔵 عنوان مقاله
if got, want: A Simple Way to Write Better Go Tests
🟢 خلاصه مقاله:
مقالهای که بررسی شد به بیان یک الگوی برجسته در بخش تست نویسی در زبان برنامه نویسی Go میپردازد که کمتر شناخته شده است. این الگو شامل استفاده از تخصیص و مقایسه در یک خط دستوری if است که باعث میشود خواندن و درک کد آزمایشی آسانتر شود. این روش تست نویسی به ما امکان میدهد که در زمان کمتر و با کدی که بهتر از نظر ساختاری سازماندهی شده است، کد را تست کنیم. بیان شده است که این الگو حتی در کتابخانه استاندارد زبان Go نیز مورد استفاده قرار گرفته است. نویسندگان اغلب مزایای استفاده از این الگو را نادیده میگیرند، درحالی که میتواند به بهبود فهم و کارایی کدهای تست کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/164269/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
if got, want: A Simple Way to Write Better Go Tests
🟢 خلاصه مقاله:
مقالهای که بررسی شد به بیان یک الگوی برجسته در بخش تست نویسی در زبان برنامه نویسی Go میپردازد که کمتر شناخته شده است. این الگو شامل استفاده از تخصیص و مقایسه در یک خط دستوری if است که باعث میشود خواندن و درک کد آزمایشی آسانتر شود. این روش تست نویسی به ما امکان میدهد که در زمان کمتر و با کدی که بهتر از نظر ساختاری سازماندهی شده است، کد را تست کنیم. بیان شده است که این الگو حتی در کتابخانه استاندارد زبان Go نیز مورد استفاده قرار گرفته است. نویسندگان اغلب مزایای استفاده از این الگو را نادیده میگیرند، درحالی که میتواند به بهبود فهم و کارایی کدهای تست کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/164269/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
mtlynch.io
if got, want: A Simple Way to Write Better Go Tests
There’s an excellent Go testing pattern that too few people know. I can teach it to you in 30 seconds.
Instead of writing Go tests like this:
// The common, unrefined way.
username := GetUser()
if username != "dummyUser" {
t.Errorf("unexpected username:…
Instead of writing Go tests like this:
// The common, unrefined way.
username := GetUser()
if username != "dummyUser" {
t.Errorf("unexpected username:…
🔵 عنوان مقاله
A Practical Example of Dependency Inversion using Plugins
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، نحوه استفاده از اصول معماری پاک (Clean Architecture) به همراه بسته پلاگین زبان برنامهنویسی Go را برای ایجاد یک برنامه قابل تطبیق و قابل گسترش بدون نیاز به تغییر در کد منبع اصلی، توضیح میدهد. در این رویکرد، برنامه به لایههای مختلفی تقسیم میشود که هرکدام وظایف مجزایی دارند و تنها از طریق اینترفیسها با یکدیگر در تعامل هستند. این ساختار به توسعهدهندگان امکان میدهد تا پلاگینها یا ماژولهایی را به راحتی اضافه کنند یا حذف نمایند بدون آنکه نیاز به تغییر دادن کدهای اصلی برنامه باشد. استفاده از اصول معماری پاک همچنین به افزایش قابلیت نگهداری و کارایی کد کمک میکند و میتواند به بهبود چابکی و پاسخگویی برنامه در برابر تغییرات نیازها و فناوریها منجر شود. این مقاله با ارائه مثالهای عملی و کدبرداری، به خواننده کمک میکند تا درک بهتری از چگونگی پیادهسازی این معماری در پروژههای واقعی داشته باشد.
🟣لینک مقاله:
https://golangweekly.com/link/164274/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
A Practical Example of Dependency Inversion using Plugins
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، نحوه استفاده از اصول معماری پاک (Clean Architecture) به همراه بسته پلاگین زبان برنامهنویسی Go را برای ایجاد یک برنامه قابل تطبیق و قابل گسترش بدون نیاز به تغییر در کد منبع اصلی، توضیح میدهد. در این رویکرد، برنامه به لایههای مختلفی تقسیم میشود که هرکدام وظایف مجزایی دارند و تنها از طریق اینترفیسها با یکدیگر در تعامل هستند. این ساختار به توسعهدهندگان امکان میدهد تا پلاگینها یا ماژولهایی را به راحتی اضافه کنند یا حذف نمایند بدون آنکه نیاز به تغییر دادن کدهای اصلی برنامه باشد. استفاده از اصول معماری پاک همچنین به افزایش قابلیت نگهداری و کارایی کد کمک میکند و میتواند به بهبود چابکی و پاسخگویی برنامه در برابر تغییرات نیازها و فناوریها منجر شود. این مقاله با ارائه مثالهای عملی و کدبرداری، به خواننده کمک میکند تا درک بهتری از چگونگی پیادهسازی این معماری در پروژههای واقعی داشته باشد.
🟣لینک مقاله:
https://golangweekly.com/link/164274/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
cekrem.github.io
Clean Architecture: A Practical Example of Dependency Inversion in Go using Plugins
Let's make Dependency Inversion and other SOLID principles Great Again™
❤1
🔵 عنوان مقاله
go-mail v0.6: A Library for Sending Emails
🟢 خلاصه مقاله:
مقالهای که مرور شده، دربارهی بهروزرسانی نسخه 0.6 نرمافزار ارسال ایمیل گو-میل صحبت میکند. این نسخه جدید ویژگیهای متعددی اضافه کرده است. از جمله این ویژگیها میتوان به پشتیبانی از امضای S/MIME، کشف خودکار احراز هویت SMTP، پشتیبانی از سوکت دامنه یونیکس و ویژگی 'ارسال سریع' اشاره کرد. این ویژگیهای جدید به کاربران امکان میدهند تا ارسال ایمیلهای خود را با امنیت و سهولت بیشتری انجام دهند. اضافه شدن این قابلیتها نشاندهنده تلاش برای بهبود کارایی و افزایش امنیت در ارسال ایمیلها است، و به کاربران اجازه میدهد تا بتوانند با اعتماد بیشتری نسبت به حفظ امنیت محتوای ارسالی خود اقدام کنند.
🟣لینک مقاله:
https://golangweekly.com/link/164288/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go-mail v0.6: A Library for Sending Emails
🟢 خلاصه مقاله:
مقالهای که مرور شده، دربارهی بهروزرسانی نسخه 0.6 نرمافزار ارسال ایمیل گو-میل صحبت میکند. این نسخه جدید ویژگیهای متعددی اضافه کرده است. از جمله این ویژگیها میتوان به پشتیبانی از امضای S/MIME، کشف خودکار احراز هویت SMTP، پشتیبانی از سوکت دامنه یونیکس و ویژگی 'ارسال سریع' اشاره کرد. این ویژگیهای جدید به کاربران امکان میدهند تا ارسال ایمیلهای خود را با امنیت و سهولت بیشتری انجام دهند. اضافه شدن این قابلیتها نشاندهنده تلاش برای بهبود کارایی و افزایش امنیت در ارسال ایمیلها است، و به کاربران اجازه میدهد تا بتوانند با اعتماد بیشتری نسبت به حفظ امنیت محتوای ارسالی خود اقدام کنند.
🟣لینک مقاله:
https://golangweekly.com/link/164288/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
Release v0.6.0: S/MIME, Auto-discovery, Quicksend and more · wneessen/go-mail
Welcome to go-mail v0.6.0! This release brings some cool new features. We hope you enjoy!
S/MIME signing support
The PRs #298 and #406 add S/MIME signing support to go-mail. We support RSA and ECDS...
S/MIME signing support
The PRs #298 and #406 add S/MIME signing support to go-mail. We support RSA and ECDS...
🥰1
🔵 عنوان مقاله
Realizing Why Go Reflection Restricts What Struct Fields Can Be Modified
🟢 خلاصه مقاله:
این مقاله به بررسی دسترسی و تغییر دادهها در زبان برنامهنویسی Rust میپردازد و تأکید دارد که فیلدهای خصوصی (غیرقابل خروجی) نمیتوانند تغییر کنند، حتی با استفاده از بازتاب (reflection). دیدگاه منطقی و اصول امنیتی در Rust، دسترسی به فیلدهای خصوصی را محدود میکند، که این از تغییر دادههای حساس توسط کدهای بیرونی جلوگیری میکند. این محدودیت به حفظ ساختار دادهها کمک میکند و امنیت برنامهها را افزایش میدهد. نکتهی کلیدی این است که Rust با محدود کردن دسترسیها، به توسعهدهندگان کمک میکند تا سیستمهای مطمئنتری بسازند و از ورود یا تغییرات ناخواسته در بخشهای کلیدی کد جلوگیری میکند. این مقاله، با تاکید بر این امنیت داده، راهنمای مفیدی برای برنامهنویسانی است که به دنبال رویکردهای محافظت شده در برنامهنویسی هستند.
🟣لینک مقاله:
https://golangweekly.com/link/164276/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Realizing Why Go Reflection Restricts What Struct Fields Can Be Modified
🟢 خلاصه مقاله:
این مقاله به بررسی دسترسی و تغییر دادهها در زبان برنامهنویسی Rust میپردازد و تأکید دارد که فیلدهای خصوصی (غیرقابل خروجی) نمیتوانند تغییر کنند، حتی با استفاده از بازتاب (reflection). دیدگاه منطقی و اصول امنیتی در Rust، دسترسی به فیلدهای خصوصی را محدود میکند، که این از تغییر دادههای حساس توسط کدهای بیرونی جلوگیری میکند. این محدودیت به حفظ ساختار دادهها کمک میکند و امنیت برنامهها را افزایش میدهد. نکتهی کلیدی این است که Rust با محدود کردن دسترسیها، به توسعهدهندگان کمک میکند تا سیستمهای مطمئنتری بسازند و از ورود یا تغییرات ناخواسته در بخشهای کلیدی کد جلوگیری میکند. این مقاله، با تاکید بر این امنیت داده، راهنمای مفیدی برای برنامهنویسانی است که به دنبال رویکردهای محافظت شده در برنامهنویسی هستند.
🟣لینک مقاله:
https://golangweekly.com/link/164276/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
❤1
Gopher Academy pinned «🎯 چندتا پست در مورد ویژگی های جدید گولنگ 1.24 اینجاست می تونید بخونید👇 🔵 https://t.me/gopher_academy/3557 🔵 https://t.me/gopher_academy/3556 🔵 https://t.me/gopher_academy/3555 🔵 https://t.me/gopher_academy/3554 🔵 https://t.me/gopher_academy/3553 🔵…»