Социальные сети Рунета
Вторник, 23 апреля 2024

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

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Использование 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 Я часто обсуждаю микросервисную архитектуру с люд...

Антипаттерн Entity Service. Иногда микросервисы хуже монолита Статья об одном неудачном решении, которое распространено при переходе на микросервисы. Несмотря на то, что Microsoft и другие компании в своих руководствах рассматривают возможность создавать Entity Serivces, есть все основания считать его антипаттерном. Далее мы поговорим ...

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

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

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

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

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

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

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

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

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

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

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

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

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

Разложение монолита: Декомпозиция БД (часть 1) Эта статья является конспектом книги «От монолита к микросервисам». Материал статьи посвящен декомпозиции БД во время процесса разложения монолита на микросервисы.В предыдущей статье рассмотрели способы извлечения функциональности из монолита в микрослужбы. Однако, что делат...

[Из песочницы] Как начать писать микросервис на Spring Boot, чтобы потом не болела голова Привет! Меня зовут Женя, я Java-разработчик в Usetech, в последнее время много работаю с микросервисной архитектурой, и в этой статье хотела бы поделиться некоторыми моментами, на которые может быть полезно обратить внимание, когда вы пишете новый микросервис на Spring Boot....

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

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

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

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

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

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

[Перевод] Мониторинг Kubernetes с помощью Prometheus и Thanos Поздравляем! Вам удалось убедить ваше начальство в миграции приложений на микросервисную архитектуру с использованием контейнеров и Kubernetes.Вы очень довольны и все идет по плану. Вы создаете свой первый кластер Kubernetes (у всех основных облачных провайдеров: Azure, AWS ...

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

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

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

[Перевод] Нагрузочное тестирование на Gatling — Полное руководство. Часть 1 Эта статья представляет собой полное, подробное и исчерпывающее руководство по эффективному использованию Gatling для нагрузочного тестирования. Если вам нужно провести нагрузочное тестирование вашего сервера HTTP-приложений, то Gatling - идеальный инструмент для этой задачи...

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

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

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

Архитектура и дизайн Android приложения (мой опыт) Хабр, привет! Сегодня я хочу рассказать об архитектуре, которой я следую в своих Android приложениях. За основу я беру Clean Architecture, а в качестве инструментов использую Android Architecture Components (ViewModel, LiveData, LiveEvent) + Kotlin Coroutines. К статье прил...

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

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

Где логика?! История тестирования одного микросервиса Эта статья — расшифровка доклада Дениса Кудряшова, QA-инженера Leroy Merlin, с конференции QA Meeting Point 2020. Денис рассказал, как столкнулся со сложной логикой, реализованной в сервисе, применил подход Control Flow Testing, и что из этого вышло. Из текста вы узнаете, мо...

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

Fluentd: почему важно настроить выходной буфер В наше время невозможно представить проект на базе Kubernetes без стека ELK, с помощью которого сохраняются логи как приложений, так и системных компонентов кластера. В своей практике мы используем стек EFK с Fluentd вместо Logstash. Fluentd — это современный универсальный ...

[Перевод] GPT-2 в картинках (визуализация языковых моделей Трансформера) В 2019 году мы стали свидетелями блистательного использования машинного обучения. Модель GPT-2 от OpenAI продемонстрировала впечатляющую способность писать связные и эмоциональные тексты, превосходящие наши представления о том, что могут генерировать современные языковые мо...

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

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

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

Пишем в PostgreSQL на субсветовой: 1 host, 1 day, 1TB Недавно я рассказал, как с помощью типовых рецептов увеличить производительность SQL-запросов «на чтение» из PostgreSQL-базы. Сегодня же речь пойдет о том, как можно сделать более эффективной запись в БД без использования каких-либо «крутилок» в конфиге — просто правильно ор...

Что такое «минимальная жизнеспособная практика (MVP)»? В новой книге ITIL ® 4 Create, deliver and support, которая, правда, пока что доступна только по подписке, описан довольно «простой» подход к определению охвата любой практики. Он называется «минимальная жизнеспособная практика» (minimum viable p...

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

Как и почему мы стали делать UI в Figma вместо Photoshop По моему опыту, большинство игровых интерфейсов все еще делаются в Adobe Photoshop ввиду их художественности и графической сложности, на которую не способны векторные редакторы. Однако и в игры пришел тренд плоских интерфейсов, и настало время пересесть с тяжелого ...

Цифро-аналоговое и смешанное моделирование в PADS Professional Одной из полезных функций, включенных в PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), который позволяет моделировать ваши схемотические проекты с использованием моделей SPICE и VHDL-AMS. Возможность использования обоих...

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

[Перевод] Loki — сбор логов, используя подход Prometheus Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала. Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов ил...

Go-swagger как основа взаимодействия микросервисов Здравствуй, NickName! Если ты программист и работаешь с микросервисной архитектурой, то представь, что тебе нужно настроить взаимодействие твоего сервиса А с каким-то новым и ещё неизвестным тебе сервисом Б. Что ты будешь делать в первую очередь? Если задать такой вопрос ...

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

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

Как мы фрод из избы выносили Меня зовут Никита, я backend-разработчик из команды антифрода в Ситимобил. Сегодня я поделюсь с вами историей о том, как мы выносили наш сервис из монолита в отдельный сервис, как вообще пришли к этому решению и с какими проблемами столкнулись. Читать дальше →

[Перевод] Контрольный список для ревью кода в распределенных системах points of view by sanja Микросервисная архитектура широко распространена в разработке программного обеспечения. Но организации, которые ее используют, помимо сложностей в реализации бизнес-логики сталкиваются еще и с распределенными сбоями. Ошибки распределенных вычислений...

Aсинхронный PHP Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переп...

Прокачай свой CLI Сейчас многие фреймворки имеют в своем арсенале CLI (Command Line Interface) и ангуляр – не исключение. Впервые с CLI-утилитами я столкнулся, когда пробовал EmberJS и тогда мне это показалось очень удобным инструментом, который довольно сильно экономил мое время. Но, к сожал...

Python микросервисы с Kafka без боли В этой статье я бы хотел поделиться способом написания асинхронных микросервисов на Python, в основе которых библиотека Faust. А в качестве брокера сообщений Kafka. Ну и немного мониторинга с Prometheus и Grafana. Читать далее

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

[Перевод] Тестирование в Puppeteer vs Selenium vs Playwright: сравнение производительности Ранее мы уже писали о том, когда бывает нужна автоматизация тестирования и какие проверки при этом используют. Сегодня предлагаем обсудить использование инструментов на практике и оценить их производительность. С разрешения Giovanni Rago – автора серии полезных материалов о ...

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

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

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

Docs as code против или вместе с Confluence? Обзор нескольких способов публикации из репозитория в Confluence Многие уже давно или активно используют или смотрят в сторону модели хранения и публикации документации как кода, это значит применять к документации все те же правила, инструменты и процедуры, что и к программному коду, например, хранить в репозитории, прогонять тесты, соби...

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

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

[recovery mode] Уйти от jQuery к Svelte, как это было Всем привет. Это отчёт в продолжение статьи "Уйти от jQuery к Svelte, без боли". Ниже я расскажу о трудностях с которыми столкнулся, их было не много, и только одна была настолько фундаментальной, где без поддержки сообщества я бы не справился. Введение Я планир...

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

Функциональные тесты в Циан Привет! Меня зовут Тимофей, я Python-разработчик в команде Платформа компании Циан. Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросерв...

Как выбрать тимлида             Будучи разработчиком, я выработал в себе привычку читать доки и мануалы систематически и в большом объеме. Сейчас я руковожу отделом iOS разработки в Cardsmobile и практически не пишу...

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

«Нюансы» использования TeamCity Всем привет. Статья написана в простом стиле "DevOps для домохозяек" от таких же домохозяек. В ней будет описано с какими неожиданностями можно столкнуться при настройке проекта в TeamCity. Также приведу рекомендации как эти проблемы можно обойти. Нижеописанное ос...

Грабли на пути к keep-alive Увеличение активности обмена данными между микросервисами зачастую является проблемой в архитектуре современных IT решений. Выжать максимум и выжить любой ценой — серьёзный вызов для любой разработки. Поэтому поиск оптимальных решений — это не прекращающийся процесс. В стать...

Open source: CI/CD и тестовая инфраструктура Авито для Android Мы вынесли в open source инфраструктуру Авито для Android: Gradle плагины, эмуляторы и библиотеки для тестов. Наш код будет полезен при автоматизации CI/CD, а также облегчит написание и поддержку автотестов. В этой обзорной статье мы расскажем, по...

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

Почему я сделал личный проект учёта трат на Git+JS Здравствуйте, господа, в этой статье я поделюсь опытом создания приложения учёта трат, в частности отвечу на следующие вопросы: Зачем мне приложение учёта трат? Почему это личный проект? Почему проект на Git+JS? 1. Зачем мне приложение учёта трат? Как и многие другие люди...

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

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

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

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

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

Очередной удар AMD по Intel. Упоминание архитектуры Zen 3 уже появилось в Linux Процессоры Ryzen стали небольшой революцией для рынка ПК. Они не только позволили AMD в разы нарастить долю на рынке, но и заставили Intel активно менять свой подход к бизнесу в этом сегменте. Очередной скачок CPU Ryzen сделали прошлым летом, когда вышли новые настольн...

TestOps: писать автотесты недостаточно Совсем недавно я услышал замечательную историю о проекте внутри крупной российской IT-компании, ищущей руководителя в отдел тестирования. Задача была простая: есть отдел из 20 человек, которые за последние несколько лет наколбасили несколько тысяч автотестов и спроектировали...

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

Правила своевременного приготовления вкусного программного обеспечения. Часть 1: границы возможностей Ранее в статье «JIRA как средство от бессонницы и нервных срывов» был предложен вариант применения JIRA для управления проектом по разработке программного обеспечения в интересах крупного государственного заказчика. Однако неосторожное обращение со средствами автоматизации у...

Как написать правила для Checkmarx и не сойти с ума Привет, Хабр!В своей работе наша компания очень часто имеет дело с различными инструментами статического анализа кода (SAST). Из коробки они все работают средне. Конечно, всё зависит от проекта и используемых в нём технологий, а также, насколько хорошо эти технологии покрыва...

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

[Из песочницы] Автономизация Unit-тестов в PHPUnit Всем привет! Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функц...

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

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

В Украине стартовал социальный проект «Google for Life» Google Украина представил новый проект «Google for Life», цель которого – мотивировать украинских пользователей к изучению и использованию современных технологий в повседневной жизни. Чтобы продемонстрировать, как Google влияет на жизнь людей, в рамках проекта представлена с...

Comet — PHP-фреймворк для быстрых REST API Два года я писал микросервисы на Go, используя генераторы кода на базе Swagger. Получались довольно компактные и очень быстрые решения. Сейчас использую PHP, поэтому решил найти средства для решения тех же самых задач в экосистеме языка. Знаю и люблю Laravel и Symfony, но т...

Микрофронтенды: разделяй и властвуй Всем привет! Меня зовут Аня, я фронтенд-разработчик в Delivery Club. Хочу рассказать про использование микрофронтендов. Поговорим о том, что же это за зверь такой — микрофронтенд, почему мы решили использовать этот подход в своих проектах и с какими проблемами столкнулись ...

Заметки о разработке МРРТ контроллера Приветствую! Ранее я уже рассказывал в статье о своем проекте контроллера заряда для небольшой СЭС с алгоритмом поиска ТММ. Сей проект вялотекущий из-за нехватки времени и порой отcутствия настроения, но все же он развивается. С момент последней статьи я сделал еще 2 ревизии...

Разбираем атаки на Kerberos с помощью Rubeus. Часть 2 Всем привет! Это вторая часть статьи про возможности инструмента проведения атак на протокол Kerberos — Rubeus. Первую можно прочитать тут. В этот раз мы рассмотрим, как с помощью данного инструмента возможно реализовать следующие атаки:
 — Overpass The Hash/Pass The Key...

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

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

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

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

Использовать время: зачем ВТБ новый кредитный конвейер на микросервисах «Успешные люди вырываются вперёд, используя то время, которые остальные используют впустую», — говорил (так пишут в интернете) изобретатель конвейера Генри Форд. Как микросервисы и графовая платформа помогают экономить время в новом кредитном конвейере ВТБ, читайте под катом...

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

Тактика и стратегия управления персоналом 2020. VII Всероссийский форум профессионалов сферы HR Новые технологии меняют мир вокруг нас с невероятной скоростью. Одно неизменно — люди. Они всегда будут главной ценностью. Ключевая тема форума «Тактика и стратегия управления персоналом 2020» — организация работы с коллективом в период постоянн...

Опыт работы над проектом на базе Vue3 в 2021 году Около полугода пришлось поработать над миграцией неработающего проекта на базе Vue 2 на проект Vue v.3. Поскольку до сих пор работа с ним остаётся экзотикой, попробую описать состояние развития этого проекта в июле 2021 года, через 10 месяцев после релиза, и какие особеннос...

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

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

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

[Из песочницы] DLL & Python DLL & Python Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что примене...

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

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

Безопасность web-приложений. Рекомендации аудиторов Хотите узнать подробности об опасных уязвимостях в web-приложении, которое вы используете в своей бизнес-модели? 7 октября в 12:00 на бесплатном вебинаре «Безопасность web-приложений. Рекомендации аудиторов» мы разберемся в эт...

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы. В качестве линтера я решил использов...

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

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

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

Web Security SQL Injection 2020 Статья расскажет, как использовать SQLmap и похожих инструментов для автоматизации решений заданий по sql injection на одном из популярных CTF ресурсов. В статье зайдем немного дальше, чем просто модификация risk-level «if you know what i mean». Задания не будут полностью ра...

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

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

14 практических советов по использованию Tableau Всем привет, меня зовут Меркурьев Михаил, я продуктовый аналитик в ManyChat. Год назад мы решили использовать Tableau как основной BI инструмент в компании и столкнулись с рядом проблем, касающихся того, что нужно наладить эффективную работу с инструментом для аналитиков, ме...

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

Компьютеры X-Com в одном из военных ВУЗов России 12.12.2019, г. Москва. Компания X-Com завершила проект развития ИТ-инфраструктуры Михайловской военной артиллерийской академии. В рамках проекта выполнено оснащение аудитории учреждения компьютерным оборудованием. Подготовка курсантов военных учебных заведений в соо...

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

МЦКО принимает активное участие в столичном проекте «Московское долголетие» Директор МЦКО* Павел Кузьмин поделился информацией об участии Центра в проекте «Московское долголетие», ориентированным на москвичей старше 55 лет. Отмечается, что на занятиях в МЦКО участников проекта знакомят с современными видами функциональной грамотности. Они получают в...

[Из песочницы] Учимся разворачивать микросервисы. Часть 1. Spring Boot и Docker Привет, Хабр. В этой статье я хочу рассказать о своем опыте создания учебной среды для экспериментов с микросервисами. При изучении каждого нового инструмента мне всегда хотелось его попробовать не только на локальной машине, но и в более реалистичных условиях. Поэтому я ре...

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

Пишем юнит тесты на TypeScript'е (на примере котиков) Как писать модульные тесты в проекте с TypeScript'ом? В этой статье я постараюсь ответить на этот вопрос а также покажу как создать среду модульного тестирования под проекты использующие TypeScript. Читать далее

Эксперимент VTrade. Часть 1: Биржи и современные технологии Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки. Цели эксперимента: Более глубокое понимание предметной области и улучшение технической экспертизы Выявление сильных и слабых сторон использования фу...

Robot Framework для автоматизации тестирования: ограничения и плюшки В автоматизации тестирования я уже более 11 лет. Скажу сразу, что являюсь поклонником старомодного тестирования на Java и очень настороженно отношусь к различным готовым фреймворкам. Если вы придерживаетесь такого же мнения или только задумываетесь об использовании Robot Fra...

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

Компания Syssoft оснастил «Акселболт Девелопмент» решениями Atlassian Syssoft завершила проект по поставке решений Atlassian в компании «Акселболт Девелопмент». В рамках проекта компания получила лицензии ПО для отслеживания Agile-проектов Jira и среды создания баз знаний ...

[Из песочницы] Ускорение сборки проекта на CMake+GCC: предварительная компиляция заголовочных файлов Есть несколько причин, почему проект на С++ в среднем собирается дольше сравнимых по величине проектов на других языках, например на Java или C#. Соответственно, есть и несколько способов уменьшить время сборки. Одним из самых известных является использование предварительной...

Инструменты Domain Driven Design Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. ...

[Из песочницы] Защита проекта VBA в MS Excel Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA. Дисклеймер: В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сил...

Микросервисы. Не всё то золото, что хайп Привет, меня зовут Владимир Кустиков, я — архитектор решений в e-Legion. И сегодня я хотел бы рассказать вам про микросервисы.Наверное, я где-то неправ. А возможно, что у меня просто подгорело. Но в какой-то момент после запроса рассказать о том, в каких проектах я успе...

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

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

«Россети» реализуют 22 цифровых проекта Об этом заявил заместитель генерального директора по операционной деятельности компании "Россети" Константин Михайлик на keynote сессии "Пилотные проекты и программы цифровой трансформации", прошедшей в рамках Международного форума "Электрические се...

HighLoad++, Михаил Тюленев (MongoDB): Causal consistency: от теории к практике Следующая конференция HighLoad++ пройдет 6 и 7 апреля 2020 года в Санкт-Петербурге. Подробности и билеты по ссылке. HighLoad++ Siberia 2019. Зал «Красноярск». 25 июня, 12:00. Тезисы и презентация. Бывает, что практические требования конфликтуют с теорией, где не учтены в...

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

[Перевод] Docker передает cnab-to-oci в проект CNAB… и что вообще такое CNAB? Прим. перев.: Эта статья — перевод недавнего анонса из мира контейнеров. В прошлом месяце компания Docker объявила о передаче своей очередной разработки в руки более широкого Open Source-сообщества. Речь шла об инструменте конвертации метаданных CNAB-пакета в формат стандарт...

[Из песочницы] Create ML в iOS Искусственный интеллект становится ближе с каждым годом, ещё вчера он был доступен только для ограниченного числа людей. Сегодня же мы можем сами создавать модели машинного обучения и использовать их в своих проектах. В этой статье мы познакомимся с инструментами Create ML...

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

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

Maltego Часть 5. Твое лицо тебя сдало Здравствуйте, дорогие друзья. Сегодня поговорим о более тяжелой артиллерии в рамках OSINT, а именно, о применении технологии распознавания лиц от Social Links для Maltego. Если не читали предыдущие статьи цикла о Maltego, то сейчас — самое время: Часть 1 — Что такое Malt...

Что нового в TestMace часть 1. Облачная синхронизация, обновленный интерфейс и многое другое Всем привет! После долгого перерыва TestMace вновь вылезает из норы, чтобы поведать миру о новостях, связанных с проектом. Если кто забыл либо не читал статью о нас, TestMace — это IDE для работы с API. Наша тулза ставит целью покрыть весь спектр работ с существующим API, к...

Как Kafka стала былью Привет, Хабр! Я работаю в команде Tinkoff, которая занимается разработкой собственного центра нотификаций. По большей части я разрабатываю на Java с использованием Spring boot и решаю разные технические проблемы, возникающие в проекте. Большинство наших микросервисов асинхр...

Автоматизация тестов на Go + Allure Привет всем. Меня зовут Таня. Я автоматизирую тесты на Go уже около года, до этого занималась 4 года автоматизацией на Java.В этой статье расскажу:- Как писала интеграционные тесты на Go + Allure- С какими проблемами столкнулась- С какими библиотеками и инструментами работа...

Диаграмма Сэнкей (Sankey diagram) на Python В этой статье рассмотрим, как пошагово создать диаграмму Сэнкей - от загрузки и генерирования необходимых данных до сохранения полученной диаграммы. Используемые инструменты - python, pandas и plotly. Читать далее

[Перевод] «Ленивая» загрузка с помощью Intersection Observer API Доброго времени суток, друзья! В данной статье мы познакомимся с Intersection Observer API, новым мощным инструментом для «ленивой» загрузки изображений и других элементов на странице, поддерживаемым всеми современными браузерами. Мы можем использовать этот инструмент для...

Медиасистема для Toyota Prius (часть 2) Продолжение проекта по замене медиасистемы Toyota Prius. В этой статье — PHY, Transport, и доставка пакетов до хост-девайса, которую наконец-то удалось проверить на реальной родной голове приуса. Быстро сказка сказывается, да не быстро дело делается. Сегодня продолжаю за...

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

B2B Class: Digital PR в В2В B2B-классы — новый образовательный проект коммуникационного агентства Fresh Russian Communications и интернет-издания B2B Journal для PR-специалистов и маркетологов B2B-компаний и брендов. Тема мероприятия: «Digital PR в B2B: успешные практи...

[Из песочницы] Flask-DJ: Django (mvc) структура для проекта на flask Всем привет! Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта. Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сде...

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

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

SSO на микросервисной архитектуре. Используем Keycloak. Часть №1 В любой крупной компании, и X5 Retail Group не исключение, по мере развития возрастает количество проектов, где требуется авторизация пользователей. С течением времени требуется бесшовный переход пользователей из одного приложения в другой и тогда возникает необходимость исп...

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

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

Автоматизация ручных действий с GitHub Actions GitHub Actions — инструмент для автоматизации рутинных действий вашего пакета на GitHub.Из личного опыта расскажу, как без опыта и знаний о настройке CI, я научился автоматизировать рутину в своем Open Source проекте всего за день и что на самом деле это действительно не так...

Эмулятор PS2 на Android — вторая серия Привет всем читателям!Я продолжаю публикацию по своему проекту портирования кода PCSX2 эмулятора PS2 на Android платформу.Поспешу предупредить, что скачать и запустить не получиться — проект только на начальной стадии развития. Однако, для тех читателей, кто не лишён професс...

[Перевод] Bluetooth Low Energy: подробный гайд для начинающих Создание кастомного сервиса и тем более клиента Bluetooth Low Energy – прогулка по граблям с завязанными глазами. По крайне мере так было для меня 4 года назад, когда я только начинал работать с BLE-устройствами. Сейчас почти каждый мой проект предусматривает использование э...

Пентест вебсайта с помощью Owasp Zap Сегодня защита веб-приложения имеет решающее значение, поэтому осваивать пентест инструменты приходится и самим разработчикам. О мощном фреймворке WPScan для пентеста WordPress мы уже писали, но сайты бывают и на других движках. Именно поэтому сегодня разберем более универс...

Концепт торрент-клиента в стиле Windows 10 Если вы используете Windows 10 и ищете современный торрент-клиент, вы, вероятно, заметили, что приложений с современным дизайном практически нет. Это связано с тем, что, несмотря на множество приложений BitTorrent, которые вы можете загрузить прямо сейчас, ни одно из них не ...

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

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

Cascadeur: Почему 12 принципов Диснея недостаточно Чтобы понять, как работает Cascadeur, нам необходимо обратиться к истории анимации и подходу к ее созданию. В этом материале Евгений Хапугин, ведущий аниматор студии Banzai.Games, постарается объяснить, как выход за рамки основополагающих принципов Уолта Диснея помогает соз...

Под капотом OpenVINO (Intel Neural Stick) Привет, Habr! Сегодня я хочу рассказать немного об аппаратном ускорителе Neural Compute Stick. Расскажу с точки зрения hardware-разработчика. Известно, что OpenVINO взаимодействует с Neural Compute Stick, а сердцем самого стика является чип Movidius Myriad X. Некоторые ...

Использование Effector в стеке React + TypeScript В этой статье я поделюсь своим кратким обзором внедрения стейт-менеджера Effector в продуктовый проект на стеке React + TypeScript, а также покажу на примере, как легко это можно сделать. Читать далее

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

Семинар «Реалии продвижения брендов в соцсетях» Традиционные методы рекламы работают все хуже — контекст, таргетинг, рассылки теперь стоят гораздо дороже, а результат дают все меньше. И этот тренд будет продолжаться. На рынок контекстной и таргетированной рекламы уже давно вышли крупные компани...

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

Тестирование игрового движка Amazon Lumberyard. Подходы и инструменты Amazon. Игры. Звучит необычно? Как тестировать продукт и для разработчиков, и для геймеров? Под катом — тестирование игрового движка Amazon Lumberyard, подходы как в ручном тестировании, так и в автоматизации, а также используемые на проекте инструменты. Lumberyard — это ...

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

Google: nри технологических тренда, формирующих динамические сети Вице-президент и генеральный менеджер по работе с сетями Google Cloud Шейлеш Шукла рассматривает на порталt ComputerWeekly вопрос о том, как переход к архитектуре микросервисов ведет к революции сетевых ...

Рабочие станции Cotton Club под защитой «Системного софта» «Системный софт» завершил проект по поставке программных продуктов ESET в компанию Cotton Club. В рамках проекта ИТ-инфраструктура Cotton Club была защищена от атак с помощью решения ESET NOD32 Smart Security Business ...

[Перевод] Как описать архитектуру продукта по нотации C4 Когда мы начали создавать платформу True Engineering, в компании не было единых правил для оформления архитектуры. Разные команды – разные инструменты, разные обозначения и уровни абстракции. Значит, даже подобные решения сравнить между собой не получится, а тому, кто смотри...

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

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

[Из песочницы] Микросервисы — комбинаторный взрыв версий Привет, Хабр! Представляю вашему вниманию авторский перевод статьи Microservices – Combinatorial Explosion of Versions. Во времена когда мир IT постепенно переходит на микросервисы и инструменты вроде Kubernetes, все более заметной становится лишь одна проблема. Эта проблем...

О наставничестве в целом и в частности «Кадры решают все!»  Никогда такого не было, и вот опять... Уволился довольно квалифицированный сотрудник, при том что объем работ пропорционально не уменьшился. Первая коллективная мысль, с которой согласились все оставшиеся «полтора ...

Обновление процесса CI/CD: подготовка и планирование В 2020, наверняка, достаточно сложно найти проект в описании стека которого не было бы одного из следующих слов: IaC, микросервисы, kubernetes, docker, aws/azure/gcloud, блокчейн, ML, VR и так далее. И это здорово! Прогресс не стоит на месте. Мы растем, вместе с нами расту...

Жанр Zero Player Game или ZPG. Игры, которые играют сами в себя Привет друзья! Абсолютно каждый сталкивался с разными жанрами в играх не так ли? Рпг, шутеры или стратегии, у каждого из нас есть свои любимые жанры игр и те, которые мы терпеть не можем. Я думаю у нас тут есть люди, которые ...

[Перевод] [в закладки] Работа с изображениями в веб Одно из решений, которые приходится принимать фронтенд-разработчику при создании сайта, касается выбора способа включения изображений в состав веб-страниц. Этот способ может заключаться в использовании HTML-тега <img>. Это может быть применение CSS-свойства background ...

Google Maps станет основой для игр под Android За последние пару-тройку лет мобильные игры совершили колоссальный скачок в своём развитии. Мало того, что сильно выросло качество графики, а многие игры перешли в онлайн, так в последнее время появилась мода на интерактивную составляющую. В большинстве случаев этот интерак...

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

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

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

Настройки Windows 10: часть III, или куда приводят скрипты Здравствуйте, товарищи! Прошло чуть больше полугода после выхода предыдущей статьи о Windows 10 Sophia Script — скрипте, который за прошедшие годы стал самым крупным (а их осталось всего два) опенсорс-проектом по персонализации и настройке Windows 10, а также автоматизации р...

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

Как e2e автотесты на Selenide помогают QA-команде при частых релизах Всем привет! Я Иван, старший инженер-тестировщик в КРОК. Уже 6 лет занимаюсь тестированием ПО. Из них 3 года внедряю автоматизацию тестирования на различных проектах - люблю всё автоматизировать. На рабочей машине много разных “батников” и bash-скриптов, которые призваны упр...

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

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

Учимся разворачивать микросервисы. Часть 4. Jenkins Привет, Хабр! Это четвертая и заключительная часть серии статей "Учимся разворачивать микросервисы", и сегодня мы настроим Jenkins и создадим пайплайн для микросервисов нашего учебного проекта. Jenkins будет получать файл конфигурации из отдельного репозитория, со...

[Личный опыт] Разработчик на ремоуте: как искать работу на биржах, и кому это подойдёт? Поработать с зарубежными заказчиками хочется, а переезжать в другую страну и сталкиваться со всеми трудностями релокейта — нет. Что делать? Вариант — искать проекты на удалёнке из той страны, где вы живёте. На&nbs...

Clang-Tidy для автоматического рефакторинга кода Существует много инструментов для анализа кода: они умеют искать ошибки, «узкие места», плохую архитектуру, предлагать оптимизацию. Но много ли среди них инструментов, которые могут не только найти, но и исправить код сами? Представьте, что у вас есть большой проект на С или...

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

[Перевод] Сравнение React Native и Flutter с точки зрения их применения в реальных проектах Чем React Native отличается от Flutter, за исключением того, что речь идёт о разных фреймворках, в основу которых положены разные технологии? На что ориентироваться тому, кто не знаком с этими инструментами для разработки кросс-платформенных приложений, но хочет выбрать один...

Мой топ полезных инструментов для Unity разработчика Всем привет! Меня зовут Григорий Дядиченко, и я всё ещё разрабатываю проекты на Unity под ключ. Сегодня хочется поговорить про полезный инструментарий для Unity разработчика. У меня давно на эту тему есть свой топ ассетов или софта, которые используются почти в каждом проект...

FORUM. DIGITAL RETAIL 2020 Международный форум по цифровизации ритейла 2020 — это масштабное международное мероприятие в России по применению цифровых технологий в ритейле и eCommerce. Текущие тенденции рынка вынуждают ритейлеров серьезно и быстро меняться, карди...

VR технологии в строительстве Агентство «Городской Центр Недвижимости», компанияMitsan Consulting и Объединение строителей Санкт-Петербурга, при поддержке информационного портала"Строительный ежедневник«,продолжают совместную серию он-лайн встреч (вебинаров), посвященных недвижимости. Постоянно, дос...

Менее четверти компаний готовы отражать кибератаки По результатам исследования, только 1 из 27 атак нарушает безопасность компании. 88% нарушений "бизнесы-лидеры" (17%) обнаруживают в течение одного дня и устраняют проникновения менее чем за 15 дней. "Отстающим" (74%) компаниям требуется гораздо больше времени - от 16 дней и...

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

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

Роутинг в комплексных чат-ботах с Hobot framework Начав разрабатывать боты для Telegram несколько лет назад, я открыл для себя производительность, простоту и гибкость работы с ними как с частным случаем интерфейса командной строки. Эти характеристики, доступные сегодня многим — во многом заслуга популярного фреймворка tel...

Telegram Open Network: теория и практика от валидатора сети В последние несколько месяцев всё внимание мирового блокчейн-сообщества было приковано к запуску одного из самых масштабных криптовалютных проектов — Telegram Open Network (TON). Что на самом деле представляет из себя блокчейн TON? Является ли сеть TON действительно децен...

Студенческие IT стажировки — как мы стараемся делать их наиболее эффективными Привет! Меня зовут Денис Александров, и помимо работы в качестве Android-разработчика, я уже более семи лет готовлю стажеров в разных компаниях и занимаюсь студенческими практиками. Мне приходилось и работать с...

Roslyn API, или из-за чего PVS-Studio очень долго проект анализировал Многие ли из вас использовали сторонние библиотеки при написании кода? Вопрос риторический, ведь без применения сторонних библиотек разработка некоторых продуктов затягивалась бы на очень-очень большое время, потому что для решения каждой проблемы приходилось бы "изобретать ...

HP 3PAR как лучшее хранилище данных Современные технологии постоянно растут и развиваются, предоставляй пользователям все больше возможностей для комфортной жизни, работы, отдыха. Однако многие даже не задумываются о том, что стоит за классными стриминговыми сервисами, веб-сайтами, мессенджерами и прочими прое...

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

Как мы использовали айтрекер для количественного эксперимента Привет, Хабр. На связи UX-лаборатория Авито. Сегодня хотим рассказать об опыте использования айтрекера для проведения количественного эксперимента. Серьёзных инсайтов и уроков не обещаем, просто поделимся своими мыслями. Расскажем, что вышло из идеи эксп...

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

Проброс USB-портов из Windows 10 для удалённой работы Когда человек много лет рыл бункер и запасал там продукты, он должен испытывать глубокое моральное удовлетворение, если бункер понадобился. Он будет довольный заявлять: «А я говори-и-и-ил!» То же касается и того, кто делал запасы продуктов в кладовой, когда все закупались в ...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

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

Подготовка SDL2-проекта для запуска на android Всем привет. Сегодня мы посмотрим как подготовить проект с использованием библиотеки sdl2 для запуска игры на android. Читать дальше →

[Перевод] Чему я научился за 10 лет на Stack Overflow Близится десятая годовщина моего присутствия на Stack Overflow. За эти годы мой подход к использованию сайта и его восприятие сильно изменилось, и я хочу поделиться с вами своим опытом. И пишу я об этом с точки зрения среднестатистического пользователя, который не сильно во...

Собеседование scrum-мастера в 1Сную контору Основано на реальных событиях. - Виктор, добрый день, очень рад вас видеть! Прошу, проходите, присаживайтесь! – искренне улыбаясь, жму руку потенциальному спасителю нашей компании.Я давно интересуюсь скрамом, был опыт его применения, но вживую настоящего скрам-мастера я...

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

Принимаем 10 000 ивентов в Яндекс.Облаке. Часть 1 Привет всем, друзья! * Эта статья написана по мотивам открытого практикума REBRAIN & Yandex.Cloud, если вам больше нравится смотреть видео, можете найти его по этой ссылке — https://youtu.be/cZLezUm0ekE Недавно нам представилась возможность пощупать вживую Яндекс.Обла...

Использование journalctl для просмотра и анализа логов: подробный гайд Journalctl — отличный инструмент для анализа логов, обычно один из первых с которым знакомятся начинающие администраторы linux систем. Встроенные возможности ротации, богатые возможности фильтрации и возможность просматривать логи всех systemd unit-сервисов одним инструмен...

Google решил выпустить свою дебетовую карту – все для ... Как сообщает издание TechCrunch, Google тестирует свою собственную банковскую смарт-карту, которая поможет клиентам совершать покупки, сделанные в Интернете и розничных магазинах.   Проект задуман как продолжение приложения Google Pay, которое в настоящее время может то...

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

Disaster Recovery и миграция c помощью VMware vCloud Availability. Часть 1 Всем привет! Сегодня речь пойдет о работе с VMware vCloud Availability (vCAV). Этот продукт помогает организовать Disaster Recovery (DR) и миграцию в рамках нескольких площадок облачного провайдера или переехать/восстановиться в облако сервис-провайдера с on-premise площадо...

Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов Меня зовут Дмитрий Макаренко, я Mobile QA Engineer в Badoo и Bumble: занимаюсь тестированием новой функциональности в наших приложениях вручную и покрытием её автотестами. За последние два года подход к автоматизации тестирования в нашей компании сильно изменился. Колич...

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

Конспект книги «Создание микросервисов» Я ничего не понимаю в микросервисной архитектуре, поэтому решил прочитать и законспектировать книгу Сэма Ньюмена «Создание микросервисов». На мой взгляд, получился неплохой вводный материал для людей, которые начинают погружаться в эту тему. Читать дальше →

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

[Перевод] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Symfony Framework». В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентиф...

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

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

Pipes & Filters. Пример применения и реализации при помощи Spring В данной статье речь пойдёт о применении паттерна Pipes & Filters. Для начала мы разберём пример функции, которую позже перепишем с помощью выше упомянутого паттерна. Изменения в коде будут происходить постепенно и каждый раз мы будем создавать работоспособный вариант, п...

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

Онлайн-митапы на всю неделю по бэку и DevOps, безопасности и роботам с 17 апреля Эту неделю астрологи объявили неделей бэка: сразу несколько встреч и по .NET и по Java. А еще начали появляться неожиданные сочетания внутри одного мероприятия, например: JavaScript и DevOps или DevOps и ML. А еще много хардкорной практики — можно сделать своего робота или с...

Project Reunion призван упростить разработку UWP и Win32-приложений для Windows 10 В рамках конференции Build 2020 компания Microsoft анонсировала проект Project Reunion, призванный сократить разрыв между разработкой Win32 и UWP-приложений путём объединения Windows API и UWP API. Этот шаг позволит разработчикам модернизировать и создавать приложения, рабо...

[Из песочницы] Познаем промисы на основе Ecmascript спецификации. Знакомство Здравствуйте. Изучая JavaScript (да и в принципе любую другую технологию), всегда возникают разнообразные вопросы, главный из которых: «А почему это работает таким образом и не иначе?» И очень важно в этот момент не просто найти...

Бесплатный онлайн-семинар: 20 инструментов интернет-маркетинга на 2020 год На онлайн-семинаре поговорим о том, готов ли ваш интернет-маркетинг готов к 2020 году? Разберем актуальные практики, которые будем использовать в 2020, а какие лучше оставить в 2019. Программа семинара Ключевые тренды интернет-ма...

Внедрение зависимостей (Dependency Injection) с GetIt во Flutter Внедрение зависимостей - DI - Dependency injection - термин часто встречающийся на собеседованиях. Сам по себе концепт опирается на более объемный принцип инверсии зависимостей (буква D в SOLID), но намного проще и ближе к практике. Кратко можно сказать, что при внедрении за...

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

Как мы работаем с логами (сбор, хранение, анализ при помощи Graylog) Всем привет! В этой статье мы хотим поделиться нашим опытом использования полезной платформы Graylog, которая ежедневно помогает собирать, надежно хранить и анализировать логи с десятков серверов, окутанных заботой нашей поддержки :)Это первая часть статьи, в которой мы расс...

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

