Programming languages
135 subscribers
202 photos
36 videos
49 files
249 links
A channel about all kind of programming languages, and their architectures and concepts.
Download Telegram
📝ویژگی های جدید C# 6.0

🔵عملگر nameof

🔸این عملگر خیلی ساده نام متغیر را برای شما برمی گرداند:
string firstname = "Saeed";
Console.WriteLine(nameof(firstname))
// Prints firstname

🔵مبحث Argument Exceptions:
🔸تمام Argument Exception ها یک پارامتر می گیرند که مشخص کننده پارامتر نامعتبر می باشد. قبل از این می بایست نام را به صورت رشته وارد می کردیم و مشکل بزرگ این روش زمانی بود که نام پارامتر را تغییر می دادیم و فراموش می کردیم تا پارامتر Argument Exception را نیز تغییر نام بدهیم.
🚮// روش قبلی
public double DoSomething(string input)
{
if (string.IsNullOrEmpty(input))
throw new ArgumentNullException("input");
}

// روش جدید
public double DoSomething(string input)
{
if (string.IsNullOrEmpty(input))
throw new ArgumentNullException(nameof(input));
}

🔵در برنامه های ASP.NET MVC
در MVC از رشته ها زیاد استفاده می شود و این مورد در پروژه های بزرگ ممکن است به مشکل تبدیل شود. به عنوان مثال ایجاد لینک با استفاده از Helper های MVC. در مثال زیر نحوه ایجاد یک لینک با استفاده از این عملگر را مشاهده خواهید کرد:
<a href="@Url.CustomAction(nameof(HomeController.Index), nameof(HomeController))">خانه</a>

