Всем привет! Меня зовут Алексей Майшев, я работаю Go-инженером в Авито. В этой статье рассказываю, как мы с командой независимых разработчиков 9 месяцев проектировали и разрабатывали кэш-библиотеку следующего поколения для Go — otter. Вы узнаете, чем нас не устроили текущие кэш-библиотеки в Go, какие подходы и оптимизации мы рассматривали и на каких остановились, как замеряли производительность и потребление памяти и в чём otter превосходит конкурентов. А ещё тут будет много теории — в процессе…
Всем привет! Я являюсь создателем распределённого поисковика rats-search на базе DHT (GitHub). Его принцип работы довольно прост: поисковик собирает торренты у всех участников сети и формирует большую распределённую базу для поиска, включая метаданные (например, описания и прочую информацию).В этой статье я хочу рассказать о своей новой библиотеке для построения распределённых приложений (p2p), где знание IP-адресов участников не обязательно, а поиск ведётся через различные протоколы — DHT, mDN…
"You can't have errors in your code if you wrap the entire codebase in a try/catch block"Этот мем смешной, пока не осознаешь, что в реальных проектах мы именно так и поступаем. Только заворачиваем не весь код сразу, а каждый HTTP-запрос по отдельности.Пишешь fetch и рефлекторно добавляешь try/catch. Где-то словил TypeError, где-то таймаут, где-то сервер вернул 500. В итоге половина кода превращается в кашу проверок, а другая половина - в обработчики ошибок.Я годами так делал, пока н…
5 месяцев назад я публиковал материал про пет-проект календаря домашних тренировок. Сегодня хочу рассказать, что было сделано мной за прошедшее с тех пор время.Самим приложением пользуюсь регулярно. На главной странице для незарегистрированных пользователей в качестве примера как раз показывается моя статистика. Помимо меня есть ещё 53 зарегистрированных пользователя с подтверждённым email.Исходный код приложенияВидео про разработкуFrontend: Typescript, Vite, Vue, Tanstack Query, Vitest, Vue I1…
Привет, Хабр! Меня зовут Владимир, я фронтенд-разработчик в Rusprofile. Давайте поговорим о работе с исключениями.Ситуация: пишешь код на JS, хочешь обработать исключение, пробрасываешь throw, ловишь его с помощью try-catch. Но добавим нюанс: пусть это нужно сделать для setTimeout. Эта функция использует окружения браузера – не JS-функция, асинхронная. // Не сработает try { setTimeout(() => { throw new Error('Ошибка'); }, 0); } catch (e) { // Этот код никогда не выполнится …
Когда команда разработчиков начинает активно расти, неизбежно возникают вопросы консистентности кода. Разные стили написания, различные подходы к форматированию и отсутствие единых стандартов могут серьезно замедлить разработку и усложнить поддержку проекта.В данной статье мы рассмотрим пошаговую настройку ESLint и Prettier на примере нашего веб-приложения, построенного на Next.js и TypeScript.ВведениеДля обеспечения качества кода в нашем проекте мы используем комбинацию проверенных инструменто…
С ростом сложности фронтенда разработчики начали уделять больше внимания архитектуре. Кто-то предпочитает «чистую», кто-то — её производные, например, FSD. В той или иной степени этот вопрос волнует многих. В данной статье я предлагаю присмотреться повнимательнее к аспекту, который часто остаётся в тени при обсуждении архитектуры, — к маршрутизации.Давайте вспомним, как мы строим роутинг в наших приложениях. В примере ниже — react-router-dom, но в других фреймворках/библиотеках всё примерно так…
Привет, Хабр! Меня зовут Алексей Фомин, я Technical Lead во Frontend в компании Devs Universe. В своей работе я часто сталкиваюсь с тем, что даже опытные разработчики не всегда задумываются о проектировании URL-структуры приложения, а ведь это критически важный элемент пользовательского опыта, SEO и архитектуры. В этой статье я хочу системно разобрать анатомию URL и дать практические рекомендации по его проектированию.Содержание Анатомия URL: из чего он состоит?Иерархия и структура (Правильное …
Advanced Wazuh Rules for more accurate threat detection. Feel free to implement within your own Wazuh environment, contribute, or fork! Advanced Wazuh Detection Rules The SOCFortress Team has committed to contributing to the Open Source community. We hope you find these rulesets helpful and robust as you work to keep your networks secure. Advanced Wazuh Detection Rules Have Wazuh deployed and ingesting your logs but looking for some better detection rules? Lo…