bash.im ithappens.me zadolba.li

Веб-разработка

1502

Сладкая парочка

Дело было давно. Были мы тогда студентами, в армии не служили и делали сайт для интернет-магазина книг (теперь довольно известного в узких кругах). Работали вдвоём, точнее, втроём — я в роли художника, тестера и корректора, мой друг Макс в роли программера и «всего остального», а его невеста Светлана в роли «музы программиста». Работали из дома; связь — по диалапу, иного тогда не было. Поскольку сайт был довольно беден графикой (в противовес многим конкурентам), большую часть времени я занимался тестированием и корректурой того, что писал Макс, потому что творил он быстро, но с ошибками.

Основной задумкой заказчика было разделение книг по жанрам (фантастика, фэнтези, приключения и т. п.) и эдакий визард, гибрид FAQ и поиска, в виде слегка анимированного помощника, похожего на виндусовского «бобика». Помощника этого звали Библиус (идея не наша).

Ночь перед сдачей проекта заказчику, финальный прогон. Макс чинит очередной косяк, попутно вырезает не вполне цензурные подписи к кнопкам и снова даёт мне на проверку. Не знаю, что больше влияло на Макса в тот день, нервы или муза, но опечатался он по Фрейду. Помощник (убранный, кстати, из финальной версии сайта) и один из книжных разделов получили довольно звучные имена, хотя и видимые лишь с отключенными картинками — «Ибблиус» и «ебллетристика». Теперь Макса с супругой, замечательную пару, в узком дружеском кругу мы только так и называем.

1464

Моя музыкальная шкатулка

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

Дохожу до очередного момента и осознаю, что у меня в очередной раз получается монстр: для того, чтобы разобрать BB-коды и смайлы в форумном сообщении, у меня используется десятка три классов. Вздыхаю, начинаю думать о том, что никогда не избавлюсь от своей гигантомании, что вечно я леплю чудовищ и никогда не стану по-настоящему грамотным программистом...

Взгляд падает под стол. Под столом зверь: два ядра по паре гигагерц, два гигабайта оперативы, около полукиловатта на питании, три винта, с десяток внешних устройств... Зверь этот шевелит четыремя десятками процессов, выполняя около полутысячи потоков, следит за состоянием сети, контролирует температуру и работу кулеров, приглядывает за целой охапкой служб... И зачем? Чтобы играть мне музыку.

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

1447

Принеси то — не знаю что

Звонит потенциальный клиент. Он уже получил от нас анализ сайта и коммерческое предложение, а теперь разносит в пух и прах всё ему высланное:

«Мне не нужен был анализ сайта, мне нужна была только стоимость по его продвижению. И мне не нужно коммерческое, а нужна стоимость переделки сайта! Я пришёл к вам потому, что мне понравился ваш сайт. Хотя ваше портфолио мне не понравилось, оно никуда не годится».

И добивает менеджера фразой:

«Я вообще ничего не хочу знать! Я пришёл в студию, как к доктору: сел и доверился. Вы профессионалы и знаете, что делаете».

Вот сидим мы и думаем: то ли похвалил, то ли обругал...

1421

Удаляй и распределяй

Я — программист. Пишу на «плюсах», фортране и питоне. Веб-программирование недолюбливаю, а флэш терпеть не мог никогда.

Как-то раз позвонила (!) мне приятельница, отличный веб-дизайнер из Москвы. Есть, говорит, проект, платят много. Срок — двое суток, Платформа — флэш. Подумал я и придавил своё самолюбие — раз столько платят, можно и взяться.

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

Так и сидели мы 36 часов подряд за компьютерами: я в Самаре, подругав Москве. Связь держали через джаббер. У меня открыты текстовый редактор и руководство по ActionScript в PDF; у неё — родная среда разработки (тогда еще, кажется, от Macromedia). Я вслепую писал код, опираясь только на описание языка, и отправлял его дизайнеру. Она вставляла код, привязывала его к фреймам и объектам, компилировала, сообщала мне ошибки компиляции, а полученный SWF выкладывала на сайт, где и я мог посмотреть результаты нашей совместной работы.

