Ми використовуємо куки (cookies) - вони допомагають нам надавати вам послуги найкращого рівня.
Користуючись нашим сайтом ви надаєте згоду на те, що ми можемо зберігати та отримувати доступ до куків (cookies), які збережені на вашому устаткуванні.

Новини

2-21-2008 Стаття: Project: Dotnetification

Найбільшим для нас проектом цього року є переписування всіх веб-сторінок. Хеттрик досяг тієї межі, коли старий код є неефективним, а кожна нова зміна робить його все більш важким для розуміння та роботи. Під час переписування ми використаємо кращу платформу, яка, як наслідок, покращить продуктивність та спростить розробку нових можливостей.

Негативною стороною даного проекту є те, що в цей період ми можемо відчувати більшу кількість помилок, ніж зазвичай. І відтоді, як ми почали минулого року здійснювати цей проект, поява помилок є доконаним фактом. Але деякі з них насправді такими не є. Можливо, знання причин певних проблем і того, що доброго дасть Хеттрику цей проект, дещо збільшить вашу терплячість. Як не-технік я можу сказати, що мою терплячість це знання збільшило, тож я поділюсь своїм досвідом з вами.
Всі мої колеги по роботі є дуже милими та приємними, але іноді я почуваюсь зовсім чужим серед них. А це через те, що вони схиблені на комп'ютерах (в моєму світі кожен, хто працює програмістом є схиблений), а я не (настільки) схиблений. Це також означає, що вони розмовляють божевільною комп'ютерною мовою яка мені не зрозуміла. І навіть незважаючи на це, іноді я не можу уникнути вивчення чогось нового. Нещодавно вони спромоглись додати до мого словникового запасу нове слово: "дотнетифікація". У мене є сумніви, що це слово справжнє (відверто кажучи я впевнений, що воно таким не є), але мої високоосвічені колеги промовляють його увесь час так, ніби розмовляють про Месію.

В одній з їхніх книжок я побачив, що йдеться про .NET (і, як результат, - .NETифікацію). І хоча вони впевнені, що це є плодом моєї фантазії, я переважно бачу надокучливі проблеми, що з цим пов'язані. Я також знаю, що я далеко не єдиний користувач Хеттрику якого дратують ці проблеми. Я знаю, що мої колеги не є дурнями. І напевне, вони праві, коли кажуть, що .NET - це добре. Але я не розумію, чому це добре або чому це нам необхідно. Коли вони повідомили мені, що все буде переписано на .NET, я почувався так, ніби мені показали новий світ.

ASP та .NET
Коли Хеттрик востаннє був переписаний, в кінці 2000, всі веб-сторінки були зроблені на ASP. В перекладі з божевільної комп'ютерної мови ASP (Активні Серверні Сторінки - Active Server Pages) - це платформа, на якій будуються веб-сторінки. .NET - це те, що ці схиблені називають "фреймворк". Відповідно до мого словника це означає: "скелетна структура, яка призначена для підтримки або оточення чогось". Частиною цього фреймворку є ASP.NET, більш нова та актуальна версія ASP. В ASP всі сторінки є окремими елементами, тоді як всі сторінки написані на .NET пов'язані між собою та працюють разом.