ИИ и IoT отправят в лабораторию Проект расширяет портфель консалтинговых услуг и решений Softline в области анализа данных, а также является очередным шагом компании в развитии отраслевой экспертизы. Директор департамента анализа данных Softline Digital Марина Онищенко сказала корреспонденту ComNews, что...

Автоматизированная сборка Delphi-приложения Автоматизированная сборка Delphi-приложения Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-колен...

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

[Перевод] Flutter: 11 вещей, которые нужно помнить для вашего следующего проекта Создание нового проекта на Flutter - это благословение - свежая кодовая база, никакого легаси кода (пока что), null safety, самые последние версии ваших любимых библиотек и так далее. Однако, в то же время, необходимо принять критические решения в самом начале, которые будут...

Использование Intel Processor Trace для трассировки кода System Management Mode Эта статья посвящена тестированию возможности использования технологии Intel Processor Trace (Intel PT) для записи трассы в System Management Mode (SMM) режиме. Работа была выполнена в рамках Summer Of Hack 2019. Автор работы: @sysenter_eip. Большинство использованных инст...

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

Как наладить юридически значимый электронный документооборот контрагентов России и Казахстана? Работы по расширению трансграничного пространства доверия на базе использования Сервиса валидации электронной подписи (СВЭП) и услуг Доверенной третьей стороны (ДТС) активно продолжаются. На этот раз мы поговорим о пилотном проекте в рамках которого создан сервис по проверке...

