Горизонтальное масштабирование и отказоустойчивость Redis для сервисных служб DirectumRX

Redis – это система управления базами данных класса NoSQL (не реляционные СУБД), размещаемых целиком в оперативной памяти. Для доступа к данным используется модель «ключ» — «значение». Такая СУБД используется зачастую для хранения кэшей в масштабируемых сервисах, для хранения изображений и данных небольшого размера. Широкое распространение СУБД Redis получила за счет: • высокой скорости работы, т.к. […]

Знакомимся с языком Swift на примере игры Snake

Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. На уроке мы подробно разобрали синтаксис и ключевые конструкции языка Swift, познакомились с основными инструментами разработки. […]

Лучшие продукты отталкиваются от настоящих проблем: Intercom про Jobs-to-be-Done. Часть 2

Вторая часть перевода книги Intercom про Jobs-to-be-Done — это продолжение повествования о том, как концепция Jobs-to-be-Done меняет принципы создания и улучшения IT-продукта. Главы с третьей по шестую. Первая часть. Глава 3. Больше чем матрасы: исследование пользователей программного обеспечения по принципам Jobs-to-be-Done Автор: Emma Meehan Когда я начала работать исследователем продукта в Intercom, то довольно скептически […]

Проблемы и угрозы биометрической идентификации

В 2018 году в России вступил в действие закон о биометрической идентификации. В банках идёт внедрение биометрических комплексов и сбор данных для размещения в Единой биометрической системе (ЕБС). Биометрическая идентификация даёт гражданам возможность получать банковские услуги дистанционно. Это избавляет их от очередей и технически позволяет «посетить банк» в любое время суток. Удобства дистанционной идентификации по […]

Домофон — ухо шпиона?

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

Как заопенсорсить npm-пакет с нормальным деплоем, CI и демо (без потери радости к жизни)

Вот вы сделали что-то новое и крутое, приходит мысль — выложить в опенсорс и опубликовать в npm. Просто запушить код в публичный репозиторий недостаточно. Это обречет проект на отсутствие развития и провал. А с другой стороны вспоминается целый ряд скучных процессов: версионирование и публикация пакета, настройка непрерывной интеграции, хостинг и деплой странички с демо проекта, […]

АСУ ТП карьерного экскаватора

Введение Экскаватор можно увидеть на любой стройке в городе. С обычным экскаватором справляется один машинист. Для управления ему не требуется сложная система автоматизации. Но если экскаватор в разы больше привычного и достигает высоты пятиэтажного дома, в его ковш можно поместить Лэнд Крузер, а «начинка» состоит из электродвигателей, тросов и шестерней, размером с автомобиль? И работает […]

Зависимость производительности кода от контекста объявления переменных в JavaScript

Изначально эта статья задумывалась как небольшой бенчмарк для собственного использования, да и вообще статьёй быть не планировалась, однако, в процессе проведения замеров всплыли некоторые интересные особенности в реализации архитектуры JavaScript, сильно влияющие на производительность конечного кода в отдельных случаях. Предлагаю, и вам, ознакомится с полученными результатами, попутно также разобрав некоторые смежные темы: циклы for, окружение […]

Я мотоцикл покупал, чтобы ездить, а не чтобы падать

Эта статья не совсем в формате Хабра, но, наблюдая какими темпами растет количество двухколесных на улицах столицы, в том числе и среди ИТ-шников, я всё же рискну — может это спасёт несколько жизней, что не так уж и плохо. Когда лет 10 назад я купил себе первый мотоцикл, любая встреча двухколесных на дороге была целым […]

C++ против C#

Всем известно, что нет ничего глупее споров «какой язык лучше». Например, лучше для чего? Разные языки успешны в разных нишах — и бессмысленно делать категоричные выводы, не учитывая это. Но что получится, если обратиться к опытным специалистам, которые сами всё это понимают, и попросить их всё-таки устроить холивар «C++ vs C#»? Оказывается, можно узнать много […]