Причини для дотнетифікації
Мої колеги повідомили мені, що ми досягли такої точки, коли наші сторінки мають бути переписані. Частково код вже застарів і може бути реалізований значно ефективніше. Проблема ускладнюється тим, що новий код дописувався до сторінок, до яких додавалась нова функціональність, і кожен такий додаток робив сторінки складнішими для розуміння та роботи. Переписування їх на ASP.NET (дотнетифікація, якщо висловлюватись цією шаленою комп'ютерною мовою) покращить їх продуктивність. Що ще важливіше - ми отримаємо стандартизовану платформу, на якій буде значно простіше розробляти нові можливості. Крім того, ми зможемо надати цим можливостям набагато кращого вигляду, і все це буде потребувати значно меншої кількості зусиль.

Вони також заявляють, що працювати з .NET значно веселіше: "Робота в ASP схожа на нескінченну дискусію про дейтрейдинг, в той час як робота в .NET - як обговорення нових ідей для двигуна гри." Мені важко з цим сперечатись.

.NET для Хеттрику
В кінці 2006 ми написали першу сторінку на .NET. Відтоді всі нові сторінки пишуться з його використанням, і ми також дотнетифікували деякі старі сторінки. Юнацькі академії, список матчів та закладки - це приклади сторінок написаних на .NET. Ви легко можете помітити, які сторінки написані на .NET, а які - на ASP. Всі сторінки, що закінчуються на asp, - написані на ASP, а всі з закінченням aspx - з використанням .NET.

Здається, .NET закоханий у стартову сторінку
В цій схибленій комп'ютерній мові немає відповідника слову "кохання", але скидається на те, що .NET має роман зі стартовою сторінкою. Я вже не зможу полічити кількість разів, коли я хотів подивитись перелік матчів або молодіжну команду а натомість був переадресований до стартової сторінки. Як не дивно, мої колеги мають цьому логічне пояснення:
Коли ви заходите в Хеттрик, ви робите це в ASP. Тим часом вам видається "підробний" логін в .NET. Але оскільки він підробний, часом трапляється таке, що .NET втрачає зв'язок з вами. Зазвичай (якщо ви втратили зв'язок з ASP) ви отримуєте повідомлення про таймаут і мусите заходити знову. Але в цьому разі ви будете переадресовані до стартової сторінки, оскільки зв'язок з ASP не втрачений.

До того, як я дізнався про причину, така поведінка сайту дратувала мене ще більше, ніж звичайний таймаут, але тепер я не так переймаюсь з цього приводу. Хочу зазначити, що ми, звісно, всіма силами намагаємось мінімізувати подібні проблеми і з часом все стане на свої місця. Але, на жаль, це не може бути повністю виправлено доти, доки весь сайт не буде переведений на .NET (ймовірно, на це піде рік, але найбільша частина роботи буде виконана протягом весни).

.NET, генератор проблем?
Було б просто звинуватити у всіх можливих проблемах дотнетифікацію, але навіть особа, що не спілкується схибленою комп'ютерною мовою, як от я, розуміє, що це не було б вірно і також не зробило б речі кращими. В такому оточенні, яке постійно розвивається та змінюється, яким є Хеттрик, просто неможливо уникнути деяких проблем продуктивності спричинених збоями в роботі апаратного чи програмного забезпечення, чи комбінацією того й іншого. Зараз мені здається, що більшість користувачів Хеттрику вже звикла до подібних проблем, але описана вище проблема "стартової сторінки" та деякі подібні можуть дещо обурювати вас. Але якщо між вами та мною є щось спільне, сподіваюсь, вас трохи заспокоїть знання причин.

Щось зламалось...
Таке повідомлення подобається нам анітрохи не більше, ніж вам, і ми докладаємо всіх зусиль, щоб мінімізувати, наскільки це можливо, число подібних повідомлень. Ми вже виконали певні зміни в структурі системи, які зробили нас стійкішими до високих навантажень на сайт і дозволять нам тримати якість обслуговування на високому рівні, перш за все це стосується продуктивності. Структурні зміни в системі також призвели (і один колега навіть стверджує, що саме так все й було заплановано!) до появи запасного сервера, який буде використовуватись для тестування дотнетифікації. Щойно сторінка була дотнетифікована, ми будемо завантажувати її на цей тестовий сервер, де наші добровольці будуть деякий час випробовувати її перед тим, як зробити доступною для всіх вас.

Тестування не є куленепробивним
Мені б дуже хотілося сказати про те, що тестування є стовідсотково надійним, але я не можу. Іноді трапляється, що помилка проходить через етап тестування непоміченою. Часто причиною до цього стають різні браузери та додатки до них, або проблеми можуть з деяких причин проявлятися у певний час або за певних обставин, або ж внаслідок поєднання багатьох специфічних сценаріїв.

Обіцянка золотих гір
Я не буду намагатись робити порожніх обіцянок, які, очевидно, я не зможу виконати. І, думаю, мої колеги погодяться з цим. Ймовірно, дотнетифікація призведе до появи ще деякої кількості помилок. Ми будемо докладати всі можливі зусилля до того, щоб їх не виникло, і будемо намагатись максимально швидко усувати ті, які все ж пролізли крізь перевірки. Але я також сподіваюсь, що ви зможете впоратись з ними краще тепер, коли ви знаєте, що ж таке коїться і до чого це врешті-решт призведе - до світлого майбутнього Хеттрику!
 
Server 070