iCodeNext
2.59K subscribers
442 photos
49 videos
10 files
288 links
🪃 همیشه تمرکزمون روی تولید محتوی خوب و با کیفیت هست، با هم داریم یاد میگیریم و به همدیگه هم یاد میدیم. البته با تمرکز بر جزئیات.

سعی میکنم همیشه در دسترس باشم.
@mhakarimi
Download Telegram
❤️ یکی از دوستان گفت که این اسکیل کردن هارو جابجا میگم، گفتم بروی چشم، یه دیزاین میزنم براش که دیگه برات دغدغه نباشه.

🌀 خیلی حال میده که تو تولید محتوی کمک میکنید، چون واقعا بعضی وقت ها، خودمم نمیدونم چی باید درست کنم. اینجوری لااقل یه نفر هم که شده، محتوی رو دوست داره.
👍63151
💎 .ToFrozenSet and .ToFrozenDictionary() vs List

🌀 دات نت 8 و یه ویژگی باحال دیگه در مورد کالکشن ها و اینکه توی حالت خواندن از این کالکشن ها، بهترین گزینه میتونه باشه( شرط داره که توی ویدیو بیشتر توضیح دادم)
در انتها هم یه بنچمارکی گرفتیم که ببینیم توی کجا و چه سناریویی میتوانیم ازش استفاده کنیم.

00:00 ImmutableObjects
02:00 .ToImmutableList
03:00 FrozenSet
04:00 Read Benchmark
07:00 Create Frozen Collection Benchmark

🚢 پلی لیست : C# in a nutshell
🕶 مدت ویدیو : 11 دقیقه
📺 لینک ویدیو :

https://youtu.be/ET9Pds_Sc9I
25👍10🔥2
🔥 انتزاع به جاش خیلی خووبه!

🚢 کجاها تابحال انتزاع خوب دیدید؟ بریم بحث کنیم روش.
👍215
🔥 رفتاره که ارزش ایجاد (تولید) می کنه.

یه مثال: به جای اینکه مجبور باشید تعداد زیادی اعداد را با دست محاسبه کنید، کامپیوتر می تونه میلیون ها عدد را در هر ثانیه محاسبه کند. معلومه که مردم براش پول میدن چون دیگه مجبور نیستند اعداد را با دست محاسبه کنند.

خوب حالا اگر اجرای این نرم افزار 1000 تومان هزینه برق داره
و شما می توانید 10 هزار تومان از مردم دریافت کنید تا اون محاسبات رو از طرف مردم اجرا کنید، خوب انگار ارزش تولید کردید و مردم برای اون رفتار هزینه میکنند.

در تئوری، این کسب و کار می تونه برای همیشه ادامه داشته باشه و به ازای هر 1 هزار تومانی که می گذاریم، 10هزار تومان تولید کنید. ( هر چند همه میدونیم این یه ساده سازی هست برای درک رفتار، و اینکه چرا به رفتار در جامعه اهمیت میدیم، رفتار در تیم، رفتار در کمپانی، رفتار در پروژه، رفتار در گفتار و خیلی خیلی موضوعات دیگه که کاملا به این رفتار حرفه ای شما گره خورده)

💎 پس شما میتونید برای خودتون ارزش تولید کنید. به همین راحتی. ❤️❤️
30👍14
🔥 نرم‌افزار به دو روش ارزش ایجاد می‌کند:

آنچه امروز انجام می‌دهد.
امکان انجام کارهای جدیدی که می‌توانیم در آینده با آن انجام دهیم.

گزینه اول که خوب مشخصه مثل اینکه الان داره محاسبات حقوق رو انجام میده، خوب این نرم افزار ارزش داره تولید میکن.

اما مهم قسمت دوم ماجراست، که قراره در آینده کارهای جدید انجام بده، یعنی یه ویژگی که قبلا نبوده، حالا کاربر یه دکمه جدید توی صفحه میبینه که یه رفتار جدید رو داره ایجاد میکنه، و این میتونه ارزش تولید کنه.

خوب در این حالت، تغییرات مهم هستند. چون همه چیز در حال تغییر است و یا در طول زمان تغییر میکنه.

