مدیریت پروژه
بسم الله الرحمن الرحیم
مدیریت پروژه
این مطلب را با شرح مشکلی آغاز می کنم تا در انتها وقتی راهکار را بررسی می کنیم. بهتر بتوانیم در مورد این مطلب نتیجه گیری کنیم.
در کتاب مدیریت می خواند که "عدد یک کوچکتر از آن است که بتواند با عظمت شود" شاید معنای این جمله خیلی ملموس نباشد اما می توانم این جمله را به این صورت توصیف کنم که نمی توان کارهای بزرگ را به تنهایی انجام داد خیلی نمی خواهیم وارد مباحث مدیریت شویم اما اگر با حرف بنده موافق نیستید یک مثال در مورد موفقیت فردی که به تنهایی به نتیجه بزرگ دست یافته پیدا کنید.
وقتی قرار می شود بیش از یک نفر باشیم، پس گروهی تشکیل خواهد شد. این گروه می تواند یک شرکت، یک سازمان یا یک جمع غیر رسمی باشد. به هر حال هر گروه نیازمند یک رهبر و مدیر است. خوب این گروه می تواند جمعی باشند که می خواهند یک پروژه نرم افزاری را انجام دهند. آیا می شود یک گروه از مهندسین نرم افزار کارهای خود را با روش سنتی ( بدون استفاده از نرم افزار) انجام دهند. آری، می شود اما وقتی ابزارهای بسیاری برای مدیریت و کنترل، برنامه ریزی، تعیین وظایف و.. وجود دارد به نظر نمی رسد کار عاقلانه ای باشد.
وقتی می خواهید با گروهی یک پروژه را انجام دهید، خارج از مباحث مهندسی نرم افزار نیاز دارید کارها را تقسیم کنید و مشخص کنید هر کس چه کارهایی باید انجام دهد، چه زمانی باید هر کار تحویل داده شود، کارها بررسی شوند و در صورت مشکل فرد مسئول کار خود را مجددا بررسی و مشکل آن را رفع کند.
آموزش Angular و ASP.NET Web API
بسم الله الرحمن الرحیم
بخش اول معرفی دوره
در این دوره آموزشی قصد داریم یک پروژه را با استفاده ASP.NET MVC & Web API و همچنین Angular پیاده سازی کنیم.
از این رو آموزش هایی برای این معماری ها قبلا ارائه گردیده است که شما می بایست ابتدا این آموزش ها را مطالعه نمایید تا بتوانیم به سراغ مباحث مربوط به این دوره برویم، پس اگر با این معماری ها آشنایی کاملی ندارید ابتدا از طریق لینک های زیر آموزش های پیش نیاز این دوره را بررسی و مطالعه کنید و سپس به سراغ این آموزش بیاید.
بخش اول آموزش Angular و ASP.NET Web API
بخش دوم آموزش Angular و ASP.NET Web API
بخش سوم آموزش Angular و ASP.NET Web API
آموزش Angular
آموزش Web API
و در نهایت دوره آموزش Angular و ASP.NET Web API
در برنامه های وب سنتی، client (که معمولا یک مرورگر{browser} است) ارتباط خود را با سرور با ارسال یک درخواست برای صفحه ای خاص آغاز می کند. سرور درخواست ارسالی را بررسی و پردازش می کند و سپس صفحه HTML مربوطه را برای کلاینت ارسال می کند. در ادامه این فرایند ممکن است کاربر (Client) مجددا بر روی یک لینک کلیک کند یا یک فرم اطلاعاتی را برای سرور ارسال کند، با این کار، فرایند بررسی و ارسال پاسخ در سرور مجددا آغاز می شود و یک صفحه جدید برای کاربر ارسال می شود.
در یک Single-Page Applications (SPA) با ارسال اولین درخواست تمام صفحه در مرورگر لود می شود، اما پس از این مرحله دیگر تمامی اطلاعات ارسال و دریافت نمی شوند بلکه تعامل از طریق ارسال درخواست به روش Ajax ادامه می یابد.این فرایند باعث می شود که تنها بخشی از صفحه که نیاز است تغییر داده شود، پس نیازی به لود شدن تمامی صفحه نیست. روش SPA باعث می شود زمان انتظار کاربر برای دریافت پاسخ کاهش داده شود، در نتیجه منابع بهتر مورد استفاده قرار خواهند گرفت.
معماری SPA شامل رقابت های خاص خود می باشد که در برنامه های وب سنتی این موارد وجود ندارد، اما تکنولوژی های در حال ظهوری مانند ASP.NET Web API، JavaScript framework هایی مانند AngularJS و روش های استایل دهی که به وسیله CSS3 فراهم شده است، طراحی و ساخت برنامه های SPA را ساده کرده است.
در این بخش ما یک برنامه SPA را برای یک پرسش و پاسخ ساده ایجاد می کنیم. در این برنامه ابتدا فرایند انجام پرسش و پاسخ را به وسیله ASP.NET Web API ایجاد می کنیم و سپس با استفاده ازAngularJS و CSS3برنامه خود را طراحی و قابلیت responsive UI را به آن اضافه می کنیم.
دوره آموزشی AngularJS به زبان فارسی - بخش پانزدهم
بسم الله الرحمن الرحیم
این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک Single Page Application با ASP.NET Web API و Angular.js " مراجعه کنید.
مشاهده تمامی آموزش های دوره AngularJS
آموزش AngularJS
بخش پانزدهم
AngularJS Includes
با AngularJS شما می توانید یک فایل HTML را درون یک فایل HTML دیگر لود کنید.
دستور HTML Includes در آینده HTML
متاسفانه لود کردن بخشی از HTML در یک فایل HTML دیگر هنوز توسط HTML پشتیبانی نمی شود.
HTML imports
HTML imports یک روش جدید است که در آینده برای نسخه های HTML مورد استفاده قرار خواهد گرفت.
<link rel="import" href="/path/navigation.html">
بررسی Unity, Castle Windsor, StructureMap و Ninject
بسم الله الرحمن الرحیم
بررسی Unity, Castle Windsor, StructureMap و Ninject
یک مقایسه سریع بر روی چهار DI و IoC داشتم و ابزارهای Unity, Castle Windsor, StructureMap و Ninject را با دو سناریو متفاوت بررسی شدند.
در یکی از سناریوها ایجاد اشیا بدون سازنده و در سناریو دیگر اشیا با پارامترهای تزریق شده در سازنده شان بررسی شدند.در ابتدا قبل از هر چیزی سعی کردم مطئن شویم که در زمان فراخوانی متدها اشیا ایجاد شوند. نتیجه ایجاد اشیا به وسیله سازنده پیش فرض به صورت زیر است.
دوره آموزشی AngularJS به زبان فارسی - بخش ششم
بسم الله الرحمن الرحیم
این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک Single Page Application با ASP.NET Web API و Angular.js " مراجعه کنید.
مشاهده تمامی آموزش های دوره AngularJS
دوره آموزش AngularJS
بخش ششم
AngularJS XMLHttpRequest
خواندن یک فایل JSON
در زیر یک فایل JSON استاتیک وجود دارد که بر روی یک وب سرور قرارداده شده است.
[ { "Name" : "Alfreds Futterkiste", "City" : "Berlin", "Country" : "Germany" }, { "Name" : "Berglunds snabbköp", "City" : "Luleå", "Country" : "Sweden" }, { "Name" : "Centro comercial Moctezuma", "City" : "México D.F.", "Country" : "Mexico" }, { "Name" : "Ernst Handel", "City" : "Graz", "Country" : "Austria" }, { "Name" : "FISSA Fabrica Inter. Salchichas S.A.", "City" : "Madrid", "Country" : "Spain" }, { "Name" : "Galería del gastrónomo", "City" : "Barcelona", "Country" : "Spain" }, { "Name" : "Island Trading", "City" : "Cowes", "Country" : "UK" }, { "Name" : "Königlich Essen", "City" : "Brandenburg", "Country" : "Germany" }, { "Name" : "Laughing Bacchus Wine Cellars", "City" : "Vancouver", "Country" : "Canada" }, { "Name" : "Magazzini Alimentari Riuniti", "City" : "Bergamo", "Country" : "Italy" }, { "Name" : "North/South", "City" : "London", "Country" : "UK" }, { "Name" : "Paris spécialités", "City" : "Paris", "Country" : "France" }, { "Name" : "Rattlesnake Canyon Grocery", "City" : "Albuquerque", "Country" : "USA" }, { "Name" : "Simons bistro", "City" : "København", "Country" : "Denmark" }, { "Name" : "The Big Cheese", "City" : "Portland", "Country" : "USA" }, { "Name" : "Vaffeljernet", "City" : "Århus", "Country" : "Denmark" }, { "Name" : "Wolski Zajazd", "City" : "Warszawa", "Country" : "Poland" } ]
دوره آموزشی AngularJS به زبان فارسی - بخش پنجم
بسم الله الرحمن الرحیم
این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک Single Page Application با ASP.NET Web API و Angular.js " مراجعه کنید.
مشاهده تمامی آموزش های دوره AngularJS
دوره آموزش AngularJS
بخش پنجم
AngularJS Filters
Filter ها می توانند به رهنمود ها و عبارت ها با استفاده از یک کاراکتر pipe ( | ) اضافه شوند.
فیلترهای AngularJS می توانند شکل داده ها را تغییر دهند:
Filter | Description |
---|---|
currency | Format a number to a currency format. |
filter | Select a subset of items from an array. |
lowercase | Format a string to lower case. |
orderBy | Orders an array by an expression. |
uppercase | Format a string to upper case. |
اضافه کردن Filter ها به Expression ها
در دو مثال بعدی ما از personController که در مقاله قبل از آن استفاده کردیم بهره می بریم.
فیلتر uppercase همانطور که از نام آن مشخص است فرمت رشته ها (string) به حروف بزرگ تغییر می دهد.
دوره آموزشی AngularJS به زبان فارسی - بخش هشتم
بسم الله الرحمن الرحیم
این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک Single Page Application با ASP.NET Web API و Angular.js " مراجعه
دوره آموزشی AngularJS به زبان فارسی - بخش چهاردهم
بسم الله الرحمن الرحیم
این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک Single Page Application با ASP.NET Web API و Angular.js " مراجعه کنید.
مشاهده تمامی آموزش های دوره AngularJS
آموزش AngularJS
بخش چهاردهم
AngularJS and Twitter Bootstrap
Twitter Bootstrap یک style sheet محبوب است در این بخش می خواهیم نحوه استفاده از Bootstrap در AngularJS را بررسی کنیم.
Bootstrap
برای اضافه کردن Twitter Bootstrap به پروژه AngularJS می بایست کد زیر را به <head> صفحه خود اضافه کنید.
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
در بخش زیر یک مثال کامل از رهنمودهای AngularJS و کلاس های Bootstrap وجود دارد.
دوره آموزشی AngularJS به زبان فارسی - بخش سیزدهم
بسم الله الرحمن الرحیم
این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک Single Page Application با ASP.NET Web API و Angular.js " مراجعه کنید.
مشاهده تمامی آموزش های دوره AngularJS
آموزش AngularJS
بخش سیزدهم
AngularJS Input Validation
فرم های AngularJS و Controller ها می توانند داده های ورودی را اعتبارسنجی کنند.
Input Validation
در بخش قبل، فرم ها و Controller های AngularJS را یاد گرفتید.
فرم ها و Controller های AngularJS می توانند اعتبارسنجی مورد نیاز ما را فراهم کنند و اطلاعات نامعتبر کاربران را به آنها اطلاع دهند.
نکته: اعتبارسنجی سمت Client نمی تواند به تنهایی این اطمینان را به وجود آورد که اطلاعات وارد شده صحیح است و باید اعتبارسنجی سمت سرور نیز حتما صورت گیرد.
دوره آموزشی AngularJS به زبان فارسی - بخش دوازدهم
بسم الله الرحمن الرحیم
این دوره آموزشی تا بخش بیست و دوم مقدماتی خواهد بود اگر به این مطالب تسلط دارید لطفا به آموزش "طراحی یک Single Page Application با ASP.NET Web API و Angular.js " مراجعه کنید.
مشاهده تمامی آموزش های دوره AngularJS
آموزش AngularJS
بخش دوازدهم
AngularJS Forms
یک form AngularJS شامل یک مجموعه از کنترل های ورود اطلاعات است.
HTML Controls
عناصر HTML input را کنترل های HTML می نامند:
• input elements
• select elements
• button elements
• textarea elements
HTML Forms
فرم های HTML عناصر HTML را با یکدیگر گروه بندی می کند.
مثال AngularJS Form