Gopher Academy
3.33K subscribers
917 photos
40 videos
279 files
1.97K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram

👑 @gopher_academy
🏆2🍓1
🔵 عنوان مقاله
Speeding Up Calculations 450% with Go Assembly

🟢 خلاصه مقاله:
در این مقاله، مؤلف به بررسی اسمبلر زبان برنامه‌نویسی Go پرداخته است، که الهام بسیاری از اسمبلر Plan 9 گرفته است. Plan 9 خود اثری از راب پایک و کن تامپسون است که در توسعه Go نیز دست داشته‌اند. محور اصلی بحث، استفاده از اسمبلر Go برای پیاده‌سازی یک کتابخانه SIMD (اجرای چند دستور به صورت همزمان) بسیار سریع برای Go است. علاوه بر این، در مقاله به بحثی در Hacker News اشاره شده است که در آن راس کاکس (Russ Cox)، یکی از توسعه‌دهندگان اصلی Go، مفاهیم و زمینه‌های عمیق‌تری را برای این موضوع فراهم می‌کند. این بحث‌ها و توضیحات به خواننده کمک می‌کند تا درک بهتری از پتانسیل و کاربرد اسمبلر در Go بدست آورد و بینش‌هایی در مورد چگونگی بهبود عملکرد برنامه‌ها با استفاده از SIMD بگیرد.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Go! Unlock Your Tech Potential with Ardan Labs Consulting

🟢 خلاصه مقاله:
شرکت Ardan Labs در زمینه‌های Go، Rust، Docker و K8s تخصص دارد و به شرکت‌ها کمک می‌کند تا سرعت توسعه نرم‌افزار خود را افزایش دهند، معماری سیستم‌های خود را بهینه‌سازی کنند و بدهی فناوری خود را مدیریت کنند. این شرکت با توجه به مشکلات و چالش‌های پیچیده فناوری و کمبودهای مهارتی که شرکت‌ها با آن روبرو هستند، خدمات خود را ارائه داده تا به تیم‌های آنها قدرت بیشتری ببخشد و به پروژه‌های توسعه نرم‌افزاری سرعت ببخشند.

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


👑 @gopher_academy
در Go، Function Signature و Function Type به دو مفهوم مرتبط اما متفاوت اشاره دارند:

1. Function Signature:
مشخصات تابع شامل نام تابع، پارامترها (نوع و ترتیب)، و نوع مقدار بازگشتی است. این بخش توصیف می‌کند که تابع چه ورودی‌ها و خروجی‌هایی دارد. برای مثال:

func Add(a int, b int) int



2. Function Type:
نوع تابع تنها شامل پارامترها و مقادیر بازگشتی است، بدون نام تابع. می‌توان نوع تابع را به یک متغیر نسبت داد.

type MathOp func(a int, b int) int
var add MathOp = func(a, b int) int { return a + b }



تفاوت اصلی در این است که Signature تابع برای تعریف تابع استفاده می‌شود، اما Type تابع برای ایجاد انواع عمومی‌تر برای توابع با مشخصات مشابه به کار می‌رود.


👑 @gopher_academy
🍾3💘1
🔵 عنوان مقاله
superfile: A Terminal-Based File Manager App

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
GoMLX: ML in Go without Python

🟢 خلاصه مقاله:
مقاله‌ای که به بررسی می‌پردازد، امکان استفاده از زبان برنامه‌نویسی Go به عنوان یک زبان چسب به منظور فراخوانی سرویس‌های یادگیری ماشینی از شخص ثالث و پایتون را مورد بحث قرار داده است. نویسنده، Eli، به بررسی این موضوع پرداخته که آیا می‌توان کارهای سنگین را مستقیماً از طریق Go انجام داد. GoMLX یکی از گزینه‌های موجود برای این منظور است. GoMLX به کاربران امکان می‌دهد تا بدون نیاز به استفاده از زبان‌های واسط مانند پایتون، توابع یادگیری ماشین را مستقیماً در Go اجرا کنند. این رویکرد می‌تواند به افزایش کارایی و سادگی در توسعه نرم‌افزار کمک کند، زیرا تمامی کدها در یک زبان واحد نوشته و مدیریت می‌شوند.

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


👑 @gopher_academy
🙏3
🔵 عنوان مقاله
Inside Bluesky’s Engineering Culture

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

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


👑 @gopher_academy
2
🔵 عنوان مقاله
Are Go's Generics Simple or Incomplete? A Design Study

🟢 خلاصه مقاله:
در مقاله‌ای درباره استفاده از قابلیت Generics در زبان برنامه‌نویسی Go بحث شده است. برخی از افراد معتقدند که این ویژگی تنها پیچیدگی زبان را افزوده است. نویسنده مقاله، Nick، به توضیح درباره مشکل پیچیده‌ای می‌پردازد که در تلاش برای حل آن با استفاده از Generics بوده است. در نهایت او به راه‌حلی دست پیدا می‌کند که کار می‌کند، اما احساس می‌کند راه حل دشوارتر از آن بوده که لازم است. برخی کاربران در Reddit نظر داده‌اند که رویکرد او بیشتر بر پایه شی‌گرایی و رابط‌ها (OO / interface-based) است تا آنچه نیاز بوده است. این اختلاف نظرها نشان‌دهنده تنوع دیدگاه‌ها در جامعه برنامه‌نویسان است، و چالش‌هایی که در کاربرد Generics در پروژه‌های واقعی وجود دارد.

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


