کدهک
Открыть в Telegram
آموزشگاه تخصصی دات نت https://codehaks.com لینکدین : https://www.linkedin.com/in/codehaks یوتیوب: https://www.youtube.com/@codehaksfa ارتباط با مدیر : Admin: @codehak Email: ghods.hakim@hotmail.com call: 09380146555
Больше1 797
Подписчики
Нет данных24 часа
-27 дней
-630 день
Архив постов
1 797
🔈 💰 کاهش قیمت های پکیج های آموزش ویدئویی برنامه نویس
سلام.
ضمن تبریک سال نوی میلادی به هم وطنان مسیحی، به اطلاع می رساند با توجه به وضعیت نامناسب اقتصادی و کاهش قدرت خرید عموم اقشار جامعه، تصمیم به کاهش قیمت پکیج های آموزشی برنامه نویس گرفتیم تا مشکل در هزینه کرد، مانعی برای پیشرفت علاقه مندان نباشد.
پکیج هایی که شامل این کاهش قیمت شده اند عبارتند از:
• پکیج آموزش Angular 8 - سطح 1
• پکیج آموزش ASP.NET Core 2.2 - سطح 1
• پکیج آموزش ASP.NET Core 2.2 - سطح 2
• پکیج آموزش ASP.NET Core 2.2 - سطح 3
• پکیج آموزش API نویسی اصولی و حرفه ای در ASP.NET Core
• پکیج آموزش ASP.NET MVC - سطح 1
• پکیج آموزش ASP.NET MVC - سطح 2
• پکیج آموزش ASP.NET MVC - سطح 3
• پکیج آموزش Permission Control System در ASP.NET MVC
• پکیج آموزش سی شارپ - سطح 1
همانند همیشه، می توانید نظرات و پیشنهادات خود را با شناسه تلگرام ما در میان بگذارید.
ارادتمند،
#مهدی_کرامتی
@barnamenevis_net
@barnamenevis_org
https://barnamenevis.net
https://barnamenevis.org
1 797
یک Immutable Object بعد از مقدار دهی اولیه دیگر قابل تغییر نیست و فقط میتوان آن را از حافظه حذف کرد.
در زبان #C متغیرهای از نوع String به عنوان اشیای Immutable شناخته میشوند. در زمان اجرای برنامه می توانید مقدار یک متغیر رشته ای را عوض کنید اما در عمل مقدار متغیر در حافظه عوض نمیشود بلکه در حافظه یک فضای جدید برای نگه داری رشته ی جدید ایجاد میشود. این موضوع کار کردن با رشته ها را بسیار پر هزینه میکند. با هر تغییر یک رشته بخشی از حافظه اشغال میشود و اگر زیاد اینکار را انجام دهید حافظه سر ریز میشود.
در دات نت این حافظه های پسماند توسط Garbage Collection خالی میشود که می تواند باعث کندی برنامه شود. برای حل این مشکل می توانید از StringBuilder استفاده کنید.
یکی از مهمترین مزیت های استفاده از متغیرهای تغییر ناپذیر این است که Thread-safe هستند و کار کردن با آنها در فضای چند نخی ساده تر است.
1 797
پادکست کدهک - قسمت دوم
در این شماره می شنوید :
1- رکورد بازی سوپر ماریو
2- محیط کاری گیتهاب
3- برنامه نویسی چند زبانه
4- پیشنهاد سه زبان برای یادگرفتن در 2020
1 797
آشنایی با Docker - قسمت دوم
در این ویدیو با استفاده از Docker دیتابیس Redis رو نصب و اجرا می کنیم
سپس از پروژه ASP NET Core یک Image داکر تهیه می کنیم.
https://tinyurl.com/cdhk-docker2
1 797
آشنایی با Docker
داکر ابزاری برای توزیع و اجرای نرم افزار است که مشکل سازگاری با سیستم عامل های مختلف را حل میکند. این ابزار امروزه همه جا مورد استفاده قرار میگیرد و خوب است به عنوان توسعه دهنده ی نرم افزار درباره آن بیشتر بدانید. در این ویدیو به معرفی داکر می پردازیم و در ادامه از Docker در یک پروژه ASP NET Core استفاده می کنیم.
https://cutt.ly/ortrfXx
1 797
ویدیو :
آشنایی با موتور V8
مقایسه ی سی شارپ و جاوا اسکریپت
مقایسه پرفورمنس Node و ASP Core
http://tinyurl.com/yy36a8e7
1 797
پادکست کدهک - قسمت اول
در این قسمت می شنوید :
1-دردسرهای کریسمس برای مایکروسافت
2- آینده برنامه نویسی به کجا میرود؟
1 797
فروش ویژه
مرجع کامل آموزش ASP NET Core با 50% تخفیف ویژه یلدا
این دوره با مجموع 34 ساعت آموزش تخصصی ASP NET Core و به همراه یک سال اشتراک ویژه سایت کدهک عرضه میشود.
کد تخفیف : yalda
https://tinyurl.com/cdhk-yalda98
امکان خرید از طریق درگاه آنلاین یا کارت به کارت وجود دارد.
کد تخفیف 24 ساعت دیگر تمدید شد.
1 797
در این ویدیو به معرفی اپ فال حافظ می پردازیم که با تکنیک Progressive web app تهیه شده و می توانید آن را به هوم اسکرین گوشی اضافه کنید و به صورت آفلاین استفاده کنید.
https://goo.gl/fwJd5d
1 797
اپ فال حافظ که در ASP Core با تکنیک PWA پیاده شده:
برنامه به صورت آفلاین هم کار میکنه
به هوم اسکرین گوشی اضافه میشه
بدون مرورگر اجرا میشه
https://codehaks.com/yalda
1 797
آشنایی با الگوریتم Hi/Lo
معمولا کلید اصلی توسط دیتابیس ساخته میشود اما برای بدست آوردن آن اطلاعات رکورد ابتدا باید در دیتابیس ذخیره شود.
گاهی لازم است پیش از ذخیره سازی کلید اصلی در دسترس باشد در این موارد می توان از الگوریتم Hi/Lo استفاده کرد.
https://cutt.ly/4rwlwyq
1 797
🔈 کد تخفیف ویژه یلدا 98، قابل استفاده برای کلیه پکیج های آموزش ویدئویی
درصد تخفیف: 40%
کد تخفیف: Yalda98
مهلت استفاده تا 1398/10/4 ساعت 12 شب
https://barnamenevis.net
@barnamenevis_net
@barnamenevis_org
1 797
متد GetHashCode در دات نت
در دات نت همه ی Object ها دارای متدی به نام GetHashCode هستند.
این متد از روی محتوای Object یک عدد از جنس int تولید میکند. از HashCode برای مقایسه و دسته بندی Object ها درون Collection هایی مثل HashSet استفاده میشود.
نکته مهم این است که وقتی دو Object رفرنس یکسانی داشته باشند (یکی به دیگری نسبت داده شده باشد) همیشه HashCode یکسانی دارند. اما عکس این قضیه صادق نیست.
نمی توان با مقایسه دو HashCode نتیجه گرفت که Object آنها یکسان است. تابعی که HashCode را تولید می کند ممکن است برای دو شی کاملا متفاوت عدد یکسانی برگرداند. از آنجا که رنج int محدود است و همیشه شانس تکراری درآمدن آن برای دو شی متفاوت وجود دارد.
به تولید شدن HashCode تکراری اصطلاحا Collision یا برخورد گفته میشود. که تحلیل و کنترل آن در Collection هایی مثل HashSet اهمیت زیادی دارد.
1 797
پایان فعالیت مجله MSDN
مجله ی تخصصی MSDN که توسط مایکروسافت منتشر میشد تعطیل شد.
این مجله به مدت 33 سال هر ماه منتشر میشد و شامل مقالات متعددی در حوزه ی برنامه نویسی در محصولات مایکروسافت از جمله سی شارپ ، دات نت بود.
ماه گذشته مایکروسافت اعلام کرد انتشار این مجله را از پایان 2019 متوقف خواهد کرد.
هرچند مایکروسافت دلیل خاصی برای تعطیل کردن مجله اعلام نکرده است اما سال گذشته با آپدیت بخش بلاگهای سایت مایکروسافت و بهبود قسمت DevBlogs مقالات تخصصی را در این بخش منتشر میکند و در سایت مجله MSDN هم کاربران به بخش جدید Learning ارجاع داده میشوند.
1 797
❇️ معرفی 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
1 797
آشنایی با ML.NET
فریم ورک ML.NET ابزاری برای Machine Learning در دات نت است که توسط مایکروسافت توسعه داده شده است. در این ویدیو با استفاده از ML.NET شانس زنده ماندن مسافران کشتی تایتانیک را پیش بینی می کنیم.
https://tinyurl.com/cdhk-mlnet
1 797
🔈 پادکست درباره سورس کنترل ها و مزایای آنها
• آشنایی با اصطلاحات رایج در کار با سورس کنترل ها
• آشنایی با مزایای استفاده از سورس کنترل ها
• آشنایی با پروتکل های TFS و GIT
• آشنایی با سرویس های آنلاین و On-Permises سورس کنترل
#مهدی_کرامتی
@barnamenes_org
@barnamenes_net
1 797
ساختار داده Stack در سی شارپ
استک نوعی از ساختار داده است که در آن داده ها به صورت ترتیبی روی هم قرار میگیرند.
عملیات Push آیتم جدیدی را به بالای توده اضافه میکند.
با عملیات Pop فقط می توان بالاترین آیتم را از توده خارج کرد. مثلا برای دسترسی به آیتم سوم ابتدا باید آیتمهای اول و دوم Pop شده باشند.
متد Peek امکان مشاهده آیتم اول بدون Pop شدن را فراهم میکند.
عملیات های Pop و Peek همیشه از جنس (1)O هستند. با فرض ثابت بودن ابعاد لیست عملیات Push هم (1)O است. به این ترتیب اضافه و حذف کردن آیتم به Stack خیلی سریع امکان پذیر است.
رفتار استک LIFO یا Last-In-First-Out خوانده میشود.
1 797
آشنایی با JWT
مکانیزم JWT یک روش برای Authorization تحت وب است به این صورت که کلاینت نام کاربری و رمز ورود خود را به سرور ارسال میکند و سرور در صورت درست بودن اطلاعات (Authenticate) کدی با محتوای base64 تولید میکند و آن را به کلاینت ارسال میکند.
از اینجا به بعد کلاینت برای دریافت اطلاعات از سرور فقط کافی است کد (نشان) دریافت شده را درون Header قرار دهد و در هر درخواست به سرور ارسال کند. سرور از روی الگوریتم داده ها را به امضای دیجیتال تبدیل میکند و آن را با امضای نشان مطابقت میدهد.
نشان JWT شامل سه بخش است :
بخش اول Header که نوع الگوریتم تولید امضا را مشخص میکند.
بخش دوم Payload که محتوای اطلاعات شامل نام کاربری، آی دی یا سمت و ... است.
بخش سوم Signature که یک امضای دیجیتال است که از روی الگوریتم رمزگذاری و اطلاعات بخش دوم تهیه میشود تا اطمینان حاصل شود محتوای نشان تغییر نمیکند.
هر بخش با نقطه از هم تفکیک میشود.
این روش گاهی Bearer token هم خوانده میشود.
اطلاعات توکن با فرمت Base64 جابجا میشود و رمزنگاری نشده است و توسط هر کس قابل خواندن است مگر اینکه از روشهایی مثل JWS یا JWE استفاده شود.
