Как стать автором
Обновить

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Серебряная пуля геораспределенных систем

Блог компании Конференции Олега Бунина (Онтико)IT-эмиграцияКонференцииIT-компании

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

Я — руководитель департамента эксплуатации и разработки сервисных систем ECOMMPAY IT. В своем докладе на конференции HighLoad++ Весна 2021 я рассказал, правда ли, что геораспределенные системы потенциально могут повышать надежность. И разобрал ситуации, когда геораспределенность не помогает, а добавляет потенциальных проблем и заставляет задумываться о новых вещах. Расшифровку доклада читайте под катом.

Читать далее
Рейтинг 0
Просмотры2
Комментарии 0

Новости

Показать еще

От жёсткого диска на антресолях до Ransomware: как утекает исходный код игр

Блог компании VDSina.ruИнформационная безопасностьРазработка игрИгры и игровые приставки
В начале июня компания EA сообщила о том, что её серверы взломали хакеры, похитившие 780 ГБ данных, в том числе исходный код игры FIFA 21 и движка Frostbite. Мы решили вспомнить, как на протяжении многих лет утекал в руки хакеров и широкой публики код различных игровых проектов.

Ultimate Mortal Kombat 3


image

Рекламные материалы порта игры для 3DO. На изображениях использованы скриншоты из версий для Sega Saturn и SNES

В своё время Mortal Kombat 3 получил огромную популярность, поэтому позже была выпущена его дополненная версия под названием «Ultimate Mortal Kombat 3» (UMK3), которую портировали на множество консолей, в том числе на Genesis, Sega Saturn и SNES. Разрабатывался и порт для Panasonic 3DO, но почти завершённый проект был остановлен (вероятно, из-за падения популярности консоли).
Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры245
Комментарии 0

Пять худших практик написания кода, которые помогут испортить отношения с коллегами

Блог компании Productivity InsideСовершенный код
Перевод


Да, вы не ошиблись. В интернете и так уже полно статей с хорошими рекомендациями и туториалами для разработчиков. Какое-то их количество вы можете найти и в моем блоге. Эта статья, уж извините, будет отличаться от них коренным образом, но только в лучшую сторону! Я расскажу о пяти смертных грехах, которые можно совершить в коде. Благодаря этим отвратительным практикам любой, кому придется работать с вашим кодом, вас возненавидит. Если вы готовы принять это тайное знание, то поехали.
Читать дальше →
Всего голосов 2: ↑1 и ↓1 0
Просмотры288
Комментарии 0

Тест библиотек построения диаграмм классов, исследуя исходный код популярных js библиотек

JavaScript
Из песочницы

Человек обрабатывает визуальную информацию гораздо лучше чем текстовую. Программисты тоже люди. Одного взгляда на наспех нарисованную диаграмму бывает достаточно, чтобы понять что другой разработчик хочет донести или сделать.

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

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры90
Комментарии 0

Следующий этап: построение конвейера данных от периферии до аналитики

Блог компании ClouderaОблачные вычисленияBig DataХранение данныхData Engineering

В данной статье рассматриваются данные о производстве, эксплуатации и продажах продукции производителя подключенных транспортных средств. Эти данные проходят разные этапы и преобразования, которые обычно характерны для крупной производственной компании, находящейся на переднем крае современных технологий. В рамках блога мы будем рассказывать о вымышленной компании по производству подключенных транспортных средств (электромобилей) - The Electric Car Company (ECC). Для этого ECC использует платформу данных Cloudera Data Platform (CDP). Она применяет Cloudera Data Platform  для прогнозирования событий и контроля процесса производства автомобилей на своих заводах по всему миру.

Читать далее
Рейтинг 0
Просмотры138
Комментарии 0

Архитектура процессора Эльбрус: стоит ли все это своих денег?

Блог компании МаклаудЧитальный залПроцессоры


