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

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

[Перевод] Мой новый стек веб-технологий для 2020 года Помните те времена, когда стеки веб-технологий были простыми? Когда уровни этих стеков можно было обозначить в виде четырёхбуквенного сокращения вроде LAMP, LEMP или LEPP? Когда всё, что было нужно для создания и поддержки сайтов, сводилось к вполне обычному железу, к какому...

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

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

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

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

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

Робот-тележка 2.0. Автономная навигация домашнего робота на базе ROS. Часть 1 Проект строился на базе достаточно известного в своих кругах другого проекта — linorobot (linorobot.org), при этом использовались доступные простому обывателю компоненты. Цели, которые были поставлены: добиться автономного перемещения робота в домашних условиях, используя lo...

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

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

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

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

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

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

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

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

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT Собираем простейшую ZigBee-сеть, программируем под MBed, общаемся через MQTT Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. Стек XBee реализует ZigBee-стандарт и подходит для задач...

[Из песочницы] Различные способы передачи данных в компоненты Angular Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal. В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный...

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

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

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

Трюки для обработки метрик в Kapacitor Скорее всего, сегодня уже ни у кого не возникает вопрос, зачем нужно собирать метрики сервисов. Следующий логичный шаг – настроить алертинг на собираемые метрики, который будет оповещать о любых отклонениях в данных в удобные вам каналы (почту, Slack, Telegram). В сервисе он...

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

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

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

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

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

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

[Из песочницы] Преобразование инфиксной нотации в постфиксную Что такое инфиксная нотация и постфиксная можно узнать если внимательно почитать в Википедии. Так же есть статья на Хабре. В это статье я покажу простой и понятный алгоритм преобразования инфиксной записи в постфиксную. Данный алгоритм я реализую на языке Kotlin, хотя алго...

[Из песочницы] Утечка памяти в Nuxt на стороне сервера при использовании SSR (Server Side Rendering) Привет, Хабр! Данная статья обязательна к прочтению всем, кто работает с Vue SSR, в частности с Nuxt. Речь пойдет об утечки памяти при использовании axios. Предыстория Пол года назад я попал на проект со стеком VueJS + Nuxt, его особенность была в том, что в проде постоянно...

Более безопасное подключение к SSH с помощью DNSSEC Все, кто использует SSH знают, что при первом подключении к серверу, появляется сообщение с подтверждением отпечатка ключа. Дальше ключ сохраняется на стороне клиента, и больше это сообщение не показывается до момента пока сохраненный ключ не изменится. Но в чем практическ...

Свой стек навигации. Лучше чем у ROS? Это вторая статья команды setUP про наш опыт создания автономных роботов для соревнований Eurobot Open и использования для этого ROS. Первая статья про механику и общую архитектуру роботов. Роботы ездят по ровному полю и большинство препятствий заранее известно, однако, ко...

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

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

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

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

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

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

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

Packer, Terraform и Ansible: деплой кластера Kubernetes за час Привет, меня зовут Андрей Щукин, я помогаю крупным компаниям мигрировать сервисы и системы в Облако КРОК. Вместе с коллегами из компании Southbridge, которая проводит в учебном центре «Слёрм» курсы по Kubernetes, мы недавно провели вебинар для наших заказчиков. Я решил в...

Регуляризация? Ортогонализация! Улучшаем компактные сети Пока другие компании обсуждают управление коллективом на удаленке, мы в Smart Engines продолжаем делиться с вами своим стеком технологий. Сегодня про оптимизацию нейронных сетей. Сделать систему распознавания на основе нейронных сетей, которая могла бы быстро работать на см...

[Перевод] Tekton Pipeline — Kubernetes-нативные pipelines Tekton Pipeline — это новый проект, который позволяет запускать CI/CD pipelines используя Kubernetes-нативный подход. Первоначально Tekton Pipelines это часть проекта “Knative build”. Если вы хотите узнать больше об этом проекте, я настоятельно рекомендую посетить их сайт, ...

[Из песочницы] Unity — Enable Multidex или слишком много методов С чего все началось Всем привет. На определенном этапе разработки игры под Android на движке Unity я столкнулся с одной проблемой при билде. После добавления в проект таких плагинов как Appodeal и Google Play Games количество используемых методов превысило 65K и во время бил...

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

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

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

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

Пишем гибкий VerticalSwipeBehavior Привет, Хабр! Меня зовут Илья Осинцев, я Android-разработчик в компании Apiqa. Под катом вас ждет пример использования ViewDragHelper для создания компонента пользовательского интерфейса аналогичного SwipeDismissBehavior, но работающего вертикально. С появлением Material Des...

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

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

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

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

Компания Samsung представила память HBM2E третьего поколения — Flashbolt Компания Samsung Electronics сообщила о выпуске памяти с высокой пропускной способностью (High Bandwidth Memory) HBM2E третьего поколения, которая получила имя Flashbolt. Эта память была анонсирована в марте прошлого года, а начать ее серийный выпуск южнокорейский произ...

[Перевод] Учебный проект на Python: интерфейс в 40 строк кода (часть 2) Демонстрация проекта Python с пользовательским интерфейсом никогда не была такой простой. С помощью Streamlit Framework вы можете создавать браузерный пользовательский интерфейс, используя только код Python. В этой статье мы будем создавать пользовательский интерфейс для п...

Почему мы перешли на Selenide, попутно написав более 200 новых автотестов Привет, я автоматизатор тестирования на одном из проектов крупной компании. В этой статье я расскажу, почему мы приняли решение перейти с Serenity на Selenide. Задача у нас масштабная, и хотя изменение технологического стека заняло определенное время, впоследствии оно с лихв...

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

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

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

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

Сеть в DOS с помощью стека mTCP Некоторое время назад меня попросили сделать видео-инструкцию по настройки сети в операционной системе DOS. К сожалению в съёмке видео я не силен, поэтому постараюсь максимально подробно письменно (и с картинками) изложить сей процесс. Однажды мне самому пришлось столкнутьс...

Эффективное использование ClickHouse. Алексей Миловидов (Яндекс) Так как ClickHouse является специализированной системой, при его использовании важно учитывать особенности его архитектуры. В этом докладе Алексей расскажет о примерах типичных ошибок при использовании ClickHouse, которые могут привести к неэффективной работе. На примерах и...

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

Spring-анимации во Vue Привет, Хабр! Мне давно хотелось добавлять в любые проекты Spring-анимации. Но делал я это только для React-проектов с помощью react-spring, так как не знал ничего другого. Но наконец я решил разобраться, как оно все устроено и написать свою реализацию! Если вы тоже хоти...

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

