Gopher Academy
3.33K subscribers
914 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
🔵 عنوان مقاله
DiceDB: A Reactive, In-Memory Database Optimized for Modern Hardware

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

اDice یک پایگاه داده جدید است که با زبان برنامه‌نویسی Go توسعه یافته و واکنش‌گرا است، به این معنی که تغییرات را بلافاصله به کاربران متصل اطلاع می‌دهد. این پایگاه داده از رویکرد Redis الهام گرفته و مانند Redis، به صورت حافظه‌ای (in-memory) عمل می‌کند و دستورات ساده‌ای شبیه به دستورات Redis دارد. Dice برای برنامه‌هایی که به بروزرسانی داده‌ها به صورت فوری نیاز دارند، بسیار مناسب است و با کاهش زمان پاسخ‌دهی، تجربه کاربری بهتری را فراهم می‌آورد.

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
The Right Way to Do Data Fixtures in Go

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

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

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


👑 @gopher_academy
🔵 عنوان مقاله
Go on the PlayStation 2

🟢 خلاصه مقاله:
**
این مقاله برای علاقه‌مندان به آزمایش با کنسول‌ها و ادغام زبان برنامه‌نویسی Go در محیط‌های جدید یا قدیمی نوشته شده است. محور اصلی بر روی استفاده از TinyGo، نسخه‌ای از زبان Go برای محیط‌های با منابع محدود، و زبان برنامه‌نویسی C است. این فرایند حاوی دشواری‌ها و آزمون‌ و خطاهای زیادی می‌باشد، و خوانندگان را به درگیری مستقیم با مشکلات برنامه‌نویسی سیستمی فرا می‌خواند. این ترکیب از فن‌آوری‌های قدیمی و جدید، فرصتی منحصر به فرد برای توسعه مهارت‌ها و بسط دامنه کاربرد زبان‌های برنامه‌نویسی مدرن در سیستم‌های میراثی فراهم می‌آورد.

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


👑 @gopher_academy
🍾1
🔵 عنوان مقاله
mus-go: MUS Format Serialization Library

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

MUS که مخفف Minimal Unification Serialization است، یک فرمت سریالیزاسیون دودویی است که بر سادگی و کارآمدی طراحی شده است. این فرمت برای برنامه‌هایی مناسب است که به روشی سبک برای ذخیره‌سازی یا تبادل داده‌ها نیاز دارند. سادگی MUS باعث می‌شود که برای سیستم‌های با منابع محدود ایده‌آل باشد و خاصیت دودویی آن به فرآیندهای ترجمه داده‌ها سرعت می‌بخشد. این فرمت در اصول اصلی کاهش بار اضافی و حذف ساختارهای غیرضروری داده متمرکز است، که عملکرد را افزایش داده و پیاده‌سازی و نگهداری را آسان‌تر می‌کند.

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Does Your Postgres Database Feel Like a Black Box?

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

آیا برای رویدادهای با ترافیک بالا آماده‌اید؟ در تاریخ ۱۶ آپریل به ما بپیوندید تا با ویژگی‌های pganalyze آشنا شوید که شامل بهینه‌سازی پرس‌و‌جوهای کند، شناسایی و رفع نقص‌ها، و حفظ عملکرد ایده‌آل پایگاه داده‌ی Postgres است.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Faster Shuffling in Go with Batching

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

در مقاله‌ای که دنیل نوشته، به معرفی الگوریتم‌های جدید برای درهم‌ریختن آرایه‌ها پرداخته شده است. این الگوریتم‌ها در مقایسه با روش سنتی فیشر-ییتس که در زبان برنامه‌نویسی گو استفاده می‌شود، 2 تا 3 برابر سریع‌تر هستند. این بهبود سرعت، مبتنی بر استفاده بهینه‌تر از اعداد تصادفی و کاهش بار محاسباتی در فرآیند درهم‌ریختگی است که می‌تواند در زمینه‌هایی که با داده‌های بزرگ سروکار دارند، کاربردی باشد.

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


👑 @gopher_academy
Forwarded from DevOps Labdon
😐☝️😂

https://t.me/addlist/KpzXaiSpKENkMGM0
👍5🍾1
🔵 عنوان مقاله
Life as a Go Developer on Windows

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

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Go Panicked Again? Yeah, Sentry Saw It—and Kept the Receipts

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

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

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Genanki: A Go Library for Generating Anki Decks

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

Anki ابزار آموزشی محبوبی است که از فلش کارت‌ها و تکنیک یادگیری تکرار فاصله‌دار استفاده می‌کند تا به بهبود کارایی حافظه و بازیابی اطلاعات در یادگیرندگان کمک کند. این نرم‌افزار با استفاده از روش علمی تکرار فاصله‌دار، برنامه‌ریزی هوشمند مرورها را انجام داده و فواصل زمانی را بر اساس میزان یادگیری مواد توسط کاربر تنظیم می‌کند. Anki به کاربران اجازه می‌دهد تا فلش کارت‌های خود را بسازند یا از مجموعه وسیعی از فلش کارت‌های موجود انتخاب کنند و فرکانس مرور کارت‌ها را به گونه‌ای تنظیم می‌کند که تجربه یادگیری شخصی‌سازی شده و بهبود یافته‌ای را ارائه دهد و به بهبود حافظه طولانی مدت کمک کند.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
More Predictable Benchmarking with testing.B.Loop

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

