Golang Insights – Telegram
Golang Insights
752 subscribers
116 photos
7 videos
47 files
130 links
Stay ahead in Golang development with Golang Insights, your go-to for the latest news, tips, tricks, and code examples tailored for Golang enthusiasts and professionals.

Group: https://news.1rj.ru/str/GolangEngineers
Download Telegram
🚀 قابلیت اجرا کد داخل کتاب

امکان اجرای کد داخل کتاب اضافه شد چه داخل گوشی چه دسکتاپ می توانید در هر بخش کد را زنده اجرا کنید و خروجی را ببینید.

https://book.gofarsi.ir/chapter-1/go-variables-and-consts/

در ضمن اگر مایل بودین از سرویس playground می توانید هرجا استفاده کنید.

https://github.com/GoFarsi/book/blob/main/static/js/playground.js


⚡️@GoInsights | @GolangEngineers
16👍2🆒1
🚀 آموزش صفر تا صد پکیج io در کتاب

پکیج io در زبان Go یکی از ابزارهای پایه و همه‌فن‌حریف برای کار با عملیات Input/Output است. فلسفه‌اش اینه که ما بدون وابستگی به نوع خاص داده (مثل فایل، شبکه یا حافظه) بتونیم از یک Interface ساده استفاده کنیم. این یعنی اگر یک شیء فقط متد مورد نیاز رو پیاده‌سازی کنه، می‌تونه در تمام جاهایی که اون رابط انتظار میره استفاده بشه. مثلا io.Reader فقط یک متد Read داره و io.Writer یک متد Write، ولی همین دو قرارداد ساده پایه تمام سیستم I/O Abstraction در Go رو تشکیل میدن.

https://book.gofarsi.ir/chapter-4/go-io-package/


⚡️@GoInsights | @GolangEngineers
7👍7
#استخدام #مشهد

یک شرکت فعال در حوزه نرم‌افزار به دنبال جذب برنامه‌نویس متعهد و تمام‌وقت (حضوری) در مشهد است.

شرایط و مهارت‌های مورد نیاز:

- تسلط کامل به زبان Golang
- آشنایی با زبان Python
- تجربه عملی و کامل در کار با سرویس‌های AWS شامل کانفیگ، راه‌اندازی سرویس‌ها و مقیاس‌دهی (Scaling)
- تسلط به Docker و مفاهیم کانتینرسازی


مزایا:

- محیط کاری حرفه‌ای و پویا
- پروژه‌های چالش‌برانگیز و فرصت رشد
- همکاری با تیمی متخصص و صمیمی


در صورت دارا بودن شرایط فوق، لطفاً رزومه خود را به آیدی زیر ارسال کنید:

@ja7adr


⚡️@GoInsights | @GolangEngineers
2
👍2😭2😁1
راز پشت پرده گولنگ ساده: فلسفه‌ای که باید زنده بماند
(تفکر مینیمالیستی در جهان پرزرق‌وبرق پترن‌ها)

گولنگ، از همان روزهای آغازین، با یک وعده بزرگ وارد صحنه شد:
سادگی، وضوح، و اجتناب از پیچیدگی‌های غیرضروری.
در آن زمان، نگرانی اصلی این بود که در نسخه‌های بعدی، مخصوصاً گولنگ ۲، اضافه‌شدن فیچرهای متعدد این فلسفه را تهدید کند.

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

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

* آیا این انتخاب واقعاً باعث وضوح بیشتر می‌شود؟
* یا فقط ظاهری حرفه‌ای دارد ولی بار مفهومی و نگهداری پروژه را سنگین‌تر می‌کند؟
* آیا این رویکرد با فلسفه مینیمالیستی گولنگ هم‌خوانی دارد؟

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

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

از این رو، ضروری است که:

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

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

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

موفق باشید! 🌹

@srfirouzi_channel
20👍4
🚀 پشتیبانی از زبان فارسی به Meilisearch اضافه شد! 🎉

بعد از مدت‌ها کار و تجربه دوم من در مشارکت با پروژه‌های Rust، بالاخره موفق شدم Normalization، Segmenter و Tokenizer مخصوص زبان فارسی را توسعه بدم و به این موتور جستجوی قدرتمند اضافه کنم.

به‌زودی در نسخه‌های آینده، Meilisearch به‌طور کامل از زبان فارسی پشتیبانی خواهد کرد. 🇮🇷

📌 جزئیات بیشتر: https://github.com/meilisearch/charabia/pull/350


⚡️@GoInsights | @GolangEngineers
🔥15👏31👍1
🚀 ‏Go 1.25.0 منتشر شد!

تغییرات نسخه: go.dev/doc/go1.25
📖 بررسی عمیق و جزئیات: bitstack – تغییرات Go 1.25
📦 دانلود: go.dev/dl/#go1.25.0

