Telegram
Code With HSN Files
🫂 ما یک دوستی داشتیم اومد گفت آقا ما هرکاری شما گفتی رو کردیم نه مشکل cpu داریم و نه مشکل ram داریم ولی برنامه از کل ریسورس های سرورمون استفاده نمیکنه زیر بار crash میکنه خسته شدیم منم رفتم نگاه کردم دیدم راست میگه تهش رسیدم به معماری پردازنده 😶🌫️
⭐️ خب این موضوع نیاز داره یکم دانش راجب پردازنده ها داشته باشین پس یه سری توضیحات میدم.
⬅️ بیاین بدونیم x86 و x64 چیست:
درواقع این دو اشاره به معماری پردازنده ها دارند Intel اولین پردازنده های خودش را با نام هایی معرفی کرد که انتهای آنها 86 بود و اکثرا 32 بیت بودند (مثل: 80186، 80286 و 80386) بعد ها AMD پردازنده جدیدی معرفی کرد که مشتقی از پردازنده هایی با معماری شبیه Intel بود و اسمش را گذاشت AMD64 که معماری آن x86-64 بود
امروزه برای سادگی و اشاره برای معماری پردازنده ها به صورت خلاصه از عبارات x86 و x64 استفاده میکنند که به صورت تکنیکالی x86 رو میگن 32 بیت و x64 رو میگن 64 بیت
وقتی میگیم پردازنده 32 بیت هست یعنی هربار که میخواین به یک آدرسی اشاره کنید (*ptr) فقط میتونه از 32 بیت استفاده بشه مثلا اولین آدرس حافظه میشود 0x00000000 و دومین آدرس میشود 0x00000001 و آخرین آدرس که به صورت HEX است میشود 0xFFFFFFFF
حال با یک محاسبه ریاضی میتوانیم درک کنیم هر خونه حافظه که یک بیت است یعنی یا داخلش 0 است یا 1 (2 حالت میشه) که اگر 2 به توان 32 (32 بیت) برسد جمعا 4,294,967,296 آدرس خواهیم داشت در هر آدرس هم نهایتا یک بایت (8 بیت) میتواند ذخیره شود حالا 4,294,967,296 بایت را اگر دوبار تقسیم بر 1024 کنیم حاصل میشود 4,096 مگابایت
به صورت خلاصه سیستم های 64 بیتی میتوانند 2 به توان 64 آدرس درون خودشان داشته باشند یعنی
۲^۶۴ بایت = ۱۸۴۴ میلیارد گیگابایت (تقریباً ۱۷.۵ میلیون ترابایت)
(بله دوستان منابع در هیچ هایی بینهایت نیست همیشه محدودیت وجود دارد 😵💫)
✅ حالا بیاین به جواب برسیم:
مشکل این بود که این داداشمون وقتی داشته پابلیش میگرفته خروجی پابلیشش رو روی معماری x86 زده 🥳 کلا هم نزدیک 4 گیگ اپلیکیشنش مصرف میکرد
به نظرم وقت این رسیده که برین یه نگاهی به این موضوع ساده بندازین و ببینید یه وقت اشتباه نکرده باشین ❤️
انواع کانفیگ های پابلیش برنامه
https://news.1rj.ru/str/hasanxdev_files/3
⭐️ خب این موضوع نیاز داره یکم دانش راجب پردازنده ها داشته باشین پس یه سری توضیحات میدم.
⬅️ بیاین بدونیم x86 و x64 چیست:
درواقع این دو اشاره به معماری پردازنده ها دارند Intel اولین پردازنده های خودش را با نام هایی معرفی کرد که انتهای آنها 86 بود و اکثرا 32 بیت بودند (مثل: 80186، 80286 و 80386) بعد ها AMD پردازنده جدیدی معرفی کرد که مشتقی از پردازنده هایی با معماری شبیه Intel بود و اسمش را گذاشت AMD64 که معماری آن x86-64 بود
امروزه برای سادگی و اشاره برای معماری پردازنده ها به صورت خلاصه از عبارات x86 و x64 استفاده میکنند که به صورت تکنیکالی x86 رو میگن 32 بیت و x64 رو میگن 64 بیت
وقتی میگیم پردازنده 32 بیت هست یعنی هربار که میخواین به یک آدرسی اشاره کنید (*ptr) فقط میتونه از 32 بیت استفاده بشه مثلا اولین آدرس حافظه میشود 0x00000000 و دومین آدرس میشود 0x00000001 و آخرین آدرس که به صورت HEX است میشود 0xFFFFFFFF
حال با یک محاسبه ریاضی میتوانیم درک کنیم هر خونه حافظه که یک بیت است یعنی یا داخلش 0 است یا 1 (2 حالت میشه) که اگر 2 به توان 32 (32 بیت) برسد جمعا 4,294,967,296 آدرس خواهیم داشت در هر آدرس هم نهایتا یک بایت (8 بیت) میتواند ذخیره شود حالا 4,294,967,296 بایت را اگر دوبار تقسیم بر 1024 کنیم حاصل میشود 4,096 مگابایت
به صورت خلاصه سیستم های 64 بیتی میتوانند 2 به توان 64 آدرس درون خودشان داشته باشند یعنی
۲^۶۴ بایت = ۱۸۴۴ میلیارد گیگابایت (تقریباً ۱۷.۵ میلیون ترابایت)
(بله دوستان منابع در هیچ هایی بینهایت نیست همیشه محدودیت وجود دارد 😵💫)
✅ حالا بیاین به جواب برسیم:
مشکل این بود که این داداشمون وقتی داشته پابلیش میگرفته خروجی پابلیشش رو روی معماری x86 زده 🥳 کلا هم نزدیک 4 گیگ اپلیکیشنش مصرف میکرد
به نظرم وقت این رسیده که برین یه نگاهی به این موضوع ساده بندازین و ببینید یه وقت اشتباه نکرده باشین ❤️
انواع کانفیگ های پابلیش برنامه
https://news.1rj.ru/str/hasanxdev_files/3
👍8👌1
بچها سلام خوشحالم که جمعمون داره 50 تایی میشه
به همین مناسبت میخوام یک کورس رکورد کنم که اینقدر درون CQRS عمیق بشیم تهش غرق بشیم ☠️
شاید خیلی هاتون CQRS رو درحد MediatR بشناسید در کورسی که رکورد خواهم کرد صحبت میکنیم، میتونیم چقدر بزرگ تر از یک کتابخونه MediatR بهش فکر کنیم
نظرتون چیه؟ لایکی... دیسلایکی...
راجب چه چیزایی دیگه دوره رکورد کنیم؟
توی کامنتها بیاید صحبت کنیم! اگر محتوایی که تولید میکنم برای شما کاربردی نباشه، انگار دارم آب در هاون میکوبم. خوشحال میشم نظرتون رو بگید، چون باعث دلگرمی و پیشرفت همه مون هست.
به همین مناسبت میخوام یک کورس رکورد کنم که اینقدر درون CQRS عمیق بشیم تهش غرق بشیم ☠️
شاید خیلی هاتون CQRS رو درحد MediatR بشناسید در کورسی که رکورد خواهم کرد صحبت میکنیم، میتونیم چقدر بزرگ تر از یک کتابخونه MediatR بهش فکر کنیم
نظرتون چیه؟ لایکی... دیسلایکی...
راجب چه چیزایی دیگه دوره رکورد کنیم؟
توی کامنتها بیاید صحبت کنیم! اگر محتوایی که تولید میکنم برای شما کاربردی نباشه، انگار دارم آب در هاون میکوبم. خوشحال میشم نظرتون رو بگید، چون باعث دلگرمی و پیشرفت همه مون هست.
👍27👌2
Code With HSN
بچها سلام خوشحالم که جمعمون داره 50 تایی میشه به همین مناسبت میخوام یک کورس رکورد کنم که اینقدر درون CQRS عمیق بشیم تهش غرق بشیم ☠️ شاید خیلی هاتون CQRS رو درحد MediatR بشناسید در کورسی که رکورد خواهم کرد صحبت میکنیم، میتونیم چقدر بزرگ تر از یک کتابخونه MediatR…
اشتباه نکنید! CQRS همیشه جواب نیست! ⚠️ اگه تنها ابزاری که دارید یک چکش باشه، همه چیز رو شبیه یه میخ میبینید!
کی گفته CRUD همیشه از CQRS بدتره؟ این تفکر معمولاً برمیگرده به افرادی که تازه با یه معماری آشنا شدن و همه مشکلات رو شبیه میخ میبینن که میخوان با چکش CQRS بزنن و حل کنن! 🛠
💡 دارم یه کورس رایگان رکورد میکنم که توش یه شیرجه عمیق میزنیم داخل CQRS. توی قسمت اول کلی درباره این صحبت کردیم که کجا باید CQRS استفاده کنیم و کجا نباید.
📚 از مفاهیم Basic شروع کردم و وارد مفاهیم عمیقتر میشم. اگه تا آخر باهام همراه بشید، مطمئنم یه استاد CQRS میشید که میتونید صاحبنظر باشید، نه فقط یه مصرفکننده! 🚀
🌟 اولین چیزی که برای انتخاب CQRS باید بدونید اینه که سیستم شما Read-Heavy هست یا Write-Heavy.
❓ دومین مورد هم مزایا و معایب این پترنه که توی ویدیو حدودا در 15 دقیقه کامل دربارهش گپ زدیم.
🎥 ویدیو رو میتونید اینجا ببینید:
👉 https://youtu.be/BPDmMmhHc-E
لایک، کامنت، و سابسکرایب یادتون نره، حمایتتون خیلی برام مهمه! ❤️
🔥 نظرتون درباره استفاده از CQRS چیه؟
برام بنویسید که چطور از این الگو در پروژههاتون استفاده کردید و چرا فکر کردید بهترین سلوشنه؟ 👇
#CQRS #CRUDvsCQRS #SoftwareArchitecture #Microservices
کی گفته CRUD همیشه از CQRS بدتره؟ این تفکر معمولاً برمیگرده به افرادی که تازه با یه معماری آشنا شدن و همه مشکلات رو شبیه میخ میبینن که میخوان با چکش CQRS بزنن و حل کنن! 🛠
💡 دارم یه کورس رایگان رکورد میکنم که توش یه شیرجه عمیق میزنیم داخل CQRS. توی قسمت اول کلی درباره این صحبت کردیم که کجا باید CQRS استفاده کنیم و کجا نباید.
📚 از مفاهیم Basic شروع کردم و وارد مفاهیم عمیقتر میشم. اگه تا آخر باهام همراه بشید، مطمئنم یه استاد CQRS میشید که میتونید صاحبنظر باشید، نه فقط یه مصرفکننده! 🚀
🌟 اولین چیزی که برای انتخاب CQRS باید بدونید اینه که سیستم شما Read-Heavy هست یا Write-Heavy.
❓ دومین مورد هم مزایا و معایب این پترنه که توی ویدیو حدودا در 15 دقیقه کامل دربارهش گپ زدیم.
🎥 ویدیو رو میتونید اینجا ببینید:
👉 https://youtu.be/BPDmMmhHc-E
لایک، کامنت، و سابسکرایب یادتون نره، حمایتتون خیلی برام مهمه! ❤️
🔥 نظرتون درباره استفاده از CQRS چیه؟
برام بنویسید که چطور از این الگو در پروژههاتون استفاده کردید و چرا فکر کردید بهترین سلوشنه؟ 👇
#CQRS #CRUDvsCQRS #SoftwareArchitecture #Microservices
YouTube
دوره رایگان CQRS | CQRS و CRUD: بررسی سیستمهای Read-Heavy و Write-Heavy | Part 1
📌 آیا CQRS همیشه بهترین انتخاب است؟ بیاید باهم شیرجه بزنیم داخل قسمت اول این بحث!
توی این ویدیو از سری جدیدم، دارم به یکی از سوالات پرتکرار دنیای معماری نرمافزار پاسخ میدم:
آیا همیشه باید از CQRS استفاده کنیم؟ 🤔
خیلیها فکر میکنن CRUD قدیمی شده و CQRS همیشه…
توی این ویدیو از سری جدیدم، دارم به یکی از سوالات پرتکرار دنیای معماری نرمافزار پاسخ میدم:
آیا همیشه باید از CQRS استفاده کنیم؟ 🤔
خیلیها فکر میکنن CRUD قدیمی شده و CQRS همیشه…
👏5❤4
بچها سلام 👋🏻،
💡 جهت اینکه تا یک ماه دو ماه درگیر CQRS نباشیم موافقین که در کنارش آموزش های دیگه رکورد کنیم؟ جوری که از کیفیت قسمت های CQRS کم نشه، و هر هفته یک قسمت از CQRS رکورد کنیم.
💡 جهت اینکه تا یک ماه دو ماه درگیر CQRS نباشیم موافقین که در کنارش آموزش های دیگه رکورد کنیم؟ جوری که از کیفیت قسمت های CQRS کم نشه، و هر هفته یک قسمت از CQRS رکورد کنیم.
Anonymous Poll
56%
موافقم محتوای کانال برای یک ماه بلاک نشه
44%
فقط تمرکز روی CQRS باشه و دیگر هیچ
یک جایگزین خفن برای Repository Pattern میتونه Specification Pattern باشه 🤯🔥
تو این ویدیو با پترن Specification آشنا میشیم که کدنویسی رو از نظر readability، maintainability و reusability به سطح جدیدی میبره! 🚀
اگه در برنامه هاتون از Repository Pattern برای Persistence Ignorance (PI) استفاده نمیکنید نشون میدم چطور میشه از Specification به جای Repository Pattern استفاده کرد. 🤔
بعدش UML رو بررسی میکنیم و در نهایت با استفاده از Expression Tree در .NET کد میزنیم و به EF Core میفرستیم. 🔥
این ویدیو رو ببینید و اگر میخواهید کدنویسی تمیز و کاربردی یاد بگیرید، حتما سابسکرایب کنید! 👨💻💻
لینک ویدیو: https://youtu.be/92uVAm9AS74
تو این ویدیو با پترن Specification آشنا میشیم که کدنویسی رو از نظر readability، maintainability و reusability به سطح جدیدی میبره! 🚀
اگه در برنامه هاتون از Repository Pattern برای Persistence Ignorance (PI) استفاده نمیکنید نشون میدم چطور میشه از Specification به جای Repository Pattern استفاده کرد. 🤔
بعدش UML رو بررسی میکنیم و در نهایت با استفاده از Expression Tree در .NET کد میزنیم و به EF Core میفرستیم. 🔥
این ویدیو رو ببینید و اگر میخواهید کدنویسی تمیز و کاربردی یاد بگیرید، حتما سابسکرایب کنید! 👨💻💻
لینک ویدیو: https://youtu.be/92uVAm9AS74
YouTube
Mastering the Specification Pattern: From UML to Implementation | یادگیری Specification در EF Core
یک جایگزین خفن برای Repository Pattern میتونه Specification Pattern باشه 🤯🔥
تو این ویدیو با پترن Specification آشنا میشیم که کدنویسی رو از نظر readability، maintainability و reusability به سطح جدیدی میبره! 🚀
اگه در برنامه هاتون از Repository Pattern برای…
تو این ویدیو با پترن Specification آشنا میشیم که کدنویسی رو از نظر readability، maintainability و reusability به سطح جدیدی میبره! 🚀
اگه در برنامه هاتون از Repository Pattern برای…
🔥7❤2👍1
Code With HSN
بچها سلام 👋🏻،
💡 جهت اینکه تا یک ماه دو ماه درگیر CQRS نباشیم موافقین که در کنارش آموزش های دیگه رکورد کنیم؟ جوری که از کیفیت قسمت های CQRS کم نشه، و هر هفته یک قسمت از CQRS رکورد کنیم.
💡 جهت اینکه تا یک ماه دو ماه درگیر CQRS نباشیم موافقین که در کنارش آموزش های دیگه رکورد کنیم؟ جوری که از کیفیت قسمت های CQRS کم نشه، و هر هفته یک قسمت از CQRS رکورد کنیم.
درود مجدد بچها 👋🏻،
بخاطر اینکه اینقدر مشتاق هستید هر هفته یک ویدیو رو کمترش میکنم، و بیشتر زمان میزارم هم CQRS رو تموم کنیم هم به بحث های جدید بپردازیم
عالی بودین مرسی که هستید هدف فقط آموزش رایگان با کیفیت بالاس ❤️
بخاطر اینکه اینقدر مشتاق هستید هر هفته یک ویدیو رو کمترش میکنم، و بیشتر زمان میزارم هم CQRS رو تموم کنیم هم به بحث های جدید بپردازیم
عالی بودین مرسی که هستید هدف فقط آموزش رایگان با کیفیت بالاس ❤️
👍8❤2🙏1
Code With HSN
درود مجدد بچها 👋🏻، بخاطر اینکه اینقدر مشتاق هستید هر هفته یک ویدیو رو کمترش میکنم، و بیشتر زمان میزارم هم CQRS رو تموم کنیم هم به بحث های جدید بپردازیم عالی بودین مرسی که هستید هدف فقط آموزش رایگان با کیفیت بالاس ❤️
دیشب تا ساعت ۳ صبح براتون CQRS Normal، Regular و Premium رو رکورد کردم. به CQRS Deluxe که رسیدم، دیگه واقعاً نکشیدم! 😅
فقط سه قسمت دیگه مونده که رکورد کنم و بعد میرم سراغ ادیت و آماده کردن برای Share کردن ایشالا امشب تمومه.
مرسی از حمایت بینظیر ۱۰۶ نفرتون! باعث میشید مجبور بشم هر روز با انگیزهتر و باکیفیتتر رکورد کنم. 😁 البته کمکم کارم سختتر هم میشه! 😶🌫️
فقط سه قسمت دیگه مونده که رکورد کنم و بعد میرم سراغ ادیت و آماده کردن برای Share کردن ایشالا امشب تمومه.
مرسی از حمایت بینظیر ۱۰۶ نفرتون! باعث میشید مجبور بشم هر روز با انگیزهتر و باکیفیتتر رکورد کنم. 😁 البته کمکم کارم سختتر هم میشه! 😶🌫️
❤19👏5🙏4❤🔥1👍1
Code With HSN
دیشب تا ساعت ۳ صبح براتون CQRS Normal، Regular و Premium رو رکورد کردم. به CQRS Deluxe که رسیدم، دیگه واقعاً نکشیدم! 😅 فقط سه قسمت دیگه مونده که رکورد کنم و بعد میرم سراغ ادیت و آماده کردن برای Share کردن ایشالا امشب تمومه. مرسی از حمایت بینظیر ۱۰۶ نفرتون!…
چرا باید CQS را بشناسید؟ سادهسازی پروژههای کوچک بدون پیچیدگی اضافی!
آیا تا به حال به این فکر کردهاید که چرا برخی پروژههای کوچک بیدلیل پیچیده میشوند؟ 🤔 اینجاست که CQS (Command Query Separation) وارد میشود تا برای پروژه های کوچیک پیچیدگی های CQRS را وارد نکند!
در این ویدیو یاد میگیریم که چگونه با شناخت این اصل ساده، از پیچیدگیهای غیرضروری جلوگیری کنیم. CQS که در سال 1988 توسط برتراند مایر معرفی شد، یکی از اصول مهم طراحی نرمافزار است که به خوانایی، سادهسازی منطق و بهبود تستپذیری کدها کمک میکند.
✅ مفهوم CQS چیست؟
✅ چه زمانی باید از آن استفاده کنیم؟
✅ چگونه آن را بهدرستی پیادهسازی کنیم؟
✅ تبدیل یک پروژه CRUD ساده به CQS
اگر میخواهید پروژههای خود را بهینهتر کنید و معماری نرمافزار بهتری داشته باشید، این ویدیو را از دست ندهید!
👈 لینک ویدیو: https://youtu.be/KYoZvEi-Pq4
📢 کانال تلگرام: t.me/hasanxdev
#CQS #CQRS #برنامهنویسی #CSharp #نرمافزار #معماری_نرمافزار #CodeWithHSN #برتراند_مایر
آیا تا به حال به این فکر کردهاید که چرا برخی پروژههای کوچک بیدلیل پیچیده میشوند؟ 🤔 اینجاست که CQS (Command Query Separation) وارد میشود تا برای پروژه های کوچیک پیچیدگی های CQRS را وارد نکند!
در این ویدیو یاد میگیریم که چگونه با شناخت این اصل ساده، از پیچیدگیهای غیرضروری جلوگیری کنیم. CQS که در سال 1988 توسط برتراند مایر معرفی شد، یکی از اصول مهم طراحی نرمافزار است که به خوانایی، سادهسازی منطق و بهبود تستپذیری کدها کمک میکند.
✅ مفهوم CQS چیست؟
✅ چه زمانی باید از آن استفاده کنیم؟
✅ چگونه آن را بهدرستی پیادهسازی کنیم؟
✅ تبدیل یک پروژه CRUD ساده به CQS
اگر میخواهید پروژههای خود را بهینهتر کنید و معماری نرمافزار بهتری داشته باشید، این ویدیو را از دست ندهید!
👈 لینک ویدیو: https://youtu.be/KYoZvEi-Pq4
📢 کانال تلگرام: t.me/hasanxdev
#CQS #CQRS #برنامهنویسی #CSharp #نرمافزار #معماری_نرمافزار #CodeWithHSN #برتراند_مایر
YouTube
CQRS Deep Dive Course | Part 2: What is CQS | دوره رایگان CQRS | مفهوم CQS چیست و تسلط بر آن
چرا باید CQS را بشناسید؟ سادهسازی پروژههای کوچک بدون پیچیدگی اضافی!
آیا تا به حال به این فکر کردهاید که چرا برخی پروژههای کوچک بیدلیل پیچیده میشوند؟ 🤔 اینجاست که CQS (Command Query Separation) وارد میشود تا برای پروژه های کوچیک پیچیدگی های CQRS را…
آیا تا به حال به این فکر کردهاید که چرا برخی پروژههای کوچک بیدلیل پیچیده میشوند؟ 🤔 اینجاست که CQS (Command Query Separation) وارد میشود تا برای پروژه های کوچیک پیچیدگی های CQRS را…
❤4🤩1🍾1
👋🏻 دوستان عزیزم! اگر ویدیو براتون مفید بود، خوشحال میشم با RePost کردنش در لینکدین به انتشار بیشترش کمک کنید.
ممنون که همیشه کنارم هستید! ❤️
📎 لینک پستم در لینکدین:
https://www.linkedin.com/feed/update/urn:li:activity:7269328966086283264/
ممنون که همیشه کنارم هستید! ❤️
📎 لینک پستم در لینکدین:
https://www.linkedin.com/feed/update/urn:li:activity:7269328966086283264/
Linkedin
Hasan Arab borzo on LinkedIn: CQRS Deep Dive Course | Part 2: What is CQS | مفهوم CQS چیست و تسلط بر آن
چرا باید CQS را بشناسید؟ سادهسازی پروژههای کوچک بدون پیچیدگی اضافی!
آیا تا به حال به این فکر کردید که چرا برخی پروژههای کوچک بیدلیل پیچیده میشوند؟ 🤔…
آیا تا به حال به این فکر کردید که چرا برخی پروژههای کوچک بیدلیل پیچیده میشوند؟ 🤔…
❤7🎉2
پترن CQRS Regular: الگوی کامل یا چالشی بیپایان؟ 🤔 بعد از بررسی معایب و اشتباهات رایج، حالا وقتش رسیده که به قلب CQRS Regular برسیم! ❤️ این ویدیو نه درباره انتقاد، بلکه درباره قدرت واقعی این الگو است. اگر فکر میکنید قبلاً همه چیز را درباره CQRS شنیدهاید، باید این ویدیو و ویدیوهای بعدی را ببینید! 🎥
🔍 اگر ویدیوهای قبلی را دیدهاید، آماده یک تغییر دیدگاه باشید! زیرا در این ویدیو CQRS Regular را پیادهسازی میکنیم که برای پروژههای نسبتا پیچیده مناسب است و از پیچیدگی کد جلوگیری میکند. ⚙️
در این ویدیو یاد خواهید گرفت:
چگونه CQRS Regular را پیادهسازی کنید؟
کی پیادهسازی کنید؟ ⏰
چه محدودیتهایی در سطح معماری برنامه اعمال میکنید؟ 🚧
به چه قابلیتهای جدیدی به نسبت CQS میرسید؟ 🚀
📲 لینک ویدیو: https://youtu.be/nbt3sNdPWQA
📲 کانال تلگرام: @hasanxdev
پلی لیست این دوره: https://www.youtube.com/playlist?list=PLGiSgN3ODieI7a1HeMHyC6ylluc2jhvDS
در صورت مفید بودن، لطفاً با دیگران Share کنید! 🔄✨
🔍 اگر ویدیوهای قبلی را دیدهاید، آماده یک تغییر دیدگاه باشید! زیرا در این ویدیو CQRS Regular را پیادهسازی میکنیم که برای پروژههای نسبتا پیچیده مناسب است و از پیچیدگی کد جلوگیری میکند. ⚙️
در این ویدیو یاد خواهید گرفت:
چگونه CQRS Regular را پیادهسازی کنید؟
کی پیادهسازی کنید؟ ⏰
چه محدودیتهایی در سطح معماری برنامه اعمال میکنید؟ 🚧
به چه قابلیتهای جدیدی به نسبت CQS میرسید؟ 🚀
📲 لینک ویدیو: https://youtu.be/nbt3sNdPWQA
📲 کانال تلگرام: @hasanxdev
پلی لیست این دوره: https://www.youtube.com/playlist?list=PLGiSgN3ODieI7a1HeMHyC6ylluc2jhvDS
در صورت مفید بودن، لطفاً با دیگران Share کنید! 🔄✨
YouTube
CQRS Deep Dive Course | Part 3: What is CQRS Regular | دوره رایگان CQRS | مفهوم CQRS Regular چیست
پترن CQRS Regular: الگوی کامل یا چالشی بیپایان؟ 🤔
CQRS Regular یکی از مهمترین الگوهای معماری است که میتواند تحولی بزرگ در نحوه طراحی سیستمهای پیچیده ایجاد کند، اما همچنان سوالاتی درباره استفاده و پیادهسازی درست آن وجود دارد. در این ویدیو، بعد از بررسی…
CQRS Regular یکی از مهمترین الگوهای معماری است که میتواند تحولی بزرگ در نحوه طراحی سیستمهای پیچیده ایجاد کند، اما همچنان سوالاتی درباره استفاده و پیادهسازی درست آن وجود دارد. در این ویدیو، بعد از بررسی…
🎉2👌2
نظرتون چیه خلاصه کتاب های برنامه نویسی یا مهندسی کامپیوتر رکورد کنیم؟
بچها فیدبک هاتون در مسیر مون تاثیر میزاره باورندارین فیدبک قبلی هارو ببینید ❤️
بچها فیدبک هاتون در مسیر مون تاثیر میزاره باورندارین فیدبک قبلی هارو ببینید ❤️
Anonymous Poll
96%
خیلی عالیه
4%
نه، نظرمو توی کامنت ها مینویسم
🔥4
🤯🤯 یک چالش و سوال خیلی خفن، دو متد داریم به شرح زیر:
کدوم سریع تر است چرا؟ توی کامنت ها بنویسید
public void MethodA()
{
int[,] tab = new int[N, M];
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
{
tab[i, j] = 1;
}
}
}
public void MethodB()
{
int[,] tab = new int[N, M];
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
{
tab[j, i] = 1;
}
}
}
کدوم سریع تر است چرا؟ توی کامنت ها بنویسید
🤔1
Code With HSN
🤯🤯 یک چالش و سوال خیلی خفن، دو متد داریم به شرح زیر: public void MethodA() { int[,] tab = new int[N, M]; for (int i = 0; i < N; ++i) { for (int j = 0; j < M; ++j) { tab[i, j] = 1; …
آیا واقعاً از RAM به درستی استفاده میکنیم؟ 💻 میدونستید چیدمان دادهها در RAM چقدر میتونه روی سرعت برنامه ما تاثیر بزاره؟! 🚀 بیاید با هم یه نگاه عمیق به DRAM بندازیم و ببینیم چطور چیدمان داده ها در DRAM میتونه عملکرد سیستم رو تغییر بده. 👀
💡قبل هرچیزی باید بدونیم یک بیت توی سخت افزار چطوری ذخیره میشه!
🤔 هر سلول DRAM که فقط یک bit (0 یا 1) درونش قرار میگیرد، ترکیب یک ترانزیستور و یک خازن است، پایه منفی خازن به برد و پایه مثبت به ورودی ترانزیستور وصل میشود حالا برای اینکه بتونیم دیتارو از خازن بکشیم بیرون باید پایه وسط ترانزیستور رو شارژ کنیم یعنی یک سیگنالی بهش بدیم تا اجازه بده دیتای ترانزیستور از پایه سوم خارج بشه و برنامه با یک سیگنال دیگه دیتارو بگیره و بخونه
✍🏻 به زبان ساده برای اینکه دیتا رو از رم بخونیم، نیاز داریم دو کار انجام بدیم، هرکدوم از این کارها مقداری طول میکشه که جمعا میشه زمان دسترسی پذیری به یک سلول حافظه! و اگر یکی از عوامل رو حذف کنیم سرعت بالاتر میرود 🤯
🌐 حافظه DRAM دیتارو به صورت ماتریکس درون خودش نگه میداره یعنی برای اینکه دیتا بگیری ازش باید یک row رو شارژ کنی و بعد برای اینکه دیتارو بگیری باید بری سراغ column هاش
این یعنی اگر در DRAM همه چیز در یک ROW میبود لازم نبود برای رسیدن به دیتا یک کار اضافه تر انجام بدیم 🥇
🖼در عکسی که پیوست کرده ام دقت کنید، متد A خیلی سعی بر این ندارد که row رو تغییر بده هر 5 هزارباری که حلقه داخلی اجرا میشه یک بار row هم عوض میشه و پردازنده کمتر منتظر رسیدن دیتا از RAM میمونه احتمالا میدونید که سرعت پردازنده ها 2-3 برابر RAM هست
حالا متد B رو نگاه کنید column ثابت است و مدام داریم row رو عوض میکنیم همونطور که بالاتر گفتم اگر row عوض بشه ما یک هزینه زمانی باید بپردازیم تا بتوانیم سطر بعدی رو شارژ کنیم درکنار این موضوع دیتایی که برای CPU ارسال میشه cache line رو جوری پر نمیکنه که پردازنده کمتر به RAM سر بزنه یک row رو میدیم به پردازنده ولی اون فقط روی یک column کار میکنه بعدش درخواست row جدید داره (بحثش مفصله.. در متد A یک row که ارسال میشد براش بقیه کارش روی column ها بود پس همه چیزو توی register خودش کش کرده بوده)
🤯 و حالا خروجی benchmark رو ببینید!! میبینید که متد A خیلی سریع تر از متد B بوده است!
جالب بود نه؟ like و share فراموش نشه ❤️🥇
قراره به زودی یک پلی لیست از خلاصه کتاب های مهندسی درست کنم و کلی راجبش گپ بزنیم اگه همراه نیستی در چنل تلگرام و یوتیوبم جوین شو
عکس پیوست: https://news.1rj.ru/str/hasanxdev_files/4
پست مرتبط در لینکدین: https://www.linkedin.com/feed/update/urn:li:activity:7270711302363254784/
یوتیوب: https://youtube.com/@hasanxdev
تلگرام: https://news.1rj.ru/str/hasanxdev
💡قبل هرچیزی باید بدونیم یک بیت توی سخت افزار چطوری ذخیره میشه!
🤔 هر سلول DRAM که فقط یک bit (0 یا 1) درونش قرار میگیرد، ترکیب یک ترانزیستور و یک خازن است، پایه منفی خازن به برد و پایه مثبت به ورودی ترانزیستور وصل میشود حالا برای اینکه بتونیم دیتارو از خازن بکشیم بیرون باید پایه وسط ترانزیستور رو شارژ کنیم یعنی یک سیگنالی بهش بدیم تا اجازه بده دیتای ترانزیستور از پایه سوم خارج بشه و برنامه با یک سیگنال دیگه دیتارو بگیره و بخونه
✍🏻 به زبان ساده برای اینکه دیتا رو از رم بخونیم، نیاز داریم دو کار انجام بدیم، هرکدوم از این کارها مقداری طول میکشه که جمعا میشه زمان دسترسی پذیری به یک سلول حافظه! و اگر یکی از عوامل رو حذف کنیم سرعت بالاتر میرود 🤯
🌐 حافظه DRAM دیتارو به صورت ماتریکس درون خودش نگه میداره یعنی برای اینکه دیتا بگیری ازش باید یک row رو شارژ کنی و بعد برای اینکه دیتارو بگیری باید بری سراغ column هاش
این یعنی اگر در DRAM همه چیز در یک ROW میبود لازم نبود برای رسیدن به دیتا یک کار اضافه تر انجام بدیم 🥇
🖼در عکسی که پیوست کرده ام دقت کنید، متد A خیلی سعی بر این ندارد که row رو تغییر بده هر 5 هزارباری که حلقه داخلی اجرا میشه یک بار row هم عوض میشه و پردازنده کمتر منتظر رسیدن دیتا از RAM میمونه احتمالا میدونید که سرعت پردازنده ها 2-3 برابر RAM هست
حالا متد B رو نگاه کنید column ثابت است و مدام داریم row رو عوض میکنیم همونطور که بالاتر گفتم اگر row عوض بشه ما یک هزینه زمانی باید بپردازیم تا بتوانیم سطر بعدی رو شارژ کنیم درکنار این موضوع دیتایی که برای CPU ارسال میشه cache line رو جوری پر نمیکنه که پردازنده کمتر به RAM سر بزنه یک row رو میدیم به پردازنده ولی اون فقط روی یک column کار میکنه بعدش درخواست row جدید داره (بحثش مفصله.. در متد A یک row که ارسال میشد براش بقیه کارش روی column ها بود پس همه چیزو توی register خودش کش کرده بوده)
🤯 و حالا خروجی benchmark رو ببینید!! میبینید که متد A خیلی سریع تر از متد B بوده است!
جالب بود نه؟ like و share فراموش نشه ❤️🥇
قراره به زودی یک پلی لیست از خلاصه کتاب های مهندسی درست کنم و کلی راجبش گپ بزنیم اگه همراه نیستی در چنل تلگرام و یوتیوبم جوین شو
عکس پیوست: https://news.1rj.ru/str/hasanxdev_files/4
پست مرتبط در لینکدین: https://www.linkedin.com/feed/update/urn:li:activity:7270711302363254784/
یوتیوب: https://youtube.com/@hasanxdev
تلگرام: https://news.1rj.ru/str/hasanxdev
Telegram
Files
👍4🔥2👏2❤1
Code With HSN
آیا واقعاً از RAM به درستی استفاده میکنیم؟ 💻 میدونستید چیدمان دادهها در RAM چقدر میتونه روی سرعت برنامه ما تاثیر بزاره؟! 🚀 بیاید با هم یه نگاه عمیق به DRAM بندازیم و ببینیم چطور چیدمان داده ها در DRAM میتونه عملکرد سیستم رو تغییر بده. 👀 💡قبل هرچیزی باید…
یک عزیزی در لینکدین سوال پرسیدن که کاربرد دیگه ای هم داره چون از آرایه دو بعدی تقریبا هیچ وقت استفاده نکردم، سوال خوبی بود من اینجا میزارم که به دانش شما عزیزان هم اضافه بشه
🔥1😁1
Code With HSN
یک عزیزی در لینکدین سوال پرسیدن که کاربرد دیگه ای هم داره چون از آرایه دو بعدی تقریبا هیچ وقت استفاده نکردم، سوال خوبی بود من اینجا میزارم که به دانش شما عزیزان هم اضافه بشه
کد موردنظر:
var summary = BenchmarkRunner.Run<ListPerformanceTest>();
public class ListPerformanceTest
{
private List<List<int>> list;
public ListPerformanceTest()
{
list = new List<List<int>>(5000);
for (int i = 0; i < 5000; i++)
{
var innerList = new List<int>(5000);
for (int j = 0; j < 5000; j++)
{
innerList.Add(0);
}
list.Add(innerList);
}
}
[Benchmark]
public void RowMajorAccess()
{
for (int i = 0; i < 5000; i++)
{
for (int j = 0; j < 5000; j++)
{
list[i][j] = i + j;
}
}
}
[Benchmark]
public void ColumnMajorAccess()
{
for (int j = 0; j < 5000; j++)
{
for (int i = 0; i < 5000; i++)
{
list[i][j] = i + j;
}
}
}
}
👍2😍1
Code With HSN
نظرتون چیه خلاصه کتاب های برنامه نویسی یا مهندسی کامپیوتر رکورد کنیم؟
بچها فیدبک هاتون در مسیر مون تاثیر میزاره باورندارین فیدبک قبلی هارو ببینید ❤️
بچها فیدبک هاتون در مسیر مون تاثیر میزاره باورندارین فیدبک قبلی هارو ببینید ❤️
سلام 👋🏻 شبتون بخیر 🌙
فردا ساعت 9 منتظر باشید فکر میکنید اسم کتاب چیه؟ 🕶+🙂=😎
فردا ساعت 9 منتظر باشید فکر میکنید اسم کتاب چیه؟ 🕶+🙂=😎
🔥5
Code With HSN
نظرتون چیه خلاصه کتاب های برنامه نویسی یا مهندسی کامپیوتر رکورد کنیم؟
بچها فیدبک هاتون در مسیر مون تاثیر میزاره باورندارین فیدبک قبلی هارو ببینید ❤️
بچها فیدبک هاتون در مسیر مون تاثیر میزاره باورندارین فیدبک قبلی هارو ببینید ❤️
بالاخره تونستم Pro .NET Memory Management رو بسازمش...! 💡همیشه دنبال خلاصههای درست و کاربردی از کتابهای تخصصی بودم، که بتونم در تایم های خالیم ببینمشون ولی چیزی که میخواستم رو پیدا نمیکردم... تا اینکه تصمیم گرفتم خودم بسازمش! 📚 توی این ویدیو، خلاصهای از فصل اول کتاب Pro .NET Memory Management رو به صورت واضح و کاربردی براتون آماده کردم. این کتاب به قدری مفاهیم عمیق و پایهای رو توضیح میده که یه لحظه یادم رفت چند ساله برنامهنویسم! 😅
🚀 از Heap و Stack بگیرید تا Mutator، Allocator و Garbage Collector؛ بیایید با هم ذهنیتمون رو بهبود بدیم و دنیای پرفورمنس اپلیکیشنها رو از نو بررسی کنیم!
👈 لینک رو بزن و نظرت رو برام بنویس!
ویدیو: https://youtu.be/FMYtA0K3320
تلگرام: https://news.1rj.ru/str/hasanxdev
#ProNETMemoryManagement #DotNET #MemoryManagement #CSharp #TechContent #BookSummary #PerformanceTuning
🚀 از Heap و Stack بگیرید تا Mutator، Allocator و Garbage Collector؛ بیایید با هم ذهنیتمون رو بهبود بدیم و دنیای پرفورمنس اپلیکیشنها رو از نو بررسی کنیم!
👈 لینک رو بزن و نظرت رو برام بنویس!
ویدیو: https://youtu.be/FMYtA0K3320
تلگرام: https://news.1rj.ru/str/hasanxdev
#ProNETMemoryManagement #DotNET #MemoryManagement #CSharp #TechContent #BookSummary #PerformanceTuning
YouTube
Pro .NET Memory Management Book Summary Part 1 | خلاصه کتاب Pro .NET Memory Management قسمت اول
بالاخره تونستم Pro .NET Memory Management رو بسازمش...! 💡
📚 همیشه دنبال خلاصههای کاربردی از کتابهای تخصصی بودم، ولی هیچ وقت چیزی که دنبالش بودم رو پیدا نکردم. این بار تصمیم گرفتم خودم وارد عمل بشم و نتیجهاش رو با شما به اشتراک بذارم.
🎥 توی این ویدیو،…
📚 همیشه دنبال خلاصههای کاربردی از کتابهای تخصصی بودم، ولی هیچ وقت چیزی که دنبالش بودم رو پیدا نکردم. این بار تصمیم گرفتم خودم وارد عمل بشم و نتیجهاش رو با شما به اشتراک بذارم.
🎥 توی این ویدیو،…
🔥15🤩2
تا حالا فکر کردی وقتی یه پست اینستاگرام رو لایک میکنی، پشت صحنه چه اتفاقی میافته؟ 🤔 خب، اگر همیشه این سوال برات پیش اومده که چطور یه سیستم مثل اینستاگرام میتونه با حجم بالا از دادهها کنار بیاد و با یک کلیک ساده، تمام اطلاعات لایکها رو ثبت کنه، این ویدیو رو از دست نده! توی این ویدیو قراره با هم CQRS Premium رو بررسی کنیم و نشون بدیم چطور این معماری باعث میشه که سیستمها سریعتر و بهینهتر بشن! 🚀
✨ در این ویدیو به این مباحث میپردازیم:
1- فرق بین Eventual Consistency و Strong Consistency رو بررسی میکنیم مزایا و معایب هرکدوم میسنجیم 📨
2- مقایسه CQRS Regular و CQRS Premium تا بفهمیم با این روش به چه مزیت های فوق العاده ای دست پیدا میکنیم. 🤓
3- چرا باید عملیاتهای خواندن و نوشتن رو از هم جدا کنیم و این کار چه تاثیری روی عملکرد سیستم میذاره؟ 🔄
4- ترفندهایی برای scale کردن یک API یا یک قسمت مثل صفحه لیست محصولات (PLP) که کمک میکنه سیستم توی شرایط با حجم بالای درخواستها همچنان سریع بمونه. 📊
5- چطور سیستمهای مقیاسپذیر و توزیعشده بسازیم که با رشد تصاعدی دادهها همچنان به راحتی کار کنن؟ 💪
6- استفاده از CQRS Premium برای بهینهسازی زمان پاسخدهی و افزایش کارایی سیستمها 🚅
اگر به توسعه نرمافزار، معماری سیستمها و مقیاسپذیری علاقه داری، این ویدیو رو حتماً ببین! و نظرت رو با من به اشتراک بذار 😊
لینک ویدیو: https://www.youtube.com/watch?v=YuKWFCPU6f8
کانال تلگرام: https://news.1rj.ru/str/hasanxdev
✨ در این ویدیو به این مباحث میپردازیم:
1- فرق بین Eventual Consistency و Strong Consistency رو بررسی میکنیم مزایا و معایب هرکدوم میسنجیم 📨
2- مقایسه CQRS Regular و CQRS Premium تا بفهمیم با این روش به چه مزیت های فوق العاده ای دست پیدا میکنیم. 🤓
3- چرا باید عملیاتهای خواندن و نوشتن رو از هم جدا کنیم و این کار چه تاثیری روی عملکرد سیستم میذاره؟ 🔄
4- ترفندهایی برای scale کردن یک API یا یک قسمت مثل صفحه لیست محصولات (PLP) که کمک میکنه سیستم توی شرایط با حجم بالای درخواستها همچنان سریع بمونه. 📊
5- چطور سیستمهای مقیاسپذیر و توزیعشده بسازیم که با رشد تصاعدی دادهها همچنان به راحتی کار کنن؟ 💪
6- استفاده از CQRS Premium برای بهینهسازی زمان پاسخدهی و افزایش کارایی سیستمها 🚅
اگر به توسعه نرمافزار، معماری سیستمها و مقیاسپذیری علاقه داری، این ویدیو رو حتماً ببین! و نظرت رو با من به اشتراک بذار 😊
لینک ویدیو: https://www.youtube.com/watch?v=YuKWFCPU6f8
کانال تلگرام: https://news.1rj.ru/str/hasanxdev
YouTube
دوره رایگان CQRS | قسمت 4: CQRS Premium | و Eventual Consistency Strong Consistency چیست؟
تا حالا فکر کردی وقتی یه پست اینستاگرام رو لایک میکنی، پشت صحنه چه اتفاقی میافته؟ 🤔 خب، اگر همیشه این سوال برات پیش اومده که چطور یه سیستم مثل اینستاگرام میتونه با حجم بالا از دادهها کنار بیاد و با یک کلیک ساده، تمام اطلاعات لایکها رو ثبت کنه، این ویدیو…
🔥10👍1