В современном мире мало уметь хорошо работать только с одним инструментом/стеком, нужна широкая экспертиза в современных тулах. Вы можете быть 10+ лет опыта синьор AQA на селениуме, но когда придет пора искать новую работу — обнаружится пробел в навыках, который второпях не очень‑то и закрывается. Поэтому необходимо постоянно быть в курсе и изучать новые и давно зарекомендовавшие себя инструменты и подходы.На момент написания статьи Playwright в топе востребованных фреймворков для QA на европей…
Функциональное программирование (ФП) предоставляет много преимуществ, и, как следствие, его популярность растет. Однако, каждая парадигма программирования имеет собственный уникальный жаргон и ФП не исключение. Цель этого словаря терминов — облегчить изучение ФП.Примеры написаны на JavaScript (ES2015). Почему JavaScript?Где уместно, в этом документе используются термины, определенные в Fantasy Land spec.СодержаниеArity / АрностьHigher-Order Function (HOF) / Функция более высокого порядкаClosure…
Расширения Chrome иногда могут душить сами себя, попадая в бесконечные циклы. В статье я расскажу о том, как искал причины странного поведения pop-up окна нашего внутреннего расширения. Найдя их, я провёл ряд оптимизаций, а ещё создал чек-лист проверок, которые полезно выполнять перед публикацией нового расширения Chrome.Привет, Хабр! Меня зовут Анатолий, я занимаюсь фронтендом в компании Циан.Всё началось с того, что коллега написал в чат: “Попап расширения открывается через несколько секунд п…
Меня зовут Кирилл, я работаю BIM‑менеджером, вместе со своей коллегой Анастасией @nobimnolife разрабатываем IDS Core. В этой статье — как мы дошли от просмотрщика IFC браузере до постобработчика.ИнтерфейсВ прошлый раз мы писали о том, как не узнавать о пустом параметре из файла, которого полчаса назад не существовало, — то есть проверять модель до экспорта в IFC. Но бывает и наоборот: файл уже выгружен, отправлен, и проверка нашла мелочь. В маппинге написали для помещений площадь как IfcArea вм…
В 1969 году психиатр Элизабет Кюблер-Росс выпустила книгу «О смерти и умирании». В ней она описала, как человек переживает неизбежное: отрицание, гнев, торг, депрессия, принятие. Писала она о неизлечимо больных пациентах, но модель оказалась настолько универсальной, что её теперь примеряют на что угодно: от расставания до повышения ставки по ипотеке.Сама Кюблер-Росс оговаривалась, что стадии не обязаны идти строго по порядку: их можно проскочить, к ним можно вернуться, на них можно застрять. Ос…
«Обмани сербского» — это мой психологический симулятор судебно-психиатрической экспертизы, упакованный в эстетику терминала.Диспозиция простая: ты подследственный по тяжелой статье (на выбор: серийные поджоги с ритуалами, лесопарковый маньяк с дневником трофеев или ночная резня топором). Твоя задача тоже простая: не уехать на пожизненное. Адвокат предлагает три вектора:Закосить под невменяемого (тяжелый психоз и спецбольница вместо тюрьмы), Прикинуться нормальным («меня подставили, я законопосл…
История начинается с самой неблагодарной формулировки бага, какая бывает:«Иногда при зуме карту дёргает».Не «всегда», не «на таком‑то действии», не с шагами воспроизведения. Иногда. Причём — цитата — «иногда зум работает хорошо». Любой, кто ловил плавающие баги, сейчас сочувственно поморщился.Закончилось это тем, что я выбросил картографический движок и переписал под другой всю карту сервиса. Рассказываю, как я туда доехал, что мерил по дороге и чем потом доказывал себе, что не сломал людям сох…
В приложении с комнатой, где люди видят друг друга в реальном времени, сервер получает одно и то же событие «соединение закрылось», когда человек закрыл вкладку, обновил страницу, свернул браузер на телефоне или на секунду потерял Wi-Fi. А вести себя в этих случаях надо по-разному. Рассказываю, как в своём Planning Poker я добился того, чтобы закрывший вкладку исчезал из-за стола за доли секунды, а обновивший страницу оставался вместе со своим голосом, через какие грабли прошёл в Spring, Rabbit…
В прошлой статье я показывал игру, где телефон работает как сонар: пищит ультразвуком, слушает эхо и по нему понимает, где ладонь. Следующий вопрос напрашивался сам собой: а вдвоём так можно? Можно, вчера доделал.Видео, где я играю сам с собой на двух телефонах. Картонка между телефонами там не просто так, про неё ниже.Код по-прежнему пишет Claude, я придумываю, решаю и тестирую на своих iPhone и Mi 9. Разработка кооп-игры уместилась в одно длинное воскресенье и немного вечера понедельника.Что …