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
🔵 عنوان مقاله
ghw 0.15.0: A Go Hardware Discovery/Inspection Library

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

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Different Ways of Working with SQL Databases in Go

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

مقاله با تشریح سیستم بلاگ ساده توسط الکس شروع می‌شود و روش‌های مختلف کار با دیتابیس‌ها از SQL خام و بسته `database/sql` گرفته تا `sqlx`، استفاده از ORM‌ها و `sqlc` را بررسی می‌کند. الکس فواید و معایب هر روشی را توضیح داده، از جمله کنترل و دقت SQL خام در مقابل ساده سازی کار با `sqlx` و افزایش بهره‌وری با ORM ها. همچنین `sqlc` که SQL‌ها را به کد Go تبدیل می‌کند، معرفی می‌شود. در نهایت، بر اساس نیاز‌های پروژه، بهترین روش انتخاب می‌گردد.

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


👑 @gopher_academy
🔵 عنوان مقاله
Go Structs and Interfaces Made Simple

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

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

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


👑 @gopher_academy
Majnoone Bi Leyla
Salar Aghili
سالار عقیلی - مجنون بی لیلا

👑 @gopher_academy
🕊2🍾1
🔵 عنوان مقاله
doomgeneric: Doom, Ported to Go?

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

بازی محبوب و کلاسیک تیراندازی اول شخصِ دهه ۹۰، دوم، به شکل‌های مختلفی به محیط‌های نامتعارف منتقل شده است. به عنوان مثال، اجرای آن به صورت جاوااسکریپت درون یک سند PDF. این امر به سؤالی طبیعی منجر شده است: آیا انتقال دوم به زبان برنامه‌نویسی گو هم به آسانی اجرایی است؟ در این راستا، از کامپایلر ccgo برای تبدیل کد C به کد گو استفاده شده است. این پروژه بیشتر به عنوان یک مفهوم اثباتی انجام گرفته و فعلاً تنها در محیط‌های لینوکس قابل اجراست. با این حال، این آزمایش، توانایی‌های کامپایلر ccgo را نشان داده و برای جامعه توسعه‌دهندگان جالب توجه است.

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


👑 @gopher_academy
👍1
تو پروژه ای که درگیرش هستم آپلود فایل یکی از مهمترین قسمت های این پروژه هست. به خاطر همین سراغ پروتکل TUS که یه پروتکل برای upload resumable هست و تقریبا هم جدید رفتیم که با go هم پیاده سازی شده.
من تو این مقاله سعی کردم تجربیاتم از پیاده سازی سرور tusd و نحوه ارتباطش با backend پروژه رو توضیح بدم .
لینک نمونه کد استفاده شده رو آخر مقاله قرار دادم.

خوشحال میشم بخونید و نظرتون رو بگید.
ارادت
لینک داکیومنت tus
https://tus.github.io/tusd/

لینک مقاله:
https://medium.com/@shabooni.mr/how-to-set-up-tusd-for-resumable-file-uploads-a-complete-guide-1cd8dddb55d5



https://t.me/addlist/KpzXaiSpKENkMGM0
👍101
🔵 عنوان مقاله
🔒 Protect Against AI Bots, Fraud, and Abuse in Real Time

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

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Were Multiple Return Values a Mistake for Go?

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

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

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


👑 @gopher_academy
🔵 عنوان مقاله
TypeScript's Go Port Already Leading to Optimizations for Go

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

هفته گذشته خبر مهمی درباره انتقال کامپایلر TypeScript به زبان Go برای دستیابی به عملکرد بهتر منتشر شد. این انتقال که با هدف افزایش کارایی انجام گرفته، نه تنها برای TypeScript بلکه می‌تواند تأثیر مثبتی بر عملکرد کلی Go به عنوان میزبان آن داشته باشد. این پروژه بزرگ افزایش پتانسیل برای بهبودهای عملکردی در Go را به دنبال دارد، که قرائنی از شروع این نوع پیشرفت‌ها دیده می‌شود.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
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