[Перевод] Стек технологий Shiro Games Наш игровой движок Heaps.io и набор инструментов и технологий, на котором он основан, являются результатом опыта, накопленного за двадцать лет, посвященных созданию игр: сначала в компании Motion-Twin (создатели Dead Cells), а с 2012 года в Shiro Games (Evoland, Northgard и ...

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

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

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

[Перевод] Cloudflare PHP API Binding Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP». Для тех разработчиков, которые используют PHP 7.0 или выше, Cloudflare предоставляет PHP API биндинг. Он поддерживает последнюю четвертую версию API Cloudflare. Вы можете использовать этот S...

Как я сделал Discord бота для игровой гильдии с помощью .NET Core Всем привет! Недавно я написал Discord бота для World of Warcraft гильдии. Он регулярно забирает данные об игроках с серверов игры и пишет сообщения в Discord о том что к гильдии присоединился новый игрок или о том что гильдию покинул старый игрок. Между собой мы прозвали эт...

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

[Перевод] Seccomp в Kubernetes: 7 вещей, о которых надо знать с самого начала Прим. перев.: Представляем вниманию перевод статьи старшего инженера по безопасности приложений британской компании ASOS.com. С ней он начинает цикл публикаций, посвящённых повышению безопасности в Kubernetes благодаря использованию seccomp. Если введение понравится читателя...

[Перевод] Иерархический буфер глубин Краткий обзор Иерархический буфер глубин — это многоуровневый буфер глуби (Z-буфер), используемый как ускоряющая структура (acceleration structure) для запросов глубин. Как и в случае mip-цепочек текстур, размеры каждого уровня обычно являются результатами деления на степен...

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

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

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

Сергей Зайченко: «Если вы не знаете, где брать данные, берите их из OSM» Сергей Зайченко является одним из создателей картосервиса поискового портала «Спутник», в основе которого OpenStreetMap. Наверное, это один из самых удачных и масштабных примеров использования данных из OSM в рунете. Почему было решено использовать OSM, зачем развивали соо...

E-commerce агентство LeadWay рассказало о вариантах использования TikTok в лидогенерации В последнее время огромную популярность стала набирать социальная сеть TikTok. На данный момент сервис активно используют 500 миллионов человек в месяц. Социальное приложение на основе видео обладает невероятным потенциалом для маркетинга, особенно потому, что оно так популя...

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

[Из песочницы] Императивный подход к реактивным данным на примере Jetbrains KTor и R2DBC Статья об использовании реактивного доступа к базам данных из корутин. Spring все упрощает, но это плохо сказывается на понимании реальных процессов работы приложения. Для демонстрации был выбран фреймворк KTor (просто потому, что мне нравится смотреть на то, что делает JetB...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

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

[Перевод] 14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard) Data Science для начинающих 1. Sentiment Analysis (Анализ настроений через текст) Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R. Sentiment Analysis — это анализ слов для определения настроений и мнений...

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

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

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

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

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

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

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

Шифрование TLS-трафика по алгоритмам ГОСТ-2012 c Stunnel В этой статье я хочу показать, как настроить Stunnel на использование российских криптографических алгоритмов в протоколе TLS. В качестве бонуса покажу, как шифровать TLS-канал, используя алгоритмы ГОСТ, реализованные в криптоядре Рутокен ЭЦП 2.0. Но для начала давайте вооб...

[Из песочницы] Сборка тонкого клиента RDP на базе Raspberry Pi С ростом популярности мини-ПК типа Raspberry Pi, и подобных ему клонов, возникла масса кейсов по их использованию в ИТ-инфраструктуре предприятия, умном доме / даче / гараже, и в других применениях. Одним из удобных и желаемых кейсов является использование RPi как тонкого к...

1.Elastic stack: анализ security логов. Введение В связи окончанием продаж в России системы логирования и аналитики Splunk, возник вопрос, чем это решение можно заменить? Потратив время на ознакомление с разными решениями, я остановился на решении для настоящего мужика — «ELK stack». Эта система требует времени на ее нас...

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

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

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

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

[Перевод] Понимание CSS Grid (2 часть): Grid-линии Приветствую! Представляю вашему вниманию перевод статьи «Understanding CSS Grid: Grid Lines» автора Rachel Andrew В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному эл...

[Перевод] Вставка реальных объектов в Unity с помощью Meshroom Из этой статьи вы узнаете, как использовать фотограмметрию для фотосканирования и вставки объектов реального мира в проекты Unity при помощи Meshroom. В контексте 3d-моделей фотограмметрия — это процесс создания 3D-моделей из отсканированных объектов. Вам нужны реалистичн...

Почти две недели в открытом доступе были данные 267 млн пользователей Facebook По сообщению источника, база данных с записями о 267 140 436 пользователей Facebook, большинство которых — из США, была доступна для скачивания на одном из хакерских форумов с 4 по 19 декабря. Каждая запись включала основные данные, такие как пол...

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

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

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

Развитие компилятора C для нового мультиклета-нейропроцессора На конференции разработчиков системного и инструментального ПО – OS DAY 2016, которая прошла в г. Иннополис 9-10 июня 2016 (Казань) при обсуждении доклада о мультиклеточной архитектуре была высказана мысль, что она будет наиболее эффективной при решении задач искусственног...

3.Elastic stack: анализ security логов. Дашборды В прошлых статьях мы немного ознакомились со стеком elk и настройкой конфигурационного файла Logstash для парсера логов, в данной статье перейдем к самому важному с точки зрения аналитики, то что вы хотите увидеть от системы и ради чего все создавалось — это графики и табл...

Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть I За прошлый год я собрал и настроил автоматизацию для небольшой квартиры около оживленной дороги. В этой статье я расскажу об использованных решениях в климатической системе, освещении, мультимедиа и в программном обеспечении. Читать дальше →

DIY Гусеничная платформа для роботов и развелечений Мы задумываемся о разработке робота-охранника периметра c использованием софта, который мы разработали для нашего робота для сбора мячей для гольфа. Когда мы определились с техническими требованиями начали искать что подобного есть интернете. Так мы нашли проект Золотоева А...

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

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

[Перевод] Поиск лучшего фронтенд-инструмента 2021 года Любой, кто начинает карьеру в сфере разработки программного обеспечения, скорее всего столкнётся с задачей выбора первого языка, фреймворка или набора инструментов. Уверен, каждому из вас это знакомо. Ответ на вопрос о том, что нужно изучать самым первым, найти не так уж и п...

[Из песочницы] Многопоточная сортировка с использованием пула потоков на Java В данном посте будет рассказано, как реализовать сортировку на Java c использованием ExecutorService. Общая суть сортировки в следующем: Массив разбивается на части Каждая часть массива сортируется Идем по упорядоченным массивам, сливаем их в один Здесь применяются иде...

[Перевод] Скрам умер. Да здравствует канбан Я пользовался методом управления проектами Scrum (скрам) с самого начала карьеры. Я изучал скрам в колледже. Тогда он считался лучшим методом управления разработкой программного обеспечения. Когда я начал работать, мне нравилось всё, что имеет отношение к скраму: ежедневные ...

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

Запись видео UI автотестов, работающих в headless Chrome Всем привет! В данной статье хочется рассказать о том, как была решена задача записи видео автотестов, работающих в headless Chrome (с записью в не headless режиме проблем быть не должно). Будет рассмотрено несколько разных подходов, рассказано про трудности и пути их реше...

[Перевод] Почему не стоит пользоваться WireGuard В последнее время WireGuard привлекает к себе большое внимание, фактически — это новая «звезда» среди VPN. Но так ли он хорош, как кажется? Я хотел бы обсудить некоторые наблюдения и рассмотреть реализацию WireGuard, чтобы рассказать, почему он не является решением, которое ...

Почему я использую Matrix вместо Telegram Привет, меня зовут Михаил Подивилов. Я специализируюсь на сетевых технологиях и преподаю в Сетевой академии Cisco. Matrix — замечательный, но недооценённый децентрализованный протокол обмена сообщениями с прилагающимся к нему клиентом Element, который я считаю достойной и ж...

Изучаем ELK. Часть III — Безопасность В первой и второй частях данной серии была описана процедура установки и настройки кластера Elasticsearch, Kibana и Logstash, но никак не освящался вопрос безопасности.На борту стека ELK имеется широкий функционал, который позволяет организовать ролевую модель доступа, шифро...

Немного о WebRTC: что где использовать и случай из практики WebRTC — это браузерная технология, предназначенная для передачи потоковых данных между браузерами или приложениями с использованием технологии двухточечной передачи (point-to-point transmission). Эта технология хороша тем, что позволяет устанавливать связь между пользоват...

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

17 причин начать использовать колл-центр на аутсорсинге «Контакт Сервис» Наш колл-центр прошёл аккредитацию и имеет следующие сертификаты: Сертификат соответствия ISO 18295-1:2017 (Customer contact centres) Сертификат менеджмента информационной безопасности ISO/IEC 27001:2013 Сертификат системы менеджмента качества ISO 9001-2015 Максимальная конв...

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

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

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

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

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

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

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

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

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

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

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

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

Linux Kernel Library: ядро Linux в форм-факторе so или dll Когда-то читал статью о выборе файловых систем «чтоб везде-везде работало». В ней в очередной раз увидел жалобы, что Ext4 замечательная файловая система, но на Windows есть только кривые неточные проприетарные драйверы. Но отмотаем ленту ещё на пару лет назад: тогда на Хабре...

Что айтишнику делать в 2020?  Приобрести VDS со скидкой 30%, да ещё и до повышения цен. Шутка :) Но в каждой шутке есть доля правды. До нового года осталась ровно неделя и мы знаем, что почти никто из нас с вами не начнёт новую жизнь с 1 января или с понедельника. Но также мы знаем, что никто не останов...

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

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

Производственный календарь своими руками в Firebird Здравствуйте, меня зовут Денис, я явлюсь разработчиком информационных систем, пишу статьи и документацию по СУБД Firebird. В этой статье я хочу рассказать о реализации производственного календаря с использованием СУБД Firebird. На написание этой статьи меня натолкнули похож...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

Панель приборов на основе LG P-OLED дебютирует в новой модели Cadillac Escalade На прошлой неделе дебютировал новый Cadillac Escalade 2020 года, в котором использована технология P-OLED от LG Electronics. Это первое применение вогнутого OLED дисплея в серийном автомобиле, сообщает ITbukva.com.P-OLED дисплей стал центральным элементом нового дизайна кано...

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

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

[Перевод] Использование Grid для макетов страниц, а Flexbox — для макетов компонентов Мой брат недавно отучился на компьютерщика и сейчас завершает стажировку в области фронтенд-разработки. Он узнал и о CSS Grid, и о CSS Flexbox, но в том, как он пользуется этими механизмами создания макетов, я отметил одну особенность, с которой я уже сталкивался. А именно, ...

[Перевод] Реверс-инжиниринг популярного античита BattlEye BattlEye — это преимущетвенно немецкий сторонний античит, в основном разрабатываемый 32-летним Бастианом Хейко Сутером. Он предоставляет (или пытается предоставить) издателям игр простую в применении систему античита, использующую механизмы общей защиты, а также обнаружение...

Российские BIM-технологии: комплексное проектирование на базе Model Studio CS Этой статьей мы открываем серию материалов, посвященных технологиям информационного моделирования в промышленном и гражданском строительстве.Мы покажем, как организовать среду общих данных, информационного моделирования и комплексного проектирования на основе единой линейки ...

Собираем логи с Loki Мы в Badoo постоянно мониторим свежие технологии и оцениваем, стоит ли использовать их в нашей системе. Одним из таких исследований и хотим поделиться с сообществом. Оно посвящено Loki — системе агрегирования логов. Loki — это решение для хранения и просмотра логов, также э...

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

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

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

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

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

[Перевод] Wasm или не Wasm? Мы, в компании Linkurious, занимаемся работой над Linkurious Enterprise. Это — веб-платформа, которая, используя возможности графов и средства их визуализации, призвана помогать компаниям и органам власти, расположенным по всему миру, бороться с финансовыми преступлениями. ...

Создание отказоустойчивой ИТ инфраструктуры. Часть 4. Внедрение коммутаторов Cisco 3850 для межсетевой маршрутизации Статья предназначена для ознакомления с процессом внедрения коммутаторов третьего уровня в существующую сетевую инфраструктуру, и в основном адресована сетевым администраторам и инженерам. В ней рассказывается про настройку стека из двух коммутаторов Cisco 3850, и их использ...

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

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

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

Практика использования Spark SQL или как не наступить на грабли Если вы работаете с SQL, то вам это будет нужно очень скоро. Apache Spark – это один из инструментов, входящих в экосистему Hadoop, который обрабатывает данные в оперативной памяти. Одним из его расширений является Spark SQL, позволяющий выполнять SQL-запросы над данными. Sp...

Как мы оркестрируем процессы обработки данных с помощью Apache Airflow Всем привет! Меня зовут Никита Василюк, я инженер по работе с данными в департаменте данных и аналитики компании Lamoda. В нашем департаменте Airflow играет роль оркестратора процессов обработки больших данных, с его помощью мы загружаем в Hadoop данные из внешних систем, об...

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

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

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

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