В России всего несколько компаний, занимающихся разработкой процессоров. Одна из этих компаний — МЦСТ с процессорами «Эльбрус». В целом, МЦСТ делает акцент на том, что их процессоры — российские, и государство всячески помогает ей. Во-первых, государство является основным потребителем «Эльбруса», поскольку обычному потребителю такой процессор на данный момент не нужен. А во-вторых, государство выдает субсидии на проекты МЦСТ и принимает инициативы, упрощающие деятельность этой компании  В этой статье пойдет речь о семействе процессоров «Эльбрус» и о том, что они могут предложить вместо процессоров из-за «бугра».

Процессоры «Эльбрус»


Советский период


В конце 60-х годов 20-го века в СССР была принята государственная директива, которая обозначала дальнейший вектор развития компьютеростроения СССР как копирование наработок западных коллег, в частности компьютера IBM S/360. В целом, многие советские инженеры, в том числе и отец советской кибернетики Сергей Лебедев, отзывались скептически о таком решении. По мнению Лебедева, путь копирования по определению является дорогой отстающих. Но других вариантов никто не видел или не хотел видеть.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Просмотры3.1K
Комментарии 2

Повышение устойчивости микросервисов к отказам

Блог компании СитимобилАнализ и проектирование системМикросервисы

Как уже известно, около 70 % отказов в приложениях происходят из-за изменений: развёртывания нового кода, применённых миграции в базе данных, изменения конфигурационных файлов и т.д. Остальные 30 % сбоев происходят в ходе работы приложения без прямого вмешательства разработчиков и системных администраторов: из-за проблем с сетью или дисками, возросшей нагрузки от пользователей, аварии в дата-центре. На первую группу мы можем повлиять с помощью управления изменениями и стратегии проведения этих изменений, а как повысить устойчивость к проблемам из второй группы, мы поговорим в этой статье.

Врууум
Всего голосов 7: ↑7 и ↓0 +7
Просмотры551
Комментарии 0

Ускоряем старый добрый emule без открытия портов и IP

Системное администрированиеПрограммирование
Tutorial

Понадобилось мне скачать большой объем документации через emule. Так как мой IP был надежно (как надеюсь) скрыт за VPN, скорость скачивания постоянно стремилась к нулю. Официальный emule бравурно заявил, что единственный способ повысить скорость скачивания - открыть IP и порты emule извне. Но я заметил, что после перезапуска emule скорость становится высокой примерно на минуту. За это время клиент убеждался, что его запустил скрытный человек, и сообщал об этом клиентам раздающей стороны. Те, в свою очередь, ограничивали скорость.

Так родился код для cmd-файла :

c:

cd ""C:\Program Files (x86)\eMule\"

:LAB

start emule.exe

timeout -T  120

taskkill /IM "emule.exe"

timeout -T 5

goto LAB

После запуска такого нехитрого скрипта все скачалось довольно быстро.

Читать далее
Всего голосов 3: ↑0 и ↓3 -3
Просмотры396
Комментарии 1

Игнорирование .dockerignore

DevOps
Из песочницы
Tutorial

Пришел ко мне коллега и спросил: "Как проигнорировать .dockerignore при сборке docker-образа?"


После совместных поисков и проверок, было найдено простое решение, состоящее в следующем:

Читать дальше →
Рейтинг 0
Просмотры455
Комментарии 5

Proxmox обновился до версии 7.0 — все еще не банановый, но с Btrfs

Системное администрированиеВиртуализацияСерверное администрирование
Recovery mode

Вышла новая major-версия Proxmox Virtual Environment, а именно версия 7.0. Этот опенсорс-дистрибутив, представляющий собой весьма неплохую платформу виртуализации, построенную на базе Debian, KVM, LXC, Ceph, давно выступает на рынке противовесом другим, в т.ч. и коммерческим (даже если они и бесплатны в каких-то своих версиях) гипервизорам, и который год уже работает на многих хостах в мире.

Итак, что у нас нового?

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры1.1K
Комментарии 1

Властелин модулей. Продолжение истории

Блог компании HeadHunterРазработка мобильных приложенийРазработка под Android

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

Чем же закончилась история с модулями
Всего голосов 2: ↑2 и ↓0 +2
Просмотры476
Комментарии 4

