شاید سوال شه خب چه منفعتی داره این که من اینجا محتوا منتشر کنم؟
جدا از اینکه میشه دوستان خوبی رو پیدا کرد دلیل دومش اینه وقتی یه چیزی بلدی و به بقیه یاد میدی اون چیزایی که یاد گرفتی توی ذهنت تثبیت میشه و خیلی نسبت به قبل عمیق تر میشی
و از اون طرف هم شاید بخوام حرکات شیطانی در وَکنم💀😂
جدا از اینکه میشه دوستان خوبی رو پیدا کرد دلیل دومش اینه وقتی یه چیزی بلدی و به بقیه یاد میدی اون چیزایی که یاد گرفتی توی ذهنت تثبیت میشه و خیلی نسبت به قبل عمیق تر میشی
و از اون طرف هم شاید بخوام حرکات شیطانی در وَکنم💀😂
😐1
.NET Class Library
کلاس لایبرری یکی از معروف ترین و پر کاربردترین نوع پروژه در سی شارپ هست فرض کنید توی یکی از پروژه هاتون اومدید یه کدی نوشتید و حالا میخواید جاهای دیگه ای هم اضافه اش کنید اگر بخواید عادی این کار رو انجام بدید باید کد ها رو دوباره بنویسید
هدفش چیه؟ یه فایلی ایجاد شه که منطق کلی برنامه رو از UI جدا کنه ینی کلاس ها،متدها و منطق تجاری(Bussines Logic) این چیزا داخلشه
کاربردهاش:
📒جداسازی نگرانی ها(Seperation Concers): مثلا احراز هویت،ارتباط با دیتابیس و... که منطق پیچیده یا Complexity Logic هستن رو از رابط کاربری جدا کنه
⚙️قابلیت استفاده مجدد: خب همونطور که از قبل اشاره کردیم میتونید جاهای مختلف استفاده کنید
مثلا زرین پال برای پروژه هایی که بر اساس دات نت هستن یه Class Library ایجاد کرده و انتشار داده که هر برنامه نویس دات نت میتونه ازش توی هر پروژه ای مثل وین فرم،wpf یا ASP.NET Core استفاده کنه
🔧تولید پکیج های Nuget: شاید شما هم بخواید مثل اکثر پکیج هایی که توی Nuget Package Manger هست کدی که نوشتید رو اونجا قرار بدید در چنین حالتی نوع پروژه شما باید از نوعClass Library باشه
ناگفته نمونه که خروجی Class Library فرمت dll یا Dynamic Library Link هست
#انواع_پروژه
یکی از مشکلاتی که داخل قریب به اکثرمون وجود داره و از جمله خود منم به این مورد دچارم و دارم بهترش میکنم
اینه که فرضا میریم منطق کار رو یاد میگیریم چجوریه اما وقتی میخوایم کد بزنیم متوجه میشیم هیچی بلد نیستیم و حس کمبود اعتماد به نفس میگیریم
ولی شاه کلید درست کردن این موضوع اینه " مهندسی نرم افزار" یاد بگیری
همین درسی که توی کارشناسی نرم افزار میخونیم و بهش بی توجهی میکنیم دقیقا چیزیه که ما باید این درس رو بلعیده باشیم
حالا اگر یکی رشتش کلا نرم افزار نبوده ولی علاقه داشته به برنامه نویسی سر جای خودش ولی اونی که رشتش نرم افزار بوده ازش بعیده همچین درس مهمی بلد نباشه
تو وقتی بیای روی کاغذ بنویسی یا توی هر نرم افزار نوت برداری و ببینی که چی میخوای انجام بدی ساختارش رو بیرون بکشی کارت خیلی راحت میشه
فرضا یه سایتی داری میخوای اول بررسی کنی که نقش کاربر چیه بر اساس اون بره داخل داشبورد
خب میای کار رو در میاری که اول قراره چی انجام بشه:
خب وقتی این شکلی تو بدونی که داری چی کار میکنی انگیزه نمیگیری؟ صد در صد
و بر اساس کاری که میخوای انجام بدی متوجه میشی که باید از if استفاده کنی یا switch و چون میدونی که توی نسخه های قبلی سی شارپ ما فقط میتونستیم روی داده های عددی switch رو اعمال کنیم پس میایم از روش جایگزینش ینی switch expression استفاده میکنیم که با عبارت های lambda چک میکنیم شرط رو و در نهایت بر اساس اون اتفاق نتیجه رو در خروجی نمایش میدیم
پس این جوری خیلی به مراتب راحت تر میشه کار رو جمع کرد
اینه که فرضا میریم منطق کار رو یاد میگیریم چجوریه اما وقتی میخوایم کد بزنیم متوجه میشیم هیچی بلد نیستیم و حس کمبود اعتماد به نفس میگیریم
ولی شاه کلید درست کردن این موضوع اینه " مهندسی نرم افزار" یاد بگیری
همین درسی که توی کارشناسی نرم افزار میخونیم و بهش بی توجهی میکنیم دقیقا چیزیه که ما باید این درس رو بلعیده باشیم
حالا اگر یکی رشتش کلا نرم افزار نبوده ولی علاقه داشته به برنامه نویسی سر جای خودش ولی اونی که رشتش نرم افزار بوده ازش بعیده همچین درس مهمی بلد نباشه
تو وقتی بیای روی کاغذ بنویسی یا توی هر نرم افزار نوت برداری و ببینی که چی میخوای انجام بدی ساختارش رو بیرون بکشی کارت خیلی راحت میشه
فرضا یه سایتی داری میخوای اول بررسی کنی که نقش کاربر چیه بر اساس اون بره داخل داشبورد
خب میای کار رو در میاری که اول قراره چی انجام بشه:
عنوان سناریو: ورود به سیستم (Login)
نقش اصلی: کاربر
پیششرط: کاربر قبلاً در سیستم ثبتنام کرده باشد
جریان اصلی (مراحل انجام کار):
کاربر وارد صفحه ورود میشود.
اطلاعات ورود (نام کاربری و رمز عبور) را وارد میکند.
سیستم اطلاعات را بررسی و تأیید میکند.
سیستم نقش کاربر را بررسی میکند.
اگر نقش کاربر «مدیر» باشد → او را به صفحهی مدیریت هدایت میکند.
اگر نقش کاربر «فروشنده» باشد → وارد داشبورد فروشنده میشود.
اگر نقش کاربر «کاربر عادی» باشد → به صفحهی مخصوص کاربران معمولی میرود.
جریان استثنا (حالات خاص):
اگر رمز عبور اشتباه باشد → پیام خطا نمایش داده میشود.
اگر کاربر غیرفعال باشد → اجازه ورود داده نمیشود.
خب وقتی این شکلی تو بدونی که داری چی کار میکنی انگیزه نمیگیری؟ صد در صد
و بر اساس کاری که میخوای انجام بدی متوجه میشی که باید از if استفاده کنی یا switch و چون میدونی که توی نسخه های قبلی سی شارپ ما فقط میتونستیم روی داده های عددی switch رو اعمال کنیم پس میایم از روش جایگزینش ینی switch expression استفاده میکنیم که با عبارت های lambda چک میکنیم شرط رو و در نهایت بر اساس اون اتفاق نتیجه رو در خروجی نمایش میدیم
پس این جوری خیلی به مراتب راحت تر میشه کار رو جمع کرد
👍2
در مزخرف کد زدن هوش های مصنوعی همین بس که یه کار خیلی ساده رو میپیچونن در حالی که خودت خیلی ساده تر میتونستی موضوع رو حلش کنی
تا وقتی ساختار کلی زبان یا فریم ورک رو بلد نباشی تو هر چی دوست داری بهش بگو فلان کار کنه
حتی اگر به اون درجه ای برسه که بتونه کامل انجام بده هم تو باید اون زبان رو بلد باشی
تا وقتی ساختار کلی زبان یا فریم ورک رو بلد نباشی تو هر چی دوست داری بهش بگو فلان کار کنه
حتی اگر به اون درجه ای برسه که بتونه کامل انجام بده هم تو باید اون زبان رو بلد باشی
Forwarded from DevTwitter | توییت برنامه نویسی
میخوام دو تا از عجیب ترین Http status code هایی که وجود داشته و داره رو بگم
احتمالا درمورد Http Status Code 418 شنیده باشین.
418 (I'm a teapot)
داره میگه من قوری ام! جالب تر از اینکه چرا وجود داره و میگه من قوری ام اینه که به طور رسمی این http status code تو RFC 2324 ثبت شده!
این یکی رسمی نیست اصلا ولی تو Twitter API v1 ازش استفاده شده بود.
420 (Enhance your calm)
برای اینکه بگن آقا زیاد داری درخواست میفرستی از این استفاده میکردن
بعدا چون تو استاندارد نبود تو v1.1 اومدن تبدیلش کردن به 429 (Too many requests).
@DevTwitter | <Ali Valizadeh/>
احتمالا درمورد Http Status Code 418 شنیده باشین.
418 (I'm a teapot)
داره میگه من قوری ام! جالب تر از اینکه چرا وجود داره و میگه من قوری ام اینه که به طور رسمی این http status code تو RFC 2324 ثبت شده!
این یکی رسمی نیست اصلا ولی تو Twitter API v1 ازش استفاده شده بود.
420 (Enhance your calm)
برای اینکه بگن آقا زیاد داری درخواست میفرستی از این استفاده میکردن
بعدا چون تو استاندارد نبود تو v1.1 اومدن تبدیلش کردن به 429 (Too many requests).
@DevTwitter | <Ali Valizadeh/>
یه ویدیو ضبط کردم راجع به لایسنس های مختلف نرم افزاری ( پروژه های اوپن سورس ) و در کنارش دو تا مفهوم Sequence Length و Context Window در هوش مصنوعی
به زودی قرارش میدم توی کانال
این ویدیو در اصل واسه یه دوره آموزش هوش مصنوعی دیپ سیک هست ولی خیلی به کارتون میاد و با انواع لایسنس ها آشنا میشید
به زودی قرارش میدم توی کانال
این ویدیو در اصل واسه یه دوره آموزش هوش مصنوعی دیپ سیک هست ولی خیلی به کارتون میاد و با انواع لایسنس ها آشنا میشید
کانال توسعه دهندگان سی شارپ
https://t.me/hassanrafatjoo
کانال شخصی من میتونید دنبال کنید دوستان
Media is too big
VIEW IN TELEGRAM
آشنایی با مبحث اوپن سورس و لایسنس های نرم افزاری Permissive و Copy-Left
اینجا کامل با مجوزهایی مثل GPL که یکی از معروف ترین ها هست آشنا میشید
اینجا کامل با مجوزهایی مثل GPL که یکی از معروف ترین ها هست آشنا میشید
Forwarded from Linuxor ?
کل علم مهندسی نرم افزار بر پایه تکامل تدریجی و تکرار برای بهبود ساخته شده، یعنی شما یه چیزی میسازین به مرور هی بهتر و سازگار ترش میکنید. (کل شرکت های بزرگ هم همینکارو میکنن)
حالا سوال پیش میآد، یکی میگه من علم مهندسی نرم افزار رو کلا قبول ندارم میخوام یه چیز ابرقهرمان بسازم که تکاملی نباشه و یهویی یه چیز قوی باشه آیا ممکنه؟ جواب بله ممکنه، چون مهندسی نرم افزار الزاما بهینه ترین مسیر رو نرفته یعنی این علمی که داریم الان بهترین مسیرش نیست، ولی اینکه شما بتونید رندوم یه چیز بهینه تر ازش پیدا کنید کار عملا سختیه، ولی ممکنه.
برای مثال یه تیم شاید 10 سال برای تولید یه برنامه آموزش زبان با چت کردن وقت گذاشته باشن و کلی الگوریتم براش نوشته باشن و یه چیز حرفه ای و قابلیت گفتگوی حرفه ای ساخته باشن، اما امروز یه نفر یه هفته ای همین کارو با LLM ها مشابهش رو بسازه. ولی دقت کنید همیشه شانس باهاتون یار نیست و LLM هم ممکنه وجود نداشته باشه.
@Linuxor
حالا سوال پیش میآد، یکی میگه من علم مهندسی نرم افزار رو کلا قبول ندارم میخوام یه چیز ابرقهرمان بسازم که تکاملی نباشه و یهویی یه چیز قوی باشه آیا ممکنه؟ جواب بله ممکنه، چون مهندسی نرم افزار الزاما بهینه ترین مسیر رو نرفته یعنی این علمی که داریم الان بهترین مسیرش نیست، ولی اینکه شما بتونید رندوم یه چیز بهینه تر ازش پیدا کنید کار عملا سختیه، ولی ممکنه.
برای مثال یه تیم شاید 10 سال برای تولید یه برنامه آموزش زبان با چت کردن وقت گذاشته باشن و کلی الگوریتم براش نوشته باشن و یه چیز حرفه ای و قابلیت گفتگوی حرفه ای ساخته باشن، اما امروز یه نفر یه هفته ای همین کارو با LLM ها مشابهش رو بسازه. ولی دقت کنید همیشه شانس باهاتون یار نیست و LLM هم ممکنه وجود نداشته باشه.
@Linuxor
بسیار به خودتون از نظر سلامتی جسمی و ذهنی اهمیت بدید تا دچار فرسودگی ذهنی و شغلی نشید
تا یه جایی ذهن آدم خوب جواب میده
حتما ورزش کنید-خوب بخوابید،تغذیه تون رو بهش اهمیت بدید-کمتر از شبکه های اجتماعی استفاده کنید و سعی کنید بیشتر به لحاظ فنی و مهارت های نرم خودتون رو بهتر کنید
چند روزی هست که واقعا نای کار کردن رو ندارم و زود خسته میشم
هر از چند گاهی یه چکاپ برید تا از وضعیت سلامتی خودتون مطلع بشید
گاهی وقتا زندگی ماشینی خسته کننده تر از چیزی هست که تصورش رو داریم
مراقب خودتون باشید🤍❤️
تا یه جایی ذهن آدم خوب جواب میده
حتما ورزش کنید-خوب بخوابید،تغذیه تون رو بهش اهمیت بدید-کمتر از شبکه های اجتماعی استفاده کنید و سعی کنید بیشتر به لحاظ فنی و مهارت های نرم خودتون رو بهتر کنید
چند روزی هست که واقعا نای کار کردن رو ندارم و زود خسته میشم
هر از چند گاهی یه چکاپ برید تا از وضعیت سلامتی خودتون مطلع بشید
گاهی وقتا زندگی ماشینی خسته کننده تر از چیزی هست که تصورش رو داریم
مراقب خودتون باشید🤍❤️
👍1
استاد دانشگاه شدن واقعا برا بعضی زیاده
معدود درس های دانشگاه توی صنعت به کار میاد صرفا واسه اینه به لحاظ تحلیلی یکمی تفکر ما رو بهتر کنه
معدود درس های دانشگاه توی صنعت به کار میاد صرفا واسه اینه به لحاظ تحلیلی یکمی تفکر ما رو بهتر کنه
وگرنه اکثر دروس هیچ کاربردی ندارن
از ما نمیخوان که براشون مدار منطقی طراحی کنیم
از ما نمیخوان براشون ساختمان گسسته توضیح بدیم
از ما کار واقعی و پروژه میخوان
بازار کار واقعی چالش های صحبت کردن با کارفرما داره،چالش های بحث مالی داره که کارفرما بخواد برای کارش هزینه کنه
بازار کار واقعی نمیگه شما نمره فلان درست چند شدی
تاثیر 100 درصدی توی موضوع نداره
از ما نمیخوان که براشون مدار منطقی طراحی کنیم
از ما نمیخوان براشون ساختمان گسسته توضیح بدیم
از ما کار واقعی و پروژه میخوان
بازار کار واقعی چالش های صحبت کردن با کارفرما داره،چالش های بحث مالی داره که کارفرما بخواد برای کارش هزینه کنه
بازار کار واقعی نمیگه شما نمره فلان درست چند شدی
تاثیر 100 درصدی توی موضوع نداره
Forwarded from آخرین کد نویس
فردا روز بزرگ داتنتیهاست!
مایکروسافت قراره NET 10. رو منتشر کنه 🎉
نسخهای که کلی قابلیت جدید، بهبود عملکرد و آیندهی داتنت رو با خودش میاره 💪
آماده باشید برای شروع یه فصل تازه در دنیای NET. 🔥
مایکروسافت قراره NET 10. رو منتشر کنه 🎉
نسخهای که کلی قابلیت جدید، بهبود عملکرد و آیندهی داتنت رو با خودش میاره 💪
آماده باشید برای شروع یه فصل تازه در دنیای NET. 🔥
❤2😢1
Forwarded from tech-afternoon (Amin Mesbahi)
تا دقایق دیگه، رویداد ۳ روزه NET Conf 2025. شروع میشه و داتنت ۱۰ به صورت رسمی ارائه میشه.
مشاهده زنده رویداد
https://www.dotnetconf.net
💬 اگر دوست داشتید در مورد قابلیتهای مورد انتظار یا حتی مورد نفرتتون 😁 بگید!
مشاهده زنده رویداد
https://www.dotnetconf.net
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
اولین تغییرات اعمال شده در دات نت ۱۰
بهینه سازی Minimal API هست که هم سریع تر و هم از مموری کمتری استفاده میکنه نسبت به دات نت ۸
سعی میکنم به صورت لحظه ای بگم موارد رو
بهینه سازی Minimal API هست که هم سریع تر و هم از مموری کمتری استفاده میکنه نسبت به دات نت ۸
سعی میکنم به صورت لحظه ای بگم موارد رو
❤1
قابلیت null conditional assaginment اضافه شده اینجوری که من دیدم برای پراپرتی ها میتونید علامت سوال قرار بدید تا اون ها مقادیر نال بپذیرن
جلسه رو هم در حال ضبطش هستم و بعد از فشرده کردن توی کانال میزارمش
جلسه رو هم در حال ضبطش هستم و بعد از فشرده کردن توی کانال میزارمش
❤1👍1
مورد بعدی بهینه سازی aspire هست که در بحث کانتینر و فضای ابری استفاده میشه
❤1