Обновление Windows 10 21H2 имеет несколько новых функций Windows 10 получает новую предварительную сборку 21337 для пользователей, тестирующих обновление версии 21H2 «Sun Valley» в канале разработки программы Windows Insider. Windows 10 21H2 Build 21337 содержит множество настроек для виртуальных рабочих столов, проводника Windows...

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

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

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

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

[Из песочницы] Быстрая разработка Web приложения на Vaadin и Spring Boot Целью данной статьи является систематизация процесса разработки веб приложения на Vaadin 14 с использованием Spring Boot. Перед прочтением данной статьи, рекомендую прочитать следующий материал: Введение в Spring Boot Spring Data JPA Lombok возвращает величие Java Vaadin F...

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

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

Running With Scissors анонсировала шутер POSTAL: Brain Damaged Что только не пережила серия POSTAL с момента релиза первой части, который состоялся в далёком 2003 году. С тех пор вторая часть стала самой узнаваемой игрой в серии и именно она задала вектор развития последующих частей, которые оказались не такими примечательными. На данны...

Зажигаем светодиодную ленту на базе WS2811 при помощи ПЛИС Всем привет. Уже почти два года назад я приобрел на aliexpress китайский набор, состоящий из отладочной платы EasyFPGA A2.2, с Cyclone IV EP4CE6E22C8N на борту, ИК пульта SE-020401, программатора, пары USB проводов и шлейфов. Долгое время все это добро лежало у меня без дел...

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

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

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

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

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

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

Из жизни с Kubernetes: Как мы выносили СУБД (и не только) из review-окружений в статическое Примечание: эта статья не претендует на статус лучшей практики. В ней описан опыт конкретной реализации инфраструктурной задачи в условиях использования Kubernetes и Helm, который может быть полезен при решении родственных проблем. Использование review-окружений в CI/CD м...

Релиз новой версии плагина DevOpsProdigy KubeGraf Друзья, всем привет! В прошедшие выходные состоялся долгожданный (а принятие PR шло больше месяца) релиз новой версии нашего плагина для мониторинга kubernetes-приложений DevOpsProdigy KubeGraf v1.2.0! Хочу рассказать вам о его новых фишках. Читать дальше →

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

PubSub почти бесплатно: особенности NOTIFY в PostgreSQL Если ваши микросервисы уже используют общую базу PostgreSQL для хранения данных, или ей пользуются несколько экземпляров одного сервиса на разных серверах, можно относительно «дешево» получить возможность обмена сообщениями (PubSub) между ними без интеграции в архитектуру Re...

Разрабатываем чат на React с использованием Socket.IO Доброго времени суток, друзья! Хочу поделиться с вами опытом разработки простого чата на React с помощью библиотеки «Socket.IO». Предполагается, что вы знакомы с названной библиотекой. Если не знакомы, то вот соответствующее руководство с примерами создания «тудушки» и ч...

Визуализация сложных данных с использованием D3 и React Существует много возможныx вариантов реализации сложных графиков в ваших проектах. Я за несколько лет попробовал все возможные варианты. Сначала это были готовые библиотеки типа AmCharts 4. AmCharts сразу же оказался большим и неповоротливым. После этого были более гибкие и ...

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

[Из песочницы] Использование контроллера Arduino для прерываний В данной стать я приведу пример использования arduino контроллера для вызова прерываний программы на C#. Стоит отметить, что в WindowsForms присутствует элемент Timer который включается и выполняет код через определенный промежуток времени. Я решил реализовать подобное...

[Из песочницы] Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство Введение Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО. Следует отметить, что существует определенная проблема, связанная с невозм...

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

Дайте все №5: новые возможности для НКО и активистов Подборка образовательных и других возможностей от редакции Теплицы.  Онлайн-конференция «Фандрайзинг нового времени» 27 апреля пройдет онлайн-конференция «Фандрайзинг нового времени», организованная Клубом фандрайзеров. Конференция – это восемь семинаров и воркшо...

[Перевод] Создание тёмной темы для Stack Overflow 30 марта 2020 года разработчики Stack Overflow дали посетителям сайта возможность пользоваться бета-версией тёмной темы. Материал, перевод которого мы публикуем, посвящён рассказу о том, как создавалась тёмная тема Stack Overflow. Баннер на Stack Overflow, который позволяе...

[Перевод] Высокопроизводительный TSDB benchmark VictoriaMetrics vs TimescaleDB vs InfluxDB VictoriaMetrics, TimescaleDB и InfluxDB были сравнены в предыдущей статье по набору данных с миллиардом точек данных, принадлежащих 40K уникальным временным рядам. Несколько лет назад была эпоха Zabbix. Каждый bare metal сервер имел не более нескольких показателей – использ...

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

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Что такое CarKey, как он работает и когда выйдет Когда технология NFC только начала появляться в смартфонах, никто особенно не знал, зачем она нужна и как её можно использовать. Основная причина её внедрения – метки – как-то не прижились, и производителям пришлось срочно изобретать новый способ применения модуля ближнего ...

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

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

Автоматизация тестирования ПО QIWI-терминалов Привет, Хабр! Сегодня поговорим на специфическую тему: автоматизация тестирования ПО для терминалов самообслуживания QIWI. В теме автоматизации тестирования есть области, которые исхожены вдоль и поперек несколько раз, например, тестирование веб-сервисов. Для таких област...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

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

[Перевод] Визуализация работы сервис-воркеров (Service Workers) Доброго времени суток, друзья! Вероятно, многие из вас слышали о таком новшестве в экосистеме JavaScript, как сервис-воркеры, которые являются ключевым элементом современной веб-разработки. Сервис-воркеры становятся все более востребованными, в первую очередь, благодаря п...

Как настроить Битрикс 24 Для качественной и грамотной работе команды компании многие руководители используют уникальную программу от известного разработчика «1С Битрикс». С помощью услуг сервера Битрикс 24 можно с удобством управлять офисной работой, осуществлять контроль за работой всей компании и ...

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

6 мифов о разработке в финтехе Привет! Когда спрашивают, чем современная IT-компания отличается от финтеха с точки зрения разработки, чаще всего на ум приходит стек. Оно и ясно, ведь финтех и банки — это процессинг, гора легаси, множество систем, которые обновляются не так быстро, как хотелось бы. И возн...

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

«Новые Былины». Для dev, ops и любознательных людей В этой статье я буду настраивать рабочее окружение для разработки игры "Былины", а также выполню разбиение самой игры на части, пригодные для использования в OpenFaaS. Все манипуляции буду делать на Linux, Kubernetes буду разворачивать в minikube с использованием VirtualBox...

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

Windows 10 Build 19564 доступна для скачивания Компания Microsoft выпускает новую сборку Windows 10 под номером 19564. Данная сборка имеет 2 отличительных изменения. Во-первых, в параметрах Настроек графики появилось больше приложений для выбора использования предпочтительного ГПУ, а также появился фильтр самих приложени...

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

Ориентированный на анонимность новый проект Джастина Сана обещает «преобразовать интернет» CEO Tron Foundation Джастин Сан раскрыл подробности проекта под названием MPC Torch, являющегося частью ориентированного на анонимность пользователей протокола TRONZ, в основе которого лежит технология zk-SNARKS. По словам Сана, к сегодняшнему дню к проекту уже присоединилос...

Microsoft анонсировала WinUI 3 Preview 1 Microsoft выпустила публичную версию WinUI 3 Preview 1 (библиотека для создания пользовательского интерфейса приложений). В компании утверждают, что это самая передовая разработка на данный момент. Она помогает использовать новые дизайнерские элементы в универсальных програ...

[Перевод] Четыре простые настройки терминала Kubernetes, которые повысят вашу продуктивность Я управлял эксплуатацией больших Kubernetes-кластеров более трёх лет, и хочу поделиться своим минималистичным подходом к настройке терминала kubectl terminal, которая доказала свою высокую эффективность в повседневной работе. Хорошо настроенный терминал с командной строкой ...

Классификация с многими метками Привет, Хаброжители! Мы решили привести опубликовать отрывок из книги Андрея Буркова «Машинное обучение без лишних слов», посвященный классификации. Для описания изображения на рисунке можно использовать одновременно несколько меток: «хвойный лес», «горы», «дорога». Если ч...

[Перевод] Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Ключевые выводы Gitflow — это совместная модель ветвления, которая пытается использовать мощность, скорость и простоту ветвления Git. Этот метод хорошо работал в ситуации, котор...

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

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

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

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

Опыт работы с карт-принтерами, часть 1 Данная статья будет полезна тем, кто начинает работу с карт-принтерами(Evolis Primacy и Smart-51) и кодировкой NFC карт типа Mifare Classic и Mifare DESFire EV2. В первой части мы опишем общее впечатление от работы с карт-принтерами, а также проблемы с которыми нам пришлось ...

Как настроить Elasticsearch, чтобы не было утечек За последний год возникало много утечек из баз Elasticsearch (вот, вот и вот). Во многих случаях в базе хранились персональные данные. Этих утечек можно было избежать, если бы после разворачивания базы администраторы потрудились проверить несколько несложных настроек. Сегодн...

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

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

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

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

Истории аварий с Patroni, или Как уронить PostgreSQL-кластер В PostgreSQL нет High Availability из коробки. Чтобы добиться HA, нужно что-то поставить, настроить — приложить усилия. Есть несколько инструментов, которые помогут повысить доступность PostgreSQL, и один из них — Patroni. На первый взгляд, поставив Patroni в тестовой среде...

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

Netflix снял научно-фантастический сериал Alien Worlds / «Чужие миры», в котором попытался представить, как может выглядеть жизнь на других планетах [трейлер] Когда обычные «игровые» сериалы надоедают, самое время посмотреть что-то более интересное, познавательное и «правильное» с точки зрения науки. Подобные проекты обычно можно найти в эфире телеканалов Discovery, National Geographic и им подобных, однако в N...

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

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

