#telegram , #telegramDeveloper , #webhook ,#telegramWebApi
اگه توی پروژه ای ، نیاز دارید از تلگرام استفاده کنیدو هنوز کاری نکردید، یا علاقهمند به کار روی هسته تلگرام هستید؛
یک کتابخونه به نام net.telegram.core رو از ناگت دانلود کنید و به reference های پروژتون اضافه کنید.
وقتی به رفرنساتون اضافه شد، روی رفرنسی که دانلود شده دوبار کلیک کنید تا صفحه object browser براتون باز بشه.
توی این صفحه میتونید با انتخاب telegram.net.core اون کلاس ها و توابع رفرنستون رو ببینید. ببینید مثلا برای اتورایز کردن یک شماره، ارسال پیام، حذف پیام، اضافه کردن یک شماره به کنتکتتون، بررسی اینکه آیا یک شماره عضو تلگرام هست یا نه و... باید از چه تابعی استفاده کنید.
تقریبا تمام توابع بر اساس کاری که میکنه، نام گذاری شده و مثه، لایبرریای دیگه دات نت برای کار با telegram api هیچ نکته نامفهوم و مبهمی نداره.
پیشنیازهای کار روی پروژه ها،
تسلط به background workerها یا threadها یا task یا asynchronousها توی #c هستش.
@ArmanAbi
اگه توی پروژه ای ، نیاز دارید از تلگرام استفاده کنیدو هنوز کاری نکردید، یا علاقهمند به کار روی هسته تلگرام هستید؛
یک کتابخونه به نام net.telegram.core رو از ناگت دانلود کنید و به reference های پروژتون اضافه کنید.
وقتی به رفرنساتون اضافه شد، روی رفرنسی که دانلود شده دوبار کلیک کنید تا صفحه object browser براتون باز بشه.
توی این صفحه میتونید با انتخاب telegram.net.core اون کلاس ها و توابع رفرنستون رو ببینید. ببینید مثلا برای اتورایز کردن یک شماره، ارسال پیام، حذف پیام، اضافه کردن یک شماره به کنتکتتون، بررسی اینکه آیا یک شماره عضو تلگرام هست یا نه و... باید از چه تابعی استفاده کنید.
تقریبا تمام توابع بر اساس کاری که میکنه، نام گذاری شده و مثه، لایبرریای دیگه دات نت برای کار با telegram api هیچ نکته نامفهوم و مبهمی نداره.
پیشنیازهای کار روی پروژه ها،
تسلط به background workerها یا threadها یا task یا asynchronousها توی #c هستش.
@ArmanAbi
#SQLServer
#C#
#ASP.NET
#User_Defined_Table_Types
#TVP
#Table_Valued_Parameter
فرض کنید که شما توی برنامه تون درقسمت جستجو محصولات از یک استور پروسیجر استفاده میکنید که نیاز دارین یک بازه ای از قیمت(رکورد هایی از fromPrice ,toPrice) به ورودی اش اضافه کنید که بتونید تو بدنه استور پروسیجر فیلتر بازه قیمت را اعمال کنید . حالا شما باید این بازه قیمت را بصورت دیتا تیبل به متغیر های ورودی استور پروسیجر اضافه کنید .
در نظر داشته باشید که برای اینکه دیتا بیس بفهمه چه نوع دیتا تیبلی داریم بهش پاس میدیم باید ساختارش را تعریف کنیم.به این صورت که یه new query در sql server باز میکنیم و در دیتا بیس مورد نظر این ساختار رو بصورت زیر تعریف میکنیم :
بعد از اجرای کد بالا در مسیرprogrammability/Types/User-Defined Table Types ذخیره میشود .درواقع شما الان یک user-defined table type تعریف کردید.
حالا میتونید این نوع دیتا تیبل را به استورپروسیجر مورد نظر اضافه کرد . مثل نمونه کد زیر :
حال فقط کافیست زمانی که تو برنامه میخوایید از این استور پروسیجر استفاده کنید بازه قیمت را بصورت دیتا تیبل با همین ساختار پاس بدهید
@ArmanAbi
#C#
#ASP.NET
#User_Defined_Table_Types
#TVP
#Table_Valued_Parameter
فرض کنید که شما توی برنامه تون درقسمت جستجو محصولات از یک استور پروسیجر استفاده میکنید که نیاز دارین یک بازه ای از قیمت(رکورد هایی از fromPrice ,toPrice) به ورودی اش اضافه کنید که بتونید تو بدنه استور پروسیجر فیلتر بازه قیمت را اعمال کنید . حالا شما باید این بازه قیمت را بصورت دیتا تیبل به متغیر های ورودی استور پروسیجر اضافه کنید .
در نظر داشته باشید که برای اینکه دیتا بیس بفهمه چه نوع دیتا تیبلی داریم بهش پاس میدیم باید ساختارش را تعریف کنیم.به این صورت که یه new query در sql server باز میکنیم و در دیتا بیس مورد نظر این ساختار رو بصورت زیر تعریف میکنیم :
CREATE TYPE [dbo].[PriceRanges] AS TABLE(
[PriceMin] [decimal](18, 4) NULL,
[PriceMax] [decimal](18, 4) NULL
)
GO
بعد از اجرای کد بالا در مسیرprogrammability/Types/User-Defined Table Types ذخیره میشود .درواقع شما الان یک user-defined table type تعریف کردید.
حالا میتونید این نوع دیتا تیبل را به استورپروسیجر مورد نظر اضافه کرد . مثل نمونه کد زیر :
CREATE PROCEDURE [dbo].[SearchProduct]
(
@CategoryIds nvarchar(MAX) = null,
@SectionIds nvarchar(MAX) = null,
@ManufacturerId int = 0,
@PriceRangeList dbo.PriceRanges READONLY
)
AS
BEGIN
/* another code */
IF EXISTS (SELECT 1 FROM @PriceRangeList)
BEGIN
...
END
END
GO
حال فقط کافیست زمانی که تو برنامه میخوایید از این استور پروسیجر استفاده کنید بازه قیمت را بصورت دیتا تیبل با همین ساختار پاس بدهید
@ArmanAbi
Media is too big
VIEW IN TELEGRAM
#LambdaExpression
آموزش سی شارپ #C
{{پیشرفته}}
مدرس : داریوش تصدیقی
Delegate, Anonymous Function, Func, Action, Predicate, Lambda Expression
نشانی کانال:
@ABlueDeveloper
آموزش سی شارپ #C
{{پیشرفته}}
مدرس : داریوش تصدیقی
Delegate, Anonymous Function, Func, Action, Predicate, Lambda Expression
نشانی کانال:
@ABlueDeveloper
🍀انتشارات کتاب سبز
♦️ کتاب آموزش #C برای مبتدیان
♦️ برگ: 148 صفحه (فارسی)
♦️ منبع : یونس ابراهیمی
‼️ برای دانلود کتاب به لینک کانال مراجعه فرمایید
https://t.me/ABlueDeveloper
♦️ کتاب آموزش #C برای مبتدیان
♦️ برگ: 148 صفحه (فارسی)
♦️ منبع : یونس ابراهیمی
‼️ برای دانلود کتاب به لینک کانال مراجعه فرمایید
https://t.me/ABlueDeveloper
#version15.7
#VisualStudio
Visual Studio 2017 version 15.7
آپدیت جدید ویژوال استودیو ورژن 15.7 که در 7 می 2018(دیروز) منتشر شده
خلاصه ای از ویژگی های جدید :
سی شارپ 7.3 در این نسخه گنجانده شده .
بهبود دز زمان Load پروژه #c یا #vb
کاهش 25 درصدی زمان برای فعال شدن IntelliSense برای پروژه های Net Core.
بهبود سریع اطلاعات و اصلاح جدید دات نت مانند تبدیل for به foreach انجام دادیم و ساختن private fields readonly
اضافه شدن قابلیت
publish ASP.NET Core applications to App Service Linux without containers.
تایپ اسکریپت TypeScript 2.8 در این ورژن گنجانده شده.
در پروژه های پایتون از type hints در IntelliSense پشتیبانی می کند و یک خط فرمان Run MyPy برای دیدن خطاهای تایپ در کد شما اضافه شده است.
محیط های Conda environments در پروژه های پایتون پشتیبانی می شوند.
بهبود سرعت Kestrel HTTPs در حین debugging
امکان دیباگ کردن JavaScript با Microsoft Edge
ابزاری برای زامارین که میتونه اتوماتیک Android API های گم شده یا مورد نیاز پروژه ی رو نصب کند
و امکانات دیگر که برای دیدن کامل امکانات اضافه شده میتونید به لینک زیر مراجعه کنید:
https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#15.7
@ABlueDeveloper
#VisualStudio
Visual Studio 2017 version 15.7
آپدیت جدید ویژوال استودیو ورژن 15.7 که در 7 می 2018(دیروز) منتشر شده
خلاصه ای از ویژگی های جدید :
سی شارپ 7.3 در این نسخه گنجانده شده .
بهبود دز زمان Load پروژه #c یا #vb
کاهش 25 درصدی زمان برای فعال شدن IntelliSense برای پروژه های Net Core.
بهبود سریع اطلاعات و اصلاح جدید دات نت مانند تبدیل for به foreach انجام دادیم و ساختن private fields readonly
اضافه شدن قابلیت
publish ASP.NET Core applications to App Service Linux without containers.
تایپ اسکریپت TypeScript 2.8 در این ورژن گنجانده شده.
در پروژه های پایتون از type hints در IntelliSense پشتیبانی می کند و یک خط فرمان Run MyPy برای دیدن خطاهای تایپ در کد شما اضافه شده است.
محیط های Conda environments در پروژه های پایتون پشتیبانی می شوند.
بهبود سرعت Kestrel HTTPs در حین debugging
امکان دیباگ کردن JavaScript با Microsoft Edge
ابزاری برای زامارین که میتونه اتوماتیک Android API های گم شده یا مورد نیاز پروژه ی رو نصب کند
و امکانات دیگر که برای دیدن کامل امکانات اضافه شده میتونید به لینک زیر مراجعه کنید:
https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#15.7
@ABlueDeveloper
Docs
Visual Studio 2017 15.9 Release Notes
Release notes for the latest features and improvements in Visual Studio 2017 v15.9. Plan better, code together and ship faster with Visual Studio.
#cSharp9
اعمال واژههای کلیدی جدید and، or و not به سایر نوعها نیز وجود دارند
🔹 تا اینجا مثالهایی را که بررسی کردیم، در مورد بررسی نوع اشیاء بود. اما میتوان این واژههای کلیدی جدید در C# 9.0 را به هر نوع ممکنی نیز اعمال کرد. برای نمونه، مثال سادهی زیر را که در مورد بررسی اعداد است، درنظر بگیرید:
🔸یک مثال دیگر: متد زیر را در نظربگیرید که با استفاده از && و || متداول #C نوشته شدهاست:
اعمال واژههای کلیدی جدید and، or و not به سایر نوعها نیز وجود دارند
🔹 تا اینجا مثالهایی را که بررسی کردیم، در مورد بررسی نوع اشیاء بود. اما میتوان این واژههای کلیدی جدید در C# 9.0 را به هر نوع ممکنی نیز اعمال کرد. برای نمونه، مثال سادهی زیر را که در مورد بررسی اعداد است، درنظر بگیرید:
var number = new Random().Next(1, 10);✔️اکنون در C# 9.0 و با استفاده از امکانات جدید pattern matching آن میتوان شرط متداول فوق را به صورت زیر ساده کرد:
if (number > 2 && number < 8)
{
// to do
}
if (number is > 2 and < 8)در اینجا تنها یکبار نیاز به ذکر number است و از واژههای کلیدی is و and استفاده شدهاست.
{
// to do
}
🔸یک مثال دیگر: متد زیر را در نظربگیرید که با استفاده از && و || متداول #C نوشته شدهاست:
public static bool IsLetterOrSeparator(char c) =>✔️روش ارائهی C# 9.0 ای آن به صورت زیر است:
(c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '.' || c == ',';
public static bool IsLetterOrSeparator(char c) =>@fullStackDevs
c is (>= 'a' and <= 'z') or (>= 'A' and <= 'Z') or '.' or ',';