bash.im ithappens.me zadolba.li

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

4682

Студенческая версия

Устанавливаю новую Visual Studio, попутно идёт её реклама. Читаю: «Веб-разработчики могут быстро выполнять построение...» Дальше не стал: представил толпу веб-мастеров, бодро марширующих по плацу.

4662

Нашу мать?

Работаю я менеджером по продажам в компании, которая сайты разрабатывает. Сижу в обычный понедельник, общаюсь с клиентами. Звонит телефон, и еле слышный женский голос спрашивает: «Эта ваша компания сайты делает?» О, новый клиент, сейчас расскажу, что почём. Почти сразу женщина пытается выйти на директора, я ей прямо говорю, что он в отпуске, и она переключается на меня.

— Для нашей церкви нужно сайт сделать, для верховного престола.
— Вы хотите бесплатно? Благотворительность?
— Давайте вы к нам вечером подъедете.
— Вы знаете, я атеист.
— Ради Божьей Матери!
— Я всё понимаю, но сейчас много работы. Извините, не могу.
— Тогда и Божья Мать для вас ничего делать не будет!

4579

Полуночная красная доска

Подрабатываю фрилансером-верстальщиком. Если бы я был строителем, выглядело бы это так:

— Вот вам план дома, — заказчик демонстрирует прямоугольник с треугольником, размеры не проставлены. План явно чертился от руки. — Постройте мне дом.
— А где в вашем плане разбивка на комнаты, двери, ширина и высота?
— Да ладно, сделайте на свой вкус.

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

— Ну, вроде бы неплохо. Так, что это, лампы дневного света? Снимите и замените на эту люстру! — показывает на жрущую два киловатта громоздкую уродину, которая не освещает и половины комнаты.
— Она будет плохо смотреться, плохо освещать и кушать много электричества.
— Всё равно ставьте, нормально она будет смотреться, мне Вася из первого подъезда её дал.

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

— Так, а давайте-ка дом расширим на 10 метров и сделаем на 5 метров выше!

А сразу нельзя было сказать? Расширяю.

— Нет, так плохо смотрится. Верните, как было.

@$%! Возвращаю.

— Мне не нравится цвет потолка. Перекрасьте его в кисло-зелёный. А стены должны быть покрашены в ярко-красный.
— Но ведь в таком доме никто не будет жить!
— Красьте.

Крашу.

— Во-о-от, так-то намного лучше. Только вот сделайте мне размеры комнат, как у Пети, форму дома, как у Лёши, в форме параллелепипеда, только чуть-чуть покруглее, и чтобы из крыши по ночам торчала красная доска.

Терпение постепенно кончается. Делаю уже не на совесть, а на скорость. Показываю.

— Отлично! Теперь я сюда пару портретов прибью.

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

— Всё, спасибо, офигенная работа, вот ваши деньги.

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

4556

Безальтернативно

Почитал о тексте полукругом и вспомнил историю из собственного опыта. Попался мне как-то на глаза сайт, не желавший отображаться на телефоне вообще — я был согласен на перекошенный вид, но экран браузера был девственно бел. Я не специалист, но некоторое понятие имею. Стало интересно. Дома открыл — всё красиво. Сохраняю, пропускаю через валидатор — идеал. Посмотрел в исходник — а там около ста тегов <img> с картинками pic001.jpg, pic002.jpg и т. д., аккуратно раcтыканных по странице классами class001, class002 и т. д., с аккуратными пробелами (по штуке на брата) в свойстве alt.

4532

PSDдельники

Я работаю HTML-верстальщиком. Ох, и достали меня некоторые веб-дизайнеры!

Есть отраслевой стандарт: макеты давать в формате PSD. Когда вместо этого шлют в векторе (особенно хороши векторизованные фотографии) или в пережатом JPEG — это ещё ладно. Встречаются и достаточно экзотические, хотя и условно приемлемые форматы типа Fireworks PNG — тоже ладно, можно и освоить доселе незнакомую программу, авось пригодится где ещё в жизни.

Дальше — хуже. Человек, именующий себя веб-дизайнером, часто забывает о том, что сайт имеет достаточно мало общего с буклетиком. Получаю картинку (макетом назвать их творения не всегда получается) шириной в 1000 пикселей и сопроводительную записку о том, что это чудо должно растягиваться на всю ширину окна браузера. А как? Моя задача — за таким горе-дизайнером дорисовывать? Кстати, сопроводительные записки — отдельная песня. Как правило, их нет, и мы должны чувствовать задумку гения телепатически. Если же есть, каждая вторая достойна кунсткамеры.

Как работают браузеры, что они умеют, а что нет, веб-дизайнеров не волнует. Разместить текст по кругу — нормально. Заказчику очень нравится оригинальность хода, и объяснить ему, что этот текст иначе как картинкой разместить не получится, а поисковая машина такое не прочитает, никак не получается. По мнению заказчика (уж не дизайнером ли сформированному?), посетитель должен ахнуть, увидев настолько оригинальный ход, и скупить весь магазин. Когда по факту оказывается, что посетитель смотрит, задаётся вопросом «а как такое читать-то?» и уходит, заказчик очень удивляется. А дизайнер обвиняет во всём продвиженцев, не сумевших обеспечить первые позиции в Яндексе.

И всё же макеты… О, макеты! Сотни слоёв на страничке с логотипом и тремя абзацами текста. И слои эти имеют имена типа «Layer 58 Copy 67». Имена эти никакой системы в себе не несут: «Layer 58 Copy 67» может содержать в себе третий пункт главного меню, а «Layer 58 Copy 68» — тень под заголовком третьего абзаца. Уважаемые, вы сами в таких дебрях не путаетесь?

4497

В трубу верхом на огненном жуке

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

Открываю код страницы, смотрю. Так, кнопка — обычная button, к которой прикручен яваскрипт, проверяющий корректность введённых данных. Меняю button на submit, и вперёд. Первый же клик — и одним зарегистрированным пользователем больше. Интересно, сколько людей смогло зарегистрироваться в тот день?

4324

Двое во флаконе, не считая юзера

Работаю сами-знаете-кем. Попал в руки интересный проект, а VS 2008, чтобы открыть его, под рукой не было. Дистрибутив нашёлся на флешке, после чего незамедлительно был скопирован на винчестер. В процессе установки в окне справа был обнаружен сборник лучших цитат Мелкософта. Одна из них касалась AJAX: «Лучшее взаимодействие между дизайнером и разработчиком». Да уж, учитывая, что большинство из нас — дизайнеры и кодеры в одном флаконе, мы должны требовать двойной оклад.

4313

Десятый лишний

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

// Внимание! Заменить на глобальную переменную перед внедрением!!!

В пылу уже не помню чего дизайнеры перерисовали макет, и на страницу стало влазить немного меньше товаров. В пылу отладки все дружно проморгали тот факт, что некоторые позиции из каталога пропадают, а общее число страниц, перемноженное на число товаров на странице, существенно меньше общего числа позиций в каталоге (справедливости ради следует отметить, что каталог и система фильтров отбора товаров были сложны и запутаны).

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

4098

Безопасность без забот

Наткнулся в коде страницы с формой логина на такую функцию:

function check() {

if (document.login.user.value == "user" &&
document.login.password.value == "correct_password")
    window.location.href = 'http://this.site/login.html';
else
    window.location.href = 'http://this.site/loginfehler.html';

return false;
}