asp dotnet core (قسمت یک)

ASP.Net Core چیه؟ یک فریم‌ورک cross-platform (قابل اجرا در ویندوز، لینوکس و مک) و open-source مبتنی بر داتنت و زبان سی‌شارپ، که میشه باهاش برنامه‌های وب، سرویس و… بسازیم. نام‌گذاری مایکروسافت در نام‌گذاری اکوسیستم داتنت، مثل نام‌گذاری نسخه‌های ویندوز، دچار سرگیجه بوده. اگر به اکوسیستم داتنت نگاه کرده باشید، حتما اسم‌های زیادی دیده‌اید که باعث سردرگمی میشه. Asp.Net Web Forms در سال 2002 معرفی شد، مشکلات performanceای زیادی داشت، فقط روی ویندوز اجرا می‌شد، open-source نبود و مدل توسعه‌اش event-driven بود Asp.Net Mvc در سال 2009 معرفی شد، مشکلات performanceای کمتری داشت، فقط روی ویندوز اجرا می‌شد، اجرایش در cloud ساده نبود، open-source شد و مدل توسعه‌اش بر اساس الگوی model-view-controller بود Asp.Net Core در سال 2016 معرفی شد، از ابتدا بازنویسی شد و مشکلات نسخه‌های قبلی رو حل کرد، cross-platform شد و دیگه مختص ویندوز نبود، cloud-friendly شد و مدل توسعه‌اش بر اساس الگوی model-view-controller بود در داتنت‌، 4 ماژول اصلی داریم: ...

2024-06-18 · 26 دقیقه

حل سوال 844 لیت‌کد

برای دسترسی به سوال 844 لیت‌کد میتونید از این لینک استفاده کنید. سطح این سوال Easy است. شرایط مسئله در این مرحله، شرایط خاص مسئله و حالت‌های edge case رو بررسی می‌کنیم. این شرایط باید در توضیحات سوال یا مثال‌ها مشخص شده باشن یا اینکه از پاسخ‌های پیش فرض استفاده کنیم. اگه دو تا # (هش) داشته باشیم چی میشه؟ دو کاراکتر قبل از اولین # رو پاک میکنیم. اگه کاراکتری وجود نداشته باشه، # چکار میکنه؟ هیچی، وقتی کاراکتری نیست، عملا اتفاقی رخ نمیده. آیا دو string خالی یعنی "" و "" با هم برابرند؟ بله، برابرند. آیا کوچک و بزرگ بودن حروف مهمه؟ بله، A و a برابر نیستند. نوشتن test case s = "ab#z", t = "az#z" output = true s = "abc#d", t = "acc#c" output = false s = "x#y#z#", t = "a#" output = true s = "a###b", t = "b" output = true s = "Ab#z", t = "ab#z" output = false راه حل منطقی در این مرحله به دنبال working solution هستیم، یعنی راه حلی منطقی که بتونه مسئله رو حل کنه. به راه حل بهینه فکر نمی‌کنیم. درگیر زبان برنامه نویسی و محدودیت‌های اون هم نخواهیم بود. string چیزی نیست جز آرایه‌ای از کاراکترها. پس حتما از ایده‌های آرایه‌ای میشه در اون استفاده کرد. ...

2024-03-19 · 8 دقیقه

استفاده از google sheets در پایتون

آشنایی با Google Sheets گوگل‌شیت (که البته Google Sheets درسته!)، یک برنامه مشابه اکسل، تحت وب و رایگانه. این برنامه روی همه پلتفرم‌های رایج مثل Android و iOS هم در دسترسه. تنها چیزی که برای کار با گوگل‌شیت نیاز داریم، داشتن حساب کاربری در گوگله. اگر گوشی اندرویدی یا حساب Gmail دارید، حتماً اکانت گوگل هم دارید و می‌تونید با همون حساب وارد گوگل‌شیت بشید. در این پست فرض بر اینه که گوگل‌شیت رو می‌شناسید و قصد دارید ازش در کنار پایتون استفاده کنید. ...

2024-03-15 · 5 دقیقه

حل سوال 680 لیت‌کد

