Как стать автором
Поиск
Написать публикацию
Обновить

Как стать автором

Гибкий поиск в Spring Data Elasticsearch: Превращаем «првт мр» в «Привет, мир!»

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

Всем привет! Меня зовут Артемий Иванов, и это моя первая статья на Хабре. В ней я хочу поделиться опытом, который получил, работая над задачей кастомизации поиска.

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

Разобраться во всех нюансах было непросто — приходилось вникать в обилие терминов и тонкостей «на ходу». В этой статье я покажу, как можно сделать поиск гибче с помощью Spring Data Elasticsearch — и всё это на конкретных примерах из практики.

Читать далее
Всего голосов 9: ↑9 и ↓0+12
Комментарии2

Организация рабочей машины на Linux с удаленным доступом. Часть 1: Пепел(ац)

Уровень сложностиСредний
Время на прочтение6 мин

Здравствуй, дорогой читатель!

Меня зовут Антон, я молодой инженер, который совсем недавно своими тонкими неокрепшими ручонками пробил стенку из кальцита, выбрался в неизведанный мир проводов и индийских драконов да со всего своего юношеского маху сиганул навстречу приключениям.
Мне предстоит узнать много нового и отстроить свое космическое судно… или, может, ноев ковчег? Нет, мне предстоит отстроить свою систему; систему под номером d96. В процессе ее строительства, как подобает всякому капитану, я буду вести бортовой журнал.
Итак, запись #1…

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии25

Определение bpm (beats per minute) в браузере

Уровень сложностиСредний
Время на прочтение3 мин

Когда-то я занимался спортивными парными танцами. Часто на тренировках была необходимость узнать темп (или скорость, если немного подушнить насчёт терминов) играющего трека, который измеряется в «ударах в минуту» (beats per minute, bpm)

Спортсмены используют для этого разные сайты/приложения, где нужно пальцем «протапать» ритм. Я и сам таким пользовался, но однажды я задался вопросом — смогу ли я сделать браузерный сервис, который сможет определять bpm из записанного через микрофон аудио

Эта статья как раз о том, как я его сделал

Я не буду вдаваться в тонкости реализации непосредственно UI: у меня уже был на момент начала разработки пет-проект на React, и сервис я решил делать на базе него.

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии2

Как бизнес меняет личность: 10 вещей, которые ты уже не вернёшь назад

Время на прочтение4 мин

Ты стоишь посреди пустого офиса, за окном апрель 2025 года, дождь стучит по стеклу, а ты смотришь на свой стартап — дитя, в которое вложил годы, деньги и кусок души. Ты уже не тот, кем был, когда начинал. Бизнес — это не просто цифры в Excel и питчи для инвесторов. Это алхимия, которая перекраивает твою личность, как скульптор глину. Иногда ты становишься сильнее, иногда — жёстче, а иногда теряешь то, что казалось вечным. Вот 10 вещей, которые бизнес меняет в тебе навсегда. Это не хорошо и не плохо — это просто правда.

Читать далее
Всего голосов 37: ↑18 и ↓19+2
Комментарии15

Тень уязвимости: fake exploit как зеркало реальных техник

Уровень сложностиСложный
Время на прочтение6 мин

Я пишу о том, как создала fake exploit за 7k $ - фейковая уязвимость, которая не наносит вреда, но выглядит как реальный эксплойт. Это не просто пранк, а образовательный инструмент, позволяющий понять структуру эксплойтов, изучить уязвимости и их демонстрацию. Рассматриваются out-of-bounds write, JIT spray, а также показывается, как можно создавать видимость опасных действий, не причиняя реального ущерба. 

Читать далее O_0 ...
Рейтинг0
Комментарии8

Как мы автоматизировали учет в IT-команде и почему это не всегда было радужно

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

