Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

ElasticSearch — поиск последовательности в тексте

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

Привет! На связи Аркадий из Т-Банка, мы по прежнему делаем TQM, и в этой статье покажу, как мы решили задачу с поиском последовательностей в тексте коммуникаций. Это работает как на простых цепочках из словосочетаний по порядку, так и на сложных кейсах — со временем фразы, каналом «клиент — оператор». Мы по прежнему работаем с ElasticSearch, оставляя возможность “накрутить” на поиск по тексту такие вещи как RAG, LLM и другие модные технологии. 

Несколько ограничений для сегодняшней задачи:

- Нелинейное возрастание сложности запроса при увеличении количества фраз. Поэтому предел у нас 4.

- Шаг тайминга мы выбрали 5 секунд. После каждой фразы ставим метку времени или несколько меток, если фраза заняла больше 5 секунд. Если сделать шаг слишком мелким это позволит искать более точно, но замусорит наше поле метками времени. Кажется, это тот момент когда лучше заранее договориться о требованиях.

А теперь к самому интересному. Добро пожаловать под кат!

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

Новости

Реверсинжиниринг PWN-тасков или эксплуатируем бинарные уязвимости (Часть 4 / Stack3)

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

Всем доброго времени суток! Набираем обороты... Сегодня мы будем 'пывнить" stack3.exe (ссылочка на файл, как обычно, на Github).

Stack3

Закидываем в Ghidra:

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

Частный взгляд на структурирование файлов при разработке SPA

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

В этом посте я попытаюсь формализовать и систематизировать своё собственное понимание, какой должна быть структура SPA-приложений. Это очень субъективное изложение, отражающее мой собственный опыт. Оно относится к определённому классу веб-приложений (SPA, PWA) и не претендует на универсальность.

В контексте данной статьи SPA-приложение - это классическое клиент-серверное приложение, где клиент существует в браузере (как правило, в пределах одной страницы) и взаимодействует с сервером посредством HTTP-запросов. Приложение разрабатывается в виде набора npm-пакетов в стиле “модульный монолит”. Серверная часть реализована на движке Node.js.

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

Использование метода «почти бесконечного» запроса для сопоставления CPU интенсивных операций в Oracle

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

Не так давно я опубликовал заметку о некотором варианте иерархического запроса, который выполняется очень долго и неограниченно и не потребляет иных ресурсов базы данных кроме CPU.

Возникла довольно естественная идея использовать этот метод для сопоставления CPU интенсивных задач в БД Oracle. Например, если мы встраиваем такую прожорливую CPU-функцию в наш пайплайн исполнения SQL-запроса так, чтобы она выполнилась более миллиарда раз, то получаем возможность сравнить затраты на CPU в разных случаях.

В данном случае мы будем сравнивать по производительности различные функции хеширования в Oracle: ORA_HASH и различные варианты STANDARD_HASH.

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

Истории

Книга: «Фулстек-тестирование»

Время на прочтение27 мин
Количество просмотров214
image Привет, Хаброжители!

Тестирование — важнейшая задача для создания высококачественного программного обеспечения. Разработчики и инженеры по качеству найдут в книге всеобъемлющий материал по тестированию в десяти различных категориях. Познакомьтесь с соответствующими стратегиями и понятиями и получите практические знания, применимые как при разработке, так и при тестировании мобильных и веб-приложений.

Автор предлагает примеры использования более чем 40 инструментов, которые вы сможете немедленно опробовать. Профессионалы и новички получат навыки тестирования производительности, защищенности и доступности, а также поближе познакомятся с особенностями исследовательского, межфункционального тестирования, тестирования данных и мобильных приложений, автоматизации тестирования, и многими другими вопросами, связанными с тестированием. Руководство поможет вам справиться со сложной задачей поддержания качества программного обеспечения в процессе его разработки.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+7
Комментарии0

Как я создал архиватор из задачки с техсобеса: сжатие файлов с помощью RLE

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

Привет, меня зовут Рома. Я работаю в KTS на позиции Python backend-разработчика. 

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

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

Зачем нужен код-ревью?

Время на прочтение3 мин
Количество просмотров474

Привет, Хабрюзеры.

