Как стать автором
Обновить

Массовые проблемы с аутентификацией на github.com

Время на прочтение1 мин
Количество просмотров9.3K

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

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


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

Текущий статус проблемы доступен по ссылке

Читать далее
Всего голосов 11: ↑6 и ↓5+3
Комментарии23

How a PVS-Studio developer defended a bug in a checked project

Время на прочтение4 мин
Количество просмотров602

The PVS-Studio developers often check open-source projects and write articles about that. Sometimes, when writing an article, we come across interesting situations or epic errors. Of course, we want to write a small note about it. This is one of those cases.

Read more
Всего голосов 2: ↑1 и ↓10
Комментарии0

How PVS-Studio prevents rash code changes, example N2

Время на прочтение2 мин
Количество просмотров602

Blender bug, PVS-Studio
When developers do make mistakes, it's often accidental or because the developers are in a hurry. These errors often make their way into small edits to the code. Let's review one of these cases: a developer fixes an error and introduces a new one simultaneously.

Read more →
Всего голосов 3: ↑1 и ↓20
Комментарии0

Python: Явное лучше неявного

Время на прочтение6 мин
Количество просмотров14K

Приветствую, хабраюзер! Эта история началась со странного падения Python приложения. Сначала я не придал внимания данной проблеме: приложение запущено в Openshift и периодически падает. К такому поведению может приводить всякое, например, иногда ноды обновляют, а иногда случаются аварии и тогда одну или несколько нод выводят из эксплуатации. Однако со временем проблема стала регулярной и начала проявляться некоторая закономерность. При этом в Sentry не было каких-либо ошибок. Я был полностью уверен, что это какая-то типовая проблема и ее можно быстро решить, но как же я ошибался.

Читать далее
Всего голосов 42: ↑41 и ↓1+48
Комментарии13

The Standoff 365: на PHDays 11 презентовали платформу bug bounty

Время на прочтение5 мин
Количество просмотров1.4K

На PHDays 19 мая была представлена платформа The Standoff 365 Bug Bounty, которая объединит компании и исследователей безопасности для поиска уязвимостей и оценки защищенности организаций. За первые два дня на платформе зарегистрировались 366 белых хакеров. Первыми на ней разместили свои программы «Азбука вкуса» и Positive Technologies. Спустя всего 20 минут после запуска был получен первый отчет об уязвимости.

Подробнее
Всего голосов 2: ↑1 и ↓10
Комментарии2

Охота на toggle: Как простую фичу сделать максимально сложно

Время на прочтение7 мин
Количество просмотров4.4K

– Хей, Катя, у нас там багуля небольшая завелась. Посмотри, плиз.

– Не вопрос, бро. В чем проблема?

– Toggle сбрасывается при возврате на экран. Изи ваще!

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

Всем привет, меня зовут Катя, я – Android-разработчик компании SimbirSoft, и я помогаю улучшать продукт в hh.ru. В статье расскажу историю о том, как разработчики сразу двух компаний, техлид Android и даже Head of Mobile писали минимальную фичу на MVI с тоглом, и всё равно упустили баг после долгих часов проектирования. Разберемся, на что идут программисты ради хорошего UX, почему первоначальное решение было неверным, и как это можно исправить.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии2

Баги в Hello World

Время на прочтение3 мин
Количество просмотров9.8K

Hello World, должно быть, самая часто создаваемая компьютерная программа. Уже десятилетия это первая программа, которую пишут люди, когда начинают изучение нового языка программирования.

Конечно же эта простая программа не должна иметь баги. Верно?

Читать далее
Всего голосов 27: ↑21 и ↓6+19
Комментарии21

Как стажёр оптимизировал запросы и нашел баг в Django

Время на прочтение10 мин
Количество просмотров20K

Недавно я нашел баг в Django, создал тикет с исправлением и его приняли.

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

Читать далее
Всего голосов 33: ↑33 и ↓0+33
Комментарии10

Как PVS-Studio защищает от поспешных правок кода, пример N6

Время на прочтение3 мин
Количество просмотров2.3K

Программисты часто допускают ошибки в коде по невнимательности или из-за спешки. Если вам интересно, как можно быстро находить такие ошибки, то мы рады приветствовать вас в очередной статье из цикла "Как PVS-Studio защищает от поспешных правок кода". Сегодня мы обратили внимание на проект FreeCAD.

Читать далее
Всего голосов 9: ↑5 и ↓4+3
Комментарии1

Как Чинить Программные Ошибки?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.9K

В программировании микроконтроллеров регулярно приходится занимаются починкой bug(ов).

При этом все bug(и) уникальные. Поиск причины каждой конкретной осечки это скорее искусство. Починка программ сродни работы детектива.

Есть ли универсальные приемы того как искать причину программных ошибок?

Считаю, что да. Подробности в тексте...

Читать далее
Всего голосов 11: ↑5 и ↓6+2
Комментарии40

Борьба с временем ответа сервиса

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров4.6K

История о том, как время ответа сервиса выросло в несколько раз в течение месяца, в чем была причина, и какое в итоге нашли решение.

Расскажите мне немедленно!
Всего голосов 8: ↑4 и ↓4+4
Комментарии18

Прожарка java.lang.String

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.1K

Давайте абьюзить баг в java.lang.String, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.

Вкуснотища. Читать далее.
Всего голосов 23: ↑21 и ↓2+26
Комментарии14

Покажи мне свой гитхаб

Время на прочтение1 мин
Количество просмотров10K

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