Как переиспользовать код с бандлами Symfony 5? Часть 6. Тестирование Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

Поддержка Buildpacks в Spring Boot 2.3.0 Пару дней назад вышел релиз Spring Boot 2.3.0.M1, в описании которого первой строкой упоминается поддержка проекта Cloud Native Buildpacks, являющегося попыткой упростить жизнь разработчика, позволяя максимально автоматизировать сборку образов из исходных кодов. Так как на м...

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

JIRA: правила своевременного приготовления вкусного ПО. TLDR 2: управление требованиями Ранее в статье «JIRA: правила своевременного приготовления вкусного ПО. TLDR 1: границы возможностей» была  предпринята попытка унификации общих требований по применению JIRA в случае управления несколькими проектами по разработке заказного программного обеспечения в одном и...

Новая серверная для ФГАНУ ЦИТиС от DataDome введена в эксплуатацию DataDome завершил проект по реорганизации пространства и созданию серверной для ФГАНУ «Центр информационных технологий и систем органов исполнительной власти». Новая серверная необходима для развития научных проектов ...

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

На мобильных может выйти шутер I, Dracula: Genesis — идейный наследник iDracula 2009 года В далеком 2009 году на мобильных выходила игра iDracula. Это был изометрический шутер, в котором нужно играть за охотника на вампиров (не Ван Хельсинга). Вряд ли многие из вас с проектом знакомы, но авторы портала TouchArcade утверждает, что в то время развлечение было хитом...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

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

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

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

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

