Gopher Academy
3.33K subscribers
915 photos
40 videos
279 files
1.96K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Fix Slow Postgres Queries with pganalyze Query Advisor

🟢 خلاصه مقاله:

در وبینار قرار داده شده در ۳۰ جولای شرکت کنید تا یاد بگیرید چگونه مشکلات متداول طرح‌های پرس‌وجو در Postgres را کشف کنید، توصیه‌های قابل اجرا برای بازنویسی دریافت کنید و تاثیر آن را در یک ابزار جامع پیگیری کنید. این وبینار برای توسعه‌دهندگان، مدیران پایگاه داده و متخصصان فناوری اطلاعات که با Postgres کار می‌کنند و به دنبال بهینه‌سازی پرس‌وجوهای پایگاه داده‌شان هستند، بسیار مفید خواهد بود.

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


👑 @gopher_academy
2🕊1
Forwarded from AI Labdon
یک پروژه شسته رُفته از پیاده سازی یک RAG پیشرفته با استفاده از llamaIndex و روی Google Cloud Vertex AI. که این موضوعات را هم پوشش میده:
- RAG design, indexing, retrieval, evaluation metrics

میتونید کامل هم روی Cloud یا لوکال اجرا کنید و تکنیکهای مختلف را تست کنید.
Github: https://github.com/GoogleCloudPlatform/generative-ai/tree/main/gemini/sample-apps/llamaindex-rag

<Mehdi Allahyari/>
2🔥1
Forwarded from Software Engineer Labdon
این Requirement Driven Vibe Coding چیه؟

یعنی قبلا ازینکه پروژه رو شروع کنیم٬‌ میشینیم قشنگ User Story و Requirementها رو می نویسیم و بر اساس اون جلو می ریم.

چندتا اسکرین‌شات که چجوری این Requirementهارو می نویسیم
4🔥1
📢 اگر تلگرام پرمیوم دارید، کانال ما رو Boost کنید ! 🚀

با Boost کردن کانال، به رشد و دیده شدن ما بیشتر کمک کنید💙

https://t.me/boost/gopher_academy
4
🔵 عنوان مقاله
oapi-codegen 2.5: Generate Go Boilerplate from OpenAPI 3 Specs

🟢 خلاصه مقاله:

نسخه جدید این ابزار و کتابخانه که به توسعه‌دهندگان کمک می‌کند تا مشخصات OpenAI را به کد Go تبدیل کنند، هم برای سرور و هم برای کلاینت مناسب است. این محصول با کاهش نیاز به نوشتن کدهای اضافی، فرآیند توسعه را ساده‌تر کرده و به توسعه‌دهندگان اجازه می‌دهد تا بر روی قابلیت‌های اصلی تمرکز بیشتری داشته باشند. در نسخه 2.5، تغییرات و امکانات جدیدی به منظور بهبود کارایی معرفی شده‌اند و همچنین اشاراتی به پشتیبانی آینده از OpenAPI 3.1 شده است که البته اکنون می‌توان با استفاده از برخی ترفندها به آن دست یافت.

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


👑 @gopher_academy
6
Forwarded from Software Engineer Labdon
اصطلاح requirement driven vibe coding چیست؟

https://t.me/Software_Labdon/599?single

مزیت استفاده از این روش چیست؟

https://t.me/Software_Labdon/601

مفهوم feature creep یا scope creep چیست؟

https://t.me/Software_Labdon/602

مفهوم bureaucratic در توسعه نرم افزار چیست؟

https://t.me/Software_Labdon/603


https://t.me/addlist/QtXiQlynEJwzODBk
2
🔵 عنوان مقاله
A Deep Dive Into Deeply Recursive Go

🟢 خلاصه مقاله:

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

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


👑 @gopher_academy
4
Gopher Academy
🔵 عنوان مقاله A Deep Dive Into Deeply Recursive Go 🟢 خلاصه مقاله: در زبان برنامه‌نویسی گو، عدم وجود بهینه‌سازی بازگشت دم (TCO) باعث افزایش خطر بروز اورفلو‌های مرگبار در استک می‌شود. مقاله‌ جوهو به بررسی چندین سناریوی واقعی رجوع می‌کند که نتیجه آن‌ها…
در ادامه، یک خلاصه‌ی مفید و مختصر از مقاله‌ی «A deep dive into deeply recursive Go» نوشته Juho Forsén در بلاگ Mattermost:

---

🧠 مشکل اصلی: بازگشت پشته (stack exhaustion)

