Gopher Academy
3.34K subscribers
918 photos
40 videos
279 files
1.99K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72
Download Telegram
Forwarded from Bardia & Erfan
✍️ Mahsa HafeziKhomamy

🕸 @labdon_academy
💘1
🔵 عنوان مقاله
Go's Singleflight Melts in Your Code, Not in Your DB

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

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


👑 @gopher_academy
👍3🔥2
🔵 عنوان مقاله
Stuck on What to Build? Guided Learning with Real Projects

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

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


👑 @gopher_academy
👍3
🔵 عنوان مقاله
go2type: A Go to TypeScript API Client Generator

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

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


👑 @gopher_academy
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
🍾101
🔵 عنوان مقاله
Developing a Go Bot That Embeds Ichiban Prolog

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

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


👑 @gopher_academy
🙏4
Forwarded from Bardia & Erfan
🎯اگر علاقه مند به موضوعات👈🏻 بلاکچین/ارزهای دیجیتال/هوش مصنوعی/DeFi/NFTS هستید
👇 چنل زیر رو از دست ندید(با موضاعات متنوع و بروز)

📈 Bitcoin & Ethereum Trends
💰 Exciting Altcoins News
🔗 Cutting-Edge Blockchain Innovations
📊 Business Insights & Market Analysis
📜 Policy & Regulations Updates
🤖 AI: Artificial Intelligence Advancements
🎨 The World of NFTs
🌐 Decentralized Finance (DeFi) News



👑 @Blockchain_labdon
💯2
🔵 عنوان مقاله
Revive 1.4: A Faster, Configurable, Flexible Linter for Go

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

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


👑 @gopher_academy
🔵 عنوان مقاله
Rueidis: A Fast Redis Client with Caching and More

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته به بررسی یک کلاینت Redis تمرکز دارد که بر عملکرد آن تأکید دارد. این کلاینت ویژگی‌هایی چون اجرای خودکار دسته‌ای (auto-pipelining) دستورات غیر مسدود کننده، حافظه نهان سمت کلاینت که به شیوه رسمی پیاده‌سازی شده است، و پشتیبانی از تعداد زیادی از افزونه‌های رسمی Redis را دارا است. قرارگیری این کلایت در زیر مجموعه اصلی ارگانیک GitHub برای Redis هم به نوعی تائید کیفیت و اعتبار آن به شمار می‌رود. به نظر می‌رسد که این مقاله کوتاه بیشتر به توسعه‌دادن ویژگی‌ها و کارآمدی این کلاینت می‌پردازد تا ایجاد یک نمونه مثالی در بین کلاینت‌های Redis که تاکید زیادی بر عملکرد بهینه دارد.

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


👑 @gopher_academy
👍1
Forwarded from Bardia & Erfan

👑 @labdon_academy
👍11😈1
🔵 عنوان مقاله
caddy-exec: Caddy Module for Running One-Off Commands

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته پیرامون سرور HTTP(S) به نام Caddy است که به زبان برنامه‌نویسی Go نوشته شده است. نویسندگان مقاله اظهار دارند که از این سرور در کارهای خود بسیار راضی هستند. نکته‌ی برجسته‌ی مقاله به افزونه‌ای اشاره دارد که امکان فعال سازی دستورات در زمان راه‌اندازی یا خاموش کردن سرور، و همچنین از طریق مسیرهای خاصی به نام «route» را فراهم می‌آورد. این افزونه به کاربران اجازه می‌دهد تا عملیات خاصی را به صورت خودکار در زمان‌های تعیین شده یا در پاسخ به درخواست‌های خاص انجام دهند، که این امر می‌تواند به بهبود کارایی و انعطاف‌پذیری در مدیریت سرور کمک کند. این توانایی سازگاری با نیازهای کاربران و تنظیمات خاص آن‌ها، Caddy را به یک گزینه جذاب در میان سرورهای HTTP(S) تبدیل می‌کند.

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


👑 @gopher_academy
🔵 عنوان مقاله
Modview: Go Project Dependency Graph Visualizer

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

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
Distributed Metrics in PHP with Go and Gob

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

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


👑 @gopher_academy
🔵 عنوان مقاله
Reduce Your Data Streaming and Kafka Costs by 80+%