Головоломка для ИИ Как я обучал агента собирать клетку 2048 в игре “2048”Привет! Меня зовут Ринат Максутов, я работаю в подразделении Intelligent Engineering Services департамента Technology российского офиса компании Accenture, и веду проекты по заказной разработке. За свою многолетнюю карьер...

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

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

Пишем блог на микросервисах – часть 3 «User» Во второй части нашего цикла статей «Пишем блог на микросервисах» мы описали «API Gateway». Здесь мы опишем реализацию микросервиса User. Читать дальше →

Главная причина, почему не Linux Сразу хочу сказать, что речь в статье пойдёт исключительно о настольном применении Линукса, т.е. на домашних компах/ноутах и рабочих станциях. Всё нижеизложенное не касается Линукса на серверах, встроенных системах и прочих подобных устройствах, т.к. то, на что я сейчас выль...

Логирование в телеграм, или история о том, как я сделал питон библиотеку Модуль logging в питоне - это мощный инструмент в разработки. Он помогает отследить ошибки, наблюдать за работой приложения и даже собирать статистику об использовании вашего сервиса. В этой статье я расскажу, как можно расширить возможности этого модуля и причем тут телегра...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

[Из песочницы] List Comprehension vs Map Привет, Хабр. Часто при работе с последовательностями встает вопрос об их создании. Вроде бы привык использовать списковые включения (List Comprehension), а в книжках кричат об обязательном использовании встроенной функции map. В этой статье мы рассмотрим эти подходы к раб...

Самые ожидаемые игры 2021 года. Часть 1 Безумный 2020-й позади, а впереди надежда на лучшее и добротная пачка игр. Часть из них мы ждем давно, поэтому некоторые из проектов были в нашем прошлогоднем списке, другие вот-вот анонсировали, но они должны выйти в этом году. С...

Free Heroes of might and magic 2 – open-source проект, в котором хочется участвовать Недавно в сети появилась новость о релизе новой версии проекта fheroes2. У нас в компании многие сотрудники являются поклонниками серии игр Heroes of Might and Magic, и естественно, мы могли пройти мимо и в процессе ознакомления с проектом проверили его анализатором PVS-Stud...

Представлен Oppo A53: первый с Snapdragon 460 Батарейка, процессор, 90-Гц дисплей и Android 10 — козыри Oppo A53   Критерии для выбора смартфона у каждого свои. Для тех, кому важен большой дисплей, не избыточная производительность и приличное время работы, сегодня был представлен смартфон Oppo A53. А еще это ...

Новая медиавалюта. Исследование внимания аудитории к интернет-рекламе с применением технологии айтрекинга (часть 2) Как оценивать эффективность рекламы в условиях информационного шума и меняющихся паттернов поведения потребителя? Классические метрики засчитывают просмотр, даже если он не был совершен: пользователь мог смотреть на экран, но не видеть рекламу. Специфика digital-форматов так...

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

Российские застройщики рассчитывают на BIM По данным PwC, BIM-технологии - наиболее привлекательный инструмент автоматизации среди девелоперов для сокращения временных и финансовых затрат. По информации Минстроя, сейчас в России использует BIM 5-7% компаний - в основном для крупных проектов в мегаполисах. "Объем (рос...

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

Все «тайны» настройки софта для модулей и периферии OpenCPN После публикации статьи Использование OpenCPN для автоматизации производства / Хабр (habr.com) в личной почте были вопросы по настройке программного обеспечения на собранном устройстве. В этой статье будут более детально и последовательно приведены все необходимые конфигура...

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

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

[Из песочницы] Laravel+Docker+Gitlab. С чего начать Я обычно всегда обходился без докера и думал, что докер нужен только для больших проектов в больших компаниях. Но однажды я увидел как работает докер в паре с гитлабом у моего товарища и понял, что мне все таки стоит его изучить. Однако, как обычно это бывает, одной подходящ...