از بهبود عملکرد تا قابلیت‌های هوشمندتر — این نسخه، Go را سریع‌تر، تمیزتر و لذت‌بخش‌تر برای کدنویسی می‌کند. 🐹

#golang #programming #developer #gopher #go


⚡️@GoInsights | @GolangEngineers
🔥93🆒1
🚀 آموزش فعال‌سازی مدل‌های قدیمی ChatGPT

با انتشار نسخه 5 چت‌جی‌پی‌تی، بسیاری از مدل‌های قدیمی دیگر به‌صورت پیش‌فرض نمایش داده نمی‌شوند.

اما همچنان می‌توانید به آن‌ها دسترسی داشته باشید! کافیست مراحل زیر را دنبال کنید:

1️⃣ وارد حساب کاربری خود شوید و به بخش Settings بروید.
2️⃣ در تب General، گزینه Show additional models را فعال کنید.

📌 با این روش، مدل‌های قدیمی دوباره در لیست شما نمایش داده می‌شوند و می‌توانید از آن‌ها استفاده کنید.


⚡️@GoInsights | @GolangEngineers
🔥6👍2
🤖 پروژه Meilisearch MCP با زبان گو

یک پیاده‌سازی پرکاربرد و سریع از پروتکل Model Context (MCP) در زبان Go برای Meilisearch.
این سرور امکان می‌دهد ابزارهای هوش مصنوعی (روی دسکتاپ یا فضای ابری) از طریق استاندارد MCP و با استفاده از HTTP یا stdio به داده‌های Meilisearch شما متصل شوند.

مخزن: https://github.com/ja7ad/meilisearch-mcp

نسخه mcp وب: https://meilisearch.javad.dev/

اگر به مفهوم MCP علاقه مند هستید می توانیم یک meet گروهی داشته باشیم و پس از میت در این پروژه مشارکت کنید.



⚡️@GoInsights | @GolangEngineers
🔥7👍21
الکی نیست آقامون توروالدز زبان c را به همه چی ترجیح میده 😂


⚡️@GoInsights | @GolangEngineers
🔥12😁3👍1
سادگی یا اسکیلبیلیتی؟
(تصمیمی که آینده محصول را شکل می‌دهد)

خیلی وقت‌ها در طراحی سیستم‌ها، تیم‌ها از همان روز اول می‌پرسند:
«وقتی میلیون‌ها کاربر داشتیم، چه می‌کنیم؟»

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

در حالی که واقعیت این است:
بیشتر محصول‌ها در ابتدای مسیر بیش از هر چیز به سادگی نیاز دارند

- ساده برای ساخت
- ساده برای نگهداشت
- ساده برای تغییر
- ساده حتی برای اسکیل

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

پس از خود بپرسیم:

آیا پیچیدگی در راستای اسکیلبیلیتی واقعاً لازم است؟
یا داریم آینده‌ای نامعلوم را پیش‌خور می‌کنیم؟

گاهی بهترین انتخاب این است که سیستم را ساده بسازیم و اجازه دهیم رشد واقعی ما را به سمت اسکیل هدایت کند.

سادگی امروز، راه را برای اسکیل فردا نیز باز می‌کند.

موفق باشید 🌹

@srfirouzi_channel
👍11👎1🆒1
🤯 Go 1.25.1 and 1.24.7 are released!

🔐 Security: Includes a security fix for net/http (CVE-2025-47910).

📣 Announcement: https://groups.google.com/g/golang-announce/c/PtW9VW21NPs/m/DJhMQ-m5AQAJ

⬇️ Download: go.dev/dl/#go1.25.1



⚡️@GoInsights | @GolangEngineers
👍521
مفهوم Trade-off در توسعه نرم‌افزار
(تعادل میان مزایا و معایب در تصمیم‌های فنی)

در توسعه نرم‌افزار، هیچ تصمیمی رایگان نیست. هر انتخابی، در کنار مزایا، هزینه‌ها و محدودیت‌هایی هم دارد. Trade-off یعنی برقراری تعادل میان این مزایا و معایب، و انتخاب بهترین گزینه متناسب با شرایط واقعی پروژه.

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

و در دنیای نرم‌افزار:

- اگر بخواهید سرعت توسعه بالاتر برود، احتمالاً باید کمی از بهینه‌بودن یا کارایی چشم‌پوشی کنید.
- اگر انعطاف‌پذیری کامل بخواهید، باید پیچیدگی بیشتری را بپذیرید.
- اگر سراغ فریم‌ورک‌های جدید بروید، نوآوری بیشتری به دست می‌آورید، اما منابع آموزشی و نیروی متخصص کمتری پیدا می‌کنید.