🟢 خلاصه مقاله:
مقاله مربوط به فناوری WarpStream می‌پردازد که مزایای معماری بدون دیسک و بدون حالت خود را به همراه مدل BYOC (آوردن مؤلفه‌هات به سرور) به نمایش می‌گذارد. این ساختار جدید، هزینه‌های استفاده از Kafka را تا بیش از ۸۰٪ کاهش می‌دهد، استریم داده‌ها را آسان‌تر می‌کند و امنیت داده‌ها را افزایش می‌دهد. WarpStream با پیشنهاد افتتاح حساب رایگان و ارائه ۴۰۰ دلار اعتبار که هرگز منقضی نمی‌شود، سعی در جذب کاربران جدید و نشان دادن توانایی‌های برتر خود در مقایسه با رقبا دارد. این پلتفرم، با ارائه راهکارهای نوآورانه در زمینه پردازش و انتقال داده‌ها، می‌کوشد راهکاری مقرون به صرفه و کارآمد برای شرکت‌ها و توسعه‌دهندگان فراهم آورد.

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


👑 @gopher_academy
👍1
🔵 عنوان مقاله
bed: A Binary/Hex Editor Written in Go

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

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


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

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

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


👑 @gopher_academy
👍2🔥2
🔵 عنوان مقاله
Ebitengine v2.8.0: The Go 2D Game Engine

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته است به پروژه‌ی «اِبیت‌انجین» در اکوسیستم زبان برنامه‌نویسی گو اختصاص دارد. این پروژه به‌عنوان یکی از پروژه‌های محبوب در این حوزه شناخته شده است. در جدیدترین به‌روزرسانی‌ها، ابیت‌انجین پشتیبانی از فرمت صوتی 32 بیتی با فرمت فلوت و همچنین بهبودهایی در سفارشی‌سازی شیدر (shader) را به ارمغان آورده است. این امکانات جدید به توسعه‌دهندگان اجازه می‌دهد تا با دقت بیشتری بر روی جزئیات صوتی کار کنند و تجربه‌های بصری پیشرفته‌تری را ارائه دهند. به‌طور کلی، این پیشرفت‌ها نشان‌دهنده‌ی تعهد ابیت‌انجین به پیشرفت مداوم و ارائه‌ی قابلیت‌های جدید است که می‌تواند به افزایش کارایی و جذابیت این موتور بازی در بین توسعه‌دهندگان کمک کند.

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


👑 @gopher_academy
👍1
نکته خیلی جالبش شاید استفاده از GOMEMLIMIT بصورت dynamic هست که در runtime ست میشه..

Go Beyond: Building Performant and Reliable Golang Applications

https://blog.zomato.com/go-beyond-building-performant-and-reliable-golang-applications

✍️حسین نظری

#performance
#golang
#گولنگ


👑 @gopher_academy
💋1
🔵 عنوان مقاله
Some Go Web Dev Notes

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

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


👑 @gopher_academy
👍2
🔵 عنوان مقاله
Joining Errors in Go

🟢 خلاصه مقاله:
مقاله مورد نظر به بررسی دو رویکرد در زبان برنامه‌نویسی Go می‌پردازد: استفاده از چندین %ws و استفاده از دستور errors.Join که در نسخه 1.20 زبان Go معرفی شده است. رویکرد اول، %ws، از دستورهای فرمت‌بندی متنی برای ایجاد نتیجه‌ای استاندارد و یکپارچه استفاده می‌کند. این رویکرد به برنامه‌نویس اجازه می‌دهد که خروجی‌ها و پیام‌ها را به شکل واضح و دقیق نمایش دهد، خصوصاً در محیط‌هایی که نیاز به ترکیب و نمایش چندین مقدار متفاوت است. رویکرد دوم، errors.Join، امکان مدیریت و ترکیب چندین خطا را در یک پیغام خطا الحاقی فراهم می‌کند که بسیار مفید است برای دسته‌بندی خطاها و واکنش‌های مرتبط با آن‌ها. این امکان به برنامه‌نویس کمک می‌کند تا خطاهای متعدد را به شکل مؤثری دریابد و رفع کند، و در نهایت به بهبود خوانایی و قابلیت نگهداری کد کمک می‌کند.


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


👑 @gopher_academy
5
💋2