Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 54 min ago

GPS в городских джунглях: почему навигатор «прыгает» между небоскрёбами

Sat, 07/05/2025 - 18:01

Стоит только подьехать к центру города, Красной площади или Дворцовой, как ваш навигатор виснет, а GPS-точка прыгает через дороги, заводит вас во дворы и упорно считает, что вы идёте по Неве, а не по тротуару. В городских джунглях GPS сталкивается с отражениями, перекрытиями сигналов и тёмными зонами, из-за которых точность падает до нескольких десятков метров, а иногда и сотен.

Разберёмся, какие механизмы приводят к «скачкам» позиционирования и как индустрия борется с тем, чтобы вы не терялись. Детали внутри ката.

Читать далее

Лучшие игры легендарной машины: 45 лет назад на свет появилась линейка компьютеров ZX

Sat, 07/05/2025 - 17:55

Sinclair ZX80 по праву считается одним из родоначальников персональной компьютерной революции. Начало R&D-проекта по созданию ZX80 положено в 1979 году, когда Клайв Синклер совместно с командой инженеров приступил к проектированию. Через год мир увидел ZX81. Инженеры Sinclair буквально выжали максимум из него, стремясь удержать минимальную стоимость устройства.  А в 1982 году произошел прорыв – свет увидел ZX Spectrum, ставший впоследствии культовой моделью 1980-х годов, сыгравшей ключевую роль в революции, благодаря которой компьютеры впервые появились в домах британцев.

Игры для ZX Spectrum загружались с помощью кассетного проигрывателя и выводились на экран телевизора. В отличие от своего монохромного предшественника, они были цветными. Давайте вспомним несколько наиболее – на мой взгляд – знаковых и популярных тайтлов игровой индустрии этой легендарной серии.

LOAD ""

Метафизика мнимой единицы

Sat, 07/05/2025 - 17:36

Прочитав [1], хотя это и не академический материал, очень впечатлился идеей того, что мнимая единица кодирует направление. Дело в том, что если мы имеем в формуле два скаляра, которые запрещено складывать и это - в математике, которая запросто суммирует апельсины с помидорами, происходящее должно нести какой-то смысл. Но математика не кодирует смыслов, поэтому из идеи комплексных чисел мы можем знать лишь то, что смысл в принципе существует. Найти же категориальное различие для такой фундаментальной математической абстракции, как комплексные числа - отдельная большая удача и исследование такой возможности может оказаться перспективным.

Читать далее

Кластерные A/B-тесты: как победить эффект соседа

Sat, 07/05/2025 - 17:32

Привет, Хабр!

Сегодня мы рассмотрим, как спасаться от «эффекта соседа», рандомизируя не пользователей, а их кластеры в A/B тестах.

У классического AB-теста есть аксиома SUTVA: мол, результат конкретного юзера зависит только от его собственной ветки «treatment / control». Реальность улыбается и кидает в лицо соцсетью, где лайк друга поднимает и твою вовлечённость, курьером, который обгоняет коллег и заражает их скоростью, и cпасибками «приведи друга — получи бонус». Итог — наблюдения больше не независимы.

Внутрикамерный жаргон это называет network interference. Чем плотнее граф связей, тем сильнее лечение «просачивается» за контрольные границы.

Читать далее

ToF-датчик VL53L0 и STM32F103C8T6

Sat, 07/05/2025 - 17:16

Подключение датчика VL53L0X к микроконтроллеру STM32F103 и вывод расстояния в реальном времени. Рассмотрены особенности инициализации датчика, настройка I²C-интерфейса и обработка данных. Приведен пример кода на языке C для работы с периферией STM32.

Читать далее

[Перевод] История создания процессора ARM: от амбициозного проекта до сердца цифровой революции

Sat, 07/05/2025 - 17:00

В 1983 году небольшая британская компания Acorn Computers переживала свой звездный час. Успех был обусловлен контрактом с вещательной корпорацией BBC на производство компьютера BBC Micro. Машина создавалась для национального телевизионного шоу, посвященного компьютерной грамотности, и ее популярность превзошла все ожидания. Прогнозируемые объемы продаж превысили 1,2 млн экземпляров, а сам BBC Micro на долгие годы стал доминирующей силой в образовательном секторе Великобритании.

