anonymous@RULINUX.NET~# Last login: 2024-09-24 14:23:00
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Веб-программисты, чтоб их

Вот такое счастье приключилось на днях, уважаемые товарищи.

Есть на свете одна фирма, занимается, скажем так, доставкой еды. Занимается этим довольно масштабно, отчего, по словам её руководителей, имеет чуть ли не 40%-ную долю рынка в одном городе. Также в наличии пара оффлайновых ресторанов, в нормальных местах. По всем показателям - локальный ынтерпрайз. Значительная часть заказов приходит через интернет-сайт.

Сайт, соответственно, тоже весь такой серьёзный, огромная куча свистоездящих скриптов, анимации, фотографий и прочего. Несмотря на всё это обилие, пользоваться им можно. Сайт, как и всегда в таких случаях бывает, на энтерпрайзном PHP.

Но вот в один прекрасный момент оказывается, что страница с корзиной на сайте перестаёт открываться. А заказы идут массово, отчего каждые 10 минут простоя влетают в не очень большую, но всё же реальную сумму денег. И, по ужасному стечению обстоятельств, единственным, кто может попробовать что-то сделать, оказываюсь я (к этой фирме и к этому сайту я не имею никакого отношения). Код я мельком уже видел, знаю, что там что-то самописное. После выслушивания панических криков в телефонную трубку, я, взяв емакс с tramp-ом в руки, влезаю на сервер и пытаюсь понять, что в этом крутом и прекрасном движке пошло не так.

Движок представляет из себя настоящий энтерпрайз - кучу php с подобием самодельных шаблонов. Найдя на глаз нужный шаблон и закомментировав пару строк, была обнаружена проблема, из-за которой страница перестала работать. Запрос к БД с картинками выдавал фатал еггог из-за перерасхода памяти. И вот, внезапно. я осознал суть того кода.

В базе есть много таблиц, но в данном случае интересными были две - товары и изображения к ним. Просто две таблицы, у товаров есть колонка с id изображения. Профессиональные разработчики, делавшие этот энтерпрайз, делали следующее: доставали все картинки из БД в запросе, а потом, выводя N товаров в корзине, проходились циклом каждый раз по массиву со всеми картинками, делая проверку вроде $img['id'] == $item['image_id']. Товаров же в корзине было в среднем штуки по две на клиента. То есть, условных операций было N_товаров_в_корзине * количество_всех_картинок. Картинок же было очень много. Кроме того, был ещё один неиспользуемый запрос, который доставал ещё около 10к строк из БД, которые потом нигде не использовались.

Я, конечно, всё это поправил, сделал нормальный запрос с простым JOIN-ом, убрал лишнее - всё завелось и стало прям таки летать. Но блин, как такое может быть? Делала сайт солидная фирма, которая в своём портфолио имеет очень толстых и богатых клиентов. У них, небось, зарплата одного программиста больше месячного дохода всего моего предприятия. Модный сайт, офис в дорогом месте, куча манагеров и все дела. При этом код на уровне человека, недочитавшего учебник "пхп за 24 часа", глупые орфографические ошибки в комментариях и в названиях переменных, тормоза на пустом месте, глюки и кривота.

А ведь потом такая фирма срубит контракт на какую-нибудь платёжную систему, и мои персональные данные будут легко попадать в руки всем желающим, потому что кто-то написал вместо программы говно. Куда катится мир?

SystemV(*) (2011-11-24 23:46:54)

Emacs-w3m/1.4.414 w3m/0.5.3

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: Веб-программисты, чтоб их от SystemV 2011-11-24 23:46:54
avatar
Скрыть

Re:Веб-программисты, чтоб их

> При этом код на уровне человека, недочитавшего учебник "пхп за 24 часа", глупые орфографические ошибки в комментариях и в названиях переменных, тормоза на пустом месте, глюки и кривота.


Наглядный пример соответствия размера оплаты качеству работы в справедливом капиталистическом обществе..

> А ведь потом такая фирма срубит контракт на какую-нибудь платёжную систему, и мои персональные данные будут легко попадать в руки всем желающим, потому что кто-то написал вместо программы говно. Куда катится мир?


С пробуждением, Нио..