* Go به‌دلیل نداشتن بهینه‌سازی tail call (TCO)**، در صورت استفاده از توابع بازگشتی عمیق (deep recursion)، پشته گوروتین‌ها تا رسیدن به حد مجاز حافظه رشد می‌کند و در نهایت با **فاجعه‌ی crash (stack overflow) مواجه می‌شویم ([Mattermost.com][1]).
* در بسیاری از موارد، بازگشت پشته منجر به خطاهای امنیتی DoS شده که در نسخه‌های Go قبلی با CVE ثبت شده‌اند—از جمله در XML, protobuf و parser ([Mattermost.com][1]).

---

✍️ مثال واقعی: فراخوانی داخلی XML

* در Go نسخه‌های قبل از ۱.۱۸، تابع Decoder.Skip() در هنگام رد کردن عناصر XML به‌صورت بازگشتی عمل می‌کرد.
* این مشکل باعث crash شدن برنامه هنگام فرایند unmarshal برای داده‌های بزرگ شد.
* اشتباه مهم: نداشتن پیمایش غیر بازگشتی با ساختار صف عمق (depth via loop) تا رفع مشکل در نسخه‌های بعد ([Mattermost.com][1]).

---

📦 مثال واقعی: protobuf

* نسخه‌های قبل از ۱.۲۷.۱ در `google.golang.org/protobuf`، توابع مصرف دسته (Group) را به‌صورت بازگشتی تعریف می‌کردند.
* کافی بود جریان داده‌ای بزرگ یا هدفمند ارسال شود تا پشته تخلیه و برنامه crash شود.
* راه‌حل: معرفی حد عمق recursion (مقدار ۱۰۰ مانند جاوا/C++) در نسخه ۱.۲۸.۰ ([Mattermost.com][1]).

---

🛡 روش‌های جلوگیری

۱. بازتعریف بازگشت بازگشتی به فرم تکراری (iterative)**، یا استفاده از ساختار داده‌هایی مثل اسلایس برای شبیه‌سازی پشته روی heap.
۲. **محدودسازی عمق recursion
از طریق پارامتر یا فیلد داخلی با بررسی حداکثر عمق.
۳. طراحی معماری مقاوم در برابر crash (مثل سیستم‌های توزیع‌شده با جایگزینی فرآیندها یا کانتینرها در Kubernetes) ([Mattermost.com][1]).

---

❗️ چرا این موضوع مهم است؟

* در Go، خطای پشته قابل بازیابی (recoverable panic) وجود ندارد**؛ stack exhaustion خطایی از نوع fatal است و باعث crash فوری بدون اجرای `defer` یا امکان recovery می‌شود ([Mattermost.com][1]).
* این مسئله می‌تواند باعث **از دست رفتن داده‌ها، اختلال در سیستم و حتی بار امنیتی شود
.
42👍1
Forwarded from Bardia & Erfan
تحقیقات جنجالی نشون داده؛ پیک خلاقیت حوالی ۴۰سالگیه و ازونجا به بعد شکوفایی واقعی شروع میشه.

این تحقیق روی افرادی که نوبل گرفتن و مخترعان بزرگ انجام شده.
پس میشه گفت، یونگ خیلی هم الکی نمیگفت؛ زندگی واقعی از ۴۰سالگی شروع میشه، باقی در حال جستجوییم‌!😅
🍾521👍1
Forwarded from Software Engineer Labdon
🔵 عنوان مقاله
The FIPS 140-3 Go Cryptographic Module (6 minute read)

🟢 خلاصه مقاله:
گو، زبان برنامه‌نویسی، از نسخه ۱.۲۴ پشتیبانی بومی از استاندارد FIPS ۱۴۰-۳ را در کتابخانه استاندارد و دستور `go` خود معرفی کرده است. توسعه‌دهندگان می‌توانند با تنظیم گزینه GODEBUG `fips140=on` (از طریق متغیر محیطی یا در go.mod)، حالت FIPS ۱۴۰-۳ را فعال سازند و با استفاده از دستور `GOFIPS140=v1.0.0 go build`، نسبت به ساختن برنامه‌های خود با استفاده از ماژول‌های رمزنگاری تأییدشده اقدام کنند. این تلفیق بومی، نیاز به راه‌حل‌های غیر مورد پشتیبانی طرف سوم را از بین برده و تجربه‌ای بی‌درز برای توسعه‌دهندگان با پشتیبانی از کراس‌کامپایل و بدون افت کارایی ناشی از رابط‌های تابع خارجی فراهم می‌کند.

