Обновить
-2
0.2

Пользователь

Отправить сообщение

Разработка своего компактного TerraMaster на основе Twin Lake-N и PCIe Switch

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели3K

В последнее появилось много компактных NAS с основным хранилищем на SSD носителях и с десяти гигабитным Ethernet. Высокая скорость работы твердотельных дисков в связке с высокой скоростью обмена по сети, прекрасно раскрывают возможности новой техники, а самое главное оправдывают ожидания их владельцев от новых технологий.

Насколько сложно самостоятельно собрать подобный NAS, используя доступные комплектующие и готовые компьютерные платформы? Как оказалось всё не так сложно, если найти подходящую платформу и немного её прокачать. Вот о такой доработке и пойдет речь.

Читать далее

Направленная ультразвуковая панель

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.5K


Приветствую, Хабр!

В далеком (или не очень) 2021 году я узнал, что звук можно передавать не только с помощью классических динамических головок (колонок). Существует так называемый направленный звук. Данная технология довольно распространена, просто я был не в курсе. Применяется, в основном, для локализации звука в узком луче. Хороший пример — это музеи, выставки, картинные галереи и т. д. Подошли к экспонату, над вами установлен такой излучатель, вы слушаете информацию, отошли на метр — ничего не слышно. А можно ли передать звук на десятки метров? Спойлер: можно.
Читать дальше →

Не пытайтесь угадать мой язык

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели9.8K

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

IP сообщает, откуда пришёл запрос, и на этом всё. Он не сообщает, какой язык нужен пользователю, на каком языке он говорит и какой язык понимает. Подобная система постоянно ломается — VPN, путешествия, эмиграция, страны с несколькими официальными языками. Это не умное, а раздражающее решение.

Читать далее

Децентрализованный поиск для свободного веба

Время на прочтение12 мин
Охват и читатели12K

Возможно ли создать поисковую систему, которую тяжело подвергнуть цензуре, влиянию и блокировке?

Говоря техническим языком, возможно ли выполнять полнотекстовый поиск не имея удаленного сервера, удобным для пользователя способом, одновременно храня поисковый индекс в peer-to-peer системе и имея возможность быстро обновлять поисковый индекс?

Да, это возможно!

Под катом описание архитектуры поискового движка Summa на Rust и набора приемов, позволивших ответить утвердительно на все вопрос

Читать далее

Паттерны кеширования: проблемы, решения, практические рекомендации

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели2.7K

Приложения тормозят. Пользователи уходят. Бизнес недоволен. Знакомая картина? Часто корень зла – медленный доступ к данным. Кеширование может стать спасательным кругом. Но это не серебряная пуля. Неправильно настроенный кеш – источник новых проблем, иногда похуже старых.

Читать далее

LLM as a Judge: опыт оптимизации генератора описаний Pull Request

Время на прочтение10 мин
Охват и читатели4.6K

Меня зовут Дмитрий Успенский, я работаю в команде ML RnD Техплатформы Городских сервисов Яндекса, и в статье я расскажу, как мы применили подход LLM as a judge — когда сама языковая модель оценивает качество генераций и сравнивает между собой разные варианты описаний. Поделюсь опытом определения критериев качества, сбора валидационного датасета, подбора промптов и выбора модели. Результаты оказались обнадёживающими: метод действительно позволяет улучшить генеративную систему без участия ручной разметки и асессоров.

Читать далее

Девайсы киберспортсменов: на чем играют победители

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели5.4K

Киберспорт - одна из любимых корпоративных активностей в ЛАНИТ. У нас есть крутое сообщество, участники которого постоянно выступают на соревнованиях и нередко становятся их победителями и призерами. Для успешных состязаний на турнирах игроки уделяют большое внимание своим «кибердоспехам»: гейминговым сетапам и периферии. В этой статье наши коллеги рассказали, как они обустроили свое игровое место и что, кроме технических средств, помогает побеждать, выдерживая многочасовые сражения.

Читать далее

Месть джунов

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели31K

Краткое примечание о значении "вайб-кодинга" (vibe coding): В этом посте я исхожу из того, что вайб-кодинг повзрослеет, и люди будут использовать его для настоящей инженерии, а версия "отключи мозг" останется только для прототипирования и забавных проектов. Для меня вайб-кодинг просто означает позволить ИИ делать работу. Насколько внимательно вы решите следить за работой ИИ, зависит исключительно от решаемой задачи. Для продакшена вы внимательны; для прототипов вы расслабляетесь. В любом случае, это вайб-кодинг, если вы не написали это вручную.

