مشق شب

هرچی دوست داری بنویس... این placeholder سایت ویرگول هنگام وارد کردن متن اصلی است که میتواند به عنوان حرکتی جهت افزایش کیفیت تجربه کاربری استفاده شده باشد. کار مهمی است، زیرا بهبود کیفیت تجربه کاربری یکی از بهترین ارزش هایی است که برنامه نویسان میتوانند برای کاربران سیستم بوجود آورند. تست کردن تجربه ی کاربری نسبت به سایر تست ها نظیر یونیت تست و IntegrationTest دشوار تر است زیرا نیاز به مرورگر دارد. البته با تست کردن خروجی html بدست آمده نیز میتوانیم رابط کاربری خود را تست کنیم ولی برای سایت هایی که شدیدا از javascript استفاده میکنند، استفاده از یک مرورگر ضروری است.ذخیره سازی داده ها، استخراج داده ها، پردازش داده ها، گرفتن ورودی و ارائه خروجی از ابزارهای اصلی دردست برنامه نویسان است. برنامه نویسان میتوانند با این پنج عمل اکثرا وظایفی که به آن ها محول می شود را انجام دهند. مهم اینست که بتوانند برای انجام هر یک از این بخش ها، کدهای درست و قابل اعتمادی بنویسند که این مهم تنها با استفاده از تست کردن یا استفاده از ماژول های از قبل تست شده بدست میاید.هر سیستم باید برای کاربرانش ارزشی فراهم کند که استفاده از سیستم را برای کاربرانش توجیه کند. مثلا یک سایت خبری، با ارائه مطالب ناب و آخرین خبرها میتواند کاربران را از آخرین رویدادهای جهان باخبر کند. یا مثلا یک سایت شبکه اجتماعی به کاربرانش اجازه میدهد تا در محیطی کاربرپسند با دوستان و آشنایان خود رابطه برقرار کنند.این ارزش های سیستم است یا کاربردهایی که سیستم برای کاربرانش به ارمغان میاورد. مسلما فراهم کردن این کاربردها، نیازهایی دارد که باید با استفاده از یکی از ابزارهای در دسترس برنامه نویس برطرف شوند. مثلا جهت برقراری ارتباط کاربران با سایر کاربران، هر دو طرف باید بتوانند در سیستم ثبت نام کنند، که اصلی ترین قسمت آن ثبت اطلاعات کاربران در سیستم است. پس از آن کاربران باید به صفحه ای دسترسی داشته باشند تا بتوانند اطلاعات یکدیگر را مشاهده کنند. همچنین صفحه ای که بتوانند پیغام های خود را به کاربران دیگر ارسال کنند، این پیغام ها در سیستم ذخیره شود و به کاربر مربوطه نمایش داده شود.بنابراین ذخیره، استخراج، پردازش، ورودی و خروجی مهمترین ابزارهای در دسترس برنامه نویسان هستند.ورودی و خروجی عموما در مورد رابط کاربری است که کاربر از آن استفاده میکند. از طریق این رابط، کاربر میتواند هم داده ها یا درخواست های خود را به سیستم ارسال کند، و هم خروجی و یا نتیجه این درخواست ها را مشاهده کند. این بخشی است که عموما به عنوان Front-End شناخته میشود زیرا به صورت مستقیم با کاربران سروکار دارد.در مورد ذخیره و استخراج عموما از ابزارهایی نظیر پایگاه های داده، فایل سیستم، وب سرویس ها و API ها استفاده می شود. از این ابزارها میتوان جهت ذخیره و استخراج اطلاعات استفاده کرد و بخشی است که بیشتر در سمت سرور یا Back-End انجام میشود.در مورد پردازش نیز، عموما اکثر پردازش ها روی اطلاعات در سرور انجام میشود ولی حالت هایی نیز هست که جهت پردازش از سرویس های دیگر نیز کمک گرفته شود. پردازش اطلاعات با استفاده از الگوریتم ها، داده ها را از یک شکل به شکل دیگر تغییر میدهد و آن ها را جهت استفاده برای کاربردهای مختلف آماده میکند.بنابراین ارزشی که برای کاربران فراهم میکنیم اکثرا با استفاده از یک یا چند یک از این ابزارها یا توانایی های کامپیوتر محیا میشود. برنامه نویسی نیاز دارد که ما ابتدا کاربردهای سیستمی که قرار است برنامه نویسی کنیم را مشخص کنیم. یعنی بدانیم سیستمی که طراحی میکنیم چه ارزشی برای کاربران دارد و چه نیازهایی از آن ها را برطرف میکند.سپس میتوانیم مشخص کنیم که برآورده کردن این نیازها، چه ملزوماتی دارد، یعنی چه کارهایی باید انجام شود که این نیاز به صورت کامل برآورده شود. همانطور که گفته شد، در دنیای کامپیوتر این ملزومات عموما شامل یک یا چند از موارد: ذخیره سازی، استخراج، پردازش، ورودی و خروجی داده هاست.در نهایت با مشخص شدن ملزومات میتوانیم راه حلی برای هر یک از آن ها مشخص کنیم که در نهایت با کدنویسی این راه حل و تست نتیجه نهایی، میتوانیم مطمئن شویم که سیستم با به صورت موثر این کاربرد را برای کاربران فراهم میکند.