تفاوت در معیارهای سنجش
نکته مهم دیگر این است که معیارهای سنجش در هر پروژه متفاوت است:

- یک استارتاپ ممکن است سرعت رسیدن به بازار را مهم‌تر بداند.
- یک سیستم بانکی احتمالاً امنیت و پایداری بلندمدت را در اولویت قرار می‌دهد.
- یک پروژه تحقیقاتی شاید بیشتر به انعطاف‌پذیری و نوآوری اهمیت دهد.

بنابراین حتی اگر دو تیم روی یک زبان یا فریم‌ورک واحد بحث کنند، ممکن است از زاویه‌های متفاوتی آن را ارزیابی کنند و به نتایج متفاوتی برسند.


به همین دلیل، انتخاب زبان، ابزار یا فریم‌ورک هیچ‌وقت یک پاسخ مطلق «بهترین» ندارد.
سؤال درست این نیست که کدام بهترین است؟
بلکه این است که کدام گزینه با توجه به نیازهای فعلی پروژه و توان تیم، بهترین تعادل (Trade-off) را فراهم می‌کند؟

🌹 موفق باشید!

@srfirouzi_channel
5👍4
🚀 ابزار مانیتورینگ Consumption

با کمک این ابزار می‌توانید مصرف انرژی یک پروسه در حال اجرا را با دقت تقریبی ۸۰ تا ۹۰ درصد محاسبه کنید.
الگوریتم به‌کاررفته، توان مصرفی را بر اساس سهم CPU، عملیات دیسک و فعالیت حافظه مدل‌سازی کرده و در پایان هر اجرا، گزارشی کامل و ساختارمند از توان لحظه‌ای (Watt) و انرژی تجمعی (Joule) پروسه ارائه می‌دهد.

🔧 ویژگی‌ها:

- مانیتورینگ در سطح پروسه یا کل درخت پروسه‌ها
- خروجی‌های متنوع: جدول، CSV، JSON و گزارش HTML
- الگوریتم اختصاصی برای تخمین توان بر اساس CPU، دیسک و رم
- قابل تنظیم با پارامترهای دلخواه (Idle, Max Power, γ و …)

🎯 هدفم از این پروژه این بود که یه ابزار ساده، سریع و اوپن‌سورس برای تیم‌ها و ادمین‌هایی باشه که می‌خوان مصرف انرژی سرویس‌هاشون رو تخمین بزنن و مقایسه کنن.


📂 سورس‌کد و مستندات و دانلود:
github.com/ja7ad/consumption


⚡️@GoInsights | @GolangEngineers
🔥4
روز برنامه نویس مبارک !!!

امیدوارم هرروزتون مثل من با کامیت هایی که میزنید رنگی باشه 😄😄

اینم افزونه ایه که گیتهابتون را می توانید در لحظه ترک کنید:

https://github.com/funinkina/weekly-commits


⚡️@GoInsights | @GolangEngineers
4🔥2
🚀 پشتیبانی کامل زبان فارسی در موتور جستجو Meilisearch

پس ماها تلاش بالاخره در یک نسخه رسمی, زبان فارسی بصورت کامل و سریع به موتور جستجو Meilisearch اضافه شد.

میلی‌سرچ (Meilisearch) یک موتور جستجوی متن‌باز، سبک و بسیار سریع است که امکان جستجوی آنی (instant search) با نتایج دقیق و مرتبط را فراهم می‌کند.

این موتور به‌سادگی در پروژه‌ها ادغام می‌شود و برای کاربردهایی مثل وب‌سایت‌ها، اپلیکیشن‌ها و سرویس‌های داده گزینه‌ای ایده‌آل است.

💎 طی این پول ریکوئست: https://github.com/meilisearch/charabia/pull/350

زبان فارسی به موتور جستجو اضافه شد حال بصورت رسمی داخل Meilisearch می توانید استفاده کنید.


⬇️ دانلود نسخه جدید موتور جستجو: https://github.com/meilisearch/meilisearch/releases/tag/v1.21.0


🔥 پکیج SDK رسمی زبان گو: https://github.com/meilisearch/meilisearch-go


⚡️@GoInsights | @GolangEngineers
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
614🔥42👍1👎1😍1
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی کارفرما بازاریه 😂😂


⚡️@GoInsights | @GolangEngineers
😁8
apple.tar.xz
104.9 MB
فونت پک رسمی و کامل SF Pro اپل برای لینوکس

شاید بگین فونت Ubuntu و سایر فونت های رسمی لینوکس هستند ولی این فونت SF Pro هم زیبایی خودشو داره و پیشنهاد میکنم روی لینوکس با کمک gnome-tweaks ست کنید بد نیست.


⚡️@GoInsights | @GolangEngineers
5🥴2