Архив за 08 ноября 2018 - 10

image

Здесь я расскажу об устройстве одного из многих инструментов, которые помогают в разработке различных сервисов для проекта Одноклассники. Внутри компании мы называем его «Hot Code Replace» (HCR), и предназначен данный инструмент для исправления критических и несложных багов в работающих продакшн сервисах без их остановки. Это чрезвычайно важная особенность, так как позволяет избежать достаточно занудного и трудоёмкого процесса выкладывания новой – исправленной версии барахлящего сервиса, избежать сопутствующей этому достаточно продолжительной паузы в доступности каждого хоста, избежать сброса кешей.

В общем, экономит массу времени и уменьшает интервал от момента обнаружения ошибки до исправления с часов до минут. Чаще всего, как и было задумано, исправляют мелкие ошибки в коде, например, программист забыл проверить на null и у некоторых пользователей определённые действия на сайте приводят к ошибке. То есть когда исправление осуществляется изменением нескольких строчек внутри метода. И ради таких мелких изменений больше не нужно отвлекать коллег и ждать часами выкладки на продакшн.
Читать полностью »

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

Работа с сетью в Android с использованием корутин и Retrofit - 1

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

В ходе вчерашней конференции для разработчиков Samsung Developer Conference представители южнокорейской компании сообщили радостные для жителей Европы новости.

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

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

Как сообщают очевидцы, в магазинах начала появляться новая версия игровой консоли PlayStation 4 Pro с модельным номером CUH-7200.

Консоль PlayStation 4 Pro, которая поступила в продажу два года назад (версии CUH-7000 и CUH-7100), внешне отличалась от оригинальной PS4 не очень сильно. Зато она выделялась на фоне предшественницы очень громким шумом, которые издавали при работе вентиляторы системы охлаждения.

image

Как-то, решая проблему лингвистического анализа в Power BI и заодно подыскивая примеры для моей предыдущей статьи, я вспомнил о задаче, которую пытался решить в Excel ещё несколько лет назад: нужно было внедрить в аналитическую систему словарь русского языка для лингвистического анализа большого количества запросов на естественном языке. Причём желательно было использовать стандартные офисные инструменты. Подавляющее большинство людей сразу взялись бы решать эту задачу в Excel, и я когда-то пошёл по тому же пути. В качестве словаря использовал открытый корпус русского языка (http://opencorpora.org/).

Но меня ждало разочарование — словарь состоял из 300 тыс. словоформ, более 5 млн записей, а для Excel это в принципе невозможный объём. Даже если запихнуть в него «всего лишь» 1 млн строк, то выполнять с ними какие-то манипуляции или, упаси боже, вычисления, сможет только очень терпеливый человек, который вообще никогда и никуда не торопится. Но в этот раз я решил натравить на задачу более подходящий инструмент — Power BI.
Читать полностью »

Что скрывает PDF - 1

В файлах PDF много информации. Бóльшая часть используется для одинаковой визуализации документа на разных платформах. Но также есть множество метаданных: дата и время создания и редактирования, какое приложение было использовано, тема документа, название, автор и многое другое. Это стандартный набор метаданных, а имеются способы вставить в PDF пользовательские метаданные: скрытые комментарии в середине файла. В данной статье мы представим некоторые формы метаданных и покажем, где их искать.
Читать полностью »

Довольно долго история с ВКС очень напоминала какие-то археологические процессы. Людям «с улицы» довольно тяжело объяснить хотя бы то, зачем нужно покупать сервера для видеоконференцсвязи и какие там сложности внутри организации. Вкратце:

  • Крупные компании любят общаться по видео, причём массово.
  • Они же не любят пускать трафик через любые нешифрованные каналы.
  • Лучше всего, если трафик идёт по своей физической корпоративной сети, не заглядывая в Интернет.
  • Все устройства обработки видеосигнала и его передачи должны быть локальными.
  • На один узел приходит обычно от 10 до 50 видеопотоков (по количеству участников конференции), поэтому нужны промежуточные сервера, которые будут склеивать из них один поток или микшировать как-то иначе.
  • Нужно поддерживать зоопарк устройств и вендоров плюс подключать людей с мобильных телефонов и планшетов.
  • У каждого вендора — свои стандарты, и не поддерживать друг друга — коммерческая позиция.

Сильно легче стало после виртуализации ВКС: в частности, появился Cisco Meeting Server, совместимый не только с Циской, но и со всем, что есть на рынке, кроме особо древних моделей.
Читать полностью »

Как экипаж самолёта готовится к вылету - 1

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

Эти данные приходят от авиакомпании. Авиакомпания имеет договор со специальными фирмами, специализирующимися на навигации, которые полностью рассчитывают маршрут. Получается 10–15 листов А4 на английском языке (некоторые компании имеют только электронный план полёта, так сказать, минимизируют бумажный документооборот) на маршрут из Москвы в Екатеринбург. Могут посчитать и из Москвы в Гонолулу, у них одинаково софт отработает. Потом рядом отдельно — пакет информации по аэродромам: спецификация по оборудованию, радиотехнические данные, ремонты полос, рулёжных дорожек и т. п. Если известен конкретный борт, то мы уже имеем основной объём информации, какой самолёт, все его особенности отмечены.

В начале моей карьеры в СССР могли сразу дать решение вроде: «Погода нелётная». Сейчас решение всегда — за командиром, и он опирается на прогнозы и фактическую погоду, может требовать залить больше топлива и так далее.

Потом мы едем на работу.
Читать полностью »

S7 Space намерена разработать многоразовую ракету-носитель

Сергей Сопов, генеральный директор компании S7 Space (дочернее предприятие S7 Group), рассказал о планах по созданию многоразовой ракеты.

Фотографии Роскосмоса

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

Поддержка огромной кодовой базы с одновременным обеспечением высокой производительности большого числа разработчиков — это серьезный вызов. В течение последних 5 лет в Яндексе идет разработка особой системы непрерывной интеграции. В данной статье мы расскажем про масштаб кодовой базы Яндекса, про перенос разработки в единый репозиторий с trunk-based подходом к разработке, про то, какие задачи должна решать система непрерывной интеграции для эффективной работы в таких условиях.

Continuous integration в Яндексе - 1

Много лет назад в Яндексе никаких особенных правил в разработке сервисов не было: каждый отдел мог использовать любые языки, любые технологии, любые системы деплоя. И как показала практика, такая свобода не всегда помогала двигаться вперед быстрее. В то время для решения одних и тех же задач часто существовало несколько собственных или open-source разработок. С ростом компании такая экосистема работала всё хуже. При этом мы хотели остаться одним большим Яндексом, а не разделиться на множество независимых компаний, потому что это дает массу преимуществ: много людей делают одни похожие задачи, результаты их труда можно использовать повторно. Начиная от разнообразных структур данных, типа распределённых хеш-таблиц и lock-free очередей, и заканчивая множеством разного специализированного кода, который мы написали за 20 лет.

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