Gopher Academy
3.32K subscribers
912 photos
40 videos
279 files
1.95K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72

ادمین تبلیغات:
@labdon_ads
Download Telegram
🔵 عنوان مقاله
Protect Against Bots, Fraud, and Abuse in Real Time

🟢 خلاصه مقاله:
مقاله‌ای که ارائه شده در مورد WorkOS Radar و کاربردهای آن در حفظ امنیت برنامه‌ها می‌پردازد. WorkOS Radar با استفاده از تکنیک‌های پیشرفته شناسایی دستگاه (device fingerprinting)، قادر است رفتارهای مضر را تشخیص داده، تأیید کند و مسدود سازد. این فناوری به ویژه در جلوگیری از ثبت‌نام‌های جعلی، سوءاستفاده از سطح رایگان خدمات و همچنین مقابله با حملات ربات‌ها و تلاش‌های نفوذ به صورت خودکار (brute force attacks) مؤثر است. با استفاده از WorkOS Radar، کاربران می‌توانند از برنامه‌های خود در برابر انواع خطرات سایبری به طور موثر محافظت کرده و ایمنی داده‌ها و عملکرد کاربردی برنامه‌های خود را تضمین کنند. این ابزار امنیتی به کاربران این امکان را می‌دهد که به صورت فعال و پیشگیرانه در مقابل تهدیدات سایبری قدم بردارند.

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


👑 @gopher_academy
🙏1
Forwarded from 𓄂 Bardia 𓆃
در حاضر نوع همکاریت به چه صورت هست؟
Anonymous Poll
31%
remote
48%
on-site
24%
hybrid
🔵 عنوان مقاله
  How to Build an MMO Game with Godot 4 and Go

🟢 خلاصه مقاله:
این مقاله به بررسی و توضیح یک سری ویدیویی متشکل از 13 قسمت در یوتیوب می‌پردازد که نحوه ساخت یک بازی آنلاین چندنفره با استفاده از موتور بازی محبوب Godot (بدون ارتباط با Go) را آموزش می‌دهد. در این سریال، زبان برنامه‌نویسی Go برای مدیریت بخش پشتیبانی(بک‌اند) استفاده شده است. اصلی‌ترین هدف از این سری ویدیو، ارائه دستورالعمل‌ها و راهنمایی‌های گام به گام برای توسعه‌دهندگانی است که علاقمند به استفاده از Godot و Go در پروژه‌های بازی‌سازی خود هستند. این مقاله، علاوه بر معرفی ابزارها و تکنولوژی‌های مرتبط، به برجسته‌سازی توانایی‌ها و قابلیت‌های این دو پلتفرم در خلق بازی‌های چندنفره تمرکز دارد و نکات کاربردی برای برنامه‌نویسان و توسعه‌دهندگان بازی را ارائه می‌دهد.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Go 1.24 Release Candidate 2 Released

🟢 خلاصه مقاله:
در جدیدترین گزارش‌ها، تیم توسعه‌دهنده زبان برنامه‌نویسی Go اعلام کرده‌اند که یک قدم دیگر به انتشار نسخه 1.24 نزدیک‌تر شده‌ایم. آنها به شدت تاکید دارند که کاربران به آزمایش نسخه دوم کاندید انتشار (RC2) بپردازند و از آن در محیط‌های توسعه و تولید استفاده کنند تا هرگونه اشکالات آن را گزارش دهند. هرچند که RC2 تفاوت چشمگیری با RC1 ندارد، اما یادداشت‌های اولیه انتشار همچنان بهبود می‌یابند. علاوه بر این، تور تعاملی Go 1.24 ارائه‌شده توسط آنتون زیانوف به شما کمک می‌کند تا به سرعت با ویژگی‌های جدید این نسخه آشنا شوید و در کاربرد آن‌ها سرعت بگیرید. این بروزرسانی‌ها و امکانات جدید نشان‌دهنده تعهد مستمر تیم Go به بهبود و تکامل این زبان است.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Forgejo 10.0: A Go-Powered Self-Hosted Software Forge