Проект мы сдали в срок. Такие вот чудеса удаленной компиляции и распределённой отладки.

1407

Смелая самокритика

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

Дело было летом прошлого года. Был у нас тогда крупный клиент, которого мы очень уж хотели «развести» на заказ сайта. Отправляю им письмо с таким содержанием:

Уважаемая компания %companyname%!
Мы давно отправляли вам предложение по разработке сайта. Вероятно, условия и цены уже неактуальны, так что я отправляю новое.

Угораздило же меня написать вместо «Д» «Г»! Минут через сорок получаю ответ:
Старое предложение действительно говно! Оценили креатив, будем рады с вами сотрудничать.
С уважением, генеральный директор %name%.

1312

Ангелы на кончике иглы

Как-то раз конвертировал текст из DOC в HTML с помощью Ворда. Все знают, сколько мусора в тегах оставляет известный текстовый редактор. В числе прочего увидел там такой стиль:

margin-bottom: .0001pt;

Сколько это — одна десятитысячная пункта? Один пункт, согласно Википедии, примерно равен 0,35 мм. Делим на десять тысяч и получаем отступ от нижнего края в 35 нанометров. Поистине компьютерная точность! И попробуй ошибиться хоть на один нанометр — весь дизайн сразу разъедется...

1292

Уникальное предложение

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

На первый клик реклама закрылась, а вот на второй один из индексов в SQL-таблице стал уникальным. Я больше часа пытался понять, почему в админке сайта новые страницы не добавляются...

1262

Был товар — и нет товара

Жена в компании руководит отделом по разработке сайтов. Пришло замечание от клиента по функционалу сайта. Цитирую:

Необходимо сделать в админке функцию, чтобы можно было, если мы поссорились с кем-то из производителей, просто снимать галку, но не удалять информацию. Один раз нажали — на сайте все товары их бренда исчезли. Помирились — нажали второй раз, и бренд появился обратно.

Я предложил назвать галочку «Не сошлись во мнениях».

1247

Оно живое и светится

Работали мы с друзьями, как это было модно, фрилансерами — делали людям сайты и всячески причиняли добро. Наученные горьким опытом общения с заказчиками-кидалами, мы старались чётко и подробно прописывать ТЗ и условия договоров. Заказчик в тот раз попался тоже учёный — бумажек требовал уйму, оплату давал только по безналу, а дело хотел иметь только с юрлицом. Договорившись со знакомой конторой, мы приступили к разработке. Надо ли говорить, что мы, заказчик и контора-проводник располагались по разным концам Москвы? Намотался я с бумагами — мама не горюй.

Проект движется к завершению. Всё сделано, мы добиваем стартовый контент сайта. И тут девочка-менеджер — ответственное лицо по проекту со стороны заказчика — начинает названивать по десять раз на дню:

— Добрый день, всё работает отлично! Я тестирую, разбираюсь. Только есть одна просьба: сделайте, пожалуйста, основное меню современным.

Мы, измученные бумажной волокитой, быстренько что-то правим, лишь бы отвязались. Она опять звонит с теми же фразами. Длилось подобное общение полторы недели. Я уже боялся подходить к телефону — все идеи о том, каким должно быть «современное» меню, у нашей команды иссякли. На попытки выяснить, что конкретно она хочет, девочка начинала нечленораздельно мычать в трубку, а заканчивала примерно так:

— И вообще, вы же разработчики, вам лучше знать! У вас там дизайнеры, программисты...

В итоге меня осенило попросить у менеджера пример «современного» меню, которое ей по душе. Оказалось, девочке просто нравится, когда при наведении курсора на пункт меню его фон меняет цвет. А все наши яваскрипт-изыски и вебдваноль-красоты, которые мы рожали две недели — это прошлый век.

Поржав, мы быстренько сгенерили плавно мигающую гифку и запихали её на сайт. Увидев, что под курсором меню начинает приятно помигивать, девочка осталась довольна до соплей и нахваливала нас до конца разработки:

— Можете же, когда хотите!