بچها جمعه اگه همه چیز خوب پیش بره ویدئو تست داریم با علی حاجی خالویی رودمپ رو تمام میکنیم، روی رودمپ یه سری آپدیت ها انجام دادم وقت کردید ببینیدش
مهم ترین چیزی که توی رودمپ اضافه شده stryker mutator هست که شبیه کانسپت جهش ژنیتیکی کدتون رو جهش میده و تست هاتون رو ران میکنه زیبا ترین قسمتش ریپورتی هست که بهتون میده
ترکیب این با test coverage خیلی دید خوبی به کیفیت تست هاتون میده حالا ویدئو ریلیز بشه داخلش میشنوید چی میگم ❤️
https://stryker-mutator.io/docs/
https://github.com/hasanxdev/Test-Roadmap-For-Developers
مهم ترین چیزی که توی رودمپ اضافه شده stryker mutator هست که شبیه کانسپت جهش ژنیتیکی کدتون رو جهش میده و تست هاتون رو ران میکنه زیبا ترین قسمتش ریپورتی هست که بهتون میده
ترکیب این با test coverage خیلی دید خوبی به کیفیت تست هاتون میده حالا ویدئو ریلیز بشه داخلش میشنوید چی میگم ❤️
https://stryker-mutator.io/docs/
https://github.com/hasanxdev/Test-Roadmap-For-Developers
یه تشکر ویژه مثل همیشه از امیر هم داشته باشیم که کانتریبیوت کرد روی DispachR و نسخه جدید DispachR از الان به بعد برای .NET8 هم سازگار هست میتونید استفاده کنید
حواستون هست DispachR بیشتر از 220 تا استار گرفت؟ تقریبا توی یک ماه. اگر علاقه به مشارکت داشتید به ایشو ها سر بزنید دوتا ایشو باز داریم
تست نویسی روهم به زودی شروع میکنیم رودمپ رو دنبال کنید اگه ندیدید ببینید ✌🏻
https://github.com/hasanxdev/DispatchR/releases/tag/v1.3.2
حواستون هست DispachR بیشتر از 220 تا استار گرفت؟ تقریبا توی یک ماه. اگر علاقه به مشارکت داشتید به ایشو ها سر بزنید دوتا ایشو باز داریم
تست نویسی روهم به زودی شروع میکنیم رودمپ رو دنبال کنید اگه ندیدید ببینید ✌🏻
https://github.com/hasanxdev/DispatchR/releases/tag/v1.3.2
GitHub
Release v1.3.2 - Support .NET8 · hasanxdev/DispatchR
What's Changed
update README.md by @hasanxdev in #28
✨ Add .NET 8 Support by @AmBplus in #30
update version in README.md by @hasanxdev in #32
New Contributors
@AmBplus made their first cont...
update README.md by @hasanxdev in #28
✨ Add .NET 8 Support by @AmBplus in #30
update version in README.md by @hasanxdev in #32
New Contributors
@AmBplus made their first cont...
Forwarded from Learning With M
سلام.
متاسفانه اخیرا شاهد تعدیل نیرو در شرکت های بزرگی مثل علی بابا بودیم.
تحلیل های متفاوتی هم می بینم که دوستان می نوسین که اکثرا از روی عصبانیت هست.
از اونجایی که هر مشکلی همیشه یه درسی توش داره، می خوام از این مشکل هم یک درس جدید در بیارم.
برای همین میخوام در مورد دلایل تعدیل نیرو به این سبک در شرکت های فناوری براتون بگم.
برای همین پستی در وبلاگم در این مورد نوشتم که توجه شما رو به اون جلب می کنم :
چرا شرکت های فناوری تعدیل نیرو می کنند.
@learning_with_m
متاسفانه اخیرا شاهد تعدیل نیرو در شرکت های بزرگی مثل علی بابا بودیم.
تحلیل های متفاوتی هم می بینم که دوستان می نوسین که اکثرا از روی عصبانیت هست.
از اونجایی که هر مشکلی همیشه یه درسی توش داره، می خوام از این مشکل هم یک درس جدید در بیارم.
برای همین میخوام در مورد دلایل تعدیل نیرو به این سبک در شرکت های فناوری براتون بگم.
برای همین پستی در وبلاگم در این مورد نوشتم که توجه شما رو به اون جلب می کنم :
چرا شرکت های فناوری تعدیل نیرو می کنند.
@learning_with_m
جهش ژنتیکی با قسمت آخر رودمپ تست نویسی | با QA Lead Okala
در قسمت پایانی این رودمپ تست نرمافزار، در ابتدای ویدئو به یکی از جدیترین ابزارهای ارزیابی کیفیت تست میپردازیم: Mutation Testing.
با ایجاد «جهشهای مصنوعی» در کد، بررسی می کند که آیا تستها واقعا میتونن رفتار نادرست رو شناسایی کنن یا نه.
برخی از مواردی دربارشون گپ میزنیم:
03:20 مزایا و معایب Test Coverage
10:45 تست با جهش کد
15:40 انواع Test Smell
29:30 قوانین نوشتن تست تمیز
35:18 تست های اتوماتیک و دستی
40:23 تست اتومات بدون پایپلاین
43:10 ابزار های تست کیفیت کد
لینک ویدئو: https://youtu.be/gaOae6z7wvQ
مدت زمان: 50 دقیقه
در قسمت پایانی این رودمپ تست نرمافزار، در ابتدای ویدئو به یکی از جدیترین ابزارهای ارزیابی کیفیت تست میپردازیم: Mutation Testing.
با ایجاد «جهشهای مصنوعی» در کد، بررسی می کند که آیا تستها واقعا میتونن رفتار نادرست رو شناسایی کنن یا نه.
برخی از مواردی دربارشون گپ میزنیم:
03:20 مزایا و معایب Test Coverage
10:45 تست با جهش کد
15:40 انواع Test Smell
29:30 قوانین نوشتن تست تمیز
35:18 تست های اتوماتیک و دستی
40:23 تست اتومات بدون پایپلاین
43:10 ابزار های تست کیفیت کد
لینک ویدئو: https://youtu.be/gaOae6z7wvQ
مدت زمان: 50 دقیقه
سلام رفقا، برای ویدیوهای تستنویسی کمکتون لازمه.
اگه تایم ویدیوها رو کم کنیم ولی با کاتهای منسجم (مثلاً اول توضیح بدم چی میخوایم بنویسیم، بعد یهو کد آماده بیاد)، حس بهتری داره یا حالت طولانی و پیوسته؟
یک یا دو مورد انتخاب کنید و نظر بدین.
اگه تایم ویدیوها رو کم کنیم ولی با کاتهای منسجم (مثلاً اول توضیح بدم چی میخوایم بنویسیم، بعد یهو کد آماده بیاد)، حس بهتری داره یا حالت طولانی و پیوسته؟
یک یا دو مورد انتخاب کنید و نظر بدین.
Anonymous Poll
55%
حدودا 15 دقیقه باشه با کات و تعداد قسمت بیشتر
27%
حدودا 30 دقیقه باشه با کات و تعداد قسمت کمتر
24%
طولانی باشه ولی با کات کمتر (شبیه الان)
استراکت استفاده کنیم یا نه؟ شمشیر دولبهای که میتواند پرفورمنس شما را بسیار کاهش دهد
استراکت، با توجه به ذخیرهی آن در Stack، زمانی که در متدهای async استفاده شود، باید حتماً Copy by Value شود. بهعبارت سادهتر، یک Deep Copy از آن گرفته میشود و نمیتوان آن را با کیورد ref ارسال کرد.
این هزینه در استراکتهایی با Shallow Size حدوداً ۱۶ بایت خیلی احساس نمیشود؛ اما صرفاً کافیست Shallow Size از این مقدار بیشتر شود. هرچقدر حجم Shallow Size بزرگتر شود، سرعت اجرای متد کاهش پیدا میکند.
در بنچمارکی که مشاهده میکنید، یک کلاس و یک استراکت با پراپرتیهایی کاملاً مشابه (تقریباً ۱۰۰ پراپرتی double) در یک متد Recursive صد بار اجرا شدهاند. همانطور که مشاهده میکنید، استراکت بهشدت Performance را کاهش داده است.
اما در مقابل، از تخصیص حافظه جلوگیری کرده است (پس از پایان هر متد، دیتا فوراً از حافظه پاک میشود و GC Pressure خاصی نداریم).
لذا اگر علاقهمند به تیون کردن حافظه هستید، حتماً این نکته را در نظر بگیرید.
دقت کنید که Overhead صرفاً مربوط به متدهای async نیست و در متدهای sync نیز وجود دارد، اما با pass by ref قابل حل است.
چه زمانی استفاده از struct مفید است؟
1. زمانی که از ref struct استفاده شود.
2. زمانی که ref struct نداریم و مطمئن باشیم Shallow Size بیش از ۱۶ بایت نمیشود.
3. زمانی که در متدهای sync از کیورد ref استفاده کنیم و استراکت را توسط reference ارسال کنیم.
استراکت، با توجه به ذخیرهی آن در Stack، زمانی که در متدهای async استفاده شود، باید حتماً Copy by Value شود. بهعبارت سادهتر، یک Deep Copy از آن گرفته میشود و نمیتوان آن را با کیورد ref ارسال کرد.
این هزینه در استراکتهایی با Shallow Size حدوداً ۱۶ بایت خیلی احساس نمیشود؛ اما صرفاً کافیست Shallow Size از این مقدار بیشتر شود. هرچقدر حجم Shallow Size بزرگتر شود، سرعت اجرای متد کاهش پیدا میکند.
در بنچمارکی که مشاهده میکنید، یک کلاس و یک استراکت با پراپرتیهایی کاملاً مشابه (تقریباً ۱۰۰ پراپرتی double) در یک متد Recursive صد بار اجرا شدهاند. همانطور که مشاهده میکنید، استراکت بهشدت Performance را کاهش داده است.
اما در مقابل، از تخصیص حافظه جلوگیری کرده است (پس از پایان هر متد، دیتا فوراً از حافظه پاک میشود و GC Pressure خاصی نداریم).
لذا اگر علاقهمند به تیون کردن حافظه هستید، حتماً این نکته را در نظر بگیرید.
دقت کنید که Overhead صرفاً مربوط به متدهای async نیست و در متدهای sync نیز وجود دارد، اما با pass by ref قابل حل است.
چه زمانی استفاده از struct مفید است؟
1. زمانی که از ref struct استفاده شود.
2. زمانی که ref struct نداریم و مطمئن باشیم Shallow Size بیش از ۱۶ بایت نمیشود.
3. زمانی که در متدهای sync از کیورد ref استفاده کنیم و استراکت را توسط reference ارسال کنیم.
👍7 5 3 2
تاحالا برای پروژه بدون تست، تست نوشتی؟ 🤕
بعد از تمام شدن مباحث تئوری رودمپ تست نویسی حالا وقتشه باهم عملی کد بزنیم
توی این ویدئو خیلی سعی کردم نحوه فکر کردنم به موضوع تست نویسی رو بهتون بگم امیدوارم لذت ببرین.
حمایت هاتون باعث دلگرمیه مرسی که هستید ❤️
تست ها کامل بشه روی ریپو اصلی هم قرارشون میدم
مدت زمان ویدئو: 30 دقیقه
برای دیدن ویدئو کلیک کنید
بعد از تمام شدن مباحث تئوری رودمپ تست نویسی حالا وقتشه باهم عملی کد بزنیم
توی این ویدئو خیلی سعی کردم نحوه فکر کردنم به موضوع تست نویسی رو بهتون بگم امیدوارم لذت ببرین.
حمایت هاتون باعث دلگرمیه مرسی که هستید ❤️
تست ها کامل بشه روی ریپو اصلی هم قرارشون میدم
مدت زمان ویدئو: 30 دقیقه
برای دیدن ویدئو کلیک کنید
Please open Telegram to view this post
VIEW IN TELEGRAM
Code With HSN
تاحالا برای پروژه بدون تست، تست نوشتی؟ 🤕 بعد از تمام شدن مباحث تئوری رودمپ تست نویسی حالا وقتشه باهم عملی کد بزنیم توی این ویدئو خیلی سعی کردم نحوه فکر کردنم به موضوع تست نویسی رو بهتون بگم امیدوارم لذت ببرین. حمایت هاتون باعث دلگرمیه مرسی که هستید ❤️ تست…
اینم از قولی که داده بودم
تست ها تموم شدن و چون میخواستم کتابخونه ای باشه که بیشتر از قبل قابل اعتماد باشه تا 99 درصد کد هارو با test cover کردم ❤️
وقت داشتید یه سری به تست ها بزنید یا ویدئو رو ببینید
ارادتمند ❤️
https://github.com/hasanxdev/DispatchR/
تست ها تموم شدن و چون میخواستم کتابخونه ای باشه که بیشتر از قبل قابل اعتماد باشه تا 99 درصد کد هارو با test cover کردم ❤️
وقت داشتید یه سری به تست ها بزنید یا ویدئو رو ببینید
ارادتمند ❤️
https://github.com/hasanxdev/DispatchR/
صبح بخیر به همه برنامهنویسهای عزیز که دنبال طلب دانوش هستید 🌞
ویدئو جدید داریم 🔥
در این ویدیو ابتدا تفاوتهای GC Workstation و GC Server را بررسی میکنیم، سپس در یک پروژه عملی سناریوهای پاکسازی حافظه، مراحل آن و انواع دادههای تحت مدیریت GC را مرور میکنیم. یاد میگیریم چطور رویدادهای GC را دریافت کنیم، متریکها را اکسپوز کنیم و در Grafana نمایش دهیم. در پایان هم زمانها و روشهای مناسب فراخوانی دستی GC را توضیح میدهیم.
مدت زمان ویدئو: 37 دقیقه
پلی لیست: Pro .NET Memory Management
ویدئو:
https://youtu.be/naDedl-onHs
روز خوبی داشته باشید 🌱
ویدئو جدید داریم 🔥
در این ویدیو ابتدا تفاوتهای GC Workstation و GC Server را بررسی میکنیم، سپس در یک پروژه عملی سناریوهای پاکسازی حافظه، مراحل آن و انواع دادههای تحت مدیریت GC را مرور میکنیم. یاد میگیریم چطور رویدادهای GC را دریافت کنیم، متریکها را اکسپوز کنیم و در Grafana نمایش دهیم. در پایان هم زمانها و روشهای مناسب فراخوانی دستی GC را توضیح میدهیم.
مدت زمان ویدئو: 37 دقیقه
پلی لیست: Pro .NET Memory Management
ویدئو:
https://youtu.be/naDedl-onHs
روز خوبی داشته باشید 🌱
👍21 6😁3 2 1
رفقا سلام و عرض ادب
این مدت که نبودم درگیر یه سری مسائل بودم و بعدشم خونه ام رو عوض کردم (خیلی آلودگی صوتی داشت)
یه خورده دیگه ویدئو هارو شروع میکنم اگر دنبال آموزش خاصی هستید توی کامنت ها بگید ❤️
این مدت که نبودم درگیر یه سری مسائل بودم و بعدشم خونه ام رو عوض کردم (خیلی آلودگی صوتی داشت)
یه خورده دیگه ویدئو هارو شروع میکنم اگر دنبال آموزش خاصی هستید توی کامنت ها بگید ❤️
2 35 3
خیلی زیبا میشد اگر برنامه های ما زمانی که concurrency براشون پیش میاد نیازی به redlock ردیس نداشتن.
اینطوری میشد latency رو کاهش داد و ردیس رو به عنوان Single Point of Failure حذف کرد.
تجربه مشابه ای در این باره داشتید؟ هم latency رو حذف کرده باشید و هم SPOF رو. 😁
اینطوری میشد latency رو کاهش داد و ردیس رو به عنوان Single Point of Failure حذف کرد.
تجربه مشابه ای در این باره داشتید؟ هم latency رو حذف کرده باشید و هم SPOF رو. 😁
🤔9👍3❤1🙏1
Code With HSN
خیلی زیبا میشد اگر برنامه های ما زمانی که concurrency براشون پیش میاد نیازی به redlock ردیس نداشتن. اینطوری میشد latency رو کاهش داد و ردیس رو به عنوان Single Point of Failure حذف کرد. تجربه مشابه ای در این باره داشتید؟ هم latency رو حذف کرده باشید و هم SPOF…
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍1🔥1🙏1
Media is too big
VIEW IN TELEGRAM
با کافکا کمتر به RedLock نیاز داری!
این یک حقیقته که خیلی وقت ها دولوپر ها فراموشش میکنند
توی این ویدئو بررسیش میکنیم و دوباره قدرت کافکا رو باهم میبینیم!
مواردی که باهم بررسی میکنیم:
1. چرا همیشه Redlock بهترین راه نیست؟
2. کافکا چطوری میتونه خودش قفل طبیعی سیستم باشه؟
3. چطوری به این پیاده سازی باید برسیم؟
در یوتیوب نسخه کامل ویدئو رو ببینید 🙂 👇🏻
https://youtu.be/kc-TzLcz_kQ
این یک حقیقته که خیلی وقت ها دولوپر ها فراموشش میکنند
توی این ویدئو بررسیش میکنیم و دوباره قدرت کافکا رو باهم میبینیم!
مواردی که باهم بررسی میکنیم:
1. چرا همیشه Redlock بهترین راه نیست؟
2. کافکا چطوری میتونه خودش قفل طبیعی سیستم باشه؟
3. چطوری به این پیاده سازی باید برسیم؟
در یوتیوب نسخه کامل ویدئو رو ببینید 🙂 👇🏻
https://youtu.be/kc-TzLcz_kQ
🔥11❤9👍5🙏1
Code With HSN
با کافکا کمتر به RedLock نیاز داری! این یک حقیقته که خیلی وقت ها دولوپر ها فراموشش میکنند توی این ویدئو بررسیش میکنیم و دوباره قدرت کافکا رو باهم میبینیم! مواردی که باهم بررسی میکنیم: 1. چرا همیشه Redlock بهترین راه نیست؟ 2. کافکا چطوری میتونه خودش قفل…
رفقا از تایم ویدئو ها راضی هستین یا کمتر کنیم؟
اگر 2x ببینید حدودا ۱۵ دقیقه میشه ✌🏻
اگر 2x ببینید حدودا ۱۵ دقیقه میشه ✌🏻
❤17👍9🙏1
حالا وقتشه که کل runtime رو بریزیم بیرون. 😊+🕶 = 😎
راستی میم توی ویدئو قبلی رو دیدین؟😅
راستی میم توی ویدئو قبلی رو دیدین؟
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🙏3🔥1
کار خوبه دلی باشه
تا الان 35 تا ویدئو رکورد کردم با 1.5م چیزی نزدیک 23 ساعت آموزش!
3 برابر اینو ازتون میگیرن توی جلسات 1.5 ساعته کد میزنن بجای اینکه مهندس نرم افزارتون کنن کد نویستون میکنن
فقط کافیه به یکی از چالش های خارج از دورشون برخورد کنید اونجا میفهمید چقدر ضعف دارین
عشقین ❤️👋🏻
راستی روزمون هم مبارک 😍🥰
تا الان 35 تا ویدئو رکورد کردم با 1.5م چیزی نزدیک 23 ساعت آموزش!
3 برابر اینو ازتون میگیرن توی جلسات 1.5 ساعته کد میزنن بجای اینکه مهندس نرم افزارتون کنن کد نویستون میکنن
فقط کافیه به یکی از چالش های خارج از دورشون برخورد کنید اونجا میفهمید چقدر ضعف دارین
عشقین ❤️👋🏻
راستی روزمون هم مبارک 😍🥰
❤49🙏1
رفقا سلام،
ما داریم یه Book Club برای کتابهای مهندسی نرمافزار (مثل Clean Code, Pragmatic Programmer, DDD) راه میندازیم.
یک یا چند کتاب رو به انتخاب هم گروهی باهم خلاصه شده میخونیم و تجربیاتمون رو به اشتراک میزاریم. علاقه ای به شرکت در این Club دارین؟
ما داریم یه Book Club برای کتابهای مهندسی نرمافزار (مثل Clean Code, Pragmatic Programmer, DDD) راه میندازیم.
یک یا چند کتاب رو به انتخاب هم گروهی باهم خلاصه شده میخونیم و تجربیاتمون رو به اشتراک میزاریم. علاقه ای به شرکت در این Club دارین؟
Final Results
53%
28%
19%
Code With HSN
حالا وقتشه که کل runtime رو بریزیم بیرون. 😊+🕶 = 😎 راستی میم توی ویدئو قبلی رو دیدین؟ 😅
فردا ساعت 09:00 ❤️
کیفیت خدا 🔥
صدا خدا 🔥
خونه جدید 🔥
بکگراند جدید 🔥
محتوا یونیک 🔥
اول هفته تون رو با خنده و یادگیری شروع کنید اینطوری ماندگار تره 😅
🚨 خطر پخش میم در ویدئو
خیلی عشقین.
کیفیت خدا 🔥
صدا خدا 🔥
خونه جدید 🔥
بکگراند جدید 🔥
محتوا یونیک 🔥
اول هفته تون رو با خنده و یادگیری شروع کنید اینطوری ماندگار تره 😅
🚨 خطر پخش میم در ویدئو
خیلی عشقین.
❤12🔥4👍1
Media is too big
VIEW IN TELEGRAM
🚀 گرافانا هارو پاچیدم روی Runtimeها
اگه همیشه میخواستی بدونی برنامههات توی Runtime دقیقاً چه بلایی سر CPU، Memory و Thread ها میارن، این ویدئو برای توئه 🔥
توی این ویدئو باهم:
🔹 اول از همه Grafana و Prometheus رو ستاپ میکنیم
🔹 با prometheus-net متریکهای حیاتی رو اکسپورت میکنیم
🔹 با دشبوردهای آماده Grafana آشنا میشیم
🔹 و در نهایت یه دشبورد کاستوم برای Runtime میسازیم که تصویر واقعی از وضعیت اپلیکیشن بهمون بده
🎯 بعد از دیدن این ویدئو میتونی خیلی راحت بفهمی چرا اپلیکیشنت کند میشه یا رم میخوره، و با مانیتورینگ درست، مشکلاتو قبل از اینکه دیر بشه پیدا کنی!
📺 اگه تیزر برات جذاب بود نسخه کامل رو در یوتیوب ببین.
📱 https://youtu.be/uZCiqUcl6bc
اگه همیشه میخواستی بدونی برنامههات توی Runtime دقیقاً چه بلایی سر CPU، Memory و Thread ها میارن، این ویدئو برای توئه 🔥
توی این ویدئو باهم:
🔹 اول از همه Grafana و Prometheus رو ستاپ میکنیم
🔹 با prometheus-net متریکهای حیاتی رو اکسپورت میکنیم
🔹 با دشبوردهای آماده Grafana آشنا میشیم
🔹 و در نهایت یه دشبورد کاستوم برای Runtime میسازیم که تصویر واقعی از وضعیت اپلیکیشن بهمون بده
🎯 بعد از دیدن این ویدئو میتونی خیلی راحت بفهمی چرا اپلیکیشنت کند میشه یا رم میخوره، و با مانیتورینگ درست، مشکلاتو قبل از اینکه دیر بشه پیدا کنی!
📺 اگه تیزر برات جذاب بود نسخه کامل رو در یوتیوب ببین.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3👏1