Опыт автоматизации финучета в небольшой IT-команде — честно, с мемами и фейлами. Как ушли от Excel, почему сначала все пошло не по плану, что сэкономили, где накосячили и зачем все-таки это сделали. Без волшебных кнопок, но с выводами, которые помогут другим не наступить на те же грабли.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии11

RAG-технология в действии: как создать интеллектуальную систему поиска по нормативным документам

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

В этой статье рассмотрим пример практической реализации RAG (Retrieval-Augmented Generation) на Python для ответов на вопросы пользователей с опорой на нормативную базу технических стандартов. В моём случае это строительные документы: СНиПы, СП, ГОСТы и другие. Готовое решение можно протестировать в строительном Telegram-боте: https://t.me/Pdflyx_bot - данний бот генерирует ответ на основании базы знаний, приводит цитаты и указывает страницы документов, откуда была взята информация.

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

Читать далее
Всего голосов 16: ↑16 и ↓0+20
Комментарии18

От хаоса к порядку: автоматизация мониторинга СУБД в гибридных средах

Время на прочтение7 мин

Всем привет! Недавно закончился PGConf, где большая часть докладов была посвящена новым фичам PostgreSQL Pro, и лишь немногие касались ванильной версии. В прометей Лаб я влился с октября 2024 года и начал развивать сервис администрирования баз данных. Сегодня я хочу поделиться нашим подходом к мониторингу, который не требует лицензий, при этом экономит время и нервы.

Если вы DBA, то вы наверняка сталкивались с задачей мониторинга разных инстансов баз данных — PostgreSQL, MSSQL, MariaDB, Oracle или что-то из NoSQL — на разных ОС, от bare metal до PaaS. Настройка мониторинга в таких условиях может занять недели, а ошибки в алертинге приводят к простоям.

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

Я тоже через это проходил, поэтому в Prometey Lab мы сфокусировались на переносимом, масштабируемом, k8s ready решении, на типовых компонентах которое можно оперативно развернуть и с минимальной болью занести в разрешенный техстек. На последней демо, при наличии тех учеток в бд, весь процесс подключения нового клиента к мониторингу занимает 40 минут и поддерживает кастомизацию под любые нужды.

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

Читать далее
Всего голосов 4: ↑3 и ↓1+3
Комментарии2

Full-stack в аналитике: почему это будущее Data Science?

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

Привет.

Представьте: вы запилили нейросеть, которая определяет котиков на фото с точностью 99.9% (оставшиеся 0.1% — это когда хомяк притворяется котом). Воодушевлённый результатом, бежите к руководству — а там оказывается, что:

Читать далее
Всего голосов 8: ↑8 и ↓0+12
Комментарии13

Все пути дохода дизайнера в IT и не только

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

Я собрал единую схему всех веток, квестов и ачивок в карьере дизайнера, чтобы тебе не пришлось набивать шишки или слепо подражать успешным дизайнерам. В этой статья я расскажу, как пройти путь от первых шагов в профессии до лидерских позиций, фриланса, зарубежной удалёнки или своего проекта. Поделюсь реальными кейсами обычных дизайнеров и звёзд индустрии, историями из моей 10-летней карьеры и, где это возможно, цифрами и шорткатами.

Читать далее
Всего голосов 10: ↑8 и ↓2+10
Комментарии9

An incursion under C#. Протаскиваем F# в Godot. Исправления

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

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

Читать далее
Всего голосов 3: ↑3 и ↓0+5
Комментарии2

Зачем переписывать сайт с нуля?

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

Расскажу о признаках неизбежности «перезапуска» проекта и разработки новой версии сайта с «чистого листа». Рассмотрим причины, по которым сайт оказывается в такой запущенной стадии. Найдем позитивные моменты в данной, казалось бы, наглухо негативной истории. Немного углубимся в технику процесса. В конце — чек‑лист для проверки своего проекта!

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии15

Как Canvas украсил QIC

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

