نسخه ی نهایی NET Core 3.1 منتشر شد
این نسخه قابلیت جدید خاصی ندارد اما بیش از 150 مورد رفع باگ و بهبود پرفورمنس را شامل میشود که در دو ماه گذشته روی نسخه 3.0 اعمال شده است.
نکته ی مهم پشتیبانی بلند مدت مایکروسافت یا LTS است که به مدت سه سال روی این نسخه اعمال میشود. به این ترتیب هر باگ یا مشکل امنیتی که در این نسخه وجود داشته باشد تا سه سال آینده رفع و در قالب نسخه های مینور آپدیت خواهد شد.
برای استفاده از این نسخه می توانید به سایت dot.net سر بزنید یا نسخه ی جاری VS 2019 خود را آپدیت کنید.
همچنین ASP NET Core 3.1 به همراه Entity Framework 3.1 و EF 6.4 هم به همراه این نسخه منتشر شدند.
ابزار Blazor Web Assembly هنوز در وضعیت Preview قرار دارد اما سازگاری با iOS 13 به آن اضافه شده است.
این نسخه قابلیت جدید خاصی ندارد اما بیش از 150 مورد رفع باگ و بهبود پرفورمنس را شامل میشود که در دو ماه گذشته روی نسخه 3.0 اعمال شده است.
نکته ی مهم پشتیبانی بلند مدت مایکروسافت یا LTS است که به مدت سه سال روی این نسخه اعمال میشود. به این ترتیب هر باگ یا مشکل امنیتی که در این نسخه وجود داشته باشد تا سه سال آینده رفع و در قالب نسخه های مینور آپدیت خواهد شد.
برای استفاده از این نسخه می توانید به سایت dot.net سر بزنید یا نسخه ی جاری VS 2019 خود را آپدیت کنید.
همچنین ASP NET Core 3.1 به همراه Entity Framework 3.1 و EF 6.4 هم به همراه این نسخه منتشر شدند.
ابزار Blazor Web Assembly هنوز در وضعیت Preview قرار دارد اما سازگاری با iOS 13 به آن اضافه شده است.
آشنایی با Operator Overloading
با استفاده از مکانیزم Operator Overloading در سی شارپ می توان رفتار عملگرهایی مثل جمع یا تساوی یا تغییر داد یا حتی عملگر جدید تعریف کرد.
https://tinyurl.com/r9o5m8n
با استفاده از مکانیزم Operator Overloading در سی شارپ می توان رفتار عملگرهایی مثل جمع یا تساوی یا تغییر داد یا حتی عملگر جدید تعریف کرد.
https://tinyurl.com/r9o5m8n
Forwarded from اِسکیلی Skilly (مهدی کرامتی)
🔈 دیگر وقت آن است که به فکر مهاجرت به .Net Core 3.1 باشید.
برنامه نویس
پایان پشتیبانی از .Net Core 2.2 در دوشنبه، 2 دی ماه 98
.Net Core 2.2 در 13 آذر 1397 منتشر شده بود. این نگارش از .Net Core به عنوان یک نگارش فاقد پشتیبانی طولانی مدت، تا 3 ماه پس از انتشار نگارش بعدی پشتیبانی خواهد شد. .Net Core 3.0 در 1 مهر 1398 منتشر شده است، بنابراین پشتیبانی از .Net Core 2.2 در تاریخ 2…
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
🔰راه اندازی VPN/Proxy شخصی [قسمت اول]
اگه بگم اینترنت برای ما برنامه نویسا از نون شب واجب تره و مثل اوکسیژن میمونه دروغ نگفتم، توی قطعی اینترنت اخیر خیلی از ما ها واقعا نتونستیم کار کنیم، هرچند که بعضی ها که ساخت VPNشخصی رو بلد بودند یا دسترسی به VPN بقیه داشتند تونستن قسر در برن ولی اونایی بقیه خیلی اذیت شدند و خسارت دیدند.
من این پست رو همون روزا آماده کردم ولی فرصت نشد منتشر کنم و عملا خیلی ها هم نمیتونستن ازش بهره مند بشن. حالا اما بهتره این کار رو یاد بگیرید تا در روز مبادا دستتون تو پوست گردو نمونه!
مواد لازم:
1️⃣ یک عدد VPS یا سرور اختصاصی داخلی (حتما داخل ایران) که به نت "غیر داخلی" هم دسترسی داشته باشه (مثلا گوگل رو بیاره)
هم اکنون بعضی از Data Center ها فیلتر نشدن و همچنان سرور هاشون به اینترنت خارجی دسترسی دارن؛ یکی از اینا لازم دارید، خیلی هم نمیخواد کانفیگ بالایی داشته باشه، نه Ram انچنانی میخواد نه CPU و نه HDD فقط یه پهنای باند خوب میخواد، پس یه VPS فوق ارزون با 1 گیگ رم هم کارتون رو راه میندازه (اگه سرورتون لینوکسی باشه که 512 هم راه داره)
2️⃣ یک عدد برنامه VPN/Proxy ساز
برنامه های زیادی برای اینکار هست مثل SoftEther یا ShadowSocks یا OpenVPN یا روش Proxy over SSH و... که همگی یه طرز کار مشترک دارن؛ باید نسخه سمت Server رو روی سرور نصب کنید و یه اکانت بسازید و نسخه Client شون رو هم روی کلاینت هاتون نصب کنید و با مشخصات همون اکانتی که ساختید بهش وصل بشید.
البته نکته مهم، Protocol استفاده شده هست وگرنه با برنامه های Client ایی مختلفی که اون پروتکل رو ساپورت کنه میشه بهشون وصل شد.
همین کارو اگه با یه سرور خارج از ایران انجام بدین مشکل فیلترینگ و دسترسی به تلگرام اینا هم حل میشه.
پس راهشو یاد بگیرین که خودتون رو VPS/سرور هاتون VPN راه بندازید.
❇️ برنامه SoftEther :
این برنامه یکی از قوی ترین VPN/Proxy ساز های دنیا هست و قابلیت های بسیار زیادی داره.
این برنامه رایگان، Open-Source و Cross-Platform هست و از Protocol های مختلفی مانند L2TP و SSTP و... پشتیبانی میکنه و قابلیت integrate شدن با OpenVPN رو هم داره. همچنین امکانت مدیریت اکانت های تعریف شده و امکان مانیتور کردن وضعیت مصرف و محدود کردن شون رو در قالب یک UI خوب به شما میده.
🔶 دانلود نسخه کلاینت و سرور مخصوص ویندوز
- نسخه سرور SoftEther VPN Server
- نسخه کلاینت SoftEther VPN Client
🔷 آموزش نصب و راه اندازی روی سرور Windows ایی
راستش فرصت نشد خودم یه آموزش خوب واسش بنویسم واسه همین چندتا از آموزش های خوب در این باره رو گلچین کردم براتون.
- ویدئو آموزشی (انگلسیی - زیر نویس دار)
- مقاله آموزشی (فارسی)
- مقاله نصب و پیکربندی (انگلیسی)
- مقاله آموزشی کار با Virtual Hub (انگلیسی)
- مقاله آموزشی مدیریت کاربران و تنظیمات امنیتی (انگلیسی)
🔶 آموزش نصب و راه اندازی روی سرور Linux ایی
- ویدیو آموزش (انگلیسی)
- مقاله اموزشی (انگلیسی)
🔷 روش L2TP : استفاده از این پروتکل خیلی سادس و خوبیش اینه که توسط دیوایس ها به صورت built-in (توکار) پشتیبانی میشه؛ پس نیاز نیست برنامه خاصی روی کلاینت تون نصب کنین.
- آموزش فعال سازی روش L2TP در Server
- آموزش افزودن VPN توسط روش L2TP در کلاینت Windows ایی
- آموزش افزودن VPN توسط روش L2TP در کلاینت Android ایی
🔶 تازه با نصب VPN Gate که یک پلاگین برای SoftEther هست میتونین لیستی از VPN Server های رایگان رو پیدا کنید و بهشون وصل بشید (البته این یعنی ترافیک شما توسط اون سرور قابل رصد شدن هست و تضمینی بر شما امنیت شما وجود نداره)
- دانلود VPN Gate
- آموزش نصب و استفاده از VPN Gate
پ.ن : برای ساخت VPN جهت دورزدن فیلترینگ خارجی، فقط کافیه VPS خارج از ایران باشه.
__________________
@DotNetZoom
اگه بگم اینترنت برای ما برنامه نویسا از نون شب واجب تره و مثل اوکسیژن میمونه دروغ نگفتم، توی قطعی اینترنت اخیر خیلی از ما ها واقعا نتونستیم کار کنیم، هرچند که بعضی ها که ساخت VPNشخصی رو بلد بودند یا دسترسی به VPN بقیه داشتند تونستن قسر در برن ولی اونایی بقیه خیلی اذیت شدند و خسارت دیدند.
من این پست رو همون روزا آماده کردم ولی فرصت نشد منتشر کنم و عملا خیلی ها هم نمیتونستن ازش بهره مند بشن. حالا اما بهتره این کار رو یاد بگیرید تا در روز مبادا دستتون تو پوست گردو نمونه!
مواد لازم:
1️⃣ یک عدد VPS یا سرور اختصاصی داخلی (حتما داخل ایران) که به نت "غیر داخلی" هم دسترسی داشته باشه (مثلا گوگل رو بیاره)
هم اکنون بعضی از Data Center ها فیلتر نشدن و همچنان سرور هاشون به اینترنت خارجی دسترسی دارن؛ یکی از اینا لازم دارید، خیلی هم نمیخواد کانفیگ بالایی داشته باشه، نه Ram انچنانی میخواد نه CPU و نه HDD فقط یه پهنای باند خوب میخواد، پس یه VPS فوق ارزون با 1 گیگ رم هم کارتون رو راه میندازه (اگه سرورتون لینوکسی باشه که 512 هم راه داره)
2️⃣ یک عدد برنامه VPN/Proxy ساز
برنامه های زیادی برای اینکار هست مثل SoftEther یا ShadowSocks یا OpenVPN یا روش Proxy over SSH و... که همگی یه طرز کار مشترک دارن؛ باید نسخه سمت Server رو روی سرور نصب کنید و یه اکانت بسازید و نسخه Client شون رو هم روی کلاینت هاتون نصب کنید و با مشخصات همون اکانتی که ساختید بهش وصل بشید.
البته نکته مهم، Protocol استفاده شده هست وگرنه با برنامه های Client ایی مختلفی که اون پروتکل رو ساپورت کنه میشه بهشون وصل شد.
همین کارو اگه با یه سرور خارج از ایران انجام بدین مشکل فیلترینگ و دسترسی به تلگرام اینا هم حل میشه.
پس راهشو یاد بگیرین که خودتون رو VPS/سرور هاتون VPN راه بندازید.
❇️ برنامه SoftEther :
این برنامه یکی از قوی ترین VPN/Proxy ساز های دنیا هست و قابلیت های بسیار زیادی داره.
این برنامه رایگان، Open-Source و Cross-Platform هست و از Protocol های مختلفی مانند L2TP و SSTP و... پشتیبانی میکنه و قابلیت integrate شدن با OpenVPN رو هم داره. همچنین امکانت مدیریت اکانت های تعریف شده و امکان مانیتور کردن وضعیت مصرف و محدود کردن شون رو در قالب یک UI خوب به شما میده.
🔶 دانلود نسخه کلاینت و سرور مخصوص ویندوز
- نسخه سرور SoftEther VPN Server
- نسخه کلاینت SoftEther VPN Client
🔷 آموزش نصب و راه اندازی روی سرور Windows ایی
راستش فرصت نشد خودم یه آموزش خوب واسش بنویسم واسه همین چندتا از آموزش های خوب در این باره رو گلچین کردم براتون.
- ویدئو آموزشی (انگلسیی - زیر نویس دار)
- مقاله آموزشی (فارسی)
- مقاله نصب و پیکربندی (انگلیسی)
- مقاله آموزشی کار با Virtual Hub (انگلیسی)
- مقاله آموزشی مدیریت کاربران و تنظیمات امنیتی (انگلیسی)
🔶 آموزش نصب و راه اندازی روی سرور Linux ایی
- ویدیو آموزش (انگلیسی)
- مقاله اموزشی (انگلیسی)
🔷 روش L2TP : استفاده از این پروتکل خیلی سادس و خوبیش اینه که توسط دیوایس ها به صورت built-in (توکار) پشتیبانی میشه؛ پس نیاز نیست برنامه خاصی روی کلاینت تون نصب کنین.
- آموزش فعال سازی روش L2TP در Server
- آموزش افزودن VPN توسط روش L2TP در کلاینت Windows ایی
- آموزش افزودن VPN توسط روش L2TP در کلاینت Android ایی
🔶 تازه با نصب VPN Gate که یک پلاگین برای SoftEther هست میتونین لیستی از VPN Server های رایگان رو پیدا کنید و بهشون وصل بشید (البته این یعنی ترافیک شما توسط اون سرور قابل رصد شدن هست و تضمینی بر شما امنیت شما وجود نداره)
- دانلود VPN Gate
- آموزش نصب و استفاده از VPN Gate
پ.ن : برای ساخت VPN جهت دورزدن فیلترینگ خارجی، فقط کافیه VPS خارج از ایران باشه.
__________________
@DotNetZoom
GitHub
GitHub - SoftEtherVPN/SoftEtherVPN: Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is…
Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is available at https://github.com/SoftEtherVPN/SoftEtherVPN_Stable. - SoftEtherVPN/SoftEtherVPN
استدلالهای غلط در توسعه سیستمهای گسسته
آقای Peter Deutsch از شرکت Sun Micro Systems در مقاله ای 8 استدلال غلط برنامه نویسان هنگام توسعه ی سیستمهای توزیع شده (گسسته) را معرفی کرده است.
1- شبکه قابل اعتماد است (همیشه وصل است)
2- میزان تاخیر صفر است
3- پهنای باند بی نهایت است
4 - شبکه امن است
5 - ساختار شبکه تغییر نمیکند
6 - تنها یک مدیر سیستم وجود دارد
7 - هزینه ی جابجایی صفر است
8 - شبکه از نظر سخت افزار و نرم افزار همگن است.
اگر فرض کنید وب سرویسی که صدا میزنید همیشه کار میکند پروژه ی خود را با یک خطر جدی مواجه کرده اید.
شبکه و اینترنت قابل اعتماد نیست و وقتی از سیستمهای گسسته استفاده میکنید همیشه باید برای این موارد پیش بینی های لازم را در نظر بگیرید.
این موارد فقط در میکروسرویسها کاربرد ندارند بلکه هنگام توسعه یا استفاده از Web API هم باید به آنها توجه داشته باشید.
آقای Peter Deutsch از شرکت Sun Micro Systems در مقاله ای 8 استدلال غلط برنامه نویسان هنگام توسعه ی سیستمهای توزیع شده (گسسته) را معرفی کرده است.
1- شبکه قابل اعتماد است (همیشه وصل است)
2- میزان تاخیر صفر است
3- پهنای باند بی نهایت است
4 - شبکه امن است
5 - ساختار شبکه تغییر نمیکند
6 - تنها یک مدیر سیستم وجود دارد
7 - هزینه ی جابجایی صفر است
8 - شبکه از نظر سخت افزار و نرم افزار همگن است.
اگر فرض کنید وب سرویسی که صدا میزنید همیشه کار میکند پروژه ی خود را با یک خطر جدی مواجه کرده اید.
شبکه و اینترنت قابل اعتماد نیست و وقتی از سیستمهای گسسته استفاده میکنید همیشه باید برای این موارد پیش بینی های لازم را در نظر بگیرید.
این موارد فقط در میکروسرویسها کاربرد ندارند بلکه هنگام توسعه یا استفاده از Web API هم باید به آنها توجه داشته باشید.
آشنایی با Polly
چگونه در ASP NET Core قابلیت Fault Tolerance پیاده کنیم که در صورت وجود خطا در وب سرویس ها مجدد سعی کند؟
پیاده سازی مکانیزم Resilience و Retry در ASP NET Core
https://tinyurl.com/cdhk-polly
چگونه در ASP NET Core قابلیت Fault Tolerance پیاده کنیم که در صورت وجود خطا در وب سرویس ها مجدد سعی کند؟
پیاده سازی مکانیزم Resilience و Retry در ASP NET Core
https://tinyurl.com/cdhk-polly
Forwarded from اِسکیلی Skilly (مهدی کرامتی)
🔈 💰تخفیف 40% برای کلیه دوره های مجموعه آموزش برنامه نویس به مدت 48 ساعت
کد تخفیف: Azar98
تاریخ انقضا: چهارشنبه، 20 آذر، ساعت 12 شب
برای استفاده از کد تخفیف فوق میبایست آدرس ایمیل و شماره موبایل تان را در حساب کاربری تان فعال و تایید کرده باشید.
https://barnamenevis.net
@barnamenevis_net
@barnamenevis_org
کد تخفیف: Azar98
تاریخ انقضا: چهارشنبه، 20 آذر، ساعت 12 شب
برای استفاده از کد تخفیف فوق میبایست آدرس ایمیل و شماره موبایل تان را در حساب کاربری تان فعال و تایید کرده باشید.
https://barnamenevis.net
@barnamenevis_net
@barnamenevis_org
آشنایی با JWT
مکانیزم JWT یک روش برای Authorization تحت وب است به این صورت که کلاینت نام کاربری و رمز ورود خود را به سرور ارسال میکند و سرور در صورت درست بودن اطلاعات (Authenticate) کدی با محتوای base64 تولید میکند و آن را به کلاینت ارسال میکند.
از اینجا به بعد کلاینت برای دریافت اطلاعات از سرور فقط کافی است کد (نشان) دریافت شده را درون Header قرار دهد و در هر درخواست به سرور ارسال کند. سرور از روی الگوریتم داده ها را به امضای دیجیتال تبدیل میکند و آن را با امضای نشان مطابقت میدهد.
نشان JWT شامل سه بخش است :
بخش اول Header که نوع الگوریتم تولید امضا را مشخص میکند.
بخش دوم Payload که محتوای اطلاعات شامل نام کاربری، آی دی یا سمت و ... است.
بخش سوم Signature که یک امضای دیجیتال است که از روی الگوریتم رمزگذاری و اطلاعات بخش دوم تهیه میشود تا اطمینان حاصل شود محتوای نشان تغییر نمیکند.
هر بخش با نقطه از هم تفکیک میشود.
این روش گاهی Bearer token هم خوانده میشود.
اطلاعات توکن با فرمت Base64 جابجا میشود و رمزنگاری نشده است و توسط هر کس قابل خواندن است مگر اینکه از روشهایی مثل JWS یا JWE استفاده شود.
مکانیزم JWT یک روش برای Authorization تحت وب است به این صورت که کلاینت نام کاربری و رمز ورود خود را به سرور ارسال میکند و سرور در صورت درست بودن اطلاعات (Authenticate) کدی با محتوای base64 تولید میکند و آن را به کلاینت ارسال میکند.
از اینجا به بعد کلاینت برای دریافت اطلاعات از سرور فقط کافی است کد (نشان) دریافت شده را درون Header قرار دهد و در هر درخواست به سرور ارسال کند. سرور از روی الگوریتم داده ها را به امضای دیجیتال تبدیل میکند و آن را با امضای نشان مطابقت میدهد.
نشان JWT شامل سه بخش است :
بخش اول Header که نوع الگوریتم تولید امضا را مشخص میکند.
بخش دوم Payload که محتوای اطلاعات شامل نام کاربری، آی دی یا سمت و ... است.
بخش سوم Signature که یک امضای دیجیتال است که از روی الگوریتم رمزگذاری و اطلاعات بخش دوم تهیه میشود تا اطمینان حاصل شود محتوای نشان تغییر نمیکند.
هر بخش با نقطه از هم تفکیک میشود.
این روش گاهی Bearer token هم خوانده میشود.
اطلاعات توکن با فرمت Base64 جابجا میشود و رمزنگاری نشده است و توسط هر کس قابل خواندن است مگر اینکه از روشهایی مثل JWS یا JWE استفاده شود.
ساختار داده Stack در سی شارپ
استک نوعی از ساختار داده است که در آن داده ها به صورت ترتیبی روی هم قرار میگیرند.
عملیات Push آیتم جدیدی را به بالای توده اضافه میکند.
با عملیات Pop فقط می توان بالاترین آیتم را از توده خارج کرد. مثلا برای دسترسی به آیتم سوم ابتدا باید آیتمهای اول و دوم Pop شده باشند.
متد Peek امکان مشاهده آیتم اول بدون Pop شدن را فراهم میکند.
عملیات های Pop و Peek همیشه از جنس (1)O هستند. با فرض ثابت بودن ابعاد لیست عملیات Push هم (1)O است. به این ترتیب اضافه و حذف کردن آیتم به Stack خیلی سریع امکان پذیر است.
رفتار استک LIFO یا Last-In-First-Out خوانده میشود.
استک نوعی از ساختار داده است که در آن داده ها به صورت ترتیبی روی هم قرار میگیرند.
عملیات Push آیتم جدیدی را به بالای توده اضافه میکند.
با عملیات Pop فقط می توان بالاترین آیتم را از توده خارج کرد. مثلا برای دسترسی به آیتم سوم ابتدا باید آیتمهای اول و دوم Pop شده باشند.
متد Peek امکان مشاهده آیتم اول بدون Pop شدن را فراهم میکند.
عملیات های Pop و Peek همیشه از جنس (1)O هستند. با فرض ثابت بودن ابعاد لیست عملیات Push هم (1)O است. به این ترتیب اضافه و حذف کردن آیتم به Stack خیلی سریع امکان پذیر است.
رفتار استک LIFO یا Last-In-First-Out خوانده میشود.
آشنایی با سورس کنترل و مزایای آن
مهدی کرامتی
🔈 پادکست درباره سورس کنترل ها و مزایای آنها
• آشنایی با اصطلاحات رایج در کار با سورس کنترل ها
• آشنایی با مزایای استفاده از سورس کنترل ها
• آشنایی با پروتکل های TFS و GIT
• آشنایی با سرویس های آنلاین و On-Permises سورس کنترل
#مهدی_کرامتی
@barnamenes_org
@barnamenes_net
• آشنایی با اصطلاحات رایج در کار با سورس کنترل ها
• آشنایی با مزایای استفاده از سورس کنترل ها
• آشنایی با پروتکل های TFS و GIT
• آشنایی با سرویس های آنلاین و On-Permises سورس کنترل
#مهدی_کرامتی
@barnamenes_org
@barnamenes_net
آشنایی با ML.NET
فریم ورک ML.NET ابزاری برای Machine Learning در دات نت است که توسط مایکروسافت توسعه داده شده است. در این ویدیو با استفاده از ML.NET شانس زنده ماندن مسافران کشتی تایتانیک را پیش بینی می کنیم.
https://tinyurl.com/cdhk-mlnet
فریم ورک ML.NET ابزاری برای Machine Learning در دات نت است که توسط مایکروسافت توسعه داده شده است. در این ویدیو با استفاده از ML.NET شانس زنده ماندن مسافران کشتی تایتانیک را پیش بینی می کنیم.
https://tinyurl.com/cdhk-mlnet
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
❇️ معرفی MagicOnion : یک فریمورک Realtime مبتنی بر gRPC و MessagePack
این فریمورک با استفاده از قابلیت HTTP/2 Streaming مبتنی بر gRPC و بهره گیری از MessagePack برای Serialization (همراه با LZ4 integration) بستری قدرتمند را برای ارتباطات Realtime فراهم میکند.
🔸یکی از مزایای این فریمورک عدم نیاز به فایلهای .proto مخصوص gRPC است چرا که از interface های سی شارپی برای به اشتراک گذاری امضای Endpointهای موجود بین Server و Client استفاده میکند.
🔹یکی از دیگر مزایای آن پشتیبانی از Swagger و داشتن Json Gateway توکار متبنی بر HTTP/1 است که به کمک آن میتوان به صورت Json/RESTful نیز APIها را فراخوانی کرد.
🔸همچنین این فریمورک از OpenTelemetry پشتیبانی کرده و میتوانید از برنامههای مانیتورینگ مانند Prometheus و StackDriver و Zipkin و... بر روی پروژه خود استفاده کنید و یا توسط Grafana یک داشبورد مانیتورینگ ویژوال و Realtime ایجاد کنید.
🔹این فریمورک ابزار مناسبی جهت ارتباطات بین Microserviceها میباشد.
🔸همچنین جایگزین مناسبی برای سرویسهای API based مانند ASP.NET Core WebAPI و WCF بوده و نیز جایگزین مناسبی برای SignalR و Socket.io جهت ارتباطات Realtime میباشد.
🔰ریپازیتوری MagicOnion
https://github.com/Cysharp/MagicOnion
اطلاعات بیشتر
https://medium.com/@neuecc/magiconion-unified-realtime-api-engine-for-net-core-and-unity-21e02a57a3ff
_______________
@DotNetZoom
این فریمورک با استفاده از قابلیت HTTP/2 Streaming مبتنی بر gRPC و بهره گیری از MessagePack برای Serialization (همراه با LZ4 integration) بستری قدرتمند را برای ارتباطات Realtime فراهم میکند.
🔸یکی از مزایای این فریمورک عدم نیاز به فایلهای .proto مخصوص gRPC است چرا که از interface های سی شارپی برای به اشتراک گذاری امضای Endpointهای موجود بین Server و Client استفاده میکند.
🔹یکی از دیگر مزایای آن پشتیبانی از Swagger و داشتن Json Gateway توکار متبنی بر HTTP/1 است که به کمک آن میتوان به صورت Json/RESTful نیز APIها را فراخوانی کرد.
🔸همچنین این فریمورک از OpenTelemetry پشتیبانی کرده و میتوانید از برنامههای مانیتورینگ مانند Prometheus و StackDriver و Zipkin و... بر روی پروژه خود استفاده کنید و یا توسط Grafana یک داشبورد مانیتورینگ ویژوال و Realtime ایجاد کنید.
🔹این فریمورک ابزار مناسبی جهت ارتباطات بین Microserviceها میباشد.
🔸همچنین جایگزین مناسبی برای سرویسهای API based مانند ASP.NET Core WebAPI و WCF بوده و نیز جایگزین مناسبی برای SignalR و Socket.io جهت ارتباطات Realtime میباشد.
🔰ریپازیتوری MagicOnion
https://github.com/Cysharp/MagicOnion
اطلاعات بیشتر
https://medium.com/@neuecc/magiconion-unified-realtime-api-engine-for-net-core-and-unity-21e02a57a3ff
_______________
@DotNetZoom
Medium
MagicOnion — Unified Realtime/API Engine for .NET Core and Unity
It has been a while. Since my last post, I have been working on and created many things. Now that it is 2019, I would like to start…
پایان فعالیت مجله MSDN
مجله ی تخصصی MSDN که توسط مایکروسافت منتشر میشد تعطیل شد.
این مجله به مدت 33 سال هر ماه منتشر میشد و شامل مقالات متعددی در حوزه ی برنامه نویسی در محصولات مایکروسافت از جمله سی شارپ ، دات نت بود.
ماه گذشته مایکروسافت اعلام کرد انتشار این مجله را از پایان 2019 متوقف خواهد کرد.
هرچند مایکروسافت دلیل خاصی برای تعطیل کردن مجله اعلام نکرده است اما سال گذشته با آپدیت بخش بلاگهای سایت مایکروسافت و بهبود قسمت DevBlogs مقالات تخصصی را در این بخش منتشر میکند و در سایت مجله MSDN هم کاربران به بخش جدید Learning ارجاع داده میشوند.
مجله ی تخصصی MSDN که توسط مایکروسافت منتشر میشد تعطیل شد.
این مجله به مدت 33 سال هر ماه منتشر میشد و شامل مقالات متعددی در حوزه ی برنامه نویسی در محصولات مایکروسافت از جمله سی شارپ ، دات نت بود.
ماه گذشته مایکروسافت اعلام کرد انتشار این مجله را از پایان 2019 متوقف خواهد کرد.
هرچند مایکروسافت دلیل خاصی برای تعطیل کردن مجله اعلام نکرده است اما سال گذشته با آپدیت بخش بلاگهای سایت مایکروسافت و بهبود قسمت DevBlogs مقالات تخصصی را در این بخش منتشر میکند و در سایت مجله MSDN هم کاربران به بخش جدید Learning ارجاع داده میشوند.
متد GetHashCode در دات نت
در دات نت همه ی Object ها دارای متدی به نام GetHashCode هستند.
این متد از روی محتوای Object یک عدد از جنس int تولید میکند. از HashCode برای مقایسه و دسته بندی Object ها درون Collection هایی مثل HashSet استفاده میشود.
نکته مهم این است که وقتی دو Object رفرنس یکسانی داشته باشند (یکی به دیگری نسبت داده شده باشد) همیشه HashCode یکسانی دارند. اما عکس این قضیه صادق نیست.
نمی توان با مقایسه دو HashCode نتیجه گرفت که Object آنها یکسان است. تابعی که HashCode را تولید می کند ممکن است برای دو شی کاملا متفاوت عدد یکسانی برگرداند. از آنجا که رنج int محدود است و همیشه شانس تکراری درآمدن آن برای دو شی متفاوت وجود دارد.
به تولید شدن HashCode تکراری اصطلاحا Collision یا برخورد گفته میشود. که تحلیل و کنترل آن در Collection هایی مثل HashSet اهمیت زیادی دارد.
در دات نت همه ی Object ها دارای متدی به نام GetHashCode هستند.
این متد از روی محتوای Object یک عدد از جنس int تولید میکند. از HashCode برای مقایسه و دسته بندی Object ها درون Collection هایی مثل HashSet استفاده میشود.
نکته مهم این است که وقتی دو Object رفرنس یکسانی داشته باشند (یکی به دیگری نسبت داده شده باشد) همیشه HashCode یکسانی دارند. اما عکس این قضیه صادق نیست.
نمی توان با مقایسه دو HashCode نتیجه گرفت که Object آنها یکسان است. تابعی که HashCode را تولید می کند ممکن است برای دو شی کاملا متفاوت عدد یکسانی برگرداند. از آنجا که رنج int محدود است و همیشه شانس تکراری درآمدن آن برای دو شی متفاوت وجود دارد.
به تولید شدن HashCode تکراری اصطلاحا Collision یا برخورد گفته میشود. که تحلیل و کنترل آن در Collection هایی مثل HashSet اهمیت زیادی دارد.
Forwarded from اِسکیلی Skilly (مهدی کرامتی)
🔈 کد تخفیف ویژه یلدا 98، قابل استفاده برای کلیه پکیج های آموزش ویدئویی
درصد تخفیف: 40%
کد تخفیف: Yalda98
مهلت استفاده تا 1398/10/4 ساعت 12 شب
https://barnamenevis.net
@barnamenevis_net
@barnamenevis_org
درصد تخفیف: 40%
کد تخفیف: Yalda98
مهلت استفاده تا 1398/10/4 ساعت 12 شب
https://barnamenevis.net
@barnamenevis_net
@barnamenevis_org
آشنایی با الگوریتم Hi/Lo
معمولا کلید اصلی توسط دیتابیس ساخته میشود اما برای بدست آوردن آن اطلاعات رکورد ابتدا باید در دیتابیس ذخیره شود.
گاهی لازم است پیش از ذخیره سازی کلید اصلی در دسترس باشد در این موارد می توان از الگوریتم Hi/Lo استفاده کرد.
https://cutt.ly/4rwlwyq
معمولا کلید اصلی توسط دیتابیس ساخته میشود اما برای بدست آوردن آن اطلاعات رکورد ابتدا باید در دیتابیس ذخیره شود.
گاهی لازم است پیش از ذخیره سازی کلید اصلی در دسترس باشد در این موارد می توان از الگوریتم Hi/Lo استفاده کرد.
https://cutt.ly/4rwlwyq
Forwarded from کدهک
اپ فال حافظ که در ASP Core با تکنیک PWA پیاده شده:
برنامه به صورت آفلاین هم کار میکنه
به هوم اسکرین گوشی اضافه میشه
بدون مرورگر اجرا میشه
https://codehaks.com/yalda
برنامه به صورت آفلاین هم کار میکنه
به هوم اسکرین گوشی اضافه میشه
بدون مرورگر اجرا میشه
https://codehaks.com/yalda
Forwarded from کدهک
در این ویدیو به معرفی اپ فال حافظ می پردازیم که با تکنیک Progressive web app تهیه شده و می توانید آن را به هوم اسکرین گوشی اضافه کنید و به صورت آفلاین استفاده کنید.
https://goo.gl/fwJd5d
https://goo.gl/fwJd5d
Forwarded from کدهک
فروش ویژه
مرجع کامل آموزش ASP NET Core با 50% تخفیف ویژه یلدا
این دوره با مجموع 34 ساعت آموزش تخصصی ASP NET Core و به همراه یک سال اشتراک ویژه سایت کدهک عرضه میشود.
کد تخفیف : yalda
https://tinyurl.com/cdhk-yalda98
امکان خرید از طریق درگاه آنلاین یا کارت به کارت وجود دارد.
کد تخفیف 24 ساعت دیگر تمدید شد.
مرجع کامل آموزش ASP NET Core با 50% تخفیف ویژه یلدا
این دوره با مجموع 34 ساعت آموزش تخصصی ASP NET Core و به همراه یک سال اشتراک ویژه سایت کدهک عرضه میشود.
کد تخفیف : yalda
https://tinyurl.com/cdhk-yalda98
امکان خرید از طریق درگاه آنلاین یا کارت به کارت وجود دارد.
کد تخفیف 24 ساعت دیگر تمدید شد.