نسخه ۱.۲۴ زبان برنامه‌نویسی Go شیوه‌ای نوین در نوشتن بنچمارک‌ها معرفی کرده که از مشکلات رایج مانند حذف ناخواسته کد‌های مرده و ارزیابی نادرست زمان‌بندی‌ها جلوگیری می‌کند. این روش جدید، که نه تنها سریع‌تر و دقیق‌تر است، بلکه کاربرد آن نیز برای برنامه‌نویسان بیشتر به‌صورت غریزی قابل درک است، اطمینان بیشتری به توسعه‌دهندگان می‌دهد تا عملکرد واقعی برنامه‌های خود را به‌درستی ارزیابی و بهبود ببخشند.

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


👑 @gopher_academy
🔵 عنوان مقاله
Porting Tailscale to Plan 9

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

این مقاله داستانی جذاب از برد فیتزپاتریک، عضو سابق تیم اصلی گو، درباره پروژه‌ای شوخی‌آمیز که تیل‌اسکیل در روز دروغ اول آوریل انجام داده است، مطرح می‌کند. پروژه شامل انتقال تیل‌اسکیل به سیستم عامل قدیمی پلن ۹ بل لبز، توسعه داده شده در دهه ۱۹۸۰ بود. با وجود قدیمی بودن سیستم عامل و مشکلات ناشی از عدم به‌روزرسانی پشتیبانی کامپایلر گو برای پلن ۹، تیم توانست با موفقیت تیل‌اسکیل را روی این پلتفرم فرسوده اجرا کند، که نشان‌دهنده مهارت و خلاقیت آن‌ها بود و به احتمال زیاد توجه‌ها را به کاربرد فناوری‌های قدیمی‌تر جلب کرد.

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


👑 @gopher_academy
2
🔵 عنوان مقاله
Make Your App an OAuth Provider

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

Stytch پلتفرمی است که به توسعه‌دهندگان امکان می‌دهد تا به راحتی ادغام‌های طرف سوم را در برنامه‌هایشان اضافه کنند، برنامه‌ها را آماده عملیات نمایندگی کنند و اتصال داده‌ها را فعال سازند. همچنین، این پلتفرم این امکان را می‌دهد که شما به‌عنوان ارائه‌دهنده هویت خود با استفاده از OAuth 2.0/OIDC و با استفاده از اپلیکیشن‌های متصل Stytch عمل کنید. راهنمای سریع برای شروع کار با Go در Stytch نیز موجود است که با استفاده از آن، توسعه‌دهندگان می‌توانند به سرعت با نحوه استفاده از امکانات معرفی شده توسط Stytch آشنا شوند.

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


👑 @gopher_academy
1👍1
🔵 عنوان مقاله
🔒 Protect Against AI Bots, Fraud, and Abuse in Real Time

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

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

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


👑 @gopher_academy
🔵 عنوان مقاله
gocodewalker: A Way to 'Walk' Directories of Code

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

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

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


👑 @gopher_academy
👍3
🔵 عنوان مقاله
How and Why PlanetScale Built a VM in Go

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

اPlanetScale یک پلتفرم معروف میزبانی ابری برای MySQL است که از Vitess که با زبان برنامه‌نویسی Go نوشته شده استفاده می‌کند. این مقاله به بررسی ساخت یک ماشین مجازی در Go برای کار با AST‌های SQL که توسط تجزیه‌گر SQL آن‌ها تولید می‌شوند می‌پردازد و نشان می‌دهد که این رویکرد به سرعت (و گاهی اوقات سریعتر) از روش C++ استاندارد MySQL است.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Physix.go: A Simple Physics Engine for Go

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

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

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


👑 @gopher_academy
🔵 عنوان مقاله
golangci-lint v2: A Fast Linter Runner for Go

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

مقاله به بررسی ابزاری برای اجرای بررسی‌کننده‌های کد Go می‌پردازد که قابلیت اجرای حدود ۱۰۰ بررسی‌کننده مختلف را به صورت همزمان دارد. این ابزار با استفاده از حافظه کش و پیکربندی YAML، بهینه‌سازی شده و قابلیت یکپارچگی با محیط‌های توسعه مجتمع (IDE) را دارد. همچنین، دستورالعمل‌هایی برای به‌روزرسانی از نسخه ۱ به کاربران ارائه شده تا انتقال نرم‌افزاری را راحت‌تر کند.

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


👑 @gopher_academy
👍21🍾1
🔵 عنوان مقاله
go-profile: A Port of Brendan Gregg's eBPF profile.py

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

این مقاله به بررسی اولین تلاش‌ها برای انتقال یک ابزار پروفایلینگ که با Python پیاده‌سازی شده، به زبان برنامه‌نویسی Go با استفاده از تکنولوژی eBPF در لینوکس می‌پردازد. این روش جدید، سرعت و کارایی بیشتری نسبت به روش‌های سنتی پروفایلینگ دارد. هرچند این پروژه هنوز ناقص و در مراحل اولیه است، اما پتانسیل ایجاد ابزارهای پروفایلینگ قدرتمندتر و چند منظوره‌تر در آینده را فراهم می‌آورد.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Goavatar: Generate Unique, Symmetric Identicons Based on a String

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

این مقاله روشی ساده برای تولید آیکون‌های پایه بر اساس یک رشته مانند نام کاربری ارائه می‌دهد که به صورت قطعی و یکنواخت انجام می‌شود. این آیکون‌ها که بر اساس ورودی‌های رشته مشخص شده‌اند، می‌توانند به عنوان وسیله‌ای برای شناسایی بصری به کار روند. این تکنیک می‌تواند در موقعیت‌هایی که شناسایی سریع کاربران مهم است، مانند انجمن‌ها یا برنامه‌های چت، مفید باشد.

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


👑 @gopher_academy
👍2