Использование чужого патента во время пандемии Всем привет! На фоне пандемии и карантина недавно обсуждали новость про предпринимателя из Италии Кристиана Фрацасси («Cristian Fracassi»), CEO компании Isinnova, который, узнав о нехватке запасных клапанов для аппаратов искусственной вентиляции легких (И...

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

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

Taiga UI — библиотека компонентов под Angular, которую вам стоит попробовать Привет!Саша Инкин и я регулярно пишем на Хабр статьи по Angular. Почти все они основаны на нашем опыте разработки большой библиотеки компонентов.Эту библиотеку мы развиваем, перерабатываем и дополняем уже несколько лет, а свои идеи проверяем на нескольких десятках проектов Т...

Русификатор для SuperSlicer Всем Привет.Решил опубликовать русификатор для SuperSlicer. Перевод был сделать до версии 2.3.55.2. В сам SuperSlicer уже входит перевод на русский, но там старая версия, буду стараться обновлять его и там.  Основан перевод на версии от prusha и версии от Andylg. Переведено ...

X-Com масштабировала парк клиентского оборудования «Минудобрения» Компания X-Com выполнила проект развития корпоративной информационной системы АО «Минудобрения» (г. Россошь) — крупнейшего производителя минеральных удобрений в Центрально-Черноземном регионе. В рамках проекта десятки рабочих мест ...

[Перевод] Преобразование природы в украшения с помощью 3D-сканирования Изготовление ювелирных изделий с помощью 3D сканера EinScan Pro 2x На вопрос о том, в каких сферах применяется 3D-сканирование, большинство людей не задумываясь ответят, что подобная аппаратура чаще всего находит применение в промышленности — в метрологии и реверсивном инж...

В компании Монолит Маркетинг рассказали про 8 лучших для застройщиков способов сбора контактов на сайте Занимаясь привлечением клиентов, многие застройщики совершают ошибку, работая в большей степени только с горячей целевой аудиторией. Конечно, это гораздо проще: человек изначально заинтересован и хочет купить, остаётся только продать то, что ему понравится больше всего. Но ч...

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

Apple объяснила, почему не заменит Lightning на USB-C Apple гарантированно оставит Lightning в iPhone Apple – компания, способная годами придерживаться собственных стандартов, не изменяя их в угоду внешним фактором. И речь сейчас не только о стандартах моральных, которые в Купертино тоже чтут, но и о вполне себе физических врод...

[Перевод] Доступный toggle Toggles (или их еще называют "тумблеры"/"переключатели") широко используются в современных интерфейсах. Они, как правило, относительно просты, и их можно рассматривать как простые флажки (checkbox). Тем не менее, их часто делают недоступными тем или иным способом.В этой стат...

Напечатанное будущее при помощи 3D печати, каково оно Студия Янне Киттанена «Freedom Of Creation» (FOC), которая вот уже более десяти лет работает над разработкой дизайнерских проектов различного профиля в Амстердаме, начала использование аддитивного метода, как перспективного в данной сфере. Метод, который заложил основатель с...

2. UserGate Getting Started. Требования, установка Здравствуйте, это вторая статья о NGFW решении от компании UserGate . Задача данной статьи заключается в том, чтобы показать, как установить межсетевой экран UserGate на виртуальную систему (буду использовать программное обеспечение виртуализации VMware&n...

[Из песочницы] User flow: как создаются популярные приложения и сайты Всем привет! Я – Максим Скворцов, UX/UI-дизайнер Omega-R, международной компании по разработке и интеграции IT-решений. Я занимаюсь проектированием и визуализацией интерфейсов мобильных и веб-приложений. На базе своего опыта в сфере информационных технологий и экспертизы...

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 2: настройка и запуск приложения для транскрибации видео Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. Я Василий Озеров, основатель агентства Fevlake и действующий DevOps-инженер...

Стив Джобс на официальных презентациях сказал слово «Бум» 313 раз (видео) За основателем Apple числилось немало странных, неприятных, полезных, отталкивающих и прочих привычек. Одна из них – специфическое представление о том, как надо привлекать внимание аудитории к важным моментам в своих выступлениях. Джобс просто злоупотреблял звучным «BOOM!» в...

Nothing At Stake: компромиссы с совестью Очень коротко о себе. Как-то давно на Хабре обо мне писали в этой статье, однако часть аудитории, интересующаяся блокчейн технологиями, почти наверняка знакома с моей работой через проект Monero, у которого оригинальная кодовая база(CryptoNote) была разработана в основном м...

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

Прозрачные процессы тестирования на удалёнке Публикуем статью Анастасии Шариковой — QA Lead в Bookmate и преподавателя профессионального курса «QA Lead», с программой которого мы приглашаем вас ознакомиться! Также приглашаем на бесплатный пробный открытый урок «Тестовое покрытие по Бейзеру», где Анастасия Асеева-Нгуе...

Тестирование AI и стартаперство: интервью с Адамом Карми (Applitools) Есть популярная фраза «scratch your own itch»: если хочешь создать новый продукт, делай такой, которого тебе самому не хватает. В этом случае лучше всего понимаешь, как сделать его хорошо. Адам Карми остро ощущал нехватку инструмента для визуального тестирования, который по...

Стартап-кафе: Digital Health Встречи в формате «Стартап кафе» — проект Агентства инноваций Москвы, проводимый при поддержке Департамента предпринимательства и инновационного развития города Москвы. Теперь на площадке Цифрового делового пространства на регулярной основе собираютс...

Сокеты в ОС Linux В данной статье будет рассмотрено понятие сокета в операционной системе Linux: основные структуры данных, как они работают и можно ли управлять состоянием сокета с помощью приложения. В качестве практики будут рассмотрены инструменты netcat и socat. Читать далее

Предварительный обзор Amazfit Bip S. Достойные часы Компания Huami, которая работает под крылом Xiaomi, выпускает достаточно классную серию умных часов Amazfit, которая привлекает пользователя длительностью автономной работы, довольно низкой стоимостью и прочими преимуществами, которые так нравятся аудитории. Сегодня мы погов...

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

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

Envoy. 1. Введение Приветствую! Это небольшая статья, отвечающая на вопросы: "что такое envoy?", "зачем он нужен?" и "с чего начать?". Что это Envoy — это L4-L7 балансировщик написанный С++, ориентированный на высокую производительность и доступность. С одной стор...

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

Беспроводной DIY датчик тепрературы и влажности с e-paper дисплеем Всем привет! Сегодня хочу рассказать читателям о своем DIY проекте датчика температуры и влажности с e-ink дисплеем. Это будет некая обзорная статья об этапах создания устройства, будет много картинок. Идея этого проекта родилась около двух лет назад, примерно тогда я увлекс...

ViennaNET: набор библиотек для backend’а Всем привет! Мы сообщество .NET-разработчиков Райффайзенбанка и мы хотим рассказать про набор инфраструктурных библиотек на .NET Core для быстрого создания микросервисов с единой экосистемой. Вывели его в Open Source! Читать дальше →

Зоны в Dart: большой брат следит за тобой Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставля...

Как организовать тестирование, чтобы ускорить и стабилизировать релизы продукта. Часть 1 Если командная работа не согласована, между отдельными участниками процесса и целыми командами постоянно будут происходить столкновения, а продукты компании или микросервисы внутри одного продукта будут мешать друг другу при использовании общих ресурсов и инфраструктуры. Рез...

Создайте ваш первый тест на Cypress Всем привет! Меня зовут Роман Мостафин. Я тестировщик-автоматизатор в компании Clover, и обычно пишу автотесты на pytest + selenium. Недавно для написания тестов на UI на проекте «Умный Локомотив» для автоматизации регрессионного тестирования наша команда фронтенд-разработчи...

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

FigmaGen: Автоматизация стилей в iOS-приложении Сейчас многие команды систематизируют дизайн своих приложений. Мы решили пойти дальше и автоматизировать синхронизацию кода с нашей библиотекой компонентов.  Дело в том, что в hh для проектирования UI используется небезызвестный сервис Figma, который, кроме прочих своих плю...

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

Мечтатели 1 августа. LIVE трансляция. Участие бесплатно. Кризис — не повод отказаться от мечты. Это лучшее время, чтобы действовать! В мире происходит тотальная смена основных парадигм: бизнеса, общества, спроса, предложения. На одной площадке со...

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

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

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

Вебинар «Эффективный сайт для оконной компании» Эксперт Яндекса по обучению Евгений Чуранов на примерах сайтов дилеров Rehau покажет, каким должен быть оконный сайт, почему маркетинговую стратегию надо продумывать уже на этапе разработки и что делать с сайтом после его создания. Вебинар будет ...

[Перевод] C++ vtables. Часть 2 (Virtual Inheritance + Compiler-Generated Code) Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Интересно развиваться в данном направлении? Смотрите запись мастер-класса «Практика использования Google Test Framework»! Часть 3 — Виртуальное наследование В первой и второй части этой статьи мы г...

Курс по продвижению в Instagram Курс в формате воркшопа: сжатом, но удобном для восприятия формате и обсуждении вашего проекта. Программа включает теорию, практику на занятиях и домашние задания. На практике вы решите задачи для своих проектов, которые помогут в ...

[Перевод] Разница между @StateObject, @EnvironmentObject и @ObservedObject в SwiftUI Эту неделю я решил посвятить потокам данных в SwiftUI. В этой статье мы обсудим разницу между обертками свойств (property wrappers) @StateObject, @EnvironmentObject, и @ObservedObject, поскольку я знаю, что это самая запутанная тема для новичков в SwiftUI.Зачем нужны обертки...

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

[Из песочницы] Есть ли жизнь после Windows или куда развиваться виндовому системному администратору/инженеру в 2020 году? Вступление 2019 год медленно, но верно подходит к своему логическому завершению. IT-отрасль продолжает активно развиваться радуя нас большим количеством новых технологий и попутно пополняя наш словарный запас новыми определениями: Big Data, AI, Machine Learning (ML), IoT, 5...

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

De-RISC создаст европейские процессоры RISC-V для космоса Космическая вычислительная техника сильно отличается от обычной: в таких аппаратах применяют микросхемы, хорошо защищённые от всевозможных излучений. По сложившейся традиции, в аэрокосмической сфере применяют, в основном, архитектуры PowerPC или SPARC. Но компании Cobham Gai...

Smartcat Serge: пример continuous localization Smartcat Serge — пример проекта с использованием полностью автоматизированного подхода к непрерывной локализации (continuous localization) с помощью платформы Smartcat. Это предварительно настроенный контейнер Docker с инструментом автоматизации локализации из командно...

Знание и состояние Сердце любого современного сайта или браузерного приложения (что SPA, что PWA, что любые другие три буквы) — это его State, или состояние. Мы можем сколько угодно спорить о том, что лучше — React, Vue, Svelte, Angular, можем продолжать пользоваться jQuery, но в действительно...

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

Хабрарейтинг 2019: статистика и рейтинг авторов за 2019 год Привет Хабр. В первой части была рассмотрена некоторая статистика и опубликован рейтинг статей этого сайта. Во второй части будут рассмотрены другие статистические закономерности этого года, которые мне показались интересными, а также будет опубликован рейтинг авторов за эт...

Эволюция декларативных UI-фреймворков: от динозавров к Jetpack Compose Проект Jetpack Compose привлёк много внимания в Android-мире, ещё когда был в альфа-версии. А недавно добрался до беты — так что теперь всем Android-разработчикам пора понимать, что он собой представляет. Поэтому мы сделали для Хабра текстовую версию доклада Матвея Малькова...

Разработка плагинов для Zabbix Agent 2 На последнем Zabbix Summit 2019 вместе с выходом Zabbix 4.4 был анонсирован новый Zabbix Agent 2, ключевая фишка которого — возможность написания плагинов к нему на языке Go. И многие сразу стали спрашивать: а как же, собственно, эти плагины писать, как они устроены? Где взя...

Обращение Тарика Альхаурани, KYOCERA Document Solutions Russia Дорогие партнеры компании KYOCERA Document Solutions Russia! С самого начала 2020 года весь мир активно борется с опасным COVID-19, который уже сильно повлиял не только на экономику во всем мире, но и на жизнь ...

Пошаговая инструкция как использовать MkDocs для создания сайта с документацией продукта Всем привет! Мы продолжаем разбирать наши решения. Сегодня расскажем о том, как, используя генератор Material for MkDocs, можно создать несложный, но удобный статический сайт с документацией (и не только!).А ещё как встроить его в CI/CD для автосборки и автопубликации (...

Clean Architecture глазами Python-разработчика Привет! Меня зовут Евгений, я Python-разработчик. Последние полтора года наша команда стала активно применять принципы Clean Architecture, уходя от классической модели MVC. И сегодня я расскажу о том, как мы к этому пришли, что нам это дает, и почему прямой перенос подходов ...

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы Привет Хабр. Изначально я не планировал публиковать здесь статью про коронавирус, аналитики на хабре уже более чем достаточно. Однако, читая разные местечковые форумы и соцсети, я с удивлением обнаружил сколько достаточно вредных мифов гуляет в сети, и что обычные люди, не ...

Топ 10 заблуждений о переносе Hadoop в облако Многие компании и корпорации хотят использовать облако для обработки данных по очевидным причинам: гибкость, масштабируемость, можно платить только за то, что используешь и так далее. На деле переносить проект с многокомпонентной системой обработки данных, масштаба Петаба...

Вызов принят: хочу работать в Spotify В октябре мы рассказали о том, как Александр Любоженко (back-end и data-инженер в Spotify) мечтая о Калифорнии, переехал сначала в Новую Зеландию, а затем в Швецию. Читателям статья понравилась, но многие хотели узнать подроб...

MMORPG больше не в Telegram — Swift и Kotlin — Первый большой проект — Часть 1 Прошло полгода с выпуска пробной статьи про создание MMORPG в телеграме. Изменился мир, изменились и планы по игре.Почему больше не в TelegramПосле выпуска первой статьи, энтузиазма писать игру хватило еще на неделю. Прилетели проблемы по работе, поиски новой, да и вообще ле...

Выступает DMN, дирижирует ZeeBe: как использовать бизнес-правила в микросервисах Меня зовут Николай Первухин, я Senior Java Developer в Райффайзенбанке. Так сложилось, что единожды попробовав бизнес-процессы на Camunda, я стал адептом этой технологии и стараюсь ее применять в проектах со сложной логикой. Действительно сама идея подкупает: рисуешь процесс...

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

Samsung Neon — когда «цифровой» человек неотличим от настоящего В конце прошлого года в Сети появилась информация о некоем интригующем проекте под названием Neon. Тогда предполагалось, что это новое детище Samsung, связанное с искусственным интеллектом. Пока Neon ещё не представили, но у нас есть возможность взглянуть на то,...

Мобильная разработка: индивидуально или в команде? Привет! Как многим известно, Mail.ru Group ведет образовательные проекты для студентов в 9 вузах: МГТУ им. Баумана, МГУ, МИФИ, МФТИ, СпбПУ, Мосполитех, МАИ, ВГУ и ПГУ. Среди 70 дисциплин есть курсы по мобильной разработке под платформы Android и iOS. С точки зрения методо...

Митап по продажам. Формат стендап Технологии успешных продаж-2020. Хотите узнать о горячих трендах в продажах, познакомиться с кейсами и услышать лайфхаки от экспертов — приходите на митап в МТС Университет 11 декабря. Что вас ждет только полезные знания&n...

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

Microsoft работает над портированием extended Berkeley Packet Filter (eBPF) в Windows ZDNet сообщает, что Microsoft работает над тем, чтобы портировать инструмент extended Berkeley Packet Filter (eBPF) в Windows 10 и Windows Server 2016 (и более поздние версии). В настоящее время инструмент можно запускать в Subsystem for Linux, но Microsoft работает над нати...

В России запущен первый проект в области квантовой химии Компания Nissan и Проект по квантовому машинному обучению Российского квантового центра (РКЦ) объявили о запуске совместного научно-технологического проекта. Проект относится к области применения квантовых вычислений для моделирования химических соединений. Партнеры рас...

Как выглядит производство корпусов Flipper Zero изнутри Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13]Сейчас мы активно налаживаем процесс массового производства Flipper Zero на фабриках. Компоненты ...

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

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

Дорога к BPMN 2 В названии цифра «2» не из-за версии нотации (хотя она и так 2.0), а потому что это вторая статья. В первой я рассказывал про наш путь к Activiti и о том, почему от этого инструмента стоило отказаться и идти дальше. И сегодня я расскажу, куда же мы пошли. Читать далее

Наш опыт с графовой базой данных Dgraph в Kubernetes Недавно перед нами встала задача развернуть Dgraph в кластере Kubernetes. В этой статье я поделюсь полученным опытом: с чем мы столкнулись во время деплоя и последующего использования этого приложения в различных окружениях, от dev до production. Что вообще такое Dgraph? ...

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

Digital Квартирник Онлайн 7 апреля с 11:00 до 14:00 приглашаем на антикризисный онлайн-meetup «DIGITAL Квартирник ONLINE» Для кого: для всех, кому нужны клиенты в текущих условиях Почему нужно участвовать Возможность получить полезную информацию, прокачать свои скиллы...

Онлайн-митап «Как создавать и продвигать digital-продукт: пошаговая инструкция разработки web и mobile» 4 июня в 16:00 приходите на онлайн-митап, на котором топ-менеджеры AGIMA и ведущие партнеры AGIMA Partners’ Club поделятся своим опытом и расскажут, как создать продукт, как управлять командами, какие инструменты продвижения использовать. По...

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

[Перевод] 10 React-компонентов на все случаи жизни Я полагаю, что для решения различных задач React-разработки лучше использовать маленькие узкоспециализированные инструменты, а не универсальные решения, предлагаемые библиотеками компонентов. Мне нравится выбирать компоненты самостоятельно, я не люблю читать длинную документ...

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

В России впервые протестировали 5G на частотах LTE Тестирование новой технологии проводилось в г. Уфе в офисе МТС на коммерческой базовой станции и оборудовании Ericsson Radio System с использованием решения Instant Ericsson Spectrum Sharing (Instant ESS), обеспечивающим мгновенное переключение между технологиями 4G и 5G. На...

[Из песочницы] Как собирать проекты в Jenkins, если нужно много разных окружений На Хабре много статей о Jenkins, но мало где описывается пример работы Jenkins и докер агентов. Все популярные инструменты сборки проектов типа Drone.io, Bitbucket Pipeline, GitLab, GitHub actions и другие, могут собирать все в контейнерах. Но как же Jenkins? На сегодняшний...

[Перевод] Прослушиватели событий и веб-воркеры Недавно я разбирался с API Web Workers. Очень жаль, что я не уделил время этому отлично поддерживаемому инструменту раньше. Современные веб-приложения очень требовательны к возможностям главного потока выполнения JavaScript. Это воздействует на производительность проектов и ...

Виртуальные машины А2 – крупнейшие облачные образы с графическими процессорами NVIDIA A100 теперь доступны для всех Недавно, в нашем Google Cloud блоге, мы анонсировали, что в сервисе Compute Engine появились виртуальные машины A2 на базе графических процессоров NVIDIA Ampere A100 с тензорными ядрами. С их помощью пользователи смогут выполнять машинное обучение и высокопрои...

5 шагов к защите коммерческой тайны Как часто вам предлагают заткнуть пальцем пробоину в борту судна? Нам — постоянно! Вот обычная заявка: составьте нам NDA с работником, чтобы защититься от разглашения конфиденциальной информации Почему-то многие в ИТ уверены, что для защиты информации компании необходимо...

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

Sony создаёт для PS5 10 или более полностью новых игр, а Microsoft работает над одной Вчера мы узнали о том, что в недрах Sony ведётся разработка более чем 25 игр для PlayStation 5, почти половина из которых будут совершенно новыми проектами в новых вселенных. То есть можно говорить о 10 или более полностью новых игр.  А что же готовит Microsoft? Г...

TestRail — Индивидуальные настройки под проект Во многих проектах, с которыми я работал, люди не настраивали под себя TestRail и обходились стандартными настройками. Поэтому в данной статье я постараюсь описать пример индивидуальных настроек, которые могут помочь Вам повысить эффективность своей работы. Для примера возьм...

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

Проект Lacmus: как компьютерное зрение помогает спасать потерявшихся людей Всем привет! Возможно, вы уже знаете про инициативу Machine Learning for Social Good (#ml4sg) сообщества Open Data Science. В её рамках энтузиасты на бесплатной основе применяют методы машинного обучения для решения социально-значимых проблем. Мы, команда проекта Lacmus (#p...

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

DAG’и без напрягов: наш опыт использования метаданных при работе с Apache Airflow Apache Airflow – простой и удобный batch-ориентированный инструмент для построения, планирования и мониторинга дата-пайплайнов. Ключевой его особенностью является то, что, используя Python-код и встроенные функциональные блоки, можно соединить множество различных технологий,...

[Из песочницы] Как рассказать об основных компонентах Android за 15 минут Введение В этой статье пойдет речь о том, как рассказать человеку, ранее не знакомому с программированием под Android, об основных его компонентах. Заинтересовать и показать, что все не так сложно, как многие думают. При этом сделать это за 15 минут и не уходя в объяснение к...

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

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

Эксперимент в распознавании рукописных текстов на кириллице. Часть 2 Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукоп...

Drink&Talks | Удалёнка vs. офис: выходить или нет? Кажется, что удаленка — это новая реальность. Крупные компании, такие как Twitter, QIWI и Альфа-Банк объявили о том, что разрешат большинству сотрудников работать удаленно даже после пандемии, и вслед за ними последовали другие. В то же вре...

Разработка в Wargaming – встреча с Максимом Барышниковым, Head of Platform (ч.I) Все побежали, и я побежал. Недавно я запустил серию онлайн-митапов, куда приглашаю на дискуссию экспертов в области разработки крупных IT-проектов. Нашим первым гостем был Максим Барышников, Head of Platform из Wargaming. Ниже – расшифровка нашего разговора, вернее, её перва...

Бесплатный вебинар «Цифровизация» Как сделать компанию гибкой и увеличить продажи в кризиc? Демпинг в условиях конкуренции — не единственный способ остаться на рынке. Это самый неэкологичный метод выживания в условиях «красного океана». Алексей Яновский расскажет, как...

Fortinet Security Fabric на практике. Часть 2. FortiSwitch Приветствуем! В нашей прошлой статье мы описали общую концепцию построения сети на продуктах компании Fortinet - Fortinet Security Fabric. Практически все продукты из этой концепции мы уже описывали. Неосвещенными остались только FortiSwitch и FortiAP. Сегодня мы хотим расск...

Современный Web-UI для SVN в 2020 году cSvn — это web-интерфейс к Subversion репозиториям. Основу cSvn представляет CGI-скрипт написанный на языке С. В мае 2020 года был опубликован релиз очередной версии Apache Subversion 1.14.0. В свете этого события, был создан новый, современный web-интерфейс для просмотра S...

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

Выбираем плагин для двухфакторной аутентификации в Wordpress Двухфакторная аутентификация значительно повышает уровень безопасности сайта при соблюдении остальных условий (таких как своевременное обновление движка-тем-плагинов, применение практик безопасного программирования и т.п.). Столкнувшись с вопросом подключения Google Authe...

Здоровье индексов в PostgreSQL глазами Java-разработчика Привет. Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным. За последнее время я привёл в порядок несколько баз данных в наших микрос...

Deepfake. Реализация технологии замены лиц в видео. Часть 1 Deepfake. Выбор архитектуры для реализации. Autoencoder vs GAN. Читать далее

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

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

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

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

Господдержку проекта квантового компьютера Росатома урезать не будут Об этом сообщили РИА Новости в департаменте коммуникаций Росатома."Дорожная карта развития высокотехнологичной области "Квантовые вычисления" ранее прошла экспертные обсуждения и получила все необходимые согласования Минкомсвязи России и других ответственных ф...

Как улучшить письменный английский для коммуникаций за рубежом: проект Linguix Business Привет, Хабр! Сегодня я хотел бы снова рассказать вам о нашем проекте – сервисе для улучшения письменного английского Linguix.com. Сегодня мы запускаем новый продукт – систему улучшения коммуникаций для бизнеса. Linguix Business – это комбинация инструмента проверки грам...

Social Idea: принимаются заявки на конкурс для социальных предпринимателей До 1 июня 2020 года принимаются заявки на международный конкурс социальных IT-проектов Social Idea, организованный компанией «МТС». Теплица социальных технологий выступает партнером конкурса. Принять участие можно в трех номинациях:  Social Mobile – мобильные т...

Airbus и Aston Martin разрабатывают вертолет Компания Aston Martin сообщила о заключении соглашения с Airbus Corporate Helicopters, в рамках которого будет разработан вертолет под названием ACH130 AM. Автопроизводитель пока не раскрыл деталей об аппарате, однако показал тизер, демонстрирующий, вероятно, часть кабины, а...

Кораллы начали печатать на 3D-принтере ради спасения рифов Американская дизайн-студия Objects and Ideograms объявила о старте проекта Coral Carbonate, в рамках которого специалисты на 3D-принтере печатают искусственные кораллы и затем погружают их в океан, чтобы помочь в восстановлении коралловых рифов — одной из самых уязвимых экос...

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

[Из песочницы] Игровая консоль stm32 Немного шутеров для stm32; как, зачем, что получилось. Предисловие Будучи поклонником «старой» школы шутеров с одной стороны и embedded-разработчиком с другой, я всегда испытывал интерес, как и почему авторам той эпохи удавалось воплощать новый жанр, требующий совершенно ...

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

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

Пример реального проекта на F# В экосистеме Майкрософт F# занимает место экспериментального языка, удачные концепты из которого, впоследствии, переносятся в C#. Вместе с тем, во многом благодаря сообществу, фаршик стал реальной альтернативой для прикладных проектов.Пример такого проекта www.open-quiz.com ...

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

Как выпускать продукты непрерывно на 20 языках и не умереть? В этой статье мы расскажем, как мы переводили локализацию мобильных проектов в Smartcat, какие изначально у нас были боли и как мы с ними справились. Кто мы Привет всем! Мы — Екатерина Галицкая и Дарья Егорушкина из «Лаборатории Касперского» (отдел документации и локализац...

[Перевод] Инструмент для отслеживания DNS-запросов: dnspeep Недавно я создала небольшой инструмент под названием dnspeep, который позволяет понять, какие DNS-запросы отправляет ваш компьютер и какие ответы он получает. Всего мой код занял 250 строк на Rust. В этой статье я расскажу о коде, объясню, для чего он нужен, почему в нём воз...

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

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

[Перевод] 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2 В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не т...

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

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

[Из песочницы] Используем passwordstore.org — менеджер паролей в стиле KISS Всем привет. В этой статье я хотел бы поделиться своим опытом настройки и использования pass — менеджера паролей для Linux и не только, примечательного своей простотой, использованием уже присутствующих в системе инструментов и возможностью работать исключительно из консоли....

Как мы прогнозируем эпидемии: математика, медицина, IT 23 июня (вторник) пройдет вебинар «Эпидемиология и эпидемиологическое моделирование инфекционных заболеваний на примере вируса гриппа». Докладчик — Антон Долгих, руководитель отдела AI, Healthcare and Life Sciences, DataArt. О чем ...

[Из песочницы] Российский SCRUM. Бессмысленный и беспощадный Доброе время суток, уважаемый Хабр! Я программист «старой школы», с опытом работы более 20 лет. Участвовал в разработке многих проектов, большая часть из которых довольно известные и успешные. В некоторых проектах занимал руководящие должности, достиг неплохого уровня зарпл...

«Отдых — это непросто»: Андрей Бреслав о жизни после Kotlin Для многих в IT-сообществе имя Андрея Бреслава было почти синонимичным с названием языка программирования: «мы говорим Бреслав, подразумеваем — Kotlin». Неудивительно, поскольку Андрей возглавлял этот проект десять лет подряд, с самого его создания. Но теперь ситуация измени...

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

Как жить с WAF, чтобы не было мучительно больно Здесь не будет очередной статьи, описывающей возможности межсетевого экрана уровня приложений. Таких уже полно. Сегодня мы будем объяснять подводные камни при работе с этим решением, чтобы вы знали о них еще до старта проекта и правильно прокладывали курс. Читать дальше →

STM32 Часть 3: Первый Проект Мы наблюдаем общество, которое все больше зависит от машин, но при этом использует их все неэффективнее. — Douglas Rushkoff Эта фраза должна служить мотивацией для каждого программиста. Ведь именно вы решаете как машина использует свои ресурсы. Но как и с начала времен, чел...

«АМДтехнологии» модернизировали ИТ-инфраструктуру НИИ имени Склифосовского Компания «АМДтехнологии» объявила о завершении работ по созданию и модернизации ИТ-инфраструктуры в НИИ имени Н.В.Склифосовского. Проект был реализован в рамках подготовки ИТ инфрастуктуры НИИ скорой помощи им. Н.В ...

Бесплатное предложение Cisco по организации защищенного удаленного доступа Текущая ситуация с распространением коронавируса (COVID-19) вынуждает многих сотрудников по всему миру работать удаленно. Хотя это и необходимо, этот новый уровень гибкости рабочих мест создает внезапную нагрузку на ИТ-отделы и подразделения информационной безопасности, особ...

Всё о проекте «Спутниковый интернет Starlink». Часть 18. Starlink на рынке COTM? Предлагаю ознакомиться с ранее размещенными материалами по проекту Starlink (SL): Часть 1. Рождение проекта ‣ Часть 2. Сеть SL ‣ Часть 3. Наземный комплекс ‣ Часть 4. Абонентский терминал ‣ Часть 5. Состояние группировки SL и закрытое бета-тестирование ‣ Часть 6. Бета-те...

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

Это вознесет камерофоны OnePlus на новый уровень OnePlus регулярно проводит мероприятия, на которых представители компании встречаются с членами сообщества OnePlus, общаясь с ними и стараясь улучшать свои новые продукты. Очередное такое мероприятие было проведено компанией в Нью-Йорке, на нем присутствовали фотографы ...

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

Максим Дубинин: «В OpenStreetMap нужно заниматься тем, что тебе важно, а не пытаться «спасти» проект в целом» Максим Дубинин — основатель проекта GIS-Lab и директор компании NextGIS, которая разрабатывает одноименный продукт. Наверное, его имя известно в России почти любому, кто связан с темой ГИС. Кто использует данные OSM, какого они качества и почему их не ценят — обо всем этом ...

Kotlin: язык программирования как продукт Язык программирования — это тоже продукт. Он помогает разработчикам выражать свои идеи так, чтобы их мог интерпретировать компьютер. Может показаться, что развивать язык — это брать последние достижения теории языков программирования, реализовывать их и из года в год выкатыв...

Древности: чем хуже, тем лучше или особенности Sound Blaster Pro 2 В предыдущей статье я постарался описать весь спектр звуковых карт эпохи MS-DOS, но не то, чтобы сильно в этом преуспел. С конца восьмидесятых до середины девяностых многие производители экспериментировали с технологиями синтеза звука, воспроизведения цифровых записей, ранни...

Перевести речь в текст на iOS, используя Speech framework Сегодня мы будем переводить речь в текст. Сначалa убедитесь, что у вас установлена последняя версия iOS и Xcode. Для Speech Framework нужна минимум iOS 10. Я создал проект с поддержкой SwiftUI, для этого нужна iOS 13. Но это не обязательно, можете использовать Storyboard. Е...

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

Growth Hacking: запуск команд роста О чем пойдет речь на митапе На примере наших и партнерских кейсов поговорим о том, как использовать инструменты дизайн-мышления, Lean Startup и Agile-фреймворки для поиска точек роста, активации сотрудников в теме инноваций и пред...

Прогноз развития рынков RPA, AI и автоматизации на 2020 год 7 предположений о том, что ждёт рынки RPA, искусственного интеллекта (AI) и индустрию автоматизации в целом в 2020 году от Гая Кирквуда, главного визионера UiPath. В 2018 он сделал 6 аналогичных прогнозов и 5 из них стали реальностью (про шестой в целом можно сказать то ...

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

Master of Art Business — это программа для менеджеров, которые хотят стать успешными в арт-индустрии Предлагаю всем, кто посвятил свою жизнь искусству, пройти обучение от Art Business Academy. Master of Art Business — это программа для менеджеров, которые хотят стать успешными в арт-индустрии. «Master of Art Business» 25 учебных занят...

Google представляет социальный проект “Google For Life” Сегодня мы рады представить проект “Google For Life”, цель которого мотивировать украинских пользователей к изучению и использованию современных технологий в повседневной жизни.

MikroTik: L2VPN = EoIP + WireGuard (часть 1) Как позиционируют WireGuard это быстрый VPN нового поколения, в котором реализована современная криптография. Он изначально разрабатывался как более простая и удобная альтернатива существующим VPN. Ну что, давайте протестируем данный протокол на примере Mikrotik. Возьмем вер...

Логирование и трассировка запросов — лучшие практики. Доклад Яндекса В Яндекс.Маркете большая микросервисная архитектура. Браузерный запрос главной страницы Маркета рождает десятки вложенных запросов в разные сервисы (бэкенды), которые разрабатываются разными людьми. В такой системе бывает сложно понять, по какой именно причине запрос упал ил...

[Из песочницы] vuex + typescript = vuexok. Велосипед, который поехал и обогнал всех Доброго времени суток. Как и многие разработчики, я в свободное от работы время пишу свой относительно небольшой проект. Раньше писал на react, а на работе используется vue. Ну и что бы прокачаться во vue начал пилить свой проект на нем. Сначала всё было хорошо, прямо-таки ...

7 французских слов, которые бесят тех, кто изучает английский Французский язык крайне сильно повлиял на английский в ходе исторического развития. Даже сейчас в языке Шекспира есть примерно 10 000 лексем, которые прямо заимствованы с французского, без изменений в орфографии. А в целом примерно 40% корней английских слов восходят к ...

[Перевод] Как сделать ваш код на Python быстрым и асинхронным с Sanic Всем привет, в этой статье я расскажу о создании простых асинхронных проектов на фреймворке Sanic. Читать далее

Использование TSDuck для мониторинга IP(TS)-потоков На сегодняшний день существуют готовые (проприетарные) решения для мониторинга IP(TS)-потоков, например VB и iQ, они обладают достаточно богатым набором функций и обычно подобные решения имеются у крупных операторов, имеющих дело с ТВ-сервисами. В этой статье описывается реш...

Что можно узнать на курсе ITIL®4 CDS Как вы знаете, курс ITIL®4 Create, deliver and support появился прошлой осенью. Разработан он на основе одноимённой книги и отдельных публикаций, в которых описаны практики, упоминающиеся в этой книге. Практики, вообще говоря, в книге упоминаются практически все, но для...

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

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

Gartner: когда и зачем переходить на разработку low-code Инструменты программирования с минимальным кодированием типа low-code обладают многими преимуществами, но, руководствуясь выбором решения, следует тщательно взвесить такие моменты, как их стоимость, безопасность и сценарии применения ...

Позиция Mail.ru Group по развитию opensource в России Считаем важным сегодня сформулировать позицию компании по развитию открытого исходного кода в России. Mail.ru Group — opensource-компания в своем ДНК. Мы уже много лет активно развиваем opensource-проекты — и силами отдельных разработчиков-энтузиастов, и целыми командами вну...

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

Как внедрить статический анализатор кода в legacy проект и не демотивировать команду Попробовать статический анализатор кода легко. А вот, чтобы внедрить его, особенно в разработку большого старого проекта, потребуется умение. При неправильном подходе анализатор может добавить работы, замедлить разработку и демотивировать команду. Давайте кратко поговорим, ...

BlazingPizza: приложение на Blazor от начала и до конца. Часть 2. Добавляем компонент Привет всем! Всем тем, кто хочет узнать о Blazor немного больше. Сегодня мы продолжим создание нашего сайта для пиццерии, а именно, создадим web api контроллер и попробуем отобразить данные которые поступают из него на компоненте Blazor. Поскольку наше приложение о пицце, т...

Одна история с оператором Redis в K8s и мини-обзор утилит для анализа данных этой БД Что будет, если использовать всем известное in-memory-хранилище ключей и значений в качестве персистентной базы данных, не используя TTL? А если оно запущено с помощью надёжного, казалось бы, оператора в Kubernetes? А если в процессе увеличения реплик Redis мы внесём ещё о...

[Из песочницы] DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля Часть 1: Web / Android Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинал...

X-Com масштабировала сетевую инфраструктуру центра медицинской науки Ярославля Компания X-Com завершила проект развития учрежденческой сети Ярославского государственного медицинского университета (ЯГМУ) — многопрофильного ВУЗа и центра медицинской науки города. В рамках проекта создана инфраструктура для подключения ...

Простое руководство по дистилляции BERT Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры. BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шаго...

[Перевод] 3D-печать: краткие советы по переходу от CAD-модели к напечатанному объекту Сообщение от модератора: статья опубликована повторно, т.к. была снята с публикации из-за технической ошибки. Просьба отнестись с пониманием. Спасибо! В основе процесса трехмерной печати – будь это просто увлечение или источник дохода – всегда лежит конструкция изделия. Тем...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

И снова про embedded: ищем баги в проекте Embox Embox – это кросс-платформенная мультизадачная операционная система реального времени для встраиваемых систем. Она рассчитана на работу в условиях невысоких вычислительных ресурсов и позволяет запускать Linux-приложения на микроконтроллерах без использования самого Linux. К...

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

Курс «Продвижение в YouTube» Ютуб заменил ТВ и стал главным источником видеоконтента Около 50 млн. российских пользователей заходит на YouTube. Эта армия покупателей. Поэтому многие компании научились здесь продавать, выстраивая целые механики привлечения внимания и формиров...

Mail.ru поможет бизнесу и людям справиться с коронавирусом: новые бесплатные инструменты для бизнеса и акция на Combo С 19 марта Mail.ru открывает бесплатный доступ к бизнес-мессенджеру Myteam и расширяет бесплатные возможности Teambox. А до 30 апреля новым пользователям Combo — 50%-ная скидка на самые необходимые в период карантина или с...

Обновление Windows 10 May 2020 Update начнётся на следующей неделе По слухам, обновление Windows 10 May 2020 Update появится в конце мая и может быть запущено уже на следующей неделе. Microsoft уже предоставила обновление May 2020 Update OEM-производителям, разработчикам и тестерам ПК в канале Release Preview своей программы бета-тестирован...

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

Неочевидные факты о коллекциях в Magento 2 Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Сегодня мы рассмотрим коллекции в Magento 2 (далее — M2). Несмотря на кажущуюся простоту реализации и интуитивно понятное назначение, эта сущность таит в себе несколько неочевидных подводных камней, которые влияют на...

[Перевод] SRE: Анализ производительности. Способ настройки с использованием простого вебсервера на Go Анализ производительности и настройка — мощный инструмент проверки соответствия производительности для клиентов. Анализ производительности можно применять для проверки узких мест в программе, применяя научный подход при проверке экспериментов по настройке. Эта статья опреде...

Изучаем ELK. Часть I — Установка Elasticsearch Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK. В этой ...

Android Flash Tool — сервис для простой и быстрой ... Google создала сервис Android Flash Tool, задача которого упростить процесс прошивки Android-устройств. Совместим он с компьютерами, работающими под управлением Windows, macOS, Linux и Chrome OS. Позиционируется онлайн-приложение как более простая и комфортная альтернатива б...

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

Как пандемия меняет ИБ-рынок Вынужденным трендом этой весны стал массовый переход бизнеса на удаленный режим работы, связанный с объявлением пандемии SARS-CoV-2. Рост числа удаленных подключений потребовал изменения подхода к обеспечению информационной безопасности. За прошлую неделю число запросов от з...

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

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

Тонкости настройки CI/CD: как работает GitLab runner, когда использовать Docker-in-Docker и где пригодится Argo CD В конце прошлого года в «Слёрме» вышел видеокурс по CI/CD. Авторы курса инженер Southbridge Александр Швалов и старший системный инженер Tinkoff Тимофей Ларкин ответили на вопросы первых студентов. В частности, обсудили: Как работает GitLab runner: сколько задач берёт и ск...

Node.js в 2020: Выйди и зайди нормально За последние 5 лет Node.js очень изменился, но знания о платформе у сообщества остались на уровне 2013-2015 годов, все те же подходы, все те же проблемы. Сообщество плохо следит за новыми возможности, а если и узнает про них, то это не влияет на написание ежедневного кода. ...

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

Компания X-Com оснастила аудитории учебно-научного центра МГУ Компания X-Com выполнила проект оснащения компьютерным оборудованием Специализированного научно-исследовательского центра — школы-интерната Московского государственного университета имени М.В. Ломоносова (СУНЦ МГУ). В рамках проекта ...

(Не)очередной MQTT телеграм бот для IoT Всем привет! Сегодня хочу поделиться опытом разработки универсального телеграм бота для получения информации и управления IoT устройствами посредством протокола MQTT. Почему (не)очередной? Потому что это не просто бот с двумя захардкоженными кнопками для управление лампочк...

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

Что может AMD Ryzen 7 5800X: тестирование в 29 играх Не секрет, что сегодня большая часть процессоров покупается для игровых систем. Мы собираем себе геймерские компьютеры, чтобы по вечерам рубиться в любимые игрушки, убивая время и получая от этого тонну удовольствия. Ну а почему бы и нет? Единицы из тех, кто покупает совре...

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

DevOps для разработчиков (или против них?!) Подход DevOps качественно изменил процесс разработки. Если раньше программисты только писали код и прогоняли тесты, то теперь они участвуют и в развертывании проектов на продакшен. Звучит так, будто сисадмины решили переложить свои заботы на плечи разработчиков, не так ли?...

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

Хорошо забытое старое Всем привет! Сегодня мы подводим итоги пятничного опроса на тему использования функции размещения вкладок в одном окне. На этот раз получился вполне себе сюрприз, причём, как для разработчиков, так и для многих пользователей. Давайте вместе разберёмся с результатами и сде...

[Перевод] Используем PowerShell для работы с REST API Многие из вас наверняка работают с разнообразными инфраструктурами, используя REST API. А поскольку все более широкие слои населения для автоматизации рутинных задач осваивают PowerShell, то почему бы и не начать применять его для работы с REST API? Сегодня вашему вниманию ...

Cеминар «Эффективные методы управления персоналом». Авторский подход Александра Князева Программа Обучение проходит в формате 2 дня по 8 академических часов: Мифы и реалии управления Специфика управления в России с учетом ментальных особенностей Современные технологии формирования управленческой команды Команда под ц...

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

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

[Перевод] Локализация в ASP.NET Core Razor Pages — Культуры Привет, хабр! Прямо сейчас OTUS открывает набор на новый поток курса "C# ASP.NET Core разработчик". В связи с этим традиционно делимся с вами полезным переводом и приглашаем записаться на день открытых дверей, в рамках которого можно будет подробно узнать о курсе, а также за...

Банки и крупные компании присоединились к Кодексу этики использования данных Церемония подписания соглашения состоялась 12 декабря в рамках открывающей панели Недели Российского Интернета (RIW-2019). Разработчиками Кодекса выступили Институт развития интернета и Ассоциация больших данных."Присоединение Газпромбанка к Кодексу этики использования ...

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

Завтра Redmi представит свой первый носимый гаджет На завтра Xiaomi назначила парад новинок и всего их будет 22. Приурочили их релиз к 10-летию компании и 4-летию дочки Mijia. Некоторые поспешили заявить, что звездой завтрашнего пресс-мероприятия станет фитнес-браслет Xiaomi Mi Band 5, а все потому, что на промо-плакате, пос...

3. От обучения пользователей к тренировке навыков по ИБ. Антифишинг Приветствую друзья! Сегодня мы в рамках цикла статей по борьбе с фишингом познакомимся с российским решением “Антифишинг”. Для того, чтобы более подробно изучить концепцию и архитектуру системы, мы пообщались с представителями вендора и проверили решение на себе, обучая и тр...

Искусство перевода, или почему английская «Алиса в стране чудес» вдруг стала Аней «Алиса в стране чудес» Льюиса Кэрролла — одна из самых любимых сказок, которую с удовольствием перечитывают и дети, и взрослые по всему миру.Но при этом это еще и одно из самых сложных произведений для перевода на другие языки. Автор щедро использует метафоры, отсылки и кала...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

Новогодний IMaskjs 6 — React Native, Pipes, ESM Всем привет! Я только что выпустил релиз шестой версии библиотеки imaskjs. После каждого мажорного релиза мне кажется, что это последняя версия. Библиотеке уже не один год, она стабильна и достаточно популярна среди сообщества. Что там еще можно сделать да еще и на мажорную...

Открытый курс «Deep Learning in NLP» от создателей DeepPavlov на базе курса cs224n Всем привет! Вступление Меня зовут Алексей Клоков, я хочу рассказать о запуске классного курса по обработке естественного языка (Natural Language Processing), который очередной раз запускают физтехи из проекта DeepPavlov – открытой библиотеки для разговорного искусственного ...

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

Поговорим про градиенты в Unity Всём привет. Меня зовут Григорий Дядиченко. Я в Unity разработке около 7 лет, и за это время повидал многое. Одна из основных проблем, которая встречается, когда забираешь у неопытных ребят проект - градиенты в интерфейсах. В целом ошибки в разработке интерфейсов не редкость...

[Перевод] Альтернатива ML-Agents: интегрируем нейросети в Unity-проект с помощью PyTorch C++ API Кратко объясню, что будет происходить в этой статье: покажу, как использовать PyTorch C++ API для интеграции нейросети в проект на движке Unity; сам проект я подробно описывать не буду, это не имеет значения для данной статьи; использую готовую модель нейросети, преобраз...

Как я, тимлид, оцениваю проекты Тимлиды часто оценивают проекты, и не все делают это хорошо. Тут многое зависит от личности самого тимлида, а также от его понимания команды. Есть много техник оценки проектов от метода “по аналогии” до PERT. Но сегодня я расскажу о том, как я применяю planning poker и други...

На заре вычислительной техники, часть 1 Предисловие В моей предыдущей статье на тему истории вычислительной техники речь шла о цифровых устройствах. К ним мы еще вернемся, а сегодня разговор пойдет про принципиально иной способ считать вычислять, а именно про аналоговые вычислительные машины (АВМ), т.е. вычислител...

Hitachi Vantara представила Lumada Data Catalog Новое решение для управления данными создано на основе технологии каталогизации данных компании Waterline Data, недавно приобретенной Hitachi Vantara. позволяет создать требуемый слой метаданных для поддержки критически важных информационных проектов Компания Hitachi Vant...

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