Как стать автором
Обновить
55.45
Программный Продукт
Создаем решения для государства и бизнеса
Сначала показывать

Vouch Proxy для OAuth2 при авторизации пользователей в нагруженных системах

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

Vouch Proxy (VP) представляет собой мощный инструмент для обеспечения безопасности и удобства использования веб-приложений, особенно в условиях высокой нагрузки. VP позволяет использовать различные Identity Provider (IdP) для аутентификации пользователей и предоставления им доступа к защищенным ресурсам. В этой статье мы рассмотрим, как Vouch Proxy может быть использован для реализации OAuth2 в нагруженных системах.

Читать далее

Приоритизация тест-кейсов или как пройти регресс, не потеряв рассудок

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

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

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

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

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

На выходе мы имеем: высокий уровень ответственности и ограниченное количество отведенного времени на эту работу. Так как же мы можем оптимизировать и облегчить себе работу во время регрессионного тестирования и при этом не упустить критических багов?

Читать далее

Как нейросеть мне приложение писала

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

Данная статья содержит описание личного опыта взаимодействия автора и нейросетей DeepSeek и GigaChat на уровне <рядовой пользователь – машина>. Автор не является профессиональным программистом и профессиональным промпт-инженером, поэтому воздерживается от комментариев относительно качества кода и обоснованности того или иного решения, предлагаемого ИИ.

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

Читать далее

Bloom-фильтры в Postgres: скрытый инструмент для оптимизации запросов

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

В мире разработки и работы с базами данных Bloom-фильтры – это мощный, но малоизвестный инструмент, который может значительно ускорить выполнение запросов и снизить нагрузку на систему. Однако, несмотря на их потенциал, многие разработчики даже не знают, что Postgres поддерживает Bloom-фильтры "из коробки" (функциональность Bloom-фильтров доступна сразу после установки Postgres, при включении соответствующего расширения) через расширение bloom.

Bloom-фильтры особенно полезны в ситуациях, когда нужно быстро проверить, принадлежит ли элемент к множеству, или когда требуется оптимизировать запросы с несколькими условиями. Например, они могут ускорить JOIN-запросы, поиск по нескольким столбцам или агрегатные функции.

В этой статье мы разберем, что такое Bloom-фильтры, как они работают в Postgres, и в каких случаях их использование может быть полезным. Мы также рассмотрим практические примеры и покажем, как Bloom-фильтры могут помочь в оптимизации запросов.

Читать далее

Проблемы Nginx в организации микросервисной архитектуры IT-проекта. Способы их решения

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

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

Читать далее

Автоматизированное документирование баз данных на Markdown

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

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

Для решения данной задачи разработаны два PHP-скрипта, предназначенные для работы с PostgreSQL. Эти скрипты выполняют две основные функции:

1.  Сравнение старой и новой структуры базы данных с выявлением добавленных, удалённых и изменённых таблиц.

2.  Создание Markdown-документации, которая содержит подробное описание назначения таблиц и характеристик их полей, что делает изменения в структуре базы данных прозрачными для разработчиков.

Читать далее

Внедрение электронной цифровой подписи в мобильное приложение на Android

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

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

Сегодня мы хотим поделиться решением интересной и новой для нас задачи: нужно встроить поддержу ЭЦП в мобильное приложение заказчика. Бизнес-процесс подразумевает формирование неких документов в мобильном приложении с дальнейшей их отправкой на сервер и последующей обработкой. Поскольку документы без подписи не имеют юридической силы, пользователям заказчика приходилось распечатывать созданные документы для их подписания вручную. Вот этот процесс и было решено автоматизировать с целью экономии времени и ресурсов.

Читать далее

Создаем алгоритм определения скорости объектов по видео

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

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

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

Читать далее

Перспективы роботизации: андроиды в космосе и на кухне

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

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

Дискуссионный тезис о том, что советская плановая система экономики была не так уж и плоха и ее надо бы вернуть, перестал быть предметом дискуссий. Теперь это реальность. Глава государства и правительство РФ ставят задачи, а ведомства разрабатывают соответствующие планы по отраслям. Стратегическое планирование коснулось и области высоких технологий. В частности, на недавнем ПМЭФ-2024 Владимир Путин заявил о нетривиальной цели: «Россия за короткий срок должна войти в топ-5 стран мира по плотности роботизации». Глава государства отметил, что производство роботов следует развивать на собственной технологической базе.

О том, на каком уровне находится сейчас эта база, достаточно ли у нас ресурсов для выполнения такого масштабного плана мы поговорили с председателем правления Консорциума робототехники и систем интеллектуального управления Евгением Дудоровым.

Читать далее

Как научить компьютер различать цвета?

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

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

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

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

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

Изначально были попытки обучить на размеченных данных классические детекторы объектов, например, YOLO. Однако оказалось, что модель сильно усложняет задачу — начинает ориентироваться на расстановку игроков, и из-за этого точность становится невысокой. Поэтому возникла идея попробовать более классические и, соответственно, более простые алгоритмы.

Читать далее

Как современные технологии втягивают в алкоголизм

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

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

 Технологический прогресс постоянно снабжает население земного шара множеством “плюшек”, делая нашу жизнь удобной и динамичной.

Но бывает так, что какие-то "плюшки" очень плохо воздействуют на психику и образ жизни людей. Например, чрезмерное увлечение онлайн-играми часто приводит к лудомании. Постоянное “зависание” в соцсетях может вызвать депрессию. А такая, казалось бы ерунда, как фильтры, способна спровоцировать дисморфофобию, когда человек не принимает собственное тело, зацикливается на внешности и стремится постоянно исправлять надуманные недостатки.

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

