Рубрика «баги» - 12

Недавно в нашей фирме устроили лекцию «Engineering Practices» и это оказалось введением в TDD.
О нет, только не это! «Иногда они возвращаются» (с) Стивен Кинг
Опыт работы с TDD и размышления о том, как надо тестировать код

На прошлой работе мы потратили 3 года на попытку внедрить эту методику. Это было мучительно. Менеджмент искренне верил в то, что TDD решит проблемы фирмы. Реальность разительно несоответствовала этому. Все это будило затертые воспоминания о Советской эпохе. Вспоминались висящие на стенах плакаты «Вперед к победе коммунизма» и фразы вроде «Учение Маркса всесильно потому, что оно верно».
Опыт работы с TDD и размышления о том, как надо тестировать код

Так что же не так в консерватории c TDD?Читать полностью »

Полный уныния и отчаиния первый выпуск разлекательного подкаста о смешных багах в программном обеспечении от бывших ведущих «Ruby NoName Podcast». Гриша™ и labria соскучились по былой славе и решили записать что-то новое!
Слушать тут, ибо как теперь на хабре постят подкасты — я без понятия :)
В этом выпуске о NASA, Java, Ruby, Chef.

Сделай нам приятно — зафолови нас @073APodcast
Ну и мы конечно всегда рады любому фидбеку, ибо не писались давно и уже толком не помним какого это — разгребать нецензурщину в инбоксе :)

Creative Commons LicenseЧитать полностью »

Предыстория

История начинается с одного древнего проекта с web-интерфейсом написанным ещё под IE5-6. Разумеется этот мамонт под новыми версиями IE работает только в quirks mode, под остальными браузерами даже отрисовывается с трудом а про работоспособность мечтать и не приходится.
Одним светлым днём с небес прилетел глас начать постепенно переписывать это всё на современные браузеры и работа закипела.
99% системы представляли из себя реестры в виде таблиц и форм отдельной карточки из этого реестра. Заголовок таблицы должен быть фиксирован. В старой версии это делалось какими-то специфичными костылями c position которые не работали уже в IE7. jQuery уже был подключён, плагин для фиксированного заголовка таблицы гуглится легко. Не поддерживает заголовки с несколькими строками и различной комбинацией col и rowspan'ов? Ну ладно, можно и самому поработать немного, всё равно лезть в код плагина и адаптировать его под специфичную обёртку таблиц.
Казалось бы всё хорошо, но время от времени стали возникать артефакты в виде уползания столбцов на 1 пиксел, местами сдвиг пропадал или накапливался до 3-4 пикселов. Причём в Chrome данный глюк не наблюдался.
image
Читать полностью »

Верстка писем и email рассылок. Немного магии Gmail
Автор изображения Mike, Creative Mints

Добрый день. Я уже не раз писал о том, что media_queries в почтовых клиентах работают прекрасно. Даже outlook.com в браузере их адекватно воспринимает. Но вот gmail на яблоке и андроиде так не считает.

Если в случае остальных клиентов мы можем сделать, например так:

@media only screen and (max-width:480px) {
.big_img { display:none !important; }	 .small_img { display:block !important; }
}
@media only screen and (max-width:600px) {
.big_img { display:block !important; }	 .small_img { display:none !important; }
}

Читать полностью »

image

Существует общеизвестная практика, когда крупные компании платят специалистам по информационной безопасности специальное вознаграждение за найденные баги — так, к примеру, поступают Google, Facebook, Mozilla и прочие.

Некая компания High Tech Bridge (CEO зовут Ilia Kolochenko) решила проверить на прочность сайты Yahoo, которая в списке выше не успела обозначиться, по крайней мере, публично. Примерно за 45 минут только с помощью Firefox была обнаружена первая XSS-уязвимость, о которой тут же было сообщено в Yahoo. Там, однако, решили, что информация не может быть оценена по достоинству, потому как в компании о ней уже известно.
Читать полностью »

