@one_programmer
کش کردن اتوماتیک خروجی متد ها
حتما براتون پیش اومده که نیاز بوده خروجی متدی رو کش بکنید، وقتی اینکار رو کردید. داخل بیزینس متد تون کد کش کردن رو نوشتید. اینکار خیلی شاید درست نباشه که کش کردن کنار بیزینس متد نوشته باشه. و اینکه برای برای بقیه متد ها هم باید این کد رو کپی کنید.
راه حل اینکار استفاده از attribute ها هست. شما میتونید به روش aop خروجی هر متدی که نیاز دارید رو کش کنید. لینک repository که برای اینکار توسعه دادم رو میزارم. در این repo یک interceport تعریف شده که قبل از اجرا متد اجرا می شود. فقط متد هایی که به CacheMethod مزین شده باشند. کلید کش را با استفاده از اسم متد و ورودی ها ساخته و اتوماتیک کش میکند. مقادیر کش شده با استفاده از MessagePack ساخته شده و با lz4 فشرده شده است که حجم کش را بسیار کم میکند و خیلی سریع عمل میکند.
کد:
https://github.com/EngRajabi/Cache.Aspect
مقاله:
https://medium.com/@mohsen_rajabi/asp-core-automating-cache-with-aspect-programing-autofac-dynamic-proxy-8e6b84df44e4
@one_programmer
کش کردن اتوماتیک خروجی متد ها
حتما براتون پیش اومده که نیاز بوده خروجی متدی رو کش بکنید، وقتی اینکار رو کردید. داخل بیزینس متد تون کد کش کردن رو نوشتید. اینکار خیلی شاید درست نباشه که کش کردن کنار بیزینس متد نوشته باشه. و اینکه برای برای بقیه متد ها هم باید این کد رو کپی کنید.
راه حل اینکار استفاده از attribute ها هست. شما میتونید به روش aop خروجی هر متدی که نیاز دارید رو کش کنید. لینک repository که برای اینکار توسعه دادم رو میزارم. در این repo یک interceport تعریف شده که قبل از اجرا متد اجرا می شود. فقط متد هایی که به CacheMethod مزین شده باشند. کلید کش را با استفاده از اسم متد و ورودی ها ساخته و اتوماتیک کش میکند. مقادیر کش شده با استفاده از MessagePack ساخته شده و با lz4 فشرده شده است که حجم کش را بسیار کم میکند و خیلی سریع عمل میکند.
کد:
https://github.com/EngRajabi/Cache.Aspect
مقاله:
https://medium.com/@mohsen_rajabi/asp-core-automating-cache-with-aspect-programing-autofac-dynamic-proxy-8e6b84df44e4
@one_programmer
GitHub
GitHub - EngRajabi/Cache.Aspect: Asp Core Cache Aspect Programing (Autofac + Dynamic Proxy)
Asp Core Cache Aspect Programing (Autofac + Dynamic Proxy) - GitHub - EngRajabi/Cache.Aspect: Asp Core Cache Aspect Programing (Autofac + Dynamic Proxy)
👏1
@one_programmer
How in MediatR we can have events (Notifications) Async and completely real Parallel
https://medium.com/@mohsen_rajabi/how-in-mediatr-we-can-have-events-notifications-async-and-completely-real-parallel-2068f24912e6
@one_programmer
How in MediatR we can have events (Notifications) Async and completely real Parallel
https://medium.com/@mohsen_rajabi/how-in-mediatr-we-can-have-events-notifications-async-and-completely-real-parallel-2068f24912e6
@one_programmer
Medium
How in MediatR we can have events (Notifications) async and completely real Parallel
Update: 2024/08/30
👏2👍1
@one_programmer
چکونه در سی شارپ Regex خیلی سریع بنویسیم
How to write a very fast regex in C #. Best Practice
https://medium.com/@mohsen_rajabi/how-to-write-a-regex-very-fast-in-c-best-practice-875d386c0485
@one_programmer
چکونه در سی شارپ Regex خیلی سریع بنویسیم
How to write a very fast regex in C #. Best Practice
https://medium.com/@mohsen_rajabi/how-to-write-a-regex-very-fast-in-c-best-practice-875d386c0485
@one_programmer
Medium
How to write a very fast regex in C#. Best Practice
C# Regex Best Practice
❤3👍1
@one_programmer
سلام به دنیا Source Generator ها در Net. !!! 😊😊
قابلیت Source Generation تازه به .net اضافه شده. این قابلیت کمک میکنه توسعه دهنده ها در زمان Compile یکسری کد تولید کنن و در dll پروژه قرار بدن.
این مزیت اینکار چی هست
- میشه یه سری کد که در زمان اجرا تولید میشن رو به این شکل به زمان Compile آورد و پرفورمنس وحشتناکی رو تجربه کرد
- حذف refelection ها. میشه یه سری کار reflection که در زمان اجرا انجام میشن و کند هم هستند رو به زمان Compile اورد
ماکروسافت یکسری از فیچر های جدیدش رو با Source Generator نوشته. مثل system.text.json (التبه باید سنتکس خاصی ازش استفاده کنید)
حالا من یه پکیچ نوشتم با Source Generator برای کار با enum ها. حتما براتون پیش اومده که attribute داشته باشید بالا enum یا بخواهید tostring انجام بدید. این پکیچ همه اینکار ها رو زمان Compile براتون انجام میده و بازدهی بالا 20 برابر داره. اگر بخواهید attribute بالا enum ها رو واکشی کنید، این بازدهی به 480/000 هزار برابر میرسه. باور نکنید !!!
لینک پروژه و بنچمارک:
https://github.com/EngRajabi/Enum.Source.Generator
@one_programmer
سلام به دنیا Source Generator ها در Net. !!! 😊😊
قابلیت Source Generation تازه به .net اضافه شده. این قابلیت کمک میکنه توسعه دهنده ها در زمان Compile یکسری کد تولید کنن و در dll پروژه قرار بدن.
این مزیت اینکار چی هست
- میشه یه سری کد که در زمان اجرا تولید میشن رو به این شکل به زمان Compile آورد و پرفورمنس وحشتناکی رو تجربه کرد
- حذف refelection ها. میشه یه سری کار reflection که در زمان اجرا انجام میشن و کند هم هستند رو به زمان Compile اورد
ماکروسافت یکسری از فیچر های جدیدش رو با Source Generator نوشته. مثل system.text.json (التبه باید سنتکس خاصی ازش استفاده کنید)
حالا من یه پکیچ نوشتم با Source Generator برای کار با enum ها. حتما براتون پیش اومده که attribute داشته باشید بالا enum یا بخواهید tostring انجام بدید. این پکیچ همه اینکار ها رو زمان Compile براتون انجام میده و بازدهی بالا 20 برابر داره. اگر بخواهید attribute بالا enum ها رو واکشی کنید، این بازدهی به 480/000 هزار برابر میرسه. باور نکنید !!!
لینک پروژه و بنچمارک:
https://github.com/EngRajabi/Enum.Source.Generator
@one_programmer
🔥3
@one_programmer
چگونه یک پروژه Net. با ساختار حرفه ایی را در سال 2023 شروع کنیم
در این مقاله در مورد این صحبت میکنیم که چطوری در سال 2023 میتونیم یک پروژه ی حرفه ایی و ساختار یافته رو شروع کنیم.
چگونه میتونیم اصول Clean Code رو در پروژه مون Automate کنیم ؟
چگونه میتونیم با ابزار ها کد های پیچیده رو تشخیص بدیم ؟
چگونه میتونیم در پروژه های بزرگ دست خط یکسان داشته باشیم ؟
ساختار استاندارد چیست ؟
ماکروسافت توی این زمینه چی میگه ؟
توسعه دهندگان ماکروسافت چی پیشنهاد میدن ؟
چه ابزار هایی برای Automate کردن ریویو کد و کمتر کردن باگ وجود داره ؟ آیا متریکی برای کد پیچیده وجود داره ؟
جواب همه سوال ها رو در مقاله زیر خلاصه کردم. امیدوارم مفید باشه.
مقاله: https://medium.com/@mohsen_rajabi/how-to-start-a-net-project-in-2023-96bdb615a98d
@one_programmer
چگونه یک پروژه Net. با ساختار حرفه ایی را در سال 2023 شروع کنیم
در این مقاله در مورد این صحبت میکنیم که چطوری در سال 2023 میتونیم یک پروژه ی حرفه ایی و ساختار یافته رو شروع کنیم.
چگونه میتونیم اصول Clean Code رو در پروژه مون Automate کنیم ؟
چگونه میتونیم با ابزار ها کد های پیچیده رو تشخیص بدیم ؟
چگونه میتونیم در پروژه های بزرگ دست خط یکسان داشته باشیم ؟
ساختار استاندارد چیست ؟
ماکروسافت توی این زمینه چی میگه ؟
توسعه دهندگان ماکروسافت چی پیشنهاد میدن ؟
چه ابزار هایی برای Automate کردن ریویو کد و کمتر کردن باگ وجود داره ؟ آیا متریکی برای کد پیچیده وجود داره ؟
جواب همه سوال ها رو در مقاله زیر خلاصه کردم. امیدوارم مفید باشه.
مقاله: https://medium.com/@mohsen_rajabi/how-to-start-a-net-project-in-2023-96bdb615a98d
@one_programmer
Medium
How to Start an Advanced .NET Project in 2024 Part I
👍9
@one_programmer
کم کم داریم به لحظات ملکوتی هزار تست نزدیک میشیم.
خیلی حس خوبی هست وقتی تغییراتت رو میدی و با خیال راحت تست ها رو پاس میکنی و مطئمن میشی که همه چی درست هست.
پر قدرت ادامه میدیم 💪
#dotnet #mofid #mofidapp #unittest #unittesting #MofidSecurities
لینکدین: https://www.linkedin.com/posts/mohsen-rajabi72_dotnet-mofid-mofidapp-activity-7067012062366838784-fcM7?utm_source=share&utm_medium=member_desktop
@one_programmer
کم کم داریم به لحظات ملکوتی هزار تست نزدیک میشیم.
خیلی حس خوبی هست وقتی تغییراتت رو میدی و با خیال راحت تست ها رو پاس میکنی و مطئمن میشی که همه چی درست هست.
پر قدرت ادامه میدیم 💪
#dotnet #mofid #mofidapp #unittest #unittesting #MofidSecurities
لینکدین: https://www.linkedin.com/posts/mohsen-rajabi72_dotnet-mofid-mofidapp-activity-7067012062366838784-fcM7?utm_source=share&utm_medium=member_desktop
@one_programmer
Linkedin
Mohsen Rajabi on LinkedIn: #dotnet #mofid #mofidapp #unittest #unittesting #aspnetcore #aspnet… | 25 comments
کم کم داریم به لحظات ملکوتی هزار تست نزدیک میشیم.
خیلی حس خوبی هست وقتی تغییراتت رو میدی و با خیال راحت تست ها رو پاس میکنی و مطئمن میشی که همه چی درست هست.
پر… | 25 comments on LinkedIn
خیلی حس خوبی هست وقتی تغییراتت رو میدی و با خیال راحت تست ها رو پاس میکنی و مطئمن میشی که همه چی درست هست.
پر… | 25 comments on LinkedIn
👍5🔥1
@one_programmer
قسمت دوم مقاله "چگونه یک پروژه Net. با ساختار حرفه ایی را در سال 2024 شروع کنیم" منتشر شد.
How to Start an Advanced .NET Project in 2024 Part II
در ضمن قسمت قبل رو آپدیت کردم اگه جدیدا مطالعه نکردید نگاه بکنید
در قسمت قبل این موارد رو مطرح کردیم:
در این مقاله در مورد این صحبت میکنیم که چطوری در سال 2024 میتونیم یک پروژه ی حرفه ایی و ساختار یافته رو شروع کنیم.
چگونه میتونیم اصول Clean Code رو در پروژه مون Automate کنیم ؟
چگونه میتونیم با ابزار ها کد های پیچیده رو تشخیص بدیم ؟
چگونه میتونیم در پروژه های بزرگ دست خط یکسان داشته باشیم ؟
ساختار استاندارد چیست ؟
ماکروسافت توی این زمینه چی میگه ؟
توسعه دهندگان ماکروسافت چی پیشنهاد میدن ؟
چه ابزار هایی برای Automate کردن ریویو کد و کمتر کردن باگ وجود داره ؟ آیا متریکی برای کد پیچیده وجود داره ؟
-------------
در قسمت دوم اومدیم پا رو فراتر گذاشتیم و دیدیم که چطوری میتونیم کاری بکنیم
- کد ها قبل اینکه کامیت بشن تمیز و مرتب بشن و indent ها درست باشه حتی فاصله ها و namespace ها مرتب باشه
- چطوری متن کامیت مسیج رو چک کنیم که طبق استاندارد باشه و سعی بکنیم توسعه دهندگان رو مجبور بکنیم متن استاندارد و معنی دارن وارد کنند
جواب همه سوال ها رو در مقاله زیر خلاصه کردم. امیدوارم مفید باشه.
مقاله: https://medium.com/@mohsen_rajabi/how-to-start-an-advanced-net-project-in-2024-part-ii-2736da39b301
@one_programmer
قسمت دوم مقاله "چگونه یک پروژه Net. با ساختار حرفه ایی را در سال 2024 شروع کنیم" منتشر شد.
How to Start an Advanced .NET Project in 2024 Part II
در ضمن قسمت قبل رو آپدیت کردم اگه جدیدا مطالعه نکردید نگاه بکنید
در قسمت قبل این موارد رو مطرح کردیم:
در این مقاله در مورد این صحبت میکنیم که چطوری در سال 2024 میتونیم یک پروژه ی حرفه ایی و ساختار یافته رو شروع کنیم.
چگونه میتونیم اصول Clean Code رو در پروژه مون Automate کنیم ؟
چگونه میتونیم با ابزار ها کد های پیچیده رو تشخیص بدیم ؟
چگونه میتونیم در پروژه های بزرگ دست خط یکسان داشته باشیم ؟
ساختار استاندارد چیست ؟
ماکروسافت توی این زمینه چی میگه ؟
توسعه دهندگان ماکروسافت چی پیشنهاد میدن ؟
چه ابزار هایی برای Automate کردن ریویو کد و کمتر کردن باگ وجود داره ؟ آیا متریکی برای کد پیچیده وجود داره ؟
-------------
در قسمت دوم اومدیم پا رو فراتر گذاشتیم و دیدیم که چطوری میتونیم کاری بکنیم
- کد ها قبل اینکه کامیت بشن تمیز و مرتب بشن و indent ها درست باشه حتی فاصله ها و namespace ها مرتب باشه
- چطوری متن کامیت مسیج رو چک کنیم که طبق استاندارد باشه و سعی بکنیم توسعه دهندگان رو مجبور بکنیم متن استاندارد و معنی دارن وارد کنند
جواب همه سوال ها رو در مقاله زیر خلاصه کردم. امیدوارم مفید باشه.
مقاله: https://medium.com/@mohsen_rajabi/how-to-start-an-advanced-net-project-in-2024-part-ii-2736da39b301
@one_programmer
Medium
How to Start an Advanced .NET Project in 2024 Part II
How to Start an Advanced .NET Project in 2024 Part II
👍11