bash.im ithappens.me zadolba.li

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

9848

Обезжиренный жир под майонезом

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

<li class="bold-segoe-V"><span style="font-weight: normal;"><strong>пункт_списка</strong></span></li>

Вот кто так делает? Русские? Индусы? Инопланетяне?

9696

Pencil Markup Language

2009 год. Я обычный эникейщик, который вовсю пытается стать FreeBSD’шником. Достаточно часто друзья и не только просят помочь сделать то или иное с сервером, вплоть до удалённой работы за оклад. Постоянно высылать резюме с навыками неудобно — решил сделать домашнюю страничку.

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

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

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

9681

Куплю однокомнатный сайт в вашем домене

— Сколько стоит сайт?
— Сколько стоит дом?

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

— Э-э… Ну, сколько стоит сайт для компании, которая занимается *****?
— Сколько стоит дом в городе N.?

Обычно после этого люди понимают, что рассказать всё-таки надо чуть больше, чем ничего, однако всё равно говорят слишком мало, поэтому получают очень неоднозначный ответ:

— Разработка сайта будет стоить от X до 5X.

А цена конкретизируется в момент формирования ТЗ, лишь бы в интервал попасть.

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

Если вдруг это читает будущий заказчик чего-либо, помни: хочешь конкретики — предоставь исходные данные.

9677

Бар «Двойной инкремент»

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

В качестве библиотеки для общения с базой MySQL на сайте используется библиотека ActiveRecord. Соответственно, весь код составил пару строк:

$faq = Faq::find($id);
$faq->views++;
$faq->save();

Получаем нужную запись, увеличиваем значение поля на единицу и сохраняем.

При тестировании выяснилось, что счётчик посещений при заходе увеличивается не на один, а на два. Перепроверил на всякий случай структуру таблицы в базе данных, попробовал на всякий случай обновить значение другим способом (вдруг ошибка в библиотеке?), погуглил по запросу «activerecord double increment problem» — всё без толку. Не понимая, что может быть не так в коде, ушёл спать, так как обычно это помогает — за ночь мозг переосмысляет проблему и утром выдаёт свежее решение.

Решения утром не оказалось, и я уже был готов поверить в сверхъестественное и выводить количество посещений как значение поля, делённое на два, но в очередной раз перезагружая страницу с этим адским счётчиком, в статусной строке браузера я заметил промелькнувшее на мгновение слово «yandex». Да, я тестировал сайт в Firefox с установленной панелью RDS bar, которая дёргала страницу синхронно со мной, увеличивая счетчик ещё на единицу.

9666

Артефактово-кракозябрьский словарь

Сижу ночью, пишу сайт. Перетаскиваю очередной файл в Notepad++, смотрю — с кодировкой что-то совсем плохо, вообще какая-то дикая кракозябра. Зову мужа. Подходит.

— Тебе дырку в стуле проделать и мышку на пол положить?

Показывает на расширение jpg. Видимо, спать пора, да вот теперь ржач не даст.

9658

А стулья потом

История о сайте с трубой напомнила мне о таджике, который работал у друга. Разговоры были такие:

— Тут вот надо поставить котёл.
— Без проблем, деньги давай предоплатой, насяльника!

Поставили котёл.

— А теперь надо трубы ввести.
— Тут, насяльника, низзя ввести, стены мешать будут.
— Что делать?
— Котёл надо снимать, стену заделывать, котёл ставить туда. Или будет некрасиво, и кирдык трубам в мороз.
— Делайте!
— Без проблем, деньги давай предоплатой, насяльника!

Расплатились.

— Окно ставь сюда!
— Без проблем, деньги давай предоплатой, насяльника!

Поставил.

— Что-то низко… Повыше надо.
— Без проблем, деньги давай предоплатой, насяльника!

В очередной раз:

— А ты не видел или не знал, что ли?!
— Видел, знал, насяльника. Ты говоришь и платишь — я делаю.

9654

Сайт с верандой и трубой

— Добрый день. Я хочу построить у вас дом.
— Да, какая конструкция вас интересует?
— Я хочу такой, двухэтажный, как у всех!
— Как это — «как у всех»? Какая облицовка, планировка, какая крыша?
— Да я же не строитель! Вы профессионалы, вам виднее. Делайте, чтобы получше и как все делают.
— Хорошо! Вот вам макет.
— Да! Всё замечательно, делаем!

Проходит время.

— Ой! Что вы сделали! Там же окна с южной стороны в спальне!
— Всё сделано, как на макете. Вы же не давали пояснений.
— А сами что, не могли догадаться? А это что за пристройка? Разберите её!
— Но она же была на макете. Мы её месяц делали.
— Ну и что? Разберите! Вы же профессионалы, вам легко это сделать. А почему эта дверь открывается? Я хотел, чтобы она была замурована! А почему крыша черепичная?
— Вы сказали: «Как у всех». У большинства черепичная.
— Да я вам не за то, чтобы вы думали, плачу! Вот у моих знакомых…

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

9617

Скачать бы интернет

— А где взять программу *****?
— Это веб-приложение.
— Ну, а где его взять-то?
— Зайдите браузером по адресу *****.ru.
— Ясно. А как её установить?

Я обожаю наших клиентов.

9590

ЧСВ РЖД

На днях надо было срочно заказать подруге билет из Москвы в Уфу и обратно. Облазив интернет, принял решение всё-таки воспользоваться сайтом РЖД.

Я интернет-разработчик и каждый день придумываю интересные, а главное, удобные штуки для абсолютно обычных пользователей глобальной сети. У меня ушло полчаса, чтобы понять, что и как нужно сделать на официальном сайте РЖД. Всплытие каких-то подсказок, которые ещё больше вводят в ступор, разбитая сетка вёрстки, поломанные скрипты, исчезающие меню… Миллиардная компания не может позволить себе сделать удобный сайт, где архитекторами было бы всё продумано, дизайнерами отрисовано, верстальщиками выровняно, программерами реализовано, тестировщиками просмотрено под нагрузкой?

Но больше всего меня впечатлило окно-попап с расшифровкой заклинаний «У1», «2Л», «1Н». Руководство РЖД серьёзно считает, что я должен каждый раз открывать новое окошко и вычитывать, что означают эти маркировки? Напишите, блин, сразу доходчиво, что и как. Нет? Найдём другой способ доставки себя в Уфу.

Нафиг! Купили билет на самолёт, а РЖД со своим ЧСВ пусть ездит полупустым.