Недавно я устроился на вакансию Golang junior разработчика в новую компанию. Ранее я несколько лет программировал на PHP, пока не познакомился с Go. Думал, что моя мечта сбылась: я набрался опыта, стал более опытным специалистом и теперь могу продолжать развиваться. Однако, после выполнения задачи код, написанный мной, нужно было отправить на код-ревью. После этого мне приходили правки, которые я должен был исправить и снова отправить на ревью. Раньше я не понимал, зачем нужен этот процесс. На форумах и в сообществах многие писали, что код работает — и слава Богу, так зачем нужны эти ревью?

Теперь, после некоторого времени работы, я хотел бы поделиться своим мнением о код-ревью и объяснить, почему этот процесс важен.

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

А что, если записать звук на бумагу?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров977
Картинка Freepik

Достаточно много времени назад мне пришла в голову такая странная мысль — а что, если звук записывать на бумагу?

Мне это показалось любопытным, и я стал исследовать этот вопрос, найдя целый ряд решений, самое старое из которых насчитывает чуть меньше века (что не делает его менее интересным). И вы можете попробовать повторить найденные решения самостоятельно, а также попробовать собственные силы в разработке своего решения вопроса, вынесенного в заголовок.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+18
Комментарии8

Жизнь во время ревью: как помирить Лешу и Славу и при этом не обидеть Колю…

Время на прочтение10 мин
Количество просмотров322

Всем привет! Меня зовут Дмитрий, я тимлид в команде разработки. Мы классная команда, пишем большой продукт с не менее большой кодовой базой. У нас есть множество разных процессов, и сегодня хотелось бы рассказать про один из них, достаточно важный – это ревью кода. В статье будет немного истории о том, как этот процесс развивался у нас, как мы решали проблемы из пролога к статье, а также мысли и опыт того, как этот процесс влияет на другие составляющие в работе команды.

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

Задача трёх тел (не китайская нефантастика)

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

Однажды, выполнив в Гугле запрос "Three body problem" ("Задача трёх тел"), я был просто поражен - первая страница результатов состояла только из ссылок на роман китайского писателя-фантаста Лю Цысиня с соответствующим названием, а также на телесериал, снятый по этому роману, т.е. собственно ссылок на задачу трёх тел не было вообще! Мне это показалось удивительным и несправедливым, поскольку сама по себе задача трех тоже может выглядеть увлекательной в популярном изложении. В этой публикации я постарался привести некоторые доказательства этого утверждения.

Читать далее
Всего голосов 29: ↑28 и ↓1+36
Комментарии19

От бумажной фабрики до телеком-гиганта: история Nokia

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

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

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

Как построить эффективную стратегию мониторинга с высокой наблюдаемостью

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


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

Исходя из постулата выше, роль мониторинга систем в последние годы резко возросла. Наши системы перешли от технологических новшеств к статусу критической инфраструктуры, без которой повседневная жизнедеятельность просто невозможна. Однако существует зияющая пропасть между формальным мониторингом и мониторингом, который будет соответствовать сложности и глубине современных систем.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+28
Комментарии0

Внутренние коммуникации инженеров: как поддержать командный дух на удалёнке

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

Привет! Я Катя Глушанина, тестировщик в 2ГИС. В далёком 2019 год в нашей компании было не так много сотрудников, а тестировщиков в веб-отделе — ещё меньше. Мы все работали в офисе, много общались и решали вопросы на месте. Ламповость атмосферы была включена по умолчанию. Компания начала расти, и с этим пришли новые вызовы. Стало больше команд, тестировщиков, появились удалённые сотрудники.

Это привело к трём «побочным эффектам»:

Сложности коммуникации. У нас 11 часовых поясов, и это иногда тормозит доставку фич. Например, у меня возник вопрос, а тот, кто может с ним помочь ещё не начал работать или уже закончил.

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

Чувство изоляции. Одному дома может быть грустно: даже мем не с кем обсудить.

И мы поняли, что нужно что-то менять.

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

Ближайшие события

«Поймай меня, если сможешь», или как мы расставляем ловушки для хакеров

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

Всем привет! Меня зовут Юлия Айдарова, я старший аналитик информационной безопасности группы внутреннего мониторинга Innostage. В этой статье хочу вас погрузить в мир Xello Deception: расскажу, что это, с чем его едят, нюансы при настраивании и с радостью поделюсь своим опытом по внедрению и работе с данной системой.

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

Как разработчик систему продуктовой аналитики Posthog подключал

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

