Gopher Academy
🔵Mutable data type in Golang Slice Array Map Channels ————————————- 🔵Immutable data type in Golang Boolean, Int, Float Pointers String Interfaces ➖➖➖➖➖➖➖➖ 👑 @gopher_academy
در زبان برنامهنویسی Go (گولنگ)، مفهوم mutable و immutable به قابلیت تغییر یا عدم تغییر دادهها پس از ایجاد آنها اشاره دارد. این مفاهیم به طور مستقیم در خود زبان Go تعریف نشدهاند، اما میتوان آنها را در رفتار انواع دادهها مشاهده کرد.
### ۱. Immutable Types (انواع غیرقابل تغییر)
- تعریف: دادههایی که پس از ایجاد، نمیتوان محتوای آنها را تغییر داد.
- مثالها:
- اعداد (int, float, ...): وقتی یک عدد ایجاد میشود، نمیتوان آن را تغییر داد. اگر مقدار جدیدی به یک متغیر اختصاص دهید، در واقع یک مقدار جدید ایجاد میشود.
- رشتهها (string): رشتهها در Go غیرقابل تغییر هستند. اگر بخشی از یک رشته را تغییر دهید، در واقع یک رشته جدید ایجاد میشود.
- ثابتها (constants): ثابتها در Go نیز غیرقابل تغییر هستند.
#### مثال:
### ۲. Mutable Types (انواع قابل تغییر)
- تعریف: دادههایی که پس از ایجاد، میتوان محتوای آنها را تغییر داد.
- مثالها:
- آرایهها (arrays): آرایهها در Go قابل تغییر هستند، اما اندازه آنها ثابت است.
- برشها (slices): برشها قابل تغییر هستند و میتوان عناصر آنها را تغییر داد.
- نقشهها (maps): نقشهها نیز قابل تغییر هستند و میتوان کلیدها و مقادیر آنها را تغییر داد.
- ساختارها (structs): اگر فیلدهای یک ساختار قابل تغییر باشند، میتوان آنها را تغییر داد.
#### مثال:
### ۳. تفاوتهای کلیدی
- تغییرپذیری: دادههای mutable پس از ایجاد قابل تغییر هستند، در حالی که دادههای immutable پس از ایجاد غیرقابل تغییر هستند.
- عملکرد: تغییر دادههای immutable معمولاً منجر به ایجاد یک کپی جدید از داده میشود، در حالی که تغییر دادههای mutable روی همان داده اصلی اعمال میشود.
- کارایی: استفاده از دادههای mutable میتواند کارایی بیشتری داشته باشد، زیرا از ایجاد کپیهای مکرر جلوگیری میکند. با این حال، دادههای immutable امنتر هستند و از خطاهای ناشی از تغییرات ناخواسته جلوگیری میکنند.
### ۴. نکات مهم
- در Go، رشتهها و ثابتها immutable هستند، در حالی که برشها، نقشهها و ساختارها mutable هستند.
- هنگام کار با دادههای mutable، باید مراقب باشید که تغییرات ناخواسته در دادهها رخ ندهد، به ویژه زمانی که دادهها بین توابع یا گوروتینها به اشتراک گذاشته میشوند.
این تفاوتها به شما کمک میکنند تا تصمیم بگیرید از کدام نوع داده در شرایط مختلف استفاده کنید.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
### ۱. Immutable Types (انواع غیرقابل تغییر)
- تعریف: دادههایی که پس از ایجاد، نمیتوان محتوای آنها را تغییر داد.
- مثالها:
- اعداد (int, float, ...): وقتی یک عدد ایجاد میشود، نمیتوان آن را تغییر داد. اگر مقدار جدیدی به یک متغیر اختصاص دهید، در واقع یک مقدار جدید ایجاد میشود.
- رشتهها (string): رشتهها در Go غیرقابل تغییر هستند. اگر بخشی از یک رشته را تغییر دهید، در واقع یک رشته جدید ایجاد میشود.
- ثابتها (constants): ثابتها در Go نیز غیرقابل تغییر هستند.
#### مثال:
s := "Hello"
s[0] = 'h' // این خطا میدهد، زیرا رشتهها غیرقابل تغییر هستند.
s = "hello" // این کار میکند، اما در واقع یک رشته جدید ایجاد میشود.
### ۲. Mutable Types (انواع قابل تغییر)
- تعریف: دادههایی که پس از ایجاد، میتوان محتوای آنها را تغییر داد.
- مثالها:
- آرایهها (arrays): آرایهها در Go قابل تغییر هستند، اما اندازه آنها ثابت است.
- برشها (slices): برشها قابل تغییر هستند و میتوان عناصر آنها را تغییر داد.
- نقشهها (maps): نقشهها نیز قابل تغییر هستند و میتوان کلیدها و مقادیر آنها را تغییر داد.
- ساختارها (structs): اگر فیلدهای یک ساختار قابل تغییر باشند، میتوان آنها را تغییر داد.
#### مثال:
slice := []int{1, 2, 3}
slice[0] = 10 // این کار میکند، زیرا برشها قابل تغییر هستند.
### ۳. تفاوتهای کلیدی
- تغییرپذیری: دادههای mutable پس از ایجاد قابل تغییر هستند، در حالی که دادههای immutable پس از ایجاد غیرقابل تغییر هستند.
- عملکرد: تغییر دادههای immutable معمولاً منجر به ایجاد یک کپی جدید از داده میشود، در حالی که تغییر دادههای mutable روی همان داده اصلی اعمال میشود.
- کارایی: استفاده از دادههای mutable میتواند کارایی بیشتری داشته باشد، زیرا از ایجاد کپیهای مکرر جلوگیری میکند. با این حال، دادههای immutable امنتر هستند و از خطاهای ناشی از تغییرات ناخواسته جلوگیری میکنند.
### ۴. نکات مهم
- در Go، رشتهها و ثابتها immutable هستند، در حالی که برشها، نقشهها و ساختارها mutable هستند.
- هنگام کار با دادههای mutable، باید مراقب باشید که تغییرات ناخواسته در دادهها رخ ندهد، به ویژه زمانی که دادهها بین توابع یا گوروتینها به اشتراک گذاشته میشوند.
این تفاوتها به شما کمک میکنند تا تصمیم بگیرید از کدام نوع داده در شرایط مختلف استفاده کنید.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👏5❤1⚡1
🔵 عنوان مقاله
▶ Go in the Smallest of Places
🟢 خلاصه مقاله:
مقالهای که در کنفرانس GopherCon 2024 ارائه شده است به بررسی پتانسیل و جزئیات فنی استفاده از TinyGo برای ساخت سیستمهای مبتنی بر زبان Go روی میکروکنترلرها میپردازد. TinyGo به عنوان یک پیادهسازی کوچک و بهینه از زبان برنامهنویسی Go شناخته شده است که برای دستگاههای دارای منابع محدود مانند میکروکنترلرها طراحی شده است. سخنرانی تمرکز اصلیاش بر روی چالشها و راهحلهایی بوده است که TinyGo در رفع مشکلات مربوط به محدودیتهای حافظه و قدرت پردازش ارائه میدهد. همچنین بر این نکته تاکید شده که چگونه TinyGo میتواند برای توسعه دهندگان Go امکان استفاده از کدهای موجود را بهگونهای فراهم آورد که به آسانی قابل انتقال به پلتفرمهای سختافزاری مختلف باشد. این سخنرانی نه تنها جنبههای فنی را پوشش داده، بلکه به نمونههای کاربردی نیز پرداخته تا نشان دهد چگونه TinyGo میتواند در پروژههای واقعی مورد استفاده قرار گیرد.
🟣لینک مقاله:
https://golangweekly.com/link/164567/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
▶ Go in the Smallest of Places
🟢 خلاصه مقاله:
مقالهای که در کنفرانس GopherCon 2024 ارائه شده است به بررسی پتانسیل و جزئیات فنی استفاده از TinyGo برای ساخت سیستمهای مبتنی بر زبان Go روی میکروکنترلرها میپردازد. TinyGo به عنوان یک پیادهسازی کوچک و بهینه از زبان برنامهنویسی Go شناخته شده است که برای دستگاههای دارای منابع محدود مانند میکروکنترلرها طراحی شده است. سخنرانی تمرکز اصلیاش بر روی چالشها و راهحلهایی بوده است که TinyGo در رفع مشکلات مربوط به محدودیتهای حافظه و قدرت پردازش ارائه میدهد. همچنین بر این نکته تاکید شده که چگونه TinyGo میتواند برای توسعه دهندگان Go امکان استفاده از کدهای موجود را بهگونهای فراهم آورد که به آسانی قابل انتقال به پلتفرمهای سختافزاری مختلف باشد. این سخنرانی نه تنها جنبههای فنی را پوشش داده، بلکه به نمونههای کاربردی نیز پرداخته تا نشان دهد چگونه TinyGo میتواند در پروژههای واقعی مورد استفاده قرار گیرد.
🟣لینک مقاله:
https://golangweekly.com/link/164567/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
YouTube
GopherCon 2024: Go in the Smallest of Places - Patricio Whittingslow
Join us as we delve into the world of embedded systems, shedding light on Micro Controller Units (MCUs) and their practical applications in domains ranging from rocket motor control to biomedical processes. Surprisingly, we'll discover how Go, a language…
👍1
🔵 عنوان مقاله
gno.land Offers Grants & Bounties for Go-Powered Decentralized Apps
🟢 خلاصه مقاله:
مقالهای که شما به آن اشاره کردهاید، به معرفی پلتفرم قرارداد هوشمند gno.land میپردازد که محیطی جذاب برای توسعهدهندگان برنامهها، علاقمندان به زبان برنامهنویسی Go و کسانی است که به دنبال کار با تکنولوژیهای نوین هستند. این پلتفرم به کاربران امکان میدهد تا در محیطی آزاد و عادلانه به ساخت و پیادهسازی قراردادهای هوشمند بپردازند. هدف از این پلتفرم، فراهم کردن امکاناتی است که از طریق آنها بتوان جهانی بهتر و عادلانهتری را رقم زد. این پلتفرم با استفاده از زبان Go، یکی از زبانهای برنامهنویسی روز دنیا، به کاربران امکان میدهد قابلیتهای نوآورانهای را در توسعه نرمافزارهای خود به کار برند.
🟣لینک مقاله:
https://golangweekly.com/link/164581/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
gno.land Offers Grants & Bounties for Go-Powered Decentralized Apps
🟢 خلاصه مقاله:
مقالهای که شما به آن اشاره کردهاید، به معرفی پلتفرم قرارداد هوشمند gno.land میپردازد که محیطی جذاب برای توسعهدهندگان برنامهها، علاقمندان به زبان برنامهنویسی Go و کسانی است که به دنبال کار با تکنولوژیهای نوین هستند. این پلتفرم به کاربران امکان میدهد تا در محیطی آزاد و عادلانه به ساخت و پیادهسازی قراردادهای هوشمند بپردازند. هدف از این پلتفرم، فراهم کردن امکاناتی است که از طریق آنها بتوان جهانی بهتر و عادلانهتری را رقم زد. این پلتفرم با استفاده از زبان Go، یکی از زبانهای برنامهنویسی روز دنیا، به کاربران امکان میدهد قابلیتهای نوآورانهای را در توسعه نرمافزارهای خود به کار برند.
🟣لینک مقاله:
https://golangweekly.com/link/164581/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Bardia & Erfan
پنج پرامپت chatgpt برای بهبود عملکرد
۱. تولید پیشنهادات کاربردی
"
۲. بهبود نوشتار با بازخورد دقیق
"
۳. ساخت یک رزومه قوی
"
۴. تسریع یادگیری با اصل ۸۰/۲۰
"
۵. یادگیری مهارتهای جدید
"
با استفاده از این پیشنهادات، میتوانید بهرهوری خود را افزایش دهید و مهارتهای جدیدی یاد بگیرید!
۱. تولید پیشنهادات کاربردی
"
من تازه به استفاده از ChatGPT روی آوردهام و شغل من [شغل خود را وارد کنید] است. لطفاً فهرستی از ۱۰ پیشنهاد برتر برای افزایش بهرهوری من ارائه دهید
."۲. بهبود نوشتار با بازخورد دقیق
"
[متن نوشتاری خود را وارد کنید] لطفاً نوشتهی من را بررسی کن. اشتباهات گرامری و املایی را اصلاح کن و پیشنهاداتی برای بهبود وضوح نوشتهام ارائه بده
."۳. ساخت یک رزومه قوی
"
جزئیات حرفهای من را در زیر تحلیل کن و یک رزومه متقاعدکننده ایجاد کن که به من در یافتن شغل [جزئیات شغل مورد نظر را وارد کنید] کمک کند: [جزئیات حرفهای خود را وارد کنید
]."۴. تسریع یادگیری با اصل ۸۰/۲۰
"
میخواهم درباره [موضوع مورد نظر را وارد کنید] یاد بگیرم. لطفاً ۲۰ درصد مهمترین نکات این موضوع را شناسایی و به اشتراک بگذار که به من کمک کند ۸۰ درصد آن را درک کنم.
"۵. یادگیری مهارتهای جدید
"
میخواهم در [مهارت مورد نظر را وارد کنید] بهتر شوم. من کاملاً مبتدی هستم. لطفاً یک برنامه یادگیری ۳۰ روزه ایجاد کن که به یک مبتدی مانند من کمک کند تا این مهارت را بیاموزد و پیشرفت کند
."با استفاده از این پیشنهادات، میتوانید بهرهوری خود را افزایش دهید و مهارتهای جدیدی یاد بگیرید!
🔥2🍾1👨💻1
🔵 عنوان مقاله
Maddy 0.8: A Composable All-in-One Mail Server
🟢 خلاصه مقاله:
این مقاله به معرفی نسخه 0.8 یک نرمافزار پیامرسانی میپردازد که میتواند به عنوان یک MTA (میزبان انتقال پیام) عمل کند، پیامها را از طریق SMTP دریافت کند، آنها را ذخیره کند و حتی دسترسی به پیامها را از طریق IMAP فراهم آورد. برای استفاده از این نسخه، نیاز است که نرمافزار Go نسخه 1.23 یا بالاتر نصب شده باشد. علاوه بر این، پشتیبانی از پروتکل PROXY متعلق به HAProxy و همچنین مدیریت رکوردهای چالش DNS-01 به این نسخه افزوده شده است. این ویژگیها به بهبود امنیت و کارایی این نرمافزار در مدیریت ارتباطات و پیامها کمک میکنند.
🟣لینک مقاله:
https://golangweekly.com/link/164957/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Maddy 0.8: A Composable All-in-One Mail Server
🟢 خلاصه مقاله:
این مقاله به معرفی نسخه 0.8 یک نرمافزار پیامرسانی میپردازد که میتواند به عنوان یک MTA (میزبان انتقال پیام) عمل کند، پیامها را از طریق SMTP دریافت کند، آنها را ذخیره کند و حتی دسترسی به پیامها را از طریق IMAP فراهم آورد. برای استفاده از این نسخه، نیاز است که نرمافزار Go نسخه 1.23 یا بالاتر نصب شده باشد. علاوه بر این، پشتیبانی از پروتکل PROXY متعلق به HAProxy و همچنین مدیریت رکوردهای چالش DNS-01 به این نسخه افزوده شده است. این ویژگیها به بهبود امنیت و کارایی این نرمافزار در مدیریت ارتباطات و پیامها کمک میکنند.
🟣لینک مقاله:
https://golangweekly.com/link/164957/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - foxcpp/maddy: ✉️ Composable all-in-one mail server.
✉️ Composable all-in-one mail server. Contribute to foxcpp/maddy development by creating an account on GitHub.
❤4
🔵 عنوان مقاله
Go Slices: Shared Memory and append() Pitfalls
🟢 خلاصه مقاله:
این متن کوتاه به بررسی برخی از اشکالات بالقوه در زبان برنامهنویسی Go هنگام کار با آرایهها (slices) و زیرآرایهها (sub-slices) میپردازد. نویسنده، پست راب پایک در سال 2013 در وبلاگ رسمی Go را به عنوان منبعی مفید در این زمینه معرفی کرده است. مقاله احتمالاً توضیح داده که چگونه برنامهنویسان میتوانند به اشتباهاتی در استفاده از این ویژگیهای زبان برخورد کنند و چگونه میتوان از این اشکالات اجتناب کرد. اطلاعات بیشتری درباره پیچیدگیهای ایجاد شده توسط آرایهها و زیرآرایهها و چالشهای مرتبط با مدیریت حافظه در این زمینه ارائه شده است. بنابراین، درک این مسائل به شما کمک میکند تا به عنوان یک توسعهدهنده Go، کدهای مطمئنتر و بهینهتری بنویسید.
🟣لینک مقاله:
https://golangweekly.com/link/164945/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go Slices: Shared Memory and append() Pitfalls
🟢 خلاصه مقاله:
این متن کوتاه به بررسی برخی از اشکالات بالقوه در زبان برنامهنویسی Go هنگام کار با آرایهها (slices) و زیرآرایهها (sub-slices) میپردازد. نویسنده، پست راب پایک در سال 2013 در وبلاگ رسمی Go را به عنوان منبعی مفید در این زمینه معرفی کرده است. مقاله احتمالاً توضیح داده که چگونه برنامهنویسان میتوانند به اشتباهاتی در استفاده از این ویژگیهای زبان برخورد کنند و چگونه میتوان از این اشکالات اجتناب کرد. اطلاعات بیشتری درباره پیچیدگیهای ایجاد شده توسط آرایهها و زیرآرایهها و چالشهای مرتبط با مدیریت حافظه در این زمینه ارائه شده است. بنابراین، درک این مسائل به شما کمک میکند تا به عنوان یک توسعهدهنده Go، کدهای مطمئنتر و بهینهتری بنویسید.
🟣لینک مقاله:
https://golangweekly.com/link/164945/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍1
🔵 عنوان مقاله
Maps are Faster in Go 1.24
🟢 خلاصه مقاله:
مقالهای که مطرح شده، به توضیح بهبودهای انجامشده در زبان برنامهنویسی Go در نسخه 1.24 میپردازد. این بهبودها با بهکارگیری جداولی به نام Swiss Tables صورت گرفته است. جداول Swiss، روشی نوین در پیادهسازی جداول هش هستند که کارایی بالاتری را فراهم میکنند. نکته مهم این است که برنامهنویسان برای بهرهمندی از این امکانات جدید نیازی به اعمال تغییرات یا بروزرسانیهای خاص در کد خود ندارند. تنها با ارتقاء به نسخه 1.24 از Go، بهطور خودکار این بهبودها در دسترس قرار میگیرد و کاربران میتوانند از مزایای آن بهره ببرند، از جمله افزایش فعالیت و کارایی در تعامل با جداول هش. این تغییرات قرار است تأثیر قابل توجهی در بهبود عملکرد برنامههای نوشته شده در Go داشته باشد.
🟣لینک مقاله:
https://golangweekly.com/link/164944/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Maps are Faster in Go 1.24
🟢 خلاصه مقاله:
مقالهای که مطرح شده، به توضیح بهبودهای انجامشده در زبان برنامهنویسی Go در نسخه 1.24 میپردازد. این بهبودها با بهکارگیری جداولی به نام Swiss Tables صورت گرفته است. جداول Swiss، روشی نوین در پیادهسازی جداول هش هستند که کارایی بالاتری را فراهم میکنند. نکته مهم این است که برنامهنویسان برای بهرهمندی از این امکانات جدید نیازی به اعمال تغییرات یا بروزرسانیهای خاص در کد خود ندارند. تنها با ارتقاء به نسخه 1.24 از Go، بهطور خودکار این بهبودها در دسترس قرار میگیرد و کاربران میتوانند از مزایای آن بهره ببرند، از جمله افزایش فعالیت و کارایی در تعامل با جداول هش. این تغییرات قرار است تأثیر قابل توجهی در بهبود عملکرد برنامههای نوشته شده در Go داشته باشد.
🟣لینک مقاله:
https://golangweekly.com/link/164944/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Bytesizego
Maps are faster in Go 1.24
...at least for most use cases. Read on to find out more!
🔵 عنوان مقاله
Proposal: A Way to Reduce Error Handling Boilerplate with ?
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفت، پیشنهادی برای سادهسازی مدیریت خطا با استفاده از عملگر "?" ارائه میدهد. این عملگر جدید قادر است با کاهش کدهای اضافی، خطاها را به طور اختیاری مدیریت کند و در صورت وجود خطا به سرعت عملیات را متوقف سازد یا بلوک مدیریت خطا را اجرا نماید. استفاده از این عملگر میتواند به توسعهدهندگان این امکان را بدهد که بدون نیاز به کدنویسی مفصل برای هر شرایط خطا، به طور موثرتری کدهای پاکتر و خواناتری بنویسند. این رویکرد همچنین میتواند به بهبود خوانایی کد و سهولت نگهداری پروژههای برنامهنویسی کمک شایانی کند. در نهایت، عملگر "?" به عنوان یک راهحل کارآمد برای کاهش پیچیدگیهای مرتبط با مدیریت خطا و افزایش تمرکز بر منطق اصلی برنامهها مطرح میشود.
🟣لینک مقاله:
https://golangweekly.com/link/164939/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Proposal: A Way to Reduce Error Handling Boilerplate with ?
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفت، پیشنهادی برای سادهسازی مدیریت خطا با استفاده از عملگر "?" ارائه میدهد. این عملگر جدید قادر است با کاهش کدهای اضافی، خطاها را به طور اختیاری مدیریت کند و در صورت وجود خطا به سرعت عملیات را متوقف سازد یا بلوک مدیریت خطا را اجرا نماید. استفاده از این عملگر میتواند به توسعهدهندگان این امکان را بدهد که بدون نیاز به کدنویسی مفصل برای هر شرایط خطا، به طور موثرتری کدهای پاکتر و خواناتری بنویسند. این رویکرد همچنین میتواند به بهبود خوانایی کد و سهولت نگهداری پروژههای برنامهنویسی کمک شایانی کند. در نهایت، عملگر "?" به عنوان یک راهحل کارآمد برای کاهش پیچیدگیهای مرتبط با مدیریت خطا و افزایش تمرکز بر منطق اصلی برنامهها مطرح میشود.
🟣لینک مقاله:
https://golangweekly.com/link/164939/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
discussion: spec: reduce error handling boilerplate using ? · golang/go · Discussion #71460
This is a discussion about a new syntax that may be used to handle errors. This is issue #71203 converted into a discussion. I've written a tool that converts ordinary Go code into code that us...
👍1
🔵 عنوان مقاله
Go 1.24's go tool is One of the Best Additions in Years
🟢 خلاصه مقاله:
مقالهای که بررسی شد، به نوآوریها و تغییرات نسخه 1.24 زبان برنامهنویسی Go میپردازد که هنوز به طور کامل منتشر نشده است، اما نسخه اصلاح شده دوم آن (rc2) در دسترس قرار گرفته است. توجه زیادی به این نسخه معطوف شده زیرا شامل بهبودهای قابل توجهی است. یکی از مهمترین پیشرفتها، افزودن دستور جدید در ابزار Go و معرفی دستورالعمل 'tool' در فایل go.mod است. این تغییرات در مدیریت وابستگیها در هنگام توسعه کمک شایانی میکند و عملکرد را از طریق کش کردن اجراها بهبود میبخشد و همچنین موجب کاهش بلوغ وابستگیها میشود. این بهبودها میتوانند در کارآیی کلی زبان و تجربه توسعهدهندگان تأثیرات مثبتی داشته باشند.
🟣لینک مقاله:
https://golangweekly.com/link/164936/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go 1.24's go tool is One of the Best Additions in Years
🟢 خلاصه مقاله:
مقالهای که بررسی شد، به نوآوریها و تغییرات نسخه 1.24 زبان برنامهنویسی Go میپردازد که هنوز به طور کامل منتشر نشده است، اما نسخه اصلاح شده دوم آن (rc2) در دسترس قرار گرفته است. توجه زیادی به این نسخه معطوف شده زیرا شامل بهبودهای قابل توجهی است. یکی از مهمترین پیشرفتها، افزودن دستور جدید در ابزار Go و معرفی دستورالعمل 'tool' در فایل go.mod است. این تغییرات در مدیریت وابستگیها در هنگام توسعه کمک شایانی میکند و عملکرد را از طریق کش کردن اجراها بهبود میبخشد و همچنین موجب کاهش بلوغ وابستگیها میشود. این بهبودها میتوانند در کارآیی کلی زبان و تجربه توسعهدهندگان تأثیرات مثبتی داشته باشند.
🟣لینک مقاله:
https://golangweekly.com/link/164936/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Jamie Tanna | Software Engineer
Go 1.24's `go tool` is one of the best additions to the ecosystem in years · Jamie Tanna | Software Engineer
Why I'm very excited about `go tool` landing in Go 1.24.
Forwarded from Bardia & Erfan
🔵 عنوان مقاله
Protect Against Bots, Fraud, and Abuse in Real Time
🟢 خلاصه مقاله:
مقالهای که ارائه دادهاید، دربارهی محصول WorkOS Radar صحبت کرده که با بهرهگیری از سیستم پیشرفتهی تشخیص هویت دستگاه، امنیت برنامههای کاربردی را تقویت میکند. این سیستم قابلیت دارد تا از وقوع تقلبهای ثبتنام جعلی، سوء استفاده از سطوح رایگان، حملات رباتیک و تلاشهای ورود اجباری به سیستم جلوگیری کند. با استفاده از فناوری امنیتی مدرن و بهروز، WorkOS Radar به توسعهدهندگان اپلیکیشنها این امکان را میدهد که از اپلیکیشن خود در برابر تهدیدات و تلاشهای مخرب به طور موثر محافظت کنند. این محصول برای مبارزه با تلاشهای نفوذ و حفظ امنیت کاربران طراحی شده است، که در نتیجه ایمنی بیشتری را برای برنامهها و سیستمهای تحت پوشش آن فراهم میآورد.
🟣لینک مقاله:
https://golangweekly.com/link/164947/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Protect Against Bots, Fraud, and Abuse in Real Time
🟢 خلاصه مقاله:
مقالهای که ارائه دادهاید، دربارهی محصول WorkOS Radar صحبت کرده که با بهرهگیری از سیستم پیشرفتهی تشخیص هویت دستگاه، امنیت برنامههای کاربردی را تقویت میکند. این سیستم قابلیت دارد تا از وقوع تقلبهای ثبتنام جعلی، سوء استفاده از سطوح رایگان، حملات رباتیک و تلاشهای ورود اجباری به سیستم جلوگیری کند. با استفاده از فناوری امنیتی مدرن و بهروز، WorkOS Radar به توسعهدهندگان اپلیکیشنها این امکان را میدهد که از اپلیکیشن خود در برابر تهدیدات و تلاشهای مخرب به طور موثر محافظت کنند. این محصول برای مبارزه با تلاشهای نفوذ و حفظ امنیت کاربران طراحی شده است، که در نتیجه ایمنی بیشتری را برای برنامهها و سیستمهای تحت پوشش آن فراهم میآورد.
🟣لینک مقاله:
https://golangweekly.com/link/164947/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Workos
Radar — WorkOS
Detect, verify, and block harmful behavior in real time. Radar protects your app against AI bots, account abuse, credential theft, and more.
Forwarded from علی حسینی
دوره دوم بوتکمپ برنامهنویسی Golang
🔺 فرصت آموزش و استخدام در همکاران سیستم 🔺
در طی ۴ جلسه حضوری:
🧲 مباحث اصلی برنامهنویسی با زبان گولنگ رو یاد میگیری.
💻 با طراحی نرمافزارهای کوچک به حل چالشها و مسائل واقعی دنیای برنامهنویسی میپردازی.
🏢 و پس از اتمام دوره، وارد فرآیند جذب همکاران سیستم میشی.
💳 هزینه دوره: رایگان
- - - - - - - - - - - - - - - - -
👈🏻 برای شرکت در این دوره کافیه رزومهت رو برای ما ارسال کنی تا در صورت تأیید شدن رزومه و پشت سر گذاشتن موفق مصاحبه فنی، اطلاعات شرکت در دوره رو برای شما ارسال کنیم. در ضمن در صورتی که هر سوالی درباره این دوره داشتی، از طریق همین ایمیل در ارتباط هستیم:
hr-dev@systemgroup.net
📅 مهلت ارسال رزومه:
یکشنبه ۲۱ بهمنماه
- - - - - - - - - - - - - - - - -
Linkedin | Instagram
🔺 فرصت آموزش و استخدام در همکاران سیستم 🔺
در طی ۴ جلسه حضوری:
🧲 مباحث اصلی برنامهنویسی با زبان گولنگ رو یاد میگیری.
💻 با طراحی نرمافزارهای کوچک به حل چالشها و مسائل واقعی دنیای برنامهنویسی میپردازی.
🏢 و پس از اتمام دوره، وارد فرآیند جذب همکاران سیستم میشی.
💳 هزینه دوره: رایگان
- - - - - - - - - - - - - - - - -
👈🏻 برای شرکت در این دوره کافیه رزومهت رو برای ما ارسال کنی تا در صورت تأیید شدن رزومه و پشت سر گذاشتن موفق مصاحبه فنی، اطلاعات شرکت در دوره رو برای شما ارسال کنیم. در ضمن در صورتی که هر سوالی درباره این دوره داشتی، از طریق همین ایمیل در ارتباط هستیم:
hr-dev@systemgroup.net
📅 مهلت ارسال رزومه:
یکشنبه ۲۱ بهمنماه
- - - - - - - - - - - - - - - - -
Linkedin | Instagram
👍9
🔵 عنوان مقاله
Centrifugo v6: A Scalable Real-Time Messaging Server
🟢 خلاصه مقاله:
این مقاله در خصوص ابزاری متنباز و خودمیزبانی شده به منظور ارسال پیام به کاربران اپلیکیشنهای برخط توسط WebSocket، HTTP استریمینگ، SSE، و دیگر روشها میپردازد. این ابزار معادلی برای Pubnub یا Pusher است اما با این تفاوت که در زبان Go نوشته شدهاست و فارغ از زبان برنامهنویسی، قابل استفاده است. همچنین، کد این ابزار در مخزن GitHub قابل دسترسی است. این مقاله بر تواناییهای این ابزار تاکید دارد و اینکه چگونه میتواند به توسعهدهندگان در ارائهی راهحلهای ارتباطی برخط و به زمان واقعی کمک کند. ایده اصلی ارائه یک ابزار متن باز است که توسعه دهندگان میتوانند برای پیکربندی و استفاده در پروژههای خود تنظیم کنند.
🟣لینک مقاله:
https://golangweekly.com/link/164955/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Centrifugo v6: A Scalable Real-Time Messaging Server
🟢 خلاصه مقاله:
این مقاله در خصوص ابزاری متنباز و خودمیزبانی شده به منظور ارسال پیام به کاربران اپلیکیشنهای برخط توسط WebSocket، HTTP استریمینگ، SSE، و دیگر روشها میپردازد. این ابزار معادلی برای Pubnub یا Pusher است اما با این تفاوت که در زبان Go نوشته شدهاست و فارغ از زبان برنامهنویسی، قابل استفاده است. همچنین، کد این ابزار در مخزن GitHub قابل دسترسی است. این مقاله بر تواناییهای این ابزار تاکید دارد و اینکه چگونه میتواند به توسعهدهندگان در ارائهی راهحلهای ارتباطی برخط و به زمان واقعی کمک کند. ایده اصلی ارائه یک ابزار متن باز است که توسعه دهندگان میتوانند برای پیکربندی و استفاده در پروژههای خود تنظیم کنند.
🟣لینک مقاله:
https://golangweekly.com/link/164955/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
centrifugal.dev
Centrifugo v6 released | Centrifugo
We are excited to tell the world about Centrifugo v6 – a new major release, which is now live. This release contains fundamental changes in the configuration and adds several useful features and more observability to Centrifugo OSS and Centrifugo PRO.
🔵 عنوان مقاله
Keep Your Apps Fast and Error-Free with Honeybadger
🟢 خلاصه مقاله:
«Honeybadger» ابزاری است که به شما در شناسایی و رفع خطاها، حذف گلوگاههای عملکرد و کاوش سریعتر در جزئیات کمک میکند. این سیستم پشتیبانی از زبانهای برنامهنویسی متعددی مانند Go، Ruby و هشت زبان دیگر را ارائه میدهد و بهترین روش برای کسب دیدگاههای لحظهای در مورد سلامت و عملکرد برنامههای کاربردی است. Honeybadger با فراهم آوردن این امکانات، فرآیند نظارت و بهبود مستمر برنامههای کاربردی را تسهیل میبخشد.
🟣لینک مقاله:
https://golangweekly.com/link/164935/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Keep Your Apps Fast and Error-Free with Honeybadger
🟢 خلاصه مقاله:
«Honeybadger» ابزاری است که به شما در شناسایی و رفع خطاها، حذف گلوگاههای عملکرد و کاوش سریعتر در جزئیات کمک میکند. این سیستم پشتیبانی از زبانهای برنامهنویسی متعددی مانند Go، Ruby و هشت زبان دیگر را ارائه میدهد و بهترین روش برای کسب دیدگاههای لحظهای در مورد سلامت و عملکرد برنامههای کاربردی است. Honeybadger با فراهم آوردن این امکانات، فرآیند نظارت و بهبود مستمر برنامههای کاربردی را تسهیل میبخشد.
🟣لینک مقاله:
https://golangweekly.com/link/164935/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Honeybadger
Error Tracking & Application Performance Monitoring Software
Application performance monitoring & error tracking that helps developers and software teams move faster. Get started for free.
🔵 دنیای بلاکچین و ارز های دیجیتال
🔴 @Blockchain_labdon
🟢 حوزه های تحت پوشش
(Bitcoin, Ethereum, Altcoins, Blockchain, Policy & Regulations, AI, NFTs, DeFi)
➖➖➖➖➖➖➖➖
🔵 مهندسی نرم افزار
🔴 @software_labdon
🟢 حوزه های تحت پوشش
(Engineering, Architecture, Design, Testing, Security , QA)
➖➖➖➖➖➖➖➖
🔵 لینوکس- از توزیعها تا ترفندهای امنیتی
🔴 @linux_labdon
🟢 حوزه های تحت پوشش
(Linux Distributions, Open Source Software, Security Tips ,New Releases & Features)
➖➖➖➖➖➖➖➖
🔵 دوآپـس - ابزارها و روندهای جدید
🔴 @devops_labdon
🟢 حوزه های تحت پوشش
(CI/CD Pipelines, Cloud Infrastructure, Containerization & Orchestration, Monitoring & Performance, Infrastructure as Code, Security in DevOps)
🔴 @Blockchain_labdon
🟢 حوزه های تحت پوشش
(Bitcoin, Ethereum, Altcoins, Blockchain, Policy & Regulations, AI, NFTs, DeFi)
➖➖➖➖➖➖➖➖
🔵 مهندسی نرم افزار
🔴 @software_labdon
🟢 حوزه های تحت پوشش
(Engineering, Architecture, Design, Testing, Security , QA)
➖➖➖➖➖➖➖➖
🔵 لینوکس- از توزیعها تا ترفندهای امنیتی
🔴 @linux_labdon
🟢 حوزه های تحت پوشش
(Linux Distributions, Open Source Software, Security Tips ,New Releases & Features)
➖➖➖➖➖➖➖➖
🔵 دوآپـس - ابزارها و روندهای جدید
🔴 @devops_labdon
🟢 حوزه های تحت پوشش
(CI/CD Pipelines, Cloud Infrastructure, Containerization & Orchestration, Monitoring & Performance, Infrastructure as Code, Security in DevOps)
🔵 عنوان مقاله
A Minesweeper Game Written in Go
🟢 خلاصه مقاله:
این مقاله به توضیح و بررسی یک نمونه بازی صحبت میپردازد که نه تنها به شکل معمول بر روی دسکتاپ اجرا میشود، بلکه قابلیت اجرا در وب را نیز دارد. تأثیرات و جزئیات بازی جذاب توصیف شده و به عنوان یک استفاده عالی از موتور بازی Ebitengine ارزیابی شده است. این مقاله همچنین به مخاطبانی که قصد دارند دستاوردهای مشابهی بدست آورند توصیه میکند که حتماً نگاهی به مخزن GitHub مربوط به این بازی بیندازند. بنابراین، این مقاله هم به ارائه دیدگاهی در مورد پیادهسازی بازیها در محیطهای مختلف و هم ارائه منابعی برای علاقمندان به توسعه بازیهای مشابه میپردازد.
🟣لینک مقاله:
https://golangweekly.com/link/165358/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
A Minesweeper Game Written in Go
🟢 خلاصه مقاله:
این مقاله به توضیح و بررسی یک نمونه بازی صحبت میپردازد که نه تنها به شکل معمول بر روی دسکتاپ اجرا میشود، بلکه قابلیت اجرا در وب را نیز دارد. تأثیرات و جزئیات بازی جذاب توصیف شده و به عنوان یک استفاده عالی از موتور بازی Ebitengine ارزیابی شده است. این مقاله همچنین به مخاطبانی که قصد دارند دستاوردهای مشابهی بدست آورند توصیه میکند که حتماً نگاهی به مخزن GitHub مربوط به این بازی بیندازند. بنابراین، این مقاله هم به ارائه دیدگاهی در مورد پیادهسازی بازیها در محیطهای مختلف و هم ارائه منابعی برای علاقمندان به توسعه بازیهای مشابه میپردازد.
🟣لینک مقاله:
https://golangweekly.com/link/165358/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
itch.io
Minesweeper by imprity
yet another minesweeper. Play in your browser
🔥1
🔵 عنوان مقاله
Go Programs Freezing When Launched by Steam
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفت، به مشکلی فنی پرداخته که توسط توسعهدهنده اصلی Ebitengine گزارش شده است. این مشکل فنی به خطاهایی در برنامههای نوشته شده با زبان برنامهنویسی Go اشاره دارد که توسط لانچر بازی Steam اجرا شدهاند. مشخص شده است که Steam به نحوی با محیط اجرایی Go تداخل دارد، که منجر به شکست در اجرای برنامهها میشود. این موضوع به بحث گستردهای در مخزن Go منجر شده و چندین راهحل موقت ارائه شده است، اما هنوز هیچ راهحل کاملی برای حل این مشکل ارائه نشده است. بررسیها و تلاشها برای رفع این مشکل همچنان ادامه دارد و جامعه برنامهنویسان در تلاشند تا راهحلی دائمی بیابند.
🟣لینک مقاله:
https://golangweekly.com/link/165332/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go Programs Freezing When Launched by Steam
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفت، به مشکلی فنی پرداخته که توسط توسعهدهنده اصلی Ebitengine گزارش شده است. این مشکل فنی به خطاهایی در برنامههای نوشته شده با زبان برنامهنویسی Go اشاره دارد که توسط لانچر بازی Steam اجرا شدهاند. مشخص شده است که Steam به نحوی با محیط اجرایی Go تداخل دارد، که منجر به شکست در اجرای برنامهها میشود. این موضوع به بحث گستردهای در مخزن Go منجر شده و چندین راهحل موقت ارائه شده است، اما هنوز هیچ راهحل کاملی برای حل این مشکل ارائه نشده است. بررسیها و تلاشها برای رفع این مشکل همچنان ادامه دارد و جامعه برنامهنویسان در تلاشند تا راهحلی دائمی بیابند.
🟣لینک مقاله:
https://golangweekly.com/link/165332/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Steamcommunity
Go programs freeze when they are launhed via a Steam client :: Steam Discussions
🔵 عنوان مقاله
httptap: View HTTP/HTTPS Requests Made by Any Linux Program
🟢 خلاصه مقاله:
این متن درباره یک ردیاب HTTP محدود به فرایند و مبتنی بر زبان برنامهنویسی Go است که بدون نیاز به دسترسیهای ریشه (root) قابل اجرا است. این ابزار فقط از فضاهای نام شبکهای در لینوکس پشتیبانی میکند و قابلیت رمزگشایی ترافیک TLS را دارد به این ترتیب که یک مرکز احراز هویت (CA) را بلافاصله و بهصورت خودکار تولید میکند. این ویژگیها ردیاب را ابزاری مفید برای عیبیابی یا بررسی ارتباطات خارجی نرمافزارها و وابستگیهای آنها فراهم میآورد، که ممکن است بدون اطلاع کاربر، اطلاعاتی را به خارج منتقل کنند.
🟣لینک مقاله:
https://golangweekly.com/link/165337/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
httptap: View HTTP/HTTPS Requests Made by Any Linux Program
🟢 خلاصه مقاله:
این متن درباره یک ردیاب HTTP محدود به فرایند و مبتنی بر زبان برنامهنویسی Go است که بدون نیاز به دسترسیهای ریشه (root) قابل اجرا است. این ابزار فقط از فضاهای نام شبکهای در لینوکس پشتیبانی میکند و قابلیت رمزگشایی ترافیک TLS را دارد به این ترتیب که یک مرکز احراز هویت (CA) را بلافاصله و بهصورت خودکار تولید میکند. این ویژگیها ردیاب را ابزاری مفید برای عیبیابی یا بررسی ارتباطات خارجی نرمافزارها و وابستگیهای آنها فراهم میآورد، که ممکن است بدون اطلاع کاربر، اطلاعاتی را به خارج منتقل کنند.
🟣لینک مقاله:
https://golangweekly.com/link/165337/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - monasticacademy/httptap: View HTTP/HTTPS requests made by any Linux program
View HTTP/HTTPS requests made by any Linux program - monasticacademy/httptap
👍1
Forwarded from DevOps Labdon
پادکست نیمچه برنامه نویس:
این پادکست به شکل روان و داستانی موضوعاتی را در حوزهی دواپس و برنامه نویسی روایت میکند.
مثلا در چند اپیزود اخیر به روایت و بررسی کالبدشکافی داون تایم شرکت های بزرگ پرداخته است.
اپیزود های کوتاه و جذاب این پادکست به صورت هفتگی منتشر میشوند.
میتوانید کانال این پادکست را در کستباکس دنبال کنید:
https://castbox.fm/vh/6294201
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
این پادکست به شکل روان و داستانی موضوعاتی را در حوزهی دواپس و برنامه نویسی روایت میکند.
مثلا در چند اپیزود اخیر به روایت و بررسی کالبدشکافی داون تایم شرکت های بزرگ پرداخته است.
اپیزود های کوتاه و جذاب این پادکست به صورت هفتگی منتشر میشوند.
میتوانید کانال این پادکست را در کستباکس دنبال کنید:
https://castbox.fm/vh/6294201
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
❤2🙏1