Пожалуй, самые неприятные баги – те, что воспроизводятся один раз из ста. Их не пощупать, не продебажить и даже не проверить результат. Так и тут прилетает мне баг от тестировщика с описанием:Контент приложения уезжает влево и скрывается за панелью навигации. Как воспроизвести не знаю, появляется несколько раз в день, зависимость не выявлена.У меня, естественно, ни разу не воспроизвелось. Ну и как с этим работать?Большая часть виджета скрыта за панелью навигации. Панель статична, не скрывается.…
МонотонностьПредусловия и постусловияИнвариантыИзоляцияИндукцияУдобство доказательства как метрика качества кодаКак развивать этот навыкВ этой статье я коротко опишу один приём, который помогает мне писать код быстрее и с меньшим числом ошибок. Я говорю «приём», но по факту это просто практика, которой я начал следовать с опытом, сам того не замечая.Когда вы работаете над чем-то сложным, формируйте в уме некое подтверждение, что ваш код будет делать именно то, что вам нужно. Звучит вроде просто…
Всё больше товаров и услуг в нашей жизни доступны только через смартфон. Доходит до абсурда, когда без специального приложения нельзя зарегистрироваться в важных сервисах, завести банковский счёт, взять самокат или вызвать такси, заказать еду, запарковаться, подписать документ или снять квартиру. Для каждого маленького дела — своё приложение на полгигабайта. Как мы дошли до такой жизни?Возникает ощущение, что некоторые компании и организации считают смартфон абсолютно неотъемлемым аксессуаром к…
Привет, Хабр!Кто застал эпоху 486-х и Pentium, наверняка помнит эту деталь — загадочную замочную скважину на передней панели системного блока, скромно притаившуюся между культовой кнопкой Turbo и спасительным Reset'ом. Сегодня, во времена биометрической аутентификации, эти механические замки кажутся лишь забавным атавизмом. Однако в свое время они решали вполне реальные проблемы безопасности.ИсточникЭпоха открытых системВ начале 80-х, когда IBM PC только начали свое победное шествие по офис…
Поговорим о политиках безопасности OPA в кубере. Обсудим на примерах зачем они нужны, в каких случаях они действительно помогут обезопасить, когда политики могут положить всю систему и как ими пользоваться в кубере. Плюсом захватим немного кода на go для работы с ними. ВведениеВ наше время сплошь и рядом мы видим информацию о том, что личные данные миллионов пользователей сливается. Видим нарушения работы разных крупных систем, например, 28 июля были проблемы у Аэрофлота из-за чего отменилось м…
Пока ML- и AI-специалисты усиленно создают агентские системы, разработчики тоже хотят приобщиться к созданию нового мира. Так компания Anthropic — создатели Claude Sonnet, разработали открытый протокол MCP (Model Context Protocol), который позволяет LLM взаимодействовать с любой информационной системой. Это открыло новые возможности не только для построения более сложных и продвинутых агентских AI-систем, но и для активного участия во всём этом процессе и backend-разработчиков.Я Евгений Клецов …
Привет, Хабр. Давайте о больном. У вас 5+ лет опыта, вы уверенно решаете сложные задачи, менторите джунов и знаете свой стек досконально. Вы чувствуете себя сеньором. Но раз за разом на собеседованиях вам либо предлагают позицию Middle+, либо дают оффер с зарплатой, которая явно не дотягивает до сеньорской.В чем проблема?Проблема в том, что вы пытаетесь измерить свой уровень одномерной линейкой «знания технологий». А в голове у адекватного нанимающего менеджера — многомерная система координат.К…
Привет, Хабр!Хочу рассказать вам про свою библиотеку solidjs-hook-form,которую я сделал для упрощения работы с множеством форм в SolidJS.Изначально я столкнулся с такой проблемой: валидация, управление состоянием, много инпутов, boilerplate... Капец, можно запутаться. Особенно когда форма не из двух полей, а с кучей логики. Вот и пришлось мне написать свою либу.Почему именно своя? Потому что готовых решений, заточенных под реактивность SolidJS, нормальных не было. Хотелось чего-то легкого, быст…
Привет, Хабр! (И тебе, случайный читатель, который зашёл сюда просто просто потому, что заскучал в корпоративном чате.)Сегодня я расскажу вам историю о том, какая задача посетила меня на этот раз и как я сделал «корпоративного бота с возможностью оценки сотрудников» — казалось бы, простая задача, но… Нас ждёт много удивительных вещей :-)Изначально мой план был такой:Сделать бота в Телеграме.Дать боту ролевую модель и базовый функционал для дальнейшего простого расширения возможностей (по сути, …