Как и зачем «Ашан» построил платформу для работы с Big Data в публичном облаке

Блог компании Mail.ru GroupОблачные вычисленияBig DataKubernetes


Space Station by Kaioshen


Современный ритейл уже не может обходиться без построения прогнозных и рекомендательных систем на основе Big Data. Но при больших объемах данных, таких как у «Ашана», работа с большими данными на локальных мощностях неэффективна: это дорого, сложно в эксплуатации и может привести к гонке за ресурсы между подразделениями.


Поэтому некоторые компании приходят к облачной Big Data-платформе как к инструменту, который дает простую масштабируемость и управляемость для систем, работающих с Big Data. Переход на такую платформу не будет простым: недостаточно перенести рабочие системы в облако как они есть. Потребуется глобальная перестройка — причем не только в плане архитектуры и технологий, но и на уровне корпоративной культуры. Пользователям отчетов придется учить SQL, а разработке, тестированию и эксплуатации — дружить под флагом DevOps.


Я — Александр Дорофеев, ex Head of Big Data в компании «Ашан Ритейл Россия», в статье расскажу:


  • почему для наших задач самым подходящим решением оказалась специализированная единая Big Data-платформа и какую целевую архитектуру мы выбрали;
  • почему ее понадобилось делать на базе публичного облака и почему мы для этого выбрали облачную платформу Mail.ru Cloud Solutions;
  • как происходил переезд в облако, с какими трудностями мы столкнулись и каких результатов удалось достичь.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры762
Комментарии 0

Аннотирование текстов при помощи BERT

PythonПрограммированиеМашинное обучение

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

Рутинные задачи часто связаны с прочтением разного вида документов, многие из них растянуты на несколько страниц, хотя суть каждого можно было бы изложить коротко, используя всего несколько предложений. Особенную боль составляет прочтение текстов юридического или строгого канцелярского стиля, когда используется много нагруженных предложений. К таким текстам очень удобно иметь краткие содержания.

Задача создания краткой аннотации текстов решается двумя способами: 

·        Абстрактивный подход – генерация нового текста, на основе полученной информации

·        Экстрактивный подход – использование слов/словосочетаний, ранее использованных в текстах

Преимущество экстрактивного подхода заключается в том, что вероятность получить грамматически не верный текст снижается, если документ написан грамотным автором. Модель не создает новых предложений, только отбирает существующие.

Основной минус такого подхода – разметка. Если ваши тексты написаны по принципу пирамиды Минто, то вам скорее всего повезло, разметку можно провести механически, выделив первое или несколько первых предложений в качестве референсного саммари.

Читать далее
Рейтинг 0
Просмотры441
Комментарии 1

Почти линейная сложность решения NP-полной задачи планирования производства

Высокая производительностьПрограммированиеАлгоритмыERP-системы

В статье приведено описание подхода к решению задачи планирования производства в существующей и работающей системе APS Mespace/APS. Показано теоретическое обоснование высокой скорости работы системы. Приведен подход, сводящий сложность задачи из области конструирования алгоритма в область подбора функций специального вида. Данный подход потенциально может оказать влияние на пути решения сложных задач, в том числе эквивалентности классов P и NP.

Традиционно путь от идеи до ее воплощения выглядит так, словно вначале в статье описывается идея, затем по ней возникает воплощение. Однако на практике обычно всё наоборот и статья является лишь подведением итогов работы. Не будем отступать от реальности. В этой статье изложены результаты реализации системы планирования. Задача планирования производства хорошо известна, состоит из двух связанных подзадач - составления списка всех работ (разузлования) и составления расписания, то есть планирования этих работ на исполнители, и достаточно хорошо описана, например, в классическом труде Пинедо.

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

В качестве входных данных следует рассматривать список заказов, исполнителей (станков и рабочих мест) и техпроцессы. Отдельный техпроцесс описывает линейный процесс получения детали, однако все техпроцессы образуют древовидную структуру, описывающую процесс изготовления заказа. Конечно, нужно учитывать и незавершенное производство и управление временем в виде календарей и многие другие ньюансы, без учета которых невозможно построить рабочий план.