👑 @gopher_academy
🔵 عنوان مقاله
︎ recur: Retry a Command with Exponential Backoff and Jitter

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

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


👑 @gopher_academy
🙏1
Forwarded from Software Engineer Labdon
در علوم کامپیوتر بهش میگن Quine؛ برنامه‌ای که بدون گرفتن هرگونه ورودی یک کپی از خودشو به عنوان خروجی چاپ میکنه. علت این نامگذاری هم به افتخار ریاضیدان و منطق‌دان آمریکایی Willard Van Orman Quine هست.
این کلمه رو با زبان برنامه‌نویسی مورد علاقه‌تون سرچ کنید مثال‌ زیاد پیدا میکنید.

Mamadou On GameDev/>

👑 @software_Labdon
👍2
🔵 عنوان مقاله
Excelize 2.9: A Pure Go Way to Work with Excel Spreadsheets

🟢 خلاصه مقاله:
مقاله به بررسی کتابخانه‌ای می‌پردازد که توانایی خواندن و نوشتن فایل‌های XLAM، XLSM، XLSX، XLTM و XLTX را دارد. این کتابخانه که سابقه طولانی در بهبود و ارتقاء دارد، در نسخه 2.9 خود تمرکز بیشتری بر جزئیات داشته و توابع جدید متعددی را در زمینه‌های مختلف معرفی کرده است. به خصوص در زمینه کار با نمودارها و سلول‌های مبتنی بر تصاویر توسعه‌هایی داشته است. این پیشرفت‌ها از طریق مخزن GitHub قابل دسترسی است، که این امکان را به توسعه‌دهندگان می‌دهد تا از آخرین تغییرات و افزودنی‌های کتابخانه بهره ببرند. این توسعات نشان دهنده ادامه پیشرفت و تقویت این کتابخانه برای کار با فایل‌های اکسل در محیط‌های برنامه‌نویسی است.

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


👑 @gopher_academy
🔵 عنوان مقاله
🗓️ Enterprise Ready Conference

🟢 خلاصه مقاله:
این رویداد یک‌روزه در شهر سان فرانسیسکو برای رهبران تولید و مهندسی شرکت‌هایی که در زمینه توسعه نرم‌افزارهای SaaS مشغول به کار هستند، برگزار می‌شود. مخاطبان اصلی این کنفرانس، مدیران و سرپرستانی هستند که در حوزه‌های مرتبط با نرم‌افزار به عنوان خدمت (SaaS) فعال می‌باشند و به دنبال ایده‌های نوآورانه و راهکارهای عملی برای بهبود عملیات و افزایش کارایی تیم‌های خود هستند. در این رویداد، سخنرانانی از شرکت‌های برجسته‌ای مانند OpenAI، Vanta، Canva، و Dropbox حضور دارند که تجربیات و دیدگاه‌های خود را در مورد چالش‌ها و موقعیت‌های کلیدی صنعت SaaS به اشتراک می‌گذارند. این فرصتی استثنایی برای شبکه‌سازی و کسب اطلاعات ارزشمند درباره‌ی آخرین تحولات و نوآوری‌های این حوزه می‌باشد.

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


👑 @gopher_academy
Forwarded from Software Engineer Labdon
این قضیه Quine رو یادتونه؟
این QR Code میتونه باینری خودش رو (یه QR code Generator) تولید کنه که روی لینوکس ۶۴ بیتی اجرا میشه!
سایزش فقط 2953 بایت هست!
سورس:
https://github.com/AlokSwaminathan/QRception

DevTwitter | <Mamadou On GameDev/>


👑 @software_labdon
👍1
Forwarded from DevOps Labdon
🔵 عنوان مقاله
Kubernetes at the edge using LINBIT SDS for persistent storage (9 minute read)

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

🟣لینک مقاله:
https://www.cncf.io/blog/2024/11/28/kubernetes-at-the-edge-using-linbit-sds-for-persistent-storage/?utm_source=tldrdevops


👑 @DevOps_Labdon
👍2
🔵 عنوان مقاله
Understanding Command Injection Vulnerabilities in Go

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

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


👑 @gopher_academy
🔵 عنوان مقاله
Act: Run Your GitHub Actions Locally

