Gopher Academy
3.33K subscribers
916 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
🔵 عنوان مقاله
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
🔵 عنوان مقاله
Why Go Slices Still Surprise Me

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

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


👑 @gopher_academy
👍1
Forwarded from Bardia & Erfan
🟢 اگر مقاله، سورس کد، یا محتوای مفیدی در حوزه‌های زیر دارید، خوشحال می‌شویم که برای ما ارسال کنید:


🔴 Linux
🔴 DevOps
🔴 Blockchain
🔴 Database
🔴 software

💡 محتوای شما می‌تواند در کانال‌های مرتبط (با عنوان ذکر منبع خودتون)منتشر شود تا افراد بیشتری از آن بهره‌مند شوند.

🕊 ادمین:
@mrbardia72
👍2
🔵 عنوان مقاله
Weak Pointers in Go: Why They Matter Now

🟢 خلاصه مقاله:
این مقاله به بررسی ویژگی جدیدی در زبان برنامه‌نویسی Go می‌پردازد که انتظار می‌رود در نسخه ۱.۲۴ از طریق بسته‌ی weak به طور کامل اضافه شود. ویژگی مورد بحث، اشاره‌گرهای ضعیف (weak pointers) است که یک ابزار پایین‌سطح برای ساخت ساختارهای حافظه‌ای کارآمد است. مؤلف، Phuong، مبانی عملکرد این اشاره‌گرها را شرح می‌دهد. اشاره‌گرهای ضعیف امکان پذیر می‌سازند تا توسعه‌دهندگان بتوانند سازه‌هایی را بسازند که از نظر استفاده از حافظه بهینه‌تر هستند. این اشاره‌گرها به نرم‌افزار اجازه می‌دهند که به یک شیء ارجاع دهد بدون اینکه جلوی جمع‌آوری زباله‌ی آن شیء توسط مدیریت حافظه را بگیرد. این ویژگی به ویژه در مواردی که کش‌ها و سایر ساختارهای داده‌ای که نیاز به حذف خودکار اشیاء را دارند، مفید است. استفاده از اشاره‌گرهای ضعیف می‌تواند به بهبود عملکرد کلی برنامه‌ها کمک کرده و حافظه‌ی کمتری را اشغال کند.

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


👑 @gopher_academy
1
🔵 عنوان مقاله
The Draft Go 1.24 Release Notes

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

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


👑 @gopher_academy
👍3
🔵 عنوان مقاله
Rill 0.6: A Composable Concurrency Toolkit for Go

🟢 خلاصه مقاله:
مقاله مورد بحث به بررسی مجموعه‌ای از توابع کاربردی در زمینه‌های جریانی سازی (streaming)، پردازش موازی، و ساخت خط لوله (pipeline) می‌پردازد. هدف اصلی این توابع، سهولت در ساخت برنامه‌های همزمان (concurrent programs) با استفاده از قطعات ساده و قابل استفاده مجدد است. در این مقاله، نویسنده تلاش کرده است تا با ارائه روش‌ها و ابزارهایی مناسب، توسعه‌دهندگان را در فرآیند ساخت برنامه‌هایی که می‌توانند بی‌درنگ (کارها را همزمان) انجام دهند، یاری رساند. این ابزارها به گونه‌ای طراحی شده‌اند که افزایش بهره‌وری در پردازش‌ها و تسریع در پیاده‌سازی سیستم‌های مبتنی بر جریانی سازی و خط لوله را به ارمغان می‌آورند، که این خود می‌تواند به بهبود عملکرد کلی برنامه‌ها منجر شود.

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
🪨 Pebble: RocksDB/LevelDB Inspired Key-Value Database in Go

