🔻 #آموزش_MVC #فصل_1 #قسمت_2
🔶️ پوشهی App_Data
این پوشه شامل فایل های اطلاعاتی برنامه نظیر LocalDB، فایلهای mdf، فایلهای xml و یا هر نوع فایل داده ای دیگر است سرور (IIS) مخخف (Internet Information Services) که وظیفه اجرا نمودن برنامههای ASP.NET را برعهده دارد ، هرگز فایل های پوشه App_Data را به صورت مستقیم از درون پوشه فراخوانی نمیکند.
🔶️ پوشهی App_Start
پوشهی App_Start شامل فایلهای class میباشد، فایلهای class فایلهایی هستند که هنگام شروع یک برنامه و یا سایت، اجرا میشوند. این فایلهای به طور معمول شامل فایلهای پیکربندی نظیر AuthConfig.cs، BundleConfig.cs، FilterConfig.cs RouteConfig.cs و غیره هستند. MVC 5 به طور پیشفرض دربردارندهی فایلهای BundleConfig.cs، FilterConfig.cs RouteConfig.cs است. اهمیت این فایلها را در جلسات بعدی بررسی خواهیم کرد.
🖥 @FunProGraming
🔶️ پوشهی App_Data
این پوشه شامل فایل های اطلاعاتی برنامه نظیر LocalDB، فایلهای mdf، فایلهای xml و یا هر نوع فایل داده ای دیگر است سرور (IIS) مخخف (Internet Information Services) که وظیفه اجرا نمودن برنامههای ASP.NET را برعهده دارد ، هرگز فایل های پوشه App_Data را به صورت مستقیم از درون پوشه فراخوانی نمیکند.
🔶️ پوشهی App_Start
پوشهی App_Start شامل فایلهای class میباشد، فایلهای class فایلهایی هستند که هنگام شروع یک برنامه و یا سایت، اجرا میشوند. این فایلهای به طور معمول شامل فایلهای پیکربندی نظیر AuthConfig.cs، BundleConfig.cs، FilterConfig.cs RouteConfig.cs و غیره هستند. MVC 5 به طور پیشفرض دربردارندهی فایلهای BundleConfig.cs، FilterConfig.cs RouteConfig.cs است. اهمیت این فایلها را در جلسات بعدی بررسی خواهیم کرد.
🖥 @FunProGraming
🔻 #آموزش_MVC #فصل_1 #قسمت_3
🔶️ پوشهی Content
پوشهی Content دربردارندهی فایلهای استاتیک برنامه مانند فایلهای css، تصاویر و فایلهای آیکون می باشد. برنامهی MVC 5 به صورت پیشفرض دربردارندهی فایل های bootstrap.css ، bootstrap.min.css و Site.css است.
🖥 @FunProGraming
🔶️ پوشهی Content
پوشهی Content دربردارندهی فایلهای استاتیک برنامه مانند فایلهای css، تصاویر و فایلهای آیکون می باشد. برنامهی MVC 5 به صورت پیشفرض دربردارندهی فایل های bootstrap.css ، bootstrap.min.css و Site.css است.
🖥 @FunProGraming
🔻 #آموزش_MVC #فصل_1 #قسمت_4
🔶️ پوشهی Controller
پوشهی Controller دربردارندهی فایلهای کلاس برای Controller هاست. Controller درخواستهای کاربران را دریافت و پاسخ مناسب را به آنان میدهند. در MVC نام همهی فایلهای Controller به واژه “Controller” ختم میشود. در جلسات آینده به تشریح نحوه عملکرد کنترلرها خواهیم پرداخت.
🖥 @FunProGraming
🔶️ پوشهی Controller
پوشهی Controller دربردارندهی فایلهای کلاس برای Controller هاست. Controller درخواستهای کاربران را دریافت و پاسخ مناسب را به آنان میدهند. در MVC نام همهی فایلهای Controller به واژه “Controller” ختم میشود. در جلسات آینده به تشریح نحوه عملکرد کنترلرها خواهیم پرداخت.
🖥 @FunProGraming
🔻 #آموزش_MVC #فصل_1 #قسمت_5
🔶️ پوشهی font
پوشهی font دربردارندهی فونتهای سفارشی برنامه شما است.
🔶️ پوشهی Models
پوشهی Models ، فایلهای کلاس Model را دربردارد. به طور معمول کلاس Model دربردارندهی ویژگیهایی عمومی است که به وسیلهی برنامهی کاربردی و به منظور نگهداری و کنترل دادههای برنامه استفاده میشوند.
🔶️ پوشهی Scripts :
پوشهی Scripts شامل فایلهای جاوا اسکریپت یا VBScript برای برنامه است. MVC 5 به صورت پیشفرض (در پوشهی اسکریپت خود) دارای فایلهای Java Script ، bootstrap ، jquery و modernizer است.
🖥 @FunProGraming
🔶️ پوشهی font
پوشهی font دربردارندهی فونتهای سفارشی برنامه شما است.
🔶️ پوشهی Models
پوشهی Models ، فایلهای کلاس Model را دربردارد. به طور معمول کلاس Model دربردارندهی ویژگیهایی عمومی است که به وسیلهی برنامهی کاربردی و به منظور نگهداری و کنترل دادههای برنامه استفاده میشوند.
🔶️ پوشهی Scripts :
پوشهی Scripts شامل فایلهای جاوا اسکریپت یا VBScript برای برنامه است. MVC 5 به صورت پیشفرض (در پوشهی اسکریپت خود) دارای فایلهای Java Script ، bootstrap ، jquery و modernizer است.
🖥 @FunProGraming
🔻 #آموزش_MVC #فصل_1 #قسمت_6
🔶️ پوشهی View:
پوشهی View شامل فایلهای HTML برنامه است. به طور معمول فایل View، یک فایل cshtml است که شما در آن کد اچ تی امال و #C یا VB.NET را مینویسید.
✅ در ASP.NET MVC هر Controller دارای یک پوشه View جداگانه است. مثلاَ همهی فایلهای cshtml که به وسیلهی HomeController ایجاد میشوند، در مسیر View > Home folder قرار میگیرند.
✅ پوشه Shared که در زیر پوشهی View قرار گرفته View هایی را در بر میگیرد که در بین Controller های مختلف به اشتراک گذاشته خواهند شد. مانند فایلهای layout.
🖥 @FunProGraming
🔶️ پوشهی View:
پوشهی View شامل فایلهای HTML برنامه است. به طور معمول فایل View، یک فایل cshtml است که شما در آن کد اچ تی امال و #C یا VB.NET را مینویسید.
✅ در ASP.NET MVC هر Controller دارای یک پوشه View جداگانه است. مثلاَ همهی فایلهای cshtml که به وسیلهی HomeController ایجاد میشوند، در مسیر View > Home folder قرار میگیرند.
✅ پوشه Shared که در زیر پوشهی View قرار گرفته View هایی را در بر میگیرد که در بین Controller های مختلف به اشتراک گذاشته خواهند شد. مانند فایلهای layout.
🖥 @FunProGraming
🔻 #آموزش_MVC #فصل_1 #قسمت_7
🔶️ افزون بر موارد بالااین، پروژهی MVC دربردارندهی فایلهای پیکربندی زیر است:
✅ Global.asax
به شما اجازهی نوشتن کدی را میدهد که در پاسخ به سطح رویدادهای برنامه، اجرا می شود، مانند Application_BeginRequest، application_start، application_error، session_start، session_end و غیره.
✅ Packages.config
فایلی است که به وسیلهی NuGet مدیریت میشود تا بستهها و نسخه نصب شده در برنامه را مدیریت کند.
✅ Web.config
فایل Web.config شامل تنظیمات اصلی یک برنامه ASP.NET است و فایل پیکربندی برنامه های ASP.NET محسوب می شود .
این فایل یک سند XML است که در پیکربندی وب سایت یا برنامه شما نقش بسیار مهمی داشته و حاوی اطلاعاتی در مورد چگونگی عملکرد برنامهی شماست.
🖥 @FunProGraming
🔶️ افزون بر موارد بالااین، پروژهی MVC دربردارندهی فایلهای پیکربندی زیر است:
✅ Global.asax
به شما اجازهی نوشتن کدی را میدهد که در پاسخ به سطح رویدادهای برنامه، اجرا می شود، مانند Application_BeginRequest، application_start، application_error، session_start، session_end و غیره.
✅ Packages.config
فایلی است که به وسیلهی NuGet مدیریت میشود تا بستهها و نسخه نصب شده در برنامه را مدیریت کند.
✅ Web.config
فایل Web.config شامل تنظیمات اصلی یک برنامه ASP.NET است و فایل پیکربندی برنامه های ASP.NET محسوب می شود .
این فایل یک سند XML است که در پیکربندی وب سایت یا برنامه شما نقش بسیار مهمی داشته و حاوی اطلاعاتی در مورد چگونگی عملکرد برنامهی شماست.
🖥 @FunProGraming
🔶 نرم افزار دمو
🌀 نسخه نمایشی یا دمو از یک نرم افزار ، نسخه ای رایگان از نرم افزار است که به کاربر اجازه می دهد برای یک مدت زمان مشخص از نرم افزار به طور رایگان استفاده نموده تا با قابلیت ها و ویژگی های آن آشنا شود .
🌀 در واقع ارائه نسخه آزمایشی محصول، یک ابزار تبلیغاتی قوی به حساب می آید و امروزه شرکت های بسیاری محصولات خود را این گونه به مشتریان معرفی می نمایند.
🌀 استفاده از نرم افزارهای دمو کاملا مجاز بوده و به هیچ وجه جرم به حساب نمی آید . دلیل این امر این است که خود شرکت سازنده از اینکه شما این نسخه را رایگان نصب می نمایید ، رضایت کامل دارد .
🖥 @FunProGraming
🌀 نسخه نمایشی یا دمو از یک نرم افزار ، نسخه ای رایگان از نرم افزار است که به کاربر اجازه می دهد برای یک مدت زمان مشخص از نرم افزار به طور رایگان استفاده نموده تا با قابلیت ها و ویژگی های آن آشنا شود .
🌀 در واقع ارائه نسخه آزمایشی محصول، یک ابزار تبلیغاتی قوی به حساب می آید و امروزه شرکت های بسیاری محصولات خود را این گونه به مشتریان معرفی می نمایند.
🌀 استفاده از نرم افزارهای دمو کاملا مجاز بوده و به هیچ وجه جرم به حساب نمی آید . دلیل این امر این است که خود شرکت سازنده از اینکه شما این نسخه را رایگان نصب می نمایید ، رضایت کامل دارد .
🖥 @FunProGraming
🔆 روش های عرضه نسخه دمو نرم افزار
🔅 روش های زیادی برای عرضه نسخه نمایشی نرم افزار وجود دارد که متداول ترین روش آن قرار دادن لینک دانلود محصول داخل سایت شرکت است. در این حالت مشتری امکان استفاده از محصول را به صورت رایگان در یک مدت زمان مشخص مثلا دارد و پس از آن با خرید محصول و دریافت کد خرید و وارد نمودن آن در محصول می تواند باز هم از محصول استفاده نماید.
🔅 عرضه مستقل نسخه آزمایشی از نرم افزار اصلی : در این حالت کاربر با نصب نسخه دمو می تواند با محصول آشنا شده و در صورت تمایل به خرید نرم افزار بعد از اتمام مدت زمان نرم افزار دمو، باید آن را uninstall نموده و نسخه اصلی نرم افزار را نصب نماید.
🔅 در حالت دیگری از ارائه نسخه نمایشی نرم افزار، نسخه رایگان برروی آدرسی در فضای اینترنت قرار می گیرد و کاربران با وارد نمودن کلمه کاربری و رمز عبور که توسط شرکت تولید کننده نرم افزار در اختیار کاربران قرار داده، می توانند وارد نرم افزار شده و با ویژگی های آن آشنا شوند. در این حالت برای جلوگیری از سو استفاده های احتمالی، معمولا اطلاعات نسخه دمو هر 24 ساعت به حالت پیشفرض باز میگردد .
🖥 @FunProGraming
🔅 روش های زیادی برای عرضه نسخه نمایشی نرم افزار وجود دارد که متداول ترین روش آن قرار دادن لینک دانلود محصول داخل سایت شرکت است. در این حالت مشتری امکان استفاده از محصول را به صورت رایگان در یک مدت زمان مشخص مثلا دارد و پس از آن با خرید محصول و دریافت کد خرید و وارد نمودن آن در محصول می تواند باز هم از محصول استفاده نماید.
🔅 عرضه مستقل نسخه آزمایشی از نرم افزار اصلی : در این حالت کاربر با نصب نسخه دمو می تواند با محصول آشنا شده و در صورت تمایل به خرید نرم افزار بعد از اتمام مدت زمان نرم افزار دمو، باید آن را uninstall نموده و نسخه اصلی نرم افزار را نصب نماید.
🔅 در حالت دیگری از ارائه نسخه نمایشی نرم افزار، نسخه رایگان برروی آدرسی در فضای اینترنت قرار می گیرد و کاربران با وارد نمودن کلمه کاربری و رمز عبور که توسط شرکت تولید کننده نرم افزار در اختیار کاربران قرار داده، می توانند وارد نرم افزار شده و با ویژگی های آن آشنا شوند. در این حالت برای جلوگیری از سو استفاده های احتمالی، معمولا اطلاعات نسخه دمو هر 24 ساعت به حالت پیشفرض باز میگردد .
🖥 @FunProGraming
📜 مالکیت نرم افزار (پارت1)
🔶 اگر شخص نرمافزار را برای خود و بدون اینکه کسی به وی سفارش داده باشد تولید کرده باشد :
🖇 بر اساس ماده 1 قانون حمایت از حقوق پدیدآورندگان نرمافزارهای رایانهای، حق نشر، عرضه، اجرا و حق بهرهبرداری مادی و معنوی از نرمافزار رایانهای متعلق به پدیدآورنده آن است. نحوه تدوین و ارائه دادهها درمحیط قابل پردازش رایانهای نیز مشمول احکام نرمافزار خواهد بود. مدت اعتبار حقوق مادی 30 سال از تاریخ پدید آوردن نرمافزار و مدت اعتبار حقوق معنوی نامحدود است. پس با توجه به ماده فوق، اصل آن است که هر کس نرمافزاری را تولید نماید مالک آن بوده و تمامی حقوق مادی و معنوی مرتبط با آن، علامت و نشان ویژه معرف نرمافزار، همه و همه متعلق به پدیدآورنده خواهد بود .
🖥 @FunProGraming
🔶 اگر شخص نرمافزار را برای خود و بدون اینکه کسی به وی سفارش داده باشد تولید کرده باشد :
🖇 بر اساس ماده 1 قانون حمایت از حقوق پدیدآورندگان نرمافزارهای رایانهای، حق نشر، عرضه، اجرا و حق بهرهبرداری مادی و معنوی از نرمافزار رایانهای متعلق به پدیدآورنده آن است. نحوه تدوین و ارائه دادهها درمحیط قابل پردازش رایانهای نیز مشمول احکام نرمافزار خواهد بود. مدت اعتبار حقوق مادی 30 سال از تاریخ پدید آوردن نرمافزار و مدت اعتبار حقوق معنوی نامحدود است. پس با توجه به ماده فوق، اصل آن است که هر کس نرمافزاری را تولید نماید مالک آن بوده و تمامی حقوق مادی و معنوی مرتبط با آن، علامت و نشان ویژه معرف نرمافزار، همه و همه متعلق به پدیدآورنده خواهد بود .
🖥 @FunProGraming
📜مالکیت نرم افزار (پارت 2)
🔶 اگر تولید کننده نرمافزار به سفارش شخص دیگری اقدام به برنامهنویسی کرده باشد :
🖇 در برخی موارد، فردی که در خصوص نحوه برنامهنویسی یا تولید نرم افزار، تخصصی نداشته یا به هر علت دیگر تمایل به برون سپاری آن دارد، اقدام به عقد قرارداد جهت تولید نرمافزار میکند. در این مورد خاص، ماده ۶ قانون فوق بدین شکل تعیین تکلیف کرده است: «اگر هدف از استخدام یا انعقاد قرارداد، پدیدآوردن نرمافزار مورد نظر بوده و یا پدیدآوردن آن جزء موضوع قرارداد باشد، حقوق مادی مربوط و حق تغییر و توسعه نرمافزار متعلق به استخدام کننده یا کارفرما است، مگر اینکه در قرارداد به صورت دیگری پیشبینی شده باشد». البته مادهی مورد اشاره مالکیت سفارشدهنده را به طور امری برای طرفین در نظر نگرفته است، بلکه افراد میتوانند توافق کنند که مالکیت نرمافزار همچنان متعلق به تولیدکننده باشد. درهرصورت باید توجه داشت که به منظور صدور گواهی ثبت نرمافزار، نام پدید آورنده باید توسط متقاضی ثبت به مراجع یاد شده در این قانون اعلام شود .
🖥 @FunProGraming
🔶 اگر تولید کننده نرمافزار به سفارش شخص دیگری اقدام به برنامهنویسی کرده باشد :
🖇 در برخی موارد، فردی که در خصوص نحوه برنامهنویسی یا تولید نرم افزار، تخصصی نداشته یا به هر علت دیگر تمایل به برون سپاری آن دارد، اقدام به عقد قرارداد جهت تولید نرمافزار میکند. در این مورد خاص، ماده ۶ قانون فوق بدین شکل تعیین تکلیف کرده است: «اگر هدف از استخدام یا انعقاد قرارداد، پدیدآوردن نرمافزار مورد نظر بوده و یا پدیدآوردن آن جزء موضوع قرارداد باشد، حقوق مادی مربوط و حق تغییر و توسعه نرمافزار متعلق به استخدام کننده یا کارفرما است، مگر اینکه در قرارداد به صورت دیگری پیشبینی شده باشد». البته مادهی مورد اشاره مالکیت سفارشدهنده را به طور امری برای طرفین در نظر نگرفته است، بلکه افراد میتوانند توافق کنند که مالکیت نرمافزار همچنان متعلق به تولیدکننده باشد. درهرصورت باید توجه داشت که به منظور صدور گواهی ثبت نرمافزار، نام پدید آورنده باید توسط متقاضی ثبت به مراجع یاد شده در این قانون اعلام شود .
🖥 @FunProGraming
🔻 #نکته_آموزشی #سی_شارپ
🔶️ کار کردن با کلاس TimeZoneInfo
🔰 این کلاس مختص دات نت 3.5 (به بعد) است و جهت استفاده باید System.Core رو نیز به References پروژه ی خود بیافزایید.
✅ مثال - بدست آوردن تاریخ و زمان فعلی در توکیو :
TimeZoneInfo tzSource = TimeZoneInfo.Local;
TimeZoneInfo tzDestination = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
string sourceTime = TimeZoneInfo.ConvertTime(DateTime.Now,
tzSource, tzDestination).ToShortTimeString();
MessageBox.Show(sourceTime);
🖥 @FunProGraming
🔶️ کار کردن با کلاس TimeZoneInfo
🔰 این کلاس مختص دات نت 3.5 (به بعد) است و جهت استفاده باید System.Core رو نیز به References پروژه ی خود بیافزایید.
✅ مثال - بدست آوردن تاریخ و زمان فعلی در توکیو :
TimeZoneInfo tzSource = TimeZoneInfo.Local;
TimeZoneInfo tzDestination = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
string sourceTime = TimeZoneInfo.ConvertTime(DateTime.Now,
tzSource, tzDestination).ToShortTimeString();
MessageBox.Show(sourceTime);
🖥 @FunProGraming
🔻 #نکته_آموزشی #سی_شارپ
🔶️ بدست آوردن لیست تمامی ناحیه های زمانی (Time Zone)
✅ این روش مختص دات نت 3.5 (به بعد) است.
using System.Collections.ObjectModel;بدست آوردن Id و DisplayName نواحی :
ReadOnlyCollection<TimeZoneInfo> zones = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo zone in zones)
{
listBox1.Items.Add(zone.Id);
listBox2.Items.Add(zone.DisplayName);
}
🖥 @FunProGraming
🔶️ بدست آوردن لیست تمامی ناحیه های زمانی (Time Zone)
✅ این روش مختص دات نت 3.5 (به بعد) است.
using System.Collections.ObjectModel;بدست آوردن Id و DisplayName نواحی :
ReadOnlyCollection<TimeZoneInfo> zones = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo zone in zones)
{
listBox1.Items.Add(zone.Id);
listBox2.Items.Add(zone.DisplayName);
}
🖥 @FunProGraming