Всем привет! Меня зовут Виген Мовсисян, я Frontend-разработчик в QIC digital hub. В этой статье я расскажу, как мы внедрили технологию Canvas, какие задачи он помогает решать, что уже успели сделать и какие у нас планы на будущее.

Материал основан на моём докладе с QIC Tech Meetup, полную запись вы можете найти на YouTube.

Если говорить коротко, Canvas —  это «холст», который позволяет рисовать и добавлять интерактивность, давая пользователям возможность напрямую взаимодействовать с графическими элементами. В статье я буду ссылаться на этот проект, чтобы проиллюстрировать все описанные ниже возможности Canvas.

*В текущей версии отсутствует кнопка «Назад» — для возврата в предыдущий раздел воспользуйтесь стандартной кнопкой браузера. 

Итак, начнём погружение в удивительный мир возможностей Canvas.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии0

Писать тексты, чтобы их читали

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

Читаю статью, вижу буквы, вижу слова, в предложения сложить не могу. О чём статья? Наверное, слишком умно написано? Или наоборот текст ни о чём и написан косноязычным автором? На самом деле возможны оба варианта. Но чаще второе, чего уж там.

Читать далее
Всего голосов 6: ↑5 и ↓1+6
Комментарии11

Обзор новой редакции NIST 800-61 по реагированию на инциденты

Уровень сложностиСредний
Время на прочтение7 мин

В этой статье я хотел бы рассмотреть вышедший буквально на днях стандарт NIST 800–61r3 «Incident Response Recommendations and Considerations for Cybersecurity Risk Management» (Рекомендации и соображения по реагированию на инциденты для управления рисками в сфере кибербезопасности). Замененный стандарт 800–61r2, выпущенный в далеком 2012 году, был полностью переработан и текущая версия существенно отличается по структуре и подходу к вопросу реагирования на компьютерные инциденты.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

DevOps инфраструктура для стартапов ч.1

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

Мы — команда студентов из ИТМО, которая прошла путь от хакатонов до продуктовой разработки. На собственном опыте расскажем, как выстроили инфраструктуру, способную масштабироваться, переживать сбои и не стоить, как полкоманды в найме.

Когда вы только начинаете делать стартап, инфраструктура кажется чем-то второстепенным. Важнее MVP, фичи, дизайн, пичдек. Но в какой-то момент всё внезапно перестаёт помещаться на одном сервере, руками деплоить становится больно, SSL не обновляется, а продакшн падает из-за перегрузки или забытого docker-compose up.

Kubernetes? Слишком сложно, долго и дорого. Монолит? Неудобно масштабировать. Мы искали третий путь — и нашли его.

Читать далее
Всего голосов 16: ↑16 и ↓0+19
Комментарии16

Очень простая структура данных, с помощью которой решаются сложные задачи

Время на прочтение7 мин

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

Читать далее
Всего голосов 21: ↑18 и ↓3+19
Комментарии23

Часть 1. Как я производство автоматизировал: от «я всё делаю руками» к «система уже всё сделала»

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

Ручная проверка модулей контроля питания отнимала 4 часа на устройство. Я собрал стенд на Python, сократив время до 75 минут на 5 устройств. В статье: как превратить неттоп в мозг системы, избежать «фейерверков» из реле и заставить операторов пить кофе вместо того чтобы работать!

Раскрыть секреты магии
Всего голосов 10: ↑8 и ↓2+10
Комментарии4

Как мы разрабатывали платформу цифровизации производств — и внедрили её в последний момент

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

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии0

Обзор техник RAG: Retrieval Augmented Generation

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

Рассмотрим техники построения и улучшения RAG систем: от нарезания текстов на куски, до продвинутых способов улучшения качества ответа.

Этим блогом можно пользоваться как шпаргалкой для проектирования своего RAG-а и/или для подготовки к собеседованиям.

Все полезные ссылки и материалы, на которые я опирался будут в конце.

Читать далее
Всего голосов 10: ↑10 и ↓0+12
Комментарии2