🟣لینک مقاله:
https://go.dev/blog/fips140?utm_source=tldrinfosec


👑 @software_Labdon
31
Software Engineer Labdon
🔵 عنوان مقاله The FIPS 140-3 Go Cryptographic Module (6 minute read) 🟢 خلاصه مقاله: گو، زبان برنامه‌نویسی، از نسخه ۱.۲۴ پشتیبانی بومی از استاندارد FIPS ۱۴۰-۳ را در کتابخانه استاندارد و دستور `go` خود معرفی کرده است. توسعه‌دهندگان می‌توانند با تنظیم…
🔐ا FIPS 140 چیست و چرا مهمه؟



* استاندارد امنیتی FIPS 140‑3 برای ماژول‌های رمزنگاری (مثل TLS, کلیدها، RNG) ضروریه، مخصوصاً در محیط‌های قانونی و سازمان‌های دولتی ([Go][1], [Medium][2]).

* تا پیش از این، توسعه‌دهنده‌ها مجبور بودن از راه‌حل‌های آزمایشی مثل BoringCrypto یا OpenSSL استفاده کنن؛ که مشکلاتی مثل پیچیدگی اجرا، نیاز به cgo و دشواری در تجربه توسعه داشت ([Go][1]).

راه‌حل جدید: ماژول رمزنگاری FIPS داخلی در Go 1.24

* شروع از Go 1.24: ماژول بومی FIPS 140‑3 (نسخه v1.0.0) بر پایه بسته‌های crypto/internal/fips140/... استاندارد ادغام شده

* دریافت گواهی CAVP شماره A6650 و حضور در لیست "Modules In Process" برای CMVP (منتظر بررسی NIST)
* بدون نیاز به cgo؛ کامپایل کاملاً بومی (pure Go)، بدون overhead یا باگ‌های حافظه‌ای ناشی از FFI

⚙️ فعال‌سازی و نحوه کار

* برای فعال‌سازی: تنظیم GODEBUG=fips140=on یا =only (برای حالت محدود) ([Go][3]).

* حالت only باعث خطا یا panic روی الگوریتم‌های غیرFIPS می‌شود.
* برای ساخت باینری با ماژول FIPS ثابت: استفاده از GOFIPS140=v1.0.0 go build یا =inprocess برای نسخه‌های آینده‌ای که تایید می‌شن ([Go][3], [Go][1]).
* بررسی نسخه با دستور go version -m امکان‌پذیره.

🛡 امنیت بدون مصالحه

* ماژول با الگوریتم‌هایی مثل Hedged ECDSA (امن‌تر از نمونه معمولی)، و ترکیب RNG امنیتی (DRBG + داده از کرنل) مطابقت داره
* تست‌های جامع Trail of Bits انجام شده و تنها نقص غیر بحرانی داشته

🌐 سازگاری و پشتیبانی گسترده پلتفرم

* آزمایش شده روی ۲۳ محیط مختلف: لینوکس (توزیع‌های مختلف)، macOS، Windows، FreeBSD و بوردهایی مثل ARM, MIPS, Power و غیره ([Go][1], [Go][3]).
* تمام الگوریتم‌های مجاز FIPS (امضای دیجیتال، TLS، پست‌کوانتوم، KDFها و غیره) پوشش داده شده ([Go][1], [Go][3]).

---

* توسعه‌دهنده‌ها از کانفیگ خودکار استقبال کردند، مخصوصاً که فقط با بروزرسانی محیط Go فعال می‌شه.
* هنوز منتظر نمره کامل تایید CMVP هستند؛ برخی ترجیح می‌دن فعلاً از نسخه‌های جایگزین مثل OpenSSL فری‌ورک شرکت‌ها استفاده کنن
4
Forwarded from AI Labdon
حتی خالقش هم حاضر نیست درمانش رو بسپاره به ChatGPT!

سم آلتمن، مدیرعامل OpenAI، تو یه گفت‌وگوی جنجالی گفت :

«گاهی ChatGPT تشخیص‌های بهتری از پزشک می‌ده، ولی من هیچ‌وقت بدون پزشک انسانی، سلامتی‌مو بهش نمی‌سپارم!»

آلتمن همچنین تأکید کرد :

آینده بازار کار با هوش مصنوعی هنوز مبهمه ، AI قراره مکمل انسان باشه، نه جایگزین کامل ؛ بات‌های پشتیبانی مبتنی بر هوش مصنوعی؟ «فوق‌العاده‌ان» و می‌تونن کاملاً جای اپراتورها رو بگیرن