Разработка измерительного прибора ИРИС Приветствую, сообщество Хабра. Недавно наша компания выпустила на рынок контрольно-измерительный прибор ИРИС. Являясь главным программистом этого проекта, хочу рассказать вам про разработку прошивки прибора (По оценке руководителя проекта прошивка составляет не более 30% от...

Логирование в Kubernetes: как собирать, хранить, парсить и обрабатывать логи Разберём основы логирования в Docker и Kubernetes, а затем рассмотрим два инструмента, которые можно смело использовать на продакшене: Grafana Loki и стек EFK (Elasticsearch + Fluent Bit + Kibana). Материал статьи — выжимка из открытой лекции школы «Слёрм». Если есть желание...

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

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

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

[Перевод] Создание сайта с помощью C++ Возможно ли это? Да. Знаю, звучит странно и больше похоже на упражнение в бесполезности, но это не так. В этой статье я расскажу, как можно использовать С++ в разработке сайта, и приведу несколько достойных причин этому. Будет не только интересно, но также полезно и очень ...

[Перевод] Анатомия накопителей: жёсткие диски Он магнитный. Он электрический. Он фотонный. Нет, это не новое супергеройское трио из вселенной Marvel. Речь идёт о хранении наших драгоценных цифровых данных. Нам нужно где-то их хранить, надёжно и стабильно, чтобы мы могли иметь к ним доступ и изменять за мгновение ока. З...

Платформа Visary: как мы пришли к микросервисам и low-code Давайте знакомиться. Мы Научно-производственный центр «БизнесАвтоматика» — российский разработчик интеллектуальных информационно-аналитических систем. Сегодня мы хотим рассказать о нашей ключевой разработке — платформе Visary. На ней реализованы десятки информационных систем...

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

Адаптер Techart TZC-01 позволяет использовать объективы с креплением Canon EF с камерами Nikon Z Компания Techart представила адаптер TZC-01. Он позволяет использовать большинство объективов с креплением Canon EF производства Canon, Sigma, Tamron, Tokina, Zeiss и других производителей совместно с камерами Nikon Z 6 и Z 7. При этом сохраняются функции управления диа...

[Перевод] А нужен ли Redis или хватит PostgreSQL Есть проверенная архитектура, которую я видел много раз для поддержки ваших веб-сервисов и приложений: PostgreSQL для хранения данных Redis для координации очередей фоновых заданий (и некоторых ограниченных атомарных операций) Redis — это фантастика, но что, если бы я с...

Масштабируем WebSocket соединения на Go Мессенджер Авито – это: 12 m уникальных пользователей в месяц; Версии для всех современных платформ (Web, iOS, Android); Достаточно нагруженное приложение – около 800 тысяч подключений онлайн по WebSocket (основной протокол общения с пользователями). Александр Емелин из ко...

Веб тренды 2020 которые стоит попробовать Последние несколько лет мы наблюдаем множество изменений в мире веб технологий. В 2020 году, я хочу обратить ваше внимание на два основных тренда/цели которые есть у веб комьюнити: расширяемость и совместимость. Расширяемость (Extensibility) Расширяемость это когда вы может...

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

[Перевод] Создавайте приложения бесплатно с помощью Azure Cosmos DB Free Tier Хотите создать новое приложение, разработать и протестировать или запустить небольшие производственные рабочие нагрузки с помощью Azure Cosmos DB? Наш новый уровень бесплатного пользования позволяет начать работу без затрат и сэкономить деньги при создании и развитии новых п...

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

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

База данных как сервис: когда, зачем и как использовать DBaaS в облаке Database by Julian-Faylona Многие облачные платформы предлагают базы данных как сервис (Database as a Service, DBaaS). Базу можно создать в облаке в несколько кликов, не тратя время на настройку и поддержку. Но не всем приложениям облачные базы данных подходят. Мы расскажем...

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

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

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

[Перевод] Как я модернизировал свою Flash-игру В этом посте я расскажу о том, как перенёс свою Flash-игру Frog Fractions на современную платформу. В результате я создал частично автоматизированный порт на Unity при помощи Haxe. Пост будет интересен всем, кто пытается модернизировать свою кодовую базу на Flash. В посте б...

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

[Из песочницы] Краткое сравнение архитектуры SDS или поиск подходящей платформы хранения (GlusterVsCephVsVirtuozzoStorage) Данная статья написана для того, чтобы помочь выбрать для себя подходящее решение и понять отличия между такими SDS как Gluster, Ceph и Vstorage (Virtuozzo). В тексте используются ссылки на статьи с более детальным раскрытием тех или иных проблем, поэтому описания будут мак...

Приложение «Блокнот» больше не будет обновляться через Microsoft Store В начале 2018 года Microsoft заявила, что обновление Windows 10 20H1 заменяет встроенное приложение «Блокнот» версией Microsoft Store, которая позволит компании обновлять «Блокнот» более быстрыми темпами.Похоже, что Microsoft изменила свое решение и, в конце концов, не прине...

Небезопасный телеком Руководитель группы исследований безопасности телекоммуникационных систем Positive Technologies Павел Новиков рассказал на пресс-конференции "Кибербезопасность 2019-2020: тенденции и прогнозы" о небезопасном телекоме. "До сих пор актуальны уязвимости сетей 2G и 3G. Они являю...

Как включить 3D-звук в играх в Windows 7/8/10 Наверное практически всем известно, что с выходом Windows Vista ещё в 2007 году, а в след за ней и во всех последующих версиях Windows звуковой API DirectSound3D был удален из Windows, вместо DirectSound и DirectSound3D стали использоваться новые API XAudio2 и X3DAudio. Вс...

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

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

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

TV Box или Smart TV? Приветствую вас, хабровчане! Накануне выходных и в связи с наступлением серых, осенних будней – мы поговорим про увеселительные гаджеты. Речь пойдёт о том, что же лучше – TV Box или Smart TV? Для кого-то ответ очевиден, а кто-то только подумывает – какой же выбрать TV Box...

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

[Перевод] Разработка веб-приложения для транскрибирования аудиозаписей с использованием Python, Streamlit и AssemblyAI Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как, пользуясь Streamlit, создать веб-приложение, которое позволяет пользователям транскрибировать аудиозаписи, выгружая их на специальный сервер. В проекте будет использован API AssemblyAI, позволяю...

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

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

Много свободной RAM, NVMe Intel P4500 и все люто тормозит — история о неудачном добавлении раздела подкачки В данной статье я расскажу о ситуации, которая недавно произошла с одним из серверов нашего облака VPS, поставив меня в тупик на несколько часов. Я около 15 лет занимаюсь конфигурированием и траблшутингом серверов Linux, но данный случай совершенно не укладывается в мою прак...

CrowdSec — современная альтернатива Fail2Ban и коллективный иммунитет для Интернета CrowdSec Инструмент Fail2Ban хорошо известен админам. Программа анализирует логи на сервере и подсчитывает количество попыток доступа с конкретных IP-адресов по указанным протоколам. В случае нарушения правила данный IP-адрес блокируется на заданный отрезок времени. Наприм...

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

[Перевод] Провал ERP проекта (Liqui Moly, Отто и им подобным посвящается) Привет, Хабр! После того, как несколько моих коллег независимо друг от друга прислали линк к этой статье, мне подумалось, что, возможно, она будет полезна и для тех, кто не говорит по-немецки. Посему предлагаю Вашему вниманию перевод статьи из немецкой версии журнала CIO от...

[Перевод] Почему нам нужен DevOps в сфере ML-данных Развертывание машинного обучения (machine learning, ML) в продакшн – задача нелегкая, а по факту, на порядок тяжелее развертывания обычного программного обеспечения. Как итог, большинство ML проектов так никогда и не увидят света — и продакшена — так как большинство органи...

Маркетинг на рынке США: как SaaS-стартапу заработать десятки тысяч долларов с помощью AppSumo.com В русскоязычном интернете нет недостатка в статьях по выводу продукта на Product Hunt и другие похожие сервисы, но не так много материалов по использованию ресурса AppSumo. Я решил поделиться своим опытом продвижения продукта на американском рынке с помощью этого сервиса. ...

Apple заменит «Сообщения» на Mac новым приложением из iOS 14 На днях мы писали о том, что в этом году некоторые хакеры и блогеры могли получить доступ к ранней сборке iOS 14. Этим обуславливается большое количество утечек, скриншотов и другой информации о новой версии мобильной операционной системы Apple. Особо находчивые начали взаи...

[Перевод] Аутентификация REST API с помощью Spring Security и MongoDB Всем привет! Уходя на выходные делимся с вами статьей, которая была переведена в преддверии старта курса «Разработчик на Spring Framework». В прошлых статьях мы создавали RESTful веб-сервис, теперь же мы поговорим о безопасности Вступление В предыдущем посте мы рассмотр...

Kotlin Pokedex: энциклопедия покемонов на Kotlin Kotlin Pokedex — не знаешь, что делать, делай приложение про покемонов! Или про кино. В данном случае первый вариант — Pokedex на примере сверхъестественных существ показывает как использовать Kotlin, Live data, Navigation, ViewModel, Rest с retrofit, офлайновую ...

Google выпустила 3 приложения, которые помогут избавиться от зависимости от смартфонов Google выпустила 3 приложения для любителей цифрового благополучия Google особенно подходит к вопросам психологического состояния владельцев Android-аппаратов. Ей важно, как себя чувствуют клиенты, именно поэтому компания в Android 9 добавила функцию цифрового благополучия, ...

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

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations. Я расскажу про подходы, которые мы использовали, про ошибки,...

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

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

Светодиодный костюм Это первая часть моей публикации, в которой я постараюсь кратко и лаконично изложить технологию построения современного светодиодного костюма. Уже более 4-х лет на рынке доступны цифровые светодиодные ленты на базе IC LED чипов (смарт пикселей). Суть таких пикселей доволь...

[Перевод] Как избавиться от разрыва кадров и задержки ввода в играх Разрыв кадров (screen tear) или задержка ввода (input lag)? Использовать ли vsync? Очень долгое время в мире игр для PC это был вопрос «или-или». Можно добиться или картинки без разрыва кадров, или низкой задержки ввода. Но невозможно получить и то, и другое. Или можно? От...

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

Three.js и геометрия При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривает...

Fastify.js — не только самый быстрый веб-фреймворк для node.js Последние 10 лет среди веб-фреймворков для node.js самой большой популярностью пользуется Express.js. Всем, кто с ним работал, известно, что сложные приложения на Express.js бывает сложно структурировать. Но, как говорится, привычка — вторая натура. От Express.js бывает слож...

Windows 10 Build 19042.685 теперь доступна для загрузки Последнее обновление для Windows 10 в 2020 году сейчас распространяется для пользователей через каналы Центра обновления Windows. Microsoft также опубликовала автономные установщики Windows 10 KB4592438 для пользователей, которые хотят устанавливать исправления на нескольких...

Планы команды IntelliJ Platform на 2020 год Сегодня мы хотели бы рассказать о некоторых из текущих проектов команды IntelliJ Platform, которые затронут IntelliJ IDEA и другие IDE на базе нашей платформы. Результаты этих проектов будут выпускаться в течение следующего года; некоторые из них попадут уже в релиз 2020.1, ...

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

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

Panasonic представил комплексное решение TOUGHBOOK Omnia для ускоренной разработки бизнес-приложений Компания Panasonic представила комплексное решение TOUGHBOOK Omnia на базе языка программирования MCL для ускоренной разработки программного обеспечения. Решение позволяет пользователям Panasonic TOUGHBOOK эффективно управлять проектами цифровой трансформации и сократить вре...

Apple, Google и Amazon работают над единой платформой умного дома Умный дом станет универсальным благодаря усилиям Apple, Google и Amazon Умный дом – это сфера, которая ещё не поддалась Apple. Конечно, в Купертино попытались прощупать почву, выпустив HomePod и даже приложение «Дом», из которого можно управлять колонкой и другими гаджетами,...

Microsoft рассказала о разработке приложений для Windows 10X и Surface Duo Microsoft поделилась новой информацией о разработке приложений для грядущей операционной системы Windows 10X, а также рассказала, как разработчики могут адаптировать Android-приложения для поддержки Surface Duo. Складные устройства с двумя экранами предоставляют новые спосо...

SSL-сертификаты от Let's Encrypt с cert-manager в Kubernetes В этой статье я расскажу о том, как автоматизировать заказ и продление сертификатов от Let’s Encrypt (и не только) для Ingress’а в Kubernetes с помощью дополнения cert-manager. Но начну с краткого введения в суть проблемы. Читать дальше →

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

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

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

[Перевод] Для edge-серверов десятого поколения Cloudflare выбирает процессоры от AMD Ежедневно через сеть Cloudflare Network проходит более миллиарда уникальных IP-адресов; она обслуживает более 11 млн HTTP-запросов в секунду; она находится на расстоянии не более 100 мс от 95% интернет-населения. Наша сеть раскинулась на 200 городов в более чем 90 странах,...

«Худший дрон в мире». Все дроны GoPro Karma перестали работать Компания GoPro, чьё имя на какое-то время даже стало нарицательным, в 2016 году представила свой первый дрон Karma. В продажу он поступил осенью того же года, но почти сразу производитель отозвал свои устройства из-за проблемы с непроизвольным отключением питания. Позж...

OWC вдвое увеличивает ёмкость твердотельных накопителей для Apple Mac Компания OWC представила новую версию твердотельного накопителя (solid-state drive, SSD) Aura P12 ёмкостью 4 Тбайта, который даст возможность компании вдвое увеличить ёмкость своих внешних накопителей для компьютеров Apple Macintosh и других. Так, флагманский Accelsior 4M2 с...

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

Обратная разработка аналоговой видеокамеры Ранее на хабре я публиковал статьи, связанные с системой аналогового видеонаблюдения. В частности, были статьи, связанные с изучением файловой системы HDD видеорегистратора (DVR). В данной статье речь пойдёт про обзор навороченной аналоговой видеокамеры модели Evidence EVR...

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

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

[Из песочницы] База данных на ScriptableObject c системой сейва/загрузки Введение В каждой игре есть данные, с которыми работают гейм-дизайнеры. В рпг — это база данных айтемов, в матч-3 — стоимость в кристаллах инструментов из магазина, в экшенах — количество хп, на которое лечит аптечка. Для хранения таких данных существует много способов — кт...

[Из песочницы] Капча для codeigniter 4 Добрый день! Несмотря на заголовок статьи, в ней будут представлены общие методы и функции, которые я использовал для создания своей капчи, которые можно применить и в других фреймворках с минимальными правками. Некоторые функции и подходы основываются на материалах поста Ра...

Как подружить PyTorch и C++. Используем TorchScript Около года назад разработчики PyTorch представили сообществу TorchScript — инструмент, который позволяет с помощью пары строк кода и нескольких щелчков мыши сделать из пайплайна на питоне отчуждаемое решение, которое можно встроить в систему на C++. Ниже я делюсь опытом его ...

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

Новая эра веб-разработки или «всё уже есть» Ты никогда не решишь проблему, если будешь думать так же, как те, кто ее создал. Альберт Эйнштейн В далеком 1989 году британский ученый Тим Бернерс-Ли создал системы обмена документами Enquire, которая и стала прототипом глобальной сети интернет. Где были им представлены ря...

Выпущено финальное обновление для Windows 7 – KB4534310 14 января Windows 7 достигла конца срока службы, и операционная система больше не будет получать никаких других исправлений безопасности. Windows 7 KB4534310, по-видимому, является последним обновлением для ОС, а KB4534314 является последним обновлением только для безопаснос...

Ask me anything! Задай вопрос Android-команде Badoo Предлагаем продолжить добрую традицию Ask me anything на Хабре и поговорить про разработку Android-приложений. Сегодня и завтра Android-команда Badoo будет на связи и ответит на любые вопросы о разработке и тестировании приложений с многомиллионной аудиторией, даст советы на...

Стоит ли пользоваться iMessage в 2021 году iMessage — один из самых популярных способов общения в мире. Во всяком случае так говорит Apple на своих презентациях, использует iMessage в своей рекламе и делает всё, чтобы популяризовать собственный сервис. И все же за пределами Соединенных Штатов между пользователям и i...

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

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

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

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

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

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

[Перевод] Способы использования Math.random() в JavaScript Math.random() — это один из API JavaScript. Это — функция, которая возвращает случайные числа. Диапазон возвращаемых чисел представлен значениями от 0 (включая 0, то есть, она может вернуть 0) до 1 (не включая 1, то есть — единицу она вернуть не может). Math.random(); // во...

Fluid Components — новый подход к документам и продуктам Microsoft Office Компания Microsoft представила новый подход к документам и продуктам Microsoft Office, который именуется Fluid Components. Компоненты фреймворка могут как кубики Lego соединяться вместе в различных приложениях и в веб-среде. Компоненты — это таблицы, графики, списки, являющ...

Опробовать Windows 11 можно, не устанавливая ОС: выпущена имитация Windows 11 in React Разработчик под ником Blue Edge с использованием ReactJS, SCSS, CSS создал имитацию операционной системы Windows 11 в браузере, назвав свой проект Windows 11 in React. Теперь любой желающий может увидеть, как выглядит графический интерфейс операционной системы Windows 1...

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

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

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

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

Обнажённая электроника — бесплатные фото без СМС и регистрации Привет, Интернет. В процессе работы над проектом Nude Electronics Art я сделал достаточно качественные фотографии электронных плат и решил поделиться ими со всеми. Вы можете скачать их бесплатно на сайте Pixabay, в том числе для коммерческих целей. Коллекция будет потихонь...

AirTag взломали и смогли отправить текстовое сообщение через сеть Локатора Сеть приложения Локатор (Find My) с недавнего времени используется Apple для отслеживания местонахождения не только устройств, но и также вещей и предметов, на которых установлен AirTag. Маячок сам подключается к любому ближайшему iPhone, Mac или другому устройству Apple. К...

[Из песочницы] Пионеры и первопроходцы. Циркулярный строительный 3D-принтер – как все начиналось? Тысячи лет люди занимались строительством, не особо вникая, как можно модернизировать процесс в более простой и дешёвый. Более консервативной отраслью, чем строительство, можно назвать, пожалуй, только сельское хозяйство. Но современные общемировые тенденции рынка неумоли...

Настольные x86 процессоры Intel Alder Lake-S будут выполнены на базе гибридной технологии с большими и малыми ядрами В рамках проведения мероприятия Architecture Day 2020 компания Intel рассказала о своих грядущих процессорах Alder Lake-S. Эти чипы ориентированы на применение в настольном сегменте и должны появиться на рынке в 2021 году. И это будут первые устройства в массовом настольном ...

[Перевод] Введение в GitHub Actions В этой статье Senior App Dev Manager Джейсон Джордано (Jason Giordano) покажет нам, как использовать GitHub Actions для создания очень простого CI/CD решения. GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие пр...

Apple заплатит 15 млрд долларов за беспроводные технологии для iPhone Новая заявка, которая появилась в базе данных Комиссии по ценным бумагам и биржам США (SEC) показывает, что Apple заключила два отдельных контракта с производителем беспроводных компонентов Broadcom на 15 миллиардов долларов. Согласно новым данным, Broadcom предоставит...

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

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

[Перевод] Создаем план действий с помощью AWS Cloud Adoption Framework Перевод статьи подготовлен специально для студентов курса «Cloud Solution Architecture». Источник Скачать руководство Планы действий AWS CAF помогут вам подготовиться к переходу на облачный стек технологий. Путешествие начинается с того, что ваша команда руководителей...

USB-C должен был упростить нашу жизнь, но превратил ее в кошмар СМИ провозгласили USB-C кабелем будущего, когда он начал получать широкое распространение с однопортовым MacBook от Apple в 2015 году. Это был огромный шаг вперед по сравнению с USB-портом предыдущего поколения, поскольку позволял использовать множество различных дополнител...

С начала года операторы связи зарегистрировали более 766 тыс. РЭС и ВЧУ по упрощенному порядку электронной регистрации Согласно новому порядку, РЭС и ВЧУ теперь регистрируются посредством внесения соответствующих записей в созданный Роскомнадзором реестр зарегистрированных РЭС и ВЧУ. С момента внесения записи в реестр РЭС считается зарегистрированным. Факт регистрации также подтверждается вы...

Использование партиционирования в MySQL для Zabbix с большим количеством объектов мониторинга Для мониторинга серверов и служб у нас давно, и все еще успешно, используется комбинированное решение на базе Nagios и Munin. Однако эта связка имеет ряд недостатков, поэтому мы, как и многие, активно эксплуатируем Zabbix. В этой статье мы расскажем о том, как минимальными у...

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

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

Распределённое хранение данных в IPFS Cluster Дисклеймер: эта статья рассчитана на понимание основных принципов работы InterPlanetary File System. Если вы не знакомы с IPFS, начните с этой статьи или загляните на ipfs.io. Самый известный и труднопреодолимый недостаток IPFS в скорости её работы. Так как все данные раз...

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

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

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

Трамп придумал, как построить 5G без Huawei Как пишет The Wall Street Journal (WSJ) со ссылкой на главного экономического советника президента США Ларри Кудлоу, за проектом стоит лично президент США Дональд Трамп. Кудлоу добавил, что полный отказ от оборудования и ПО Huawei при развертывании сетей 5G в США - это вопро...

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

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

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

[Из песочницы] Начинаем работу с Google Sheets на Python. От регистрации до чтения данных Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака. Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным. Когда я впервые столкнулся с необходимостью работы c ...

Grafana+Zabbix: Визуализация работы производственной линии В этой статья я хочу поделиться опытом использования open source систем Zabbix и Grafana для визуализации работы производственных линий. Информация может быть полезна тем, кто ищет быстрый способ визуального отображения или аналитики собранных данных в проектах промышленной ...

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

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

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

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

Гибкое управление Data Science-продуктами Асхат Уразбаев был программистом, руководил IT-командами, но заинтересовался Agile и основал компанию ScrumTrek, которая помогает компаниям внедрять гибкие подходы. Однажды в ScrumTrek за помощью обратилась компания с data science-продуктами. Казалось бы, работа понятна и с...

[Перевод] Используем nftables в Red Hat Enterprise Linux 8 Статья подготовлена в преддверии старта курса «Администратор Linux» В Red Hat Enterprise Linux 8 приоритетным низкоуровневым решением является nftables. В этой статье мы поговорим о том, как начать использовать nftables. Наиболее актуальной она будет для системных администр...

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

Разрабатываем первое мобильное приложение на Flutter от Google Flutter — фреймворк от Google В последнее время программированием интересуются всё больше пользователей. Наверняка и вас заинтересовала эта тема. Мы каждый день используем мобильные приложения гигантов рынка, и многих волнует вопрос — «Как же им удается созд...

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

Как реализовать интеграцию с ЕСИА на Java без лишних проблем Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), ― она позволила распознавать личность человека и получать о ней данные в...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

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

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

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

