![](https://habrastorage.org/r/w780/getpro/habr/upload_files/617/296/a98/617296a9868ef5111a15332e86f853ce.jpeg)
Подробное исследование методологии взлома протоколов WPA2-Personal / Enterprise и WPA3: какие атаки и уязвимости существуют, и какой инструментарий применяется для их эксплуатации.
Тестировщик 2 категории
Подробное исследование методологии взлома протоколов WPA2-Personal / Enterprise и WPA3: какие атаки и уязвимости существуют, и какой инструментарий применяется для их эксплуатации.
Привет, Хабр! Меня зовут Кирилл, я руковожу направлением спецпроектов в МТС Диджитал, а в свободное время (кроме прочего) экспериментирую с техникой и гаджетами.
Лет пять назад мне довелось приобрести пару комплектов Xiaomi Mi Smart Sensor Set. На тот момент это было выгоднее, чем покупать шлюз и датчики отдельно. В итоге один из шлюзов стал центром умного дома, а второй отправился под эксперименты. На Хабре уже была статья, как можно перепрошить этот шлюз под открытую прошивку OpenLumi, состоящую из OpenWRT и веб-интерфейса LuCI. К тому же внутри OpenLumi можно было запустить сервер Home Assistant (HA) или Node-Red — и такая связка хорошо работала.
Долгое время шлюз работал сервером мониторинга нужных мне интернет-ресурсов, моргая красной лампочкой каждый раз при обнаружении проблем с доступностью. Но недавно я решил, что пришла пора обновиться до актуальной версии OpenLumi и сделать из устройства интернет-радио. Что из этого получилось, рассказываю под катом.
Все фронтендеры любят localStorage
— в него можно прикопать данные без всяких баз и серверов. Но из localStorage
можно отлично обстрелять себе ногу. сегодня расскажу про 6 встроенных пулеметов и презентую библиотеку banditstash, которая нежно, но настойчиво прикрывает ваши ножки.
Если мы хотим использовать большие языковые модели (БЯМ) в своей работе и при этом называть результаты творческими, нам придётся понять, как они работают — по крайней мере, на высоком уровне.
Существует множество отличных руководств о внутренних механизмах языковых моделей, но все они довольно техничны. (Заметным исключением является статья Нира Зичермана в журнале Every о том, что БЯМ — это еда.) Это обидно, потому что есть всего несколько простых идей, которые нужно понять, чтобы получить базовое представление о том, что происходит под капотом.
Я решил изложить эти идеи для вас — и для себя — в максимально свободной от жаргона форме. Приведённое ниже объяснение намеренно упрощено, но оно должно дать вам хорошее представление о том, как всё работает. (Если вы хотите пойти дальше упрощений, я предлагаю поместить эту статью в ChatGPT или Claude).
Готовы? Приступим.
Сегодня мы поговорим о крайне важной, но порой недооцененной теме — кешировании в браузере.
Кеширование — это процесс сохранения копий файлов в локальном хранилище браузера, чтобы в последующем загружать их оттуда, а не с сервера. Так можно избежать лишних задержек и снизить нагрузку на сервер, т.к большинство ресурсов, таких как CSS-файлы, скрипты и медиаконтент, не нуждаются в повторной загрузке при каждом новом посещении страницы.
В статье рассмотрим несколько основных методов кеширования, таких как использование HTTP заголовков Cache-Control
, ETag
, и If-Modified-Since
, а такжеLocalStorage
.
Занимаясь разработками BLE на микроконтроллерах, всегда встает вопрос управления ими при помощи смартфона. Для этого я обычно использую замечательную программу NRF Connect. Однако у нее так же есть свои ограничения. Поэтому с завистью глядя на разработчиков Андроида, мне всегда хотелось освоить программу Android Studio. И вот, наконец, мне это удалось :-) Я не стал гуру в этом, но теперь я могу писать приложения для работы с устройствами BLE. Поэтому я хочу помочь таким же "железячникам" как и я поднять свои навыки в BLE на новый уровень.
В этой статье мы расскажем про базовые техники работы с Docker, а также погрузим читателя в основы докеризации приложений.
Предполагается, что читатель что-то слышал про Docker и хотел бы начать знакомство с технологией. Мы постараемся упростить этот процесс.
Сегодня мы будем устанавливать Home Assistant Supervised на Debian 12 по официальной инструкции. "Шо, опять?" - спросят многие. Да, но просто так устанавливать по инструкции скучно и обязательно столкнемся с проблемами, про которые даже не упоминается в инструкции.
Привет, Хабр! Меня зовут Никита Бутримов, я лидер продуктового направления в Cloud.ru, отвечаю за эксплуатацию, стабильную работу и поддержку платформы Cloud.ru Evolution. Недавно мы запустили Evolution free tier, чтобы инженерам и разработчикам было комфортно попробовать возможности платформы. Спустя некоторое время мы поняли, что далеко не все понимают, что это такое и как работает. Поэтому в сегодняшней статье я хочу развеять все мифы — рассказать, что вообще такое free tier, сделать краткий обзор зарубежных и отечественных предложений, а также помочь разобраться, какие именно ресурсы вы реально сможете подключить у нас и использовать бесплатно.
Обзор будет полезен как тем, кто еще не пользовался облаками, так и тем, кто уже многое попробовал и в курсе всех новинок рынка. Поехали!
GraphQL — невероятная технология, привлёкшая много внимания с тех пор, когда я начал в 2018 году использовать её в продакшене. Вам не придётся долго листать мой блог, чтобы увидеть, как я раньше продвигал её. После создания множества React SPA поверх путаницы нетипизированных JSON REST API технология GraphQL показалась мне глотком свежего воздуха. Я искренне поддерживал хайп вокруг GraphQL.
Однако с течением времени у меня появилась возможность выполнять развёртывания в окружениях, где больше важны не функциональные требования, а безопасность, производительность и удобство поддержки. Тогда и поменялась моя точка зрения. В этой статье я подробно расскажу о том, почему сегодня не рекомендовал бы GraphQL большинству, и поделюсь более совершенными альтернативами.
В статье для примеров я буду использовать код на Ruby с превосходной библиотекой graphql-ruby, но я уверен, что многие из перечисленных проблем не зависят от выбора языка/библиотеки GraphQL.
Если вы знаете более качественные решения или способы, напишите мне комментарий.
Привет!)
Возникали ситуации, когда стандартных методов поиска веб-элементов не хватало для полноценной автоматизации? То кнопка не нажимается, то элемент перекрывается, то не подгружается. У всего этого есть разные причины и самые разные решения.
В этой статье как раз таки рассмотрим некоторые из таких проблем.
Я люблю автоматизацию, гаджеты и IoT
Поэтому, места где я живу, рано или поздно становятся автоматизированными и обвешанными интернетом вещей
Да чего там, у меня даже бойлер по расписанию работает!
Под катом, я хочу рассказать, что я для этого делаю и как устроена моя домашняя инфраструктура, которая превращает уютную бетонную коробку в ее автоматизированную версию
Для написания автотестов используются XPath и CSS-селекторы. Они помогают найти элемент на странице, чтобы потом с ним как-то взаимодействовать (кликнуть, ввести текст, или что-то другое).
Я видела много статей о том, что это вообще такое, но мне очень не хватало шпаргалки по разным селекторам, причем в разрезе «Вот он в CSS и он же в XPath» для сравнения.
А мне такое для студентов надо. Поэтому решила сделать сама. Вдохновлялась страничкой «Xpath cheatsheet», но сделала на свой вкус — под автоматизацию, а не XPath вообще. И с комментариями, с ними удобнее.
Пишите, если где-то накосячила. Хотя я все селекторы проверяла на тестовых страницах, но мало ли… И надеюсь, вам такая шпаргалка тоже пригодится! =)