Читать далее (многа букф)
Всего голосов 2: ↑2 и ↓0 +2
Просмотры793
Комментарии 8

Правда о мозге Бендера

КиберпанкРобототехникаСтарое железоБиографии гиковНаучная фантастика
Перевод

14 ноября 1999 года эпизод "Футурамы", анимационного научно-фантастического сериала от создателя "Симпосонов" Мэтта Гроунинга, ошарашил гиков зрелищем технологического характера, абсолютно беспрецедентным в отрасли развлечений в прошлом. В этом эпизоде, "Фрай и фабрика Слёрма", профессор Фарнсворт направляет Ф-луч на голову безумного робота Бендера, и мы видим маленький прямоугольник, очевидно являющийся микросхемой, с надписью "6502".

Читать далее
Всего голосов 29: ↑27 и ↓2 +25
Просмотры9.7K
Комментарии 14

Вычисляем ближайшие объекты по координатам

JavaScriptАлгоритмыМатематика
Recovery mode

Я разрабатывал один проект по недвижимости и появилась задача показывать объекты расположенные в радиусе 20 км с просматриваемым. Т.е. у нас есть объект, в нашем случае это поселок, и нужно отображать находящиеся рядом поселки из нашей базы данных в радиусе 20 км, при этом имея только координаты их расположения.

Читать далее
Всего голосов 15: ↑4 и ↓11 -7
Просмотры2.2K
Комментарии 28

Как один провинциал инноватором стал

CAD/CAMУчебный процесс в ITКарьера в IT-индустрии3D-принтерыИнженерные системы
Из песочницы

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

Эта статья — инструкция-история, как сделать ребёнка инноватором, стратегом, аналитиком и чтобы он думал, как «система» и обладал критическим мышлением, понимал, что такое ТРИЗ и мог выигрывать в престижных конкурсах, не боялся проигрывать и нашёл себя в жизни, на примере моей истории.

Рассказывать о себе не буду сейчас, узнаете после прочтении статьи.

Читать далее
Всего голосов 16: ↑3 и ↓13 -10
Просмотры2.8K
Комментарии 21

Делаем спрайт разных цветов

C++*nix

Я пробую делать игры. Пишу код, пробую рисовать и хочу научиться делать музыку. Я прорисовал персонажа и мне нужно было сделать так, чтобы ему можно было менять цвет одежды. Решение пришло сначала одно, но потом додумался до более простого. </cut>

Продолжить
Всего голосов 4: ↑1 и ↓3 -2
Просмотры1.4K
Комментарии 7

«Умный» дом (Xiaomi, Aqara), взгляд простого пользователя 5 лет спустя

Умный дом

В данном материале не будет обсуждения прошивок, как сделать "правильно", и как можно с помощью синей изоленты, клея и вентилятора превратить умный чайник в стиральную машину :) Это рассказ простого пользователя о том, как он видит свой «умный» дом по прошествии 5 лет эксплуатации.

Эксплуатация происходит в двухкомнатной квартире и зачастую затрудняется перегруженным эфиром и помехами:

в моем окружении в среднем около 20 WiFi точек доступа

около 25 устройств ble

иногда помехи сварки от стройки в ~50 метрах за окном

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Просмотры12.6K
Комментарии 49

Реализация алгоритма Минимакс на примере игры «Крестики-Нолики»

RubyPythonTDDРазработка игрАлгоритмы
Перевод
Tutorial
Недавно я написал непобедимую игру «Крестики-Нолики». Это был интересный и поучительный проект, который многому меня научил. Если у вас есть желание посмотреть результат — это можно сделать здесь.

image

Для того чтобы сделать игру непобедимой, было необходимо создать алгоритм, который может рассчитать все возможные ходы для «компьютерного» игрока. Далее, нужно использовать некоторую метрику, чтобы определить, какой ход является предпочтительным. После долгих исследований стало понятно, что алгоритм Минимакс, был тем, что мне нужно.

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

Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры1.6K
Комментарии 4