Архив за 28 января 2019 - 7

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

Как мы мигрировали базу данных из Redis и Riak KV в PostgreSQL. Часть 1: процесс - 1

Долгое время основной базой данных в RealtimeBoard был Redis. Мы хранили в нём всю основную информацию: данные о пользователях, аккаунтах, досках и т.д. Всё работало быстро, но мы столкнулись с рядом проблем.

Проблемы с Redis

  1. Зависимость от сетевой задержки. Сейчас в нашем облаке она составляет порядка 20 мск, но при её увеличении приложение начнёт работать очень медленно.
  2. Отсутствие индексов, которые нужны нам на уровне бизнес-логики. Их самостоятельная реализация может усложнить бизнес-логику и привести к неконсистентности данных.
  3. Сложность кода также усложняет обеспечение консистентности данных.
  4. Ресурсоёмкость запросов с выборками.

Эти проблемы вместе с ростом количества данных на серверах послужили причиной для миграции БД.
Читать полностью »

The ever-lasting strife of static vs dynamic typing – TypeScript won’t help - 1

When my friend and I were of school age and aspiring to become software developers, we daydreamed of designing some cool stuff together – like a game or a mega-useful app.

I chose to learn C++ and C#, he picked JavaScript. We finished school, graduated from our universities, served in the army and started our jobs. We had a pretty busy time in industrial software engineering, with lots of different jobs and positions, and after it all started to wear on us, we recalled where it all had begun.

Having finally got together as mature developers, we decided to work on our own project – a 2D video game. Since my friend’s domain was front-end and I was a full-stack developer, our immediate choice of development platform was an Internet browser. As I was only used to working with TypeScript when designing front-end, we thought, ok, no problem, after all, TS is just JavaScript at scale. Let’s use it and things will go smoothly. If I only knew how wrong I was! When we started discussing the project, we ran into an extensive chasm of misunderstanding between us.
Читать полностью »

Компания Samsung удивила новыми функциями Galaxy S10

Функция получила название Powershare и позволит устройствам обмениваться зарядом «по воздуху». Аналогичная технология в Huawei Mate 20 Pro позволяет заряжать от смартфона любые устройства, поддерживающие беспроводную зарядку. Будет ли такое возможно с новинками от Samsung, не сообщается.

Компания Samsung удивила новыми функциями Galaxy S10

Читать полностью »

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

Innovate Cloud Technology: облако с защитой от катастроф - 1

Читать полностью »

20 февраля компания Samsung должна представить линейку флагманских смартфонов Samsung Galaxy S10, а также свой первый смартфон, оснащенный сгибающимся дисплеем, который проходит под названием Samsung Galaxy Fold.

Вместе с ним на мероприятии Unpacked будут представлены умные часы, которые получили название Galaxy Watch Active, но и это еще не все. Источники утверждают, что Samsung также представит еще три носимых устройства.

Читать полностью »

По данным источника, компания Panasonic наметила на 31 января крупное мероприятие для прессы. Оно будет посвящено полнокадровым беззеркальным камерам Lumix S1 и S1R. Ожидается, что в это день будет опубликована детальная информация о новинках, а то и вовсе состоится их окончательный анонс, который будет включать все технические данные, цены и сроки начала продаж.

Форматирование исходного кода в Linux средствами ClangFormat: проблемы и решение - 1

Согласитесь, приятно и полезно, когда в проекте исходный код выглядит красиво и единообразно. Это облегчает его понимание и поддержку. Покажем и расскажем, как реализовать форматирование исходного кода при помощи clang-format, git и sh.
Читать полностью »

Технологии машинного обучения в разы ускоряют процесс адаптации пациентов к бионическим протезам - 1

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

Помочь, как оказалось, могут технологии машинного обучения. А именно — ИИ, где используется обучение с подкреплением. Новый метод уже был проверен в ходе клинических испытаний. Добровольцем стал человек без ноги (вернее, ее части ниже колена), которую заменили искусственной конечностью.
Читать полностью »

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

И в первую очередь, поскольку отладка занимает гораздо больше времени, чем написание кода — нужна защита от дурака (в т.ч.себя) на этапе написания. И это хотелось бы получить от используемого языка программирования (ЯП).

Конечно же, надо изобрести новый, самый лучший ЯП!
Нет, сначала попробуем выразить свои пожелания и посмотреть на то, что уже наизобретали.
Читать полностью »

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js