Bod(*)(2011-11-24 23:57:20)

Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20100101 Firefox/8.0 Iceweasel/8.0
[#] [Добавить метку] [Редактировать] Ответ на: Веб-программисты, чтоб их от SystemV 2011-11-24 23:46:54
avatar
Скрыть

Re:Веб-программисты, чтоб их

> А ведь потом такая фирма срубит контракт на какую-нибудь платёжную систему, и мои персональные данные будут легко попадать в руки всем желающим..

Каким раком они будут легко попадать в руки всем желающим если их ПО скорее сдохнет, чем сделает что-нибудь?

Вообще так по тексту судя ты вылечил одну ошибку и страшно обрадовался что ты круче энтерпрайза.. Хотя на самом деле контора может быть действительно солидная и надёжная - просто на больших объёмах работы становятся критичными даже самые мелкие баги. Хотя странно что владельцы сайта обратились к тебе а не в поддержку продукта. Наверное они пользуются контрафактной копией, держись от них на всякий случай подальше.

anonymous(*)(2011-11-25 00:01:43)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Веб-программисты, чтоб их от Bod 2011-11-24 23:57:20
avatar
Скрыть

Re:Веб-программисты, чтоб их

Меня больше всего смущает то, что людям умудряются впаривать откровенный хлам. Причем сайтостроительство этим очень часто грешит, в отличие от других отраслей народного хозяйства.

Я понимаю, конечно, что клиент в этом всём абсолютно ничего не понимает, но всё же. В автомобилях среднестатистический человек тоже ничего не понимает, однако, если появляются деньги, покупает более-менее приличное авто, и нет такого, чтобы убитый запорожец, перекрашенный для красоты, продавали за 50к долларов под видом люксового автомобиля.

SystemV(*)(2011-11-25 00:03:42)

Emacs-w3m/1.4.414 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:Веб-программисты, чтоб их от anonymous 2011-11-25 00:01:43
avatar
Скрыть

Re:Веб-программисты, чтоб их

>Каким раком они будут легко попадать в руки всем желающим если их ПО скорее сдохнет, чем сделает что-нибудь?
Так тут оно просто сдохло, а в другом случае просто будет дырявым и кривым.

>Вообще так по тексту судя ты вылечил одну ошибку и страшно обрадовался что ты круче энтерпрайза..
Не, я не круче, я вообще неграмотный. Радоваться тем более нечему.

Тем более я знаю, что есть действительно солидный ынтерпрайз, до уровня которого мне в жизни не дотянуться.

>Хотя на самом деле контора может быть действительно солидная и надёжная - просто на больших объёмах работы становятся критичными даже самые мелкие баги.
Может просто конкретный проект они отдали левым оутсорсерам, а остальные их проекты нормальные. Но стоп, какая же это крутая контора, которая отдаёт проекты левым людям?

А баги там не мелкие, там весь код такой. Везде, где нужно делать те же JOIN-ы, люди просто достают всё из базы. Тот же движок лорнг, хоть и не шедевр архитектуры, в разы красивее сделан.

>Хотя странно что владельцы сайта обратились к тебе а не в поддержку продукта. Наверное они пользуются контрафактной копией
Там проект уникальный, так что контрафактной копии быть не может просто потому, что не с чего копировать:) Ко мне они обратились из-за обстоятельств, ни разработчики сайта, ни я в этом не виноваты, просто так вышло.

>держись от них на всякий случай подальше.
Постараюсь.

SystemV(*)(2011-11-25 00:09:55)

Emacs-w3m/1.4.414 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Веб-программисты, чтоб их от SystemV 2011-11-24 23:46:54
avatar
Скрыть

Re:Веб-программисты, чтоб их

Веб-разработка как ынтырпрайз давно скатилась в УГ, это всем понятно.

anonymous(*)(2011-11-25 00:31:20)

Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20100101 Firefox/8.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Веб-программисты, чтоб их от SystemV 2011-11-25 00:09:55
avatar
Скрыть

Re:Веб-программисты, чтоб их

> А баги там не мелкие, там весь код такой. Везде, где нужно делать те же JOIN-ы, люди просто достают всё из базы. Тот же движок лорнг, хоть и не шедевр архитектуры, в разы красивее сделан.

Наверное сказываются какие-нибудь исторические корни упирающиеся в веб-магазин на мускуле, который торговал(ет) небольшой номенклатурой, но при этом покупатели набирали большое количество разных наименований.

anonymous(*)(2011-11-25 00:34:47)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Веб-программисты, чтоб их от anonymous 2011-11-25 00:34:47
avatar
Скрыть

Re:Веб-программисты, чтоб их

> Наверное сказываются какие-нибудь исторические корни упирающиеся в веб-магазин на мускуле, который торговал(ет) небольшой номенклатурой, но при этом покупатели набирали большое количество разных наименований.


Недостатки Астон-Мартина исторически произошли от скрипучей гужевой повозки.. IT-шники - такие айтишники :) Я не говорю о том, что ты не прав. Даже скорее всего так всё и было. Но всё равно смешно.

Bod(*)(2011-11-25 00:40:37)

Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20100101 Firefox/8.0 Iceweasel/8.0
[#] [Добавить метку] [Редактировать] Ответ на: Веб-программисты, чтоб их от SystemV 2011-11-24 23:46:54
avatar
Скрыть

Re:Веб-программисты, чтоб их

> У них, небось, зарплата одного программиста больше месячного дохода всего моего предприятия
сфига ли ты так решил? успешность софтверной фирмы определяется в первую очередь манагерами, которые впаривают протухт заказчику. Особенность софта вообще как раз в том и состоит, что заказчик не может адекватно сравнивать софтовые продукты и видит недостатки покупаемой проги не сразу, а через какое-то время работы с ней, когда никто уже не станет всё сносить и искать другое. Я неоднократно про это писал же. Вон даже мси индусов-быдлокодиров за $200/мес держат. Чем крупнее фирма, тем лучше понимает что кодер это тот сотрдник от которого доходы зависят меньше всего.

bugmaker(*)(2011-11-25 01:43:59)

Opera/9.62 (X11; Linux i686; U; en) Presto/2.1.1
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!