Добрый день всем! Ситуация такая, работаю на техподдержке и в последние пару недель появилось множество обращений от абонентов о том, что через роутер инет не работает. Некоторые приносят роутеры в офис к нам, к остальным ходят техники и везде одинаковая проблема — роутер не выдает по dhcp шлюз на любые подключенные устройства и соответственно если ручками его не прописать, то инет не работает + невозможно зайти на интерфейс роутера, пароли не подходят. У всех абсолютно пользователей роутеры модели TP-Link (741, 841, 940 итд). Приходится делать полный сброс настроек и по новой настраивать, этот геморрой порядком поднадоел.
Читать полностью »

Meta

Доброго времени суток!

В данный момент я работаю над достаточно большим проектом, состоящим из нескольких модулей, и использующий разные технологии. Но сам сайт, а точнее его back-end написан целиком на Node.js, а Riak является основным хранилищем. Ничего не буду писать про сам Riak, на хабре и так есть отличная обзорная статья.

Как и для любой другой NoSQL базы данных, чтобы интегрировать функциональность БД в Node.js вам необходимо использовать драйвер или клиент этой базы данных, кому как нравится называть. Вам это надо для удобства пользования и составления запросов к БД, конечно вы можете это делать и напрямую, используя незатейливую команду curl.

Сразу хочу оговориться, что клиенты или драйвера для различных NoSQL БД называют по-разному, я же буду говорить или как об ORM или как о клиенте конкретной ДБ. Кстати, имено так о себе и пишут в Riak-js репозитории:

Node.js client for Riak.

Вот некоторые, а возможно что и все Node.js клиенты для riak

  • riak-js — используемый в нашем проекте
  • Simpleriak
  • Riak-PB — использует protobuff, может быть немого быстрее

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

Читать полностью »

В техническом блоге «Спотифая» было опубликовано интересное исследование на тему взлома аккаунтов сервиса путём использования особенностей канонизации вводимых пользователем данных. Это стало возможным благодаря тому, чем спотифаевцы гордятся, — полностью юникодному логину. К примеру, пользователь легко может иметь снеговика ☃ в качестве имени аккаунта, если он того пожелает. Реализация подобного, впрочем, с самого начала доставляла некоторые неудобства.

Несколько лет назад в Великую пятницу на форуме техподдержки было опубликовано сообщение о возможности взлома любого аккаунта на сервисе. Представитель компании попросил продемонстрировать это на примере его собственного аккаунта, и через несколько минут ему был задан новый пароль и создан новый плейлист. Это немедленно привлекло внимание нескольких сотрудников, вынужденных провести Пасху в попытках закрыть «дыру». В связи с особенностями уязвимости регистрация новых аккаунтов была временно закрыта.

Хакер действовал следующим образом: при желании взломать аккаунт с именем, скажем, bigbird, он регистрировал аккаунт с именем ᴮᴵᴳᴮᴵᴿᴰ (в Пайтоне эта строчка выглядит как u’u1d2eu1d35u1d33u1d2eu1d35u1d3fu1d30′). После запроса ссылки на сброс пароля задавался новый пароль, который подходил к аккаунту bigbird.
Читать полностью »

Как вы, возможно, знаете — вчера(18.06.2013) был день рождения Пола Маккартни (год рождения — 1942). Я — не большой фанат, так что об этом мне сообщили соц. сети — Вконтакте и Фейсбук. Странным было только то, что в Вконтакте писали, что ему исполнился 71 год, в то время как на Фейсбуке — что 70. Решил сверить эти данные с Википедией, и вот что обнаружилось.

Под катом — суть проблемы (ничего критического, но довольно занимательно, на мой взгляд).
Читать полностью »

Деньги полученные с использованием бага Diablo 3 пойдут на благотворительность
Как заявил директор по производству студии Blizzard, деньги заработанные игроками, использовавшими недавно выявленный баг в экономике Diablo 3 пойдут на благотворительность. Также Blizzard отдаст и свой заработок, который выражался в комиссии со сделок в игре.
Средства получит компания Children’s Miracle Network Hospitals, которая занимается лечением детей в 170-ти детских клиниках по всей Северной Америке.
Всего багом воспользовались 415 игроков. Об общей сумме заработанных ими денег не сообщается.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js