Channel: Easy Microservices
سوال:
آیا بعد از اینکه پول رکوئست زدیم به ازای تغییراتی که روی همون برنچ میزنیم باید دوباره پول رکوئست بزنیم؟
پاسخ:
خیر، هر پول رکوئستی که میزنید در واقع مشخص میکنید که کدوم برنچ از روی فورک شما به کدوم برنچ روی سورس اصلی مرج بشه، پس هر تغییری که روی اون برنچ روی فورکتون بفرستید بالا، اتوماتیک روی پول رکوئستی که زدید تغییرات اعمال میشه و Code reviewer ها مجدد باید بررسی کنن. بدون اینکه نیاز باشه کاری انجام بدید، یعنی فقط git push بزنید روی فورکتون کافیه، گیتهاب اونارو بروز میکنه.
دقت کنید که اگر پول رکوئستتون فعال باشه این اتفاق میوفته.
اگر دوتا تغییر متفاوت برای دوتا تسک متفاوت دارید باید روی فورکتون برنچ متفاوت بزنید اینطوری میتونید دوتا پول رکوئست رو از هم تفکیک کنید تا کامیتهاتون با هم مخلوط نشن.
#پول_رکوئست
#برچ
#branch
#pullrequest
آیا بعد از اینکه پول رکوئست زدیم به ازای تغییراتی که روی همون برنچ میزنیم باید دوباره پول رکوئست بزنیم؟
پاسخ:
خیر، هر پول رکوئستی که میزنید در واقع مشخص میکنید که کدوم برنچ از روی فورک شما به کدوم برنچ روی سورس اصلی مرج بشه، پس هر تغییری که روی اون برنچ روی فورکتون بفرستید بالا، اتوماتیک روی پول رکوئستی که زدید تغییرات اعمال میشه و Code reviewer ها مجدد باید بررسی کنن. بدون اینکه نیاز باشه کاری انجام بدید، یعنی فقط git push بزنید روی فورکتون کافیه، گیتهاب اونارو بروز میکنه.
دقت کنید که اگر پول رکوئستتون فعال باشه این اتفاق میوفته.
اگر دوتا تغییر متفاوت برای دوتا تسک متفاوت دارید باید روی فورکتون برنچ متفاوت بزنید اینطوری میتونید دوتا پول رکوئست رو از هم تفکیک کنید تا کامیتهاتون با هم مخلوط نشن.
#پول_رکوئست
#برچ
#branch
#pullrequest
زیرساخت اولیه ریپازیتوری Database رو هم پیاده سازی کردیم روی Ef Core به زودی توسعه های بیشتری روش اعمال می کنیم اما معماریش رو استخراج کردیم که بقیه ی ساختار دیتابیسی هم پیرو اون معماری باشن.
دوستان عزیز میتونید روی زیرساخت دیتابسی زبان های مختلف و ... هم کار کنید.
https://github.com/EasyMicroservices/Database
دوستان عزیز میتونید روی زیرساخت دیتابسی زبان های مختلف و ... هم کار کنید.
https://github.com/EasyMicroservices/Database
GitHub
GitHub - EasyMicroservices/Database: Database management infrastructure
Database management infrastructure. Contribute to EasyMicroservices/Database development by creating an account on GitHub.
بچه ها لطفا پست لینکدین رو لایک و شیر کنید تا افراد بیشتری بهمون اضافه بشن و با قدرت بیشتری ادامه بدیم، ممنون که حمایت میکنید:
https://www.linkedin.com/posts/ali-visual-studio_aetahyagpaezaewaebaezaewahyaeb-microservice-activity-7022486493835243520-a8K4?utm_source=share&utm_medium=member_desktop
https://www.linkedin.com/posts/ali-visual-studio_aetahyagpaezaewaebaezaewahyaeb-microservice-activity-7022486493835243520-a8K4?utm_source=share&utm_medium=member_desktop
Linkedin
Ali Yousefi on LinkedIn: #میکروسرویس #microservice #microservices #نرم_افزار #برنامه_نویسی #گیتهاب…
تا به امروز بیش از 500 نفر به کامیونیتی اوپن سورس EasyMicroservices توی تلگرام جوین شدن و ما با کمک بچه ها تونستیم چندتا از پکیجها رو به جاهای قابل استفاده…
سلام دوستان عزیزم، فردا (جمعه) ساعت دوازده میتینگ داریم، در صورتی که تمایل داشتید میتونید از طریق گروه Easy Microservices ساعت دوازده آنلاین باشید تا گپ بزنیم و یکمی هم پرسش و پاسخ داشته باشیم🙏💪.
خیلی از باگها و مشکلات اولونیا رفع شده و روی دات نت کور 7 هم قابلیت پیاده سازیش هست.
WPF
روی ویندوز، مک و لینوکس
پروژهی عجیب و بزرگیه...
https://github.com/AvaloniaUI/Avalonia
WPF
روی ویندوز، مک و لینوکس
پروژهی عجیب و بزرگیه...
https://github.com/AvaloniaUI/Avalonia
ریپازیتوری Compression رو ایجاد کردیم.
پکیج جدید رو بزودی توسعه میدیم 😉.
توی این پکیج قراره انواع فشرده سازی رو پکیج کنیم.
https://github.com/EasyMicroservices/Compression
پکیج جدید رو بزودی توسعه میدیم 😉.
توی این پکیج قراره انواع فشرده سازی رو پکیج کنیم.
https://github.com/EasyMicroservices/Compression
GitHub
GitHub - EasyMicroservices/Compression: Wrapper for any compression package
Wrapper for any compression package. Contribute to EasyMicroservices/Compression development by creating an account on GitHub.
کلی ریپازیتوری ساختم به ازای میکروسرویس هایی که قراره پیاده سازی کنیم.
قراره تک تک میکروسرویس ها رو پیاده سازی کنیم 😉.
وقتی میکروسرویس ها پیاده سازی بشن، اونوقت دیگه به ازای هر پروژه که میخوایم پیاده کنیم به زمان خیلی کمتری نیاز داریم.
جوین شید و ابراز آمادگی کنید، کلی کار داریم.
@easymicroservice
@easymicroservices
قراره تک تک میکروسرویس ها رو پیاده سازی کنیم 😉.
وقتی میکروسرویس ها پیاده سازی بشن، اونوقت دیگه به ازای هر پروژه که میخوایم پیاده کنیم به زمان خیلی کمتری نیاز داریم.
جوین شید و ابراز آمادگی کنید، کلی کار داریم.
@easymicroservice
@easymicroservices
چرا باید از Easy microservices حمایت کنیم؟ 😆
https://www.linkedin.com/posts/guilleojeda_software-architecture-is-cyclic-and-its-activity-7063488919262117889-6D24?utm_source=share&utm_medium=member_desktop
https://www.linkedin.com/posts/guilleojeda_software-architecture-is-cyclic-and-its-activity-7063488919262117889-6D24?utm_source=share&utm_medium=member_desktop
Linkedin
Guille Ojeda on LinkedIn: Software architecture is cyclic, and it's cycling back to monoliths.
Why?… | 333 comments
Why?… | 333 comments
Software architecture is cyclic, and it's cycling back to monoliths.
Why? For no particular reason 🤷♂️
3 decades ago, monoliths were all the rage. You… | 333 comments on LinkedIn
Why? For no particular reason 🤷♂️
3 decades ago, monoliths were all the rage. You… | 333 comments on LinkedIn
پکیج https://github.com/EasyMicroservices/SMS برای کاوه نگار تا به الان پیاده سازی شده.
چندتا چیز برای یادگرفتن هست:
1.یکپارچه سازی زیرساخت پیامکی
2.مجازی سازی httpclient در تست کیس ها با استفاده از پکیج EasyMicroservices/Laboratory و ببینید که چطوری سرویس کاوه نگار تست هاش زده شده بدون اینکه به لایو خود کاوه نگار درخواست بزنه.
3.پیاده سازی یک سیستم پیامکی جدید روی این ساختار چقدر سریع و آسون خواد بود 😉.
دوستانی که میخوان شروع کنن میتونن سیستم های پیامکی دیگری رو که مد نظرشون هست در این ساختار پیاده سازی کنند.
چندتا چیز برای یادگرفتن هست:
1.یکپارچه سازی زیرساخت پیامکی
2.مجازی سازی httpclient در تست کیس ها با استفاده از پکیج EasyMicroservices/Laboratory و ببینید که چطوری سرویس کاوه نگار تست هاش زده شده بدون اینکه به لایو خود کاوه نگار درخواست بزنه.
3.پیاده سازی یک سیستم پیامکی جدید روی این ساختار چقدر سریع و آسون خواد بود 😉.
دوستانی که میخوان شروع کنن میتونن سیستم های پیامکی دیگری رو که مد نظرشون هست در این ساختار پیاده سازی کنند.
GitHub
GitHub - EasyMicroservices/SMS
Contribute to EasyMicroservices/SMS development by creating an account on GitHub.
پکیج https://github.com/EasyMicroservices/Mapper هم برای AutoMapper تا به الان پیاده سازی شده. اگر علاقه مند بودید میتونید سر بزنید و issue های مد نظرتون رو براتی دیگر پکیج ها و یا توسعه های جدید رو اعمال کنید.
GitHub
GitHub - EasyMicroservices/Mapper: map everything in compile time
map everything in compile time. Contribute to EasyMicroservices/Mapper development by creating an account on GitHub.
سلام بچه ها روزتون بخیر.
تا الان حدود 5 تا میکروسرویس رو به مرحله ی استفادهی اولیه رسوندیم و اولین پروژهی لایومون رو داریم روی این بستر پیاده سازی میکنیم که بزودی خبراشو بهتون میرسونیم که چی شد و چیکار کردیم. همچنان دوستانی که جوین شدن دارن با قدرت و سرعت زیر سیستم هارو توسعه میدن، هرچی زودتر به ما جوین شید❤️.
اگریگیتورها که سورس اصلی و داخلی شرکت ها هستن رو اوپن سورس نمیکنیم. چون پروژههای بزینسی هستن ولی ارائه اش رو بهتون خواهیم داد. اما تجمیع کردن میکروسرویسها و ساخت یک پروژه کار خیلی آسونی میشه.
حمایتمون کنید تا دنیای کار با میکروسرویس رو برای همه آسون کنیم👌.
@easymicroservices
تا الان حدود 5 تا میکروسرویس رو به مرحله ی استفادهی اولیه رسوندیم و اولین پروژهی لایومون رو داریم روی این بستر پیاده سازی میکنیم که بزودی خبراشو بهتون میرسونیم که چی شد و چیکار کردیم. همچنان دوستانی که جوین شدن دارن با قدرت و سرعت زیر سیستم هارو توسعه میدن، هرچی زودتر به ما جوین شید❤️.
اگریگیتورها که سورس اصلی و داخلی شرکت ها هستن رو اوپن سورس نمیکنیم. چون پروژههای بزینسی هستن ولی ارائه اش رو بهتون خواهیم داد. اما تجمیع کردن میکروسرویسها و ساخت یک پروژه کار خیلی آسونی میشه.
حمایتمون کنید تا دنیای کار با میکروسرویس رو برای همه آسون کنیم👌.
@easymicroservices
39 پکیج تا الان توی این زیر ساخت پیاده سازی و ریلیز شده.
@easymicroservices
@easymicroservice
@CsharpTips
@easymicroservices
@easymicroservice
@CsharpTips
Forwarded from C# Programming Guide
#تخصصی
در معماری نرم افزار یکی از مولفههای مهم «حذف وابستگی» هست.
چطوری بفهمیم معماری نرم افزاری که پیاده سازی کردیم از نظر «حذف وابستگی» داره درست کار میکنه؟
تنها با طرح سوال میتونید متوجه معماری درست برای بخش «حذف وابستگی» بشید.
برای مثال:
از چه ابزاری برای کشینگ استفاده میکنید؟
پاسخ: Redis
آیا با بسته شدن Redis بخشی از سیستم شما از کار میوفته؟
در صورتی که پاسخ به این سوال بله باشه نشان از ضعف معماری در بخش «حذف وابستگی» هست.
سوال بعدی:
از چه ابزاری برای Api gateway استفاده میکنید؟
پاسخ: Ocelot
آیا با از کار افتادن Api gateway ها، بخشی از سیستم شما از کار میوفته؟
پاسخ به این سوال هم مانند سوال قبلی به شما کمک میکنه تا راه حل هایی رو برای حذف وابستگی ها در معماری نرم افزار خودتون پیدا کنید.
حذف وابستگی ها در معماری نرم افزار کمک میکنه تا اپلیکیشن شما با کمترین خطا در ارائهی خدمات به مشتری به کارش ادامه بده.
#وابستگی
#معماری
#معماری_نرم_افزار
@CSharpTips
در معماری نرم افزار یکی از مولفههای مهم «حذف وابستگی» هست.
چطوری بفهمیم معماری نرم افزاری که پیاده سازی کردیم از نظر «حذف وابستگی» داره درست کار میکنه؟
تنها با طرح سوال میتونید متوجه معماری درست برای بخش «حذف وابستگی» بشید.
برای مثال:
از چه ابزاری برای کشینگ استفاده میکنید؟
پاسخ: Redis
آیا با بسته شدن Redis بخشی از سیستم شما از کار میوفته؟
در صورتی که پاسخ به این سوال بله باشه نشان از ضعف معماری در بخش «حذف وابستگی» هست.
سوال بعدی:
از چه ابزاری برای Api gateway استفاده میکنید؟
پاسخ: Ocelot
آیا با از کار افتادن Api gateway ها، بخشی از سیستم شما از کار میوفته؟
پاسخ به این سوال هم مانند سوال قبلی به شما کمک میکنه تا راه حل هایی رو برای حذف وابستگی ها در معماری نرم افزار خودتون پیدا کنید.
حذف وابستگی ها در معماری نرم افزار کمک میکنه تا اپلیکیشن شما با کمترین خطا در ارائهی خدمات به مشتری به کارش ادامه بده.
#وابستگی
#معماری
#معماری_نرم_افزار
@CSharpTips
اگر شما نسخه های متعددی برای پکیج خودتون از دات نت دارید اما این نسخه ها با یک نسخه ثابت از پکیج سازگار نیستند. شما میتونید با اضافه کردن شرط در فایل csproj خودتون توسط این شرطها نسخههای متفاوتی از پکیجهارو به ازای هر نسخه از دات نت نصب کنید.
اینطوری پروژهی شما مالتیپلتفرم میشه (لازم نیست پلتفرمهای دیگه رو به خاطر کانفیلیت پکیجها حذف کنید) و برای نسخههای جدیدتر همیشه پکیجهای بروز شده دارید و نسخههای قدیمی تر با پکیجهای قدیمیتر کار میکنن.
#nuget
#package
#packages
#multipleplatform
#multiplatform
@csharptips
@easymicroservices
اینطوری پروژهی شما مالتیپلتفرم میشه (لازم نیست پلتفرمهای دیگه رو به خاطر کانفیلیت پکیجها حذف کنید) و برای نسخههای جدیدتر همیشه پکیجهای بروز شده دارید و نسخههای قدیمی تر با پکیجهای قدیمیتر کار میکنن.
#nuget
#package
#packages
#multipleplatform
#multiplatform
@csharptips
@easymicroservices
نحوهی استفاده از پکیج سریالایز در Asp core رو در تصویر مشاهده میکنید.
شما با نصب پکیج EasyMicroservices.Serialization.DependencyInjection سپس نصب یکی از Provider های زیر میتونید به انتخاب خودتون از پکیج سریالایز Easy microservice استفاده کنید:
1.EasyMicroservices.Serialization.Newtonsoft.Json
2.EasyMicroservices.Serialization.System.Text.Json
3.EasyMicroservices.Serialization.BinaryGo
4.EasyMicroservices.Serialization.MessagePack
5.EasyMicroservices.Serialization.MemoryPack
6.EasyMicroservices.Serialization.System.Text.Xml
7.EasyMicroservices.Serialization.YamlDotNet
با اینکار لازم نیست بعد از هربار تغییر پکیج سریالایز، کدهاتون رو تغییر بدید.
@csharptips
@easymicroservices
شما با نصب پکیج EasyMicroservices.Serialization.DependencyInjection سپس نصب یکی از Provider های زیر میتونید به انتخاب خودتون از پکیج سریالایز Easy microservice استفاده کنید:
1.EasyMicroservices.Serialization.Newtonsoft.Json
2.EasyMicroservices.Serialization.System.Text.Json
3.EasyMicroservices.Serialization.BinaryGo
4.EasyMicroservices.Serialization.MessagePack
5.EasyMicroservices.Serialization.MemoryPack
6.EasyMicroservices.Serialization.System.Text.Xml
7.EasyMicroservices.Serialization.YamlDotNet
با اینکار لازم نیست بعد از هربار تغییر پکیج سریالایز، کدهاتون رو تغییر بدید.
@csharptips
@easymicroservices
پکیج ServiceContracts هدفش اینه که خروجی های سرویس های شمارو یکپارچه، زیبا و مدیریت کنه.
استفاده از این پکیج خیلی آسونه فقط کافیه نصبش کنید و خروجی سرویس هاتون رو از این نوع بذارید.
اطلاعات خطا و stacktrace برای بحث دیباگینگ و این مسائل توش هندل شدست.
هدف این پکیج اینه که جلوی throw کردن مستقیم exception رو توسط برنامه نویس بگیره و خطاها به صورت زیبا و با پرفورمنس بیشتری به دست کلاینت برسه.
پذیرای هرگونه ایده و نظر هستیم.
اطلاعات بیشتر:
https://github.com/EasyMicroservices/ServiceContracts
@csharptips
@easymicroservices
استفاده از این پکیج خیلی آسونه فقط کافیه نصبش کنید و خروجی سرویس هاتون رو از این نوع بذارید.
اطلاعات خطا و stacktrace برای بحث دیباگینگ و این مسائل توش هندل شدست.
هدف این پکیج اینه که جلوی throw کردن مستقیم exception رو توسط برنامه نویس بگیره و خطاها به صورت زیبا و با پرفورمنس بیشتری به دست کلاینت برسه.
پذیرای هرگونه ایده و نظر هستیم.
اطلاعات بیشتر:
https://github.com/EasyMicroservices/ServiceContracts
@csharptips
@easymicroservices
پکیج Payments به شما کمک میکنه بدون درگیر شدن با ساختار بانک ها با یک اینترفیس کار کنید. دقیقا مثل پکیج های دیگه توی easy microservices هست. با این تفاوت که این پکیج برای کار کردن با درگاه بانک هاست.
در حال حاضر من قسمتی از Paypal رو پیاده سازی کردم و درگاه Stripe قابل استفاده هست.
مثلا شما میتونید از تجربیات خودتون توی درگاه هایی مثل بانک پاسارگاد، ملت، و api هایی که خودشون با درگاه ها کار میکنن مثل زرین پال توی پیاده سازی این پکیج همراهیمون کنید. دیگه لازم نیست توی پروژه هایی که میزنید درگاه هارو پیاده سازی کنید و نگران این باشید که از کجا شروع کنید و چی بزنید.
هرجا سوال داشتید با آی دی تلگرام من تماس بگیرید:
@ali_visual_studio
سورس گیتهاب:
https://github.com/EasyMicroservices/Payments
@easymicroservice
@easymicroservices
@csharptips
در حال حاضر من قسمتی از Paypal رو پیاده سازی کردم و درگاه Stripe قابل استفاده هست.
مثلا شما میتونید از تجربیات خودتون توی درگاه هایی مثل بانک پاسارگاد، ملت، و api هایی که خودشون با درگاه ها کار میکنن مثل زرین پال توی پیاده سازی این پکیج همراهیمون کنید. دیگه لازم نیست توی پروژه هایی که میزنید درگاه هارو پیاده سازی کنید و نگران این باشید که از کجا شروع کنید و چی بزنید.
هرجا سوال داشتید با آی دی تلگرام من تماس بگیرید:
@ali_visual_studio
سورس گیتهاب:
https://github.com/EasyMicroservices/Payments
@easymicroservice
@easymicroservices
@csharptips
سلام عزیزان دل.
پکیج های سری لاگ رو هم اضافه کردیم با سه تا از محبوبترین پکیج های لاگر توی دات نت:
Serilog
NLog
log4net
سورس:
https://github.com/EasyMicroservices/Logger
@easymicroservices
@easymicroservice
@csharptips
پکیج های سری لاگ رو هم اضافه کردیم با سه تا از محبوبترین پکیج های لاگر توی دات نت:
Serilog
NLog
log4net
سورس:
https://github.com/EasyMicroservices/Logger
@easymicroservices
@easymicroservice
@csharptips
HTML Embed Code: