✅ تغییرات عملکردی نسخه Go1.25
در نسخه ۱.۲۵ گولنگ تغییرات و بهبود های عملکردی در GC و نسخه دوم json داریم که در پست بلاگم میتوانید دنبال کنید.
https://bitstack.substack.com/p/go-125-upcoming-changes-faster-smarter
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
در نسخه ۱.۲۵ گولنگ تغییرات و بهبود های عملکردی در GC و نسخه دوم json داریم که در پست بلاگم میتوانید دنبال کنید.
https://bitstack.substack.com/p/go-125-upcoming-changes-faster-smarter
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
Substack
Go 1.25 Upcoming Changes: Faster, Smarter, and Safer
Explore the latest improvements in garbage collection, JSON performance, runtime safety, and developer tooling introduced in Go 1.25.
✅ صفحهی بلاگ و خبرنامهی شخصی من با محوریت مطالب فنی و آموزشی
اگر علاقهمند بودید، خوشحال میشم به این صفحات بپیوندید تا از آخرین نوشتهها و مطالب من باخبر باشید:
بلاگ: https://bitstack.substack.com/
خبرنامهی لینکدین: https://www.linkedin.com/newsletters/bitstack-7343373715612561409/
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
اگر علاقهمند بودید، خوشحال میشم به این صفحات بپیوندید تا از آخرین نوشتهها و مطالب من باخبر باشید:
بلاگ: https://bitstack.substack.com/
خبرنامهی لینکدین: https://www.linkedin.com/newsletters/bitstack-7343373715612561409/
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
Substack
Bitstack | Javad Rajabzadeh | Substack
A blog on Golang, Rust, and software engineering, sharing practical tips, tricks, and techniques to build scalable and high-performance systems. Click to read Bitstack, by Javad Rajabzadeh, a Substack publication. Launched 10 months ago.
❤1
🚀 افزایش سرعت بوت توزیع های لینوکس
یکی از مشکلاتی که پس مدت ها در سرعت بوت لینوکس پیش می آید سرویس های غیر ضروری systemd ای که هنگام بوت اجرا می شود هست که در این پست بلاگم سعی کردم یک روش امن را معرفی کنم که سرعت بوت را بهبود دهید.
https://open.substack.com/pub/bitstack/p/speed-up-your-linux-startup-delay
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
یکی از مشکلاتی که پس مدت ها در سرعت بوت لینوکس پیش می آید سرویس های غیر ضروری systemd ای که هنگام بوت اجرا می شود هست که در این پست بلاگم سعی کردم یک روش امن را معرفی کنم که سرعت بوت را بهبود دهید.
https://open.substack.com/pub/bitstack/p/speed-up-your-linux-startup-delay
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
Substack
Speed Up Your Linux Startup: Delay Heavy Services with systemd
Optimize Linux boot time by delaying background services with systemd techniques.
👍2🆒1
Golang Insights pinned «✅ صفحهی بلاگ و خبرنامهی شخصی من با محوریت مطالب فنی و آموزشی اگر علاقهمند بودید، خوشحال میشم به این صفحات بپیوندید تا از آخرین نوشتهها و مطالب من باخبر باشید: بلاگ: https://bitstack.substack.com/ خبرنامهی لینکدین: https://www.linkedin.com/newsletters/bitstack…»
Forwarded from عکس نگار
⁉️ بررسی نحوه ذخیره شدن slice در حافظه stack و شرایط
در مطلبی به تغییرات نسخه 1.25 انتشار کردم یکی از ویژگی هایی که اضافه شده "Improved Stack Allocation for Slices" است. که این امکان را می دهد براساس یک threshold مشخصی slice شما در حافظه stack به عنوان یک آرایه ذخیره شود.
در تصویر بخشی است که اینکار را انجام می دهد:
1. در ابتدا مقدار threshold شما را میگیرد که پیش فرض تا 32 هست و امکان تغییر با استفاده از فلگ
2. در بخش دوم که تصویر اشاره کردم
3. در مورد سوم تعداد المنتی که داخل stack میرود یا داخل heap مانند مثال زیر است:
طبق مثال فوق هرچی تعداد المنت به threshold نزدیک شود تعداد المنتی کمتری داخل stack نگه داری می شود و الباقی داخل heap می رود.
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
در مطلبی به تغییرات نسخه 1.25 انتشار کردم یکی از ویژگی هایی که اضافه شده "Improved Stack Allocation for Slices" است. که این امکان را می دهد براساس یک threshold مشخصی slice شما در حافظه stack به عنوان یک آرایه ذخیره شود.
در تصویر بخشی است که اینکار را انجام می دهد:
1. در ابتدا مقدار threshold شما را میگیرد که پیش فرض تا 32 هست و امکان تغییر با استفاده از فلگ
-gcflags=all=-d=variablemakehash=n امکان غیرفعال کردن دارد.2. در بخش دوم که تصویر اشاره کردم
maxStackSize را تقسیم بر t.Elem().Size() یا تعداد المنت slice می کنیم و یک اندازه مشخص برا ی ذخیره کردن در stack مشخص می شود و بصورت آرایه نگه میداریم.3. در مورد سوم تعداد المنتی که داخل stack میرود یا داخل heap مانند مثال زیر است:
maxStackSize / t.Elem().Size() = total element stored in stack
- 32 / >= 32 = 0 (all store to heap)
- 32 / 13 = 2 (2 element first store into stack other store into heap)
- 32 / 5 = 6 (all element store into stack)
طبق مثال فوق هرچی تعداد المنت به threshold نزدیک شود تعداد المنتی کمتری داخل stack نگه داری می شود و الباقی داخل heap می رود.
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
🔥8❤1
🚀 بررسی عمیق Stack-Allocated Slices
در پست قبلی خیلی خلاصه این تغییر را بررسی کردیم اما در صفحه بلاگم سعی کردم خیلی عمیق این تغییر را بررسی کنم و نکاتی باعث این بهبود شده را توضیح دهم.
https://bitstack.substack.com/p/go-125-compiler-update-stronger-alignment
در صورتیکه از این مطلب لذت بردین در صفحه بلاگم با زدن subscribe از آخرین پست هایم بواسطه ایمیل با خبر شوید.
https://bitstack.substack.com/
اگر مایل بودین می توانید در خبرنامه لینکدین هم مشترک شوید در آنجا هم پست هایم را اشتراک میزارم:
https://www.linkedin.com/newsletters/bitstack-7343373715612561409/
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
در پست قبلی خیلی خلاصه این تغییر را بررسی کردیم اما در صفحه بلاگم سعی کردم خیلی عمیق این تغییر را بررسی کنم و نکاتی باعث این بهبود شده را توضیح دهم.
https://bitstack.substack.com/p/go-125-compiler-update-stronger-alignment
در صورتیکه از این مطلب لذت بردین در صفحه بلاگم با زدن subscribe از آخرین پست هایم بواسطه ایمیل با خبر شوید.
https://bitstack.substack.com/
اگر مایل بودین می توانید در خبرنامه لینکدین هم مشترک شوید در آنجا هم پست هایم را اشتراک میزارم:
https://www.linkedin.com/newsletters/bitstack-7343373715612561409/
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
👍4❤2
🚀 سرویس Leapcell زیر ساخت رایگان
با استفاده از سرویس می توانید پروژه های متن باز خود را بصورت رایگان روی زیرساخت Leapcell اجرا کنید و برروی یک دامنه خاص یا رایگان بالا بیارید.
https://leapcell.io/
به عنوان مثال:
- https://github.com/Ja7ad/otp
- https://otp-api.leapcell.app/docs
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
با استفاده از سرویس می توانید پروژه های متن باز خود را بصورت رایگان روی زیرساخت Leapcell اجرا کنید و برروی یک دامنه خاص یا رایگان بالا بیارید.
https://leapcell.io/
به عنوان مثال:
- https://github.com/Ja7ad/otp
- https://otp-api.leapcell.app/docs
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
👍3❤1
Forwarded from اَلِف.حِ.پِ 🍋 (امیرحسین پناهےفر)
برای اینکه راحتتر بتونید نسخه آفلاین کتاب آموزش زبان Go به فارسی رو داشته باشید، بسته رو توی AUR گذاشتم.
این بسته یه نسخه وب آفلاین از کتاب «Go فارسی»ئه که میتونید بدون نیاز به اینترنت بخونیدش.
برای نصب با yay (یا هر AUR helper دیگه):
- زبان گو فارسی
این بسته یه نسخه وب آفلاین از کتاب «Go فارسی»ئه که میتونید بدون نیاز به اینترنت بخونیدش.
برای نصب با yay (یا هر AUR helper دیگه):
yay -S gofarsi-bin
- زبان گو فارسی
@alefhepe
❤10
🎉 Go 1.25 Release Candidate 2 is released!
🏃♂️ Run it in dev! Run it in prod! File bugs! go.dev/issue/new
📡 Changes logs: https://bitstack.substack.com/p/go-125-upcoming-changes-faster-smarter
⬇️ Download: go.dev/dl/#go1.25rc2
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
🏃♂️ Run it in dev! Run it in prod! File bugs! go.dev/issue/new
📡 Changes logs: https://bitstack.substack.com/p/go-125-upcoming-changes-faster-smarter
⬇️ Download: go.dev/dl/#go1.25rc2
➖➖➖➖➖➖➖➖
⚡️@GoInsights | @GolangEngineers
👍1
🧬 فصل ششم ژنریک (Generics)
پس از سه ماه در کنار کارهایم بخش ششم ژنریک ها را کامل کردم این بخش یکی از جذاب ترین بخش ها بود که سعی کردم خیلی عمیق بپردازم و الان آماده اس برای مطالعه. امیدوارم این مطلب برایتان مفید واقع شود.
https://book.gofarsi.ir/chapter-6/
درصورتیکه کتاب را میخواهید بصورت آفلاین استفاده کنید می توانید آخرین نسخه desktop را دانلود را با اجرای نسخه قبلی به نسخه جدید آپدیت نمایید.
https://github.com/GoFarsi/book/releases
⚡️@GoInsights | @GolangEngineers
پس از سه ماه در کنار کارهایم بخش ششم ژنریک ها را کامل کردم این بخش یکی از جذاب ترین بخش ها بود که سعی کردم خیلی عمیق بپردازم و الان آماده اس برای مطالعه. امیدوارم این مطلب برایتان مفید واقع شود.
https://book.gofarsi.ir/chapter-6/
درصورتیکه کتاب را میخواهید بصورت آفلاین استفاده کنید می توانید آخرین نسخه desktop را دانلود را با اجرای نسخه قبلی به نسخه جدید آپدیت نمایید.
https://github.com/GoFarsi/book/releases
در ضمن مشارکت در کتاب آزاد است و جای تجربیات شما خالی است اگر مایل بودین می توانید تجربیات خود را در کتاب به اشتراک بزارید.➖➖➖➖➖➖➖➖
https://github.com/GoFarsi/book/blob/main/COUNTRIBUTING.md
⚡️@GoInsights | @GolangEngineers
🔥8❤3
🚀 مشارکت در توسعه 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