Gopher Academy
3.32K subscribers
911 photos
40 videos
279 files
1.94K links
🕸 Gopher Academy

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

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

ادمین:
@mrbardia72

ادمین تبلیغات:
@labdon_ads
Download Telegram
🎯درود دوستان برای تبلیغات توی چنل ما می تونید به ای دی زیر پیام بدید و تعرفه ها رو براتون بفرستیم جهت تبلیغ:

@labdon_ads
👍1🙏1
🔵 عنوان مقاله
How I Program with LLMs

🟢 خلاصه مقاله:
در مقاله‌ای که توسط یکی از بنیان‌گذاران Tailscale نوشته شده است، رویکردهای مدرن نوشتن کد به زبان Go با استفاده از تکنیک‌های مبتنی بر مدل‌های زبان بزرگ (LLM) مورد بررسی قرار گرفته است. نویسنده در مورد توسعه یک محیط جدید برای برنامه‌نویسی به نام 'Go playground' که با توانایی‌های LLM بهبود یافته است، بحث می‌کند. این ابزار جدید به برنامه‌نویسان اجازه می‌دهد تا با روش‌های کارآمدتر و دقیق‌تری کد بنویسند، و به آنها در اجرای سریع‌تر و تست آسان‌تر کد کمک می‌کند. نویسنده تاکید زیادی بر مزایای استفاده از فناوری‌های مدرن و هوش مصنوعی در توسعه نرم‌افزار دارد و انتظار دارد که این تکنولوژی‌ها تأثیر قابل توجهی بر بهبود کیفیت و کارایی کدنویسی در آینده داشته باشند.

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


👑 @gopher_academy
🔵 عنوان مقاله
Memos: A Privacy-First Go-Powered Note Taking App

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

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


👑 @gopher_academy
🔵 عنوان مقاله
Build Go Apps using Project IDX and the Gemini API

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

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


👑 @gopher_academy
هفته نامه Golang Nugget رو اگه دوست داشتید دنبال کنید.
منابع خوبی رو معرفی میکنه
این یه نمونه ش هست

https://golangnugget.com/p/go-concurrency-upgrade-strategies-memory-management-january-6-2024

این خبرنامه رو آقا لیام عزیز مدیریت میکنه
https://x.com/liammanesh


<Hossein Nazari/>


https://t.me/addlist/KpzXaiSpKENkMGM0
👍2
دیزاین پترن Facade در Golang
یکی از دیزاین پترن های جذاب و کاربردی، پترن Facade! شاید اسمش یه کم شیک به نظر بیاد، ولی قول میدم که خیلی کاربردیه و کارمون رو راحت‌تر می‌کنه.

حالا Facade چیه؟
فرض کن جلوی یه ساختمون خیلی شیک و بزرگ وایسادی، ولی لازم نیست بری داخلش و همه اتاقاشو ببینی. فقط کافیه از بیرون، نمای ساده و مرتبش رو ببینی و کارتو راه بندازی. پترن Facade دقیقاً همینه! یه رابط کاربری ساده می‌ده که دیگه لازم نباشه با پیچیدگی‌های سیستم درگیر بشی.

چرا باید ازش استفاده کنیم؟
دو تا اصل مهم دنیای کدنویسی اینجا برامون روشن‌تر می‌شه:
1- همه چی ساده باشه KISS
  2- تکرار نکن DRY

وقتی از Facade استفاده می‌کنی، پیچیدگی‌های پشت پرده سیستم رو قایم می‌کنی و فقط چیزی که کاربر (یا حتی خودت!) نیاز داری رو نشون می‌دی. کدت مرتب‌تر، قابل نگهداری‌تر و قابل‌فهم‌تر می‌شه.

ی مثال ساده: اتصال به دیتابیس
فرض کن می‌خوای به دیتابیس وصل بشی، کوئری بزنی و قطع کنی. بدون Facade و با Facade داخل تصویر هست.

کاربردهای دیگه:
کار با فایل‌ها
ارتباط با API
راه‌اندازی وب‌سرور
مدیریت سفارش‌های فروشگاه آنلاین
و...