Однако на фоне этого триумфа рынок персональных компьютеров стремительно менялся. Сегмент 8-битных машин, где блистал BBC Micro, оказался перенасыщен. Из Соединенных Штатов надвигались новые, куда более мощные конкуренты — IBM PC и готовящийся к выходу Apple Macintosh. Эти устройства задавали совершенно иной стандарт производительности и возможностей… Читать дальше →

Опыт создания онлайн-настолки: от идеи до реализации

Sat, 07/05/2025 - 16:15

Пару лет назад единственной настольной игрой, в которую я играл онлайн с друзьями, была «Монополия». Со временем она начала надоедать, и мне захотелось чего‑то нового. Моим открытием стала Machi Koro — экономическая карточная игра, где победа зависит не столько от случайности, сколько от выбранной стратегии, что выгодно отличает её от «Монополии».

На тот момент я не нашёл достойных онлайн‑аналогов Machi Koro, что и подтолкнуло меня к созданию собственной реализации. В этой статье я подробно расскажу о технической стороне проекта: от составления требований до выбора стека технологий.

Читать далее

Отревьюируй себя сам! (памятка начинающим)

Sat, 07/05/2025 - 15:59

«Работает - не трогай» - самый опасный принцип, который передается между разработчиками быстрее, чем баги через копипасту.
Да, код может запускаться. Да, он даже может делать то, что нужно. Но вопрос в другом - можно ли с ним работать? Понять, поправить, развить, не впадая в экзистенциальный кризис.
Эта памятка не про чистоту ради чистоты. Она про то, чтобы через неделю ты сам себе не писал комменты со словами «кто это вообще придумал». "Отревьюируй" себя пока это не сделал кто-то другой.

Читать далее

Часть 2: Создание пользовательского интерфейса на дисплее Guition с ESPHome и библиотекой LVGL

Sat, 07/05/2025 - 15:35

Продолжаем развивать интерфейс дисплея Guition на ESPHome с использованием LVGL. Изначально планировалось просто добавить пару виджетов, но в процессе работы появилась идея кардинально изменить структуру проекта: сделать виджеты подключаемыми, вынести сущности в переменные для шаблонизации и максимально упростить использование прошивки для конечного пользователя.

Читать далее

Как сделать любую поверхность сенсорной

Sat, 07/05/2025 - 15:16

Моя цель была создать из стола планшет с детскими играми, а я сделал горку, стол и стену интерактивными. Я превратил все поверхности в сенсорные.

Читать далее

Скриншот-тестирование фронтенда: руководство по применению в 2025 году

Sat, 07/05/2025 - 14:56

В мире тестирования фронтенд-приложений существует одна забавная особенность. Визуальное представление нашей программы почти всегда остается вне зоны покрытия тестами,  даже несмотря на то, что фронтенд-разработка это в первую очередь про визуал. Если посмотреть на то как пишут тесты на типичном проекте, то в основном это будут юнит-тесты проверяющие внутреннюю специфику компонентов или отдельных функций плюс какие-нибудь е2е-тесты проверяющие отдельные сценарии. Чаще всего все эти тесты полностью игнорируют визуальную составляющую, и в случаях если у вас слетели шрифты, отступы, или просто html-элемент скрыт стилями, то тесты все-равно будут зелеными.

Часто приходилось видеть тесты опосредовано проверяющие визуальное отображение html-элемента, что-то в стиле expect(elem.classList.contains("visible")).toBe(true). Говорить о надежности таких тестов конечно-же не приходится, так как изменив содержимое css-селектора стилизующий данный класс, данный тест все еще будет зелёным, несмотря на то что по факту элемент будет скрыт.

Результат от подобных тестов вполне ожидаемый. Обновили версию UI-библиотеки и на всем проекте поехала верстка? Тесты зелёные. Случайно переопределили CSS-переменную и теперь вместо приятной тщательно подобранной дизайнером гаммы цветов вы видите лишь кислотно-вырвиглазную солянку? “Бывает, надо было ручками протестировать” - скажет менеджер.

Решить данную проблему нам поможет добавление скриншот-тестирования на проект.

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

Читать далее

Датчик утечки воды и не только, просто и почти даром

Sat, 07/05/2025 - 14:56

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

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

Читать далее