Но каким образом современные технологии втягивают своих адептов в алкоголизм? И кто подвержен наибольшему риску?

Читать далее

Мир глазами ИИ

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

Многие слышали, что ИИ может видеть. Не просто ставить прямоугольники на объектах и определять, что это за объект, а видеть по‑настоящему. Понимать, что изображено на картинке, и в тексте передавать детали увиденного. Сейчас мы воспроизведем эту технологию у себя на компьютере и немного покопаемся в мозгах ИИ. Может быть эти манипуляции наведут на более серьезные мысли по поводу интеллекта машин и натолкнут на вопрос: «А так ли сильно он отличается от человеческого?»

Читать далее

Генерация картинок на любом железе без Midjourney

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

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

Читать далее

Уведомления через Telegram-бота при помощи почтового триггера Yandex Cloud Functions

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

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

Возможно, многие сталкивались с задачей: есть сервер с некими cronjob-ами, результат выполнения которых хотелось бы мониторить определенному числу лиц, но при этом сервер находится в каком-нибудь intranet и не имеет доступа к сети интернет. Вот и у нас однажды возникла подобная проблема. Единственным доступным средством коммуникации с внешним миром у сервера был почтовый шлюз, через который можно было отправить электронную почту. До некоторого времени задача решалась отправкой нескольких копий письма, но со временем стало понятно, что гораздо  удобнее читать уведомления в Telegram. Такую настройку мы произвели с помощью Yandex Cloud Functions.

Читать далее

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

App Router и Pages Router: что изменилось в Next.js

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

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

Как могут заметить разработчики, фреймворк Next очень активно развивается. Так, некоторое время назад в 13 версии появилась новая парадигма (модель) для создания приложений — app router, которая должна прийти на смену старой pages router.

В этой статье мы постараемся наглядно продемонстрировать и рассказать, что же поменялось в работе приложения с появлением app router, какие изменения произошли в сравнении с pages router, что нового успели добавить разработчики, а от чего они отказались.

Читать далее

Векторизация изображений. Как создать алгоритм поиска похожих изображений на Python

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

Многочисленные исследования ученых доказывают, что около 90% информации человек воспринимает через зрение. Изображения являются одним из самых богатых источников информации, которую можно использовать для разнообразных задач, включая классификацию, детекцию объектов, ранжирование изображений, поиск по изображениям и генерацию текстовых описаний. 

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

В мире есть много вещей, которые интуитивно понятны и очевидны для нас. Например, если перед нами два похожих цветка, мы можем определить их принадлежность одному виду, даже не зная названий этих растений. Этот навык позволяет нам распознавать объекты и определять их в группы. Разумеется, подобные алгоритмы уже давно существуют в современных поисковиках Google, Яндекс и прочих. Но что, если вы проектируете обособленную систему с собственной базой изображений одной или нескольких конкретных тематик и вам необходим функционал поиска похожих изображений?

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

Читать далее

Композиционное тестирование: новый подход к качеству IT-продуктов

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

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

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

Читать далее

Статический анализатор Ktlint для Kotlin в Android

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

Kotlin — это статически типизированный язык программирования на основе JVM, разработанный компанией JetBrains. Он был представлен Google в первую очередь для создания мобильных приложений на платформе Android. Используя Kotlin, разработчики могут писать код быстрее и более качественно. Тем не менее, как и в случае с любым другим языком программирования, важно соблюдать набор правил, чтобы обеспечить высокую производительность и читаемость кода.

Читать далее

Как создать интерактивные виджеты на iOS 17

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

5-9 июня 2023 года состоялась ежегодная презентация Apple WWDC23, на которой было представлено много интересных новшеств для iOS-разработчиков. Одну из таких фич — интерактивные виджеты, мы рассмотрим в этом руководстве.

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

В iOS 17 реализован функционал для создания интерактивных виджетов. Теперь у них появились элементы управления и анимации, виджет может сам выполнять некоторую работу без запуска основного приложения. Грубо говоря, обновленные виджеты представляют собой небольшие отдельные приложения, как AppClip.

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

Читать далее

Алгоритм поиска ключевых словосочетаний «на пальцах». Анализируем новости

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

В современном мире объем данных в интернете постоянно растет с огромной скоростью. Возникает логичный вопрос: как ориентироваться в этом информационном потоке? 

Чтобы упростить себе задачу поиска и обобщения информации IT-энтузиасты применяют технологии генеративно обученных чат-ботов. Наиболее широкое распространение получил  ChatGPT. Яндекс, в свою очередь, добавил в браузер YandexGPT, который позволяет тезисно ознакомиться с содержанием страницы. Всё чаще вакансия Prompt-инженера начинает встречаться на hh и Хабр Карьере. Специалисты и чат-боты помогают конечному пользователю экономить время для поиска необходимой информации. 

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

В статье мы расскажем, как (не без нейронных сетей) можно создать простой алгоритм на Python, который поможет извлекать ключевые слова из любого текста, тем самым избавляться от ненужной информации и автоматизировать процесс анализа материалов. Мы будем работать с русским текстом, а именно — с новостными постами. Поэтому в частном случае используются пакеты для обработки, поддерживающие именно русский язык. В том числе используются модели, обученные на корпусах текстов с новостной семантикой. 

Читать далее
1

Информация

Сайт
ppr.ru
Дата регистрации
Дата основания
2002
Численность
501–1 000 человек
Местоположение
Россия