В этой статье я расскажу вам о том, как мы в Ozon оптимизируем базовый поиск: как у нас выстроены процессы, как найти бутылочное горлышко, конкретные рекомендации по написанию горячего кода, реальные примеры значимых оптимизаций и что делать, когда все низко висящие фрукты уже сорваны, а хочется ещё.
Программист, руководитель
Технология единого входа: как работает SSO
Привет, Хабр!
Казалось бы, что может быть проще, чем один вход для всех сервисов? Но за этой кажущейся простотой скрываются сложные технические детали.
Концепция SSO не появилась вчера, она развивалась на протяжении многих лет. Эта идея начала набирать обороты в эпоху, когда интернет-сервисы стали частью нашей повседневной жизни, и задача управления множеством учетных записей стала более острой.
Первые идеи SSO зародились в конце 1990-х, когда корпоративные сети стали более сложными, и потребность в централизованном управлении доступом стала очевидной. Это был период, когда организации начали искать способы упростить управление учетными записями для своих сотрудников.
В начале 2000-х было активное развитие технологий SSO. Организации начали внедрять SSO для упрощения доступа к корпоративным приложениям и ресурсам. Это также был период появления стандартов, таких как Kerberos, который лег в основу многих ранних реализаций SSO.
С развитием облачных технологий и мобильных устройств SSO начало получать ещё большее распространение. Возникли такие стандарты, как OAuth и OpenID, которые позволили SSO выйти за пределы корпоративных сетей и обеспечить интеграцию с обширным спектром внешних онлайн-сервисов и приложений.
Преимущества SSO очевидны: удобство использования, уменьшение количества паролей, которые нужно запоминать, и, как следствие, снижение риска их забывания или утечки. Но, как и у любой технологии, у SSO есть и свои темные стороны и одна из них - безопасность.
SSO – это процесс, позволяющий пользователям использовать одни учетные данные для доступа к нескольким приложениям или сервисам. Это не только удобно, но и повышает безопасность, уменьшая количество паролей, которые нужно запомнить и вводить.
Распознавание русского жестового языка: распознаём до 3+ жестов в секунду на обычном ПК без видеокарты
Привет!
Меня зовут Максим Новопольцев, я техлид RnD команды Центра развития технологий AI во благо общества, Sber AI. Мы занимаемся проектами, направленными на решение важных социальных и экологических задач, таких как сохранение биоразнообразия, создание инклюзивной среды, прогнозирование климатических рисков.
В этой статье я расскажу как и зачем мы создавали модель распознавания русского жестового языка и покажу, что из этого получилось.
Сегодня в России нет достаточного количества специалистов-переводчиков русского жестового языка (РЖЯ), с помощью которого общаются люди с ограничением слуха. По данным Всероссийского общества глухих, нехватка специалистов в этой сфере в России - около 4 тыс.
А между тем, глухие или неговорящие - достаточно большая группа людей, которая посещает государственные учреждения, ходит в магазины, банки и пр. По данным ВОЗ, более 5% населения мира, или 430 миллионов человек, имеют проблемы со слухом, а к 2050 г. с этой проблемой столкнется каждый десятый, или более 700 миллионов человек.
Своё облако на CasaOS
В последнее время я всё чаще задумывался о создании собственного домашнего облака. Я решил исследовать различные варианты операционных систем, специально предназначенных для домашних серверов. В моем поиске я рассмотрел несколько популярных решений, таких как TrueNAS и OpenMediaVault (OMV), каждое из которых предлагало свои уникальные функции и возможности. Однако, несмотря на их многочисленные преимущества, я искал что-то еще более простое и гибкое в настройке. И вот тогда я наткнулся на CasaOS – легковесную и интуитивно понятную операционную систему, которая идеально подошла для моих целей. В этой статье я поделюсь своим опытом работы с CasaOS, расскажу о ее особенностях, возможностях и преимуществах, которые сделали её идеальным решением для моего домашнего облака.
Fooocus v2 — бесплатный Midjourney у вас на компьютере. Подробная инструкция по установке и использованию нейросети
Друзья, всем привет! Сегодня я хочу рассказать вам про самую простую и доступную для понимания нейросеть, которая создает изображения по вашему текстовому описанию. Она называется Fooocus и основана на знаменитой Stable Diffusion XL. Это идеальное решение в качестве вашей первой нейросети, и необходимый инструмент для любого дизайнера или контент мейкера.
Внутри много тяжелых изображений.
C VDI на Руси жить хорошо? Функциональные особенности российского VDI
В этой статье мы хотим посмотреть на несколько российских решений с точки зрения их функциональных особенностей. По всем этим решениям мы прошли обучение у вендоров, протестировали их в нашей лаборатории и провели пилотные внедрения у заказчиков. У нас накопился опыт по отечественным продуктам, которым хотим поделиться.
Для начала отметим, что VDI по своей сути — это система автоматизации двух ключевых процессов:
— Управление жизненным циклом виртуальных рабочих мест (ВРМ) (развертывание из шаблона с регистрацией в службе каталога, пауза, перезапуск, удаление, переразвертывание после внесения изменений в шаблоны и т. п.).
— Управление пользовательскими сессиями: авторизация пользователей, организация сессий, проброс пользовательских устройств на виртуальные АРМ.
Весь остальной функционал, по сути, вспомогательный, хотя и не менее важный на практике: кластеризация компонентов управления VDI, балансировка и туннелирование трафика, управление пользовательскими профилями, доставка отдельных приложений, терминальные сессии, удаленный помощник.
Разработка браузерных игр с использованием Phaser3, React, Typescript
Думаю, ни для кого не секрет, что каждый уважающий себя разработчик программного обеспечения должен иметь в своем портфолио хотя бы один пет-проект, а лучше полноценный продукт, дающий дополнительный постоянный заработок. Предметных областей и тематик приложений великое множество, но среди них есть одна, которая заслуживает отдельного внимания — разработка своей собственной игры.
Разработка игр это круто и весело! В данной статье разберем пошагово разработку демо небольшой браузерной игры.
Kafka, go и параллельные очереди
В этой статье я расскажу о паре способов увеличить пропускную способность системы с помощью партиций kafka и каналов go. В качестве библиотеки-клиента kafka буду использовать segmentio/kafka-go
. Статья будет полезна начинающим go-разработчикам, которые уже знакомы с основными концепциями Apache Kafka (producer, consumer, consumer group, offset, топик, партиция), но еще не задумывались о масштабировании. Все рассуждения будут опираться на игрушечный пример, который, я надеюсь, хотя бы немного напоминает реальные системы.
Отказоустойчивая архитектура: почему Tarantool не падает?
Основная проблема в высоконагруженных приложениях — отказоустойчивость. Нагрузка с упавших узлов в кластере должна переключаться на живые. Это кажется несложной задачей, но на практике появляется много подводных камней. Мы с yngvar_antonsson потратили много времени на поддержку различных кластеров, построенных на Tarantool и наших кластерных фреймворках Cartridge и TDG, и сегодня расскажем вам, как обеспечивается отказоустойчивость в наших приложениях. Будет интересно всем, кто хочет подробнее узнать, как устроен фейловер в Cartridge, и тем, кто хочет узнать о нашем опыте создания автоматических фейловеров.
Читаем/записываем файл в Андроиде без запроса пермишинсов
Считаете, что для чтения файла в андроиде нужен
Manifest.permission.READ_EXTERNAL_STORAGE
Сейчас я раскажу как это сделать совсем без запроса пермишинов.
Свой Firebase за 7$ или практический опыт внедрения Appwrite как сервера для мобильного приложения
Appwrite — это открытое BaaS решение которое содержит массу готовых модулей, основные из которых это база данных, хранилище, авторизация и функции. В рамках поста я расскажу какими функциями обладает Appwrite и личном опыте интеграции решения.
Как мы Kafka с NestJS microservices подружить пытались
Привет, меня зовут Валентин, я NodeJS-разработчик в Сравни. Моя команда делает Profile Service — внутренний продукт, который отвечает за быстрое получение и запись личных данных пользователей для экосистемы Сравни. Мы взаимодействуем с 20+ продуктовыми командами, которые дают нагрузку на сервис порядка 200-300 RPS; порядок обрабатываемых записей в БД – десятки миллионов.
В какой-то момент мы решили внедрить Kafka – де-факто стандарт транспорта, работающий в миллионах проектов. Что может пойти не так? Оказалось – вообще всё что угодно.
В этой статье я расскажу, с какими неочевидными проблемами мы столкнулись при переходе на Kafka у нас в продукте, как мы чинили баги в NestJS Microservices и какие выводы сделали (спойлер: Kafka – не всегда хорошее решение).
Приступим!
Компьютерные решения больше не запатентовать
Я патентный поверенный занимаюсь тем, что помогаю изобретателям получить патентную защиту их разработок (изобретений и полезных моделей).
В последнее время Роспатент начал, на мой взгляд, неправомерно выдавать отказы по разработкам, которые основаны на использовании компьютеров и прочей вычислительной техники.
Неправомерность, по моему мнению, основана на том, что если нормативные документы не поменялись, то в одностороннем порядке вдруг изменять критерии оценки недопустимо. Да, Роспатент сам устанавливает правила выдачи патентов, но это не значит, что ему можно их нарушать. Чтобы все было честно и прозрачно следовало бы изменить нормативные документы, но дело в том, что он хочет отказывать в выдаче только по одному типу решений, ради этого переписать правовую базу не получится.
С отказами в выдаче патентов столкнулся не только я, но и многие мои коллеги. Мне стало интересно, как изменился процент выдач патентов на компьютерные решения статистически, чтобы понять масштаб проблемы.
Забегая вперед скажу, что в результате анализа я нашел гораздо более интересные для мало знакомого с патентованием читателя кейсы.
Дальше я тезисно буду описывать, что делал и как, чтобы получить необходимые мне данные и какие интересные закономерности и факты нашел.
Бизнес-правила в действии: семь лет развития и усовершенствования Business Rules Engine
Привет! Меня зовут Владислав Кучинский. Я начинал свой карьерный путь в IT с разработки на С++ и Java, а сейчас являюсь руководителем группы Platform Event Management в компании Bercut.
Сегодня я расскажу историю создания платформы Business Rules Engine (BRE) Bercut – системы обработки событий в реальном времени. Поделюсь опытом удачных и не очень решений, которые в итоге все же стали удачными. К моменту начала разработки BRE я был руководителем отдела и осуществлял различные роли: был аналитиком, архитектором, сам что-то кодировал, внедрял, тестировал.
Итак, под катом – история преодоления сложностей, с которыми мы столкнулись во время проекта, и выводы, к которым пришли.
Устраняем ошибки, связанные с SIGSEGV: ошибка сегментирования в контейнерах Linux (код возврата 139)
Сигнал SIGSEGV, применяемый в Linux, означает нарушение сегментирования в рамках работающего процесса. Ошибки сегментирования возникают из-за того, что программа пытается обратиться к участку памяти, который пока не выделен. Это может произойти из-за бага, случайно вкравшегося в код, либо из-за того, что внутри системы происходит некая вредоносная активность.
Сигналы SIGSEGV возникают на уровне операционной системы, но столкнуться с ними также вполне можно и в контексте контейнерных технологий, например, Docker и Kubernetes. Когда контейнер завершает работу, выдав код возврата 139, дело именно в том, что он получил сигнал SIGSEGV. Операционная система завершает процесс контейнера, чтобы предохраниться от нарушения целостности памяти.
Если ваши контейнеры то и дело завершают работу с кодом возврата, то важно исследовать, что именно вызывает ошибки сегментирования. Часто следы ведут к программным ошибкам в языках, открывающих вам прямой доступ к памяти. Если такая ошибка возникает в том контейнере, где выполняется сторонний образ, то виной тому может быть баг в стороннем софте или несовместимость образа со средой.
В этой статье будет объяснено, что представляют собой сигналы SIGSEGV, как они влияют на работу ваших контейнеров с Linux в Kubernetes. Также я подскажу, как отлаживать ошибки сегментации в вашем приложении, а если они возникают – как с ними справляться.
Python в помощь инженеру ПТО
Всем привет.
В статье приведу немного скриптов на Python для решения вопросов с которыми иногда пересекается инженер ПТО строительной организации. Склёпал сам по мотивам информации из инета. Профи будет скучно), уровень "без диплома программиста".
На рабочем ноуте используется: Win10, Python 3.11, Office2019. Програмлю в PyScripter (нравится мне он).
Приручаем GitLab: прикольные фишки и инциденты, которые упростят вашу жизнь
В текущих реалиях все IT-продукты разрабатываются с использованием какого-либо ПО, способного управлять репозиториями программного кода для Git. В нашем случае, хотелось бы рассказать про один из самых популярных продуктов — Gitlab. «Gitlab — наше всё» должно быть слоганом каждой компании, которая его использует, иначе могут произойти события, которые приведут к печальным последствиям. На Habr можно найти множество различной информации, связанной с кейсами, туториалами или просто интересными историями. Но сколько бы ни было написано, найти место где было бы собрано всё и сразу — не получилось. Придется исправлять.
Запуск приложений на .NET в качестве службы на Linux-системе с systemd
В этом материале будет рассмотрено, как запускать приложение .NET Core / .NET 5 в качестве сервиса под Linux. Мы воспользуемся Systemd, чтобы интегрировать наше приложение с операционной системой, научимся запускать и останавливать наш сервис, а также получать от него логи.
Чтобы организовать атаку на цепочку поставок при помощи .NET, мне потребовалось настроить DNS-сервер, который перехватывал бы те хост-имена, которые ко мне направляются. Давайте возьмём этот кейс для примера.
Ортографическая проекция в фотографии и прочие интересные фокусы с объективами
С тем как работает фотоаппарат мы знакомимся еще со школьной программы. Однако привычное нам из школьного курса сведение объектива к "тонкой линзе" на самом деле не отвечает на массу практических вопросов. Например как удается создавать объективы с ортографической проекцией применяемые в системах технического зрения?
Да-да, такие тоже бывают не только в компьютерной графике, но и в фотографии: попробуйте-ка это объяснить оперируя исключительно в терминах "тонкой линзы". Размер изображения предмета в таких системах (почти) не зависит от того на каком расстоянии от объектива они находятся и это весьма удобно для измерения размеров предмета. В этой статье мы поговорим о том как этого удается добиться, как работает автофокус и пленоптические камеры и о многих других интересных вещах
Information
- Rating
- 4,677-th
- Location
- Россия
- Registered
- Activity