Купить сервер Dell PowerEdge R740 Улучшить работу компьютерной сети в офисе или в корпорации можно с использованием серверов, которые максимально улучшат производительность вычислительной функции, систем хранения информации и документов, создаст оптимальный баланс пласт – ускорителей. В продаже представлен б...

OnePlus рассказала, когда выпустит Oxygen OS 11 для OnePlus 7 Pro и остальных телефонов На выходных компания OnePlus опубликовала сообщение на своем официальном форуме о том, когда она планирует выпустить последнее обновление Oxygen OS 11 для всех своих телефонов. Программное обеспечение на базе Android 11 в настоящее время доступно только для моделей OnePlus ...

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

iOS 13.3.1 позволяет полностью отключить геолокацию на новых iPhone Технология Ultra Wideband могла сама активировать службы геолокации, но пользователям это не понравилось Apple всегда выступала решительно против слежки за пользователями и не только старалась всячески избегать этого сама, но и критиковала тех, кто позволял себе нечто подобн...

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

Автозагрузка модулей с использованием динамического импорта Недавно в Node.js была анонсирована поддержка ECMAScript-модулей, а в ES2020 появилась поддержка динамических импортов. В рамках данной статьи я расскажу о реализации очевидного кейса использования динамических импортов — с неизвестными заранее названиями директорий. Читать...

