C# Programming Guide
193 subscribers
113 photos
9 videos
14 files
102 links
سلام دوستان در این کانال نکاتی در مورد مسائل پیشرفته در سی شارپ ارائه میشه که مربوط به بیش از 15 سال تجربه ی کاری من هست.
ممنون از اینکه دنبال میکنید.
اگر نکات خاصی به ذهنتون رسید با ادمین در میون بذارید
تماس با ادمین:
@Ali_Visual_Studio
Download Telegram
آموزش قسمت هفتم سیگنالگو:
آموزش ارتباط دو طرفه، دوپلکس، صدا زدن توابع و سرویس های کلاینت توسط سرور

https://www.aparat.com/v/oiM4x
شما از چه سیستمی در حال حاضر برای ارتباط بین کلاینت و سرور خود استفاده میکنید؟
anonymous poll

Asp.net or Asp.net Core – 10
👍👍👍👍👍👍👍 59%

Signal Go – 3
👍👍 18%

SignalR – 1
👍 6%

NodeJs – 1
👍 6%

WebApi – 1
👍 6%

Other – 1
👍 6%

WCF
▫️ 0%

RestApi
▫️ 0%

👥 17 people voted so far.
C# Programming Guide pinned «آموزش قسمت هفتم سیگنالگو: آموزش ارتباط دو طرفه، دوپلکس، صدا زدن توابع و سرویس های کلاینت توسط سرور https://www.aparat.com/v/oiM4x»
بین خارجی ها هم کم دلال نیستا 😆طرف دامنه ی سیگنالگو دات کام رو رزو کرده و سه هزارو سیصد دلار قیمت فروش داده بهم 😐
یکی از مهمترین کارها توی برنامه نویسی مبتدی در سی شارپ طریقه نام گذاری متغیر هاست که مایکروسافت داکیومنت گسترده ای در این زمینه برای سی شارپ نوشته:

https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions
C# Programming Guide
یکی از مهمترین کارها توی برنامه نویسی مبتدی در سی شارپ طریقه نام گذاری متغیر هاست که مایکروسافت داکیومنت گسترده ای در این زمینه برای سی شارپ نوشته: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions
در اکثر موارد که در داکیومنت اومده شما از روش Pascal برای نام گذاری در سی شارپ استفاده میکنید مثلا نام یک پروپرتی در کلاس باید به این صورت باشد:
UserName
Id
FullName

برای پارامتر ها از روش Camel استفاده میکنید:
fullName
password
userName

از نام های کوتاه استفاده نکنید🚫:
FName
LName

از آندرلاین استفاده نکنید 🚫:
First_Name
Last_Name

و ....
برای EF Core یک پکیج بنام InMemory وجود داره که با نصبش براحتی میتونید برای دیتابیسون تست کیس بنویسید.خیلی کاربردی و عالی برای تست توابع سرور و کلاینتتون هست.
به نظر میاد Extension سیگنالگو روی ویژوال استادیو های قدیمی کار نمی کرد امروز مشکلش رو رفع کردم و روی ویژوال استادیو 2012 و 2017 تست گرفتم و اوکی بود، کسانی که مشکلی داشتند ان شالله رفع شده.
سایت https://www.dbdesigner.net یک سایت خوب برای طراحی سریع ساختار دیتابیسون هست، من همیشه از این سایت برای ساختار دیتابیس هام قبل از پیاده سازی استفاده میکنم، رایگانه
C# Programming Guide pinned «شما از چه سیستمی در حال حاضر برای ارتباط بین کلاینت و سرور خود استفاده میکنید؟ anonymous poll Asp.net or Asp.net Core – 10 👍👍👍👍👍👍👍 59% Signal Go – 3 👍👍 18% SignalR – 1 👍 6% NodeJs – 1 👍 6% WebApi – 1 👍 6% Other – 1 👍 6% WCF ▫️ 0% RestApi ▫️ 0% 👥 17…»
این سایت رو شاید اکثرتون بشناسید، ولی برای کسانی که نمیشناسن trello.com یه اسکرام خوبی هست برای مدیریت کارای که باید انجام بدید و اونارو مدیریت کنید.
یه باگ سرسام آوری توی ویژوال استادیو بخش test case ها هست که بعضی وقت ها اجرا نمیشن یا هرکاری میکنی تست کیس ها کار نمی کنن، برای اینکه این مشکل رو حل کنید یکبار پکیج های پروژه ی تست کیس رو مجدد بروزرسانی کنید.
این رو توی پکیج منیجر بزنید:
update-package -reinstall
یا میتونید محدود به پروژه تست کیستون کنید:
update-package -reinstall -projectname name
به جای name نام پروژتون رو بذارید.

