bash.im ithappens.me zadolba.li

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

10644

Квадрат в квадрате в шестой палате

10 гривен за расшифровку этого бреда от заказчика:

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

Речь идёт о фавиконке.

10565

DOM на миллион квартир

Захотелось в рамках выходного R&D, дабы не рисовать и не придумывать расположение тестовых объектов, взять информацию из ныне популярной браузерной игры с зелёными кристаллами — той, что сделана наподобие аналога 13-летней давности.

Нахожу, открываю, цепляю Огнелисом десяток изображений, которые грузит флешевый ролик, и заталкиваю в спрайт, попутно прикидывая оптимальный формат хранения. Понимая, что надо бы выдернуть всё и разом, запускаю Хром, иду на тот же сайт и погружаюсь в мысли о несовершенстве мира и грядущем апокалипсисе. Тормозит страшно, FPS чуть меньше единицы, i7 моей машины на коленях молит о пощаде. Я привык, конечно, что любая зараза нынче насилует всю тройку нормальных браузеров, но не до такой же степени!

Медленно отхожу от ужаса, на ощупь открывая вкладку загружаемых ресурсов. У меня начинает шевелиться растительность даже там, где её быть не должно: в списке примерно 1300 загружаемых файлов. Худо-бедно сохраняю всё это безобразие, открываю. Каждый уголок, градиент, бордюр, фон, объект, кнопка — отдельным PNG-файлом от 2 до 3000 пикселей по одной стороне. Видимо, для тех, кого не впечатлил список файлов, также прилагается файл с JSON-массивом всех объектов игрового мира с их идентификаторами, свойствами и прочей прелестью. Мир 1000×1000 клеток, на экране при минимальном зуме присутствует фрагмент 25×15. Оптимизация? Не, не слышали.

Вы всё ещё хотите видеть плавную анимацию на своих пятиядерных сотовых телефонах? Смею вас расстроить: вам нужно в прошлое, лет на десять назад.

10545

Была печенька — и нет печеньки

Стою давеча в магазине, печеньки себе с довольной мордой приобретаю. Вечер, пятница — хорошо! Продавщица накладывает печенье на весы и вопросительно смотрит на меня: дескать, хватит?

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

10499

Загончик новомодных кодировок

Звонит мне посреди рабочего дня товарищ и в панике сообщает, что у него весь сайт, вплоть до БД, на Windows-1251, а AJAX выводит текстовые файлы ромбиками — в UTF-8. Начинаю ему рассказывать, как это лечить, и вдруг он говорит:

— Окйе, я понял, более слов не надо, сейчас всё сам сделаю.

Перезванивает через час:

— Решил проблему!
— Как?
— Неважно. А ты не знаешь, как высоту фрейма перехватить?

10390

Всех благ всем по списку

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

%siteName% в лице администрации от имени всех пользователей поздравляет вас с днём рождения! Желаем вам всего хорошего, чтобы можно было выбрать лучшее!

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

Почему-то на ум пришла сценка Аркадия Райкина, где два молодых папаши выгуливали в одинаковых колясках, одеялках и ползуночках своих новорождённых отпрысков (если не ошибаюсь, называется «Штамповщики»).

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

10344

Цена неточного желанья

Не так давно заметили, что на сервере происходят некие странные события. До этого FTP-аккаунт был один, и пользовались им два человека. После появления «странностей» решили сделать каждому отдельный аккаунт и написать в техподдержку о необходимости вести лог того, кто, когда и какие файлы правил по FTP. Настроение уже было предпраздничное, и вот что у нас получилось:

Здравствуйте, уважаемый Дедушка Мороз!

Меня зовут Витя. В последнее время я столкнулся с необходимостью знать, кто и когда делал правки в тех или иных файлах на сервере. Речь идёт в основном о PHP-скриптах, файлах .htaccess и т. п., поэтому, наверное, файлы изображений нас в данном случае не интересуют. Так вот, нам нужно вести лог-файл, куда будет записываться информация об изменении (редактировании) всех файлов на сервере. Дорогой Дедушка, пожалуйста, только не на#би меня, как в прошлый Новый год!

Заранее благодарю!
Витя, 5 лет

Сегодня получили ответ и поняли, что в техподдержке не роботы работают, а живые люди. И трубят они там не меньше нашего.

Ho-ho-ho!

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

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

Скользнувшая меж слов неточность
Дождётся часа, приведя к ошибке.
Ошибка вмиг сведёт на нет старанья,
А это — крах, цена неточного желанья.

Кхм. Прошу прощения, увлёкся. Собственно, я к тому, что на сервере есть /var/log/xferlog, в котором отмечены все правки всех файлов по FTP с указанием IP, юзера и даты. Этого не будет достаточно? Правки посредством SSH можно отслеживать по bash_history, сверяясь со временем авторизации в auth.log.

Твой Дедушка Мороз

10320

Когда тетрис тормозит

Только месяц назад на Хабре видел, как новички в статье про битовые операторы делились на два типа: первые говорили «спасибо», вторые — «на фиг вашу оптимизацию». Две недели назад приглаживал волосы, которые шевелились от ужаса, при чтении комментов о нюансах проектирования и реализации GUI: опять же «на фиг не надо, на глазок сделаем». Во что выливаются подобные вещи в итоге?

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

1. Отсутствие оптимизации. Продукт по совокупности качеств не лучше аналога, вышедшего десять лет назад, но ставит мою машину на колени.

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

3. Интерфейс. Конечно, тут частично виноваты дизайнеры, но иногда заметно, что идея-то была неплохая, но реализация… Вы сами-то пользовались тем, что создали?

4. Баги. Тысячи их, хотя 80% можно было избежать, следуя двум старым правилам: «не доверяй входным данным» и «прорабатывай все случаи».

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

Вершиной всему стал недавно повстречавшийся сайт солидной рекламной компании. На нём есть всё, что можно рекомендовать никогда не делать: звук, видео, анимация, кривой непонятный интерфейс, долгая загрузка, слабая оптимизация… Деградируем, господа, деградируем. И это всё при том, что сейчас, куда ни посмотри, на какой сайт ни зайди, у всех свои сервера, админы и прогеры. А на деле, когда втыкаю в очередной PHP-код error_reporting E_ALL, испытываю дичайший ужас.

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

10284

Комфорт есть, коммитов нет

Задался я героической идеей прочитать весь IT happens — от первой истории и до сегодняшней. Начал, но вот беда: постоянно забываю номер истории, на которой остановился вчера.

Так как я работаю младшим Питон-девелопером, изготовление программок у меня в крови. Написал софтинку, которая запоминает последнюю прочитанную историю, а при открытии IT happens вклеивает в страницу кнопочку с ссылкой на следующую.

Писал от души — для себя ведь, — а тестить пришёл на работу. Тимлид, увидев моё детище, попросил поиграться. На следущее утро об этой софтине знал весь офис. Мне присудили премию в 50 у. е. за улучшение комфортных условий в коллективе и тут же её отобрали: «Если бы ты так рабочие проекты писал…»

10242

Баге попячся

Гулял по биржам вакансий и увидел это:

управляю сайте поправляю ошибке кода, программирую сайте,программы web дизайнер умею писать на Php i Html, могу работать на удаленную работу, для контакта m****hack at yandex.ua

Ей-богу, ничего не изменял.