آخرین فرصت ثبت نام در کارگاه تخصصی DDD
اگر به تکنیک های پیشرفته معماری در دات نت علاقمند هستید و دوست دارید به صورت عملی با نحوه ی پیاده سازی پروژه های بزرگ و پیچیده آشنا شوید این دوره مخصوص شماست.
شروع دوره : 25 آبان 98
سطح دوره : پیشرفته
مبلغ : 250 هزارتومان
جهت ثبت نام یا کسب اطلاعات بیشتر با آیدی @codehak یا شماره 09380146555تماس بگیرید.
اگر به تکنیک های پیشرفته معماری در دات نت علاقمند هستید و دوست دارید به صورت عملی با نحوه ی پیاده سازی پروژه های بزرگ و پیچیده آشنا شوید این دوره مخصوص شماست.
شروع دوره : 25 آبان 98
سطح دوره : پیشرفته
مبلغ : 250 هزارتومان
جهت ثبت نام یا کسب اطلاعات بیشتر با آیدی @codehak یا شماره 09380146555تماس بگیرید.
Forwarded from کدهک
فونت FiraCode به صورت Mono Space است که برای کد نویسی بسیار مناسب است.
همچنین این فونت دارای لیگاتور است و بجای کاراکترهایی نظیر == یا => از نماد استفاده میکند.
دانلود :
https://bit.ly/2byEo9Y
همچنین این فونت دارای لیگاتور است و بجای کاراکترهایی نظیر == یا => از نماد استفاده میکند.
دانلود :
https://bit.ly/2byEo9Y
ایران رتبه دوم پروژه های متن باز
آمار گیتهاب مربوط به 2019 منتشر شد که نشان میدهد این شبکه موفق شده در سال جاری بیش از 10 میلیون کاربر جدید جذب کند و تعداد کل کاربران خود را به 40 میلیون افزایش دهد.
با اعمال تحریم ها کاربران ایرانی مجبور شدند پروژه های خود را به صورت متن باز منتشر کنن و آمار نشان میدهد ایران بعد از نیجریه بیشترین میزان رشد را در بین پروژه های متن باز داشته است.
به طور کلی امسال آسیا در رتبه ی اول پروژه های متن باز قرار گرفت.
آمار گیتهاب مربوط به 2019 منتشر شد که نشان میدهد این شبکه موفق شده در سال جاری بیش از 10 میلیون کاربر جدید جذب کند و تعداد کل کاربران خود را به 40 میلیون افزایش دهد.
با اعمال تحریم ها کاربران ایرانی مجبور شدند پروژه های خود را به صورت متن باز منتشر کنن و آمار نشان میدهد ایران بعد از نیجریه بیشترین میزان رشد را در بین پروژه های متن باز داشته است.
به طور کلی امسال آسیا در رتبه ی اول پروژه های متن باز قرار گرفت.
طبق آمار گیتهاب ASP NET Core سریعترین رشد را از نظر میزان مشارکت کنندگان متن باز داشته است.
مایکروسافت با اجرای سیاست های جدید موفق شده توجه بسیاری از برنامه نویسان متن باز را به سمت خود جلب کند.
در حال حاضر بخش بزرگی از پروژه هایی مثل VSCode و ASP NET Core توسط افرادی خارج از مایکروسافت توسعه داده میشود.
مایکروسافت با اجرای سیاست های جدید موفق شده توجه بسیاری از برنامه نویسان متن باز را به سمت خود جلب کند.
در حال حاضر بخش بزرگی از پروژه هایی مثل VSCode و ASP NET Core توسط افرادی خارج از مایکروسافت توسعه داده میشود.
زبانهای برنامه نویسی با سریعترین رشد در گیتهاب
طبق آمار گیتهاب زبان Dart سریعترین رشد را در بین سایر زبانهای برنامه نویسی داشته است. با توجه به سرمایه گذاری گوگل در Flutter که از زبان Dart برای توسعه اپ های موبایل چند پلتفرمه استفاده میکند Dart بعد از سالها دوباره در حال رشد است.
با همه ی پیچیدگی های Rust اما این زبان برای برنامه نویسی سیستم و بازی های رایانه ای اقبال بسیار خوبی داشته است و کم کم خودش را به عنوان جایگزین خوبی برای ++C و C معرفی میکند.
طبق آمار گیتهاب زبان Dart سریعترین رشد را در بین سایر زبانهای برنامه نویسی داشته است. با توجه به سرمایه گذاری گوگل در Flutter که از زبان Dart برای توسعه اپ های موبایل چند پلتفرمه استفاده میکند Dart بعد از سالها دوباره در حال رشد است.
با همه ی پیچیدگی های Rust اما این زبان برای برنامه نویسی سیستم و بازی های رایانه ای اقبال بسیار خوبی داشته است و کم کم خودش را به عنوان جایگزین خوبی برای ++C و C معرفی میکند.
اولین قسمت از سری فیلمهای داستان اسباب بازی 24 سال پیش ساخته شد. با توجه به گرافیک سه بعدی تولید این فیلم در سال 1995 یک چالش جدی بود.
برای رندر کردن تصاویر به همراه نورپردازی نهایی از 117 کامیپوتر Sun Microsystems استفاده شد که در مجموع دارای 300 پردازنده بودند.
بسته به میزان پیچیدگی رندر شدن هر فریم بین 45 دقیقه تا 30 ساعت طول میکشید.
فیلم 77 دقیقه بود و شامل 114,240 فریم میشد و در نهایت 800,000 ساعت ماشین صرف رندر کردن تصاویر شد که چند ماه طول کشید.
بودجه تولید فیلم 30 میلیون دلار بود و درآمد نهایی آن از گیشه به 400 میلیون دلار رسید. این مبلغ جدا از سود حاصل از فروش DVD یا محصولات دیگر فیلم است.
برای رندر کردن تصاویر به همراه نورپردازی نهایی از 117 کامیپوتر Sun Microsystems استفاده شد که در مجموع دارای 300 پردازنده بودند.
بسته به میزان پیچیدگی رندر شدن هر فریم بین 45 دقیقه تا 30 ساعت طول میکشید.
فیلم 77 دقیقه بود و شامل 114,240 فریم میشد و در نهایت 800,000 ساعت ماشین صرف رندر کردن تصاویر شد که چند ماه طول کشید.
بودجه تولید فیلم 30 میلیون دلار بود و درآمد نهایی آن از گیشه به 400 میلیون دلار رسید. این مبلغ جدا از سود حاصل از فروش DVD یا محصولات دیگر فیلم است.
آشنایی با InfluxDb
دیتابیس InfluxDb یک دیتابیس از نوع سری زمانی است که اطلاعات را درون کلیدی از جنس زمان با دقت نانو ثانیه ذخیره میکند.
در این ویدیو با استفاده از ASP NET Core اطلاعاتی را درون این دیتابیس ذخیره می کنیم و سپس با استفاده از Grafana به صورت گراف نمایش میدهیم.
https://tinyurl.com/cdhk-influx
دیتابیس InfluxDb یک دیتابیس از نوع سری زمانی است که اطلاعات را درون کلیدی از جنس زمان با دقت نانو ثانیه ذخیره میکند.
در این ویدیو با استفاده از ASP NET Core اطلاعاتی را درون این دیتابیس ذخیره می کنیم و سپس با استفاده از Grafana به صورت گراف نمایش میدهیم.
https://tinyurl.com/cdhk-influx
نسخه ی نهایی 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 ارجاع داده میشوند.