Социальные сети Рунета
Четверг, 28 марта 2024

[Перевод] Распределенные блокировки с применением Redis Привет, Хабр! Сегодня мы предлагаем вашему вниманию перевод сложной статьи о реализации распределенных блокировок средствами Redis и предлагаем поговорить о перспективности Redis как темы. Анализ рассматриваемого алгоритма Redlock от Мартина Клеппмана, автора книги "Вы...

Как мы внедряли распределенный кеш на Tarantool в одной АБС Разработка любого достаточно серьезного софта, будь то калькулятор матриц или ИИ беспилотного автомобиля, — это всегда какая-то своя предметная область, определенные технологии, алгоритмы и структуры данных, архитектура кода, процесс разработки и еще много разных умных терм...

[Перевод] Kонференция NDС London. Предотвращение катастрофы микросервисов. Часть 1 Вы потратили месяцы, переделывая свой монолит в микросервисы, и наконец, все собрались, чтобы щелкнуть выключателем. Вы переходите на первую веб-страницу… и ничего не происходит. Перезагружаете ее — и снова ничего хорошего, сайт работает так медленно, что не отвечает в течен...

[Из песочницы] Использование Camunda для удобной оркестровки на основе REST и Workflow Engine (без Java) Привет, Хабр! Представляю вашему вниманию перевод статьи «Use Camunda as an easy-to-use REST-based orchestration and workflow engine (without touching Java)» автора Bernd Rücker. 07.07.2020 г., перевод статьи Bernd Rücker Я часто обсуждаю микросервисную архитектуру с люд...

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

[Перевод] Использование API Gateway в качестве единой точки входа для веб-приложений и API Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение Преимущества AWS, такие как высокая доступность, масштабируемость и эластичность, уже доказали свою эффективность для SaaS-провайдеров (Software-as-a-Service). При модернизац...

[Перевод] Как микросервисы Netflix справляются с Pub-Sub данными Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение В микросервисной архитектуре Netflix передача наборов данных от одного к нескольким конечным точкам может быть крайне сложной. Эти наборы данных могут содержать все, что уго...

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

[Из песочницы] Новая архитектура нейросети — EfficientDet Привет, Хабр! представляю вашему вниманию перевод статьи «EfficientDet: Scalable and Efficient Object Detection» автора Mingxing Tan, Ruoming Pang, Quoc V. Le. В последние годы был достигнут огромный прогресс в направлении более точного обнаружения объектов, в то же время с...

Справочник security-архитектора: обзор подходов к реализации аутентификации и авторизации в микросервисных системах Контейнеризация, CI/CD, оркестрация, микросервисы и agile-процессы – это облако тегов, которое теперь находится в словаре security-инженеров. Микросервисная модель и сопутствующие технологии привели к многообразию подходов в реализации архитектуры безопасности современных ре...

В офисе никого: разработка игр на удаленке Дисклеймер. У нас нет «удаленных» сотрудников — в команде все равноудалены друг от друга. Просто кто-то работает (сейчас правильнее сказать «работал») в офисе, а кто-то дома или в коворкинге. Поэтому внутри мы предпочитаем термин «распределенная команда». Переход на распр...

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

[Перевод] Логирование в Kubernetes: EFK против PLG Мониторинг стал весьма важным компонентом растущих облачных решений с ростом сложности распределенных систем. Он необходим для понимания их поведения. Нужны масштабируемые инструменты, которые смогут собрать данные со всех сервисов — и предоставить специалистам единый интер...

Автоматизация тестирования в микросервисной архитектуре Привет, Хабр. Меня зовут Сергей Вертепов, я senior backend инженер. Это небольшая обзорная статья о том, как мы тестировали монолитное приложение Авито, и что изменилось с переходом на микросервисную архитектуру. Читать дальше →

[Из песочницы] Распределенный реестр для колесных пар: опыт с Hyperledger Fabric Привет, я работаю в команде проекта РРД КП (распределенный реестр данных для контроля жизненного цикла колесных пар). Здесь я хочу поделиться опытом нашей команды в разработке корпоративного блокчейна для данного проекта в условиях ограничений, накладываемых технологией. По ...

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

Паттерн «сага» как способ обеспечения консистентности данных Всем привет. Уже сейчас в OTUS открывает набор в новую группу курса «Highload Architect». В связи с этим я продолжаю серию своих публикаций, написанных специально для этого курса, а также приглашаю вас на свой бесплатный демо урок по теме: «Индексы в MySQL: best practices и ...

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

[Перевод] Пример гексагональной архитектуры на Java Перевод статьи подготовлен специально для студентов курса «Разработчик Java». Как разработчикам нам часто приходится сталкиваться с легаси кодом, который тяжело поддерживать. Вы знаете как бывает сложно понять простую логику в большом запутанном спагетти-коде. Улучшение...

[Перевод] Реализация SOLID и слоистой архитектуры в Node.js с TypeScript и InversifyJS Привет, Хабр! Предлагаю вашему вниманию перевод статьи Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS автора Remo H. Jansen В этой статье мы рассмотрим архитектуру, известную как слоистая (onion). Слоистая архитектура — подход к пост...

aSocial — полностью распределенная социальная сеть В свете последних событий идея о распределенной социальной сети вновь зохватывает разум... Читать дальше

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

От монолита к распределенной системе Постоянный рост конкуренции среди Банков заставляет подстраиваться под разные категории Клиентов. Так, одним проще зайти на сайт и оформить заявку на банковский продукт онлайн, другие же привыкли выбирать новые продукты и услуги непосредственно при живом общении с банковским...

«Hadoop. ZooKeeper» из серии Технострима Mail.Ru Group «Методы распределенной обработки больших объемов данных в Hadoop» Предлагаю ознакомиться с расшифровкой лекции "Hadoop. ZooKeeper" из серии "Методы распределенной обработки больших объемов данных в Hadoop" Что такое ZooKeeper, его место в экосистеме Hadoop. Неправда о распределённых вычислениях. Схема стандартной распре...

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

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

[Из песочницы] Flutter. BlOC, Provider, async – архитектура «по полочкам» Вступление Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVV...

[Из песочницы] Логирование в микросервисной среде .Net на практике Логирование является очень важным инструментом разработчика, но при создании распределённых систем оно становится камнем, который нужно заложить прямо в фундамент вашего приложения, иначе сложность разработки микросервисов очень быстро даст о себе знать. В .Net Core 3 доба...

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

Что внутри шаурмы: микросервисы, распределенные системы и Кафка. Делимся материалами со встречи Backend United #5 Привет! Этот пост-отчёт с митапа Backend United, нашей серии тематических встреч для разрабочиков серверной части. Пятая встреча получила название «Шаурма», и здесь мы говорили о микросервисах: о способах синхронного и асинхронного взаимодействия между ними, организации пото...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

[Перевод] Микросервисы со Spring Boot. Часть 5. Использование сервера имен Eureka В этой заключительной части нашей серии архитектур микросервисов мы научимся включать сервер имен Eureka и позволять микросервисам взаимодействовать с ним. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов ...

Observability система для микросервисов на примере Instana, часть 1 В данном техническом обзоре мы детально познакомимся с продуктом Instana – инструментом для автоматического мониторинга производительности микросервисной инфраструктуры, Kubernetes и пользовательского опыта, который использует наша компания в проектах на протяжении последнег...

«Откуда ноги растут» или что предшествует программированию? Всем привет! На днях в рамках образовательной платформы OTUS запускается новый курс: «Архитектура и шаблоны проектирования». В связи со стартом мы провели традиционный открытый урок. На нём изучили особенности монолитного приложения, многоуровневой и бессерверной архитектур....

«Инфраструктура как код» в автоматизации сервисов CI/CD Привет! Меня зовут Игорь Николаев, я пью за любовь работаю в отделе автоматизации процессов разработки Мир Plat.Form в НСПК. В этой статье я поделюсь тем, как наш отдел решал задачу по автоматизации предоставления различных ресурсов для команд разработки. Эта задача свойстве...

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

Осознанное внедрение удалённой работы: как улучшить результаты в два раза, никого не нанимая Сегодня я расскажу о том, как мы внедряли remote work в CarPrice, к каким результатам нас это привело, и для чего это вообще нужно. Цель статьи: чтобы стало больше компаний, поддерживающих remote work, потому что такой подход действительно улучшает результаты компании, и, ...

[Перевод] Лучшие практики Kubernetes. Корректное отключение Terminate Лучшие практики Kubernetes. Создание небольших контейнеров Лучшие практики Kubernetes. Организация Kubernetes с пространством имен Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness Лучшие практики Kubernetes. Настройка зап...

UML для разработчиков Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то у...

