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
و ....
UserName
Id
FullName
برای پارامتر ها از روش Camel استفاده میکنید✅:
fullName
password
userName
از نام های کوتاه استفاده نکنید🚫:
FName
LName
از آندرلاین استفاده نکنید 🚫:
First_Name
Last_Name
و ....
سایت 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 نام پروژتون رو بذارید.
همچنین پکیج های تست کیس ها رو با پروژه اصلیتون مقایسه کنید که نسخه هاشون متفاوت نباشن.
این رو توی پکیج منیجر بزنید:
update-package -reinstall
یا میتونید محدود به پروژه تست کیستون کنید:
update-package -reinstall -projectname name
به جای name نام پروژتون رو بذارید.
همچنین پکیج های تست کیس ها رو با پروژه اصلیتون مقایسه کنید که نسخه هاشون متفاوت نباشن.
اگر برنامه نویس سرور هستید، هروقت طوری کد زدید که اگر سورس سرورتون رو هم به اشتراک گذاشتید کسی نتونست هکتون کنه (یعنی فکر همه جاشو کردید) اونوقت شما یک برنامه نویس حرفه ای سمت سرور هستید که امنیت رو از همه نظر در نظر گرفتید و نگران لو رفتن سورس سرورتون هم نیستید بلکه تضمین امنیت اطلاعات کلاینت هاتون برای شما مهمتر بوده.
بنابراین:
1.مسقتیم connection string به دیتابیس نزنید
2.پورت sql رو باز نذارید که از طریق ip یا دامنه توی کد به sql اتصال برقرار کنید.
3.هیچ رمز و سشن امنیتی رو توی کد سرورتون نزنید، یا توی دیتابیس یا توی فایل config بذارید که سرور منیجر اونو پر کنه.
4.برای توابع سرویس ها دسترسی یا محدودیت آی پی (برای توابع لوکال) تعریف کنید و کار رو برای هرکسی سخت کنید.
#backend
بنابراین:
1.مسقتیم connection string به دیتابیس نزنید
2.پورت sql رو باز نذارید که از طریق ip یا دامنه توی کد به sql اتصال برقرار کنید.
3.هیچ رمز و سشن امنیتی رو توی کد سرورتون نزنید، یا توی دیتابیس یا توی فایل config بذارید که سرور منیجر اونو پر کنه.
4.برای توابع سرویس ها دسترسی یا محدودیت آی پی (برای توابع لوکال) تعریف کنید و کار رو برای هرکسی سخت کنید.
#backend
آموزش سیگنالگو قسمت هشتم:
آموزش DataExchanger چگونه تبادل اطلاعات خود را مدیریت کنیم.
https://www.aparat.com/v/vkKm3
آموزش DataExchanger چگونه تبادل اطلاعات خود را مدیریت کنیم.
https://www.aparat.com/v/vkKm3
در نسخه ی 5 از سیگنالگو شما میتوانید سرویس های خودتون رو که تا الان با سیگنالگو نوشتید به راحتی تبدیل به یک ربات تلگرام کنید، بدون هیچ تغییرات خاصی، مثلا اگر شما لاگین و ثبت نام دارید، کاربران میتونن وارد سرویس ثبت نام بشن (روی دکمه ی ثبت نام/ ورود کلیک میکنن) و توی ربات تلگرام دوتا دکمه ی جدید ورود و ثبت نام میبینن و خود سیستم سیگنالگو با ورودی هایی که برای کاربر در نظر گرفتید تشخیص میده که کاربر چه چیزهایی رو باید وارد کنه و کاربر میتونه با ربات تلگرام توابع شمارو صدا بزنه، خوبیش اینه که همونطور که قبلا کد میزدید بدون هیچ دانشی نسبت به ساختن ربات در تلگرام میتونید api هایی که با سیگنالگو میسازید رو برای کلاینت های تلگرام ساپورت کنید.
یه ارائه در مورد برنامه نویسی سوکت و شبکه و در نهایت سیگنالگو اگر علاقه مند هستید که برنامه نویسی سرور رو شروع کنید میتونید جهت کسب اطلاعات بیشتر در مورد شبکه و چگونگی کار سوکت ها و پروتکل ها این ویدئو رو مشاهده کنید 👇
Forwarded from DevTalks
جهت مشاهده فایل تصویری جلسه دوم به کانال آپارات مراجعه کنید :
https://www.aparat.com/v/27YNF
https://www.aparat.com/v/27YNF
آپارات - سرویس اشتراک ویدیو
آموزش Socket Programming
جلسه دوم از سری جلسات گفتگو توسعه دهندگان که به میزبانی شرکت کارآفرینان بلند آوازه و ارائه مهندس یوسفی از هلدینگ آتی تک که با موضوع Socket Programming برگزار گردید
فقط با دو خط کد کل سرویس هایی که تا الان با سیگنالگو زده بودید رو به یک ربات کامل برای تلگرام تبدیل کنید، نسخه ی 5 از سیگنالگو با قابلیت های جدید از جمله تبدیل سرویس ها به ربات تلگرام انتشار یافت. حالا دیگه نه نگران این هستید که چطوری برای ربات خودتون دکمه ی لاگین بذارید و نه نگران نوشتن سرویس ها و کد های پیچده برای ربات تلگرام، به راحتی کد های تمیز خودتون رو در سیگنالگو به یک ربات کامل تلگرام تبدیل کنید.
فقط کافیه پکیج های سیگنالگو پروژتون رو به نسخه ی 5 بروز رسانی کنید و سمت سرور پکیج جدید SignalGo.Server.TelegramBot رو هم نصب کنید سپس با دو خط زیر سرور خودتون رو تبدیل به ربات تلگرام کنید:
به جای bot token در واقع توکن ربات خودتون در تلگرام رو میذارید و به جای serverProvider هم سرور خودتون رو بعد از استارت جای این پارامتر میذارید و ربات سرور شما امادست و کاربران میتونن توابع سرور شمارو با ربات تلگرام صدا بزنن و ورودی بفرستند و خروجی دریافت کنند.
فقط کافیه پکیج های سیگنالگو پروژتون رو به نسخه ی 5 بروز رسانی کنید و سمت سرور پکیج جدید SignalGo.Server.TelegramBot رو هم نصب کنید سپس با دو خط زیر سرور خودتون رو تبدیل به ربات تلگرام کنید:
SignalGoBotManager signalGoBotManager = new SignalGoBotManager();
signalGoBotManager.Start("bot token", serverProvider);
به جای bot token در واقع توکن ربات خودتون در تلگرام رو میذارید و به جای serverProvider هم سرور خودتون رو بعد از استارت جای این پارامتر میذارید و ربات سرور شما امادست و کاربران میتونن توابع سرور شمارو با ربات تلگرام صدا بزنن و ورودی بفرستند و خروجی دریافت کنند.
C# Programming Guide pinned «فقط با دو خط کد کل سرویس هایی که تا الان با سیگنالگو زده بودید رو به یک ربات کامل برای تلگرام تبدیل کنید، نسخه ی 5 از سیگنالگو با قابلیت های جدید از جمله تبدیل سرویس ها به ربات تلگرام انتشار یافت. حالا دیگه نه نگران این هستید که چطوری برای ربات خودتون دکمه…»
C# Programming Guide
فقط با دو خط کد کل سرویس هایی که تا الان با سیگنالگو زده بودید رو به یک ربات کامل برای تلگرام تبدیل کنید، نسخه ی 5 از سیگنالگو با قابلیت های جدید از جمله تبدیل سرویس ها به ربات تلگرام انتشار یافت. حالا دیگه نه نگران این هستید که چطوری برای ربات خودتون دکمه…
یک سمپل ساده از سیگنالگو و ربات تلگرام در سی شارپ، البته فراموش نکنید که توکن ربات خودتون رو به سمپل بدید همچنین برای تست توی ایران حتما باید با فیلتر شکن تست کنید:
https://github.com/SignalGo/signalgo-samples/tree/master/SignalGoTelegramBotExample/SignalGoTelegramBotExample
https://github.com/SignalGo/signalgo-samples/tree/master/SignalGoTelegramBotExample/SignalGoTelegramBotExample
GitHub
SignalGo/signalgo-samples
SignalGo C# sample code. Contribute to SignalGo/signalgo-samples development by creating an account on GitHub.
C# Programming Guide
Photo
داشتم این آموزش های GraphQL رو برای دات نت میدیدم خیلی هم این پروژه ی open source طرفدار داره، یه چیز تو مایه های سیگنالگو هست. میتونم بگم این مسخره بازی ها در کد نویسی چیزی جز کاهنده ی سرعت و گیج کننده ی برنامه نویس ها نیستن، درسته مرتب هستن ولی توی پروژه های بزرگ عملا سر در گم میکنه شما رو حتی اگر اینقدر تمیز کد بزنید.چیزی که در تصویر بالا میبینید همون DataExchaner توی سیگنالگو هست که با یک اتریبوت بالای تابع یا پروپتری یا متد کارشو تموم میکردید اینجا باید کلاس بسازید و از یک چیز ارث ببرید و تک تک فیلد ها رو اینطوری داخلش برای هر کدوم یک خط کد بزنید.
خودم توی پروژه هام این روش ها رو تایید نمی کنم، برنامه نویس بیشترین وقتشو باید برای ساخت مدل هاش بذاره و کمترین وقتش رو برای DataExchanger در غیر اینصورت کلی وقت باید برای آنالیز و پیاده سازی بذاره و کلی انرژی صرف کنه، الان این پروژه با دوتا مدل تبدیل به 6 تا مدل شد اونم در یک پروژه ی ساده و ابتدایی همراه با کلی کانفیگ فقط برای اجرا کردن پروژه...
واقعا به کجا دارن میرن این مایکروسافت و فیسبوک :/
خودم توی پروژه هام این روش ها رو تایید نمی کنم، برنامه نویس بیشترین وقتشو باید برای ساخت مدل هاش بذاره و کمترین وقتش رو برای DataExchanger در غیر اینصورت کلی وقت باید برای آنالیز و پیاده سازی بذاره و کلی انرژی صرف کنه، الان این پروژه با دوتا مدل تبدیل به 6 تا مدل شد اونم در یک پروژه ی ساده و ابتدایی همراه با کلی کانفیگ فقط برای اجرا کردن پروژه...
واقعا به کجا دارن میرن این مایکروسافت و فیسبوک :/
سمت سرور یک کد زدم که اگر حجم فایل بیشتر از 5 مگابایت بود خطا بده که حجم فایل مجاز نیست.وقتی این خطا رو سریع بر میگردونم مرورگر خطای Cross origin میده و کلاینت نمیتونه پاسخ رو دریافت کنه در نتیجه هیچ اتفاقی نمیوفته و کلاینت هم نمیفهمه حجم مجاز نیست، حالا وقتی فایل رو کامل میخونم و بعد خطا رو برمیگردونم کلاینت خطا رو میفهمه، یعنی در این حد این پروتکل داغونه! که مرورگر های کروم و فایرفاکس هر دو در این حالت این خطا رو میدن و سرور رو مجبور به خوندن فایل تا اخر میکنن!😐
نسخه ی جدید سیگنالگو با قابلیت query زدن در خروجی و ورودی های متدهاتون در حال توسعه هست.
توی این نسخه همونطور که در تصویر میبینید میتونید هر نوع کوئری رو حتی از سمت کلاینت برای سرور بزنید یا از سمت سرور برای کلاینت بزنید و ... در واقع ما شکل ساده تر DataExchanger رو به شکل پیشرفته تری ساختیم تا کار رو برای برنامه نویسان آسون تر کنیم، این رو مقایسه کنید با GraphQl و OData و ببینید چقدر تمیز تر و راحت تره.اگر نظر یا پیشنهادی داشتید به خودم بگید
توی این نسخه همونطور که در تصویر میبینید میتونید هر نوع کوئری رو حتی از سمت کلاینت برای سرور بزنید یا از سمت سرور برای کلاینت بزنید و ... در واقع ما شکل ساده تر DataExchanger رو به شکل پیشرفته تری ساختیم تا کار رو برای برنامه نویسان آسون تر کنیم، این رو مقایسه کنید با GraphQl و OData و ببینید چقدر تمیز تر و راحت تره.اگر نظر یا پیشنهادی داشتید به خودم بگید