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
🔵 عنوان مقاله
Go sync.Once is Simple, But How Does It Work?

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

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


👑 @gopher_academy
👍3
🔵 عنوان مقاله
  Developing a Terminal App in Go with Bubble Tea

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته، به توضیح و راهنمایی یک اسکرین‌کست ۵۰ دقیقه‌ای‌ می‌پردازد که در آن فرآیند تولید یک ابزار خط فرمان برای یادداشت‌برداری با استفاده از زبان برنامه‌نویسی Go و کتابخانه‌های Bubble Tea و Lip Gloss از Charm، نمایش داده شده است. این اسکرین‌کست به بررسی چگونگی ساختار، طراحی و استایل دادن به این اپلیکیشن می‌پردازد و به توضیح مراحل توسعه ابزاری عملی در محیط خط فرمان اختصاص یافته است. Bubble Tea به عنوان یک کتابخانه برای مدیریت معماری و نماها استفاده می‌شود و Lip Gloss برای اعمال استایل و ظاهر بصری به کار می‌رود. این ترکیب ابزارها در Go فرصتی برای توسعه‌ دهندگان فراهم می‌کند تا اپلیکیشن‌های خط فرمان پیچیده و جذاب‌تری را توسعه دهند.

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Mailpit: Go-Powered Email and SMTP Testing Tool

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

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


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

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

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


👑 @gopher_academy
👍4🔥1
Forwarded from Software Engineer Labdon
شرکت های بزرگی مثل Microsoft مخازن جالبی در GitHub دارند مثل Security-101 که مخصوص آموزش امنیت برای کاربرانی است که قصد دارند نکات اولیه امنیتی را یاد بگیرند!
https://github.com/microsoft/Security-101

<Vahid Nameni/>
👍4
🔵 عنوان مقاله
Machine Learning in Go with a Python Sidecar

🟢 خلاصه مقاله:
مقاله مورد بحث توسعهٔ زبان برنامه‌نویسی Go و نقش آن در پروژه‌های یادگیری ماشینی (ML) و مدل‌های زبان بزرگ (LLMs) را مورد بررسی قرار می‌دهد. Python به دلیل تنوع بسیار زیاد پروژه‌ها و نمونه‌ها، همچنان پرچمدار عرصه ML است، اما Go به عنوان یک زبان 'چسب' مفید برای ادغام و هماهنگی بین پروژه‌های ML شناخته شده است، حتی اگر این کار به تعامل با پروژه‌های مبتنی بر Python هم نیاز داشته باشد. استفاده از Go می‌تواند در بهبود چگونگی کنترل و مدیریت این تعاملات میان زبانی به طور موثر کمک کند. این مقاله به توضیح مزایای استفاده از Go در کاربردهای ML مختلف و تعامل آن با Python می‌پردازد.


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


👑 @gopher_academy
🙏2💅1
🔵 عنوان مقاله
GoLand 2024.3 Released

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

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


👑 @gopher_academy
👍2🍓21
🔵 عنوان مقاله
Leveraging benchstat Projections in Go Benchmark Analysis

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

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


👑 @gopher_academy
👍1
Forwarded from Software Engineer Labdon
چگونه یک سیستم رزرو بلیت هواپیما با معماری Event-Driven و Saga پیاده‌سازی کنیم؟

تو این مقاله توضیح دادم چطور با ترکیب Event-Driven Architecture، RabbitMQ و Saga Pattern تونستم سیستم‌های رزرو بلیت هواپیما رو به یه سطح دیگه ببرم. اگه دنبال معماری‌های مقیاس‌پذیر و پایدار هستی، حتماً این مطلب رو بخون!

لینک مقاله

DevTwitter | <mostafa jafarzadeh/>

👑 @software_Labdon
2👍2🔥1🍾1💅1
Forwarded from Gopher Job
🟢اگر کارفرما هستی و دنبال برنامه نویس گولنگ هستی آگهی شغلی تو برامون بفرستید
🟢اگر کارجو هستید رزومه خودتون رو براساس فرمتی زیر برامون بفرست

💋فقط استک گولنگ پروموت میکنیم.

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

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


🕊Admin:
@mrbardia72


👑 @gopher_job
👍3
Forwarded from Linux Labdon
با مفاهیم deadlock و علت‌هایی که ممکنه منجر بهش بشه توی این سایت بصورت عملی آشنا بشید.

#Concurrency #Deadlock #Operating #System #OS #linux #C #Race #condition

https://deadlockempire.github.io


👑 @linux_labdon
👍2💅1
🔵 عنوان مقاله
A Taste of Go Code Generator Magic: A Quick Guide to Getting Started

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

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


👑 @gopher_academy
🔵 عنوان مقاله
ogen 1.5: OpenAPI v3 Code Generator for Go

🟢 خلاصه مقاله:
مقاله‌ای که به بررسی آن پرداخته‌اید، به معرفی ابزاری به نام "ogen" می‌پردازد که برای تولید کد پیاده‌سازی کلاینت و سرور از مشخصات OpenAPI طراحی شده است. این ابزار توسط یک پست وبلاگی معرفی شده و همچنین دارای یک مخزن GitHub است. استفاده از ogen می‌تواند به توسعه‌دهندگان کمک کند تا روند توسعه نرم‌افزار را تسریع بخشیده و به استانداردسازی و خودکارسازی در تولید کد بین جلویی (کلاینت) و پشتی (سرور) کمک کند. این ابزار با کمک به خودکار سازی فرآیندها، خطاها را کاهش داده و بازدهی توسعه را بهبود می‌بخشد. کاربرد آن در پروژه‌هایی که از مشخصات OpenAPI برای توصیف API‌های خود استفاده می‌کنند، می‌تواند بسیار موثر باشد.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
htmgo 1.0: Build Simple, Scalable System with Go and htmx

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

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


👑 @gopher_academy

👑 @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