Еще одно примечание: Месть происходит в самом конце, как в кино.

ОК! Разобравшись с этими административными вопросами, поехали!

Читать далее

Сравниваем быстродействие новой функциональности ClickHouse по поиску ближайших векторов с другими решениями

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели3.3K

Всем привет! Меня зовут Диана Бутько, я студентка 3 курса, изучаю информационные системы и программирование. В InfoWatch я пришла на практику, и одной из моих задач стал сравнительный анализ различных методов поиска похожих векторов. Это один из ключевых аспектов машинного обучения и анализа данных, используемых в рекомендательных системах, кластеризации, семантическом поиске и других областях. Но чем больше объем данных, тем важнее становится выбор инструментов: полный перебор векторов требует больших вычислительных ресурсов, а в других алгоритмах порой необходимо балансировать между точностью и скоростью поиска.

В этой статье я сравниваю пять методов поиска похожих векторов:
— полный перебор по евклидову расстоянию с реализацией в Python;
— FAISS с индексами IndexFlatL2 (полный перебор, евклидово расстояние) и IndexIVFFlat (сегментирование по ячейкам, евклидово расстояние);
— векторный поиск в ClickHouse с индексом HNSW и метриками расстояния L2Distance (евклидово расстояние) и cosineDistance (косинусное сходство).

Читать далее

Как без усилий сократить объем входящего в дата-центр трафика на 70%

Время на прочтение6 мин
Охват и читатели32K

Хочу рассказать о том, как довольно простым лайфхаком мы радикально сократили объем входящего в дата-центр трафика, одновременно сделав жизнь пользователей нашего мобильного приложения чуть лучше и даже уменьшив расход заряда их батареи.

Единственное, о чем мы пожалели — что не применили это решение раньше.

Читать далее

Чем заменить Slack, Notion, Trello, Asana, Zoom и Confluence: российские аналоги для удалённой работы

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.3K

Удалённая работа давно перестала быть временным решением. Сегодня это стандарт для многих команд. Чтобы всё работало как часы, нужны инструменты: коммуникация, управление задачами, документация, совместная работа. Раньше с этим справлялись зарубежные сервисы, но всё сложно 🙄 Собрали российских 13 аналогов для замены шести известных сервисов.

Читать далее

Путь воина: как стать Tech Lead и не сойти с ума

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели2K

Вы думали, что путь от Senior Developer до Tech Lead — это всего лишь прибавка к зарплате и новый пункт в резюме? Увы. Техлид - это не только про разработку, но и про управление командой в штормовые времена, сохранение продукта в моменты кризиса, а еще про самодисциплину и менеджмент.

От вас будет зависеть не только качество кода, но и весь проект.

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

Читать далее

Как убить архитектуру за три спринта: практическое руководство

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.4K

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

Не потому, что кто-то не знал паттернов проектирования или выбрал не ту СУБД, а потому бизнес требует фичи "на вчера". И шаг за шагом архитектура сдаёт позиции. Что самое интересное - разрушение происходит незаметно. Никакого взрыва вертолетов на заднем фоне не будет. Только десятки небольших компромиссов, которые за относительно короткое время могут превратить систему в клубок боли. Тихо и буднично. Конечно, количество спринтов будет больше трех, но основной сути это не меняет.

Поэтому подготовил для тебя, системный аналитик (и не только), гайд “Как убить архитектуру за три спринта” даже если в начале все было относительно под контролем. Чтож… Щас выскажусь!)))

Читать далее

Альтернатива Zod размером 1 КБ

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели2.4K

19 марта 2025 года вышла стабильная версия Valibot — библиотеки для валидации данных в JavaScript/TypeScript. Разработанная как альтернатива популярному Zod, она сочетает минималистичный дизайн с мощными возможностями.

В этой статье мы сравним Valibot и Zod по трём ключевым параметрам: синтаксису API, размеру библиотеки и скорости работы. Вы узнаете, чем эти решения отличаются друг от друга и почему стоит использовать специализированные инструменты валидации входящих данных.