نرم افزار و یا هر چیز دیگه ای ( فرد، محیط، شرکت، ...) خوبه که بتونه خودش رو تطبیق بده با تغییرات. ( اصل داروین که واقعا بهش اعتقاد دارم )

تغییرات -> رفتار جدید -> ارزش جدید تولید میکنه.
👍2910🔥6
SwiftLink - Modern Shortener Link Project

🔥Technical Features:
Clean Architecture
Caching with Redis
Resilience with Polly
Global Exception Handling
FluentValidation
MediatR and MediatR Pipeline
Logging and Monitoring
Prometheus
Dependency Injection
Entity Framework Core
Docker Support
API Documentation
Best Result Pattern and Problem Details

🔗 لینک پروژه

https://github.com/mohammadKarimi/SwiftLink

مشتی هایی که ستاره دادن ( مشتی های بعدی هم منتظرشون هستیم )

https://github.com/mohammadKarimi/SwiftLink/stargazers

اگرم سوالی داشتید حتما بگید و کلی روش بحث میکنیم و سعی میکنم همه رو جواب بدم و اینکه چرا این مدلی پیاده سازیش کردیم. ❤️
37👍11🔥1
🔥 اولین پلی لیستی که درست کردم (بعد از بوت کمپ رایگان عید 1402) و محتوی که ارسال کردم برای ساختار مموری و مدیریت مموری در دات نت بودش، من خودم خیلی باهاش حال میکردم. الان برگشتم دیدم چقدر کاور هاش بده (کاور رو هم از طرح رایدر استفاده کردم). و سعی کردم یه کاور بهتری بزنم براشون.

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

دمتون گرم.

📺 لیست ویدیو ها.
https://www.youtube.com/watch?v=t1u6trdi9vY&list=PLN5rV4x2x5XfGfkDsN0xF50bYfaXj5b_H
42👍13🔥5🙏2
🔥 Backward And Forward Compatible

🌗 بعد از یه مدت طولانی، حالا شروع کنیم ببینیم چی میشه ...

🌀 کدومش واقعا سخت تره ؟ کدی بنویسیم که مکانیزم قبلی هارو پوشش بده و یا اینکه اتفاقات و یا تغییراتی که در آینده قراره بیان؟

🔗 در کست باکس میتونید بشنوید و نظر بدید.

https://castbox.fm/episode/Backward-And-Forward-Compatible-id5362393-id708319905

❤️ مشتی هستید.
24👍16
🔥 موضوع ویدیوی بعدی رو شما بگید، البته چند تا خودمم میگم، هر کدوم نظر بیشتری آورد، و اگر بلد بودم، میسازیمش.

پیام 👇👇👇👇👇
👍14🔥8
🔥 Entity Framework Performance - Part 57

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

00:00 Aspects of data access performance
07:00 Projection
12:00 Result set Size
16:00 Cartesian explosion
20:00 Review


🚢 پلی لیست : Entity Framework
🕶 مدت ویدیو : 24 دقیقه
📺 لینک ویدیو :
https://youtu.be/75zzlzKr0WM
👍2517🔥12
🔥 Entity Framework Performance - Part 58

🌀 در ادامه بحث پرفورمنس توی انتیتی فریمورک، داریم کم کم مباحث پیشرفته رو هم صحبت میکنیم.

00:00 Previous Session
06:00 Lazy Loading
12:30 Buffering and Streaming
16:00 SplitQuery and Internal Buffering
20:00 No Tracking

🚢 پلی لیست : Entity Framework
🕶 مدت ویدیو : 22 دقیقه
📺 لینک ویدیو :
https://youtu.be/9QlqButzsu4

❤️ لایک ها توی ویدیو فراموش نشه که یوتیوب مارو هم حساب کنه، دمتون گرم 😂
👍2722
تو کدومش فعالیتمون کمه و خوبه که باشه؟ انتخاب چندتایی هم داریم. کامنت که مثل همیشه برای رفقا بازه.
Final Results
53%
ویدیو
21%
پادکست
17%
بلاگ
33%
میت های آنلاین
18%
منتورینگ AdpList
20%
مسابقه کد روی الگوریتم و ساختمون داده ( با هزینه ورودی پایین که همرو بدیم به برنده )
👍6👎1
iCodeNext pinned «تو کدومش فعالیتمون کمه و خوبه که باشه؟ انتخاب چندتایی هم داریم. کامنت که مثل همیشه برای رفقا بازه.»
🔥 Entity Framework Core Performance - Part 59