Google Meet делает подножку пресловутому Zoom Только ленивый не рассказал о том, как опасен сервис Zoom, и разработчики Google Meet решили использовать этот скандал в свою пользу. Они улучшили свое приложение для видеоконференций. В общем Google не отличается большим вниманием к своим мессенджерам, но пройти мимо сканда...

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

Убийца EMUI и MIUI нацелился на важнейший рынок В ходе мероприятия Oppo Inno Day 2019 в Шэньчжэне Ален Ву (Alen Wu), вице-президент Oppo и президент по глобальным продажам, рассказала о текущей пользовательской базе ColorOS и о перспективах ее роста. Напомним, с недавних пор ColorOS называют убийцей популярных оболоч...

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

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

[Перевод] Использование переменных Grafana для большей интерактивности дашбордов Flowers and butterflies by marijeberting С помощью визуализации данных проще понять и осмыслить собранную информацию, использовать ее на практике. При этом работа с дашбордами должна быть простой для нетехнических пользователей — хорошо, если они смогут получать нужные дан...

Как использовать push-уведомления правильно Маркетинг непрерывно развивается, и его Сетевой сегмент относительно недавно столкнулся с наплывом push-уведомлений. Такие элементы, проработанные грамотными дизайнерами, выглядят как системные сообщения, на самом деле являясь рекламой. Какую выгоду можно использовать от дан...

Security Week 50: атаки Man-in-the-middle в Confluence и Linux Сразу несколько новостей этой недели описывают атаки типа Man-in-the-middle, а также средства борьбы с ними. Начнем с относительно курьезной новости: уязвимость нулевого дня случайно обнаружил пользователь Твиттера SwiftOnSecurity — анонимная персона, специализирующаяся преи...

Open source – наше всё События последних дней заставляют нас заявить позицию по новостям вокруг проекта Nginx. Мы в Яндексе считаем, что современный интернет невозможен без культуры open source и людей, которые инвестируют свое время в разработку программ с открытым кодом. Судите сами: мы все испо...

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

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

Конфиденциальность и прозрачность: После слива данных Facebook наконец позаботится о своих пользователях После скандала в Cambridge Analytica и недавней проблемой с безопасностью, компании придется доказывать свою безопасность регуляторным органам, а общественности - свою лояльность и полезность. Похоже, что Facebook наконец-то позаботится о своих пользователях. Изменить свою ...

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

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

Что общего между LVM и матрешкой? Доброго времени суток. Хочу поделиться с сообществом практическим опытом построения системы хранения данных для KVM с использованием md RAID + LVM. В программе будет: Сборка md RAID 1 из NVMe SSD. Сборка md RAID 6 из SATA SSD и обычных дисков. Особенности работы TRIM/DI...

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

Google может сама отправлять SMS с вашего телефона. Зачем С вашего телефона отправляются неизвестные сообщения в Google? Так и задумано Спам, фишинг, криптоджекинг. Думаю, все слышали про эти явления и наверняка сталкивались хотя бы с одним из них. Несмотря на то что искоренить их полностью всё-таки не удалось, мы научились с ними ...

[Из песочницы] Все о проекте спутниковый интернет Starlink. Часть 1 Проект StarLink компании SpaceX американского миллиардера и энтузиаста космоса Илона Маска хотя и появился достаточно давно, но стал широко обсуждаться в СМИ полтора года назад. Тема спутниковой связи является весьма сложной, так как объединяет в себе не только технические...

Navigation bar и анимация перехода Поведение UINavigationBar при переходе по стеку может показаться непредсказуемым и часто забагованным. Но, на самом деле, так и есть! Эта статья призвана освежить знания о принципах работы и показать возможности  кастомизации поведения.Немного общей теорииЕсли вы хорошо...

Как сэкономить время и силы на внедрении стандартов безопасной разработки с помощью OWASP SAMM 5 марта 2020 года в офисе OZON прошёл очередной митап Московского отделения сообщества OWASP. Кажется, что получилось здорово, а краткий отчёт с материалами встречи был недавно опубликован на Хабре. В этом же посте представлен доклад oxdef. Продолжая серию экспресс-докладов...

Устройство Microsoft Surface Neo появится в следующем году Компания Microsoft продолжает работать над складным смартфоном с двойным экраном на базе операционной системы Windows 10X. Гаджет Microsoft Surface Neo идеально подходит для замены планшета и ноутбука. В устройстве будет использована новая операционная система Window...

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

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

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

[Перевод] Используем Chrome DevTools профессионально И снова здравствуйте. В преддверии старта курса «JavaScript Developer. Professional» перевели 11 советов для тех, кто использует Chrome в качестве среды разработки. Итак, по тем или иным причинам вы решили при разработке ориентироваться на Chrome. Вы открываете инструмент...

[Перевод] Как я получил сертификат TensorFlow-разработчика (и как его получить вам) В начале мая я решил получить сертификат TensorFlow-разработчика. Для этого я разработал программу обучения для совершенствования своих навыков и выполнил задания сертификационного экзамена пару дней назад (3 июня). Оказалось, что я сдал экзамен успешно. Позвольте мне рас...

Большим данным подготовили стандарт Проект нацстандарта подготовили Национальный центр цифровой экономики МГУ имени М.В. Ломоносова и Институт развития информационного общества. Стандарт "Информационные технологии. Большие данные. Обзор и словарь" устанавливает термины и определения основных понятий в области ...

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

