کانال توسعه دهندگان سی شارپ
موافقید یه جلسه آنلاین توی گوگل میت بزاریم و حرف بزنیم؟
توی هفته بعد میزارم
چون توی شیراز جایی دارم که بتونم میت رو برگزارش کنم
چون توی شیراز جایی دارم که بتونم میت رو برگزارش کنم
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
محسن مدحج مشغول رویا فروشی !
هشدار : در هفت روز امکان برنامه نویس شدن وجود ندارد، همچینین هوش مصنوعی نیز در صورت نداشتن دانش برنامه نویسی به شما کمک مفیدی نخواهد کرد.
اگر از رشتهها یا صنفهای غیرکامپیوتری علاقهمند به یادگیری برنامهنویسی هستید، باید این مسیر را بهعنوان یک فرآیند بلندمدت و مرحلهبهمرحله ببینید، نه یک میانبر سریع. همچنین بازار کار برنامه نویسی دارای یک اشباع و ترند شدید است و بازار کار به طور پیش فرض خوب نیست، همچنین برای ورود به بازار کار و در آوردن یک درامد معقول حتی با هوش مصنوعی و بدون نیاز به کد زدن نیاز به تسلط عمیق مبانی کامپیوتر دارید زیرا در مسیر به مشکلات و مسائلی خواهید خورد که بدون دانش مبانی کامپیوتر حل کردن آنها، مسیر را دوچندان برای شما سخت خواهد کرد.
@Linuxor
هشدار : در هفت روز امکان برنامه نویس شدن وجود ندارد، همچینین هوش مصنوعی نیز در صورت نداشتن دانش برنامه نویسی به شما کمک مفیدی نخواهد کرد.
اگر از رشتهها یا صنفهای غیرکامپیوتری علاقهمند به یادگیری برنامهنویسی هستید، باید این مسیر را بهعنوان یک فرآیند بلندمدت و مرحلهبهمرحله ببینید، نه یک میانبر سریع. همچنین بازار کار برنامه نویسی دارای یک اشباع و ترند شدید است و بازار کار به طور پیش فرض خوب نیست، همچنین برای ورود به بازار کار و در آوردن یک درامد معقول حتی با هوش مصنوعی و بدون نیاز به کد زدن نیاز به تسلط عمیق مبانی کامپیوتر دارید زیرا در مسیر به مشکلات و مسائلی خواهید خورد که بدون دانش مبانی کامپیوتر حل کردن آنها، مسیر را دوچندان برای شما سخت خواهد کرد.
@Linuxor
👍1
Linuxor ?
محسن مدحج مشغول رویا فروشی ! هشدار : در هفت روز امکان برنامه نویس شدن وجود ندارد، همچینین هوش مصنوعی نیز در صورت نداشتن دانش برنامه نویسی به شما کمک مفیدی نخواهد کرد. اگر از رشتهها یا صنفهای غیرکامپیوتری علاقهمند به یادگیری برنامهنویسی هستید، باید این…
شاید بتونی بگی چیزی مثل ورپردس توی مدت زمان کم(اونم نه هفت روز حداقل سه ماه) بتونی به مقدمات کار مسلط بشی و اگر یه پله بری بالاتر ساخت افزونه و قالب باید بری با داکیومنت وردپرس آشنا بشی php رو بلد بشی بعد جی کوئری و...
حالا این خیلی چیزی نیست
کسی که خصوصا پا در بخش بک اند میزاره مباحث زیادی هست که باید داخلش تا حد امکان قوی بشه تا بتونه حرفی برا گفتن داشته باشه
فرضا توی بحث دیتابیس این که گاهی وقتا شاید ما نتونیم از یه واسط یا ORM استفاده کنیم مثل EF Core و مستقیما باید sql بنویسیم یا چیزای دیگه ای که حجم زیادی از دیتا رو میتونن بخونن و کار روش انجام بدن
یا توی مبحث کش این که وب سرور ها و ابزارهایی مثل Redis و Memcached چیه
دلم به حال اونایی میسوزه که حرف شیاد هایی مثل این رو باور میکنن
دانش عمیق رو این دوستمون خوب اومد
واقعا باید خوب بلد باشی
حتی اگر هوش مصنوعی هم بخواد کد بزنه بازم تو باید بلد باشی بهش بگی چیکار کنه
حالا این خیلی چیزی نیست
کسی که خصوصا پا در بخش بک اند میزاره مباحث زیادی هست که باید داخلش تا حد امکان قوی بشه تا بتونه حرفی برا گفتن داشته باشه
فرضا توی بحث دیتابیس این که گاهی وقتا شاید ما نتونیم از یه واسط یا ORM استفاده کنیم مثل EF Core و مستقیما باید sql بنویسیم یا چیزای دیگه ای که حجم زیادی از دیتا رو میتونن بخونن و کار روش انجام بدن
یا توی مبحث کش این که وب سرور ها و ابزارهایی مثل Redis و Memcached چیه
دلم به حال اونایی میسوزه که حرف شیاد هایی مثل این رو باور میکنن
دانش عمیق رو این دوستمون خوب اومد
واقعا باید خوب بلد باشی
حتی اگر هوش مصنوعی هم بخواد کد بزنه بازم تو باید بلد باشی بهش بگی چیکار کنه
❤1
ما هم تزریقی هستیم ولی Dependency Injection انجام میدیم
ما با هم فرق میکنیم ((((((:
ما با هم فرق میکنیم ((((((:
Forwarded from C# Geeks (.NET)
💡 شکست واقعی در Backend Engineering چیست؟
شکست در Backend Engineering، نوشتن کد بد نیست. ❌
خراب شدن یک دیپلوی (Deployment) نیست. 💥
طراحی یک شمای پایگاه داده (Schema) که مقیاسپذیر نیست، نیست. 📈
اینها فقط یادگیری هستند. 🧠
🛑 پس شکست واقعی چیست؟
شکست واقعی؟
این است که بخواهی یک توسعهدهنده (Dev) باشی، اما هرگز شروع نکنی. 🚪
بیشتر مردم منتظر میمانند تا:
• آموزش "کامل" را پیدا کنند.
• دوره "درست" را پیدا کنند.
• وقت آزاد بیشتری داشته باشند.
اما Backend Engineering تنها با انجام دادن، آموخته میشود: 💻
• نوشتن اولین API خود.
• شکستن اولین شمای پایگاه داده خود.
• دیپلوی کردن چیزی که به سختی کار میکند.
این اشتباهات بخشی از فرآیند هستند. 🧩
اجتناب از آنها همان چیزی است که شما را عقب نگه میدارد. 🛑
آشفته شروع کن. کوچک شروع کن. فقط شروع کن. ✨
شکست در Backend Engineering، نوشتن کد بد نیست. ❌
خراب شدن یک دیپلوی (Deployment) نیست. 💥
طراحی یک شمای پایگاه داده (Schema) که مقیاسپذیر نیست، نیست. 📈
اینها فقط یادگیری هستند. 🧠
🛑 پس شکست واقعی چیست؟
شکست واقعی؟
این است که بخواهی یک توسعهدهنده (Dev) باشی، اما هرگز شروع نکنی. 🚪
بیشتر مردم منتظر میمانند تا:
• آموزش "کامل" را پیدا کنند.
• دوره "درست" را پیدا کنند.
• وقت آزاد بیشتری داشته باشند.
اما Backend Engineering تنها با انجام دادن، آموخته میشود: 💻
• نوشتن اولین API خود.
• شکستن اولین شمای پایگاه داده خود.
• دیپلوی کردن چیزی که به سختی کار میکند.
این اشتباهات بخشی از فرآیند هستند. 🧩
اجتناب از آنها همان چیزی است که شما را عقب نگه میدارد. 🛑
آشفته شروع کن. کوچک شروع کن. فقط شروع کن. ✨
🔥2
Forwarded from DevTwitter | توییت برنامه نویسی
مدت ها از notion استفاده کردم ولی حدود یک سال که کوچ کردم به obsidian
از خیلی جهت ها از notion بهتره امکاناتش خیلی بیشتر ، سریع تره و دردسر های تحریم نداره و افلاین هم کار میکنه
چون متن بازه پلاگین های خیلی زیادی داره و حتی خودتون هم میتونید براش بنویسید
https://github.com/obsidianmd
@DevTwitter | <white wolf/>
از خیلی جهت ها از notion بهتره امکاناتش خیلی بیشتر ، سریع تره و دردسر های تحریم نداره و افلاین هم کار میکنه
چون متن بازه پلاگین های خیلی زیادی داره و حتی خودتون هم میتونید براش بنویسید
https://github.com/obsidianmd
@DevTwitter | <white wolf/>
DevTwitter | توییت برنامه نویسی
مدت ها از notion استفاده کردم ولی حدود یک سال که کوچ کردم به obsidian از خیلی جهت ها از notion بهتره امکاناتش خیلی بیشتر ، سریع تره و دردسر های تحریم نداره و افلاین هم کار میکنه چون متن بازه پلاگین های خیلی زیادی داره و حتی خودتون هم میتونید براش بنویسید…
از خفن ترین نرم افزارهای یادداشت برداری هست
با مارک داون هم کار میکنه
به صورت عادی هم میشه ازش استفاده کرد
با مارک داون هم کار میکنه
به صورت عادی هم میشه ازش استفاده کرد
👍1
Forwarded from DevTwitter | توییت برنامه نویسی
اکستنشن Notebook Sidebar یکی از کاربردی ترین افزونه های کروم برای برنامه نویس ها و کاربران مختلف هست. با این افزونه می تونید یادداشت هاتون رو مستقیماً داخل سایدبار مرورگر کروم بنویسید و کار هاتون رو برنامه ریزی کنید.در آپدیت جدید اکستنشن Notebook Sidebar قابلیت های کاربردی جدیدی مثل ایمپورت و اکسپورت یادداشت ها و حالت دارک مود هم اضافه شده.
لینک دانلود از کروم استور:
https://chromewebstore.google.com/detail/notebook-sidebar/fdjcoigfklgjpeplkkdbdicminpimdok
@DevTwitter | <OMid/>
لینک دانلود از کروم استور:
https://chromewebstore.google.com/detail/notebook-sidebar/fdjcoigfklgjpeplkkdbdicminpimdok
@DevTwitter | <OMid/>
هنوز ملت بر این باور هستن سی شارپ قدیمیه
واکنش دات نت ۱۰ و سی شارپ ورژن ۱۴ که با ویژوال استودیو ۲۰۲۶ میان:
آیا من برای شما یک شوخی هستم؟
😂😂
واکنش دات نت ۱۰ و سی شارپ ورژن ۱۴ که با ویژوال استودیو ۲۰۲۶ میان:
آیا من برای شما یک شوخی هستم؟
😂😂
ولی جدی وقتی چیزی نمیدونیم اظهار نظر نکنیم خیلی بهتره
و بهتره خودمون بروز نگه داریم
سایت هایی مثل geekforgeeks, dev.to و خیلی چیزای دیگه
بدونیم فلان زبان توی نسخه چند هست
پیشینه اش چیه و ساختارش چیه
شاید نیاز نباشه بریم عمیق شیم داخلش همین که اطلاع داشته باشیم کفایت میکنه
به شخصه تا الان دارم یه مقداری لینوکس یاد میگیرم ولی هیچ وقت این جرئت رو به خودم نمیدم با کسی که چندین ساله لینوکس داره وارد بحث بشم
مگر این که تلاش کرده باشم دانشم در حد و حدود اون باشه
و بهتره خودمون بروز نگه داریم
سایت هایی مثل geekforgeeks, dev.to و خیلی چیزای دیگه
بدونیم فلان زبان توی نسخه چند هست
پیشینه اش چیه و ساختارش چیه
شاید نیاز نباشه بریم عمیق شیم داخلش همین که اطلاع داشته باشیم کفایت میکنه
به شخصه تا الان دارم یه مقداری لینوکس یاد میگیرم ولی هیچ وقت این جرئت رو به خودم نمیدم با کسی که چندین ساله لینوکس داره وارد بحث بشم
مگر این که تلاش کرده باشم دانشم در حد و حدود اون باشه
حتی الامکان از گروه های تلگرامی لفت بدید
مگر این که مطمئن بشید گروه مناسب هست
وگرنه چیزی جز وقت تلف کردن و گمراه شدن خصوصا برا کسی که اول راه یاد گرفتن هست نداره
فرضا یه نفر میخواد شروع کنه وقتی میاد توی یه گروه میپرسه فلان چیز رو شروع کنم یا نه
هزار تا نظر متفاوت میاد که دیگه اون بنده خدا قاطی میکنه که چیکار کنه در نتیجه سرخورده برمیگرده
به نظرم مشورت گرفتن برای شروع کار اونم توی گروه های تلگرامی اصلا کار جالبی نیست
مگر این که مطمئن بشید گروه مناسب هست
وگرنه چیزی جز وقت تلف کردن و گمراه شدن خصوصا برا کسی که اول راه یاد گرفتن هست نداره
فرضا یه نفر میخواد شروع کنه وقتی میاد توی یه گروه میپرسه فلان چیز رو شروع کنم یا نه
هزار تا نظر متفاوت میاد که دیگه اون بنده خدا قاطی میکنه که چیکار کنه در نتیجه سرخورده برمیگرده
به نظرم مشورت گرفتن برای شروع کار اونم توی گروه های تلگرامی اصلا کار جالبی نیست
👌1
انواع پروژه ها در سی شارپ
در زبان سی شارپ انواع مختلفی از پروژه ها رو داریم:
کنسول اپلیکیشن یکی از ساده ترین انواع پروژه ها در سی شارپ محسوب میشه که معمولا بیشتر برای آموزش سی شارپ پایه(Basic) استفاده میشه اما به جز این که برای آموزش استفاده میشه در چندین تا موقعیت دیگه هم ازش استفاده میشه
1️⃣برنامه های بدون رابط گرافیکی(GUI)
اگر پروژه ای هست که نیاز به رابط کاربری نداره و فقط قراره دیتا بگیره یا ارسال و دریافت کنه گزینه معقول تری هست
2️⃣ابزارهای توسعه دهنگان(Developer Tools):
معمولا وقتی ما یک پروژه ASP.NET Core ایجاد میکنیم زمان اجرای پروژه یه کنسول اپلیکیشن کوچیک هم باز میشه که وضعیت کار رو مدیریت میکنه
3️⃣وظایف مدیریتی :
فرض کنید میخواید از محتوای سایتتون پشتیبان گرفته بشه،نظارت بر اجرای صحیح کدها انجام بشه یا فایل ها و فولدرهای پروژه مدیریت کنید در چنین حالتی ساخت یه کنسول اپلیکیشن خیلی کمک بزرگی میکنه
#انواع_پروژه
در زبان سی شارپ انواع مختلفی از پروژه ها رو داریم:
ConsoleApp
کنسول اپلیکیشن یکی از ساده ترین انواع پروژه ها در سی شارپ محسوب میشه که معمولا بیشتر برای آموزش سی شارپ پایه(Basic) استفاده میشه اما به جز این که برای آموزش استفاده میشه در چندین تا موقعیت دیگه هم ازش استفاده میشه
1️⃣برنامه های بدون رابط گرافیکی(GUI)
اگر پروژه ای هست که نیاز به رابط کاربری نداره و فقط قراره دیتا بگیره یا ارسال و دریافت کنه گزینه معقول تری هست
2️⃣ابزارهای توسعه دهنگان(Developer Tools):
معمولا وقتی ما یک پروژه ASP.NET Core ایجاد میکنیم زمان اجرای پروژه یه کنسول اپلیکیشن کوچیک هم باز میشه که وضعیت کار رو مدیریت میکنه
3️⃣وظایف مدیریتی :
فرض کنید میخواید از محتوای سایتتون پشتیبان گرفته بشه،نظارت بر اجرای صحیح کدها انجام بشه یا فایل ها و فولدرهای پروژه مدیریت کنید در چنین حالتی ساخت یه کنسول اپلیکیشن خیلی کمک بزرگی میکنه
#انواع_پروژه
🔥1
Windows Form Application
❇️ویندوز فرم یکی از قدیمی ترین و البته پر کاربردترین نوع پروژه ها در سی شارپ هست که برای ساخت برنامه های ویندوزی(Desktop Application) ساخته میشه.
🧩ویندوز فرم همونطور که از اسمش مشخصه یک فرم در اختیار توسعه دهنده قرار میده که توسعه دهنده میتونه دکمه،باکس متنی،لیست کشویی،گزینه های تک انتخابی و... که اصطلاحا با نام کنترل شناخته میشه رو روی فرم قرار بدن
هر کنترل روی فرم یک سری رویداد(Event) داره. به این معنی که شما میتونید در موقعیت های مختلف کدهای خاصی بنویسید.فرض کنید میخواید وقتی روی یک دکمه کلیک شد یک پیام در خروجی نشان داده بشه در این حالت از رویداد Click استفاده خواهید کرد که با دو بار کلیک روی دکمه رویداد کلیک ساخته میشه
✅اصطلاحا به این حالت Event-Driven Programming گفته میشه ینی برنامه نویسی مبتنی بر رویداد
توی ویندوز فرم ما میتونیم از کامپوننت های مختلفی استفاده کنیم
کامپوننت چیه؟
کامپوننت ها تقریبا ساختارش مثل کنترل ها هست ولی تفاوتی که داره اینه که بعضی هاشون توی دید هستن ولی بعضی شون هم توی دید نیستن
مثلا کامپوننت Timer توی فرم دیده نمیشه اما ما میتونیم براش عملکرد تعریف کنیم
کامپوننت ها میتونن عملکرد برنامه رو انجام بدن مثلا مدیریت منابع(Resource Management) انجام بدن اما کنترل ها ابزاری هستن که برای تعامل با کاربر یا بخش UI طراحی شدن
این روزا کمتر استفاده میشه ازش ولی موقعیت های شغلی خیلی کمی بازم براش داخل ایران وجود داره✅
#انواع_پروژه
🔥1
WPF (Windows Presentation Foundation)
ابزار دیگه ای که ازش برای ساخت برنامه های ویندوزی استفاده میکنیم WPF هست
این مورد نسبت به ویندوز فرم به مراتب ساختار بهتر و با کیفیت داره
ویندوز فرم به صورت پیشفرض از کتابخانه های پیش فرض ویندوز مثل GDI+/GDU و مبتنی بر CPU هست ینی از قدرت CPU استفاده میکنه در حالی که WPF از کارت گرافیک(GPU) استفاده میکنه
توی ویندوز فرم دست شما برای تغییرات اساسی رابط کاربری(User Interfacr) خیلی بسته هست و اگر بخواید یه زمانی ساختار ظاهری رو تغییر بدید نیاز دارید که دانش خوبی از لایه های زیرین ویندوز فرم داشته باشید
اما در پروژه های WPF شما از زبان XAML استفاده میکنید. ساختار این زبان مشابه HTML و کلا زبان های Markup Language داره و اگر با این زبان ها کار کرده باشید براتون خیلی آشنا خواهد بود
🧩از لحاظ گرافیکی ویندوز فرم مبتنی بر پیکسل هست و اگر زوم بشه روی مواردی که توی فرم وجود دارن کیفیت خودشون رو از دست میدن در حالی که WPF به صورت Vector-Based یا بر اساس بردار هست و هر چقدر هم که زوم بشه کیفیت روی حالت قبلی خودش ماندگار هست
🎯مزیت بعدی WPF این هستش که شما اگر بخواید به دیتاها دسترسی داشته باشید کار بسیار راحتی دارید چرا که ساختار پروژه به حالتی هست که شما میتونید به راحت ترین حالت ممکن انجام بدید
💡از معماری MVVM استفاده میکنه که شامل بخش های Models،View،ViewModel هست که هر کدوم از این بخش ها عملکرد خاص خودشون رو دارن
🔥1
.NET MAUI(.NET Multi-platform App UI)
تا قبل از معرفی .NET MAUI زامارین فرم وجود داشت اما صرفا قابلیت ساخت برنامه های اندرویدی و IOS وجود داشت اما بزرگترین مشکلی که در آن وجود داشت حجم بالای خروجی بود
از سال 2022 که .NET MAUI معرفی شد با زبان سی شارپ هم میشه برنامه های کراس پلتفرم ساخت . کراس پلتفرم به این معنی هست که شما میتونید یک بار کدنویسی انجام بدید و روی دستگاه های مختلف خروجی بگیرید
یه شعار خیلی جالب هم داره و اونم اینه که:
هر جا که داتنت میرود، MAUI نیز میرود
ساختار پروژه های .NET MAUI به این شکله:
1️⃣کد واحد(Single Codebase):
به این معنی هست که منطق کلی برنامه یا اصطلاحا Bussines Logic، مدل ها و ارتباط(Call) با API همشون یکی هست
2️⃣لایه انتزاعی و کنترل های بومی(Native Controlers):
توی این بخش دقیقا اون کاربر تبدیل انجام میشه
یه چیزی توی این بخش وجود داره به اسم Handler( قبلا با نام Renders شناخته میشد) که بر اساس پلتفرم اون کار رو انجام میده
مثلا وقتی شما یک دکمه ای رو تعریف میکنید هندلر توی محیط های مختلف کارهای مختلفی انجام میده :
توی اندروید تبدیل به یه AppCompatButton میشه، توی IOS تبدیل به یک UIButton میشه و توی ویندوز هم تبدیل به یه WinUI
ینی برای هر کدوم کنترل های مربوط به خودش رو ایجاد و مدیریت میکنه
توی این بخش ابزارها مشترک هستن ینی فرضا شما توی برنامه اندرویدی تون از GPS استفاده کردید یا دسترسی به مخاطبین یا هر قابلیت دیگه ای داشتید حالا از همون توی IOS یا پروژه ویندوزی هم میتونید استفاده کنید
3️⃣معماری پروژه
معماری پروژه ها این شکلی:
📁پوشه Windows,Android,IOS,Mac : این چند تا پوشه کدهایی داخلشون هست که فقط مختص خود همون پروژه هست که اصطلاحا بهش پیادهسازیهای خاص پلتفرم (Platform-Specific Implementations) گفته میشه
📁پوشه Resources:منابع یا فایل هایی که بین پلتفرم ها مشترکه مثل آیکون،فونت،تصاویر،استایل ها و....
📍فایل App.xaml.cs و App.xml: ظاهر کلی برنامه اینجا تعریف میشه و همینطور منطق اولیه برنامه
📍فایل MainPage.xaml و MainPage.xaml.cs : منطق اصلی برنامه اینجا نوشته میشه
و میشه ازش خروجی مناسب هر پلتفرم گرفت
#انواع_پروژه
🔥1
Win UI(Windows UI Library)
احتمالا اسم Win UI رو کمتر شنیدید اما به جرئت یکی از ابزارهای خیلی خوب برای ساخت برنامه های ویندوزی هست که توی سال 2022 به عنوان بخشی از .NET 6 معرفی شد
🛠ابزار Win UI مشابه WPF و MAUI از XAML برای بخش طراحی استفاده میکنه
احتمالا دیگه همه مون از ویندوز 10 استفاده کردیم برنامه های خود ویندوز ساختار متفاوت تری داشتن چرا؟ چون اون ها با UWP یا Universal Windows Platform ساخته شده بودن
و قبلا توی نسخه های قبلی دات نت و ویژوال استودیو این مورد پشتیبانی میشد اما چون استفاده چندانی ازش نمیشد به همین خاطر منسوخ شد
اما مایکروسافت اومد روش یه حرکت زد و Win UI رو به عنوان یه لایه اضافی به UWP اضافه کرد که اونجا با نام Win UI 2.X شناخته میشد
و بعد نسخه 3 Win UI معرفی شد که دیگه نهایتا این ابزار به مرحله Release یا انتشار رسید
و توی ویندوز 11 رسما ازش استفاده شد که نمونش همین اپلیکیشن های پیشفرض ویندوز هست
📒دسترسی به دیتا یا داده ها خیلی راحت تر هست حتی نسبت به WPF و خیلی روند کار رو ساده تر کرده
#انواع_پروژه