این Facade مثل یه شمشیر دولبه‌ست. اگه زیادی ساده‌سازی کنی یا بخوای همه کارها رو تو یه struct و متدهاش بذاری، ممکنه یه ساختار پیچیده (God Object) بسازی که خودش یه مشکل جدیده.

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


<Mohammad Abdorrahmani/>

https://t.me/addlist/KpzXaiSpKENkMGM0
2
🔵 عنوان مقاله
Fuego: A Nest-Inspired API/Web Framework for Go

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته درباره‌ی یک فریم‌ورک برای زبان برنامه‌نویسی Go است که خاصیت مهم آن تولید مستندات OpenAPI مستقیماً از کد برنامه‌نویسی است. این فریم‌ورک که از فریم‌ورک Nest الهام گرفته شده است، به طور خاص برای توسعه‌دهندگان Go طراحی شده است. همچنین، مثالی از یک برنامه ساده Hello World به همراه مستندات کامل ارائه شده است تا نحوه استفاده از این فریم‌ورک را به نمایش بگذارد. در نسخه‌ی اخیر این فریم‌ورک، که نسخه‌ی 0.17 است، پشتیبانی اولیه از روتر Gin افزوده شده‌است تا توانایی‌های آن گسترش یابد و کاربران بتوانند از این فریم‌ورک در محیط‌های مختلف بیشتری استفاده کنند.

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


👑 @gopher_academy
🙏1
🔵 عنوان مقاله
Rust vs Go in 2025

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

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


👑 @gopher_academy
🎯 چندتا پست در مورد ویژگی های جدید گولنگ 1.24 اینجاست می تونید بخونید👇


🔵 https://t.me/gopher_academy/3557

🔵 https://t.me/gopher_academy/3556

🔵 https://t.me/gopher_academy/3555

🔵 https://t.me/gopher_academy/3554

🔵 https://t.me/gopher_academy/3553

🔵 https://t.me/gopher_academy/3581

🔵 https://t.me/gopher_academy/3582


https://t.me/addlist/KpzXaiSpKENkMGM0
🙏1🍾1
Forwarded from Gopher Job
این سایت داده‌های خوبی در مورد حقوق توی شرکت‌های اروپایی توی کشورهای مختلف رو داره که میتونید ازش برای کاریابی استفاده کنید.

https://techpays.eu


https://t.me/addlist/KpzXaiSpKENkMGM0
👍2
🔵 عنوان مقاله
Master the Fullstack

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

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


👑 @gopher_academy
🔵 عنوان مقاله
betteralign 0.6: Make Your Programs Use Less Memory.. Maybe

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

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


👑 @gopher_academy
2
🔵 عنوان مقاله
ebpf-go 0.17: A Way to Work with eBPF from Go

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

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


👑 @gopher_academy
1👍1
🔵 عنوان مقاله
go-haystack: Track Personal Devices via Apple's 'Find My' Network

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

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


👑 @gopher_academy
👍4
🔵 عنوان مقاله
Gophers Pack: A Collection of Gopher Pictures and Design Elements

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

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


👑 @gopher_academy
2
توی گولنگ 1.24 یه ویزگی اضافه شده برای نمایش zero value ها به نام omitzero که می تونید توی مقاله زیر در موردش بخونید

https://www.bytesizego.com/blog/go-124-omitzero


👑 @gopher_academy
🔥32
اینم دوتا مقاله خوب و کامل در مورد تمامی ویژگی های گولتگ 1.24
https://antonz.org/go-1-24/

https://zenn.dev/koya_iwamura/articles/ca9ab62ff760c2


👑 @gopher_academy
👍2🥰1🤩1
واسه فرانت از کدوم استفاده می کنید؟
Anonymous Poll
30%
vue
58%
react
7%
angular
14%
others
👍3🍾2🍓1
🔵 عنوان مقاله
if got, want: A Simple Way to Write Better Go Tests

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

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


👑 @gopher_academy