وقتی از میکرو سرویس استفاده میکنیم. تجزیه و تحلیل میکرو سرویس و مانیتور اون ها یکی از بزرگ ترین چالش های اصلی شرکت ها هست. فرض کنید ۲۰ تا میکرو سرویس دارید و برای یکی از api ها مشکلی پیش میاد و کند میشه. فلو اون api هم به این شکل هست که از gateway عبور میکنه و به idnetity میرسه و بعد اون به میکرو سرویس a و بعد اون به b و به c میرسه !!!
حالا از کجا متوجه کندی بشیم که کدوم سرویس کند هست؟؟؟
اصلا سرویس کند هست یا دیتابیس کند هست ؟؟؟
شبکه مشکل داره یا خطا داریم و.....
برای این منظور ۲ ابزار خیلی خوب هست، هر دو open source هستن. یکی از اون ها برای uber هست و اون یکی برای elastic هست.
این دو تفاوت زیادی با هم ندارن.
ابزار jaeger برای uber هست و کلاینت اکثر زبان ها رو داره. Ui هم برای تجزیه تحلیل داره.
ابزار apm هم برای elastic هست.
ابزار apm غیر از trace کردن میتونه اطلاعات بیشتری برای تجزیه تحلیل بهتون بده.
برای راه اندازی jaeger نیازه سرور اون رو با داکر all in one خودش بالا بیارید و بعد کلاینت اون رو روی پروژه خودتون ادد کنید.
برای apm هم باید elastic و kibana رو نصب کنید.
Jaeger
https://github.com/jaegertracing/jaeger-client-csharp
Apm
https://github.com/elastic/apm-agent-dotnet
حالا از کجا متوجه کندی بشیم که کدوم سرویس کند هست؟؟؟
اصلا سرویس کند هست یا دیتابیس کند هست ؟؟؟
شبکه مشکل داره یا خطا داریم و.....
برای این منظور ۲ ابزار خیلی خوب هست، هر دو open source هستن. یکی از اون ها برای uber هست و اون یکی برای elastic هست.
این دو تفاوت زیادی با هم ندارن.
ابزار jaeger برای uber هست و کلاینت اکثر زبان ها رو داره. Ui هم برای تجزیه تحلیل داره.
ابزار apm هم برای elastic هست.
ابزار apm غیر از trace کردن میتونه اطلاعات بیشتری برای تجزیه تحلیل بهتون بده.
برای راه اندازی jaeger نیازه سرور اون رو با داکر all in one خودش بالا بیارید و بعد کلاینت اون رو روی پروژه خودتون ادد کنید.
برای apm هم باید elastic و kibana رو نصب کنید.
Jaeger
https://github.com/jaegertracing/jaeger-client-csharp
Apm
https://github.com/elastic/apm-agent-dotnet
GitHub
GitHub - jaegertracing/jaeger-client-csharp: 🛑 This library is DEPRECATED!
🛑 This library is DEPRECATED! Contribute to jaegertracing/jaeger-client-csharp development by creating an account on GitHub.
❇️ پیاده سازی راحت تر درگاه های پرداخت با Parbad
پرباد یه کتابخونه کاربردی و راحت جهت پیاده سازی درگاه های پرداخت هست و از ASP.NET CORE و AS.PNET MVC و ASP.NET WebForms پشتیبانی میکنه
این کتابخونه از انواع درگاه های زیر پشتیبانی میکنه، همچنین یه درگاه پرداخت تستی هم براتون میسازه که در زمان توسعه بتونین راحت تر پرداخت هاتون رو تست کنین.
✔️Mellat
✔️Melli
✔️Saman
✔️Pasargad
✔️Parsian
✔️Iran Kish
✔️Asan Pardakht
✔️ZarinPal
✔️Pay.ir
✔️IDPay.ir
🔰اینم اموزش فارسیش
https://www.dotnettips.info/post/3009
https://www.dotnettips.info/post/3011
https://www.dotnettips.info/post/3012
https://www.dotnettips.info/post/3013
🗂البته داکیومنت خودش بروز تره
https://github.com/Sina-Soltani/Parbad/wiki
https://github.com/Sina-Soltani/Parbad
____________
پرباد یه کتابخونه کاربردی و راحت جهت پیاده سازی درگاه های پرداخت هست و از ASP.NET CORE و AS.PNET MVC و ASP.NET WebForms پشتیبانی میکنه
این کتابخونه از انواع درگاه های زیر پشتیبانی میکنه، همچنین یه درگاه پرداخت تستی هم براتون میسازه که در زمان توسعه بتونین راحت تر پرداخت هاتون رو تست کنین.
✔️Mellat
✔️Melli
✔️Saman
✔️Pasargad
✔️Parsian
✔️Iran Kish
✔️Asan Pardakht
✔️ZarinPal
✔️Pay.ir
✔️IDPay.ir
🔰اینم اموزش فارسیش
https://www.dotnettips.info/post/3009
https://www.dotnettips.info/post/3011
https://www.dotnettips.info/post/3012
https://www.dotnettips.info/post/3013
🗂البته داکیومنت خودش بروز تره
https://github.com/Sina-Soltani/Parbad/wiki
https://github.com/Sina-Soltani/Parbad
____________
نتایج دور 20 بنچمارک Techempower اعلام شد
در حالی ترکیبی Composite نمره فریم ورک ASP NET Core برابر 6,462 شد و با 60 درصد در جایگاه هشتم قرار گرفت.
نمره ترکیبی یا Composite Score وزن کلی است که از مجموع همه تست ها بدست می آید و برای مقایسه کلی پرفورمنس فریم ورکهای وب استفاده میشود.
https://www.techempower.com/benchmarks/
در حالی ترکیبی Composite نمره فریم ورک ASP NET Core برابر 6,462 شد و با 60 درصد در جایگاه هشتم قرار گرفت.
نمره ترکیبی یا Composite Score وزن کلی است که از مجموع همه تست ها بدست می آید و برای مقایسه کلی پرفورمنس فریم ورکهای وب استفاده میشود.
https://www.techempower.com/benchmarks/
در تست Fortunes یکی از مهترین بنچمارکهای Techempower است ASP NET Core جایگاه دوازدهم را بدست آورده است. جایگاه های بالاتر بیشتر در اختیار فریم ورکهای مبتنی بر ++C و Rust هستند.
بهترین نتایج ASP NET Core روی دیتابیس PostgreSql و با کمک ADO بدست آمده است. پرفورمنس EF Core و Dapper در ردیف های پایینتر است.
در این تست یک جدول دیتابیس شامل تعداد نامشخصی ردیف بارگزاری میشود و نتیجه در یک صفحه HTML نمایش داده میشود و زمان آن مقایسه میشود. نوع ORM و Database در این تست اهمیت زیادی دارد.
بهترین نتایج ASP NET Core روی دیتابیس PostgreSql و با کمک ADO بدست آمده است. پرفورمنس EF Core و Dapper در ردیف های پایینتر است.
در این تست یک جدول دیتابیس شامل تعداد نامشخصی ردیف بارگزاری میشود و نتیجه در یک صفحه HTML نمایش داده میشود و زمان آن مقایسه میشود. نوع ORM و Database در این تست اهمیت زیادی دارد.
مایکروسافت به جمع حامیان مالی زبان برنامه نویسی Rust پیوست.
زبان Rust در حال حاضر یکی از محبوبترین زبان های برنامه نویسی است و توسط شرکت Mozilla توسعه داده میشود.
شرکت Mozilla که بیشتر با مرورگر FireFox شناخته میشود به دلیل ساختار متن باز خود همیشه با مشکلات مالی روبرو بوده و در حال حاضر سهم کمی از بازار مرورگرها را در اختیار دارد. این موضوع یکی از دلایل کند بودن رشد زبان برنامه نویسی Rust است.
با توجه به اینکه Rust می تواند خیلی از مشکلات امنیتی زبانهایی مثل ++C را حل کند می تواند راهکار خوبی برای توسعه سیستم عامل ها و سیستم های Embed باشد. حالا مایکروسافت به جمع حامیان مالی این زبان پیوسته تا در پیشرفت آن کمک کند.
فریم ورک تحت وب Rust به نام Actix که همیشه جزو سریعترین فریم ورکهای وب است که توسط یکی از کارمندان مایکروسافت پیاده شده و به صورت متن باز توسعه داده میشود.
زبان Rust در حال حاضر یکی از محبوبترین زبان های برنامه نویسی است و توسط شرکت Mozilla توسعه داده میشود.
شرکت Mozilla که بیشتر با مرورگر FireFox شناخته میشود به دلیل ساختار متن باز خود همیشه با مشکلات مالی روبرو بوده و در حال حاضر سهم کمی از بازار مرورگرها را در اختیار دارد. این موضوع یکی از دلایل کند بودن رشد زبان برنامه نویسی Rust است.
با توجه به اینکه Rust می تواند خیلی از مشکلات امنیتی زبانهایی مثل ++C را حل کند می تواند راهکار خوبی برای توسعه سیستم عامل ها و سیستم های Embed باشد. حالا مایکروسافت به جمع حامیان مالی این زبان پیوسته تا در پیشرفت آن کمک کند.
فریم ورک تحت وب Rust به نام Actix که همیشه جزو سریعترین فریم ورکهای وب است که توسط یکی از کارمندان مایکروسافت پیاده شده و به صورت متن باز توسعه داده میشود.
✅معرفی کتابخانه MongoDbGenericRepository
قبلا کتابخونه MongoFramework رو معرفی کردیم که یه رابط کاربری شبیه Entity Framework رو برای کار با MongoDb در اختیارمون میذاشت
اون کتابخونه ضمن مزایا و راحتیش، یه سری معایب هم داره چرا که با دید EF طراحی شده و برای استفاده های پیشرفته تر و کاملتر از MongoDb دستمون رو بسته نگه میداره
کتابخانه MongoDbGenericRepository یک wrapper روی درایور سی شارپ MongoDb هست و سعی کرده یه پیاده سازی از Repository ارائه بده.
این کتابخونه نسبت به قبلی، توی سفارشی سازی و استفاده بیشتر و پیشرفته تر از امکانات mongo دستمون رو باز تر میگذاره که طبیعتا نیازمند این هست که دانش بیشتر هم از مونگو داشته باشین
🔰نکته:
🔸این کتابخونه برای کار های متوسط انتخاب خوبیه (مثلا برای کسانی که تا حدودی mongo بلدن و میخوان راحت تر ازش استفاده کنن)
🔹ولی برای کار ها پیشرفته و پروژه های بزرگ خیلی پیشنهاد نمیکنم. در اون سطح بهترین روش استفاده از خود درایور سی شارپ mongodb هست.
🔰ریپازیتوری گیتهاب پروژ به همراه آموزش:
https://github.com/alexandre-spieser/mongodb-generic-repository
__________________
قبلا کتابخونه MongoFramework رو معرفی کردیم که یه رابط کاربری شبیه Entity Framework رو برای کار با MongoDb در اختیارمون میذاشت
اون کتابخونه ضمن مزایا و راحتیش، یه سری معایب هم داره چرا که با دید EF طراحی شده و برای استفاده های پیشرفته تر و کاملتر از MongoDb دستمون رو بسته نگه میداره
کتابخانه MongoDbGenericRepository یک wrapper روی درایور سی شارپ MongoDb هست و سعی کرده یه پیاده سازی از Repository ارائه بده.
این کتابخونه نسبت به قبلی، توی سفارشی سازی و استفاده بیشتر و پیشرفته تر از امکانات mongo دستمون رو باز تر میگذاره که طبیعتا نیازمند این هست که دانش بیشتر هم از مونگو داشته باشین
🔰نکته:
🔸این کتابخونه برای کار های متوسط انتخاب خوبیه (مثلا برای کسانی که تا حدودی mongo بلدن و میخوان راحت تر ازش استفاده کنن)
🔹ولی برای کار ها پیشرفته و پروژه های بزرگ خیلی پیشنهاد نمیکنم. در اون سطح بهترین روش استفاده از خود درایور سی شارپ mongodb هست.
🔰ریپازیتوری گیتهاب پروژ به همراه آموزش:
https://github.com/alexandre-spieser/mongodb-generic-repository
__________________
GitHub
GitHub - TurnerSoftware/MongoFramework: An "Entity Framework"-like interface for MongoDB
An "Entity Framework"-like interface for MongoDB. Contribute to TurnerSoftware/MongoFramework development by creating an account on GitHub.
15 پروژه جذاب و محبوب هوشمصنوعی و ماشینلرنینگ در سال 2020 💡
1. Google Search
2. Advertising and Product Recommendations
3. Netflix Recommendations
4. Personal Assistants
5. Home Automation
🌀 لیست کامل را از لینک زیر ببینید:
+|برای مطالعه مقاله کلیک کنید|+
#article #ai #ml #machine_learning
1. Google Search
2. Advertising and Product Recommendations
3. Netflix Recommendations
4. Personal Assistants
5. Home Automation
🌀 لیست کامل را از لینک زیر ببینید:
+|برای مطالعه مقاله کلیک کنید|+
#article #ai #ml #machine_learning
This media is not supported in your browser
VIEW IN TELEGRAM
هنر جدید هوش مصنوعی. یه عکس قدیمی بهش بدین که چهره داره و براتون چهره رو متحرک می کنه!
myheritage.com/deep-nostalgia
نتیجه اش جالبه و احتمالا خانواده رو متعجب، هیجان زده و پرخاطره می کنه.
myheritage.com/deep-nostalgia
نتیجه اش جالبه و احتمالا خانواده رو متعجب، هیجان زده و پرخاطره می کنه.
دیدین #گوگل_مپ سرویس نویگیشنش رو باز کرده بالاخره! دلیلی که خارجیا ویزو نمیشناختم همینه!
عاما! فعلا انتخاب من بلده، نه اینکه خوبه! چون تقریبا همه جا رو میتونی سریع توش سرچ کنی، ویز چون مارو بن کرده خیلی سخته کار باهاش!
البته لرن کردن و کامینیتی ویز واقعا جذابه و فکر نکنم سرویس گوگل مپ این کامینیتی و یادگیری رو داشته باشه ولی به نظر میرسه خیلی زود جاشو باز میکنه چون اساسا زندگی ما با گوگل گره خورده! این یه تهدید خیلی خیلی بزرگ برای بلد و نشان و... محسوب میشه
عاما! فعلا انتخاب من بلده، نه اینکه خوبه! چون تقریبا همه جا رو میتونی سریع توش سرچ کنی، ویز چون مارو بن کرده خیلی سخته کار باهاش!
البته لرن کردن و کامینیتی ویز واقعا جذابه و فکر نکنم سرویس گوگل مپ این کامینیتی و یادگیری رو داشته باشه ولی به نظر میرسه خیلی زود جاشو باز میکنه چون اساسا زندگی ما با گوگل گره خورده! این یه تهدید خیلی خیلی بزرگ برای بلد و نشان و... محسوب میشه