🟢 خلاصه مقاله:
مقاله‌ای که بررسی شده، به بررسی یک سیستم ذخیره‌سازی کلید-مقدار متمرکز بر عملکرد پرداخته است که از فرمت فایل RockDB استفاده می‌کند اما ویژگی‌های اضافی برخی از نیازهای CockroachDB را نیز در بر می‌گیرد. این سیستم در CockroachDB به کار رفته و به طور گسترده‌ای مورد استفاده قرار می‌گیرد و به عنوان یک سیستم پایدار و آماده به کار در محیط‌های تولید شناخته شده است. این مطالعه تأکید دارد که اضافات جدید به منظور بهبود تطابق با الزامات خاص CockroachDB انجام گرفته است، بدین ترتیب افزوده‌های فنی ارائه شده علاوه بر حفظ کارایی بالا، به ارتقاء قابلیت اطمینان و سهولت در استفاده از سیستم در سطوح وسیع کمک کرده‌اند.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
We Put the Go in Google Gemini

🟢 خلاصه مقاله:
مقاله‌ای که در اختیار داریم، به توضیحاتی پیرامون Google Gemini 1.5 Flash 8B for Go می‌پردازد، یک ابزار قدرتمند که قابلیت پردازش بیش از 1 میلیون توکن در یک پنجره‌ی متنی را دارد. این سیستم قادر است بیش از 30,000 خط کد را طی چند ثانیه از طریق فیلم‌های آموزشی مستقیم یا فایل‌های لاگ پردازش کند و هزینه آن نسبت به روش‌های مشابه بسیار کمتر است. ابزار Gemini1.5 از API های Google برای ساخت و به کارگیری در زبان برنامه‌نویسی "Go" استفاده می‌کند. این امکانات باعث می‌شود تا توسعه‌دهندگان بتوانند برنامه‌های کاربردی را به صورت سریع و با کیفیت بالا بسازند. برای استفاده از این ابزار، باید از طریق Google API Quickstart در Go اقدام کنید، که فرآیندی ساده و مستقیم برای اجرای گسترده و کاربردی این ابزار فراهم می‌کند.

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


👑 @gopher_academy
👍1💅1
🔵 عنوان مقاله
🔊 go-taglib: Read/Write Audio Metadata Tags

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، به توضیح فرآیند خواندن و نوشتن برچسب‌های متادیتا برای فایل‌های صوتی مانند MP3، FLAC و OGG می‌پردازد. این فرایند با استفاده از Taglib که یک کتابخانه C++ است، انجام می‌شود و به صورت یک نسخه WASM در این سیستم گنجانده شده است تا از پایداری و حمل‌پذیری بالاتری برخوردار باشد. مهمترین ویژگی این سیستم این است که به هیچ وابستگی‌های زمان اجرای خارجی نیاز ندارد. همچنین، این کتابخانه از برچسب‌های با ارزش‌های متعدد پشتیبانی می‌کند. مقاله بر لزوم استفاده از این فرایندها برای بهینه‌سازی مدیریت فایل‌های صوتی و دسترسی آسان‌تر به اطلاعات مرتبط با آن‌ها تأکید می‌کند. Taglib تحت مجوز LGPL منتشر شده است که به معنای امکان استفاده، تغییر و پخش مجدد آن در پروژه‌های نرم‌افزاری است.

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Diving into eBPF: Building a Process Tracer from Scratch

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

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


👑 @gopher_academy
Forwarded from Database Labdon
🔵 عنوان مقاله
Full-Stack Observability from Honeybadger

🟢 خلاصه مقاله:
پلتفرم جدید خطازنی Honeybadger که شباهت زیادی به سرویس‌های Splunk، DataDog یا CloudWatch Logs دارد، با این تفاوت که فقط ویژگی‌های مثبت این سرویس‌ها را به همراه یک قیمت معقول ارائه می‌دهد. این سیستم، علاوه بر کارایی بالا، به راحتی با سرویس‌هایی نظیر Crunchy Bridge، Journald و AWS یکپارچه‌سازی می‌شود. از مزایای اصلی این پلتفرم می‌توان به قیمت مناسب، راحتی در استفاده و امکان یکپارچه‌سازی آسان با دیگر سرویس‌های مدیریت داده و زیرساخت‌های فناوری اطلاعات اشاره کرد. این ویژگی‌ها Honeybadger را به یک انتخاب جذاب برای مدیریت لاگ‌ها در مقیاس وسیع یا پروژه‌های کوچکتر تبدیل می‌کند.

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


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

