همه چیز پایتون برای من عجیبه. از شی گراییش تا نحوه مدیریت منابعش. عملا خیلی جاها شما باید کارهای زیادی انجام بدی خصوصا اگه تصمیم داشته باشی از کتابخانه ها توی پروژت استفاده نکنی که دیگه به فنا میری قطعا
قربون Nuget Package Manager سی شارپ که سر راست هست همه کاراش و راحت میشه نصب کرد نه مثل pip در پایتون😂
قربون Nuget Package Manager سی شارپ که سر راست هست همه کاراش و راحت میشه نصب کرد نه مثل pip در پایتون😂
صرف کد نوشتن نمیتونه رو تبدیل به یک برنامه نویس خوب کنه. این که در چه جایی از کدام معماری استفاده کنیم،چطوری پروژه خودمون رو لایه بندی کنیم، از چه روش هایی برای طراحی برنامه خودمون استفاده کنیم در ادامه خیلی مهم تر میشه
اشکال نداره اوایل کار که هیچ کس سنیور دولوپر نیست و زمان میبره تا ما بتونیم مسلط بشیم اما در ادامه باید بتونیم که چیزایی که گفته شد رو یاد بگیریم
اشکال نداره اوایل کار که هیچ کس سنیور دولوپر نیست و زمان میبره تا ما بتونیم مسلط بشیم اما در ادامه باید بتونیم که چیزایی که گفته شد رو یاد بگیریم
👍1
تفاوت بین حالت Release و Debug چیه؟
حالت Debug همانطور که از اسمش هم مشخص هست برای اشکال زدایی نرم افزار هست و حالت Release هم خروجی هست که در نهایت استفاده میشه
اما یه تفاوت این وسط وجود داره و اون هم اینه
زمانی که ما پروژه خودمون نوع خروجی رو بر اساس Debug قرار دادیم فایل های وابسته به پروژه ( چه اون هایی که استفاده کردیم چه اون هایی که استفاده نکردیم در اینجا همشون قرار میگیرن) ، فایل های PDB، فایل های مربوط به تنظیمات نرم افزار قرار میگیره
در حالت Release هم فایل وابسته پروژه چه استفاده از ابزارهای خارجی فرض کنید EF Core باشه و... در اینجا هم خواهد بود فقط با این تفاوت که اگر کتابخانه یا ابزاری رو ما توی پروژه آورده باشیم ولی استفاده نکرده باشیم واسه این که نرم افزار بهینه سازی شده باشه حذف خواهد شد و خب این موجب سرعت بیشتر نرم افزار و همین طور کمتر شدن حجم برنامه خواهد شد
حالت Debug همانطور که از اسمش هم مشخص هست برای اشکال زدایی نرم افزار هست و حالت Release هم خروجی هست که در نهایت استفاده میشه
اما یه تفاوت این وسط وجود داره و اون هم اینه
زمانی که ما پروژه خودمون نوع خروجی رو بر اساس Debug قرار دادیم فایل های وابسته به پروژه ( چه اون هایی که استفاده کردیم چه اون هایی که استفاده نکردیم در اینجا همشون قرار میگیرن) ، فایل های PDB، فایل های مربوط به تنظیمات نرم افزار قرار میگیره
در حالت Release هم فایل وابسته پروژه چه استفاده از ابزارهای خارجی فرض کنید EF Core باشه و... در اینجا هم خواهد بود فقط با این تفاوت که اگر کتابخانه یا ابزاری رو ما توی پروژه آورده باشیم ولی استفاده نکرده باشیم واسه این که نرم افزار بهینه سازی شده باشه حذف خواهد شد و خب این موجب سرعت بیشتر نرم افزار و همین طور کمتر شدن حجم برنامه خواهد شد
زمانی که ما از برنامه خودمون خروجی میگیریم چه در حالت دیباگ و چه در حالت ریلیز هر دو حاوی فایل هایی هستند که پسوند PDB دارن حالا باید بدونیم PDB چیه؟
در واقع pdb یا Program Database اطلاعات مربوط به اشکال زدایی(Debug) در اون قرار میگیره. زمانی که کد کامپایل میشه این فایل هم ایجاد میشه
در حالت Debug ممکنه تعداد فایل های pdb بیشتر باشه به دلیل این که توسعه دهنده یا برنامه نویس هنوز برنامه خودشو انتشار نداده و در این حالت میتونه راحت تر کدها رو بررسی کنه ولی در Release میتونه تعداد این فایل ها کمتر باشه یا کلا اصلا نباشه
این موضوع به جز ویندوز فرم در وب و کلا هر چیزی که با سی شارپ باشه هم صدق میکنه
اما یکم بخوایم بیشتر ریز بشیم چه چیزایی دقیقا میتونه در اون ذخیره بشه؟
-نام متغیرها
-نام کلاس ها و متد ها
-مقدارهای ثابت(Constant)
و خیلی چیزهای دیگه که از این ها به عنوان مثال استفاده کردم
در واقع pdb یا Program Database اطلاعات مربوط به اشکال زدایی(Debug) در اون قرار میگیره. زمانی که کد کامپایل میشه این فایل هم ایجاد میشه
در حالت Debug ممکنه تعداد فایل های pdb بیشتر باشه به دلیل این که توسعه دهنده یا برنامه نویس هنوز برنامه خودشو انتشار نداده و در این حالت میتونه راحت تر کدها رو بررسی کنه ولی در Release میتونه تعداد این فایل ها کمتر باشه یا کلا اصلا نباشه
این موضوع به جز ویندوز فرم در وب و کلا هر چیزی که با سی شارپ باشه هم صدق میکنه
اما یکم بخوایم بیشتر ریز بشیم چه چیزایی دقیقا میتونه در اون ذخیره بشه؟
-نام متغیرها
-نام کلاس ها و متد ها
-مقدارهای ثابت(Constant)
و خیلی چیزهای دیگه که از این ها به عنوان مثال استفاده کردم
کاربرد Any CPU چیه؟
ممکنه ما در ویژوال استودیو باشیم و در حال تولید یک برنامه مثلا ویندوزی باشیم و این رو دیده باشیم
شما میتونید مشخص کنید برنامه شما روی ویندوزهایی با معماری X86( که به 32 بیت) معروف هست اجرا بشه یا این که در معماری X64(یا همون 64بیت)
زمانی که روی Any CPU باشه یعنی روی هر دو معماری ویندوز قابلیت استفاده رو داشته باشه
ممکنه ما در ویژوال استودیو باشیم و در حال تولید یک برنامه مثلا ویندوزی باشیم و این رو دیده باشیم
شما میتونید مشخص کنید برنامه شما روی ویندوزهایی با معماری X86( که به 32 بیت) معروف هست اجرا بشه یا این که در معماری X64(یا همون 64بیت)
زمانی که روی Any CPU باشه یعنی روی هر دو معماری ویندوز قابلیت استفاده رو داشته باشه
تفاوت بین Build و Rebuild چیه؟ زمانی که شما در ویژوال استودیو کار میکنید و وارد بخش Build میشید گزینه های متفاوتی رو می بینید که اولین گزینه build هست و بعدی Rebuild
کار Build اینه آخرین تغییری که شما انجام دادید رو کامپایل میکنه
دو تا مزیت داره:
-سریع تر هست چون فقط جایی رو که شما میخواید کامپایل کنید اوکی میشه و نیازی نیست کل پروژه رو از دوباره کامپایل کنید
-به صورت مکرر( تکراری) میشه ازش استفاده کرد برای جاهایی که ما تغییرات کوچیکی رو دادیم در پروژ]
زمان استفاده ازش:
زمانی که فقط سریع میخواید قسمتی رو که تغییر دادید ببینید
زمانی که نیاز ندارید کل پروژه رو دوباره کامپایل کنید
و اما Reubild :
فرض کنید شما در یه سولوشن اومدید تغییراتی در نسخه دات نت ایجاد کردید و میخواید همه بخش ها دیگه باهاش سازگار باشن در این حالت نیازی نیست بخواید دونه دونه و تک تک بخواید پروژه هایی که در سولوشن هست رو کامپایل کنید
یک بار انجام میدید و همه جاهای اون تغییر میکنه
مزیت هاش:
مشکلات عدم هماهنگی نسخه ها رو برطرف میکنه
مطمئن میشیم که همه پروژه ها به درستی کامپایل شدن
زمان های استفاده ازش رو هم که در حین توضیح دادن Rebuild گفتم
کار Build اینه آخرین تغییری که شما انجام دادید رو کامپایل میکنه
دو تا مزیت داره:
-سریع تر هست چون فقط جایی رو که شما میخواید کامپایل کنید اوکی میشه و نیازی نیست کل پروژه رو از دوباره کامپایل کنید
-به صورت مکرر( تکراری) میشه ازش استفاده کرد برای جاهایی که ما تغییرات کوچیکی رو دادیم در پروژ]
زمان استفاده ازش:
زمانی که فقط سریع میخواید قسمتی رو که تغییر دادید ببینید
زمانی که نیاز ندارید کل پروژه رو دوباره کامپایل کنید
و اما Reubild :
فرض کنید شما در یه سولوشن اومدید تغییراتی در نسخه دات نت ایجاد کردید و میخواید همه بخش ها دیگه باهاش سازگار باشن در این حالت نیازی نیست بخواید دونه دونه و تک تک بخواید پروژه هایی که در سولوشن هست رو کامپایل کنید
یک بار انجام میدید و همه جاهای اون تغییر میکنه
مزیت هاش:
مشکلات عدم هماهنگی نسخه ها رو برطرف میکنه
مطمئن میشیم که همه پروژه ها به درستی کامپایل شدن
زمان های استفاده ازش رو هم که در حین توضیح دادن Rebuild گفتم
کانال توسعه دهندگان سی شارپ
https://obsidian.md/download
نرم افزاری مخصوص یادداشت برداری آموزشش هم توی گوگل هست میتونید استفاده کنید
برای ویندوز و مک و لینوکس و اندروید و ios هم منتشر شده
برای ویندوز و مک و لینوکس و اندروید و ios هم منتشر شده
چه تفاوتی بین استفاده از متد parseیا متدهایی مثل ToInt32 یا ToInt64 وجود داره؟
یکی از مزیت های استفاده از حالت Toint32 و یا Toint64اینه شما حتی اگر مقداری هم بهش ندید مقدار ۰ برمیگردونه و برنامه متوقف نمیشه
اما در متد parseاگر شما مقداری ندید بهش برنامه به خطا(Exception) خواهد خورد و متوقف میشه. البته میتونید در بدنه try catch بزارید تا بتونید خطاهای احتمالی رو مدیریت کنید
اینجا ما متغیری به اسم number داریم و هیچ مقداری بهش اختصاص ندادیم و نال هست پس زمانی که میخوایم تبدیلش کنیم نمیتونه این تبدیل رو انجام بده
اما اگر در حالت دوم باشه:
در این حالت اگر چیزی هم به عنوان ورودی وارد نشه و نال باشه مقدار ۰ که پیش فرض برمیگردونه و برنامه ادامه پیدا میکنه
یکی از مزیت های استفاده از حالت Toint32 و یا Toint64اینه شما حتی اگر مقداری هم بهش ندید مقدار ۰ برمیگردونه و برنامه متوقف نمیشه
اما در متد parseاگر شما مقداری ندید بهش برنامه به خطا(Exception) خواهد خورد و متوقف میشه. البته میتونید در بدنه try catch بزارید تا بتونید خطاهای احتمالی رو مدیریت کنید
string number = "";
int result = int.Parse(number); // Exception: FormatException
اینجا ما متغیری به اسم number داریم و هیچ مقداری بهش اختصاص ندادیم و نال هست پس زمانی که میخوایم تبدیلش کنیم نمیتونه این تبدیل رو انجام بده
اما اگر در حالت دوم باشه:
string number = null;
int result = Convert.ToInt32(number); // result: 0
در این حالت اگر چیزی هم به عنوان ورودی وارد نشه و نال باشه مقدار ۰ که پیش فرض برمیگردونه و برنامه ادامه پیدا میکنه
این سوال خوب شد تا ما با انواع مختلفی از استناها و خطاها آشنا بشیم که در ادامه به اون ها اشاره میکنم و توضیح میدم
حالت system exception که پایه هست برای استثناهای دیگه که موارد دیگه ای شامل این میشه:
NullRefrenceException
زمانی که دارید سعی میکنید به یه متغیری که مقدارش نال هست دسترسی پیدا کنید
IndexOutOfRangeException
زمانی که سعی کنید به یه ایندکس خارج از محدوده یه آرایه یا یه مجموعه دسترسی پیدا کنید
DividebyZeroException
تقسیم بر صفر
InvalidCastException
زمانی که بخواید یه نوع داده رو به یه نوع داده ای دیگه تبدیل کنید که این امکان پذیر نباشه
NullRefrenceException
زمانی که دارید سعی میکنید به یه متغیری که مقدارش نال هست دسترسی پیدا کنید
IndexOutOfRangeException
زمانی که سعی کنید به یه ایندکس خارج از محدوده یه آرایه یا یه مجموعه دسترسی پیدا کنید
DividebyZeroException
تقسیم بر صفر
InvalidCastException
زمانی که بخواید یه نوع داده رو به یه نوع داده ای دیگه تبدیل کنید که این امکان پذیر نباشه
OutofMemoryException
زمانی که حافظه کافی برای اختصاص دادن به داده ها وجود نداره
FileNotFoundException
زمانی که فایل مشخص شده پیدا نشه
این ها نمونه از اکسپشن ها بودن
زمانی که حافظه کافی برای اختصاص دادن به داده ها وجود نداره
FileNotFoundException
زمانی که فایل مشخص شده پیدا نشه
این ها نمونه از اکسپشن ها بودن
توی یوتیوب یه نفر ویدیویی گذاشته بود این بخش از حرفش رو قبول داشتم
خصوصا یکی که بک اند کار میکنه باید صبوری بیشتری داشته باشه چون مباحث بک اند نسبت به فرانت اند واقعا زیادتر هستن بیس و اساس کار یک وب سایت یک اپلیکیشن قطعا بخش منطق کار هست
پس اگر سی شارپ رو انتخاب کردید به عنوان زبان برنامه نویسی صبوری به خرج بدید☺️
این که بخوای ۶ ماه آموزش ببینی یا فلان تعداد ماه آموزش ببینی و بخوای کار بگیری اشتباهه بلکه یادگیری یه مسیر هست و تو در زمان یادگیری با توجه به چیزایی که بلدی میتونی یه جا استخدام بشی یا پروژه فریلنسری بگیری
خصوصا یکی که بک اند کار میکنه باید صبوری بیشتری داشته باشه چون مباحث بک اند نسبت به فرانت اند واقعا زیادتر هستن بیس و اساس کار یک وب سایت یک اپلیکیشن قطعا بخش منطق کار هست
پس اگر سی شارپ رو انتخاب کردید به عنوان زبان برنامه نویسی صبوری به خرج بدید☺️
👍1
هر جا توی برنامه نویسی دیدید کسی ادعا داره که من خفنم من همه چی بلدم بقیه هیچی یاد نداره اتفاقه. بدونید که عمق دانشش خیلی پایینه...
هیچ سنیور دولوپری نیاز نمی بینه بخواد شو آف کنه بلکه با کد مهارت و تخصص خودش رو به بقیه نشون میده
هیچ سنیور دولوپری نیاز نمی بینه بخواد شو آف کنه بلکه با کد مهارت و تخصص خودش رو به بقیه نشون میده
👍3
کانال توسعه دهندگان سی شارپ
داشتیم توی یه گروه بحث میکردیم سر این که الان چی جدیدتر هست برای برنامه های ویندوزی قبول نمیکردن توی همین سال ۱۴۰۳ توی همین سال میلادی جدید کسی با ویندوز فرم و اینا کار کنه😂 تازه این موقعیت کاری توی استان خودم ینی فارس هست و برنامه نویس Mid-Levelمیخوان …
گاهی اوقات برای یک شرکت یا یه مجموعه به صرفه نیست بخواد یهویی از یه چیز قدیمی بره به چیز جدیدتر
ممکنه کلی مشتری داشته باشه و وقتی بخواد چیز جدید رو ارائه بده شاید اصلا سیستم اون طرف قدیمی باشه حالا بیاد با یه چیز جدیدی مثل Winui 3 بزنه خب قطعا جواب نمیده برای ویندوز های پایین تر از ۱۰
و باز نویسی کردن پروژه هزینه های مالی و زمانی برای اون شرکت و مجموعه به همراه داره
حالا من خیلی نمیدونم در خصوص این موارد ولی به نظرم منطقی نمیاد
اینو گذاشتم که بگم دیگه شما فکر کنید در کمترین حد ممکن نیاز به برنامه نویس ویندوز دارن
در طول زمان اگر اون شرکت یا مجموعه شروع کنه به ارتقای تکنولوژی نرم افزارش و مثلا با wpf یا چیزای جدیدتری مثل .NET MAUI اوکیه به نظرم
دیگه .NET Core بماند سر جای خودش که موقعیت کاری هم زیاد داره
ممکنه کلی مشتری داشته باشه و وقتی بخواد چیز جدید رو ارائه بده شاید اصلا سیستم اون طرف قدیمی باشه حالا بیاد با یه چیز جدیدی مثل Winui 3 بزنه خب قطعا جواب نمیده برای ویندوز های پایین تر از ۱۰
و باز نویسی کردن پروژه هزینه های مالی و زمانی برای اون شرکت و مجموعه به همراه داره
حالا من خیلی نمیدونم در خصوص این موارد ولی به نظرم منطقی نمیاد
اینو گذاشتم که بگم دیگه شما فکر کنید در کمترین حد ممکن نیاز به برنامه نویس ویندوز دارن
در طول زمان اگر اون شرکت یا مجموعه شروع کنه به ارتقای تکنولوژی نرم افزارش و مثلا با wpf یا چیزای جدیدتری مثل .NET MAUI اوکیه به نظرم
دیگه .NET Core بماند سر جای خودش که موقعیت کاری هم زیاد داره
یه چند تا داکیومنت معرفی کنم برای سی شارپ😁:
داکیومنت رسمی مایکروسافت:
https://learn.microsoft.com/en-us/
سایت csharp corner :
https://www.c-sharpcorner.com/
سایت code maze
https://code-maze.com/
W3schools
هست خب ولی آنچنان در زمینه سی شارپ تکمیل نیست
داکیومنت رسمی مایکروسافت:
https://learn.microsoft.com/en-us/
سایت csharp corner :
https://www.c-sharpcorner.com/
سایت code maze
https://code-maze.com/
W3schools
هست خب ولی آنچنان در زمینه سی شارپ تکمیل نیست
Microsoft
Microsoft Learn: Build with answers in reach
Find official documentation, practical know-how, and expert guidance for builders working and troubleshooting in Microsoft products.
👍1
quera_developer_survey_1403.pdf
22.2 MB
گزارش کوئرا از جامعه برنامه نویسی ایران ۱۴۰۳
نکته ای در بخش مهاجرت هست و اونم اینه به نظر من موندن در شرایط سخت هست که ارزش داره وگرنه دوری کردن ازش کاری رو از پیش نمیبره
برنامه نویسی که توی همین ایران هم نتونه کاری کنه خارج از کشور هم بره همینه
آدم بمونه کشور خودشو بسازه (:
نکته ای در بخش مهاجرت هست و اونم اینه به نظر من موندن در شرایط سخت هست که ارزش داره وگرنه دوری کردن ازش کاری رو از پیش نمیبره
برنامه نویسی که توی همین ایران هم نتونه کاری کنه خارج از کشور هم بره همینه
آدم بمونه کشور خودشو بسازه (:
CSharp_12_in_a_Nutshell_The_Definitive_Reference_9781098147440.pdf
7.3 MB
کتاب C# In a nutshell
⭕️معروف ترین کتاب در زمینه سی شارپ هست تقریبا همه اسمش رو شنیدید و یا شاید خوندید گفتم بازم بزارمش
🔰زبان: انگلیسی
🔰نسخه سی شارپ در این کتاب : 12
⭕️معروف ترین کتاب در زمینه سی شارپ هست تقریبا همه اسمش رو شنیدید و یا شاید خوندید گفتم بازم بزارمش
🔰زبان: انگلیسی
🔰نسخه سی شارپ در این کتاب : 12
کانال توسعه دهندگان سی شارپ
https://git.ir/udemy-complete-c-programming-master-class/ #آموزش
اگر براتون مقدور نیست بخرید میتونید از سایت دانلودلی این رو دانلود کنید
https://downloadly.ir/elearning/video-tutorials/complete-c-programming-master-class/
#آموزش
https://downloadly.ir/elearning/video-tutorials/complete-c-programming-master-class/
#آموزش