🚀 مشارکت در توسعه sdk پروژه meilisearch
میلی سرچ یک موتور جستجوی متنباز و سریع است که با پشتیبانی از جستجوی بلادرنگ، زبانهای مختلف و API ساده، تجربهای روان برای کاربران فراهم میکند. این موتور با افزودن قابلیتهای هوش مصنوعی مانند جستجوی برداری و تعامل با مدلهای زبانی بزرگ (LLMs)، امکان جستجوی معنایی و مکالمهای را نیز فراهم کرده و گزینهای مناسب برای پروژههای مدرن محسوب میشود.
من به عنوان Maintainer بخش sdk زبان گولنگ پروژه از دوستانی که مایل هستند مشارکت در پروژه آزاد را تجربه کنند دعوت میکنم از این فرصت برای بهبود sdk و تجربه پیاده سازی sdk استفاده کنید.
🏘 https://www.meilisearch.com/
✅ https://github.com/meilisearch/meilisearch-go
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
میلی سرچ یک موتور جستجوی متنباز و سریع است که با پشتیبانی از جستجوی بلادرنگ، زبانهای مختلف و API ساده، تجربهای روان برای کاربران فراهم میکند. این موتور با افزودن قابلیتهای هوش مصنوعی مانند جستجوی برداری و تعامل با مدلهای زبانی بزرگ (LLMs)، امکان جستجوی معنایی و مکالمهای را نیز فراهم کرده و گزینهای مناسب برای پروژههای مدرن محسوب میشود.
من به عنوان Maintainer بخش sdk زبان گولنگ پروژه از دوستانی که مایل هستند مشارکت در پروژه آزاد را تجربه کنند دعوت میکنم از این فرصت برای بهبود sdk و تجربه پیاده سازی sdk استفاده کنید.
🏘 https://www.meilisearch.com/
✅ https://github.com/meilisearch/meilisearch-go
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
❤7
🎉 امروز خوشحال شدم که دیدم یکی از مطالبی که نوشته بودم در پول ریکوئست Homebrew رفرنس شده!
https://github.com/Homebrew/homebrew-core/pull/226636
در این PR، نسخهی جدید Go 1.25 اضافه شده، و در توضیحاتش به مقالهای از من دربارهی ویژگیهای جدید و بهبودهای نسخهی 1.25 اشاره شده بود.
📝 مقالهی من در بلاگم: https://open.substack.com/pub/bitstack/p/go-125-upcoming-changes-faster-smarter
این برای من یک نشونهی کوچیک ولی دلگرمکننده بود که نشون میده تولید محتوای تخصصی میتونه واقعاً اثرگذار باشه—even در پروژههای بزرگی مثل Homebrew.
از همهی کسانی که منو دنبال میکنن و به اشتراکگذاری دانش اهمیت میدن، ممنونم. ❤️
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
https://github.com/Homebrew/homebrew-core/pull/226636
در این PR، نسخهی جدید Go 1.25 اضافه شده، و در توضیحاتش به مقالهای از من دربارهی ویژگیهای جدید و بهبودهای نسخهی 1.25 اشاره شده بود.
📝 مقالهی من در بلاگم: https://open.substack.com/pub/bitstack/p/go-125-upcoming-changes-faster-smarter
این برای من یک نشونهی کوچیک ولی دلگرمکننده بود که نشون میده تولید محتوای تخصصی میتونه واقعاً اثرگذار باشه—even در پروژههای بزرگی مثل Homebrew.
از همهی کسانی که منو دنبال میکنن و به اشتراکگذاری دانش اهمیت میدن، ممنونم. ❤️
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
👍17🆒5❤2🔥2
📚 بخش الگوهای همزمانی کتاب مجدد بازنویسی شد!!
در این بخش یکسری ایرادات و کم کاستی وجود داشت که کاملا حل شدش و به همراه توضیحات کامل و مثال های اصولی 🎉 منتشر شد.
- سایت: https://book.gofarsi.ir/chapter-9/concurrency-patterns/
- دانلود نسخه دسکتاپ: https://github.com/GoFarsi/book/releases/latest
- نسخه ایمیج داکر: https://github.com/orgs/GoFarsi/packages/container/package/book
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
در این بخش یکسری ایرادات و کم کاستی وجود داشت که کاملا حل شدش و به همراه توضیحات کامل و مثال های اصولی 🎉 منتشر شد.
- سایت: https://book.gofarsi.ir/chapter-9/concurrency-patterns/
- دانلود نسخه دسکتاپ: https://github.com/GoFarsi/book/releases/latest
- نسخه ایمیج داکر: https://github.com/orgs/GoFarsi/packages/container/package/book
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
🔥9
🚀 اولین لپ تاپ اسمبل شده با برد رزبری پای Compute Module 5
https://www.youtube.com/watch?v=op05N_-esY0
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
https://www.youtube.com/watch?v=op05N_-esY0
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
YouTube
Behind the Build: Prototyping the Argon ONE UP 🔧
Join us as we take you inside the journey of creating the Argon ONE UP — the world's first Raspberry Pi CM5-based laptop designed for makers, developers, and anyone who dares to go beyond Intel and Mac.
The Other Laptop — open, and ARMed for innovation.…
The Other Laptop — open, and ARMed for innovation.…
❤4
Forwarded from Go Casts 🚀
یادگیری هیجان انگیز + بهبود کیفیت کد با CodeRabbit
واقعاً شگفتزده شدم! 🤯
انگار که یه مهندس ارشد نرم افزار در کنارته و کدت رو review میکنه!
این ابزار نهتنها کیفیت code reviewها رو در Pull Requestها بالا میبره، بلکه به شکل فوقالعادهای توی یادگیری عملی برنامهنویسی میتونه به شما کمک کنه.
خوبی ش اینه برای پروژه های open-source رایگانه و میتونید از همین الان حالش رو ببرید. 🎁
شما میتونید برای خودتون پروژههایی با هدف یادگیری تعریف کنید، و CodeRabbit مثل یه منتور حرفهای PRهاتون رو از جنبههای مختلف مثل:
رعایت best practice
بهبود performance
ساختار معماری کد
بهینهسازی queryهای دیتابیس
ریویو میکنه و نکات دقیقی بهتون میده. 🎯
مثلا من یه پروژه Elixir رو بهش دادم و ازش خواستم که review کنه و خروجی یه جاهایی واقعا میخکوبم کرد.
یکی قسمت Critical Issueها و ارزیابی پروژه از نظر best practices و performance بود که خیلی آموزنده ست. (کد شما رو با کد بهتر مقایسه میکنه).
https://github.com/landofbeam/dns_rabbit/pull/1#issuecomment-3130715195
یکی هم قسمت Sequence Diagram(s) بود که خودش flow درخواست هارو طراحی کرد.
https://github.com/landofbeam/dns_rabbit/pull/1#issuecomment-3124812290
کلا با CodeRabbit میشه به یه سطح دیگه ای از linting هم رسید. تا حالا ابزارهای linting زیادی دیدیم که syntax و style رو بررسی میکنن. اما واقعاً چند تا ابزار سراغ داریم که منطق کد، ساختار معماری، performance یا best practiceها رو بررسی کنن؟
این چیزیه که با CodeRabbit میشه تجربه ش کرد.
@gocasts
واقعاً شگفتزده شدم! 🤯
انگار که یه مهندس ارشد نرم افزار در کنارته و کدت رو review میکنه!
این ابزار نهتنها کیفیت code reviewها رو در Pull Requestها بالا میبره، بلکه به شکل فوقالعادهای توی یادگیری عملی برنامهنویسی میتونه به شما کمک کنه.
خوبی ش اینه برای پروژه های open-source رایگانه و میتونید از همین الان حالش رو ببرید. 🎁
شما میتونید برای خودتون پروژههایی با هدف یادگیری تعریف کنید، و CodeRabbit مثل یه منتور حرفهای PRهاتون رو از جنبههای مختلف مثل:
رعایت best practice
بهبود performance
ساختار معماری کد
بهینهسازی queryهای دیتابیس
ریویو میکنه و نکات دقیقی بهتون میده. 🎯
مثلا من یه پروژه Elixir رو بهش دادم و ازش خواستم که review کنه و خروجی یه جاهایی واقعا میخکوبم کرد.
یکی قسمت Critical Issueها و ارزیابی پروژه از نظر best practices و performance بود که خیلی آموزنده ست. (کد شما رو با کد بهتر مقایسه میکنه).
https://github.com/landofbeam/dns_rabbit/pull/1#issuecomment-3130715195
یکی هم قسمت Sequence Diagram(s) بود که خودش flow درخواست هارو طراحی کرد.
https://github.com/landofbeam/dns_rabbit/pull/1#issuecomment-3124812290
کلا با CodeRabbit میشه به یه سطح دیگه ای از linting هم رسید. تا حالا ابزارهای linting زیادی دیدیم که syntax و style رو بررسی میکنن. اما واقعاً چند تا ابزار سراغ داریم که منطق کد، ساختار معماری، performance یا best practiceها رو بررسی کنن؟
این چیزیه که با CodeRabbit میشه تجربه ش کرد.
@gocasts
👍4❤2
🎉 انتشار نسخه جدید Meilisearch Go SDK (v0.33.0)
میلی سرچ یک موتور جستجوی متنباز، بسیار سریع و سبک است که برای ارائه نتایج جستجوی آنی (instant search) با تجربهای شبیه به موتورهای بزرگ مانند گوگل طراحی شده است. این موتور بهصورت API محور ساخته شده و بهراحتی با زبانهای برنامهنویسی مختلف مانند JavaScript، Go، Python و دیگر زبانها یکپارچه میشود. Meilisearch با پشتیبانی از امکاناتی نظیر جستجوی فازی (fuzzy search)، فیلترگذاری، مرتبسازی، faceting و پشتیبانی از چند زبان، انتخابی عالی برای اپلیکیشنهای مدرن، فروشگاههای آنلاین، بلاگها و پنلهای مدیریتی است که نیاز به جستجوی سریع و کاربرپسند دارند. همچنین نصب و راهاندازی آن بسیار ساده بوده و حتی در پروژههای کوچک نیز بهخوبی قابل استفاده است.
در این نسخه ما تغییرات بزرگی داشتیم و SDK را با آخرین تغییرات اخیر میلی سرچ بروز کردیم و یکسری بروز رسانی ها و بهبود ها انجام دادیم تا تجربه آسان و سریعی را با میلی سرچ داشته باشید.
🔍 میلی سرچ: https://meilisearch.com/
🚀 جزئیات بیشتر: https://github.com/meilisearch/meilisearch-go/releases/tag/v0.33.0
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
میلی سرچ یک موتور جستجوی متنباز، بسیار سریع و سبک است که برای ارائه نتایج جستجوی آنی (instant search) با تجربهای شبیه به موتورهای بزرگ مانند گوگل طراحی شده است. این موتور بهصورت API محور ساخته شده و بهراحتی با زبانهای برنامهنویسی مختلف مانند JavaScript، Go، Python و دیگر زبانها یکپارچه میشود. Meilisearch با پشتیبانی از امکاناتی نظیر جستجوی فازی (fuzzy search)، فیلترگذاری، مرتبسازی، faceting و پشتیبانی از چند زبان، انتخابی عالی برای اپلیکیشنهای مدرن، فروشگاههای آنلاین، بلاگها و پنلهای مدیریتی است که نیاز به جستجوی سریع و کاربرپسند دارند. همچنین نصب و راهاندازی آن بسیار ساده بوده و حتی در پروژههای کوچک نیز بهخوبی قابل استفاده است.
در این نسخه ما تغییرات بزرگی داشتیم و SDK را با آخرین تغییرات اخیر میلی سرچ بروز کردیم و یکسری بروز رسانی ها و بهبود ها انجام دادیم تا تجربه آسان و سریعی را با میلی سرچ داشته باشید.
🔍 میلی سرچ: https://meilisearch.com/
🚀 جزئیات بیشتر: https://github.com/meilisearch/meilisearch-go/releases/tag/v0.33.0
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
Meilisearch
Meilisearch: Unified Search & AI Retrieval Platform
Meilisearch: Unifying your search and AI stack in a single information retrieval platform.
1🔥11👍1
📚فصل هفتم کتاب زبان گو فارسی بزودی
فصل هفتم کتاب را چند وقتیه شروع کردم و قصدم دارم خیلی عمیق به مباحث تست نویسی به همراه مثال در زبان گو بپردازم. در زیر لیست بخش های این فصل را قرار دادم اگر حس میکنید چیزی جا مونده پیشنهاد بدین.
7.1 مقدمهای بر تست در Go
7.2 تست واحد (Unit Test)
7.3 تست جدولمحور (Table-Driven Test)
7.4 تست یکپارچه (Integration Test)
7.5 تست انتها به انتها (End-to-End Test - E2E)
7.6 تست عملکرد (Benchmark)
7.7 تست فازی (Fuzz Testing)
7.8 ماک و شبیهسازی وابستگیها (Mock)
7.9 استفاده از testify
7.10 استفاده از ginkgo
7.11 تستهای همزمانی (Concurrent Testing)
7.12 سنجش پوشش تست (Code Coverage)
7.13 تست Suite و ساختاردهی تستها
7.14 تستنویسی حرفهای در پروژه
🚀 https://book.gofarsi.ir/
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
فصل هفتم کتاب را چند وقتیه شروع کردم و قصدم دارم خیلی عمیق به مباحث تست نویسی به همراه مثال در زبان گو بپردازم. در زیر لیست بخش های این فصل را قرار دادم اگر حس میکنید چیزی جا مونده پیشنهاد بدین.
7.1 مقدمهای بر تست در Go
7.2 تست واحد (Unit Test)
7.3 تست جدولمحور (Table-Driven Test)
7.4 تست یکپارچه (Integration Test)
7.5 تست انتها به انتها (End-to-End Test - E2E)
7.6 تست عملکرد (Benchmark)
7.7 تست فازی (Fuzz Testing)
7.8 ماک و شبیهسازی وابستگیها (Mock)
7.9 استفاده از testify
7.10 استفاده از ginkgo
7.11 تستهای همزمانی (Concurrent Testing)
7.12 سنجش پوشش تست (Code Coverage)
7.13 تست Suite و ساختاردهی تستها
7.14 تستنویسی حرفهای در پروژه
🚀 https://book.gofarsi.ir/
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
❤17🔥4👍3
📚آموزش تست نویسی در زبان گو فصل هفتم کتاب
بالاخره بعد از چند روز کار توانستم بخش unit testing و table driven test را کامل بنویسم و بزودی سایر بخش ها را اضافه خواهم کرد.
1. introduction
2. unit testing
3. table-driven test
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
بالاخره بعد از چند روز کار توانستم بخش unit testing و table driven test را کامل بنویسم و بزودی سایر بخش ها را اضافه خواهم کرد.
1. introduction
2. unit testing
3. table-driven test
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
زبان گو فارسی
7.1 مقدمهای بر تست در Go
تستنویسی یکی از ارکان حیاتی توسعه نرمافزارهای قابلاعتماد و نگهدارپذیر است. در دنیای امروز که سرعت توسعه و تغییرات کد روزبهروز بیشتر میشود، وجود تستهای دقیق و ساختاریافته تضمین میکند که عملکرد نرمافزار با تغییرات جدید دچار اختلال نشود. از کشف باگها…
❤15🔥3
🚀 قابلیت اجرا کد داخل کتاب
امکان اجرای کد داخل کتاب اضافه شد چه داخل گوشی چه دسکتاپ می توانید در هر بخش کد را زنده اجرا کنید و خروجی را ببینید.
https://book.gofarsi.ir/chapter-1/go-variables-and-consts/
در ضمن اگر مایل بودین از سرویس playground می توانید هرجا استفاده کنید.
https://github.com/GoFarsi/book/blob/main/static/js/playground.js
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
امکان اجرای کد داخل کتاب اضافه شد چه داخل گوشی چه دسکتاپ می توانید در هر بخش کد را زنده اجرا کنید و خروجی را ببینید.
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
پکیج 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
یک شرکت فعال در حوزه نرمافزار به دنبال جذب برنامهنویس متعهد و تماموقت (حضوری) در مشهد است.
شرایط و مهارتهای مورد نیاز:
- تسلط کامل به زبان Golang
- آشنایی با زبان Python
- تجربه عملی و کامل در کار با سرویسهای AWS شامل کانفیگ، راهاندازی سرویسها و مقیاسدهی (Scaling)
- تسلط به Docker و مفاهیم کانتینرسازی
مزایا:
- محیط کاری حرفهای و پویا
- پروژههای چالشبرانگیز و فرصت رشد
- همکاری با تیمی متخصص و صمیمی
در صورت دارا بودن شرایط فوق، لطفاً رزومه خود را به آیدی زیر ارسال کنید:
@ja7adr
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
❤2
Forwarded from چنل شخصی سید رحیم فیروزی
راز پشت پرده گولنگ ساده: فلسفهای که باید زنده بماند
(تفکر مینیمالیستی در جهان پرزرقوبرق پترنها)
گولنگ، از همان روزهای آغازین، با یک وعده بزرگ وارد صحنه شد:
سادگی، وضوح، و اجتناب از پیچیدگیهای غیرضروری.
در آن زمان، نگرانی اصلی این بود که در نسخههای بعدی، مخصوصاً گولنگ ۲، اضافهشدن فیچرهای متعدد این فلسفه را تهدید کند.
امروز، تصویر کمی متفاوت است.
زبان هنوز همان مسیر آرام و محتاطانه خود را ادامه میدهد و تغییراتش اغلب تدریجی است.
اما یک اتفاق مهمتر در حاشیه افتاده: ورود برنامهنویسانی از زبانهای دیگر که همراه خود، عادتها، پترنها و تفکرات اکوسیستمهای پیشینشان را آوردهاند.
نتیجه این مهاجرت فکری این است که حتی بدون تغییرات بزرگ در هسته زبان، استفاده از گولنگ در بسیاری از پروژهها دارد به سمت همان پیچیدگیهایی میرود که روزی از آن فرار میکردیم.
در تعریف فلسفی، «سادگی در گولنگ» یک ویژگی ذاتی زبان نیست که با نصب کامپایلر بهطور خودکار بیاید.
سادگی یک انتخاب آگاهانه است که باید در تمام چرخه توسعه، نگهداری و تصمیمگیری حفظ شود.
این یعنی، هر بار که میخواهیم یک پترن جدید یا رویکردی از زبانهای دیگر را وارد پروژه کنیم، باید از خود بپرسیم:
* آیا این انتخاب واقعاً باعث وضوح بیشتر میشود؟
* یا فقط ظاهری حرفهای دارد ولی بار مفهومی و نگهداری پروژه را سنگینتر میکند؟
* آیا این رویکرد با فلسفه مینیمالیستی گولنگ همخوانی دارد؟
مینیمالیسم در گولنگ به معنای فقر ایده یا محدودیت خلاقیت نیست.
برعکس، یعنی ساختن راهحلهایی که نهتنها کار میکنند، بلکه بهسادگی فهمیده، نگهداری و توسعه داده میشوند.
بعضی پترنها که در زبانهای پیچیدهتر ضروریاند، ممکن است در گولنگ نهتنها بیفایده باشند، بلکه فلسفه زبان را تضعیف کنند.
اما این مانع از آن نمیشود که این پترنها با هیجان و بیمحابا وارد پروژهها شوند،چون «مد» شدهاند یا چون در کامیونیتی زبان قبلی محبوب بودهاند.
از این رو، ضروری است که:
* سادگی را یک اصل دائمی بدانیم، نه یک خاطره نوستالژیک از نسخههای اولیه زبان؛
* قبل از پذیرش هر پترن، آن را با نیاز واقعی و فلسفه گولنگ تطبیق دهیم؛
* و به جای تقلید، راهحلهایی بسازیم که در بستر زبان، طبیعی و پایدار باشند.
کدی که به فلسفه گولنگ وفادار است، فقط از نظر سینتکس ساده نیست؛
بلکه در معماری، جریان داده، و تعامل تیمی هم شفاف و مختصر باقی میماند.
پس اگر گولنگ را انتخاب کردهایم، باید آگاهانه مینیمالیست باشیم، نه صرفاً به خاطر محدودیتهای زبان، بلکه به خاطر انتخابی که به کیفیت و پایداری محصول منجر میشود.
موفق باشید! 🌹
@srfirouzi_channel
(تفکر مینیمالیستی در جهان پرزرقوبرق پترنها)
گولنگ، از همان روزهای آغازین، با یک وعده بزرگ وارد صحنه شد:
سادگی، وضوح، و اجتناب از پیچیدگیهای غیرضروری.
در آن زمان، نگرانی اصلی این بود که در نسخههای بعدی، مخصوصاً گولنگ ۲، اضافهشدن فیچرهای متعدد این فلسفه را تهدید کند.
امروز، تصویر کمی متفاوت است.
زبان هنوز همان مسیر آرام و محتاطانه خود را ادامه میدهد و تغییراتش اغلب تدریجی است.
اما یک اتفاق مهمتر در حاشیه افتاده: ورود برنامهنویسانی از زبانهای دیگر که همراه خود، عادتها، پترنها و تفکرات اکوسیستمهای پیشینشان را آوردهاند.
نتیجه این مهاجرت فکری این است که حتی بدون تغییرات بزرگ در هسته زبان، استفاده از گولنگ در بسیاری از پروژهها دارد به سمت همان پیچیدگیهایی میرود که روزی از آن فرار میکردیم.
در تعریف فلسفی، «سادگی در گولنگ» یک ویژگی ذاتی زبان نیست که با نصب کامپایلر بهطور خودکار بیاید.
سادگی یک انتخاب آگاهانه است که باید در تمام چرخه توسعه، نگهداری و تصمیمگیری حفظ شود.
این یعنی، هر بار که میخواهیم یک پترن جدید یا رویکردی از زبانهای دیگر را وارد پروژه کنیم، باید از خود بپرسیم:
* آیا این انتخاب واقعاً باعث وضوح بیشتر میشود؟
* یا فقط ظاهری حرفهای دارد ولی بار مفهومی و نگهداری پروژه را سنگینتر میکند؟
* آیا این رویکرد با فلسفه مینیمالیستی گولنگ همخوانی دارد؟
مینیمالیسم در گولنگ به معنای فقر ایده یا محدودیت خلاقیت نیست.
برعکس، یعنی ساختن راهحلهایی که نهتنها کار میکنند، بلکه بهسادگی فهمیده، نگهداری و توسعه داده میشوند.
بعضی پترنها که در زبانهای پیچیدهتر ضروریاند، ممکن است در گولنگ نهتنها بیفایده باشند، بلکه فلسفه زبان را تضعیف کنند.
اما این مانع از آن نمیشود که این پترنها با هیجان و بیمحابا وارد پروژهها شوند،چون «مد» شدهاند یا چون در کامیونیتی زبان قبلی محبوب بودهاند.
از این رو، ضروری است که:
* سادگی را یک اصل دائمی بدانیم، نه یک خاطره نوستالژیک از نسخههای اولیه زبان؛
* قبل از پذیرش هر پترن، آن را با نیاز واقعی و فلسفه گولنگ تطبیق دهیم؛
* و به جای تقلید، راهحلهایی بسازیم که در بستر زبان، طبیعی و پایدار باشند.
کدی که به فلسفه گولنگ وفادار است، فقط از نظر سینتکس ساده نیست؛
بلکه در معماری، جریان داده، و تعامل تیمی هم شفاف و مختصر باقی میماند.
پس اگر گولنگ را انتخاب کردهایم، باید آگاهانه مینیمالیست باشیم، نه صرفاً به خاطر محدودیتهای زبان، بلکه به خاطر انتخابی که به کیفیت و پایداری محصول منجر میشود.
موفق باشید! 🌹
@srfirouzi_channel
❤20👍4
🚀 پشتیبانی از زبان فارسی به Meilisearch اضافه شد! 🎉
بعد از مدتها کار و تجربه دوم من در مشارکت با پروژههای Rust، بالاخره موفق شدم Normalization، Segmenter و Tokenizer مخصوص زبان فارسی را توسعه بدم و به این موتور جستجوی قدرتمند اضافه کنم.
بهزودی در نسخههای آینده، Meilisearch بهطور کامل از زبان فارسی پشتیبانی خواهد کرد. 🇮🇷✨
📌 جزئیات بیشتر: https://github.com/meilisearch/charabia/pull/350
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
بعد از مدتها کار و تجربه دوم من در مشارکت با پروژههای Rust، بالاخره موفق شدم Normalization، Segmenter و Tokenizer مخصوص زبان فارسی را توسعه بدم و به این موتور جستجوی قدرتمند اضافه کنم.
بهزودی در نسخههای آینده، Meilisearch بهطور کامل از زبان فارسی پشتیبانی خواهد کرد. 🇮🇷✨
📌 جزئیات بیشتر: https://github.com/meilisearch/charabia/pull/350
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
GitHub
Add Persian language support with normalization and segmentation by ja7ad · Pull Request #350 · meilisearch/charabia
Pull Request
Related issue
Fixes #304
What does this PR do?
Adds comprehensive Persian language support to charabia with dedicated normalizer and segmenter
Implements Persian text normalization inc...
Related issue
Fixes #304
What does this PR do?
Adds comprehensive Persian language support to charabia with dedicated normalizer and segmenter
Implements Persian text normalization inc...
🔥15👏3❤1👍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
✅ تغییرات نسخه: go.dev/doc/go1.25
📖 بررسی عمیق و جزئیات: bitstack – تغییرات Go 1.25
📦 دانلود: go.dev/dl/#go1.25.0
از بهبود عملکرد تا قابلیتهای هوشمندتر — این نسخه، Go را سریعتر، تمیزتر و لذتبخشتر برای کدنویسی میکند. 🐹✨
#golang #programming #developer #gopher #go
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
🔥9❤3🆒1
🚀 آموزش فعالسازی مدلهای قدیمی ChatGPT
با انتشار نسخه 5 چتجیپیتی، بسیاری از مدلهای قدیمی دیگر بهصورت پیشفرض نمایش داده نمیشوند.
اما همچنان میتوانید به آنها دسترسی داشته باشید! کافیست مراحل زیر را دنبال کنید:
1️⃣ وارد حساب کاربری خود شوید و به بخش Settings بروید.
2️⃣ در تب General، گزینه Show additional models را فعال کنید.
📌 با این روش، مدلهای قدیمی دوباره در لیست شما نمایش داده میشوند و میتوانید از آنها استفاده کنید.
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
با انتشار نسخه 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/
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
یک پیادهسازی پرکاربرد و سریع از پروتکل 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👍2❤1
Forwarded from چنل شخصی سید رحیم فیروزی
سادگی یا اسکیلبیلیتی؟
(تصمیمی که آینده محصول را شکل میدهد)
خیلی وقتها در طراحی سیستمها، تیمها از همان روز اول میپرسند:
«وقتی میلیونها کاربر داشتیم، چه میکنیم؟»
نتیجه این طرز فکر، معماریهای پیچیده، ابزارهای اضافه، و ماهها زمان صرف مسائلی است که شاید هیچوقت پیش نیایند.
در حالی که واقعیت این است:
بیشتر محصولها در ابتدای مسیر بیش از هر چیز به سادگی نیاز دارند
- ساده برای ساخت
- ساده برای نگهداشت
- ساده برای تغییر
- ساده حتی برای اسکیل
اسکیلبیلیتی مهم است، اما نه به قیمت از دست دادن تمرکز روی حل مسئله اصلی.
بسیاری از استارتاپهای موفق ابتدا محصولی ساده و پایدار ساختهاند و وقتی واقعاً با رشد کاربر مواجه شدند، سراغ اسکیل رفتهاند.
پس از خود بپرسیم:
آیا پیچیدگی در راستای اسکیلبیلیتی واقعاً لازم است؟
یا داریم آیندهای نامعلوم را پیشخور میکنیم؟
گاهی بهترین انتخاب این است که سیستم را ساده بسازیم و اجازه دهیم رشد واقعی ما را به سمت اسکیل هدایت کند.
سادگی امروز، راه را برای اسکیل فردا نیز باز میکند.
موفق باشید 🌹
@srfirouzi_channel
(تصمیمی که آینده محصول را شکل میدهد)
خیلی وقتها در طراحی سیستمها، تیمها از همان روز اول میپرسند:
«وقتی میلیونها کاربر داشتیم، چه میکنیم؟»
نتیجه این طرز فکر، معماریهای پیچیده، ابزارهای اضافه، و ماهها زمان صرف مسائلی است که شاید هیچوقت پیش نیایند.
در حالی که واقعیت این است:
بیشتر محصولها در ابتدای مسیر بیش از هر چیز به سادگی نیاز دارند
- ساده برای ساخت
- ساده برای نگهداشت
- ساده برای تغییر
- ساده حتی برای اسکیل
اسکیلبیلیتی مهم است، اما نه به قیمت از دست دادن تمرکز روی حل مسئله اصلی.
بسیاری از استارتاپهای موفق ابتدا محصولی ساده و پایدار ساختهاند و وقتی واقعاً با رشد کاربر مواجه شدند، سراغ اسکیل رفتهاند.
پس از خود بپرسیم:
آیا پیچیدگی در راستای اسکیلبیلیتی واقعاً لازم است؟
یا داریم آیندهای نامعلوم را پیشخور میکنیم؟
گاهی بهترین انتخاب این است که سیستم را ساده بسازیم و اجازه دهیم رشد واقعی ما را به سمت اسکیل هدایت کند.
سادگی امروز، راه را برای اسکیل فردا نیز باز میکند.
موفق باشید 🌹
@srfirouzi_channel
👍11👎1🆒1
😂 چطوری در کرنل لینوکس مشارکت داشته باشیم!!!
https://github.com/torvalds/linux/pull/1290
#fun #git #contribute
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
https://github.com/torvalds/linux/pull/1290
#fun #git #contribute
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
GitHub
Make the kernel cute by nambona890 · Pull Request #1290 · torvalds/linux
The demographic for Linux has a higher than average enjoyment of cuteness, especially with regards to anime. This PR will make the Linux kernel more comfortable and easier to maintain and use for p...
👎1