Ботнет Mirai воскрес и атакует IoT-устройства Ботнет Emotet занял в феврале второе место в рейтинге самого активного вредоносного ПО в мире. Специалисты Check Point обнаружили, что Emotet начал использовать новые векторы атак. Первый - это фишинговая СМС-рассылка, которая нацелена на пользователей США. Сообщения якобы о...

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

Упрощаем работу с Angular с помощью @taiga-ui/cdk: 5 наших лучших практик CDK — базовый пакет библиотеки компонентов Taiga UI. Он не имеет никакой привязки к визуальной составляющей библиотеки, а скорее служит набором полезных инструментов для упрощения создания Angular-приложений.Среди всех этих инструментов я выделил мою пятерку фаворитов. Я исп...

Precursor — собери сам свое open-source мобильное устройство с криптографической защитой На днях представлен проект открытой программной платформы для создания мобильных устройств. Он получил название Precursor. По словам автора, это Arduino или Raspberry Pi для мобильной отрасли. На базе платформы можно собрать любой мобильный девайс. В отличие от тех же о...

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

Использование перехватов операций для бэкапа файлов в macOS “на лету” Привет, Хабр! Меня зовут Денис Копырин, и сегодня я хочу рассказать о том, как мы решали проблему бэкапа по требованию на macOS. На самом деле интересная задача, с которой я столкнулся в институте, выросла в итоге в большой проект по работе с файловой системой в macOS и стал...

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

Алексей Башкеев станет руководителем платформы Яндекс.Облако Ян Лещинский, отвечавший за развитие Облака со старта проекта в 2017 году, вернётся в США к семье и продолжит консультировать компанию ближайшие несколько месяцев. Операционным директором Яндекс.Облака остаётся Олег Коверзнев, он продолжит отвечать за развитие бизнеса Облака...

Создание дополнительного kube-scheduler’a с кастомным набором правил планирования Kube-scheduler является неотъемлемым компонентом Kubernetes, который отвечает за планирование подов по нодам в соответствии с заданными политиками. Зачастую, в процессе эксплуатации Kubernetes-кластера нам не приходится задумываться о том, по каким именно политикам происход...

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

Почему «Почта» Apple показывает непрочитанное сообщение и как исправить Почти все сервисы Apple удобны настолько, что не нуждаются в замене. Поэтому до определённого времени большинству пользователей было, в общем-то, плевать на то, что iOS не позволяет заменять штатный софт сторонним. Другое дело, что назвать идеальным то, что Apple предлагала...

Tarantool: взгляд аналитика Всем привет! Меня зовут Андрей Капустин. Я работаю системным аналитиком в Mail.ru Group. Наши продукты формируют единую экосистему для пользователя, в которой данные генерируют множество независимых инфраструктур: службы заказов такси и еды, почтовые сервисы, соцсети. Сегодн...

Как настроить iMessage на Mac iMessage — чисто «яблочный» сервис для обмена сообщениями, медиаконтентом, стикерами и прочими полезными или увеселительными мелочами. Принимая сообщение iMessage, вы сможете прочитать его на любом устройстве привязанном к одной учётной записи Apple ID. В этом материале мы р...

Платформа Dash для разработки DApps запущена в тестовой сети Evonet Разработчики Dash Core Group представили релиз Dash Platform для сети Evonet, общедоступной тестовой среды функций Evolution. We are proud to announce the release of Dash Platform on Evonet, our public testing environment for Evolution features. https://t.co/nx408jNoE8 pic.t...

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

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

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

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

Как установить Гугл Камеру почти на любой смартфон Google Camera — одно из главных программных чудес для Android-устройств. Для смартфонов серии Google Pixel это и вовсе ”Святой Грааль”, которым компания не спешит делиться со всеми. Правда, многие пользователи все равно устанавливали себе GCam и пользовались ей вместо...

Почему AMOLED-экраны «выгорают», и как с этим борются производители? Как производители решили проблему с выгоранием? Не так давно я стал обладателем смартфона Xiaomi Mi 9 Lite, устройство оснащено superAMOLED-экраном, и это, то что меня волновало перед его покупкой. Я сильно сомневался, ведь AMOLED-экраны имеют определенные недостатки. Во-пер...

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

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

Уникальный чехол с QWERTY-клавиатурой для смартфона в исполнении Oppo Китайский производитель Oppo рассматривает возможность выпуски чехла для смартфона, который предоставит пользователям миниатюрную QWERTY-клавиатуру. Использование физической клавиатуры связке с телефоном не является новой идеей. Например, коммуникатор Nokia 9210 был вып...