🌀 دوباره یه مروری کردیم روی مشکل Cartesian explosion و یه مثال دیگه ای ازش زدم که بیشتر مشخص بشه و بعد رفتیم سراغ یه سناریو پیچیده تری مثل Batching و توی کد انتیتی فریمورک این رو چک کردیم، و در نهایت 2 تا از امکانات انتیتی فریمورک که توی ورژن 7 و 8 اومدن و بهینه شدن رو بررسی کردیم که چطور به بحث ما کمک میکرد.

00:00 Previous Session
03:00 Cartesian explosion
09:00 AsNoTracking in ReadOnly Db
12:00 SqlQuery and SqlQueryRaw
17:00 SQL Injection
24:00 Batching in EF Core

🚢 پلی لیست : Entity Framework
🕶 مدت ویدیو : 29 دقیقه
📺 لینک ویدیو :
https://youtu.be/i7wlVX7CBpU

😁 قسمت قبلی گفتم لایک یادتون نره، کمترین لایک رو گرفت،
آقا بی خیال حرف من بشید. مشتی هستید همتون. ❤️
42👍12
🔥 Entity Framework Performance - Part 60

❤️ این آخرین قسمت از فصل سوم دوره انتیتی فریمورک هست که در خدمتون هستیم. تو این ویدیو چند تا موضوع دیگه در مورد پرفورمنس انتیتی فریمورک مثل Compiled Model ها و ExecuteUpdate و یکسری تنظیمات دیگه رو کامل بررسی کردیم.

00:00 Previous Sessions
03:00 DbContext Polling and Compiled Query
10:00 ExecuteUpdate
14:00 Parameters in Query
17:00 Compiled Model

🚢 پلی لیست : Entity Framework
🕶 مدت ویدیو : 30 دقیقه
📺 لینک ویدیو :
https://youtu.be/YVa2XCL8q30

🪃🪃 انشالله ویدیو های جدید، دوره های جدید، میت های جدید، پادکست و کلی موارد دیگه توی مسیر هست، شما انرژی میدید، ماهم مسیر رو ادامه میدیم. دمتون گرم.
🔥3514👍8
🔥 بعضی وقت ها TDD جواب نیست، با اپروچ اینکه تست در ابتدا باشه و قبل از کد، در بعضی از سناریو ها عملا نمیشه. شما پروژه رو میخوای شروع کنی اصلا نمیدونی چی هست و یا خیلی از پروژه هایی که الان داریم و کلی هم باگ داره، و کلی هم تغییرات داره، به ازای هر تغییر هم کلی باگ به قبلی ها اضافه میشه. تو این شرایط TDD برای کد های جدید شما کمکی نمیکنه.

پس آیا تست ننویسیم؟
قطعا نه. اما نظرم اینه که در بعضی سناریو‌ها بایستی اجازه بدیم کد بره جلو، و بجای TDD از TLD استفاده کنیم. زمان بندیش رو جابجا کنیم. تست رو بزاریم بلافاصله بعد از کد. هم درکمون بهتر شده و هم تست رو داریم.

بعد از مدتی میتونیم خیلی راحت فاز TDD Transform رو داشته باشیم. و تست رو حالا بیاریم قبل کد.

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

1.اگر یک تست شما شکست، شما باید تنها به اندازه‌ای کد توسعه بدید که تست شما را پاس کند.

2.شما نباید تست‌های خیلی بیشتری بنویسید. تنها تعداد تست‌هایی را بنویسید که در صورت شکست بتوانید مدیریت کنید.