+ یه هشدار جدی هم داد : جوان‌ها دارن زیادی به ChatGPT وابسته می‌شن. این اعتماد افراطی، می‌تونه قدرت تفکر انتقادی رو نابود کنه.»
👍5
🔵 عنوان مقاله
Gopher2600: An Atari VCS Emulator

🟢 خلاصه مقاله:

این مقاله به بررسی یک شبیه‌ساز بسیار کامل می‌پردازد که از کنترل‌های بازی، ضبط دستاوردهای بازی، و افکت‌های نمایشگر CRT پشتیبانی می‌کند. علاوه بر این، به روزرسانی‌های مهمی دریافت می‌کند که نمونه آن نسخه ۰.۵۰.۰ منتشر شده دیروز است. این مقاله چندین بار در طول سال‌ها به این شبیه‌ساز اشاره کرده و همچنان به دلیل پشتیبانی و بروزرسانی‌های مداومش مورد توجه است.

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


👑 @gopher_academy
🍾2
اینجا یه مجموع helper از کامند های کار کرد با فایل go.mod رو براتون گذاشتم 👇👇👇

https://t.me/gopher_academy/3672

https://t.me/gopher_academy/3673
5
Forwarded from AI Labdon
جزئیات تیم فوق‌هوش مصنوعی متا (فیسبوک) فاش شده !
تیمی که متا برای توسعه هوش مصنوعی فوق‌پیشرفته خود تشکیل داده، شامل ۴۴ نفر است که:
۵۰٪ از چین هستند،
۷۵٪ دارای مدرک دکتری (PhD) هستند و ۷۰٪ محقق‌اند،
۴۰٪ از OpenAI، ۲۰٪ از DeepMind و ۱۵٪ از Scale جذب شده‌اند،
۲۰٪ در سطح L8+ (سطح بالای شغلی) فعالیت می‌کنند،
۷۵٪ مهاجران نسل اول هستند.
هر یک از این افراد احتمالاً سالانه بین ۱۰ تا ۱۰۰ میلیون دلار حقوق دریافت می‌کنند!
هرچی top اینجاس
فقط سابقه هاشون رو نگاه کنید
یکشون 37 سال سابقه کار داره YoE
به احتمال زیاد از 14 سالگی کد میزنه

https://t.me/addlist/QtXiQlynEJwzODBk
6
🔵 عنوان مقاله
Logging in Go with Slog: A Practitioner's Guide

🟢 خلاصه مقاله:

بسته `log/slog` در نسخه 1.21 زبان برنامه‌نویسی Go به عنوان ابزار اصلی برای ایجاد گزارش‌های ساختاریافته معرفی شده است. این بسته به دلیل داشتن ویژگی‌های متعدد و پیشرفته، به سرعت به انتخاب اول توسعه‌دهندگان تبدیل شده است. در یک آموزش جامع، ویژگی‌های مختلف این بسته نظیر گزارش‌دهی حساس به متن، مدیریت سطوح گزارش‌دهی و شخصی‌سازی فرمت‌های گزارش تشریح شده است. این آموزش همچنین با ارائه مثال‌های عملی، نحوه کاربردی کردن این ویژگی‌ها در پروژه‌های واقعی را به خوانندگان نشان می‌دهد و برای توسعه‌دهندگان Go که می‌خواهند از گزارش‌دهی ساختاریافته در پروژه‌های خود بهره‌ ببرند، منبع مفیدی است.

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


👑 @gopher_academy
2👍1
Forwarded from AI Labdon
زلزله در اینتل؛ اخراج ۳۰٪ از کارمندان تا پایان ۲۰۲۵!

▪️اینتل داره خودش رو سبک می‌کنه!
توی یه نشست خبری غافلگیرکننده، غول دنیای تراشه اعلام کرد تا پایان امسال، تعداد کارمنداش رو از ۱۰۸هزار نفر به ۷۵هزار نفر می‌رسونه! یعنی اخراج رسمی حدود ۳۳هزار نفر!

▪️اما فقط این نیست...
اینتل اعلام کرده دیگه خبری از پروژه‌های جدید توی آلمان و لهستان نیست. تست و مونتاژ هم قراره از کاستاریکا جمع بشه و با مراکز ویتنام و مالزی یکی بشه.

https://t.me/addlist/QtXiQlynEJwzODBk
9🍾1