Мне в жизни не повезло - у меня он маленький. Но зато какие люди побывали на нём - смотрите: Гвидо Ван Россум, Леннарт Поттеринг, и - о боже! - сам Линус Торвальдс!

Только они об этом ещё не знают.

Читать далее
Всего голосов 54: ↑4 и ↓50-45
Комментарии29

Захватывающая ловля багов, которые портили работу Unbound

Уровень сложностиСложный
Время на прочтение38 мин
Количество просмотров13K

Привет, меня зовут Сергей Качеев, я старший разработчик в отделе сетевой инфраструктуры Яндекса. Сегодня я расскажу целый сетевой детектив о том, как мы искали баг, который убивал DNS сервер Unbound. Приготовьтесь, он будет долгим.

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

В самом начале на графиках нагрузочного тестирования я увидел очень плохие результаты: случайным образом абсолютно все запросы нагрузочного теста таймаутились, но сервер, который был под нагрузкой, никак не реагировал на проблему. Как выяснилось позже, по чистой случайности я допустил ошибку в конфигурации нашего плагина Pandora, и в итоге он сам ходил в DNS на каждый запрос, чтобы узнать ip адрес тестируемого сервера. Возможно, это сыграло мне на руку и помогло найти первую из проблем, а потом и вовсе задало вектор поисков остальных багов. А в Unbound их накопилось достаточно.

Читать далее
Всего голосов 95: ↑95 и ↓0+95
Комментарии8

Что происходит с вашим отчётом внутри Bug Bounty от Ozon: статусы, метрики и почему всё так

Время на прочтение7 мин
Количество просмотров3.4K

Если вдруг вам негде провести код-ревью вашего проекта, присылайте код в программу Bug Bounty – там ваши наработки как минимум кто-нибудь посмотрит ? 

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

Давайте в этой статье заглянем в чёрный ящик – посмотрим, что происходит с вашим отчётом об уязвимости на нашей стороне, то есть в Ozon. 

Читать далее
Всего голосов 39: ↑39 и ↓0+39
Комментарии8

Google Chrome vs Загрузчик файлов

Время на прочтение1 мин
Количество просмотров23K
Приветствую!

Забавный нюанс был мною сегодня обнаружен в работе с Google Chrome, а именно удалось эту самую работу прекратить
Как?
Всего голосов 40: ↑14 и ↓26-12
Комментарии21

Баг месяца: эстафета от PC-Lint к PVS-Studio

Время на прочтение3 мин
Количество просмотров5.4K
Недавно мы опубликовали 2 статьи про ТОП 10 ошибок в открытых проектах C++ и C# за предыдущий 2016 год. Статьи понравились читателям и это натолкнуло на мысль: почему бы не сделать такой ТОП для каждого месяца? Ведь на нашем сайте огромная база ошибок, которая хорошо структурирована и из которой можно выбрать самые интересные баги, найденные в определенный промежуток времени. В этой заметке будет рассказано о новой рубрике «Баг месяца» и о том, из чего мы исходили, когда готовили список ошибок для нее.

Picture 1
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии6

Печать на произвольном размере бумаги в Linux

Время на прочтение66 мин
Количество просмотров14K
Какое-то время назад мне понадобилось распечатать документ на бумаге нестандартного размера. Я даже не ожидал, что это может быть так затруднительно. Сейчас я бы хотел рассказать как я эту проблему решал. Я нашёл обходное решение, но по-хорошему надо исправить модуль печати kde так, чтобы не нужны были никакие костыли. Цель этой статьи — поделиться информацией, которую я собрал. Как минимум это будет кому-то полезно, а как максимум — найдётся человек, который исправит данную ситуацию.

Кого заинтересовало, прошу под кат.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии18

Timebug часть 2: интересные решения от EA Black Box

Время на прочтение4 мин
Количество просмотров9.4K
Привет, хабр! В своей предыдущей статье я рассказал об интересном баге в одной старенькой игрушке, наглядно продемонстрировал явление накопления ошибки округления и просто поделился своим опытом в обратной разработке. Я надеялся, что на этом можно было бы поставить точку, но я очень сильно ошибался. Поэтому под катом я расскажу продолжение истории о звере по имени Timebug, о 60 кадрах в секунду и об очень интересных решениях при разработке игр.


Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии6

List.of() и все, все, все…

Время на прочтение5 мин
Количество просмотров42K
Здравствуйте, хаброжители. Наконец дошли руки написать что-то на хабр. Первая статья была немного скучной и узкоспециализированной. Поэтому я пишу в песочницу во второй раз. (UPD но почему то попал не в песочницу оО)

На этот раз речь пойдет о нововведениях Java. А именно про ImmutableCollections. Вы наверное где-то уже использовали List.of(). Скорее всего в тестах, ибо какой-то практической ценности в этих методах я не вижу. Но даже в тестах можно наткнуться на банальные подводные камни. Банальны они по причине того, что разок прочитав их код, сразу все становится на свои места, но остается очень и очень много вопросов, почему сделанно именно так, а не по другому.

Начнем пожалуй с интерфейса List, в котором есть статические функции of.

Целых ОДИННАДЦАТЬ!!!


List<E> List<E>.<E>of(E e1);  

List<E> List<E>.<E>of(E e1, E e2);  

List<E> List<E>.<E>of(E e1, E e2, E e3);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6, E e7);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9);  

List<E> List<E>.<E>of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10);  

List<E> List<E>.<E>of(E... elements)  


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

The fixed argument overloaded methods are provided to save the overhead of array-allocation, initialization and garbage collection in case of vararg calls.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии48
1
23 ...