3.در مورد کد هم همینطوره، شما خیلی بیشتر از آنقدری که برای پاس کردن یک تست لازمه، کد توسعه ندهید.
27👍17🙏2
شما پیاده سازی Event Driven Architecture رو چطور میبینید. جواب بدید چون یه ایونت آنلاین دارم ست آپ میکنم‌
Final Results
18%
بنظرم راحت ه و خیلی راحت میشه پیادش کرد.
82%
کلی داستان داره و بنظرم معماری پیچیده و سختیه.
17🔥5
iCodeNext
شما پیاده سازی Event Driven Architecture رو چطور میبینید. جواب بدید چون یه ایونت آنلاین دارم ست آپ میکنم‌
منم موافقم که پیاده سازی EDA واقعا سخت و معماری پیچیده ایه درکل.

یه موضوعی رو بعضی از دوستان ازم میپرسیدن، برای Result Pattern که چه نوع پیاده سازی واقعا بهتره و چطور پیاده سازیش کنیم. نمیدونم چقدر دوست دارید یه ویدیو در موردش بسازم یا نه. اگه تقاضاش بالا بود، بروی چشم. تو این یکی ۲ روز حتما پابلیش میکنم.

🙏🙏🙏
108👍17🙏2
🔥 How to handle Errors and Result in the best way in .Net!

🌀 تو این ویدیوی تقریبا طولانی سراغ یکی از محبوبترین موضوعاتی که خیلی درون کدها میبینیم و اونم Result Pattern هست، اما به جای اینکه مستقیما یه پکیج معرفی کنیم و خیلی سریع بریم تو کار نصب و اینها، اول کانسپت رو بررسی کردیم و بعد رفتیم سراغ اینکه خودمون پیاده سازی کنیم و کلی چیز یاد بگیریم. که شاید خیلی ساده باشند اما وقتی کنار هم میان واقعا قدرتمند هستند.

00:00 Concept of Result pattern
10:00 Error
14:00 struct, readonly, private constructor, implicit operator
25:00 ErrorOr
40:00 ErrorOr Package

🚢 پلی لیست : C# in a nutshell
🕶 مدت ویدیو : 45 دقیقه
📺 لینک ویدیو :
https://youtu.be/2MTRC5HF8Tc


⚠️حقیقتا پیشنهاد میکنم این ویدیو رو، نه برای Result Pattern بیشتر برای اینکه بدونیم چطوری تصمیمات در انتخاب دیتا تایپ و امکانات زبان سی شارپ اتفاق میوفته.
خلاصه ۴۵ دقیقه خودش گویای همه چیز هست.
👍4526🔥11👏3
🔬 چه بخشهایی از سی شارپ واقعا سخته و درکش پیچیدست؟ و دوست داریم یکمی بیشتر در موردش حرف بزنیم.

🌗 مشارکت و ثبت نظر اولین گامیه که ما باید برای بهتر شدن جامعه توسعه برداریم.

نظراتتون برامون ارزشمند هست. ❤️❤️❤️

برای متن های بقیه دوستان هم ری اکشن نشون بدید اگه نظرتون یکی هست
🔥41👍137
🔥 Event in C# - Part 1

🌀 یکی از مباحثی که خیلی از دوستان توی کانال تلگرام درخواست داده بودند که این موضوع رو باز کنیم و بررسی کنیم. خوب بازهم مثل همیشه مستقیم نمیریم سر اصل موضوع، اول از همه کانسپت هارو میفهمیم و بعد مشکلات رو پیدا میکنیم و در نهایت تازه به موضوع میرسیم، برای اینکه متوجه بشیم واقعا کاربردش و حتی فرقشون با امکانات دیگه چی هست. پس بهتره قسمت اول رو بریم و ببینیم.

00:00 Concept and Problem
08:00 Delegate
10:00 Subscriber and publisher
15:00 Multicasting

🚢 پلی لیست : C# in a nutshell
🕶 مدت ویدیو : 25 دقیقه
📺 لینک ویدیو :

https://youtu.be/9qaS3dVPzTY

برای مفاهیم دلیگیت ها اول این 4 ویدیو رو ببینید:

https://www.youtube.com/watch?v=rkL10_bBg6Y&list=PLN5rV4x2x5Xef7lcvrhdDBnJKVfVEw6ui&index=23
64👍10🔥10👏2