Читать далее

Continuous Documentation, MVD и документация как продукт: три подхода, которые изменят ваше представление о документации

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели989

Когда-то я относился к документации по-старому: написал – и забыл. Думаю, многие разработчики меня поймут. Традиционный подход зачастую сводится к тому, что документацию пишут в конце проекта или от случая к случаю, а затем она покрывается пылью. В эпоху Agile и DevOps такой подход не работает: изменения в коде происходят постоянно, и статичные тексты не успевают за ними. В результате документация стремительно устаревает, вводя команду в заблуждение и порождая ошибки​. Настала пора пересмотреть взгляд на эту часть разработки.

Хочу поделиться тремя подходами, которые кардинально изменили мой подход к документации. Это Continuous Documentation (непрерывная документация), MVD (Minimum Viable Documentation) – минимально жизнеспособная документация, и «документация как продукт». Каждый из них появился как ответ на боль, с которой мы сталкивались в гибкой разработке: как держать документацию актуальной, достаточной и полезной для пользователей. Расскажу о каждом по порядку – на примерах из собственного опыта, с живыми кейсами и свежими идеями. Возможно, эти подходы перевернут и ваше представление о том, какой должна быть документация в современных проектах.

Читать далее

94 миллиарда рублей убытка? Никаких проблем

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели34K

Почему инвесторы аплодируют убыточным компаниям, а прибыль вызывает раздражение? Разбираемся, как работает парадокс «прибыльных убытков» на примерах ВКонтакте, Ozon и Amazon. Что отличает стратегические инвестиции от банального сжигания денег, можно ли перенести эту модель в офлайн-бизнес — и почему не стоит повторять путь WeWork.

Читать далее

GrapheneOS: Pixel, но не Google

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели33K

О полезных функциях и процессе установки GrapheneOS - одной из самых безопасных мобильных операционных систем.

Читать далее

GRASP: почему настоящая архитектура начинается не с SOLID

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели33K

Хочу начать с личной предыстории. Давным‑давно, как и многие из вас, я читал умные книжки: «Чистый код» и «Чистая архитектура» Роберта Мартина, «Совершенный код» Стива Макконнелла и другие.

Также не обошли меня и классические принципы проектирования — SOLID, KISS, DRY — и, думаю, каждый читатель добавит сюда свои.

Безусловно, это всё важные и фундаментальные вещи.

Но однажды на горизонте появилось DDD — предметно‑ориентированное проектирование в изложении Эрика Эванса. Именно его «синяя книга» стала культовой и задала язык для архитектурного мышления.

Позже я открыл и «красную книгу» Вона Вернона, где DDD уже рассматривался с точки зрения практической имплементации: архитектура, код, реальные подходы в проектах.

Читая Эванса, рассматривая его диаграммы классов и примеры кода, я всё думал: как он это делает?

Самым большим открытием для меня стало то, что книга DDD хоть и показывает стратегические и тактические приёмы — агрегаты, объекты‑значения, спецификации, фабрики и т. д. — но не учит проектировать саму предметную область.

Складывалось ощущение, что мы это уже откуда‑то должны были знать. А откуда — остаётся загадкой.

Читать далее

Мониторинг бэкапов PostgreSQL, сделанных в pg_probackup

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели2.5K

Хочу поделиться с сообществом свой наработкой по мониторингу бэкапов PostgreSQL.

Для того чтобы делать сами бэкапы, используется сторонний open source инструмент pg_probackup (разработка компании Postgres Professional).

Этот инструмент умеет делать инкрементные бэкапы, а также автоматизирует сопутствующие процессы, такие как, сжатие данных, merge, удаление старых бэкапов и wal-файлов.

Остается проблема мониторинга. Предположим, мы настроили pg_probackup и он трудится упорно, вызываемый регулярно через cron.

Как мы узнаем, о том, что что-то сломалось?

Для решения этой проблемы был написан небольшой экспортер метрик pg_probackup для Prometheus.

Читать далее

Клонируем правильно: structuredClone() в JS

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.4K

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

Глубокое копирование в JavaScript всегда было немного проблемой. До тех пор, пока в языке не появился structuredClone() — метод, который решил многие наши проблемы.

Читать далее

Информация

В рейтинге
2 790-й
Зарегистрирован
Активность