Когда наш продукт (протокол рекуррентных криптоплатежей на NodeJs, React) вырос, возникла необходимость подключить систему продуктовой аналитики, чтобы понимать, что и как делают наши пользователи. В статье хочу рассказать об опыте подключения и использования системы аналитики Posthog. Думаю, статья будет полезна разработчикам, впервые подключающим аналитику, техдиректорам и менеджерам для оценки потенциальных сроков и рисков.

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

Donkey.bas на Python в 170 строк

Время на прочтение10 мин
Количество просмотров419

В этой статье я поведаю вам о своём намерении написать ремейк старой DOS игрушки Donkey.bas с использованием стандартных библиотек Python: Tkinter, Time, Random и Winsound..

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

Разработка игр под Apple Vision Pro: ARKit, realityKit, Reality Composer Pro

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

Меня зовут Илья Проскуряков, я — iOS-разработчик компании Effective и в статье расскажу о разработке игр под Apple Vision Pro.

Мы с коллегами разработали две мини-игры в рамках хакатона Ludum Dare в Омске, а затем я сам немного поработал с Apple Vision Pro. Теперь хочу поделиться опытом с примерами и кодом, рассказать о плюсах и минусах Apple Vision Pro с точки зрения разработчика, и в целом, с какими сложностями столкнулся и как их решал.

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

В чем сходство и различия технологий DLP и DAG? Почему один класс систем не заменяет другой?

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

Дмитрий Богомолов, архитектор отдела проектирования, подготовил материал о ключевых различиям DLP и DAG-решений.

Стремительный рост объемов неструктурированного корпоративного контента стал одной из острейших проблем для ИТ- и ИБ-подразделений. При этом, по оценке международной аналитической компании ITC, суммарный объем данных в ближайшей перспективе достигнет уровня 175 зеттабайт, или 175 миллиардов гигабайт, и существенная доля такой информации будет неструктурированной.

Поэтому управление доступом к неструктурированным данным становится проблемой для большинства крупных компаний. Мы часто слышим, что для решения подобных задач достаточно использовать DLP-системы. Да, нередко подобные продукты закрывают ряд задач по управлению доступом к неструктурированным данным, но в большинстве случаев использование специализированных DAG-платформ более эффективно с точки зрения управления рисками в крупных компаниях.

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

Создание Framework для Go: Вдохновение от Laravel

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

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

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

Обзор основных возможностей инструмента SimPCB для расчета параметров линий передач в программе Delta Design

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

В.С. Кухарук, В.А. Ухин, Д.С. Коломенский, О.В. Смирнова

В статье рассматриваются основные возможности инструмента SimPCB в составе Delta Design. Выделяются его преимущества над аналогичными программными реализациями.

Одним из ключевых элементов в конструкции печатной платы (ПП) является линия передачи (ЛП). Эта система прямых и возвратных проводников, расположенных в непосредственной близости друг от друга и формирующих единое электромагнитное поле. Управление параметрами ЛП на ПП позволяет минимизировать потери, связанные с деградацией целостности сигналов и ЭМС. [1]

Для обеспечения надежной работы высокоскоростных и высокочастотных электронных устройств необходимо контролировать параметры ЛП. ЛП - это не только сигнальный трек, расположенный на одном слое, внешнем или внутренним, как представляют его большинство систем автоматизированного проектирования (САПР), но и контактные площадки (КП) компонентов, переходные отверстия (ПО). Параметры КП возможно учесть, представив их через обычные структуры ЛП. Это будет или микрополосковая, копланарная или копланарная микрополосковая ЛП без маски. Расчет ПО полностью отсутствует, а их параметры выбираются, как правило, из технологических возможностей производства. В результате межслойный переход становится неоднородностью на пути следования сигнала и может привести к серьезному снижению его качества.  

Инструмент SimPCB, входящий в состав программы Delta Design, кардинально отличается от программ подобного назначения. SimPCB дает возможность рассматривать ЛП более полно, так как позволяет вычислять параметры не только ЛП в привычном их понимании, но и ПО. Следует отметить еще раз, что во всех современных зарубежных САПР печатных плат таких, как Altium Designer, PADS, VX и другие, не реализован расчет первичных и вторичных электрических параметров межслойных переходов, что в значительной степени может негативно повлиять на качество разработки, особенно высокочастотных устройств.  

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