برای دسترسی به سوال 680 لیت‌کد میتونید از این لینک استفاده کنید. سطح این سوال Easy است. شبه‌پالیندروم رشته‌ی Almost Palindrome (شبه‌پالیندروم)، به رشته‌ای گفته می‌شه که با حذف یک کاراکتر، به Palindrome تبدیل میشه. مثلا “race a car” پالیندروم نیست، اما با حذف کاراکتر ‘a’ یا ’e’ به پالیندروم تبدیل می‌شه. پس شبه‌پالیندرومه! شرایط مسئله در این مرحله، شرایط خاص مسئله و حالت‌های edge case رو بررسی می‌کنیم. این شرایط باید در توضیحات سوال یا مثال‌ها مشخص شده باشن یا اینکه از پاسخ‌های پیش فرض استفاده کنیم. طبق تعریفی که برای پالیندروم داریم، کاراکترهای غیر از الفبا و عدد در نظر گرفته نمی‍شوند و کوچک و بزرگ بودن حروف هم مهم نیست. ...

2024-01-24 · 3 دقیقه

حل سوال 11 لیت‌کد

برای دسترسی به سؤال 11 لیت‌کد می‌تونید از این لینک استفاده کنید. سطح این سؤال Medium است. در واقع به دنبال مساحت مستطیلی هستیم که کف‌اش محور x هاست و ارتفاع‌هاش، دو میله هستند. چون قراره داخلش با آب پر بشه، پس میله کوچک‌تر به‌عنوان ارتفاع در نظر گرفته می‌شه. فاصله میله‌ها با هم یک واحد است. مساحت مستطیل هم که می‌دونیم برابر حاصل‌ضرب طول در عرض است. بین مستطیل‌های با شرایطِ گفته شده، بیشترین مقدار ممکن رو می‌خواهیم. ...

2023-11-21 · 6 دقیقه

گیت (Git)

این پست با هدف یادآوری نکات مهم گیت (Git) نوشته شده. اگر به دنبال یافتن سریع کامندهای موردنظرتون هستید، Git Explorer رو ببینید. از طرفی، همه‌ی IDEهای معروف مثل Visual Studio و محصولات Jetbrains مثل PyCharm، امکانات git رو به شکل گرافیکی و بدون نیاز به نوشتن دستورات، در اختیارتون قرار میدن. بنابراین ممکنه نیازی به نوشتن دستورات نداشته باشید، اما همچنان دانستن مفهوم هر دستور، لازمه. فرض بر اینه که اهمیتِ استفاده از git رو می‌دونیم، می‌ریم سراغ استفاده‌اش. اطلاعات کامل، دقیق و به‌روز رو می‌تونید در مستندات git یا کتاب git که نسخه فارسی هم داره ببینید. ...

2023-11-14 · 34 دقیقه

حل سوال 232 لیت‌کد

برای دسترسی به سوال 232 لیت‌کد میتونید از این لینک استفاده کنید. سطح این سوال Easy است. شرایط مسئله در این مرحله، شرایط خاص مسئله و حالت‌های edge case رو بررسی می‌کنیم. این شرایط باید در توضیحات سوال یا مثال‌ها مشخص شده باشن یا اینکه از پاسخ‌های پیش فرض استفاده کنیم. آیا متدهای مورد نظر که قراره با Stack پیاده بشن، باید با پیچیدگی زمانی که برای ساختمان داده‌ی Queue داریم پیاده بشن؟ نه الزاما، اما باید تا جای ممکن بهینه باشن. آیا الزاما باید از یک Stack برای هر عملیات استفاده بشه؟ خیر، ممکنه برای هر عملیات چند Stack استفاده بشن، خروجی و پیچیدگی نهایی مهمه. راه حل منطقی در این مرحله به دنبال working solution هستیم، یعنی راه حلی منطقی که بتونه مسئله رو حل کنه. به راه حل بهینه فکر نمی‌کنیم. درگیر زبان برنامه نویسی و محدودیت‌های اون هم نخواهیم بود. ...

2023-10-15 · 5 دقیقه