Начнем с небольшой истории. Как-то раз я с размахом накинулся на проект — в духе нынешних фреймворков всё было обложено компонентами, декларативный стиль царил, все шло идеально… ну почти. Дошел я, значит, до нужды контролировать DOM-узлы напрямую. И что вы думаете? Прямого доступа нет, React закрыл от меня этот мир, сидит и ухмыляется: мол, мы тут за производительность боремся, зачем тебе что-то трогать руками?Но мы не из тех, кто сдаётся, верно? React предлагает своё решение — рефы, и именно …
Привет! Меня зовут Никита, и я тружусь в фронтенд-команде платформы в Ozon. Платформа поставляет инструменты для создания и поддержки JS-проектов. В компании в настоящее время более 500 таких проектов. Мы прилагаем максимум усилий, чтобы разработчикам всех проектов было одинаково приятно работать с нашими инструментами.Также мы предоставляем инструменты для создания JS-библиотек. И в этой статье я расскажу о том, как мы советуем создавать npm-пакеты. Отмечу, что это не касается UIKit-пакетов, —…
the LLM vulnerability scannergarak, LLM vulnerability scanner Generative AI Red-teaming & Assessment Kit garak checks if an LLM can be made to fail in a way we don't want. garak probes for hallucination, data leakage, prompt injection, misinformation, toxicity generation, jailbreaks, and many other weaknesses. If you know nmap, it's nmap for LLMs. garak focuses on ways of making an LLM or dialog system fail. It combines static, dyanmic, and adaptive probes to explore this. garak'…
Наличие у контроллеров STM32, да и практически любых других, режима энергосбережения STANDBY, который фактически представляет собой полное отключение (работает только RTC и сторожевой таймер, потребление составляет первые микроамперы, а состояние не сохраняется), дает возможность простейшим способом сделать включение и выключение устройства на таком МК нажатием кнопки, в том числе и задействованной под другие функции, без каких-либо дополнительных элементов. Есть, однако, несколько подводных ка…
Привет, Хабр! Эта винтажная электрогитара с одним огромным звукоснимателем, да ещё и в средней позиции, может похвастаться очень интересной схемой темброблока, которую мы сегодня изучим. В наши дни высокоточные станки с ЧПУ и передовые технологии обработки древесины сделали хорошие инструменты доступными всем любителям музыки. Может ли недорогая серийная гитара, произведённая почти полвека назад, конкурировать с аналогичными продуктами современности? — Увидим и услышим. ▍ Гитара Урал по име…
Привет, Хабр! Это Денис Басковский. Я ведущий разработчик в МТС Медиа, в свободное от работы время путешествую. Сегодня расскажу, как решил покорить Эльбрус и что из этого получилось. Спойлер: счастливого финала с установкой флага на вершине не будет, с другой стороны, мы выжили — это тоже ничего!Вижу цель — не вижу препятствийЯ родился в Пятигорске, так что Эльбрус всегда был рядом со мной. В детстве я часто любовался его видами и мечтал подняться на вершину. Но потом переехал учиться в Питер,…
Привет, любители Go! Сегодня мы рассмотрим, как создать middleware на уровне сетевого стэка в Go. Middleware позволяет добавлять полезные функции к HTTP-запросам и ответам: логирование, аутентификация, обработка ошибок и многое другое. Простой пример MiddlewareНачнем с классики – middleware для логирования запросов:package main import ( "log" "net/http" "time" ) // loggingMiddleware логирует начало и конец обработки запроса. func loggingMiddleware(next http…
С детства я люблю компьютерные игры: хоть сейчас у меня и другие приоритеты, но иногда люблю зайти в старую добрую классику (недавно добил 100% прохождение GTA San Andreas, прошел классическую серию Serious Sam). Мой папа же — не особо любил подобные игры, ему больше нравился минимализм: шашки, тетрис и прочие 2d игры-головоломки. (До Зумы кстати не добрался, надо бы дать ему попробовать! ремарка)Одна из таких игр — была незамысловатая игра жанра маджонг в сеттинге Покемонов: в ней нужно находи…
Рассмотрю на примере nx.dev и webpack module federation.nx.dev был выбран для того, чтобы не пришлось самостоятельно придумывать решения, а взять готовые, которые могут пригодиться при работе с микрофронтами. Можно также yarn workspaces использовать, но тогда бы пришлось все необходимые скрипты писать самому.По самом nx.dev, писал когда-то статью, можно почитать тут. Некоторые моменты могли устареть, но сама концепция осталсь та же. Так например package-based проектов уже нет.Однако в мире микр…