🟢 خلاصه مقاله:
مقاله‌ای که شما به آن اشاره کرده‌اید، در مورد نرم‌افزاری به نام Forgejo بحث می‌کند که به عنوان یک جایگزین کامل برای GitHub پیشنهاد شده است. Forgejo در واقع یک شاخه (fork) از نرم‌افزار Gitea است، اما با ویژگی‌های بیشتر توسعه یافته که آن را برای استفاده به عنوان پلتفرم کدنویسی مستقل تقویت می‌کند. این پلتفرم اکنون توسط Codeberg به کار گرفته شده است و شما می‌توانید نحوه کار آن را در مخزن خود Forgejo مشاهده کنید. به تازگی نسخه‌ی 10.0 از آن منتشر شده است که احتمالاً شامل به‌روزرسانی‌ها و ویژگی‌های جدیدی است. این مقاله تاکید دارد که Forgejo گزینه‌ای قدرتمند برای کسانی است که به دنبال جایگزینی برای GitHub هستند.

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


👑 @gopher_academy
💡 چرا همه اساتید موفق سیگنال و پکیج میفروشن ؟ 🥶

‼️ ادم موفق چیزی میفروشه به مردم ؟😂

💯 اقای ارسلان حسینی تو چنلش هر هفته یک سیگنال میده سری قبلی ریپل سیگنال داد ۳۵۰٪ سود داده و روند امروز مارکت هم تحلیل کرده بود و معامله جدید هم گذاشته 💸

برای ورود کلیک کنید:

💬
@arsalaneth ⬅️
💬
@arsalaneth ⬅️
🔴🔴🔴🔴🔴🔴
🔵 عنوان مقاله
asyncmachine-go: A Declarative Control Flow Library

🟢 خلاصه مقاله:
مقاله‌ی مورد بررسی رویکردهای برنامه‌نویسی شیء‌گرا و مدل بازیگر را از طریق ماشین حالت مبتنی بر ساعت برای ساخت جریان‌های کاری خودکار و دارای حالت بررسی می‌کند. این روش به توسعه‌دهندگان امکان می‌دهد تا با استفاده از ماشین‌های حالت که زمان‌بندی‌های مشخصی دارند، جریان‌های کاری پیچیده‌ای را طراحی و پیاده‌سازی کنند. با استفاده از مدل بازیگر، هر کامپوننت به‌عنوان یک بازیگر مستقل عمل می‌کند که می‌تواند پیام‌ها را دریافت کرده و بر اساس آن‌ها واکنش نشان دهد. این بازیگرها توانایی اجرای اعمال مختلف را دارند و با ارتباطات مشخص و قواعد تعریف‌شده با دیگر بازیگرها تعامل می‌کنند. این تکنیک به‌ویژه برای برنامه‌هایی که نیاز به مدیریت و واکنش‌های سریع دارند، مفید است، زیرا امکان پیکربندی پویای جریان‌های کاری و پاسخ‌گویی به تغییرات در زمان واقعی را فراهم می‌آورد. این سیستم تأکیدی بر خودکارسازی و کاهش نیاز به دخالت دستی دارد، که باعث افزایش کارایی و دقت در پردازش‌ها می‌شود.

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


👑 @gopher_academy
🔵Mutable data type in Golang

Slice
Array
Map
Channels

————————————-

🔵Immutable data type in Golang

Boolean, Int, Float
Pointers
String
Interfaces


👑 @gopher_academy
🍓2🙏1
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 نیز غیرقابل تغییر هستند.


#### مثال:

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
👏511
🔵 عنوان مقاله
  Go in the Smallest of Places