🟢 خلاصه مقاله:
مقاله‌ای که بررسی شده درباره ابزاری به نام "Run act" است که برای اجرای محلی فعالیت‌های GitHub Actions به کار می‌رود. این ابزار با مشاهده فعالیت‌های موجود در یک مخزن GitHub شروع به کار می‌کند و از Docker برای دریافت تصاویر مورد نیاز و اجرای وظایف استفاده می‌کند. "Run act" به کاربران امکان می‌دهد تا قبل از ارسال کدها به سرور مرکزی GitHub، به صورت محلی و بدون نیاز به آپلود مکرر، فرآیندها و وظایف مربوط به GitHub Actions را آزمایش و اجرا کنند. استفاده از این ابزار می‌تواند در وقت و منابع صرفه‌جویی کند و به توسعه‌دهندگان امکان می‌دهد تا خطاها را به سرعت شناسایی و رفع نمایند. این فرآیند همچنین به بهینه‌سازی چرخه توسعه نرم‌افزار کمک می‌کند.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
📊  What's Coming in Go 1.24

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، به بررسی تغییرات زبان برنامه‌نویسی Go در نسخه 1.24 که انتظار می‌رود در ژانویه یا فوریه 2025 منتشر شود، می‌پردازد. این مقاله شامل ارائه‌ای با 52 اسلاید است که جزئیات تغییرات در زبان، ابزارها و کتابخانه استاندارد Go را پوشش می‌دهد. تغییرات مهمی که عنوان شده‌اند شامل ایجاد نوع عمومی (generic type aliases)، اشاره‌گرهای ضعیف (weak pointers)، و یک بسته آزمایشی جدید برای کدنویسی همزمان (concurrent code) است. این بسته آزمایشی جدید، مخصوصاً برای تست کد‌هایی که به صورت همزمان اجرا می‌شوند، طراحی شده و قابلیت‌های جدیدی به برنامه‌نویسان Go ارائه می‌دهد تا با استفاده از آن‌ها بتوانند کارایی و امنیت برنامه‌های خود را بهبود ببخشند.

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
WorkOS: Sell to Enterprises with a Few Lines of Code

🟢 خلاصه مقاله:
این مقاله به بررسی یک پلتفرم هویت‌سنجی مدرن برای نرم‌افزارهای B2B SaaS می‌پردازد که امکان پیاده‌سازی آسان و سریع Single Sign-On (SSO)، System for Cross-domain Identity Management (SCIM)، و Fine-Grained Access Control (FGA) را از طریق API‌های انعطاف‌پذیر فراهم می‌آورد. به جای صرف ماه‌ها زمان برای ادغام و تنظیم این ویژگی‌ها، پلتفرم ارائه شده این قابلیت‌ها را در چند دقیقه فراهم می‌کند، که نتیجتاً به بهبود بهره‌وری و کاهش هزینه‌های توسعه کمک می‌کند. این ابزار به شرکت‌های SaaS اجازه می‌دهد تا مدیریت احراز هویت و دسترسی‌ها را به شیوه‌ای موثر و امن تنظیم کنند، که در نهایت منجر به ارائه تجربه‌های کاربری بهتر و افزایش امنیت داده‌ها می‌شود.

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


👑 @gopher_academy
👍31
🔵 عنوان مقاله
Porcupine 1.0: A Fast Linearizability Checker

🟢 خلاصه مقاله:
مقاله‌ درباره استفاده از ابزاری به نام Porcupine برای بررسی خواص هم‌خط‌سازی در سیستم‌های هم‌زمان است که به زبان برنامه‌نویسی Go نوشته شده‌اند. در این روش، ابتدا یک مشخصه برای سیستم نوشته می‌شود. سپس، تاریخچه‌ای از عملیات‌ها که به صورت همزمان اجرا شده‌اند، ارائه می‌گردد. Porcupine آن تاریخچه را به کمک مشخصه تحلیل می‌کند تا تشخیص دهد آیا تاریخچه می‌تواند به شکل خطی بازآفرینی شود یا خیر. این فرایند برای تضمین اینکه سیستم به درستی در شرایط همزمانی کار می‌کند بسیار مهم است. ابزار Porcupine با استفاده از مفاهیم پیچیده‌ای چون خطی‌سازی به توسعه‌دهندگان کمک می‌کند تا مطمئن شوند عملیات‌های موازی در نهایت نتایج منطقی و مطابق با مشخصات انتظاری تولید می‌کنند. این مقاله همچنین به وبلاگی از سال ۲۰۱۷ استناد می‌کند که توضیحات بیشتری درباره Porcupine ارائه داده است.

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


👑 @gopher_academy
Forwarded from Bardia & Erfan
🟢 اگر کارفرما هستید و به دنبال نیروهای متخصص در حوزه‌های زیر می‌گردید، آگهی شغلی خود را برای ما ارسال کنید. و ما توی چنل های مرتبط به هر حوزه ای قرار میدیم

تخصص های همچون:
🔥 linux
🔥 devops
🔥 golang
🔥 blockchain
🔥 database


🟢 اگر کارجو هستید، رزومه خود را مطابق فرمت زیر برای ما ارسال کنید:

🤝موارد زیر را به همراه فایل pdf رزومه بفرستید:

🎯نام و نام خانوادگی (اجباری)
🎯مدت سابقه کار (اجباری)
🎯لینکدین (اختیاری)
🎯گیتهاب (اختیاری)
🎯محل سکونت  (اجباری)
🎯امکان نقل مکان برای کار دارم یا خیر
(اجباری)


🕊Admin:
@mrbardia72
👍1👏1🐳1