برای اینکه پکیجهاتون رو همیشه بروز نگه دارید و نیازی نباشه که همیشه آپدیتشون کنید میتونید از کاراکتر ستاره به جای نسخه استفاده کنید.
این قابلیت به شما این اجازه رو میده تا آخرین نسخهی استیبیل شده از اون پکیج همیشه روی پروژهی شما فعال باشه.
#سی_شارپ
#nuget
#package
#packagemanager
@csharptips
این قابلیت به شما این اجازه رو میده تا آخرین نسخهی استیبیل شده از اون پکیج همیشه روی پروژهی شما فعال باشه.
#سی_شارپ
#nuget
#package
#packagemanager
@csharptips
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
C# Programming Guide
Photo
ارثبری در رابط کاربری چگونه است؟ آیا قابلیت پیادهسازی دارد؟
ارثبری در رابط کاربری مانند برنامهنویسی نیست و پیادهسازی آن بهمراتب دشوارتر است، چرا که ابزارهای رابط کاربری هنوز در حال توسعهاند و به آن بلوغ نرسیدهاند که بتوان روی آنها معماری دقیق و کاملی را پیاده کرد.
امروز ما میخواهیم یک نمونه از ارثبری در رابط کاربری را به شما نشان دهیم تا ببینید که ما در Easy Microservices چگونه این موضوع را حل میکنیم.
تصور کنید که ما دو UI Kit قدرتمند MudBlazor و Radzen را در اختیار داریم. هر یک از این کامپوننتها خصوصیات خود را دارند؛ به طور مثال یک دکمه در MudBlazor با نام MudButton و در Radzen با نام RadzenButton معرفی شده است و هر کدام ویژگیهای خاص خود را دارند.
حال اگر به وابستگیها بپردازیم، فرض کنید کل پروژه را با Radzen توسعه دادهایم و بعد متوجه شویم که پشتیبانی از RTL (متن چپ-بهراست) را ندارد، دیگر چه عملی باید انجام داد؟ آیا باید وقت زیادی صرف کنیم تا کل پروژه را به MudBlazor تبدیل کنیم؟
راهحلی که ما ارائه کردهایم به این ترتیب است که ما یک کنترل به نام EasyButton میسازیم و سپس آن را برای Radzen و MudBlazor پیادهسازی میکنیم، دقیقاً همان کاری که در ارثبری دو کلاس از یک interface انجام میدهیم.
در نتیجه، اگر سیاستمان تغییر کند، تنها کافی است که چند خط کد را تغییر دهیم و بین UI Kits جابهجا شویم.
شما میتوانید نمونه پروژه سادهای که من به صورت پیادهسازی شده در اینجا توصیف کردم را در گیتهاب مشاهده کنید:
https://github.com/EasyMicroservices/UI-Kits/
#inheritance
#csharp
#blazor
#microcomponent
#easymicroservices
@easymicroservice
@easymicroservices
@csharptips
ارثبری در رابط کاربری مانند برنامهنویسی نیست و پیادهسازی آن بهمراتب دشوارتر است، چرا که ابزارهای رابط کاربری هنوز در حال توسعهاند و به آن بلوغ نرسیدهاند که بتوان روی آنها معماری دقیق و کاملی را پیاده کرد.
امروز ما میخواهیم یک نمونه از ارثبری در رابط کاربری را به شما نشان دهیم تا ببینید که ما در Easy Microservices چگونه این موضوع را حل میکنیم.
تصور کنید که ما دو UI Kit قدرتمند MudBlazor و Radzen را در اختیار داریم. هر یک از این کامپوننتها خصوصیات خود را دارند؛ به طور مثال یک دکمه در MudBlazor با نام MudButton و در Radzen با نام RadzenButton معرفی شده است و هر کدام ویژگیهای خاص خود را دارند.
حال اگر به وابستگیها بپردازیم، فرض کنید کل پروژه را با Radzen توسعه دادهایم و بعد متوجه شویم که پشتیبانی از RTL (متن چپ-بهراست) را ندارد، دیگر چه عملی باید انجام داد؟ آیا باید وقت زیادی صرف کنیم تا کل پروژه را به MudBlazor تبدیل کنیم؟
راهحلی که ما ارائه کردهایم به این ترتیب است که ما یک کنترل به نام EasyButton میسازیم و سپس آن را برای Radzen و MudBlazor پیادهسازی میکنیم، دقیقاً همان کاری که در ارثبری دو کلاس از یک interface انجام میدهیم.
در نتیجه، اگر سیاستمان تغییر کند، تنها کافی است که چند خط کد را تغییر دهیم و بین UI Kits جابهجا شویم.
شما میتوانید نمونه پروژه سادهای که من به صورت پیادهسازی شده در اینجا توصیف کردم را در گیتهاب مشاهده کنید:
https://github.com/EasyMicroservices/UI-Kits/
#inheritance
#csharp
#blazor
#microcomponent
#easymicroservices
@easymicroservice
@easymicroservices
@csharptips
GitHub
GitHub - EasyMicroservices/UI-Kits
Contribute to EasyMicroservices/UI-Kits development by creating an account on GitHub.
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
سلام.
با یک سورس جالب اومدم، همونطور که قولش رو داده بودم بهتون نمونههایی میفرستم که با مطالعهی سورس با نحوهی کارکرد معماری بیشتر آشنا بشید.
یک بازی ساختم، بازی Avalon رو پیاده سازی کردم.
این سورس شامل بکند (سی شارپ Asp Core و EF Core) هست و شامل فرانت Maui که کراس پلتفرمه و میتونید روی اندروید و IOS و ویندوز اجراش کنید.
هم بکند از زیرساخت معماری Easy Microservices داره استفاده میکنه و هم فرانت به صورت میکرو کامپوننت توسعه داده شده. برای مثال شما توی فرانت رابط کاربری صفحات لاگین و ثبت نام رو نمیبینید و اینها به صورت یک کامپوننت به سورس اضافه شدن و مورد استفاده قرار گرفتن.
زیرساخت بکند از میکروسرویسهای Authentication، Identity، WhiteLabels، Content و Avalon استفاده کرده. (اطلاعات نقش ها و دسترسی های یوزرها در Authentication مدیریت شده.)
سورس:
https://github.com/Ali-YousefiTelori/AvalonGame
@easymicroservice
@easymicroservices
@csharptips
با یک سورس جالب اومدم، همونطور که قولش رو داده بودم بهتون نمونههایی میفرستم که با مطالعهی سورس با نحوهی کارکرد معماری بیشتر آشنا بشید.
یک بازی ساختم، بازی Avalon رو پیاده سازی کردم.
این سورس شامل بکند (سی شارپ Asp Core و EF Core) هست و شامل فرانت Maui که کراس پلتفرمه و میتونید روی اندروید و IOS و ویندوز اجراش کنید.
هم بکند از زیرساخت معماری Easy Microservices داره استفاده میکنه و هم فرانت به صورت میکرو کامپوننت توسعه داده شده. برای مثال شما توی فرانت رابط کاربری صفحات لاگین و ثبت نام رو نمیبینید و اینها به صورت یک کامپوننت به سورس اضافه شدن و مورد استفاده قرار گرفتن.
زیرساخت بکند از میکروسرویسهای Authentication، Identity، WhiteLabels، Content و Avalon استفاده کرده. (اطلاعات نقش ها و دسترسی های یوزرها در Authentication مدیریت شده.)
سورس:
https://github.com/Ali-YousefiTelori/AvalonGame
@easymicroservice
@easymicroservices
@csharptips
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
ir.framesoft.avalongame.apk
52.3 MB
یک نسخه قابل استفاده از بازی در اندروید.
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
این سورس به شما کمک میکنه تا آی پی هایی که درخواست اتصال به سرور شمارو میدن تا بالاخره بتونن لاگین بشن و سرور شما هک بشه رو بلاک میکنه.
اگر به event log های سیستم عاملتون برید شاهد درخواست هایی هستید که به سیستم عامل شما زده میشه ولی با خطای اشتباه بودن نام کاربری و رمز عبور مواجه میشه.
اگر سرور شما قبلا هک شده باشه رمز عبور شما توسط این سرور ها در دیتابیسشون ذخیره شده و استفاده مجدد از اون رمز عبور باعث هک مجدد سیستم عامل میشه.
فقط کافیه Role ای که توی فایروال سیستم عاملتون گذاشتید رو به این ابزار بدید تا تمامی آی پی هایی که به شما درخواست میدن رو بلاک کنه و بعدش دیگه این درخواست ها رو در Event Log ویندوز نخواهی دید.
سورس: سی شارپ
سیستم عامل: ویندوز
https://github.com/Ali-YousefiTelori/Firewall-Ip-Blocker
@easymicroservice
@easymicroservices
@csharptips
اگر به event log های سیستم عاملتون برید شاهد درخواست هایی هستید که به سیستم عامل شما زده میشه ولی با خطای اشتباه بودن نام کاربری و رمز عبور مواجه میشه.
اگر سرور شما قبلا هک شده باشه رمز عبور شما توسط این سرور ها در دیتابیسشون ذخیره شده و استفاده مجدد از اون رمز عبور باعث هک مجدد سیستم عامل میشه.
فقط کافیه Role ای که توی فایروال سیستم عاملتون گذاشتید رو به این ابزار بدید تا تمامی آی پی هایی که به شما درخواست میدن رو بلاک کنه و بعدش دیگه این درخواست ها رو در Event Log ویندوز نخواهی دید.
سورس: سی شارپ
سیستم عامل: ویندوز
https://github.com/Ali-YousefiTelori/Firewall-Ip-Blocker
@easymicroservice
@easymicroservices
@csharptips
GitHub
GitHub - Ali-YousefiTelori/Firewall-Ip-Blocker
Contribute to Ali-YousefiTelori/Firewall-Ip-Blocker development by creating an account on GitHub.
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
رعایت یا ساخت اصول در مهندسی نرم افزار به شما کمک میکنه تا بتونید توسعهی نرم افزار رو نه فقط برای خودتون بلکه برای تیمهای مختلف آسون کنید.
من یه نمونه از این رو در تصویر براتون به نمایش گذاشتم که از یک سری اصول نام گذاری در سورس پروژه استفاده کردم و وقتی میخواستم برای Pipeline های Azure یک تمپلیت بسازم با کمترین زحمت تونستم اینکار رو انجام بدم. یعنی یک کار خوب توی تیم توسعه باعث راحتی کار توی تیم DevOps میشه.
@easymicroservices
@easymicroservice
@csharptips
#devops
#azure
#pipeline
من یه نمونه از این رو در تصویر براتون به نمایش گذاشتم که از یک سری اصول نام گذاری در سورس پروژه استفاده کردم و وقتی میخواستم برای Pipeline های Azure یک تمپلیت بسازم با کمترین زحمت تونستم اینکار رو انجام بدم. یعنی یک کار خوب توی تیم توسعه باعث راحتی کار توی تیم DevOps میشه.
@easymicroservices
@easymicroservice
@csharptips
#devops
#azure
#pipeline
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
اگر یک کامیونیتی بذاریم توی هفته های آتی و در مورد این صحبت کنیم که توی این یکسال توی Easy Microservices چیکار کردیم شرکت میکنید؟
Final Results
24%
این هفته پنجشنبه خوبه
27%
این هفته جمعه خوبه
11%
هفته ی بعدش پنجشنبه خوبه
6%
هفته ی بعدش جمعه خوبه
0%
روزای دیگه باشه
7%
متاسفانه وقت و فرصتش رو ندارم
24%
فعلا نظری ندارم
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
بچه ها با توجه به رایگیری قبلی بیشترین رای رو جمعه این هفته آورد لطفا در این نظر سنجی هم شرکت کنید برای اینکه زمانش رو هم مشخص کنیم.
Final Results
22%
صبح باشه خوب
20%
ظهر باشه خوبه
41%
بعد از ظهر یا عصر باشه خوبه
46%
شب باشه خوبه
22%
نظری ندارم
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
خب بچهها با توجه به اینکه رایگیری برای امشب پیروز شد، لطفا بگید امشب ساعت 8 در میتینگ تلگرام (توی همین کانال) شرکت میکنید یا خیر؟
Final Results
40%
بله حتما میام
14%
نه متاسفانه نمیتونم بیام
41%
مطمئن نیستم ولی سعیم رو میکنم
5%
مشاهده نظرات (نظری ندارم)
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
بچه های برای ورود به میتینگ توی گوگل میت روی لینک زیر کلیک کنید بی صبرانه منتظرتون هستیم ساعت 8 شروع میکنیم به امید خدا.
https://meet.google.com/mhb-erzt-pxs
https://meet.google.com/mhb-erzt-pxs
Google
Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.
Audio
فایل صوتی جلسهی Easy microservices
به زودی فایل تصویری هم توی آپارات آپلود میشه و برای دوستان قابل استفاده خواهد بود.
به زودی فایل تصویری هم توی آپارات آپلود میشه و برای دوستان قابل استفاده خواهد بود.
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
آپارات - سرویس اشتراک ویدیو
مایکروسرویس ها، مونولیت و مونولیت ماژولار Easy Microservices
. میکروسرویس و مونولیت و ماژولار و میکروکامپوننتها چی هستند؟
2. انتخاب بین میکروسرویس یا مونولیت؟
3. چطوری یک پروژهی بزرگ مونولیت رو ببریم به سمت میکروسرویس؟
4.چطوری میکروسرویس رو ببریم سمت مونولیت؟
5. چالشهایی که توی هرکدوم میخوریم؟
6.چطوری یک معمار بشیم؟…
2. انتخاب بین میکروسرویس یا مونولیت؟
3. چطوری یک پروژهی بزرگ مونولیت رو ببریم به سمت میکروسرویس؟
4.چطوری میکروسرویس رو ببریم سمت مونولیت؟
5. چالشهایی که توی هرکدوم میخوریم؟
6.چطوری یک معمار بشیم؟…
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
سلام بچهها، اول از همه ممنون از اینکه دعوت مارو پذیرفتید و مارو قابل دونستید، از اونجایی که استقبال شما باعث شد انگیزهام برای ادامهی این کامیونیتی بیشتر بشه، هفتهی بعدی هم یک جلسه باهم داشته باشیم و یک رای گیری میذارم مثل قبل، روز و ساعتش رو مشخص میکنم. بنابراین این کار رو پر قدرت ادامه خواهیم داد به امید خدا.
اول از همه اینکه بچهها تا جاییکه میتونید یک حرکت بزنید که من متکلم نباشم، چون مطمئن باشید با پخش این ویدئوها، خیلی از برنامهنویس ها از اطلاعات ماها در آینده استفاده میکنند و دعامون میکنند. توی اینترنت پر از مقاله و ویدئوهای آموزشی هست، این قرار نیست یک ویدئوی آموزشی بشه. توی این کامیونیتی شرکت کنید، حرف بزنید و ایدههاتون رو مطرح کنید، نگران نباشید که چیزی اشتباه باشه، هیچکس بی عیب و اشتباه نیست ما پر از اشتباه بودیم که امروز تونستیم همهی اونارو با همکاری و تجربه فیکس کنیم. باید به جوونتر ها اجازه بدیم که راحت حرف بزنند و اشتباه کنند و توی این مساله باید همو تشویق کنیم.
دوم از همه این جمع دوستانه خیلی چیز با ارزشی هست من وقت نشد برسم در مورد سافت اسکیلها صحبت کنم ان شالله هفتهی بعد اینکار رو میکنم ولی این جمع از همه چیز و همهی تجربیاتمون با ارزشتر هست که من اولین نفر قدرش رو میدونم دوست دارم مشارکتها بیشتر بشه و از وجودتون بیشترین استفاده رو ببریم.
دمتون گرم.
مرسی که هستید.
@easymicroservices
@easymicroservice
@csharptips
اول از همه اینکه بچهها تا جاییکه میتونید یک حرکت بزنید که من متکلم نباشم، چون مطمئن باشید با پخش این ویدئوها، خیلی از برنامهنویس ها از اطلاعات ماها در آینده استفاده میکنند و دعامون میکنند. توی اینترنت پر از مقاله و ویدئوهای آموزشی هست، این قرار نیست یک ویدئوی آموزشی بشه. توی این کامیونیتی شرکت کنید، حرف بزنید و ایدههاتون رو مطرح کنید، نگران نباشید که چیزی اشتباه باشه، هیچکس بی عیب و اشتباه نیست ما پر از اشتباه بودیم که امروز تونستیم همهی اونارو با همکاری و تجربه فیکس کنیم. باید به جوونتر ها اجازه بدیم که راحت حرف بزنند و اشتباه کنند و توی این مساله باید همو تشویق کنیم.
دوم از همه این جمع دوستانه خیلی چیز با ارزشی هست من وقت نشد برسم در مورد سافت اسکیلها صحبت کنم ان شالله هفتهی بعد اینکار رو میکنم ولی این جمع از همه چیز و همهی تجربیاتمون با ارزشتر هست که من اولین نفر قدرش رو میدونم دوست دارم مشارکتها بیشتر بشه و از وجودتون بیشترین استفاده رو ببریم.
دمتون گرم.
مرسی که هستید.
@easymicroservices
@easymicroservice
@csharptips
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
بچهها لطفا در رای گیری شرکت کنید که جلسهی این هفته رو توی چه روزی و چه زمانی برگزار کنیم؟
Final Results
12%
پنجشنبه این هفته ساعت 4 یا 5 بعد از ظهر
30%
پنجشنبه این هفته 8 شب
14%
جمعه این هفته ساعت 4 یا 5 بعد از ظهر
34%
جمعه این هفته 8 شب
4%
زمان یا روز دیگه مد نظرم هست
22%
نظری ندارم (دیدن نظرات)
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
موضوعاتی که توی جلسه ی بعدی میخوایم پیگیری کنیم:
1. چالشهایی که توی هرکدوم (میکروسرویس و مونولیت) میخوریم؟
2.کارهایی که توی Easy microservices انجام دادیم؟
3.چطوری یک معمار بشیم؟ چطوری نرم افزارهای بزرگ رو معماری کنیم؟
4. چقدر و چطوری درگیر دیتابیسها بشیم؟
5. از چت جی پی تی استفاده کنیم؟ نکنیم؟ چطوری؟
6. مهارت های نرم و سافت اسکیل هامون رو چطوری تقویت کنیم؟ مهارت های ارتباطی.
1. چالشهایی که توی هرکدوم (میکروسرویس و مونولیت) میخوریم؟
2.کارهایی که توی Easy microservices انجام دادیم؟
3.چطوری یک معمار بشیم؟ چطوری نرم افزارهای بزرگ رو معماری کنیم؟
4. چقدر و چطوری درگیر دیتابیسها بشیم؟
5. از چت جی پی تی استفاده کنیم؟ نکنیم؟ چطوری؟
6. مهارت های نرم و سافت اسکیل هامون رو چطوری تقویت کنیم؟ مهارت های ارتباطی.
Audio
فایل صوتی بخش دوم Easy microservices
اکثر صحبت ها حول محور Api Gateway مفصل اتفاق افتاد.
اکثر صحبت ها حول محور Api Gateway مفصل اتفاق افتاد.
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
فایل Easy Microservices بخش دوم به صورت تصویری:
در آپارات:
https://www.aparat.com/v/6lpPd
در یوتیوب:
https://www.youtube.com/watch?v=e3hYveXsW7Y
در آپارات:
https://www.aparat.com/v/6lpPd
در یوتیوب:
https://www.youtube.com/watch?v=e3hYveXsW7Y
YouTube
Easy Microservices community Part 2 - ApiGateways
Api Gateway
Aggregator
Log
Aggregator
Log