همچنین پکیج های تست کیس ها رو با پروژه اصلیتون مقایسه کنید که نسخه هاشون متفاوت نباشن.
اگر برنامه نویس سرور هستید، هروقت طوری کد زدید که اگر سورس سرورتون رو هم به اشتراک گذاشتید کسی نتونست هکتون کنه (یعنی فکر همه جاشو کردید) اونوقت شما یک برنامه نویس حرفه ای سمت سرور هستید که امنیت رو از همه نظر در نظر گرفتید و نگران لو رفتن سورس سرورتون هم نیستید بلکه تضمین امنیت اطلاعات کلاینت هاتون برای شما مهمتر بوده.
بنابراین:
1.مسقتیم connection string به دیتابیس نزنید
2.پورت sql رو باز نذارید که از طریق ip یا دامنه توی کد به sql اتصال برقرار کنید.
3.هیچ رمز و سشن امنیتی رو توی کد سرورتون نزنید، یا توی دیتابیس یا توی فایل config بذارید که سرور منیجر اونو پر کنه.
4.برای توابع سرویس ها دسترسی یا محدودیت آی پی (برای توابع لوکال) تعریف کنید و کار رو برای هرکسی سخت کنید.
#backend
آموزش سیگنالگو قسمت هشتم:
آموزش DataExchanger چگونه تبادل اطلاعات خود را مدیریت کنیم.

https://www.aparat.com/v/vkKm3
در نسخه ی 5 از سیگنالگو شما میتوانید سرویس های خودتون رو که تا الان با سیگنالگو نوشتید به راحتی تبدیل به یک ربات تلگرام کنید، بدون هیچ تغییرات خاصی، مثلا اگر شما لاگین و ثبت نام دارید، کاربران میتونن وارد سرویس ثبت نام بشن (روی دکمه ی ثبت نام/ ورود کلیک میکنن) و توی ربات تلگرام دوتا دکمه ی جدید ورود و ثبت نام میبینن و خود سیستم سیگنالگو با ورودی هایی که برای کاربر در نظر گرفتید تشخیص میده که کاربر چه چیزهایی رو باید وارد کنه و کاربر میتونه با ربات تلگرام توابع شمارو صدا بزنه، خوبیش اینه که همونطور که قبلا کد میزدید بدون هیچ دانشی نسبت به ساختن ربات در تلگرام میتونید api هایی که با سیگنالگو میسازید رو برای کلاینت های تلگرام ساپورت کنید.
یه ارائه در مورد برنامه نویسی سوکت و شبکه و در نهایت سیگنالگو اگر علاقه مند هستید که برنامه نویسی سرور رو شروع کنید میتونید جهت کسب اطلاعات بیشتر در مورد شبکه و چگونگی کار سوکت ها و پروتکل ها این ویدئو رو مشاهده کنید 👇
فقط با دو خط کد کل سرویس هایی که تا الان با سیگنالگو زده بودید رو به یک ربات کامل برای تلگرام تبدیل کنید، نسخه ی 5 از سیگنالگو با قابلیت های جدید از جمله تبدیل سرویس ها به ربات تلگرام انتشار یافت. حالا دیگه نه نگران این هستید که چطوری برای ربات خودتون دکمه ی لاگین بذارید و نه نگران نوشتن سرویس ها و کد های پیچده برای ربات تلگرام، به راحتی کد های تمیز خودتون رو در سیگنالگو به یک ربات کامل تلگرام تبدیل کنید.
فقط کافیه پکیج های سیگنالگو پروژتون رو به نسخه ی 5 بروز رسانی کنید و سمت سرور پکیج جدید SignalGo.Server.TelegramBot رو هم نصب کنید سپس با دو خط زیر سرور خودتون رو تبدیل به ربات تلگرام کنید:
SignalGoBotManager signalGoBotManager = new SignalGoBotManager();
signalGoBotManager.Start("bot token", serverProvider);

به جای bot token در واقع توکن ربات خودتون در تلگرام رو میذارید و به جای serverProvider هم سرور خودتون رو بعد از استارت جای این پارامتر میذارید و ربات سرور شما امادست و کاربران میتونن توابع سرور شمارو با ربات تلگرام صدا بزنن و ورودی بفرستند و خروجی دریافت کنند.
C# Programming Guide pinned «فقط با دو خط کد کل سرویس هایی که تا الان با سیگنالگو زده بودید رو به یک ربات کامل برای تلگرام تبدیل کنید، نسخه ی 5 از سیگنالگو با قابلیت های جدید از جمله تبدیل سرویس ها به ربات تلگرام انتشار یافت. حالا دیگه نه نگران این هستید که چطوری برای ربات خودتون دکمه…»