Технический обзор архитектуры СХД Infinidat InfiniBox – модерновая система хранения, сразу попавшая в правую часть магического квадрата. В чем ее уникальность? Краткая предыстория Что такое InfiniBox? Это система хранения компании Infinidat. Что такое компания Infinidat? Это компания, созданная Моше Янаем (создатель...

Первый взгляд: как устроена новая корпоративная почтовая система Mailion от МойОфис Почти четыре года назад мы начали проектировать принципиально новую распределенную почтовую систему Mailion, которая предназначена для корпоративных коммуникаций. Наше решение построено на Cloud Native микросервисной архитектуре, способно работать с более чем 1 000 000 поль...

[Из песочницы] Наука о пользовательском опыте. Использование когнитивных искажений в разработке качественных продуктов Содержание Введение. О чем эта статья Цели и дисклеймеры Часть 1. Хороший продукт Часть 2. Пользовательский опыт (UX). Что это? Часть 3. Архитектура выбора Часть 4. Архитектор выбора Часть 5. Когнитивные искажения и Пользовательский опыт Ссылка на полную версию UX CORE (105...

[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular) Общение между микро-приложениями Работа с git (deploy, обновления) Оглавление Общая час...

[Из песочницы] Кодовая база. Расширяем RecyclerView Всем привет! Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки. Хочу поделиться способами расширения RecyclerView, на...

[Перевод] Интернационализация: как вывести продукт на международный рынок (и не сойти с ума) «Наш продукт популярен на внутреннем рынке, поэтому теперь мы думаем выходить на международный. С чего мне начать как менеджеру по продукту?» «Поначалу выход на новый рынок не казался чем-то сверхсложным, но вопросов появляется всё больше и больше… а сроки поджимают». Прим...

Борис ЩЕРБАКОВ: «Любой наш продукт отныне создается с нацеленностью на использование в облаках или взаимодействие с ними» Периферийные вычисления и распределенные облака также по праву займут свое место. При этом не стоит сбрасывать со счетов такой фактор, как безопасность...

[Перевод] Укрепите свои agile-команды, используя стадии развития Такмена И снова здравствуйте. В преддверии старта курса «DevOps практики и инструменты» делимся с вами переводом еще одного интересного материала. Изолированность команд разработки и сопровождения — распространенный источник напряженности и узких мест. Когда команды работают изоли...

OpenPGP переписывают на Rust: проект Sequoia Секвойя Стагг в роще Олдер-Крик, Калифорния В 2018 году три бывших разработчика GnuPG начали работу над проектом Sequoia — реализацией OpenPGP на Rust. Как известно, OpenPGP — это открытый стандарт шифрования данных, часто используемый для защищённой электронной почты; а G...

[Перевод] Влияние Ethernet на сетевые технологии в 2020 году Перевод статьи подготовлен специально для студентов курса «Сетевой инженер». Набор на курс уже открыт. НАЗАД В БУДУЩЕЕ С ОДНОПАРНЫМ ETHERNET 10 МБ/С — ПИТЕР ДЖОНС, ETHERNET ALLIANCE И CISCO В это трудно поверить, но Ethernet 10 Мбит/с снова становится очень популярной темой...

[Перевод] Thanos — масштабируемый Prometheus Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты». Фабиан Рейнарц (Fabian Reinartz) — разработчик программного обеспечения, фанат Go и любитель решать сложные задачи. Также он мэйнтейнер Prometheus и соучредитель Kubernetes SIG instr...

Как не пропустить невалидный код в репозиторий Зачем это необходимо Когда в твоей команде работают больше одного человека, так или иначе все сталкиваются с проблемой разных стилей кодирования каждого члена команды. Кто-то пишет скобки для блоков if...else, кто-то нет. Когда проект становится больше, то такой код труднее ...

[Перевод] Как ограничить частоту запросов в HAProxy: пошаговая инструкция Автор статьи объясняет, как реализовать в HAProxy ограничение скорости обработки запросов (rate limiting) с определенных IP-адресов. Команда Mail.ru Cloud Solutions перевела его статью — надеемся, что с ней вам не придется тратить на это столько времени и усилий, сколько пр...

Композитная сборка как альтернатива buildSrc в Gradle В Gradle — системе автоматической сборки — подход с buildSrc уже успел стать стандартом для реализации собственных плагинов и задач, а также создания общих конфигураций, например списков зависимостей и версий. Но у него есть существенный недостаток: при изменении buildSrc к...

Как мы рекомендуем новинки каталога в онлайн-кинотеатре ivi (+ код на Python) В блоге онлайн-кинотеатра ivi накопилось достаточно статей про архитектуру рекомендательной системы Hydra. Однако рекомендации — это не только внешний API, но и алгоритмы, которые живут «под капотом» и реализуют достаточно сложную бизнес-логику. В этой статье я расскажу о п...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

[Перевод] Алгоритм Беллмана-Форда В преддверии старта курса «Алгоритмы для разработчиков» подготовили очередной перевод интересной статьи. Задача: Дан граф и начальная вершина src в графе, необходимо найти кратчайшие пути от src до всех вершин в данном графе. В графе могут присутствовать ребра с отрицатель...

[Из песочницы] Микросервисы или модульные системы? Как заказчику выбрать подход к IT-архитектуре продукта Микросервисная и модульная системы — это типы архитектуры IT-решений. При работе с модулями мы дорабатываем коробочную версию существующего IT-продукта. Под коробочной версией имеем в виду монолит, готовую систему с ядром, которая поставляется всем заказчикам одинаково, «ка...

Опыт внедрения Service Mesh на Nomad и Consul В этой статье мы расскажем, как развернули Service Mesh, решили часть проблем микросервисной архитектуры и уменьшили нагрузку на разработчиков и инженеров инфраструктуры. Читать дальше →

[Из песочницы] Конфигурация кластера из трех узлов ZooKeeper и брокеров Apache Kafka Доброго времени суток! В этой статье рассмотрим настройку кластера из трех узлов ZooKeeper (служба координации распределенной системы), два из которых — брокеры сообщений Kafka, третий — управляющий. В результате будет реализована следующая схема компонентов: Читать дал...

Применение Flowmon Networks для контроля производительности распределенных приложений и баз данных Статью подготовил Dmitriy Andrichenko | Sales Executive, Russia & CIS | Flowmon Networks Приветствуем Вас на странице нашей новой статьи, посвященной решению задач контроля производительности распределенных сетевых приложений и баз данных. Данная статья является продо...

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

JavaScript Hiring Week: оффер и welcome-бонус за 24 часа До 19 марта отправь заявку на Hiring Week и получи оффер без резюме и тестового задания! Участвуют программисты из всех городов России - выбор между удаленкой и релокацией за тобой. Набираем команду frontend и backend разработчиков в проект по созданию медицинских веб-порт...

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

[Перевод] Микросервисы на Java: практическое руководство Вы можете использовать это руководство, чтобы понять что такое Java микросервисы, как вы их разрабатывать и создавать. А также получить обзор библиотек для разработки Java микросервисов. Примечание: Статья ~ 7000 слов, вероятно, не стоит читать ее на мобильном устройстве. До...

Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 30 — 32 предыдущие главы 30. Интерпретация кривой обучения: Большое смещение Предположим, ваша кривая ошибок на валидационной выборке выглядит следующим образом: Мы уже говорили, что если ошибка алгоритма на валидационной выборке вышла на плато, вы вряд ли сможете достигнуть желаем...

Перфоманс фронтенда как современное искусство: графики, код, кулстори Всем привет. В предыдущих статьях мы говорили о базовых вещах оптимизации: раз и два. Сегодня я предлагаю с разбега окунуться в одну часть из тех задач, которыми занимается команда архитектуры фронтенда в hh.ru. Я работаю в команде архитектуры. Мы не только перекладываем фай...

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

2,4 ExaFLOPS. Производительность сети Folding@Home теперь больше, чем всех систем Top500 вместе взятых В конце прошлого месяца сеть распределенных вычислений Folding@Home установила новый рекорд — общая производительность всех систем достигла впечатляющегося значения в 1,5 ExaFLOPS, что вдесятеро больше производительности Summit, самого быстрого суперкомпьютера рейтинга Top50...

Моделирование микросервисов с помощью Event storming Event storming — метод, который смещает акцент у событий с технического на организационный и бизнес уровни и помогает создать устойчивую модульную систему. Он нередко используется в контексте моделирования микросервисов. Но как применить его на практике?При создании системы ...

[Перевод] Микросервисы со Spring Boot. Часть 4. Использование Ribbon для балансировки нагрузки Это часть 4 серии о микросервисных архитектурах, в которой мы сосредоточимся на использовании Ribbon для балансировки нагрузки. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов Часть 2. Создание микросерви...

[Из песочницы] Обязанности администратора Salesforce: Что должно быть сделано и когда Привет, Хабр! Представляю вашему вниманию перевод «Salesforce administrator responsibilities: What needs to be done and when» автора David Taber. Что администратор Salesforce делает весь день, неделю или месяц? Вот общее краткое изложение. Salesforce администраторы отвечаю...

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

Умная энергетика получит нацстандарты В разработке стандартов кроме РВК и "Энерджинет" участвовали фонд "Центр стратегических разработок "Северо-Запад", АО "РТСофт", ООО "Интеллектуальные электроэнергетические системы", ООО "Элиот". "Мы представляем на публичное обсуждение проекты двух стандартов. Один посвящен...

[Перевод] 5 типичных ошибок при создании React компонентов (с хуками) в 2020 году Всем привет! Из этой статьи вы узнаете о самых распространенных ошибках при создании React компонентов, а также о том, почему они считаются ошибками, как их избежать или исправить. Оригинальный материал был написан немецким разработчиком Лоренцом Вайсом для личного блога, ...

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

[Перевод] Обнаружена новая вспышка H2Miner червей, которые эксплуатируют Redis RCE День назад один из серверов моего проекта был атакован подобным червем. В поисках ответа на вопрос «что же это было такое?» я нашел замечательную статью команды Alibaba Cloud Security. Поскольку я не нашел этот статьи на хабре, то решил перевести ее специально для вас <3 ...

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

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

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

Диагностируем проблемы в микросервисной архитектуре на Node.js с помощью OpenTracing и Jaeger Всем привет! В современном мире крайне важна возможность масштабировать приложение по щелчку пальцев, ведь нагрузка на приложение может сильно отличаться в разное время. Наплыв клиентов, которые решили воспользоваться вашим сервисом, может принести как большую прибыль так и...

Облако для проверяющих чиновников будет стоить 1,3 миллиарда Согласно документу, опубликованному на сайте министерства, регламент предполагает несколько видов подключения к защищенной сети ГИС ТОР КНД. Для подключения одного автоматизированного рабочего места (АРМ) на нем должно быть установлено ПО Vipnet Client 4 для ОС Windows (прод...

Новые архитектуры нейросетей Новые архитектуры нейросетей Предыдущая статья «Нейросети. Куда это все движется» В этой статье кратко рассматриваются некоторые архитектуры нейросетей, в основном по задаче обнаружения объектов, чтобы найти (или хотя бы попытаться найти) будущие направления в этой быстро р...

Максут Шадаев рассказал о приоритетах работы Минкомсвязи и региональных органов власти 1. Подключение социально значимых объектов (СЗО) к Интернету.Подключение СЗО осуществляется в ходе исполнения федерального проекта "Информационная инфраструктура" национальной программы "Цифровая экономика Российской Федерации".Напомним, к СЗО относятся ш...

[Перевод] Об эффективности бессерверных вычислений В этой статье мы хотим рассказать о пользе высокоэффективных бессерверных архитектур для организаций и независимых разработчиков. Читать перевод далее

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

Scrum — нюансы применения в распределенной команде Наблюдая за применением Scrum в той или иной команде, я сделал вывод, что этот фреймворк, мягко говоря, не совсем правильно применяют. Несколько лет назад, впервые столкнувшись со Scrum (Скрам), я воспринял все происходящее как какой-то неведомый ранее бардак. Увидев очере...

Математики решили проблему числа "42", используя "планетарный суперкомпьютер" На свете есть математическая задача, решением которой ученые-математики занимаются на протяжении последних 65 лет, и которая основана на предположении, что каждое из натуральных чисел в диапазоне от 1 до 100 может быть представлено, в виде суммы трех чисел, каждое из которых...

ViennaNET: набор библиотек для backend’а. Часть 2 Сообщество .NET-разработчиков Райффайзенбанка продолжает краткий разбор содержимого ViennaNET. О том, как и зачем мы к этому пришли, можно почитать в первой части. В этой статье пройдемся по еще не рассмотренным библиотекам для работы с распределенными транзакциями, очеред...

[Перевод] Python, pandas и решение трёх задач из мира Excel Excel — это чрезвычайно распространённый инструмент для анализа данных. С ним легко научиться работать, есть он практически на каждом компьютере, а тот, кто его освоил, может с его помощью решать довольно сложные задачи. Python часто считают инструментом, возможности которог...

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Я системный администратор, занимаюсь компьютерами, и сегодня мы поговорим о Kubernetes. Я постараюсь глубже окунуться в тему, рассмотрев, какие проблемы сисадмин может решить с помощью этого приложения, и также затрону некоторые моменты эксплуатации Puppet, которая вроде как...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

Nokia представила... операционную систему Многие компании думают о том, как более эффективно использовать информацию и данные. Nokia, как компания, основанная на информационных системах и инновациях, выступила с интересным заявлением. Nokia объявила о запуске сетевой операционной системы нового поколения для це...

[Перевод] 5 алгоритмов регрессии в машинном обучении, о которых вам следует знать Источник: Vecteezy Да, линейная регрессия не единственная Быстренько назовите пять алгоритмов машинного обучения. Вряд ли вы назовете много алгоритмов регрессии. В конце концов, единственным широко распространенным алгоритмом регрессии является линейная регрессия, главны...

Business Process Management Systems: системное управление до, во время и после кризиса Ситуацию, сложившуюся в мире и вызванную эпидемией, безусловно, можно отнести к числу "черных лебедей" – событий, наступления которых никто не прогнозировал. Огромным нагрузкам подвержены цепи поставок, затронуты почти все сегменты бизнеса, экономики, социальной сферы. Однак...

[Перевод] Децентрализованный Веб. Результаты опроса 600+ разработчиков Примечание. Оригинальный репорт опубликован на Medium на английском языке. Он содержит также цитаты респондентов и ссылки на участников. Доступна укороченная версия в виде твит-шторма. О чем исследование Термин DWeb (Decentralized Web, Двеб) или Web 3.0 чаще всего является...

Service Discovery в распределенных системах на примере Consul. Александр Сигачев Предлагаю ознакомиться с расшифровкой доклада Александра Сигачева Service Discovery в распределенных системах на примере Consul. Service Discovery создан для того, чтобы с минимальными затратами можно подключить новое приложение в уже существующее наше окружение. Используя S...

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

Как избежать популярных ошибок сетевой безопасности В середине сентября стало известно об утечке почти 2Тб данных, в которых содержалась информация о работе системы оперативно-розыскных мероприятий (СОРМ) в сети одного российского оператора связи. Утечка произошла из-за неправильно настроенной утилиты резервного копирования...

Локализация приложений: как мы подружили перевод и разработку Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений и...

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

6 ошибок в английских словах, которые жутко бесят нейтивов Ошибки — это неизбежная часть обучения. Особенно, когда изучаешь иностранный язык. Главное — вовремя понять, что допустил ошибку, и исправить ее. Но некоторые ошибки ошибки настолько распространены, что становятся классическими. И это жутко бесит нейтивов. В этой статье мы...

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

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

Как Magento 2 взаимодействует с Vue Storefront Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Как уже писал AndreyHabr, многие из наших проектов основаны на стеке Adobe Magento 2 (для краткости далее я буду называть ее M2) в качестве бэкенда и Vue Storefront (VS) в качестве фронтенда. Я не буду подробно оста...

[Перевод] Sktime: унифицированная библиотека Python для машинного обучения и работы с временными рядами Всем привет. В преддверии старта базового и продвинутого курсов «Математика для Data Science», мы подготовили перевод еще одного интересного материала. Решение задач из области data science на Python – это непросто Почему? Существующие инструменты плохо подходят для реше...

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

[Перевод] 7 рекомендаций по повышению надёжности JavaScript-кода Автор статьи, перевод которой мы сегодня публикуем, решил поделиться с читателями семью рекомендациями по JavaScript. Эти рекомендации, как хочется надеяться автору, помогут писать более надёжные программы. Читать дальше →

Закон Конвея и его важность при создании команд Закон Конвея (Conway’s Law) имеет большое значение для понимания тех сил, что возникают при формировании команд, и того результата, который они могут оказать на команды в условиях длительного и автономного, неуправляемого и некорректируемого воздействия. И, как следствие, дл...

Книга «Совершенный софт» Привет, Хаброжители! «Совершенный софт» — это проверенный, структурированный и высокотехнологичный подход к разработке программного обеспечения. Множество компаний уже используют идеи Лёве в сотнях систем, но раньше эти мысли нигде не публиковались. Методология Лёве объеди...

Ищем цепочку событий в потоке данных с помощью FlinkCEP В данной статье речь пойдет об использовании открытой платформы Apache Flink для обнаружения цепочки последовательности событий. Статья подойдет как для начинающих разработчиков в области обработки потоковых данных, так и для тех, кто желает познакомиться с Apache Flink. Н...

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

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

Consul + iptables = :3 В 2010 году у компании Wargaming было 50 серверов и простая сетевая модель: бэкенд, фронтенд и файрвол. Количество серверов росло, модель усложнялась: стейджинги, изолированные VLAN с ACL, потом VPN с VRF, VLAN c ACL на L2, VRF с ACL на L3. Закружилась голова? Дальше будет в...

2. Check Point SandBlast Agent Management Platform. Интерфейс веб-консоли управления и установка агента Продолжаем изучать новую облачную платформу Check Point Management Platform для управления средством защиты пользовательских компьютеров — SandBlast Agent. В предыдущей статье мы описали основные составляющие SandBlast Agent, познакомились с архитектурой Check Point Infini...

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран ...

Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные Так выглядит избыточность. Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранил...

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

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

Платформа для создания смарт-завещаний победила в петербургском бизнес-рейтинге Представители блокчейн-компании одержали победу в ежегодной премии «ТОП-100» от газеты «Деловой Петербург». Лучшим бизнес-менеджером региона был признан основатель платформы для создания смарт-контрактов MyWish Владимир Тихомиров. Организаторы премии отмечают, что впервые вк...

[Перевод] Понимаем и ищем уязвимости типа Open Redirect Перевод статьи подготовлен в преддверии старта курса «Безопасность веб-приложений». Одной из наиболее распространенных и тем не менее игнорируемых веб-разработчиками уязвимостей является Open Redirect (также известная как «Непроверенные переадресации и пересылки»). Веб-са...

Intel представит архитектуру Xe GPU на GDC 2020 Intel планирует подробнее рассказать о своей новой архитектуре Xe Gpu на конференции разработчиков игр GDC 2020, которая пройдет с 16 по 20 марта в Сан-Франциско. Новая архитектура графического процессора Xe обеспечивает значительное улучшение вычислений, геометрии и п...

[Из песочницы] Зачем ограничивать наследование с помощью final? Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией. Гибкост...

Центробанк одобрил пилотный блокчейн-проект «Норникеля» По результатам пилотирования комитет Банка России по развитию финансового рынка признал возможность его функционирования после принятия и вступления в силу Федерального закона "О цифровых финансовых активах", сообщает пресс-служба "Норникеля".Одобренный ...

DevSecOps: как мы внедряли PT Application Inspector в наш продуктовый конвейер Привет! Меня зовут Тимур Гильмуллин, я работаю в отделе технологий и процессов разработки Positive Technologies. Неформально наш отдел называют DevOps-отделом, мы занимаемся автоматизацией различных процессов и помогаем разработчикам и тестировщикам в нашей компании.Я и мой ...

[Из песочницы] Почему разработчики такие медленные: распространенные проблемы и их решения Привет, Хабр! Представляю вашему вниманию перевод статьи Why Development Teams are Slow: Common Software Jams and Solutions автора Эрика Эллиота. Если вы больше любите слушать, чем читать, то в аудио формате перевод доступен на Яндекс.Музыке и в Apple Podcasts Давайте ра...

Apache Kafka для чайников Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом Apache Kafka. Материал не претендует на подробный туториал, но поможет быстро начать работу с данной технологией. Я расскажу о том, как установить и настроить Kafka на W...

Переезжаем на ClickHouse: 3 года спустя Три года назад Виктор Тарнавский и Алексей Миловидов из Яндекса на сцене HighLoad++ рассказывали, какой ClickHouse хороший, и как он не тормозит. А на соседней сцене был Александр Зайцев с докладом о переезде на ClickHouse с другой аналитической СУБД и с выводом, что ClickHo...

LADWP будет управлять энергосетями в Лос-Анджелесе с помощью интернета вещей Об этом пишет ТАСС со ссылкой на Smart Energy International."Благодаря комплексному подходу, лежащему в основе системы Itron, LADWP сможет повысить качество обслуживания клиентов и надежность энергосетей, заложив основу для создания "умных" городов. Кроме того...

[Перевод] Keras Functional API в TensorFlow В Keras есть два API для быстрого построения архитектур нейронных сетей Sequential и Functional. Если первый позволяет строить только последовательные архитектуры нейронных сетей, то с помощью Functional API можно задать нейронную сеть в виде произвольного направленного ац...

Умный дом xiaomi правильнее, чем home assistant, но можно еще правильнее В предыдущих сериях я: Накупил устройств от Xiaomi для умного дома и посредством паяльника заставил их работать в увлекательной манере — без родных серверов через home assistant (ссылка на пост) Завернул web interface от home assistant в electron (ссылка на пост) с поддерж...

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

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

[Из песочницы] Изучаем мультикаст операторы RxJS Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal. Широковещательные или мультикаст операторы нередко кажутся самой сложной темой при изучении RxJS. В этой статье я попробую все доступно объяснить. Мы рас...

AMD официально представила настольные процессоры серии Ryzen 5000 Компания AMD анонсировала серию процессоров Ryzen 5000, которые производятся на основе новейшей архитектуры Zen 3. Всего было представлено четыре новые модели по цене от 299 до 799 долларов, что фактически положило конец идее о процессорах AMD как о более дешевых альтернатив...

[Из песочницы] Базовые команды Linux для тестировщиков и не только Предисловие Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обы...

Почему вам не надо становиться тимлидом? Привет, друзья. Эта статья написана Георгием Могелашвили (glamcoder), который работает на позиции Lead Developer в Booking.com в Амстердаме и отвечает за архитектуру и координацию нескольких технических команд в отделе маркетинга, а по совместительству Георгий преподает в OT...

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

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

Асинхронное взаимодействие. Брокеры сообщений. Apache Kafka Данная публикация предназначена для тех, кто интересуется устройством распределенных систем, брокерами сообщений и Apache Kafka. Здесь вы не найдете эксклюзивного материала или лайфхаков, задача этой статьи – заложить фундамент и рассказать о внутреннем устройстве упомянутог...

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

[Перевод] Symfony и Гексагональная архитектура В данной статье мы коротко пройдемся по теории и на практике разберемся как перевести любое Legacy приложение на гексагональную архитектуру. Повествование будет в контексте фреймворка Symfony и PHP 7.4, но синтаксис приведенных примеров настолько прост что вы без труда пойм...

[Перевод] useSWR – моя новая любимая библиотека React Перевод статьи подготовлен в преддверии старта курса «React.js разработчик». Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управлени...

Эти 19 устройств Huawei получила бета-версию HarmonyOS 2.0 Вчера Huawei сделала доступной бета-версию HarmonyOS 2.0 Mobile Developer Beta для большего количества устройств, включая складной телефон Huawei Mate X2, модели линейки Huawei Mate 40 и умные телевизоры Huawei Smart Screen. Изначально бета-версия для разработчиков Harm...

NVIDIA DGX A100 — возможный носитель нескольких графических процессоров Ampere Предлагаемая сейчас компанией NVIDIA высокопроизводительная система DGX-2 объединяет в одном достаточно компактном корпусе 16 графических процессоров поколения Volta. Зарегистрированная недавно торговая марка DGX A100 указывает на возможность появления преемника с графически...

[Перевод] Как реализовать кластеризацию в Power BI с помощью PyCaret И снова здравствуйте. Сегодня мы продолжаем серию переводов в преддверии старта базового курса «Математика для Data Science». В одной из последних статей мы говорили о том, как создать детектор аномалий в Power BI, интегрировав в него PyCaret, и помочь аналитикам и специа...

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

Перевод на английский язык в сфере IT на примере PVS-Studio Наша компания PVS-Studio активно публикует статьи на тему разработки, поиска ошибок в коде, техниках по улучшению его качества. Этот пост отличается по тематике – в этот раз рассмотрим вопрос перевода на английский язык русскоязычного контента на тему разработки. В этой ста...

[Перевод] Hardware-in-the-Loop Сложным, дорогостоящиям и требующим длительной разработки техническим системам для проверки и подтверждения работоспособности архитектуры нужны тщательные и надежные тесты. Но по мере усложнения современных систем, особенно в случае программного обеспечения, об этом критич...

Nvidia представила архитектуру Turing и три новые видеокарты для профессионалов Сегодня на выставке SIGGRAPH компания Nvidia представила новую архитектуру видеокарт, которая будет в ближайшие несколько лет использоваться во всех новых 3D-картах компании. Архитектура получила название Turing. В компании отмечают, что Turing стала самым большим прорывом с...

Java-дайджест за 10 марта Есть такая штука, Milkman — это альтернатива Postman, расширяемый воркбенч для работы с запросами и ответами с интерфейсом на JavaFx и с идеей «всё есть плагин». Несмотря на плагинную архитектуру, эта штука почти не использует reflection, и поэтому стало возможно пересобр...

Глава Nvidia подтвердил, что компания может начать выпуск процессоров под собственной маркой Как мы уже сообщали, компания Nvidia подписала соглашение о покупке компании Arm за 40 млрд долларов. Комментируя сделку, генеральный директор Nvidia Дженсен Хуанг (Jensen Huang) подтвердил напрашивающееся само собой предположение, что в будущем на рынке могут появиться...

GridGain и Intel обеспечат поддержку энергонезависимой памяти Intel Optane 200 серии для векторных вычислений GridGain Systems, поставщик корпоративных решений для вычислений в оперативной памяти (In-Memory) на основе распределенной базы данных Apache Ignite, объявила о партнерстве с компанией Intel. Цель сотрудничества - создание первой в отрасли платформы In-Memory-вычислений на б...

Общие понятия о системах обнаружения и предотвращения вторжений И снова здравствуйте. В преддверии старта курса «Реверс-инжиниринг» решили поделиться с вами небольшой статьей по информационной безопасности, которая хоть и имеет довольно косвенное отношение к реверс-инжинирингу, но для многих может стать полезным материалом. Глобальны...

Multiprocessing и реконсиляция данных из различных источников Привет, Хабр! В условиях многообразия распределенных систем, наличие выверенной информации в целевом хранилище является важным критерием непротиворечивости данных. На этот счет существует немало подходов и методик, а мы остановимся на реконсиляции, теоретические аспекты ...

Новый инструмент нагрузочного тестирования Boomq Enterprise Boomq Enterprise совместим с Apache JMeter, есть возможность реализовывать кастомизацию отчетов, возможно автоматизированное создание профилей, присутствует управление распределенным тестированием.

Почему следует избегать использования JPA/Hibernate в продакшене JPA безусловно самая распространённая технология работы с базами данных на платформе Java. Но она же и наименее пригодна для разработки быстрых и поддерживаемых систем. В этой статье я расскажу почему JPA лучше не использовать в продакшене и что можно использовать вместо неё...

[Перевод] Apache Spark 3.1: Spark on Kubernetes теперь общедоступен С выходом Apache Spark 3.1 в марте 2021-го проект Spark on Kubernetes официально перешел в статус общедоступного и готового к эксплуатации. Это стало результатом трехлетней работы быстрорастущего сообщества, участники которого помогали в разработке и внедрении (изначально п...

[Перевод] Типовые ситуации при непрерывной интеграции Вы изучили команды Git но хотите представлять, как непрерывная интеграция (Continuous Integration, CI) происходит в реальности? Или может вы хотите оптимизировать свои ежедневные действия? Этот курс даст вам практические навыки непрерывной интеграции с использованием репозит...

Оптимизируй, автоматизируй и мониторь: видео по бэкенд-разработке с митапа Яндекс.Денег В нашем офисе состоялась традиционная встреча бэкенд-разработчиков — митап Java Jam. Поговорили, как с помощью плагинов Gradle можно оптимизировать сборочную инфраструктуру и автоматизировать релизный цикл. Обсудили плюсы и минусы существующих подходов к организации многопо...

[Перевод] Delta: Платформа синхронизации данных и обогащения В преддверии запуска нового потока по курсу «Data Engineer» подготовили перевод интересного материала. Обзор Мы поговорим о достаточно популярном паттерне, с помощью которого приложения используют несколько хранилищ данных, где каждое хранилище используется под свои цели,...

Книга «Программирование на Rust» Привет, Хаброжители! Официальный гайд по языку программирования Rust поможет вам создавать более быстрое и надежное программное обеспечение. Высокоуровневая эргономика и низкоуровневое управление часто противоречат друг другу, но Rust бросает вызов этому конфликту. Авторы ...

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

Проверь себя в Swift: паззлер для любителей головоломок Мы, команда мобильной разработки в SimbirSoft, при создании iOS-приложений широко используем язык Swift – достаточно безопасный, быстрый и выразительный. Для тех, кто знаком со Swift, мы приготовили несколько головоломок–паззлеров. Попробуйте определить результат выполнения ...

Микросервисы: как соблюсти контракт Переход к микросервисной архитектуре требует пересмотра подхода к разработке, тестированию, сопровождению, проектированию – иными словами, ко всем аспектам жизненного цикла программных компонентов. В этом посте мы расскажем о практиках, к которым пришла команда архитекторов ...

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

Оперативная аналитика в микросервисной архитектуре: п̶о̶н̶я̶т̶ь̶ ̶и̶ ̶п̶р̶о̶с̶т̶и̶т̶ь̶ помочь и подсказать Микросервисная архитектура, как и все в этом мире, имеет свои плюсы и свои минусы. Одни процессы с ней становятся проще, другие — сложнее. И в угоду скорости изменений и лучшей масштабируемости нужно приносить свои жертвы. Одна из них — усложнение аналитики. Если в монолите ...

Android: архитектура Fuchsia и тяжеловесные вычисления в UI-потоке Для подписчиковВ этом выпуске: погружение в архитектуру и безопасность ОС Fuchsia, несколько способов использовать Kotlin в качестве скриптового языка, неожиданный способ запустить тяжеловесные вычисления в основном потоке приложения, советы по работе с отладчиком, способ хр...

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

[Перевод] Классификация изображений на Android с помощью TensorFlow Lite и сервиса Azure Custom Vision Классификация изображений позволяет нашим приложениям Xamarin распознавать объекты на фотографиях. Все более и более распространенной становится возможность сделать фотографию и распознать ее содержимое. Мы можем наблюдать это в наших банковских приложениях при внесении мо...

Президент США подписал указ об обеспечении кибербезопасности В документе отмечается, что США противостоят постоянным и всё более изощрённым "киберкампаниям" - и предупреждение, обнаружение, оценка киберинцидентов, устранение их последствий "являются высшим приоритетом для национальной и экономической безопасности"....

[Перевод] Смешиваем OpenJDK и NodeJS: межъязыковые взаимодействия и вертикальная архитектура Привет, Хабр! Давно вынашивали мысль обсудить с вами тему GraalVM, откладывали, пока не нашли, наконец, сегодняшнюю статью, тематика которой серьезно выходит за рамки разбора конкретной виртуальной машины. Автор Майк Хёрн (Mike Hearn) ни много ни мало излагает целую парадиг...

[Перевод] «Давайте использовать Kubernetes!»: как получить 8 проблем Это перевод вводной статьи об использовании Kubernetes: «Let’s use Kubernetes!» Now you have 8 problems Если вы используете Docker, то следующим логичным шагом будет Kubernetes, известный как K8s. Именно так вы обеспечиваете эксплуатацию своих продуктов, верно? Ну, возможн...

Веб-конференция «Управление и контроль на удаленке» Третья веб-конференция «Управление и контроль на удаленке». Приглашаем на бесплатную веб-конференцию, посвященную менеджменту распределенных команд в условиях экстренного перехода на удаленку. Конференция состоится 15 апреля в 15:00...

Унифицируем арсенал Gatling Тестирование производительности — это непрерывный процесс оптимизации, контроля быстродействия систем и подтверждения их отказоустойчивости как на стадии моделирования и проектирования, так и на каждой итерации внесения изменений. Сейчас в Тинькофф мы активно занимаемся разв...

Проект SETI@home по поиску внеземных цивилизаций завершает работу после 21 года безрезультатных поисков SETI (Search for Extraterrestrial Intelligence) — общее название проектов и мероприятий по поиску внеземных цивилизаций и возможному вступлению с ними в контакт. И SETI@home, некоммерческий проект на платформе распределенных вычислений BOINC, пожалуй, является самым известны...

Сверхсовременные иммутабельные структуры данных Годами эксперты в С++ рассуждают о семантике значений, иммутабельности и разделении ресурсов за счет коммуникации. О новом мире без мьютексов и гонок, без паттернов Command и Observer. На деле все не так просто. Главная проблема по-прежнему в наших структурах данных. Имму...

Vue.js и слоистая архитектура: вынесение бизнес-логики в сервисы Когда нужно сделать код в проекте гибким и удобным, на помощь приходит разделение архитектуры на несколько слоев. Рассмотрим подробнее этот подход и альтернативы, а также поделимся рекомендациями, которые могут быть полезны как начинающим, так и опытным разработчикам Vue.js,...

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

Импорт ЕГРЮЛ ФНС средствами Apache NiFi. Шаг 2 — преобразование XML в JSON В одном из проектов возникла необходимость перевести процессы импорта данных сторонних систем на микросервисную архитектуру. В качестве инструмента выбран Apache NiFi. В качестве первого подопытного выбран импорт ЕГРЮЛ ФНС. В предыдущей статье было описано, как получить файл...

Compositional Layout в iOS 13. Основы Добрый день, На практике iOS разработчик часто сталкивается с задачей показа большого количества информации в виде списка или в виде коллекции, как правило, для этого отлично подходят UITableView или UICollectionView. Также часто встречается задача реализации экрана, который...

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

IntelliJ IDEA 2019.3: оптимизация производительности и улучшение качества Привет! В этом релизе мы сосредоточились на производительности и качестве. Вместе с другими командами JetBrains, мы занимались оптимизацией производительности, повышением отзывчивости интерфейса, улучшением существующей функциональности. Чтобы правильно расставить приорит...

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

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

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

Биткоин-биржа Bitfinex заявила о DDoS-атаке Криптовалютная биржа Bitfinex приостановила работу и сообщила о распределенной сетевой атаке типа «отказ в обслуживании» (DDoS). We are investigating what seems like a distributed denial-of-service (DDoS) attack. We will keep everyone updated on here and our status...

Как работает система Marketplace efficiency для сервисов доставки продуктов Привет, Хабр! Меня зовут Артём Селихов, я Product manager в команде СберМаркета, и я отвечаю за управление программными продуктами для операционных процессов, которые мы разрабатываем для наших партнеров — курьеров и экспертов по закупке. В первом посте мы уже рассказывали...

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

[Перевод] Пошаговое руководство по созданию торгового бота на любом языке программирования У меня нет квалификации, позволяющей давать советы, касающиеся инвестиций, законов, или чего-то подобного. Я и не пытаюсь этого делать. Цель руководства заключается в том, чтобы, в учебных целях, рассказать о программировании торговых ботов. Вы должны понимать, что, создав б...

Luxoft создала компанию-интегратор для внедрения цифровой платформы Сбера на внешнем рынке На должность генерального директора Integrity Solutions назначен Михаил Краснов, ранее руководивший одним из крупнейших подразделений в финансовой линейке бизнеса компании Luxoft и имеющий обширный опыт в управлении разработкой программного обеспечения для российских и заруб...

[Перевод] Добавляем параллельные вычисления в Pandas Возможно вы сталкивались с задачей параллельных вычислений над pandas датафреймами. Решить эту проблему можно как силами нативного Python, так и с помощью замечательной библиотеки — pandarallel. В этой статье я покажу, как эта библиотека позволяет обрабатывать ваши данные с ...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

[Перевод] Разворачиваем вложенные столбцы — списки с помощью языка R (пакет tidyr) В большинстве случаев при работе с ответом полученным от API, или с любыми другими данными которые имеют сложную древовидную структуру, вы сталкиваетесь с форматами JSON и XML. Эти форматы имеют множество преимуществ: они достаточно компактно хранят данные и позволяют избежа...

Как ускорить работу микросервиса с помощью многопоточности, асинхронности и кэша: пошаговая инструкция To Destination by BisBiswas Микросервисная архитектура звучит неплохо само по себе, но еще лучше — быстрый микросервис, который эффективно использует ресурсы сервера. Я покажу, как последовательно применять к простому без затей микросервису методы ускорения его работы, поп...

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

[Перевод] Java/Spring: Как полностью сгенерировать CRUD REST API с помощью Speedment В этой статье вы узнаете, как с помощью Speedment создать полный CRUD REST API для базы данных. С каждым годом становится все очевиднее, что Spring Framework является одним из наиболее широко используемых фреймворков для веб-разработки на Java. Читать дальше →

Как улучшить психологический климат при удаленной групповой работе Старший архитектор Red Hat по вопросам взаимодействия с сообществом Джейсон Хиббетс делится на портале Enterprisers Project своим опытом правильной организации работы распределенных команд. Большинству компаний по всему миру приходится свыкаться ...

Лучший в мире летный тренажер предназначен только для пилотов F-35 Когда-нибудь пилоты F-35 всех стран смогут объединиться для совместного выполнения виртуальных миссий с помощью сетевых тренажеров. И в этом деле им послужит технология распределенного обучения (DMT).

Петербургский студенческий стартап рассчитывает создать онлайн-сервис 3D-печати Студенческая команда CloudPrints прошла в финал конкурса междисциплинарных студенческих и аспирантских проектов «Start-up СПбГУ — 2020». Проект группы предусматривает создание облачного сервиса для 3D-печати изделий на заказ с использованием распределенной производственной б...

[Перевод] Многократное использование UI-компонентов в масштабах организации Хотя React и другие библиотеки и фреймворки для веб-разработки упрощают многократное использование компонентов, сама собой такая схема работы не налаживается. В этой сфере всё ещё существуют сложные задачи, которые особенно характерны для тех случаев, когда речь идёт о масшт...

Covid-19 станет причиной коренной трансформации бизнеса Переход от централизованной к распределенной модели изолированных локаций в условиях распространения коронавируса (Covid-19) продемонстрировал уровень готовности предприятий к функционированию в мире с высокой степенью ...

У Windows 10 новые проблемы совместимости со старыми устройствами Обновление безопасности Windows 10, вышедшее во вторник, имеет одну особенность, не очень приятную для тех, кто использует старые или экзотические комплектующие. Обновление принесло с собой новую систему проверки драйверов, из-за которой старое оборудование может перест...

О корпоративной культуре для распределенных команд и не только Введение На свою первую удаленную работу я устроился еще в 2009 году. Мне тогда было 19 лет. Это была должность младшего системного администратора на хостинге. По сути основная ее часть — техподдержка. Это была сравнительно некомфортная работа: нужно было весь день проводить...

Python &amp;amp; EEL. Делаем просто на Python’е и красиво на JS Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие со...

PIndastrial shield — модуль питания и интерфейса RS-485 для Raspberry PI Существует множество проектов, где в качестве основы системы используется Raspberry PI, но имеется ряд сложностей с обеспечением питания и взаимодействия с внешними устройствами. Я хотел бы поделиться опытом создания небольшого шилда для миникомпьютера, упрощающего его прим...

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

Управление Mac в мире Windows Большинство организаций используют System Center Configuration Manager для автоматизации процессов системного администрирования. Одна незадача: базовая функциональность SCCM ограничена для macOS. Поскольку с каждым годом количество «яблочной» техники в компаниях растет, пр...

[recovery mode] Культура как основа масштабирования команды х2 каждый год. Про ошибки в найме и culture fit Я работаю менеджером разработки в Miro и активно участвую в найме. Последние несколько лет наша команда удваивается ежегодно и становится мультикультурной, у нас открываются офисы в Америке и Европе. 5 лет назад, в начале стадии быстрого роста, наши процессы найма и онборди...

Как организовать DDoS в благих целях? Перед релизом нового сервиса неплохо бы убедиться в том, что он работает в соответствии с нашими ожиданиями и доступен вне зависимости от того, сколько клиентов одновременно им пользуются. А как этот сервис отреагирует, если против него будет организована распределенная DoS...

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

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

svchost.exe грузит память в Windows 7, 8, 10: что это за процесс и как решить проблему Кажется, что разговор о тех или иных ошибках Windows может стать бесконечным. На самом деле трудно отрицать тот факт, что вполне нормально сталкиваться с ошибками на своем компьютере, если своевременно не заботиться о его здоровье. На этот раз попробуем разобраться с проблем...

[Из песочницы] Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ — опыт адаптации компилятора языка высокого уровня к стековому процессорному ядру. Распространенной проблемой для софт-процессоров является отсутствие средств разработки для них, особен...

Разработка «простого генератора напряжения» в соответствии с ГОСТ Р МЭК 61508 (IEC 61508) В данной статье будут рассмотрены необходимые шаги для создания устройства, отвечающего общим требованиям функциональной безопасности (ФБ). А также будет предложена архитектура простейшего «безопасного» (safety) генератора напряжения. Так как управляя напряжением, можно уп...

Серверы Huawei на процессорах Kunpeng 920 получат российскую «импортонезависимую» операционную систему Компании Huawei и РЕД СОФТ сообщили о подписании соглашения о технологическом сотрудничестве. Предмет соглашения — продажи на российском рынке комплексных решений, в которых объединены флагманские продукты двух компаний: серверы Huawei Taishan 200 (модель 2...

[Перевод] Как оценивать интеллект? Подход Google От себя: В ноябре 2019 года вышла программная статья от Google «Об оценке интеллекта» Франсуа Шолле (создатель Keras). 64 страницы посвящены тому, как появилось современное понимание ИИ, почему машинное обучение от него так далеко, и почему мы все еще не можем адекватно изм...

NVIDIA приобретает разработчика программного обеспечения Cumulus NVIDIA приобретает первоклассное программное обеспечение Cumulus. С помощью Cumulus NVIDIA может внедрять инновации и оптимизировать весь сетевой стек - от микросхем и систем до программного обеспечения. Cumulus обеспечит ускоренные вычисления во всех сферах деятельности. ...

Применение принципов функционального программирования при проектировании ERP Привет, Хабр! В этой статье мы попробуем взглянуть на архитектуру учетных систем (ERP, CRM, WMS, MES, B2B, ...) с позиций функционального программирования. Существующие системы сложны. Они базируются на реляционной схеме данных, и имеют огромный мутабельный стейт в виде сот...

«Себряковцемент» перешел на новую систему учета на базе «1С» Проект по созданию единой информационной системы управления и учета в АО «Себряковцемент» был начат еще в 2017 году. Из-за масштабности предприятия и сложности задачи он длился около 2 лет. Сейчас поставленные цели достигнуты. В ERP-систему переведены все бизнес-проце...

Валерий Черепенников усилил R&D-направление Huawei Это новая позиция в Российском исследовательском институте Huawei. Ее решили ввести в связи с объединением нескольких команд исследователей и разработчиков. На должности директора лаборатории высокопроизводительных вычислений Валерий Черепенников займется построением команды...

[Из песочницы] Riak Cloud Storage. Часть 1. Настройка Riak KV Riak CS (Cloud Storage) – лёгкое в использовании программное обеспечение для организации хранилища объектов, работающее поверх Riak KV. Riak (KV) это распределённая NoSQL база данных типа «ключ-значение(key-value)». Riak CS спроектирована так, чтобы обеспечить простоту, дост...

Envoy для самых маленьких Всем привет! Я работаю бэкенд-разработчиком в компании Tinkoff, где участвую в разработке платформы CRM-системы для обслуживания физических и юридических лиц. Использование edge proxy и балансировщика в частности — это почти мастхэв при построении современных систем. Сегодн...

Windows 10 KB4556799 вызывает проблемы сети и BSOD Windows 10 KB4556799 вызывает множество новых проблем для некоторых конфигураций ПК. Помимо проблем со звуком, временного профиля пользователя и падений FPS, последнее накопительное обновление Windows 10 также вызывает у некоторых пользователей «Синий экран смерти», различны...

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

[Перевод] Непрерывная интеграция и развертывание настольных приложений с GitHub Actions Из общения с разработчиками настольных приложений мы узнали, что многие хотят узнать, как быстро настраивать рабочие процессы непрерывной интеграции и непрерывного развертывания (CI/CD) для WPF и Windows Forms, чтобы пользоваться многими преимуществами пайплайнов CI/CD, таки...

Опыт использования MobX в большом приложении Всем привет! Меня зовут Сергей, я работаю в команде разработки приложений контроля качества Tinkoff. Поделюсь опытом нашей команды в использовании библиотеки Mobx и расскажу о деталях работы с ней в связке с React. В этой статье не будет описания базовых концепций. Я расск...

Active Restore: С чего начать разработку в UEFI Всем привет. В рамках проекта от компании Acronis со студентами Университета Иннополис (подробнее о проекте мы уже описали это тут и тут) мы изучали последовательность загрузки операционной системы Windows. Появилась идея исполнять логику даже до загрузки самой ОС. Следовате...

14 самых популярных Node.js-библиотек в 2020 году Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «14 Most Useful NodeJS Libraries in 2020». В данной статье автор делится своими находками среди многочисленных пакетов Nodejs. Express Быстрый, гибкий, минималистичный, легкий в изучении фреймворк...

[Из песочницы] Популярные ошибки в английском среди IT-специалистов Основываясь на многолетнем опыте преподавания английского специалистам IT-сферы (программистам, бизнес аналитикам, тестировщикам, маркетинговым специалистам), я собрала список наиболее распространенных среди “айтишников” ошибок в английском языке. Читать дальше →

[recovery mode] Архитектура Y messenger Y messenger разрабатывается чтобы быть одновременно и защищенным на уровне Tox, BitMessage, и удобным на уровне Telegram и WhatsApp. В этой статье я опишу как выглядит архитектура и какие решения были использованы чтобы достичь поставленных целей. Какие преимущества совреме...

Клиент-серверная архитектура в картинках Знакомая картинка? А вы ведь постоянно сталкиваетесь с этой архитектурой — когда покупаете билет в кино онлайн, бронируете путевку на море или записываетесь ко врачу. На клиент-серверной архитектуре построены все сайты и интернет-сервисы. Также ее используют десктоп-про...

Алекс Машинский: DeFi нужен мост, а криптовалюте — гарантии В серии подкастов «Поясни за крипту» мы в прямом эфире общаемся с представителями биткоин-индустрии о новой экономике и бизнес-моделях в эпоху распределенных технологий. Сегодняшним гостем студии стал основатель блокчейн-проекта Celsius.Network Алекс Машинский. В 90-е он соз...

[Перевод] Лучшие 10 хитростей и советов по Kubernetes В интернете много справочной литературы, но иногда самыми ценными становятся самые простые советы. Команда Kubernetes aaS от Mail.ru перевела подборку из десяти хитростей и советов, которые автор статьи собрала после года работы с Kubernetes. Советы не отсортированы по важ...

Дополняя SQL. Часть 1. Сложности парсинга. Истории о доработке ANTLR напильником Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Более пяти лет работаю в компании, что занимается разработкой линейки IDE для работы с базами данных. Начиная работу над этой статьей я и не представлял как много интере...

[Из песочницы] Веб-разработка с нуля: руководство для молодых команд по созданию инфраструктуры CI/CD и процесса разработки Чуть больше года назад я столкнулся с тем, что на внутреннем проекте совсем не айтишной компании вырос целый отдел веб-разработки, которым мне и довелось руководить. Рабочий процесс вроде как устаканился и всех устраивал, но оставались проблемы: Проверка каждой ветки проход...

KB4535996 для Windows 10 вызывает проблемы установки для некоторых пользователей Нередко Microsoft выпускает обновление, которое каждому пользователю Windows 10 удается успешно установить на свой компьютер. Последнее обновление Microsoft Windows 10 KB4535996, как сообщается, вызывает проблемы установки для некоторых пользователей, в результате чего польз...

[Перевод] Почему нужна инструментальная поддержка пагинации на ключах Всем привет! Я бэкэнд-разработчик, пишу микросервисы на Java + Spring. Работаю в одной из команд разработки внутренних продуктов в компании Тинькофф. У нас в команде часто встает вопрос оптимизации запросов в СУБД. Всегда хочется еще чуть-чуть быстрее, но не всегда можно об...

Имитируем сетевые проблемы в Linux Всем привет, меня зовут Саша, я руковожу тестированием бэкенда в FunCorp. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость ...

«В карантин нагрузка выросла в 5 раз, но мы были готовы». Как Lingualeo переехал на PostgreSQL с 23 млн юзеров Проекту Lingualeo уже 10 лет. Более 23 миллионов человек из России, Турции, Испании и стран Латинской Америки учат с помощью нашего сервиса английский. LinguaLeo создавали в конце нулевых – начале десятых годов и использовали передовые на тот момент технологии и методы. ...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

[Перевод] Структурные шаблоны проектирования в ES6+ на примере Игры престолов Доброго времени суток, друзья! Структурные шаблоны проектирования используются для построения больших систем отношений между объектами с целью сохранения гибкости и эффективности. Давайте рассмотрим некоторые из них с отсылками на Игру престолов. В разработке программног...

[Перевод] Внутри виртуальной машины Python. Часть 1 Всем привет. Я решил наконец-то разобраться, как работает интерпретатор Python. Для этого стал изучать одну статью-книгу и задумал заодно перевести её на русский язык. Дело в том, что переводы не дают тебе пропустить непонятное предложение и качество усвоения материала уве...

Российские разработчики ПО получат гранты РФРИТ Из средств субсидии на такую поддержку будет выделено 1,47 млрд рублей. Сумма гранта на проект составит от 10 млн рублей до 500 млн рублей при предоставлении софинансирования в объеме не менее 50% от общей сметы проекта.Грант является одним из элементов поддержки комплексной...

Банкоматная очередь: в АТМ появится функция переводов по номеру телефона Перевести деньги по номеру телефона можно будет через банкомат с помощью системы быстрых платежей (СБП). Такую функцию планирует реализовать ВТБ до конца 2020 года, заинтересованы в ней еще три крупных банка, рассказали «Известиям» их представители. Россияне уже привыкли исп...

Первое впечатление от концептов Решил разобраться с новой возможностью С++20 — концептами. Концепты (или концепции, как пишет русскоязычная Вики) — очень интересная и полезная фича, которой давно не хватало. По сути это типизация для аргументов шаблонов. Основная проблема шаблонов до С++20 — в них мо...

Как собрать нативную библиотеку для Android Собрать и заставить работать приложение с небольшим количеством нативного кода несложно. Если же вы хотите использовать нативную библиотеку, в которой много файлов, становится труднее. Сложность в том, что нативные библиотеки распространяются в виде исходного кода, который н...

[Перевод] EOF — это не символ Недавно я читал книгу «Компьютерные системы: архитектура и программирование. Взгляд программиста». Там, в главе про систему ввода-вывода Unix, авторы упомянули о том, что в конце файла нет особого символа EOF. Если вы читали о системе ввода-вывода Unix/Linux, или эксперим...

Анонс D-Link DAP-2680: точка доступа AC1750 Wave 2 с поддержкой MU-MIMO и PoE Компания D-Link представляет новую точку доступа AC1750 Wave 2 с поддержкой MU-MIMO и PoE, ориентированную на построение распределенных масштабируемых беспроводных сетей. Подробнее об этом читайте на THG.ru.

[Из песочницы] Попытка создания собственного TTA процессора в Logisim Предисловие Идеей создания собственного простого процессора, если это можно так назвать, я загорелся давно. Выбор архитектуры — дело неодназаначное, но будучи от части минималистом, захотелось реализовать что-то простое, в то же время мощьное и расширяемое, TTA отлично для э...

SARIF SDK и его ошибки Сегодня у нас на тесте очередной качественный проект Microsoft, в котором мы всё же попытаемся героически поискать ошибки при помощи PVS-Studio. SARIF – аббревиатура от «Static Analysis Results Interchange Format», представляет собой стандарт (формат файла), предназначенный...

Альянс Trusted IoT войдет в состав консорциума Industrial Internet Trusted IoT Alliance объединяет организации, работающие над вопросами использования блокчейна в Интернете вещей. Консорциум Industrial Internet Consortium (IIC), членами которого являются многие крупные компании, занимающиеся технологиями Промышленного интернета, принял ...

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

Customer journey map (CJM): чем исследование пути потребителя может помочь в продажах В эпоху тотальной цифровизации взаимодействие потребителя с продуктами и брендами настолько усложнилось и мультиканализировалось, что становится все сложнее определить, как именно покупатель выбирает продукт/ бренд и принимает финальное решение о покупке/ сотрудничестве. ...

Лидер конкурса «Цифровой прорыв» разработал систему учета электроэнергии полностью на российском софте Группа компаний «Системы и технологии» стала победителем конкурса «Цифровой прорыв», в номинации «Лучшие технологические решения», организованным ПАО «Россети» для оценки инновационных проектов отрасли.  «Системы и технологии» получили Диплом 1 степени конкурса за проек...

«Дружба» Windows 10 и iPad Pro стала более крепкой В 2006 году компания Apple отказалась от архитектуры IBM PowerPC в пользу чипов от Intel, это позволило запускать на MacBook’ах операционную систему Windows. Идея была реализована с помощью Boot Camp Assistant, который устанавливал «окна» на отдельный раздел. Теперь с...

[Из песочницы] MVP для Android — преимущества использования Moxy в качестве вспомогательной библиотеки В данной статье описываются преимущества использования Moxy в качестве вспомогательной библиотеки при использовании MVP для Android-приложения. Важно: здесь не сравнивается MVP с другими архитектурными подходами типа MVVM, MVI и т.п. В статье описывается почему, если в качес...

VMware ESXi на Raspberry Pi: они реально это сделали То, что выглядит как забавная шутка, иногда оказывается вполне серьезным проектом. Это редко, но случается. Буквально на этой неделе было анонсировано техническое превью гипервизора VMware ESXi на архитектуре aarch64 под названием ESXi-Arm-Fling. В этой статье мы рассмотрим...

[Из песочницы] Как разработать дизайн и код персонального веб-сайта Привет, Хабр! представляю вашему вниманию перевод статьи «How to Design and Code a Personal Website» автора Ryan Smith. Многие разработчики считают, что быть хорошим дизайнером — это врожденная способность, что творческий подход — это то, с чем вы сразу родились. На самом д...

[Перевод] Понимание CSS Grid: Создание Grid-контейнера Перевод «Understanding CSS Grid: Creating A Grid Container» Рейчел Эндрю Хотя технология CSS Grid стала поддерживаться некоторыми браузерами еще в 2017 году, у многих разработчиков пока не было возможности использовать её в своих проектах. Технология CSS Grid привносит множ...

AMD подтверждает, что продукция на архитектурах Zen 3 и RDNA2 появится в конце 2020 года Комментируя отчет за первый квартал, компания AMD подтвердила, разработка процессоров на архитектуре Zen 3 и графических процессоров на архитектуре RDNA2 идет по графику. Первые изделия, основанные на Zen 3 и RDNA2, будут представлены в конце 2020 года. Производитель н...

Компания ServicePipe выделит вычислительные мощности международному проекту по борьбе с пандемией коронавируса Компания ServicePipe первой в России поддержала международную акцию университета Вашингтона в Сент-Луисе (США), направленную на борьбу с пандемией коронавируса. Университетом создан проект — платформа распределенных вычислений ...

[Перевод] Антипаттерны событийно-ориентированной архитектуры И снова здравствуйте! В преддверии старта курса «Архитектор ПО» подготовили перевод еще одного интересного материала. Последние несколько лет наблюдается рост популярности микросервисной архитектуры. Есть много ресурсов, которые учат правильно ее реализовывать, однако дост...

Книга «Программируй & типизируй» Привет, Хаброжители! Причиной многих программных ошибок становится несоответствие типов данных. Сильная система типов позволяет избежать целого класса ошибок и обеспечить целостность данных в рамках всего приложения. Разработчик, научившись мастерски использовать типы в пов...

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

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

[Перевод] Vulkan-tutorial. Урок 1.1 — Вступление В связи с тем, что у меня не так много времени для ресерча каких-то новых штук и написания статей о них, я решил перевести серию уроков по Vulkan. Надеюсь, что мои переводы будут кому-то полезны и не очень плохого качества. Для начала обучения — прошу под кат. Автор ориги...

Sci-Hub теперь находится в «нецензурируемой» сети После того, как популярный, но крайне нелюбимый правообладателями сайт Sci-Hub столкнулся с неоднократными отзывами доменных имен, а Твиттер и вовсе забанил аккаунт Sci-Hub, Александра Элбакян зарегистрировала его в сети распределенных доменных имен Handshake. Читать далее

[Перевод] Обработка сетевых данных на лету Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Аннотация Разнообразные виды оценки безопасности, начиная от регулярного тестирования на проникновение и операций Red Team до взлома IoT/ICS-устройств и SCADA, подразум...

AMA про удаленку: спрашивайте — отвечаем Привет, за минувший год мы сделали 5 разных докладов про работу в распределенных командах — и поняли, что не покрываем и десятой доли вопросов, которые возникают у людей при слове «удаленка». И хотя с каждым годом все больше компаний и специалистов продолжают делиться опыто...

[Из песочницы] Создание упаковщика x86_64 ELF файлов под linux Введение В данном посте будет описано создание простого упаковщика исполняемых файлов под linux x86_64. Предполагается, что читатель знаком с языком программирования си, языком ассемблера для архитектуры x86_64 и с устройством ELF файлов. В целях обеспечения ясности из приве...

Volkswagen столкнулась с серьёзными проблемами в ПО ID.3, из-за чего запуск электрокара может быть отложен Продажи электрического хэтчбека Volkswagen ID.3, намеченные на лето 2020 года, могут оказаться под большим вопросом. Немецкое издание Manager Magazin, ссылаясь на свои источники, пишет, что в программном обеспечении электрокара ежедневно выявляют до 300 ошибок. Судя по всему...

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

Моделируем поведение Quartus-проекта на Verilog в среде ModelSim В прошлой статье мы сделали достаточно сложный модуль. Разумеется, я вставил в тело статьи уже отлаженный результат. Но мне показалось, что достаточно странно, когда автор говорит «делай, как я», но при этом не показывает очень важного процесса. Давайте я покажу, как вообще ...

HMI на основе Node-red и Scadavis.io В настоящее время в связи с ростом популярности концепции IoT и развитем сопутствующих технологий многие производители программного обеспечения для промышленной автоматизации используют это в своих продуктах. Доступ к SCADA-системам через web-интерефейс — идея и реализация н...

[Перевод] Изменение требований к проекту — ключевая проблема разработки ПО Шаги по разработке большой компьютерной программы для доставки заказчику Иллюстрация выше — из статьи д-ра Уинстона Ройса «Управление разработкой больших программных систем» 1970 года. Считается, что это первое в программной инженерии описание модели водопада. Диаграммы д-...

[Перевод] 10 практических рекомендаций по безопасности образов Docker. Часть 1 Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». В этой статье мы хотели бы сосредоточиться на Docker и обсудить советы и рекомендации, которые обеспечивают более безопасный и качественный процесс обработки образов Docker. Итак, начнем с н...

Чем мозг полиглотов отличается от всех остальных? Полиглот – это человек, который во взрослом возрасте владеет по меньшей мере пятью иностранными языками разных лингвистических групп или больше. Как отмечает лингвист Майкл Эрард, даже самые одаренные полиглоты легко переключаются лишь между шестью-семью языками. При этом т...

Kubernetes за 3 дня. Просто о сложном Можно ли изучить Kubernetes — такую сложную и глубокую технологию — за три дня? Слёрм запустил «Вечернюю школу», где базовый курс по Кубернетес можно пройти за 4 месяца. В честь этого события узнаем у Павла Селиванова, архитектора Kubernetes-решений, Certified Kubernetes Ad...

[Из песочницы] Ваш C# уже «функциональный», просто позвольте ему это Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik. Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8....

[Перевод] Пришло ли время забыть о React и перейти на Svelte? Каждый год выходит исследование State of JavaScript, которое обобщает результаты опроса, изучающего текущее состояние экосистемы JavaScript. Это исследование затрагивает фронтенд-фреймворки, серверную и мобильную разработку, тестирование, популярные ресурсы для разработчиков...

[Перевод] Go и кэши CPU Источник: unsplash.com По словам Джеки Стюарта, трехкратного чемпиона мира по гонкам Формулы-1, понимание автомобиля помогло ему стать лучшим пилотом: «Гонщику не обязательно быть инженером, но нужен интерес к механике». Мартин Томпсон (создатель LMAX Disruptor) применил ...

[Перевод] Разговаривать — это трудно. Эссе об общении с непрограммистами У программистов есть разные поговорки о трудных проблемах. Наверное, мой любимый вариант: «В информатике две трудные проблемы: недействительность кэша, присвоение имён и ошибки на единицу». Я пишу программное обеспечение достаточно давно, чтобы столкнуться с каждой из этих ...

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

Книга «Паттерны объектно-ориентированного проектирования» Привет, Хаброжители! Больше 25 лет прошло с момента выхода первого тиража книги Design Patterns. За это время книга из популярной превратилась в культовую. Во всем мире ее рекомендуют прочитать каждому, кто хочет связать жизнь с информационными технологиями и программирован...

[Перевод] Внутри виртуальной машины Python. Часть 2 Привет, Хабр. Перевод этой статьи занял намного больше времени, чем ожидалось. Мне очень хотелось сделать всё качественно и без обмана, но если найдёте неточности, буду рад услышать о них. Также я буду сам перечитывать и исправлять ошибки предыдущих статей, если где-то оказ...

[Перевод] Подсчет запросов: Базовое тестирование производительности на Django Всем привет. Мы подготовили перевод еще одного полезного материала для студентов курса «Web-разработчик на Python», который стартовал вчера. Очень часто можно услышать о методах тестирования, таких как TDD, и о том, как тестировать бизнес-логику приложения. Однако тестиро...

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

[Перевод] Зависимые типы в Haskell: почему это будущее разработки программного обеспечения В Serokell мы занимаемся не только коммерческими проектами, но стараемся изменить мир к лучшему. Например, работаем над улучшением главного инструмента всех хаскелистов – Glasgow Haskell Compiler (GHC). Мы сосредоточились на расширении системы типов под впечатлением от рабо...

[Перевод] Спецификация D-Bus. Часть 1 Данная статья открывает серию публикаций с переводом спецификации D-Bus (Версия 0.36 от 2020-04-21). Поскольку у D-Bus нет логотипа, то в качестве обложки была использована картинка автобуса с D-образным корпусом. Для краткого введения в тему D-Bus рекомендую прочитать пер...

Легко и непринужденно деплоим приложения на Tarantool Cartridge (часть 1) Мы уже рассказывали про Tarantool Cartridge, который позволяет разрабатывать распределенные приложения и паковать их. Осталось всего ничего: научиться деплоить эти приложения и управлять ими. Не беспокойтесь, мы всё предусмотрели! Мы собрали вместе все best practices по раб...

Ростех спроектировал «цифровое правительство» для Саратовской области и Адыгеи Центры включают программную и интеграционную платформы, а также более сотни аналитических модулей, охватывающих все сферы государственного управления. Решение единовременно обрабатывает данные мониторинга правонарушений, чрезвычайных происшествий, сообщений в СМИ и социальны...

Как мы формируем консолидированную отчетность 25 компаний, 9 стран, 6 функциональных валют… Систему и процедуры подготовки отчетности легко можно было сделать сложными и дорогими. Но мы нашли простое с технической точки зрения решение, которое очень нравится нашим пользователям, а особенно специалистам по подготовке ко...

[Перевод] Почему мы перешли с Webpack на Vite Миссия Replit — сделать программирование более доступным. Мы предоставляем людям бесплатные вычисления в облаке, чтобы они могли создавать приложения на любом устройстве. Одним из самых популярных способов создания приложений в Интернете на сегодняшний день является React....

[Перевод] Архитектура Apache Airflow на OpenShift Продолжаем публиковать блог нашего друга Алеса Носека. В первой части мы поговорили про CI/CD-конвейеры с охватом нескольких кластеров OpenShift. А сегодня расскажем об архитектуре системы Apache Airflow на платформе OpenShift, рассмотрим функции ее ключевых компонентов и сп...

Unity + git = дружба: часть 1 джентльменский набор Система контроля версий git уже давно стала стандартом де-факто в мире разработки, но для большинства разработчиков на Unity не секрет, что существует ряд трудностей связанных с особенностями Unity, которые мешают эффективно использовать ее совместно с git. Вот список типи...

[Перевод] 3 способа рендеринга больших списков в Angular В 2020 году фронтенд-фреймворки стали лучше, эффективнее и быстрее. Но, даже учитывая это, рендеринг больших списков без «замораживания» браузера всё ещё может оказаться сложной задачей даже для самых быстрых из существующих фреймворков. Это — один из тех случаев, когда «фр...

В СПбГУ разработали блокчейн-систему для удаленного корпоративного голосования Многие крупные компании - партнеры Санкт-Петербургского университета в той или иной мере используют режим удаленной работы. Приложение "КриптоВече" стало ответом на запросы работодателей. Как провести голосование по развитию проекта, если половина сотрудников наход...

[Перевод] Выпуск Rust 1.41.1: корректирующий выпуск Команда Rust опубликовала новый корректирующий выпуск Rust, 1.41.1. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.41.1...

Falcongaze: шесть вопросов, которые нужно решить при переходе сотрудников на удаленку Распределенная команда — понятие, еще многим незнакомое, но быстро входящее в обиход. Возможность работать с людьми вне офиса дает преимущества. Особенно для компаний, работающих в ИТ — можно нанимать нужных специалистов, независимо от того, где они ...

IX Международный форум «Broadband Russia Forum: эволюция сетей широкополосного доступа в эпоху цифровой экономики, распределенных дата-центров и облачных услуг накануне запуска 5G» Информационная группа ComNews при поддержке Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации и Международного союза электросвязи (МСЭ) приглашает Вас и Ваших коллег принять участие в IX Международном форуме «Broadband Russia Forum: эволюция...

[Перевод] «Kubernetes увеличил задержку в 10 раз»: кто же в этом виноват? Прим. перев.: Эта статья, написанная Galo Navarro, что занимает должность Principal Software Engineer в европейской компании Adevinta, — увлекательное и поучительное «расследование» в области эксплуатации инфраструктуры. Её оригинальное название было немного дополнено в пере...

[Перевод] 7 уроков, которые я усвоил за десять лет в разработке Представляем вам перевод статьи JS dev Ray, опубликованной на сайте medium.com. Автор рассказывает о важных вещах, которые он понял за свою карьеру разработчика приложений. По его мнению, эта информация может очень пригодиться начинающим специалистам. Читать дальше →

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

[Из песочницы] C++/Qt: пора валить?. Если бы раньше я запускал новый долгоживущий проект, в котором основные функции связаны с большим объёмом вычислений при каком-то взаимодействии с пользователем через графический интерфейс, я бы не задумываясь использовал С++/Qt. Это позволяло использовать один фреймворк/яз...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

[Перевод] Что такое Service Mesh? И снова здравствуйте!.. В преддверии старта курса «Архитектор ПО» мы подготовили еще один полезный перевод. Service Mesh – это конфигурируемый инфраструктурный уровень с низкой задержкой, который нужен для обработки большого объема сетевых межпроцессных коммуникаций межд...

Проверка диска вызывает ошибку на Windows 10? Microsoft выпускает исправление • Компания Microsoft выпустила решение проблемы, которая может привести к невозможности загрузить систему при использовании инструмента chkdsk. • Проблема затрагивает небольшое количество устройств, если верить Microsoft. • Проблема должна быть автоматически решена на неупра...

[Перевод] Многопоточность. Модель памяти Java (часть 2) Привет, Хабр! Представляю вашему вниманию перевод второй части статьи «Java Memory Model» автора Jakob Jenkov. Первая часть тут. Аппаратная архитектура памяти Современная аппаратная архитектура памяти несколько отличается от внутренней Java-модели памяти. Важно понимать апп...

Настройка Minio чтобы юзер мог работать только со своим bucket Minio это простое, быстрое и совместимое с AWS S3 хранилище объектов. Minio создан для размещения неструктурированных данных, таких как фотографии, видеозаписи, файлы журналов, резервные копии. В minio также поддерживается распределенный режим (distributed mode), который пре...

DDoS-атака через социальную инженерию TL;DR Атакующий подменяет source ip на адрес вашего сервера и триггерит автоматические абузы. В результате клиента на хостинге за вредоносную активность, которой не было. Комментарий от vdsina.ru: Эта статья написана нашим клиентом, который перешёл к нам от крупного хосте...

Небольшой вклад в борьбе Avalonia UI против зоопарка платформ Эта статья – результат проверки проекта Avalonia UI с помощью статического анализатора PVS-Studio. Avalonia UI – это кроссплатформенная платформа пользовательского интерфейса на основе XAML, с открытым исходным кодом. Это один из технологически значимых проектов в истории ....

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

Безопасность REST API от А до ПИ Введение Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответстви...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

Типовые ошибки в приложениях, которые ведут к bloat в postgresql. Андрей Сальников Предлагаю ознакомиться с расшифровкой доклада начала 2016 года Андрея Сальникова "Типовые ошибки в приложениях, которые ведут к bloat в postgresql" В данном докладе я разберу основные ошибки в приложениях, которые возникают на этапе проектирования и написания кода ...

Apple рассказала, как решить ошибку переустановки macOS на процессорах M1   Apple рассказала, что при переустановке macOS на Mac с чипом M1 может появиться ошибка персонализации. Проблема возникает, если пользователи отформатировали диск и пытаются установить macOS Big Sur 11.0.1 из macOS Recovery. В таком случае система может выдать сл...

[Перевод] Transformer в картинках В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (T...

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

8-битные сети на Эльбрусе, есть ли смысл? Привет, Хабр! Мы вдруг поняли, что наша последняя статья про Эльбрус вышла год назад. Поэтому мы решили исправить эту досадную оплошность, ведь мы не бросили эту тему! Сложно представить распознавание без нейронных сетей, поэтому мы расскажем о том, как мы запустили 8-битные...

[Перевод] Об изменчивых методах объекта Math в JavaScript Сегодня мы публикуем перевод статьи о математических вычислениях в JavaScript, которая представляет собой письменный вариант выступления её автора на WaffleJS. А само это выступление было чем-то вроде продолжения этой беседы в Twitter. Математическое образование Читать дал...

Opennebula. Короткие записки Всем привет. Данная статья написана для тех, кто до сих пор мечется между выбором платформ виртуализации и после прочтения статьи из серии «Поставили proxmox и вообще все отлично, 6 лет аптайм не единого разрыва». Но после установки того или иного коробочного решения, воз...

Как работают и где применяются бессерверные вычисления (Function-as-a-Service) Serverless-вычисления и работающие на их основе решения Function-as-a-Service помогают разработчикам развивать продукты, ориентируясь на бизнес-фичи. Мы поэкспериментировали с этими технологиями и пришли к выводу, что для боевого применения существующие решения сыроваты. Пой...

Thumbtack Tech Day Три города, три спикера, три темы Объединяем в один онлайн-митап экспертизу сразу трех направлений из городов присутствия компании «Тамтэк» в России. Специалисты из Омска, Саратова и Санкт-Петербурга расскажут о практиках и фишках разр...

[Перевод] Docker Compose: упрощение работы с использованием Makefile Каждые несколько лет в индустрии разработки ПО происходит смена парадигмы. Одним из таких явлений можно признать рост интереса к концепции микросервисов. Хотя микросервисы — это технология не самая новая, лишь в последнее время её популярность буквально взлетела до небес. Б...

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

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

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

1. Group-IB. Комплексная защита сети. Архитектура TDS Добрый день, коллеги! Сегодня начинаем новый цикл статей, посвященный решениям информационной безопасности от компании Group-IB. Компания работает на рынке информационной безопасности уже более 17 лет, и за это время обросла весьма существенными компетенциями, выполняя про...

Тестируем ruGPT-3 на новых задачах Рекомендательные системы с нуля, чат-боты и многое другое Погрузившись в пучину текстовых данных, в октябре этого года мы обучили модели ruGPT-3 — модели для русского языка на основе архитектуры от OpenAI. Но на что же способны эти модели? В этой статье мы соберем первые при...

JPMorgan: у Libra есть значительный потенциал роста Американский финансовый холдинг JPMorgan проанализировал темпы массового принятия блокчейна, жизнеспособность стейблкоинов и перспективы проекта Libra от крупнейшей соцсети Facebook. JPM_J_P__Morgan_Perspect_2020-02-21_3274027 by ForkLog on Scribd Эксперты JPMorgan отмечают,...

Изучаем VoIP-движок Mediastreamer2. Часть 7 Материал статьи взят с моего дзен-канала. Используем TShark для анализа RTP-пакетов В прошлой статье мы собрали схему дистанционного управления из генератора и детектора тональных сигналов, связь между которыми осуществлялась с помощью RTP-потока. В этой статье мы продолжа...

Не спать! Как мы научились тиражировать релизы на 12000 касс за ночь Бесперебойная работа тысяч магазинов «Пятёрочка» во многом зависит от надежного и кастомизированного программного обеспечения. Сейчас в сети используется продукт компании GK SOFTWARE, который совершенствовался от коробочной версии до разработки кода внутри X5. В нашей статье...

Как мы решали проблему трех монолитов В стратегиях большинства компаний все чаще упоминается цифровизация: одни компании пытаются внедрять современные технологии (например, Big Data, IoT, AI, blockchain), другие — повсеместно автоматизируют свои внутренние процессы. Несмотря на растущие усилия и инвестиции во вн...

Network automation. Случай из жизни Привет, Хабр! В данной статье мы бы хотели поговорить про автоматизацию сетевой инфраструктуры. Будет представлена рабочая схема сети, которая функционирует в одной маленькой, но очень гордой компании. Все совпадения с реальным сетевым оборудованием являются случайными. Мы ...

[Из песочницы] Как копирайтеру писать для IT без глупостей и стереотипов Привет. Я Дмитрий — автор и редактор, помогаю IT-компаниям рассказывать о себе с помощью PR-статей на различные ресурсы, начиная от развлекательных и заканчивая большими профильными площадками (Как раз про Хабр, да). Кто-то вроде литературного негра — грубо говоря, ко мне пр...

Как устроена контент-система Турбо-страниц: схемы, факты и немного истории По данным TelecomDaily, почти 30% пользователей мобильного интернета в России ежедневно сталкиваются с проблемами при загрузке сайтов. Однако причина может быть не только в неравномерном покрытии, но и в слишком большом «весе» страницы. Повлиять на качество соединения мы ...

Oracle: разница между deterministic и result_cache От переводчика: свой путь на habr я решил начать не с попытки написать какой-то уникальный текст с нуля, а с перевода относительно свежей (от 17.08.2020) статьи классика PL/SQL-разработки Стивена Фойерштайна, в которой он достаточно подробно рассматривает разницу между двумя...

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

[Перевод] Погружение в CQRS Эта статья является конспектом материала Clarified CQRS. Прежде чем начать разбираться с CQRS, нужно понять две основные движущие силы, стоящие за ним: сотрудничество и устаревание.Сотрудничество относится к ситуациям, когда несколько участников используют или изменяют один ...

Чиним сериализацию объектов в Kotlin раз и навсегда Недавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve к каждому объекту, который наследуется от java.io.Serializable. Этот способ выглядит абсолютно правильным, однако его поддержка может о...

Онлайн-митап «ИТ без остановки: как управлять процессами и работать с командой вне офиса» Контролировать производительность ИТ-систем, препятствовать атакам злоумышленников и всегда оставаться на связи — для этого не обязательно находиться на территории офиса. Современные digital-инструменты позволяют повысить управляемость процессов, защ...

«Открытые системы» проводят конференцию «Корпоративный DevOps 2019» Какое значение методология DevOps и связанные с ней практики имеют для бизнеса в условиях цифровой трансформации? Это только один из ключевых вопросов, обсуждающихся на конференции. В Москве проходит конференция &laquo;Корпоративный DevOps&raquo;, организованная и...

[Из песочницы] Оценка задач в Story Points Практически каждый человек, который сталкивался с разработкой ПО знает что такое оценка задач в Story Points (SP), тем не менее периодически мне доводится рассказывать коллегам из других отделов или новичкам в команде, которые ни разу не сталкивались с таким подходом, зачем ...

[Перевод] Как сократить время сборки образов Docker в GitLab CI Современный цикл разработки программного обеспечения зачастую подразумевает, что ваши приложения регулярно упаковываются в контейнеры. Эта задача может занимать много времени, чем может значительно замедлять ваше тестирование или развертывание. Проблема становится особенно о...

Как Google изменит подключение к Wi-Fi в Android 11 Наверное, каждый хотя бы раз пользовался публичной сетью Wi-Fi. Возможно, это не так безопасно, как приватное подключение, но в аэропортах, на вокзалах и в других общественных местах зачастую это бывает едва ли не единственным выходом, особенно для пользователей с фиксирова...

Jenkins Pipeline. Что это и как использовать в тестировании Меня зовут Александр Михайлов, я работаю в команде интеграционного тестирования компании ЮMoney.Наша команда занимается приемочным тестированием. Оно включает в себя прогон и разбор автотестов на критичные бизнес-процессы в тестовой среде, приближенной по конфигурации к прод...

Ошибка 0x80070002 в Windows: как исправить? (5 способов) С этой распространенной проблемой сталкиваются многие пользователи Windows 10, Windows 8 и Windows 7. Речь идет об ошибке с кодом 0x80070002, который указывает на отсутствие нужных файлов или их повреждении при загрузке обновления, успешно при этом установленного. Да, звучит...

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

[Перевод] 9 полезных трюков HTML Приветствую, Хабр! Представляю вашему вниманию перевод статьи «9 Extremely Useful HTML Tricks» автора Klaus. У HTML есть много практических секретов, которые могут вам пригодиться. Но я хочу убедиться, что сайт работает в Internet Explorer и других браузерах. Я использую ...

Языки и технологии принтеров Сегодня принтер несильно отличается от компьютера. У него есть процессор, память, операционная система и постоянная память-накопитель. Если принтер сетевой, то у него есть сетевая карта и веб-сервер, позволяющий его администрировать. Принтеры не только поддерживают разные ...

Microsoft признает, что у Windows 10 есть проблема с интернетом На днях появлялись сообщения о том, что недавнее накопительное обновление Windows 10 (KB4541335) вызывало проблемы при установке апдейта. Хотя Microsoft еще не признала проблемы с дополнительным накопительным обновлением Windows 10, недавно компания подтвердила новую ошибку ...

[Из песочницы] Flutter. Асинхронность и параллельность Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в Dart (и Flutter в частности). TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы ...

[Перевод] 3 бесплатных инструмента, которые сделают прототипирование игр еще проще Прототипирование — одна из увлекательнейших вещей в разработке игр. Стадия свободных экспериментов и проверки любых, даже самых смелых или странных идей. Но тратить ценное время на проверку каждой — дорого и долго. Можно ли как-то облегчить этот процесс? Ведущий геймдизай...

[Перевод] 6 рекомендаций по разработке безопасных Go-приложений В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопаснос...

[Перевод] Преобразование графов для процедурной генерации уровней Я много занимался деконструкцией инди-игры 2017 года Unexplored Джориса Дорманса. Она идеально воплощает идею процедурно генерируемых подземелий в стиле Zelda, и я обязан был выяснить, как происходит эта магия. К счастью, основная часть логики генерации написана на специали...

2.Elastic stack: анализ security логов. Logstash В прошлой статье мы познакомились со стеком ELK, из каких программных продуктов он состоит. И первая задача с которой сталкивается инженер при работе с ELK стеком это отправление логов для хранения в elasticsearch для последующего анализа. Однако, это просто лишь на словах...

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

[Перевод] Ошибки при работе с датой и временем в SQL Server Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик". Содержание Ошибка #1: Предполагать, что значения даты и времени хранятся в виде форматированных строк Ошибка #2: Забыть о людях, которые живут в других частях света Ошибка #3: ...

V&V не значит вендетта На протяжении последних шести лет я занимаюсь разработкой и приёмочным тестированием самых разных по сложности и размеру приложений для проведения и сопровождения клинических исследований. Big data, огромное количество визуализаций и представлений, хранилища данных, ETL и ...

Как получить OpenID/OAuth2 токен для тестирования front-end rest сервисов? Есть задача нагрузочно потестировать фронтальные веб рест апи. Ресты защищены OAuth с Authorization Code Grant. Значит появляется необходимость наличия валидного токена для Authorization: Bearer TOKEN. Вопрос — как его взять? И так это сделать красиво и правильно? Вот тут я...

Как добавить кодек в FFmpeg FFmpeg — это грандиозный Open Source проект, своего рода мультимедийная энциклопедия. С помощью FFmpeg можно решить огромное число задач компьютерного мультимедиа. Но все-таки иногда возникает необходимость в расширении FFmpeg. Стандартный способ — это внесение изменений в к...

Марафон удалёнки, неделя 2: рабочие процессы Неизвестно, как нам предложат провести майские праздники в этой удивительной ситуации с коронавирусом, но мы совершенно точно продолжим Марафон удалёнки на Хабр Карьере. Будем прокачивать навыки дистанционной работы, читать умные книжки и статьи, чего и вам желаем. Эту нед...

Услуги или проекты? Голландский ITSM-эксперт Ян ван Бон (Jan van Bon) в своей заметке «The CIO Office and the PMO [Project Management Office] are dead... long live the SMO [Service Management Office]!» («CIO-офис и PMO мертвы… Долгую жизнь SMO!») недавно опубликованной на английском языке, рас...

Flutter + чистая архитектура: разбираем на примере На определенном этапе изучения новой технологии начинаешь задаваться вопросом, как правильно организовать архитектуру проекта. Мне в свое время повезло - попались опытные наставники, которые дали мудрые советы. Однако я считаю, что знания не должны лежать мертвым грузом, ...

Поддержка Touch в JavaScript Какие проблемы могут быть у frontend-программиста, если тестировщик запустит его приложение на iPad с новой трекпад-клавиатурой, Windows-планшете, с неопределенным состоянием “режима планшета” или ноутбуке с подключенным к нему телевизором c поддержкой Multi-touch? Это дале...

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

Как мы используем item2vec для рекомендаций похожих товаров Привет, меня зовут Вася Рубцов, я занимаюсь разработкой рекомендательных систем в Авито. Основная цель площадки для размещения объявлений — помочь продавцам найти покупателей, а покупателям — товары, которые они ищут. В отличие от интернет-магазинов факт ...

Фронтенд митап Facebook и AvitoTech Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow. Митап пройдёт 5 марта. Будем говори...

NoVerify: PHP-линтер, который работает быстро Для PHP есть хорошие утилиты статического анализа: PHPStan, Psalm, Phan, Exakat. Линтеры хорошо выполняют свою работу, но очень медленно, потому что почти все написаны на PHP (или Java). Для личного использования или небольшого проекта это нормально, но для сайта с миллионам...

Численный FORTH Форт и сейчас известен, главным образом, среди разработки встроенных систем, как что-то вроде необычайного высокоуровневого ассемблера, например, для микроконтроллеров - AmForth и Mecrisp. Однако, когда-то давным давно был известен в другой ипостаси - как язык программирован...

Отслеживание грантов и продаж возобновляемой электроэнергии, экономия $3 млрд для ОАЭ и другие блокчейн-инициативы Технология распределенного реестра остается одним из наиболее горячих трендов среди финансовых, государственных и коммерческих организаций во всем мире. Журнал ForkLog предлагает обзор наиболее интересных инициатив последней недели. Минфин США завершит тестирование блокчейн-...

Игра Elden Ring получит PvP-режим, онлайн-мультиплеер и систему классов, как у Dark Souls Игра Elden Ring, разработкой которой занимается студия From Software, получит несколько возможностей, полюбившихся фанатам серии Dark Souls. Пользователь форумов ResetERA с ником Omnipotent, который в прошлом зарекомендовал себя как надёжный инсайдер, подтвердил, что в Elden...

PostgreSQL 13: happy pagination WITH TIES На прошедшей неделе вышло сразу две статьи (от Hubert 'depesz' Lubaczewski и автора самого патча Alvaro Herrera), посвященные реализованной в грядущей версии PostgreSQL 13 поддержке опции WITH TIES из стандарта SQL:2008: OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ c...

Как мы предсказываем будущее в поиске Яндекса: от исправления ошибок до discovery-запросов Люди не всегда точно формулируют свои запросы, поэтому поисковые системы должны помогать им в этом. За два десятка лет в Яндексе разработали множество технологий, облегчающих задачи поиска: от опечаточника до подсказок в саджесте. Недавно мы сделали следующий шаг и научили п...

Управление трафиком в Kubernetes-кластере с Calico Практически каждый инженер, практикующий DevOps, в какой-то момент сталкивается с задачей настройки правил доступа для своих проектов. В данной статье мы рассмотрим примеры настройки сетевых политик Kubernetes-кластера, в котором используется плагин Calico и осветим некотор...

[Из песочницы] 6 GitHub проектов для веб-разработчиков, на которые стоит взглянуть Привет, Хабр! Представляю вам перевод статьи 6 Github Repos for web developers you should have a look at автора lampewebdev. Однажды я пролистывал ленту dev.to и наткнулся на пост 6 GitHub проектов для быстрой прокачки знаний. Я согласен с автором, что список действительно...

[Перевод] Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 42 и 43 предыдущие главы 42. Еще про несоответствие данных Предположим, вы разработали систему распознавания речи, которая очень хорошо работает на обучающей выборке и на «выборке для валидации обучающей». Однако у нее низкое качество на валидационной выборке: очевидно, вы имеете де...

Поиск багов как образ жизни Разработка статических анализаторов кода и борьба за качество open-source проектов на протяжении более шести лет не могли не сказаться на моём взаимодействии с программами в нерабочее время. К сожалению, мне постоянно встречаются разные баги и, к ещё большему сожалению, пов...

Windows 10 KB4579311 не устанавливается и вызывает другие проблемы После загрузки накопительных обновлений KB4579311 и KB4577671 для Windows 10 пользователи обнаружили, что они вызывает широкий спектр проблем, включая сбои системы и бесконечный цикл установки. 13 октября Microsoft выпустила накопительные обновления для Windows 10 версии 200...

Sber.DS — платформа, которая позволяет создавать и внедрять модели даже без кода Идеи и встречи о том, какие ещё процессы можно автоматизировать, возникают в бизнесе разного масштаба ежедневно. Но помимо того, что много времени может уходить на создание модели, нужно потратить его на её оценку и проверку того, что получаемый результат не является случайн...

[Перевод] Использование asyncio для создания асинхронных драйверов устройств на MicroPython v.1.12 Изученая возможности MicroPython для своих целей натолкнулся на одну из реализаций библиотеки asyncio и, после недолгой переписки с Piter Hinch — автором библиотеки, понял, что мне необходимо глубже разобраться с принципами, базовыми понятиями и типичными ошибками использова...

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

[Перевод] Структуры данных и алгоритмы, которыми я пользовался, работая в технологических компаниях Пользуетесь ли вы структурами данных и алгоритмами в повседневной работе? Я обратил внимание на то, что всё больше и больше людей считает алгоритмы чем-то таким, чем, без особой связи с реальностью, технические компании, лишь по собственной прихоти, интересуются на собеседов...

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

[Перевод] Проектируем bounded context с помощью Bounded Context Canvas: рецепт воркшопа Среди тем предстоящей конференции TechLead Conf 2020 будет детальное обсуждение Domain-Driven Design и EventStorming. Помимо подготовки 2-слотового доклада Константина Густова о DDD, доклада Сергея Баранова об EventStorming и митапа, во время которого мы будем создавать DDD-...

Создание SDK под Android в стиле Single-Activity Single activity подходом при создании конечного приложения под Android никого не удивишь. Но мы пошли дальше и использовали No-Activity при разработке SDK. Сейчас разберемся для чего это понадобилось, возникшие сложности и как их решали. Читать далее

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

[Из песочницы] Как использовать консоль JavaScript: выход за пределы console.log () Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal. Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов,...

[Из песочницы] Все, что вы должны знать о std::any Привет, Хабр! Представляем вашему вниманию перевод статьи «Everything You Need to Know About std::any from C++17» автора Bartlomiej Filipek. С помощью std::optional вы можете хранить один какой-то тип. С помощью std::variant вы можете хранить несколько типов в одном объек...

Визуализация промисов и Async/Await Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie. Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в про...

[Перевод] Реализация epoll, часть 1 Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux...

Оценка качества кластеризации: свойства, метрики, код на GitHub Кластеризация — это такая магическая штука: она превращает большой объём неструктурированных данных в потенциально обозримый набор кластеров, анализ которых позволяет делать выводы о содержании этих данных. Приложений у методов кластеризации огромное количество. Например, мы...

LG начала разработку технологий для сетей 6G Для разработки технологий для беспроводной системы связи следующего поколения LG Electronics наладила партнерские отношения с Корейским научно-исследовательским институтом стандартов (KRISS) и с Корейским институтом передовых технологий (KAIST). Участники проекта будут иссле...

[Перевод] Три редко используемых возможности Python 3, о которых каждый должен знать Python 3 существует уже какое-то время и довольно много разработчиков, особенно те, кто только начинает свой путь в Python, уже используют эту версию языка. Несмотря на то, что множество новых возможностей широко используются, похоже, что некоторые остались за кадром. В это...

Миграция IBM Lotus Notes/Domino в Microsoft Exchange без шума и пыли Может быть пора? Такой вопрос рано или поздно появляются у коллег, которые используют Lotus в качестве почтового клиента или системы документооборота. Запрос на миграцию (по нашему опыту) может возникнуть на совсем разных уровнях организации: от топ-менеджмента до пользоват...

[Перевод] Создание микросервиса на Quarkus, Kotlin и Gradle Введение В предыдущей статье было приведено краткое описание процесса создания микросервиса на современных JVM фреймворках, а также их сравнение. В этой статье будет более детально рассмотрен недавно вышедший Quarkus на примере создания микросервиса с использованием упомяну...

[Перевод] Изучаем Metaflow за 10 минут Metaflow — это Python-фреймворк, созданный в Netflix и ориентированный на сферу Data Science. А именно, он предназначен для создания проектов, направленных на работу с данными, и для управления такими проектами. Недавно компания перевела его в разряд опенсорсных. Фреймворк M...

[recovery mode] Proxmox VE обновился до 6.4: теперь с Single File Restore и Live Restore Proxmox Virtual Environment (в просторечии - Promxox VE, PVE, или даже "прокс") обновился до версии 6.4, и список изменений в очередной раз радует. Эта версия включает весьма интересные новые функции, такие, как восстановление в реальном времени (Live Restore) и восстановлен...

Германия заплатит 800 тыс. евро за платную поддержку Windows 7 По данным газеты Handelsblatt, к 22 января 2020 года в немецком парламенте и других правительственных органах находится не менее 33 тыс. компьютеров под управлением Windows 7. За поддержку каждой системы нужно платить отдельно, а расходы будут зависеть от версии ПО.За первый...

Microsoft пока не согласилась адаптировать Windows для Mac с ARM Думаю, все уже слышали про Apple Silicon. Это новая инициатива Apple по переводу всей линейки Mac на мобильные процессоры собственного производства. В Купертино решили, что их фирменные чипы уже достаточно производительны, чтобы ими можно было снабдить даже самые мощные маш...

Azure SDK for .NET: история о непростом поиске ошибок Когда мы решили поискать ошибки в проекте Azure SDK for .NET, то были приятно удивлены его размером. «Три с половиной миллиона строк кода», — приговаривали мы, изучая статистику проекта. Это сколько же там всего можно найти. Но, увы и ах. Проект оказался с секретом. Какова ...

Исследуем качество кода операционной системы Zephyr Недавно мы рассказывали, что анализатор кода PVS-Studio начал интегрироваться с PlatformIO. Естественно, при этом команда разработчиков PVS-Studio общалась с командой PlatformIO и те предложили ради интереса проверить код операционной системы реального времени Zephyr. Почем...

Ростех интегрирует «Электронную школу» с функционалом образовательных онлайн-платформ Интеграция систем "БАРС.Образование - Электронная школа" с ЦОР "ЯКласс" − резидентом Кластера информационных технологий Фонда "Сколково" − позволит планировать уроки при помощи цифровых ресурсов, автоматизировать проверку школьных ра...

Ошибка синего экрана (BSOD) Video Scheduler Internal Error в Windows: как исправить? Ошибки встречаются на всех компьютерах, ваш ничем не отличается от прочих. Надо понимать, что это всего лишь машина, которая сталкивается с самыми разнообразными проблемами аппаратного или программного обеспечения.  ♥ ПО ТЕМЕ: Как вывести экран iPhone или Android на компьюте...

Взлом с помощью Юникода (на примере GitHub) Юникод исключительно сложен. Мало кто знает все хитрости: от невидимых символов и контрольных знаков до суррогатных пар и комбинированных эмодзи (когда при сложении двух знаков получается третий). Стандарт включает 216 кодовых позиций в 17-ти плоскостях. По сути, изучение Юн...

[Перевод] Ультраконденсатор NASA стал… измерителем влажности C технологиями многое может пойти (и идет) не так, как хотелось бы. Доктор Терри Ролин, аналитик сбоев электронных систем в Центре космических полетов Маршалла, знает об этом не понаслышке. Его работа заключается в том, чтобы находить решения проблем, а если он не может ...

Сверхдлинное преобразование Фурье на FPGA Всем привет! В этой статье я хочу рассказать про реализацию алгоритма сверхдлинного быстрого преобразования Фурье на ПЛИС. Написать эту статью меня побудило желание поделиться личным практическим опытом, который не хотелось бы потерять, оставив информацию только у себя в го...

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

Массивно-параллельная база данных Greenplum — короткий ликбез Для Hadoop и Greenplum есть возможность получить готовый SaaS. И если Хадуп — известная штука, то Greenplum (он лежит в основе продукта АrenadataDB, про который далее пойдёт речь) — интересная, но уже менее «на слуху». Arenadata DB — это распределённая СУБД на базе опенс...

Бессерверные вычисления на основе OpenWhisk, часть 4 Эта статья заканчивает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим процесс развертывания OpenWhisk поверх Kubernetes с исправленными командами для работоспособности с актуальными версиями приложений. Также будет описан процесс запуска функ...

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

Самоучитель по WinCC OA. Часть 1. Создание проекта и модуль para Решил немного рассказать про систему визуализации от Siemens под названием WinCC OA. Эта SCADA на рынке России распространена гораздо меньше классических версий WinCC (и tia-портальных тоже), знаний по ней в открытом доступе достаточно мало, знаниями делятся неохотно. В ряде...

Гособлако в процессе 30 августа 2019 г. стартовал запуск эксперимента по переводу органов госвласти в государственную единую облачную платформу (ГЕОП, или Гособлако). Ее концепцию утвердило правительство РФ. Документ разработан в целях проведения эксперимента по переводу информационных систем и ...

AMD представила самый мощный в мире суперкомпьютер El Capitan на основе CPU и GPU, которые выйдут не ранее следующего года Компания AMD сегодня опубликовала пресс-релиз, в котором рассказала о суперкомпьютере El Capitan и его особенностях. Напомним, это система уровня exascale (1018 операций с плавающей запятой в секунду), которая создаётся по заказу Министерства энергетики США компанией Cr...

Типовые роли в поддержке и в управлении услугами Известный эксперт в области ITSM Рой Аткинсон (Roy Atkinson) в своей статье делится перечнем и описанием типовых ролей в ИТ-поддержке и в управлении услугами, которые использует в своих отчётах Ассоциация профессионалов в области технической поддержки HDI. Первая линия подд...

Новая кампания AMD делает упор на многозадачность ноутбуков, использующих APU Renoir На CES 2020 компания AMD представила 7-нм гибридные процессоры семейства Renoir. Они получили усовершенствованную графику поколения Vega (GCN) и восемь вычислительных ядер с архитектурой Zen 2. Теперь стали ясны приоритеты в рекламном продвижении — AMD будет делать упор на м...

В промышленную эксплуатацию запущена ФГИС «Единый реестр контрольных (надзорных) мероприятий» Единый реестр, призванный повысить прозрачность сферы контроля, начнет работать с 1 июля 2021 года.ФГИС ЕРКНМ поддерживает совместную работу контролеров и прокуроров в ходе планирования и согласования контрольно-надзорных мер. Для инициирования проверок контролерам потребует...

Инкапсулятор Etherblade.net и импортозамещение сетевых компонентов (часть вторая) В первой статье я хотел показать, что FPGA девелопмент — интереснейшее занятие, а реализация потокового инкапсулятора является достаточно несложным проектом, который вполне мог бы выступить в качестве академического проекта для студентов старших курсов или аспирантуры. Да...

Новая архитектура AMD RNDA 2: преимущества видеокарт Radeon RX 6800 по сравнению с конкурентами и предшественницами На осенней презентации AMD представила новое поколение видеокарт семейства Radeon RX 6000 серии, построенных на архитектуре RDNA 2. Та же архитектура используется и в консолях следующего поколения Xbox Series X и S и PlayStation 5. На презентации сотрудники компании сравн...

Intel Xeon в несколько раз превзошёл восемь Tesla V100 при обучении нейросети Центральный процессор в несколько раз обошёл по производительности связку сразу из восьми графических процессоров при глубоком обучении нейросетей. Звучит как что-то из научной фантастики, не так ли? Но исследователи из Университета Райса (Rice University) с помощью Intel Xe...

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

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

Ambarella показала на CES 2020 новую робототехническую платформу Компания Ambarell, специализирующаяся на разработке процессоров для машинного зрения, продемонстрировала на выставке CES 2020 свою новую робототехническую платформу. Основанная на архитектуре Ambarella CVflow, она нацелена на использование в автоматически управляемых тр...

Обнаружен способ взлома WhatsApp с помощью GIF-файла Команда Check Point Research сообщила об обнаружении серьезной уязвимости в мессенджере WhatsApp.Известно, что новая дыра безопасности требовала «сложных шагов и обширного взаимодействия с пользователем», а ее создатели получили максимальный доступ к пользователь...

[Перевод] Процессор NXP S32G для современной архитектуры автомобильной электроники В ближайшее десятилетие, когда все больше автомобилей перейдут на электричество, будут иметь больше подключений и станут автоматизированными как никогда раньше, мы также увидим серьезные изменения в архитектуре автомобильной электроники. Поскольку все больше данных генериру...

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

[Из песочницы] Как GitLab помогает делать бэкапы больших хранилищ NextCloud Привет, Хабр! Сегодня я хочу рассказать о нашем опыте автоматизации резервного копирования больших данных хранилищ Nextcloud в разных конфигурациях. Я работаю СТО в «Молния АК», где мы занимаемся конфигурационным управлением IT систем, для хранения данных используется Nextcl...

Обучение модели естественного языка с BERT и Tensorflow Рис. 1. Фразы и предложения в векторном представлении модели естественного языка Обработка естественного языка (Natural Language Processing, NLP) – это область вычислительной лингвистики, ориентированная на разработку машин, способных понимать человеческие языки. Разработк...

Побеждая C двадцатью строками Haskell: пишем свой wc Привет, Хабр. На днях Siemargl предложил мне перевести любопытную статью о победе над юниксовым wc при помощи хаскеля. Переводить её я, конечно же, не буду, и по нескольким причинам: автор выжал из однопоточной версии далеко не всё, и однопоточная версия была существенно ме...

Подтвердилась информация о разработке архитектуры Nvidia Hooper В прошлом месяце в сети появилась информация, что следующее поколение видеокарт, которое появится после выхода видеокарт Ampere, получит название Hooper. Новый архитектура названа в честь одного из пионеров информатики - американского ученого Грейс Хоппер. Подробнее об этом ...

Как с помощью Android решать задачи по математике и не только Думаю, всем доводилось слышать, что компьютеры – это машины, которые способны решать самые сложные задачи. Но это теперь я знаю, о каких задачах шла речь, а в детстве мне казалось, что можно подсунуть компьютеру задачку по математике и заставить его решать именно её. Правда...

Каков вопрос – таков и ответ, или Как правильно составлять педагогические тесты Наверняка вы сами хоть раз в жизни составляли тесты и уж точно неоднократно проходили разнообразное тестирование – от серьезного до совсем шуточного из серии «Какой ты овощ во время карантина?». Очень часто, за неимением нужных знаний и подготовки, разработчики придумывают ...

Сгореть и вернуться из пепла или люди-фениксы История о том как “сгорают” в распределенных командах. Мы, в ProtocoleOne, пишем разные проекты и почти все они Open Source. И так уж сложилось, что крутые специалисты живут в разных городах и даже странах и не только в столицах. Один из таких проектов — PaySuper. Проект дл...

Java-дайджест за 13 мая Иллюстрация получена вот из этого видео. Джеймс Гослинг, создатель языка Java, заявил об участии в летней конференции JPoint и уже появился в списке спикеров на сайте. Говорят, кризис — время возможностей. Иногда это действительно так! Пару лет назад трудно было представит...

Как работают рекомендации YouTube? Рекомендации YouTube умнее, чем вам кажется Есть ли среди читателей те, кто не посещает YouTube хотя бы один раз в день? Сервис уже стал неотъемлемой частью нашей с вами жизни. Сложно представить, что для просмотра видеороликов мы будем использовать что-то другое. YouTube пр...

Опыт работы с Plesk Хочу поделиться некоторыми впечатлениями о нужности или ненужности такой вещи, как контрольная панель для коммерческого односерверного веб-проекта при наличии очень part time админа. История началась пару лет назад, когда знакомые знакомых попросили меня сопроводить покупку ...

[Из песочницы] 6 самых распространённых ошибок разработчиков при написании HTML и CSS Привет, Хабр! Представляю вашему вниманию перевод статьи «The 6 most common mistakes developers when writing HTML and CSS» автора Stas Melnikov. Использование атрибута placeholder вместо элемента label Часто разработчики используют атрибут placeholder вместо элемента label....

[Перевод] Создание шейдерной анимации в Unity Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс. Создание двухсот мешей со скиннингом с анимацией ключевыми кадрами всего для одного спецэффекта — ...

Все, что вам нужно знать о SaaS Поместите свое программное обеспечение в облако. Программное обеспечение как услуга (Software as a Service), обычно сокращенно SaaS, представляет собой модель распространения программного обеспечения, согласно которой, вместо загрузки программного обеспечения для локального ...

Finteza упрощает работу с воронками конверсий В системе веб-аналитики Finteza появилась система каталогов для воронок. Теперь найти нужную воронку стало гораздо проще. Любой, кто постоянно отслеживает конверсии, рано или поздно сталкивается с тем, что список воронок становится длинным и неудобным. Чтобы сохранить п...

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

IBS раскололась Основатели компании IBS Анатолий Карачинский и Сергей Мацоцкий приняли решение в дальнейшем развивать свои бизнесы самостоятельно. Об этом компания сообщила вчера в официальном сообщении. План реорганизации предусматривает, что в апреле 2020 г., с началом нового финансового...

Использование RabbitMQ вместе с MonsterMQ часть 5 В предыдущей части мы улучшили нашу систему логгирования. Вместо использования обменника типа fanout мы использовали обменник типа direct, позволившему нам выборочно принимать сообщения. Не смотря на улучшения, наша система до сих пор имеет ограничения, например мы не можем...

[Перевод] Трансформеры как графовые нейронные сети TL;DR: перевод поста Chaitanya Joshi "Transformers are Graph Neural Networks": схемы, формулы, идеи, важные ссылки. Публикуется с любезного разрешения автора.Друзья-датасаентисты часто задают один и тот же вопрос: графовые нейронные сети (Graph Neural Networks) — п...

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

[Перевод] Как выучиться на Data Scientist: наиболее востребованные технические навыки Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность. В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программиро...

[Из песочницы] Как я чинил поломанную базу и что из этого вышло Однажды ко мне обратились с просьбой помочь «исправить» одну базу данных. CHECKDB при проверке выдавал список ошибок, некоторые из которых отмечались как «неисправимые». Приложение при этом работало, но все равно было как-то неспокойно. Да, правильным решением в такой ситуа...

Интеграция в стиле BPM Привет, Хабр! Наша компания специализируется на разработке программных решений класса ERP, в составе которых львиную долю занимают транзакционные системы с огромным объемом бизнес-логики и документооборотом а-ля СЭД. Современные версии наших продуктов базируются на техноло...

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

Некоторые пользователи Windows 10 сообщают о загадочных ошибках BSOD Новое обновление, как сообщается, вызывает серьезные проблемы для некоторых компьютеров под управлением Windows 10. После недавних обновлений загадочная ошибка «Синего экрана смерти» (BSOD) не позволила устройствам с Windows 10 правильно загрузиться. Согласно отчетам, ошибка...

Ошибки обновления Windows 10: BSOD, звук, медленная загрузка и Wi-Fi Обновление ваших устройств до последней версии Windows 10 вызывает все больше проблем. К сожалению, ежемесячные обновления Windows 10 постоянно сталкивались с проблемами, и операционная система Microsoft в последнее время не была в хорошем свете. Windows 10 KB4532695 – это п...

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

[Из песочницы] Не монолитом единым. Модульный подход в Unity В данной статье будет рассмотрен модульный подход при проектировании и дальнейшей реализации игры на движке Unity. Описаны основные плюсы, минусы и проблемы с которыми приходилось сталкиваться. Под термином «Модульный подход» имеется ввиду организация ПО, которая используе...

[Перевод] DevOps vs Agile: В чем разница Разница в том, что происходит после разработки Когда ПО только начали разрабатывать, процесс разработки не подходил ни под один вид управления. Затем появился водопад, который ввел идею о том, что разработка ПО может быть определена временем создания или сборки приложения....

Чего боятся тимлиды и почему им пора перестать это делать Я уверен, где-то существует книга «Как подсидеть тимлида». Она передается из рук в руки, из команды в команду и содержит советы типа: «Тимлид никогда не уволится по своей воле, потому что это не работа, а сказка! Его нужно сломать», или «Если ваш тимлид уехал в отпуск, напиш...

[Перевод] Рекомендации по REST API — примеры проектирования веб-сервисов на Java и Spring В последней статье этой серии вы познакомитесь с рекомендациями по REST API и с примерами разработки из Java и Spring Web Services. При разработке хорошего REST API важно иметь хорошие микросервисы. Как вы разрабатываете свой REST API? Каковы лучшие практики? Читать дальше...

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

Собеседование в Додо Пиццу Прочитав название статьи, вы можете задаться вопросом: «На черта мне нужно знать о собеседовании в Додо Пиццу?». И будете правы. Она не для всех. У нас действительно не IT-корпорация вроде Гугла, Амазона или Майкрософта, но сложный и интересный бизнес, зародившийся на стыке ...

Книга «Head First. Изучаем Go» Привет. Хаброжители! Go упрощает построение простых, надежных и эффективных программ. А эта книга сделает его доступным для обычных программистов. Основная задача Go — эффективная работа с сетевыми коммуникациями и многопроцессорной обработкой, но код на этом языке пишется ...

Искусственный интеллект Google выявляет рак груди точнее опытного врача Исследование, опубликованное в журнале Nature, показало, что искусственный интеллект (ИИ) может повысить точность скрининга на рак молочной железы, которым, как утверждается, страдает каждая восьмая женщина в мире. Изучая маммограммы, система искусственного интеллекта ...

Бесплатный бизнес-завтрак «Как мотивировать продавцов: инструменты, ошибки, решения» Участвовать бесплатно! ✔ Полезные знакомства. 25 участников: только собственники и топ-менеджеры компаний с оборотом от 500 млн рублей ✔ Прикладной контент. Вы получите практические рекомендации и сможете лично задать вопросы спи...

[Перевод] «Ваша устаревшая база данных перерастает сама себя». Опыт chess.com Прим. перев.: в этой статье сербский «инженер по масштабируемости» нагруженного онлайн-проекта в подробностях рассказывает о своем опыте оптимизации большой БД на базе MySQL. Проведена она была для того, чтобы выдержать резкий рост трафика на сайт, случившийся из-за пандемии...

[Перевод] История микропроцессора и персонального компьютера: 1947-1974 годы Индустрия персональных компьютеров, какой мы её знаем, обязана своим появлением и развитием среде энтузиастов и предпринимателей, а также счастливому стечению обстоятельств. До возникновения PC бизнес-модель мейнфреймов и миникомпьютеров формировалась вокруг одной компании,...

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

RE: Страх и ненависть в IT Писать ответы на статьи легко и приятно. Не надо часами корпеть над структурой статьи, достаточно следовать чужому плану и лишь внятно изложить мысли на бумаге. Тем не менее, рискну предположить, что критический взгляд «с другой стороны» на проблемы, поднятые в статье "Страх...

[Перевод] Алгоритм AdaBoost Перевод статьи подготовлен в преддверии старта продвинутого курса «Математика для Data Scienсe». Введение Алгоритм AdaBoost можно использовать для повышения производительности любого алгоритма машинного обучения. Машинное обучение стало мощным инструментом, позволяющим д...

Проверка компилятора GCC 10 с помощью PVS-Studio Компилятор GCC написан с обильным использованием макросов. Очередная проверка кода GCC с помощью PVS-Studio вновь подтверждает мнение нашей команды, что макросы – это плохо. В таком коде тяжело разбираться не только статическому анализатору, но и программисту. Конечно, разр...

[Из песочницы] Организация удаленной работы SMB организации на OpenVPN Постановка задачи Статья описывает организацию удаленного доступа сотрудников на продуктах с открытым исходным кодом и может быть использована как для построения полностью автономной системы, так и окажется полезной для расширения, когда в имеющейся коммерческой системе возн...

[Из песочницы] Android Remote Debugger — удаленная отладка Android приложений Отладка является важным этапом разработки программного обеспечения. Поиск и исправление ошибок позволяет разрабатывать качественные продукты. В данной статье я хочу поговорить об отладке только Android приложений. Android Studio предоставляет нам различные инструменты профил...

SteelSeries приобрела разработчика ПО в области звука SteelSeries объявила о приобретении компании A-Volute, занимающаяся разработкой программного обеспечения для 3D-звука. SteelSeries стремится улучшить свое программное и аппаратное обеспечение с помощью команды A-Volute. A-Volute разработала программное обеспечение Nahim...

[Из песочницы] Разбор настройки ELK 7.5 для анализа логов Mikrotik Давно была мысль посмотреть, что можно делать с ELK и подручными источниками логов и статистики. На страницах хабра планирую показать практический пример, как с помощью домашнего мини-сервера можно сделать, например, honeypot с системой анализа логов на основе ELK стека. В э...

[Перевод] Как левел-дизайнеры используют приёмы теории архитектуры для создания игровых уровней Теория архитектуры включает в себя множество аспектов и по своей сути является сплавом многочисленных художественных, социальных и психологических техник. Однако, вне зависимости от архитектурного движения или эпохи, одна идея всегда остаётся неизменной: архитектура — разу...

Вжух, и прогоны автотестов оптимизированы. Intellij IDEA плагины на службе QA Automation Привет, Хабр. Я работаю QA Automation инженером в компании Wrike и хотел бы поговорить о том, как нам удалось оптимизировать процесс код-ревью для репозитория с 30 000+ автотестов при помощи IntelliJ IDEA плагина. Я расскажу о внутреннем устройстве плагина и о том, какие п...

[Перевод] Webpack: руководство для начинающих Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Webpack: A gentle introduction» автора Tyler McGinnis. Перед изучением новой технологии задайте себе два вопроса: Зачем нужен этот инструмент? Какие задачи он выполняет? Если вы не можете отв...

Тысяча и один UI-баг, или Как помочь разработчику избегать типовых ошибок в UI Тестирование новых фич, казалось бы, очень творческий и интересный процесс. Но что делать, если ошибки в интерфейсах повторяются из фичи в фичу, а большая часть времени тратится на отлавливание мелких интерфейсных проблем?  За четыре года работы в Badoo из более чем тысяч...

[Перевод] Сжатие ответов в GRPC для ASP.NET CORE 3.0 Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». В этом эпизоде моей серии статей о gRPC и ASP.NET Core мы рассмотрим подключение функции сжатия ответов (response compression) служб gRPC. ПРИМЕЧАНИЕ: В этой статье я рассказываю о некото...

Бесшовные A/B-обновления в Android: как они устроены Всем привет. В SberDevices наша команда занимается разработкой различных железок прошивок и для них на базе AOSP. Начиная с Android 8 (у некоторых вендоров с 7.1) в системе появился новый механизм накатки OTA-обновлений, т. н. Seamless A/B OTA Updates — бесшовные обновле...

Погружение в Charles Proxy Привет, Хабр! Меня зовут Настя, я работаю в команде тестирования мобильных приложений компании FunСorp. При приёмке задач мы уделяем большое внимание проверке клиент-серверного взаимодействия. Опыт проведения собеседований показывает, что новички в тестировании мобильных п...

В 2022 году NVIDIA может выпустить видеокарты на архитектуре Hopper – огромный GPU и 5-нм техпроцесс NVIDIA готовит ещё одну графическую архитектуру

MitM-like поддержка RTOS в GDB Долго думал, можно ли переопубликовывать статью на Хабре, проштудировал правила, вроде как сейчас это не возбраняется. Если ошибся — исправлюсь :) Итак... Какое-то время назад я писал код прошивки для грабберов Epiphan линейки AV.io: AV.io HD — наш пилот, на котором многое ...

39% российских СМБ-компаний столкнулись с целенаправленными кибератаками Совместное исследование аналитического центра TAdviser и Microsoft "Кибербезопасность в российских компаниях", посвященное информационной безопасности в российском сегменте среднего и малого бизнеса, показало, что 76% компаний за последний год сталкивались с инциде...

[Из песочницы] Что такое Flutter и почему вы должны изучать его в 2020 году Привет, Хабр! Представляю вашему вниманию перевод статьи: "What is Flutter and Why You Should Learn It in 2020" автора Gaël Thomas. Что такое Flutter? Flutter — бесплатный и открытый набор средств разработки мобильного пользовательского интерфейса, созданный компанией Google...

[Перевод] Уязвимости real-time операционок В июле 2019 года в операционной системе реального времени VxWorks, на которой работают более 2 миллиардов устройств, найдены критические уязвимости. На Хабре про это не написали ни слова, хотя это важная новость в области промышленного программирования, RTOS и automotive. ...

Обзор и тестирование Huawei Dorado 5000V6 Полгода назад я уже начинал рассказывать об обновлении линейки СХД компании Huawei – Dorado V6. На самом деле, мне удалось познакомиться с ними еще до официального анонса, и логично, что тогда у меня не было возможности потрогать их в работе собственными руками. В своей ста...

РИТ++ 2020: консультации с инженерами Авито в Зуме Привет, Хабр! 25 и 26 мая будет РИТ++. Это большая онлайн-конференция для всех, кто делает интернет. В обычных условиях мы бы встретились на стенде Авито в зале мероприятия, но 2020 перевернул всё с ног на голову. Так что общение переноситс...

Топ 10 ошибок в проектах Java за 2019 год 2019 год подходит к концу, и команда PVS-Studio подводит итоги уходящего года. В начале 2019 года мы расширили возможности анализатора, поддержав язык Java. Поэтому список наших публикаций про проверку открытых проектов пополнился обзорами Java проектов. За год было найдено...

Визы в Таиланд, бриллианты для пользователей WeChat и другие блокчейн-инициативы Технология распределенного реестра остается одним из наиболее горячих трендов среди финансовых, государственных и коммерческих организаций во всем мире. Журнал ForkLog предлагает обзор наиболее интересных инициатив последней недели. Индийский технологический гигант представи...

[Из песочницы] Запускаем браузерные тесты с Cucumber и Selenoid в Gitlab CI c Allure отчетом Cucumber – это инфраструктура тестирования, позволяющая преодолеть разрыв между разработчиками ПО и бизнес-менеджерами. Тесты пишутся на простом языке управляемой поведением разработки (BDD) в стиле Given, When, Then (условия, операция, результат), которой понятен любому пол...

Mail.ru Cloud Solutions запустила в облаке Arenadata DB на основе Greenplum Mail.ru Cloud Solutions (MCS) запустила в облаке Arenadata DB как сервис — аналитическую базу данных на основе распределенной СУБД с открытым исходным кодом Greenplum, предназначенную для хранения и обработки больших объемов данных и легко масштабируемую ...

Владелец продукта превращается... Мы живём в эпоху DevOps. Предприятия организуют непрерывную интеграцию / непрерывную поставку (CI / CD). Традиционные команды превращаются в междисциплинарные и саморганизующиеся. Они намного быстрее разрабатывают и выпускают новые функции. С их помощью функциональные колодц...

Студенты СПбГУ разрабатывают сайт-агрегатор для услуг 3D-печати В рамках конкурса «Start-up СПбГУ — 2020» команда Cloudprints разработала веб-платформу, которая сделает 3D-печать в России более популярной. Благодаря проекту обычные пользователи, не имеющие технического образования и собственного устройства для 3D-печати,...

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

Уязвимости IoT-девайсов открывают доступ к домашней сети Найденные уязвимости могут быть использованы для осуществления атак методом Man-in-the-Middle (MitM, пер. с англ. "атака посредника" или "человек посередине"), когда злоумышленник перехватывает данные, передаваемые между каналами связи, извлекает полезну...

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

Рекомендательные системы: проблемы и методы решения. Часть 1 Привет! Я хочу рассказать вам о рекомендательных алгоритмах. Мы в Prequel создаем фильтры и эффекты для редактирования фото и видео. Создаем давно, и постепенно этих эффектов стало очень много. А с ними и пользовательского контента. Мы захотели помочь с выбором из этого мног...

Что такое Android? Когда речь заходит об Android, многие не совсем понимают, что имеет ввиду человек. Android — это смартфон или операционная система? Что вообще такое «операционная система»? Многим может показаться этот вопрос слишком простым, но не все до конца понимают это....

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

[Перевод] Как мы оптимизировали наш DNS-сервер с помощью инструментов GO В преддверии старта нового потока по курсу «Разработчик Golang» подготовили перевод интересного материала. Наш авторитетный DNS-сервер используют десятки тысяч веб-сайтов. Мы ежедневно отвечаем на миллионы запросов. В наши дни DNS-атаки становятся все более и более распрос...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)