Как я почти продал ник за $9500 в Telegram

Sat, 07/05/2025 - 14:44

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

Читать далее

SOLID, DRY, KISS, YAGNI и др. принципы разработки, пугающие новичка в IT

Sat, 07/05/2025 - 14:16

Разработка — это не только про код, но и про подходы. В этой статье я постарался собрать и объяснить ключевые принципы проектирования, которые часто упоминают в собеседованиях, в статьях на Medium и в комментариях на GitHub, такие, как SOLID, DRY, KISS, YAGNI, APO, BDUF, бритва Оккама.

Первые анекдоты о программистах: как выглядел юмор айтишников в 1996-1998 годах?

Sat, 07/05/2025 - 14:01

Задолго до появления и падения Башорга, в ноябре 1995 года, в юном ещё Рунете появился сайт Анекдот.ру. Он остался в истории как первый русскоязычный ресурс с почти ежедневными обновлениями — и сразу же был завален тысячами популярных в домемную эпоху анекдотов. В отличие от многих сайтов Веб 1.0, включая возникшего позже конкурента Kulichki, он продолжает функционировать по сей день — и представляет собой старейший архив юмора Рунета ещё до появления мемов в современном понимании. Большинство из размещённых там шуток представляют собой выложенные в сети анекдоты на оффлайновые темы, бытовавшие в обществе того времени — но на Анекдоте.ру можно наблюдать, как в это пространство проникали, закреплялись и становились популярными шутки программистов и о программистах на околокомпьютерные темы. Совершим небольшую экскурсию и вспомним времена зарождения IT-юмора на русском языке с характерными чертами эпохи: боль от Windows 95, хейт к Биллу Гейтсу, вопиющая компьютерная безграмотность «юзверей», неспособных найти «эни кей», популярность DOOM-2 и прочее, прочее, прочее. Читать дальше →

Всё про Qdrant. Обзор векторной базы данных

Sat, 07/05/2025 - 13:58

Представьте, что вы создаёте умный поиск, который понимает не просто слова, а смысл текста. Или рекомендательную систему, способную угадывать желания пользователя на основе его действий и предпочтений. Для таких задач недостаточно обычных баз данных — нужны инструменты, способные оперировать векторами — числовыми представлениями смысла, визуальных образов или поведения. Здесь и появляется Qdrant.

Читать далее

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

Sat, 07/05/2025 - 13:27

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

Читать далее

Как подружить точку доступа Eltex с VipNet?

Sat, 07/05/2025 - 13:15

Привет, Хабр! Решил поделиться своей проблемой и путем ее решения.

Самое популярное коммутационное оборудование — это, конечно, Cisco. Помимо коммутаторов и маршрутизаторов, у этого вендора есть и беспроводные устройства: точки доступа (AP Wi‑Fi) и контроллеры (WLC). Наша компания решила закупить всё у одного производителя, что казалось логичным и удобным решением. Однако со временем беспроводное оборудование устарело и начало выходить из строя: отказывали порты, возникали проблемы с построением CAPWAP‑туннелей и сертификатами подлинности — syslog был заполнен ошибками. В итоге было предложено заменить оборудование на новое, и выбор пал на Eltex.

Читать далее

[Перевод] О мягких и жёстких ссылках в Linux

Sat, 07/05/2025 - 13:05

Ссылки в Linux — это мощный инструмент, позволяющий указывать путь к файлам и каталогам. Существует два основных типа ссылок: жёсткие ссылки и мягкие ссылки (вторые также известны как символические ссылки или симлинки). Понимание различий между этими двумя типами поможет вам эффективно управлять файловой системой.

Читать далее

Deepin 25: китайский дистрибутив Linux с ИИ и обновленным DDE

Sat, 07/05/2025 - 13:04


26 июня 2025 года вышел релиз дистрибутива Deepin 25, который продолжает развивать собственную графическую среду Deepin Desktop Environment (DDE) и предлагает около 40 пользовательских приложений. В новом выпуске появились продвинутый ИИ-ассистент с голосовыми командами, атомарные обновления с резервными снапшотами, поддержка управления жестами и интеграция со смартфонами. Рассказываем, чем примечателен Deepin 25 и почему он заслуживает внимания.
Читать дальше →

Who's online

There are currently 0 users and 0 guests online.