🟢 خلاصه مقاله:
مقاله‌ای که در کنفرانس GopherCon 2024 ارائه شده است به بررسی پتانسیل و جزئیات فنی استفاده از TinyGo برای ساخت سیستم‌های مبتنی بر زبان Go روی میکروکنترلرها می‌پردازد. TinyGo به عنوان یک پیاده‌سازی کوچک و بهینه از زبان برنامه‌نویسی Go شناخته شده است که برای دستگاه‌های دارای منابع محدود مانند میکروکنترلرها طراحی شده است. سخنرانی تمرکز اصلی‌اش بر روی چالش‌ها و راه‌حل‌هایی بوده است که TinyGo در رفع مشکلات مربوط به محدودیت‌های حافظه و قدرت پردازش ارائه می‌دهد. همچنین بر این نکته تاکید شده که چگونه TinyGo می‌تواند برای توسعه دهندگان Go امکان استفاده از کدهای موجود را به‌گونه‌ای فراهم آورد که به آسانی قابل انتقال به پلتفرم‌های سخت‌افزاری مختلف باشد. این سخنرانی نه تنها جنبه‌های فنی را پوشش داده، بلکه به نمونه‌های کاربردی نیز پرداخته تا نشان دهد چگونه TinyGo می‌تواند در پروژه‌های واقعی مورد استفاده قرار گیرد.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
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 𓆃
پنج پرامپت 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
4
😂😂😂😂😂

https://t.me/addlist/KpzXaiSpKENkMGM0
🤣21
🔵 عنوان مقاله
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
🔵 عنوان مقاله
Proposal: A Way to Reduce Error Handling Boilerplate with ?

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفت، پیشنهادی برای ساده‌سازی مدیریت خطا با استفاده از عملگر "?" ارائه می‌دهد. این عملگر جدید قادر است با کاهش کدهای اضافی، خطاها را به طور اختیاری مدیریت کند و در صورت وجود خطا به سرعت عملیات را متوقف سازد یا بلوک مدیریت خطا را اجرا نماید. استفاده از این عملگر می‌تواند به توسعه‌دهندگان این امکان را بدهد که بدون نیاز به کدنویسی مفصل برای هر شرایط خطا، به طور موثرتری کدهای پاک‌تر و خواناتری بنویسند. این رویکرد همچنین می‌تواند به بهبود خوانایی کد و سهولت نگهداری پروژه‌های برنامه‌نویسی کمک شایانی کند. در نهایت، عملگر "?" به عنوان یک راه‌حل کارآمد برای کاهش پیچیدگی‌های مرتبط با مدیریت خطا و افزایش تمرکز بر منطق اصلی برنامه‌ها مطرح می‌شود.

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


👑 @gopher_academy
👍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
Forwarded from 𓄂 Bardia 𓆃
شما از کدومش استفاده می کنید؟
Anonymous Poll
70%
chat gpt
43%
deepseek
19%
others
🔵 عنوان مقاله
Protect Against Bots, Fraud, and Abuse in Real Time

🟢 خلاصه مقاله:
مقاله‌ای که ارائه داده‌اید، درباره‌ی محصول WorkOS Radar صحبت کرده که با بهره‌گیری از سیستم پیشرفته‌ی تشخیص هویت دستگاه، امنیت برنامه‌های کاربردی را تقویت می‌کند. این سیستم قابلیت دارد تا از وقوع تقلب‌های ثبت‌نام جعلی، سوء استفاده از سطوح رایگان، حملات رباتیک و تلاش‌های ورود اجباری به سیستم جلوگیری کند. با استفاده از فناوری امنیتی مدرن و به‌روز، WorkOS Radar به توسعه‌دهندگان اپلیکیشن‌ها این امکان را می‌دهد که از اپلیکیشن خود در برابر تهدیدات و تلاش‌های مخرب به طور موثر محافظت کنند. این محصول برای مبارزه با تلاش‌های نفوذ و حفظ امنیت کاربران طراحی شده است، که در نتیجه ایمنی بیشتری را برای برنامه‌ها و سیستم‌های تحت پوشش آن فراهم می‌آورد.

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


👑 @gopher_academy