Clickhouse — оконные функции, которых нет… Работу с колоночными базами данных я начал с BigQuery. Когда пришлось “переехать” на Clickhouse я был неприятно удивлен фактом отсутствия полноценных оконных функций. Есть, конечно, множество функций по работе с массивами, функций высшего порядка и прочие функции (одна функц...

Как защитить экран смартфона? Как защитить экран смартфона? Как защитить экран смартфона в пору, когда их делают максимально безграничными с отсутствием каких-либо рамок? Я, например, не использую никогда в своих смартфонах ни защитных плёнок, ни чехлов по одной простой причине — они портят ощущени...

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

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

[Из песочницы] Зачем нужен eSIM. Как это работает и почему об этом так много говорят Мы стоим, как обычно, на пороге очередной технологической революции (я уже запутался какой там номер...). IoT или Интернет вещей принесет новые бизнес модели, новые сценарии использования и приведет к очередному переделу всего рынка телекома. Как и в любом деле существует ку...

«Газинформсервис» представил СУБД Jatoba на митапе Mail.ru @Databases Meetup* от Mail.ru Cloud Solutions прошел в московском офисе компании Mail.ru Group. Первый митап собрал более 350 IT-специалистов, заинте-ресованных в обсуждении технологий современных высокопроизводительных баз данных. На мероприятии эксперты представили ...

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

Не работает мышь на Mac (macOS), как управлять курсором с клавиатуры Порой при работе с документами, редактировании видео или создании 3D-проектов возникает необходимость передвигать объекты с аптекарской точностью. В macOS существует очень полезная функция «Универсальный доступ», которая позволяет настроить управление указателем мыши при пом...

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

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

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

PlayStation 5 получит новые части Silent Hill, Metal Gear и Castlevania Согласно новым слухам, компания Sony вкладывает огромные средства в формирование базы эксклюзивных проектов для консоли следующего поколения PlayStation 5. Так, источники утверждает, что Sony хочет приобрести бренды Silent Hill, Metal Gear и Castlevania. Для компании K...

О системных расширениях Parallels Desktop в macOS Если вы являетесь пользователем Parallels Desktop (или используете другое приложение, требующее сторонних системных расширений), то вы наверняка видели сообщения от macOS и Parallels Desktop с надписью «Системное расширение заблокировано». Так что же это такое — системно...

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

VKWave — фреймворк для разработки ботов ВКонтакте Привет, Хабр! Сегодня я хочу рассказать о замечательной библиотеке для разработке ботов ВКонтакте с помощью языка программирования Python. VKWave VKWave — это фреймворк для разработки ботов ВКонтакте, написанный с помощью asyncio. Основные цели проекта — дать возможность ра...

[Из песочницы] Получение видео из Tik Tok без водяного знака Добрый день, всем любителям habr. В этой статье я хочу поделиться с Вами как можно получить видео с Tik Tok без водяного знака, с помощью такого языка как PHP. В настоящее время Tik Tok набирает популярность и было бы не прилично не написать про него маленькую статейку, и ...

Установка ReportPortal в kubernetes ReportPortal – это веб-решение на базе открытого ПО, созданное разработчиками EPAM и OSS-сообщества. Его использование позволяет собрать в одном месте документы и результаты различных проектов по тестированию, которые выполняются в компании, и сделать их доступными для тести...

Xiaomi запускает проект разработки следующего поколения интерфейса MIUI 13 Xiaomi сама объявила о начале работ по дальнейшему совершенствованию пользовательского интерфейса смартфонов и подтвердила запуск проекта по созданию набора программных средств MIUI 13. Подробнее об этом читайте на THG.ru.

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

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

[Из песочницы] Получение разрешения на полёт дрона (БВС, БПЛА) в Российской Федерации Данная статья написана мной с целью облегчить прохождение по пути официального оформления своего вылета тем моделистам-любителям, кто сомневается в выполнимости для себя данной процедуры и не знает с чего начать. В первую очередь хочу выразить благодарность автору статьи «...

[Перевод] Что нового можно ожидать от Node.js в 2020 году? В 2019 году Node.js исполнилось 10 лет. Количество пакетов, доступных в реестре npm, пересекло отметку в 1 миллион. С каждым годом объём загрузок самой платформы Node.js увеличивается на 40%. Ещё одной важной вехой для Node.js стало то, что этот проект присоединился к OpenJS...

Никогда такого не было и вот опять. Почему нужно использовать self-hosted VPN. Релиз Amnezia Вот и пришло время для релиза VPN-клиента, родившегося благодаря хакатону DemHack, и выращенного при поддержке РосКомСвободы, PrivacyAccelerator и Теплицы социальных технологий. Спустя полгода с того момента, как идея была впервые озвучена, мы презентуем готовый продукт — б...

Microsoft Office для смартфонов: компания Microsoft объединила Word, Excel и PowerPoint в единое приложение Буквально 10 лет назад люди, которые хотя бы раз использовали Microsoft Office, даже вообразить не могли, что смогут запускать офисные программы на ходу – без ПК под рукой. Сегодня же в Word, Excel и других полезных приложениях регулярно или иногда работают почти все владель...

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

[Перевод] Дизеринг 2: ряд золотого сечения, синий шум и highpass-and-remap В предыдущей части я рассмотрел определение дизеринга и объяснил, как он изменяет характеристики погрешностей простой 1D-дискретизации и функций. В этой части я рассмотрю синий шум, но сначала давайте взглянем на ряд чисел, который я использовал в предыдущей части, и котор...

Включаем Enhanced Session Mode для Arch Linux-гостей в Hyper-V Пользование виртуальными машинами на Linux в Hyper-V из коробки — несколько менее комфортное занятие, чем с гостевыми Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пак...

Google Authenticator получил долгожданное обновление спустя три года Настройка двухфакторной аутентификации (2FA) — это один из первых шагов, который вы должны предпринять, чтобы защитить свои учетные записи в Интернете. Несмотря на то, что в Google Play Маркете есть несколько приложений, которые вы можете использовать для установки 2FA, Goog...

Чужой код — потемки: чем опасно скачивание «безобидного» софта с GitHub Наверное, каждый из тех, кто читает эту статью, хорошо знаком с GitHub — крупнейшим веб-сервисом для хостинга IT-проектов и их совместной разработки. Здесь можно найти почти любой open source-проект. Для компиляции проекта может быть нужен какой-то специфический софт, кото...

Пространственная осведомленность: что могут очки Hololens? Сегодня мы совершим прыжок в область Spatial Awareness с помощью очков Hololens от Microsoft и поговорим о развитии Windows Mixed Reality (WMR), а также о том, чего стоит ожидать от второго поколения. Статья рассчитана на тех, кто занимается разработкой под Hololens с испо...

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

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

[Перевод] Именование в CSS Grid Когда вы впервые изучаете, как использовать Grid-разметку, можно начать с размещения элементов на сетке по номерам линий. В этом случае необходимо следить за тем, где на сетке проходят определённые линии, и помнить о том, что последовательность их номеров меняется на противо...

Facebook выпустит свою операционную систему назло Google Скоро на рынке появится новая ОС — от Facebook Несмотря на то что очень многие компании пытались создать собственные операционные системы для мобильных устройств, получилось это сделать только у Apple и Google, которые, собственно, сегодня не просто доминируют на рынке...

[Перевод] Используем черную магию для создания быстрого кольцевого буфера Вчера я заглянул на страницу Википедии, посвященную кольцевому буферу (circular buffer), и был заинтригован предполагаемой техникой оптимизации, с которой до этого не был знаком: Реализация кольцевого буфера может быть оптимизирована путем отображения нижележащего буфер...

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

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

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

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

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

[Перевод] Что такое Waypoint и какие возможности дает его использование Пару недель назад я посмотрела демонстрацию Waypoint— нового инструмента, который представила 15 октября 2020 года компания Hashicorp. Инструмента, который предназначен для создания легкого, интуитивного и настраиваемого под пользователя рабочего процесса сборки, развертыва...

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

Введение во взаимную аутентификацию сервисов на Java c TLS/SSL Вопросы авторизации и аутентификации и в целом аспектов защиты информации все чаще возникают в процессе разработки приложений, и каждый с разной степенью фанатизма подходит к решению данных вопросов. С учетом того, что последние несколько лет сферой моей деятельности являет...

Жуткий зелёный экран поразил не только Samsung Galaxy S20 Ultra, но и OnePlus 8 Pro На этой неделе в продажу поступили смартфоны OnePlus 8 и OnePlus 8 Pro, после чего первые пользователи начали сообщать о том, что на экране OnePlus 8 Pro в определенных условиях появляется очень неприятный зеленый оттенок. С похожей ситуацией столкнулись владельцы дорог...

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

Тестовые проекты без боли. Доклад Яндекса Мы в команде Яндекс.Карт для iOS создаем тестовые проекты с помощью маленького плагина для CocoaPods и нескольких классов утилит. Создание проекта происходит быстро и надежно. Но может, мы слишком заморачиваемся и собрать проект вручную с нужными настройками и зависимостями ...

Зачем институт в "Сколково" попросил ₽27 млрд на компоненты для 6G Сколтех предложил создать в России центр по производству компонентов, которые можно будет применять в сетях 6G, интернете вещей (IoT), "умном" здравоохранении и др. Инвестиции оцениваются в 27 млрд руб., их источник пока не найден Суть проекта Сколковский институт науки и ...

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

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

Xiaomi втихаря повысила безопасность смартфонов Xiaomi и Redmi Компания Xiaomi продолжает работать над новыми функциями для фирменной оболочки MIUI 11. Одно из таких новшеств пока не представили официально, но уже начали тестировать на устройствах пользователей.  На новшество обратил внимание один из участников сообществ...

[Из песочницы] Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее. В этой статье я расскажу как установить и настроить: Keycloak — это проект с открытым исходным кодом. Который обес...

[Перевод] Конференция DEFCON 27. Buttplug: подлинное тестирование на проникновение. Часть 2 Аналитики полагают, что в настоящее время в мире существует порядка 10 миллиардов устройств из области «интернета вещей» (IoT). Иногда эти устройства завоевывают свое место на рынке, буквально взбираясь вверх по человеческим задницам. Как оказалось, дешевые и маломощные ради...

[Перевод] Конференция DEFCON 27. Buttplug: подлинное тестирование на проникновение. Часть 1 Аналитики полагают, что в настоящее время в мире существует порядка 10 миллиардов устройств из области «интернета вещей» (IoT). Иногда эти устройства завоевывают свое место на рынке, буквально взбираясь вверх по человеческим задницам. Как оказалось, дешевые и маломощные ради...

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

[Перевод] Обучение и оценка модели с Keras Это руководство охватывает обучение, оценку и прогнозирование (выводы) моделей в TensorFlow 2.0 в двух общих ситуациях: При использовании встроенных API для обучения и валидации (таких как model.fit(), model.evaluate(), model.predict()). Этому посвящен раздел «Использова...

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

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

Apple отложит релиз некоторых версий iPhone 12 до 2021 года В следующем году Apple снова разделит релиз новых iPhone несколькими месяцами 5G – технология очень непростая и устроена совершенно не так, как 3G или LTE, будучи фактически разделённой надвое. Это накладывает определённые ограничения и на операторов, и на производителей сов...

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

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

Разработка приложений и Blue-Green deployment опираясь на методологию The Twelve-Factor App с примерами на php и docker Для начала немного теории. Что такое The Twelve-Factor App? Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке со...

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

Клин клином: использование вируса PIV5 для создания вакцины против MERS-CoV и, возможно, против SARS-CoV-2 Учитывая сложившиеся обстоятельства, вовсе неудивительно, что научное сообщество сконцентрировало все свои силы на поиск и разработку методик и инструментов для борьбы с распространяющимся вирусом. Сегодня мы рассмотрим исследование, в котором ученые из Американского общес...

Уникальная программа ВидеоМастер Компания AMS Software предлагает вниманию своих клиентов самое лучшее программное обсечение для пользователей разных сфер деятельности. На сегодняшний день большой популярностью пользуется видео редактор от этой компании ВидеоМастер. Эта программа позволяет сделать из горизо...

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

Microsoft рассказала об использовании машинного обучения для поиска багов в ПО Для поиска ошибок в программном обеспечении и сервисах компания Microsoft использует модель машинного обучения. По словам Скотта Кристиансена, старшего программного менеджера по безопасности, 47 тысяч разработчиков ежемесячно генерируют около 30 тысяч багов, и отслеживать и...

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

Простой классификатор P300 на открытых данных Мой коллега Рафаэль Григорян eegdude недавно написал статью о том, зачем человечеству потребовалась ЭЭГ и какие значимые явления могут быть зарегистрированы в ней. Сегодня в продолжение темы нейроинтерфейсов мы используем один из открытых датасетов, записанных на игре, испол...

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

Вредоносный плагин атакует пользователей Office 365 Специалисты компании PhishLabs рассказали о необычной кампании, нацеленной на угон аккаунтов пользователей Office 365. Как сообщили ИБ-аналитики, злоумышленники не стремятся украсть логин и пароль пользователя, но пытаются установить на его устройство вредоносный плагин с ши...

MLOps — Cook book, chapter 1 Всем привет! Я CV-разработчик в КРОК. Уже 3 года мы реализуем проекты в области CV. За это время чего мы только не делали, например: мониторили водителей, чтобы во время движения они не пили, не курили, по телефону не разговаривали, смотрели на дорогу, а не сны или в облака...

[Из песочницы] Конспект по методам классификации данных При изучении Data Science, я решил составить для себя конспект по основным приемам, используемым в анализе данных. В нем отражены названия методов, кратко описана суть и приведен код на Python для быстрого применения. Готовил конспект для себя, но подумал, что кому-то это та...

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

[Из песочницы] Если бы я учил Frontend сегодня. Советы начинающим Мой путь в веб-разработке начался 5 лет назад. За это время я успел испробовать множество технологий, а в последние 3 года развиваюсь в направлении frontend. В этой статье я бы хотел ясно изложить, какие технологии необходимо изучить новичку, а также поделиться методами их ...

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

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

[Перевод] Интерактивная визуализация данных при помощи Plotly: строим красивые графики с Express и Cufflinks Если Вы все еще используете Matplotlib для создания графиков в Python, самое время взглянуть на мир с высоты альтернативной библиотеки интерактивной визуализации. Plotly позволяет создавать красивые, интерактивные, экспортируемые графики с помощью всего нескольких строк к...

[Перевод] Резервирование констант и Git hooks на C# Позвольте мне рассказать вам историю. Жили-были два разработчика: Сэм и Боб. Они вместе работали над проектом, в котором была база данных. Когда разработчик хотел внести в неё изменения, он обязан был создать файл stepNNN.sql, где NNN — некоторое число. Чтобы избежать конфли...

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

[Из песочницы] Большой туториал по обработке спортивных данных на python Последние пару лет в свободное время занимаюсь триатлоном. Этот вид спорта очень популярен во многих странах мира, в особенности в США, Австралии и Европе. В настоящее время набирает стремительную популярность в России и странах СНГ. Речь идет о вовлечении любителей, не пр...

WebAuthn в реальной жизни В сентябре 2019 года команда Почты Mail.ru поддержала технологию WebAuthn. Мы стали первым в мире сервисом электронной почты, который реализовал возможность входа в аккаунт с использованием электронных ключей вместо паролей. Сейчас эта возможность доступна всем нашим пользов...

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

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