🟢 خلاصه مقاله:
مقاله‌ی مذکور به بررسی یک پلتفرم هویت نوین برای نرم‌افزارهای سرویس‌دهی به کسب‌وکارها (B2B SaaS) می‌پردازد. این پلتفرم، با ارائه API‌ های انعطاف‌پذیر و آسان برای استفاده، امکان ادغام قابلیت‌های ورود تک‌گانه (SSO)، مدیریت هویت و دسترسی مبتنی بر ابر (SCIM) و دسترسی مبتنی بر سیاست‌های نرم‌افزاری (FGA) را در دقایق به جای ماه‌ها فراهم می‌آورد. استفاده از این پلتفرم به کسب‌وکارها اجازه می‌دهد تا تجربه کاربری بهتری را برای مشتریان خود به ارمغان بیاورند و در عین حال امنیت داده‌های کاربران را تضمین کنند. همچنین، سهولت در ادغام با سیستم‌های موجود، سرعت بالای راه‌اندازی و کاهش هزینه‌های نگهداری از ویژگی‌های کلیدی این پلتفرم محسوب می‌شود. این تکنولوژی ابتکاری به سازمان‌ها کمک می‌کند تا با رقبا در عرصه جهانی رقابت کنند.

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


👑 @gopher_academy
1
Forwarded from Bardia & Erfan
تیم سازی چیست؟ اهمیت، روش‌ها و مزایای آن در محیط کار

https://karboom.io/mag/articles/%D8%AA%DB%8C%D9%85-%D8%B3%D8%A7%D8%B2%DB%8C

🕸 @labdon_academy
🔵 عنوان مقاله
shortuuid 4.2: Generate Concise, Unambiguous and URL-Safe Unique IDs

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

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

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


👑 @gopher_academy
Forwarded from Bardia & Erfan
👇👇👇👇👇👇👇

🍀لیستی از تمامی چنل های ما

🔵 https://linktr.ee/Labdon

👆👆👆👆👆👆👆
❤‍🔥2
اکر میخواهید در مورد انترفیس ها بیشتر بدونید توی گولنگ
پلی لیست زیر رو مشاهده کنید

https://www.youtube.com/playlist?list=PLADD_vxzPcZB595tXmu540KC6MTMqIndB


🕸 https://linktr.ee/Labdon
🔥4💘1
در کدنویسی Go، تفاوت اصلی بین دو تعریف شما به نوع متغیر (global یا constant) و روش مقداردهی آنها مربوط است:

1. `var DockerClient *client.Client`:
این یک متغیر است که می‌تواند در زمان اجرا مقداردهی شود. مقدار آن قابل تغییر است و در برنامه‌های پویا و انعطاف‌پذیر کاربرد دارد.

2. `const DockerClient = *client.Client`:
این تعریف صحیح نیست، زیرا مقدار ثابت (const) باید یک مقدار قابل محاسبه در زمان کامپایل (compile-time) باشد، اما یک مقدار اشاره‌گر به دلیل ماهیت پویا نمی‌تواند در یک ثابت تعریف شود.

### نتیجه:
تعریف صحیح و کاربردی var DockerClient *client.Client است، زیرا مقدار اشاره‌گرها و متغیرهایی که به منابع خارجی (مانند Docker) وابسته هستند، باید در زمان اجرا تنظیم شوند.


🕸 https://linktr.ee/Labdon
👍8🙏21
ظاهرا یه کمپانی بزرگ هندی اومده یه نظرسنجی بین کارمنداش گذاشته و ازشون پرسیده که سطح استرسشون چقدر هست تا محیط کار سالم تری براشون درست کنه. ۱۰۰ تا از کارمند ها هم گفتن که  خیلی استرس دارن و کمپانی هم فورا همشون رو اخراج کرده تا دیگه استرس نداشته باشن :)

DevTwitter | <Shana/>


🕸 https://linktr.ee/Labdon
🤣32👍5