Оригинальный самодельный двухлучевой инфракрасный счётчик для счёта входящих в помещение и выходящих из него людей. Полтора десятка таких счётчиков, образующих сеть, проходят "обкатку" в составе действующего прототипа системы управления эвакуацией. Работу сети счётчиков в реальном времени можно посмотреть по ссылке.
В статье подробно описаны принципы, положенные в основу алгоритма распознавания направления движения человека, реализованные в программе для микроконтроллера счётчика.
Читать далееСфера IT продолжает стремительно развиваться (даже слишком), но в России конкуренция за рабочие места в этой области становится всё более жёсткой. Тем не менее, даже в условиях высокой конкуренции вы можете добиться успеха, если будете двигаться в правильном направлении. В этой статье я хочу дать пару советов/лайфхаков начинающим специалистам.
1. Выбор ниши
Перед тем как начать обучение, определитесь, кем именно вы хотите работать, вот несколько популярных направлений:
Читать далееВсе мы часто работаем с табличными данными. С первого взгляда таблица - это просто. Строчки, колонки, шапка. Но когда долго работаешь с ними, понимаешь, что архитектура таблицы - довольно сложная тема. Однако именно понимание архитектуры позволяет эффективно работать со сложными большими таблицами.
В статье поговорим про functional dependencies и про python библиотеку работы с ними - FDTool.
Читать далееСоздание успешного продукта — это как построение прочного моста между задачей пользователя и её решением. Если этот мост будет построен без учета глубины реки или потребностей тех, кто по нему будет ходить, он либо рухнет, либо окажется никому не нужным.
Эта статья — о том, почему изучение аудитории и её потребностей является основой любого успешного продукта.
Читать далееНа неделе вышла новая система iOS 18.2, а теперь стало известно какие уязвимости там закрыли и что за проблемы испытывает компания при работе над iOS 19. Где побывал Тим Кук и какой высокий гость пришёл в лондонский офис компании? Кто запустил аналог Apple Pay в Европе, какие приложения в App Store признаны лучшими, а какие удалили? А ещё много-много слухов о грядущих продуктах Apple: от тонкого iPhone 17 до складного iPad и новой Magic Mouse. Это всё в нашем свежем дайджесте!
Перейти к новостямСегодня удержание пользователей, или ретеншн, — одна из самых сложных и одновременно ключевых метрик в работе продакт‑менеджеров. В условиях высокой конкуренции на рынках, где у пользователей есть выбор из десятков, если не сотен аналогичных решений, именно способность удерживать аудиторию делает продукт успешным в долгосрочной перспективе.
За последние годы я видела много кейсов, когда стартапы взлетали, привлекая огромную аудиторию, но затем теряли её из‑за отсутствия продуманных стратегий удержания. Примеров много: Prisma, Clubhouse и другие. Они показали нам, что высокая скорость роста без должного уровня ретеншна — это билет в один конец.
В этой статье я расскажу:
- что такое ретеншн,
- почему он считается одной из самых сложных метрик для роста,
- как построить стратегию удержания,
- и на примере своего опыта поделюсь, как мне удалось вырастить ретеншн в продукте.
AdminYard — это библиотека для создания админок на PHP, которую я недавно написал с нуля. Зачем, спросите вы, если вокруг и так полно админок? Я искал библиотеку, которая бы встроилась в существующий легаси-проект и не притащила с собой кучу новых тяжелых зависимостей вроде фреймворков, шаблонизаторов и ORM. Ничего подходящего не нашел: мне попадались либо библиотеки из экосистемы фреймворков, либо мутные платные скрипты.
Я много работал с бандлом для Symfony EasyAdmin, еще начиная с первой версии. Из него позаимствовал общий подход и идею описания конфигурации. Также реализовал в своей библиотеке те фичи, которых мне не хватало в EasyAdmin и для которых приходилось придумывать костыли.
В этой статье я расскажу об основных возможностях AdminYard и приведу упрощенные примеры конфигурации. Если не охота читать, можете сразу попробовать демо-сайт или посмотреть исходный код на гитхабе.
Читать далееДобрый день. В этой статье хочу порассуждать о тестировании печатных форм на платформе 1С с помощью инструмента Vanessa Automation.
Надеюсь - эта статья окажется полезной. Конечно хочется, чтобы вы поделитесь своими идеями, опытом и предложениями. Лично мне очень интересно получить обратную связь.
Читать далееОб Инновационном центре
Инновационный центр «Безопасный Транспорт» создан в 2017 году на базе ЦОДД для работы с Big data и решения задач Транспортного комплекса Москвы. Команда экспертов изучает и анализирует потребности жителей столицы, а также разрабатывает и внедряет инновационные цифровые сервисы и решения для транспорта и дорог города.
На данный момент на базе Инновационного центра построено хранилище данных Транспортного комплекса столицы, которые используются во многих проектах и продуктах, направленных на оказание поддержки в принятии управленческих решений Правительству Москвы, а также на улучшение транспортной инфраструктуры города в целом.
Хранилище данных — сердце Транспортного комплекса
С 2013 года Москва стремительно росла, улучшалась и расширяла свои границы. Логично, что это влекло за собой бурное развитие Транспортного комплекса, а вместе с ним увеличивалось и количество обслуживающих его IT-систем и данных, которые эти системы генерируют.
Для реализации концепции data driven нужно было собрать все эти данные в одном месте, а для этого была нужна отдельная команда и отдельное подразделение. С этого в 2017 году и началась история ИЦ, сердцем которого является хранилище данных.
На данный момент данные хранилища Инновационного Центра используются во множестве информационно-аналитических продуктов. В их числе — интерактивная аналитическая отчётность, цифровое мастер планирование города, Экологическая карта, Коммуникационная платформа, Карта аварийности, Справка загруженности и другие решения, направленные на улучшение и развитие Транспортного комплекса Москвы.
Читать далееОбычный тёплый адриатический октябрь. Град Подгорица. Зал для бракосочетаний, десять рядов красных кресел, трибуна, флаги, всё что положено гос.учреждению. В центре двое молодожёнов, по-черногорски - младенцев (с ударением на "а"). Оба из IT - жених-норвежец из Лондона, из игровой индустрии. Невеста - маркетолог - временно из черногорской Будвы, постоянно - из Москвы. Двумя словами, идеальная пара IT-бизнеса, в котором разработка и маркетинг очень часто находятся по разные стороны баррикад. Оба год назад съели в жару что-то рыбно-несвежее в разных кафешках, попали с пищевым отравлением в одну черногорскую больницу, а дальше в соответствии с комедийными канонами закрутилось-завертелось...
Читать далееШкола Анализа Данных бесплатный проект дополнительного образования в области Data Science и Big Data, можно сказать в РФ остается лидером по качеству курсов и преподавателей. Такой же уровень ШАД требует и от студентов: абитуриентам нужно пройти 3 этапа вступительных испытаний, где спрашивают математику и алгоритмы. Сам же я занимаюсь подготовкой к ШАД ни один год, поэтому в этой статье хотел бы поделиться своими любимыми задачами со вступительных испытаний разных лет, которые мне кажутся наиболее красивыми.
Задача 1
Найти , если .
Пояснение: то есть просят найти производную 319-го порядка в нуле.
Прежде, чем открывать решение обязательно подумайте самостоятельно!
Читать далееБиометрия с нами уже давно. Идентификация гражданина до цифровизации, как не странно, происходила по биометрии. У вас есть паспорт, где государство вписало ваше имя (которое выбрали вам родители) и приложило вашу фотографию, которая является изображением лица вашего физического тела. При этом, такое изображение уникально, а в случае с вашим близнецом, у него будет другое имя.
Во время идентификации по обычному паспорту с бумажной фотографией, вас должен осмотреть человек, зачастую уполномоченный государством, и провести сравнение вашего лица с фотографией. Если они совпадают, значит вы - тот самый человек с именем из паспорта. Если у проверяющего есть некий список, где есть ваши ФИО, то к вам могут быть применены какие-либо ограничения.
С появлением компьютеров стали появляться централизованные цифровые государственные базы данных. В такую базу данных уже можно ввести ваши ФИО (а не фотографию) и найти дополнительную информацию о вас, например, ограничение на выезд из страны.
Читать далееПривет, Хабр! Меня зовут Марат Сафин, я эксперт по направлению безопасности объектов КИИ и АСУТП в компании К2 Кибербезопасность. Наша команда отвечает за построение комплексных систем обеспечения информационной безопасности на объектах КИИ в промышленности.
Сегодня мы вместе с моим коллегой Денисом Муруновым из компании К2Тех решили разобраться, как правильно и безопасно выстраивать ИТ-инфраструктуру промышленных объектов в условиях тотального импортозамещения.
Читать далееВ последнее время ведутся оживленные дискуссии о том, является ли наличие положительной валовой маржи («gross margin positive») обязательным условием для бизнеса. Эти обсуждения постоянно напоминают мне, что некоторые стартапы не до конца понимают финансовые показатели и даже не знают, какие из них свидетельствуют о здоровье бизнеса.
Читать далееOx, библиотека Scala для безопасного параллелизма и отказоустойчивости в императивном стиле (direct‑style) на JVM, получила новую реализацию параллельной потоковой обработки данных. Она позволяет определять конвейеры обработки данных с помощью функционального API, императивного API или сразу обоих вариантов одновременно.
Потоковая обработка данных в Ox была и раньше: предыдущая реализация была основана исключительно на каналах. Хоть она и работала, но все‑таки имела свои недостатки: каждый этап преобразования вводил асинхронную границу. В некоторых ситуациях это может быть неэффективно: если вы оперируете всего лишь несколькими неблокирующими и не требующими больших затрат CPU этапами, такими как .filter, .mapStateful или .interleave, асинхронные границы просто не нужны. Следовательно, такой подход приводил к избыточному параллелизму.
Читать далееВ текущей версии TS (5.7) нет нативного расширения типов.
Расширение в TS реализуют интерфейсы через ключевое слово extend, причем интерфейсы могут быть расширены только от одного объекта.
Хотя для типов (type/interface) предусмотрена операция интерсекции (&), которая объединяет свойства двух или более типов - она обладает важным ограничивающим свойством - при наличии одинаковых свойств, операция интерсекции присваивает их результирующему типу значение never.
Если же мы хотим, чтобы свойство перезаписывалось последним значением пересечения, мы можем написать утилитарную функцию Extend, которая примет в себя массив типов, объединит их, а при наличии свойств с одинаковым именем, запишет в конечное значение последнее из них.
Читать далееВ свое время FastAPI прогремел как гром среди ясного неба - тут тебе и минималистичный API аля-Flask (все устали от Django, диктующего свои правила), и OpenAPI документация из коробки, и удобное тестирование, и хайповая асинхронность. Буквально все, что нужно для свободы творчества, и никаких ограничений! Да еще и Depends завезли! В тот момент это был культрурный шок - Dependency Injection в Python? Разве это не что-то из Java?
Но дьявол кроется в деталях. А вы уверены, что те самые Depends == Dependency Injection? Уверены, что пишете код на FastAPI правильно?
В рамках статьи мы рассмотрим различные подходы к организации зависимостей в рамках FastAPI проекта, оценим их с точки зрения удобства использования и постараемся разобраться, как же все-таки "правильно" готовить DI в FastAPI.
Давайте разбиратьсяПривет, Хабр! Вы когда-нибудь задумывались, насколько ваш веб-сервис способен выдержать шквал запросов? Что произойдёт, если ваши пользователи, словно зомби, хлынут на сервер тысячами? Вот тут-то и начинается история про нагрузочное тестирование, которое помогает понять, где у вашего приложения «узкие места». А инструмент, о котором мы сегодня поговорим, — Gatling. Это мощная, элегантная и, честно говоря, недооценённая альтернатива монстрам вроде JMeter, LoadRunner и k6. Но давайте разбираться по порядку.
Читать далееЗдравствуйте товарищи!
В данной статье хочу поделиться с вами своим опытом по применению стандартных команд для программируемых инструментов (SCPI).
Читать далее