🔸علت استفاده از Helper سفارشی CusomAction در اینجا به این خاطر است که (nameof(HomeController مقدار HomeController را برمی گرداند ولی ما نیاز به قسمت بدون Controller یعنی Home داریم:
public static string CustomAction(this UrlHelper htmlHelper, string actionName, string controllerName)
{
return htmlHelper.Action(actionName, controllerName.Substring(0, controllerName.Length - 10));
}

🔸نکته دیگر این که برای استفاده از کلیه ویژگی های 6.0 #C در MVC باید پکیج زیر را نصب نمایید:

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

🔵اتصال رشته یا String Interpolation

🔸با کمک روش جدید اتصال رشته در ورژن جدید #C، دیگر نیازی به String.Format و چسباندن رشته با + بهم ندارید:
var firstName = "Saeed";
var lastName = "Rezayi";

// before c# 6
var introduction = string.Format("First Name: {0} - Last Name: {1}", firstName, lastName);
// after c# 6
var introduction = $"First Name: {firstName} - Last Name: {lastName}";

عملگر Null-Conditional
🔵روشی سریع برای چک کردن نال و جلوگیری از خطای معروف NullReferenceException
// Without Null-Conditional Operator
public string Truncate(string input, int length)
{
string result = input;

if (!string.IsNullOrEmpty(input))
result = input.Substring(0, Math.Min(input.Length, length));

return result;
}

// Whit Null-Conditional Operator
public string Truncate(string value, int length)
{
return value?.Substring(0, Math.Min(value.Length, length));
}


🔵مقدار دهی اولیه به Auto-Property ها یا (Auto-Property Initializers) :

🔸روش جدید مقداردهی اولیه به Auto-Property ها که تا قبل از این تنها از طریق constructor ممکن بود.
public class Post
{
public DateTime PublishDate { get; set; } = DateTime.Now;
}


🔵Expression Bodied Functions and Properties :
🔸یکی دیگر از ساده سازی های صورت گرفته در ورژن جدید.
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string FullName => $"{FirstName} {LastName}";
public override string ToString() => $"{FirstName}, {LastName}";
}
cloudofthings.pptx
143.3 KB
پاورپوینت ارایه با موضوع اینترنت اشیاء مبتنی بر رایانش ابری ( فارسی )
#رایانش_ابری
#اینترنت_اشیاء
✳️ خانه های هوشمند و فناوری اینترنت اشیاء

🔵 خانه های هوشمند به عنوان یکی از پیشرفت های تکنولوژی به شدت در حال فراگیر شدن هستند و برخی از تجهیزات خانه هوشمند میتوانند از راه دور توسط تلفن همراهتان کنترل شوند.

🔴 اپل واچ برای این کار کاملا مناسب است.
🔵 منزل من به لامپ های Hue، ترموستات Nest، و قفل هوشمند مجهز شده است.

🔴 در خانه گوشی آیفون من همیشه کنارم نیست اما اپل واچ همیشه روی مچم بسته شده است .
🔵 این واقعیت ساده به من اجازه میدهد تا بدون دسترسی به آیفون یا کلید فیزیکی روشنایی را کنترل کنم. امیدوارم بتوانم دیگر تجهیزات متصل را هم کنترل کنم.

🔴 متأسفانه تا این لحظه فقط دو گروه از تولید کنندگان سیستم خانه هوشمند اپلیکشن های سازگار با اپل واچ را ارائه کرده اند اما میتوان انتظار داشت این شرایط در آینده ای نزدیک تغییر کند و این محتوا به ترموستات های هوشمند،دوربین های امنیتی، قفل های هوشمند و دیگر تجهیزات هم برسد.

#اینترنت_اشیاء
فریم ورک w3.css یک محصول از سایت خوشنام w3schools هست. این فریم ورک ادعا کرده که سریع ترین فریم ورک css هست. روی مرورگر های مختلف بخوبی قابل انعطاف هست. فقط از css استفاده کرده و به چیز دیگه ای مثل jquery وابسته نیست. و درنهایت بستر خوبی برای ساخت سایت های مدرن، responsive و منطبق بر موبایل هست.
لینک رسمی:
https://www.w3schools.com/w3css/
نقشه راه یادگیری زبان برنامه نویسی پایتون
يك تمرين براي كمك به يافتن موقعيت شغلي مناسب:
١- همين امروز ليستي از مشاغل موجود در حوزه تخصصي خود آماده كنيد و در اين ليست از پيش پا افتاده ترين تا بالاترين جايگاه شغلي را قرار دهيد.
٢- سپس در مقابل هر موقعيت شغلي مهارتهاي حرفه اي مورد نياز آن را بنويسيد.
٣- در گام بعد توجه كنيد كه شما به عنوان يك متخصص آكادميك چه گزينه هاي جديدي مي توانيد به مخاطبان آن موقعيت شغلي ارائه نماييد كه موجب تمايز و برتري شما شود.
٤- به موارد دوم و سوم باز گرديد، هر چه در اين بخش نوشته ايد كه نياز به آموختن دارد، در اولين فرصت بياموزيد.
٥- رزومه اي از خود، علائق حرفه اي و مهارتهاي اختصاصي خود بنويسيد.
٦- اماكني كه ممكن است موقعيت مناسبي براي شما فراهم كنند را ليست كنيد، به آنجا برويد و درخواست همكاري خود را به مدير اصلي مجموعه ارائه دهيد.
.
.
شايد با گزينه ي اول تان به توافق نرسيد، اما مهارتها و توانمندي شما حتما مورد توجه يك كارفرماي هوشمند قرار خواهد گرفت.
Forwarded from Mr.Grayhat [Saeed.R]
یک اینفوگرافیک جالب از میزان درآمد کمپانی های غول آسای جهان در یک ثانیه ...
Forwarded from BPM Talk
گفتگوی مدیریت فرآیند کسب و کار با موضوع Bizagi BPMS
سه شنبه 17 بهمن از ساعت 21 الی 22 (این هفته یک ساعت زودتر)
Bizagi BPMS
#bpmtalk No_8
join group: send request to @bpm_talk
Forwarded from BPM Talk
#آغاز
Bizgi BPMS
تاریخ ارائه: 17/11/1396
برنامه هشتم
از سری برنامه های مدیریت فرآیندهای کسب و کار یا
BPMTalk
ارائه دهنده: مهندس محمدامین شریفی
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت اول
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت دوم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت سوم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت چهارم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت پنجم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت ششم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت هفتم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت هشتم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت نهم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت دهم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید
Audio
آموزش Bizagi BPMS
ارائه دهنده: مهندس محمدامین شریفی
قسمت یازدهم
_________
@bpmtalk
جهت عضویت در گروه گفتگوی مدیریت فرآیند و کسب و کار، تقاضای خودتون رو اکانت تلگرامی @bpm_talk ارسال نمایید