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

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

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

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

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

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

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

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

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

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

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

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

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

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

Трассировка и мониторинг в Istio: микросервисы и принцип неопределенности Принцип неопределенности Гейзенберга гласит, что нельзя одновременно измерить положение объекта и его скорость. Если объект движется, то у него нет местоположения. А если местоположение есть – значит у него нет скорости. Что касается микросервисов на платформе Red Hat Ope...

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

[Перевод] Руководство Google по стилю в C++. Часть 10 Часть 1. Вступление … Часть 9. Комментарии Часть 10. Форматирование … Эта статья является переводом части руководства Google по стилю в C++ на русский язык. Исходная статья (fork на github), обновляемый перевод. Читать дальше →

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

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

[Перевод] Практическое руководство по HashiCorp Consul — Часть 1 Это часть 1 из серии 2 частей практического руководства по HashiCorp Consul. Эта часть в первую очередь ориентирована на понимание проблем, которые решает Consul и как он их решает. Вторая часть больше ориентирована на практическое применение Consul в реальном примере и буд...

[Перевод] Руководство Google по стилю в C++. Часть 1 Часть 1. Вступление … Часть 8. Именование Часть 9. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на...

Руководство по Node.js для начинающих. Часть 2 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Движок JavaScript V8 V8 — название движка JavaScript, поддерживаемого Google Chrome. Эта та штука, которая берет ваш JavaScript-код и выполня...

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

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

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

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

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

Nuxt as fullstack server: frontend + backend API Server (Часть 1) Часть 1: Nuxt as fullstack server: frontend + backend API Server Часть 2: Additional SSR performance with Nuxt fullstack server Разработчики Nuxt предлагают 3 метода доступа к API: Встроенный в Nuxt сервер Connect и использование serverMiddleware Интегрированные фреймво...

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

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

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Нов...

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

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

Разработка hexapod с нуля (часть 7) — новый корпус, прикладное ПО и протоколы общения Всем привет! Проектирование, печать и сборка нового корпуса наконец-то завершились. Также завершился запуск новой платы управления на базе STM32F373 и FW успешно перенесено на новый МК. Все ближе подходит релиз версии 1.00 с базовым функционалом. Теперь можно рассказать о т...

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

Хакинтош на Powermac G5 или как собрать себе рабочую станцию. Часть 2 Это вторая часть истории о сборке в корпусе от PowerMac G5 рабочей машины на базе Х86 архитектуры. Часть 1. Экстерьер (корпус, блок питания, СО) Часть 2. Интерьер (материнская плата и ее друзья, кабель-менеджмент, запуск) Часть 3. Софт (установка Mac OS X и другие удовольст...

[Из песочницы] Введение в Traefik 2.0 Traefik — это обратный прокси-сервер с открытым исходным кодом, обеспечивающий простую работу с микросервисами и/или просто контейнерами с вашими приложениями. Обратный прокси-сервер (reverse proxy, реверс-прокси) служит для ретрансляции запросов из внешней сети к каким-либо...

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

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

RBK.money выпустила первый в мире open-source платежный процессинг — творим будущее вместе Привет! Если вы читали наши предыдущие посты (читали же?), то точно помните, что мы в RBK.money очень сильно за опенсорс. Настолько, что выложили в открытый доступ наш антифрод в виде открытых исходников под лицензией Apache 2.0. Как вы понимаете, нам понравилось. Одного а...

Maltego Часть 4. ВК, Instagram, LinkedIN и другие фантастические твари И снова здравствуйте, дорогие друзья. Мы опять готовимся окунуться в прекрасный мир OSINT. Статьи в нашем цикле прибавляются, поэтому пора уже вводить некое подобие оглавления, ведь дальше их будет только больше. Итак, что мы уже разобрали в Maltego: Часть 1 — Что такое ...

16 советов по разработке для андроид на языке Kotlin. Часть 3 И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin». Читать первую часть Читать вторую часть LATEINIT Одной из ведущих особенностей Kotlin является е...

[Перевод] Основы нейросетей в 100 строках кода (часть 1) В трёх частях этой статьи мы: Напишем нейросеть с нуля на Python и обучим её алгоритмом градиентного спуска. Применим её к датасету The Wisconsin Cancer Data-set и предскажем по 9 различным признакам, является ли опухоль доброкачественной или злокачественной. Подробнее иссл...

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

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

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

Разработка hexapod с нуля (часть 6) — переход на 3D печать и новая электроника Всем привет! Разработка гексапода активно продолжается и пришло время показать кардинальные изменения в конструкции и планы по прошивке. Появилась большая пауза в выходе новых статей в результате длительного проектирования новой электроники и корпуса. В принципе об этом и б...

[Перевод] Руководство Google по стилю в C++. Часть 2 Часть 1. Вступление Часть 2. Заголовочные файлы … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятн...

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

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

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

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

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

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

Работа не волк, часть 4. Опытный сотрудник: как не перегореть и не сдаться Итак, первый год работы прошёл, и вы стали дедом матёрым волком, который растёт вместе с компанией, сечёт в бизнес-процессах и довольно борзо спорит с руководством. Кажется, что может случиться? Но чем больше срок работы на одном месте, тем больше моральных и профессиональны...

Алексей Каптерев: Критическое мышление 101 (часть 2) 25 апреля в рамках «Дня тренинга МГУ 2020» Алексей Каптерев выступил с докладом про критическое мышление. Представляем вам часть 2 расшифровки лекции. Часть 1 доступна по ссылке: Читать дальше →

Navigation Component-дзюцу, vol. 3 — Corner-кейсы В этой части трилогии про Navigation Component разберем как организовать навигацию в многомодульных приложениях, как работается с диплинками, а также рассмотрим кейсы со встраиваемыми фрагментами и диалогами. Это третья и заключительная статья в цикле про различные кейсы н...

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 2/2 Создание пайплайнов CI с помощью Tekton (Часть 2/2) В этой статье мы собираемся продолжить создание пайплайна CI с Tekton. В первой части мы установили Tekton на локальный кластер kind и определили нашу первую задачу, которая клонирует репозиторий GitHub и запускает тесты пр...

Всё про налоги для IT-фрилансеров. Налоговая нагрузка ИП на разных режимах. Часть 3 Это третья, заключительная часть из цикла. В предыдущей статье мы подробно рассказали об УСН, патенте и налоге для самозанятых. В этой части рассчитаем налоговую нагрузку для ИП с доходом 100, 200 или 300 тыс. руб. в месяц на разных режимах. Читать дальше →

БД мессенджера (ч.2): секционируем «наживую» Мы удачно спроектировали структуру нашей PostgreSQL-базы для хранения переписки, прошел год, пользователи активно ее наполняют, вот в ней уже миллионы записей, и… что-то все начало подтормаживать. Часть 1: проектируем каркас базы Часть 2: секционируем «наживую» Дело в то...

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

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

Руководство по Node.js для начинающих. Часть 4 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Часть 4 Файл package-lock.json В пятой версии Node.js был представлен файл package-lock.json. Что это такое? Для чего он нужен, если есть ...

[Перевод] Визуальная теория информации (часть 2) Вторая часть перевода лонгрида посвященного визуализации концепций из теории информации. Во второй части рассматриваются энтропия, перекрестная энтропия, дивергенция Кульбака-Лейблера, взаимная информация и дробные биты. Все концепции снабжены прекрасными визуальными объяс...

[recovery mode] Максимальное количество значений в enum Часть I Часть первая, теоретическая | Часть вторая, практическая По мотивам твита от Evgeny Mandrikov aka godin: Quiz: without running #Java compiler, do you know how many constants can be defined in enum?— Evgeny Mandrikov (@_godin_) December 13, 2019 В нём он задаётся вопросо...

[Перевод] История видеопроцессоров, часть 3: консолидация рынка, начало эпохи конкуренции Nvidia и ATI Часть 1: 1976-1995 годы Часть 2: 3Dfx Voodoo Падение 3Dfx и расцвет двух гигантов На рубеже веков отрасль графики демонстрировала тенденции к дальнейшей консолидации. С профессионального рынка полностью ушла iXMICRO, а NEC и Hewlett-Packard выпустили свои последние проду...

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

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

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

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

[Из песочницы] Архитектура нейронной сети RetinaNet Данная статья посвящается объяснению устройства архитектуры нейронной сети RetinaNet. Обзор был проведён мною в ходе выполнения дипломной работы, а так как для его написания потребовалось обращаться исключительно к англоязычным источникам и собрать найденную информацию воеди...

Понимаем красно-черное дерево. Часть 2. Балансировка и вставка Это вторая часть из серии статей "Понимаем красно-черное дерево". Если вы пропустили первую часть, настоятельно рекомендую ознакомиться с ней здесь. Там мы разобрали причину появления кчд и расставили по полочкам некоторые его свойства.В данной части мы разберем вставку и ба...

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

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

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

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

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

Руководство по Node.js для начинающих. Часть 3 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Получение данных, введенных пользователем, в Node.js Как сделать Node.js-программу интерактивной? Для этого в 7 версии Node.js представлен м...

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

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

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

Зачем нам потребовалось написать свою реализацию MRCP-сервера. Часть 1 Привет, Хабр! Сегодня мы хотели бы поделиться кейсом создания собственного MRCP-сервера. Это протокол передачи данных, используемый серверами для предоставления различных услуг (таких как распознавание речи и синтез речи) для своих клиентов. MRCP опирается на другие протокол...

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

Как Quarkus объединяет MicroProfile и Spring Всем привет, и с вами третий пост из серии про Quarkus! При разработке Java-микросервисов часто считается, что Eclipse MicroProfile и Spring Boot – это отдельные и независимые друг от друга API. По умолчанию, программисты, как правило, используют те API, к которым они уже...

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

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

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 3 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим примеры развертывания Zip-функций, зависимости GitHub, а также подробнее опишем синхронизацию объектов между клиентом и сервером OpenWhisk. Читать дальше →

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

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

Работаем с Cutter — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 3 В данной статье разберемся с декомпиляцией ELF файлов в Cutter на примере легеньких задач. Прошлые части введения в реверс: Часть 1: C, C++ и DotNet decompile — основы реверса Часть 2: Реверсим MIPS и Golang — основы реверса Организационная информ...

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

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

Го в Go! Как команда PHP взялась писать микросервисы Всем привет! Меня зовут Алексей Скоробогатый, я системный архитектор в Lamoda. В феврале 2019 года я выступал на Go Meetup еще на позиции тимлида команды Core. Сегодня хочу представить расшифровку своего доклада, который вы также можете посмотреть. Наша команда называется Co...

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

[Перевод] MVC в Unity со Scriptable Objects. Часть 3 Завершение цикла статей от Cem Ugur Karacam о реализации MVC в Unity с помощью Scriptable Objects. Прочитать предыдущие части вы можете здесь и здесь. Читать дальше →

Туториал по Uplift моделированию. Часть 2 В первой части мы познакомились с uplift моделированием и узнали, что метод позволяет выбирать оптимальную стратегию коммуникации с клиентом, а также разобрали особенности сбора данных для обучения модели и несколько базовых алгоритмов. Однако эти подходы не позволяли опти...

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

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

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

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

[Перевод] Управление жестами: Обработка визуальных перекрытий. Часть 2 В преддверии старта продвинутого курса по Android-разработке продолжаем делиться с вами серией полезных переводов. Вы читаете вторую статью из серии об управлении жестами. Первую часть вы можете найти здесь. В первой части серии мы узнали, как расположить ваше приложение ...

Python (+numba) быстрее си — серьёзно?! Часть 1. Теория Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скор...

Феном, пингвин и оверклокинг (часть 2) Вторая часть статьи о личном опыте разгона старого железа под Linux, в которой рассмотрен базовый набор софта для тестирования процессора и памяти. Снова Ubuntu, но в этот раз состоится на экскурсия в не такой уж страшный мир программ с текстовым интерфейсом (графический тож...

[Из песочницы] Создание Discord-бота на Python. Часть 1 Версии, которые стоят у автора Версия Python: 3.8.2 Версия discord.py: 1.3.3 Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощь...

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 1/2 В этой статье мы собираемся создать пайплайн непрерывной интеграции (CI) с Tekton, фреймворком с открытым исходным кодом для создания конвейеров CI / CD в Kubernetes. Мы собираемся подготовить локальный кластер Kubernetes через kind и установить на нем Tekton. После этого мы...

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

oVirt за 2 часа. Часть 4. Базовые операции Сегодня мы рассмотрим ряд базовых операций, которые регулярно потребуется выполнять администратору среды виртуализации. Статья — продолжение серии по oVirt: часть 1, часть 2 и часть 3: Содержание Создание ВМ и шаблона; Миграция ВМ (live migration); Миграция хранилища (stor...

Распаковка Huawei TaiShan 2280v2 Серверы с процессорами на архитектуре arm64 старательно входят в нашу жизнь. В этой статье мы покажем распаковку, установку и небольшой тест нового сервера TaiShan 2280v2. Читать дальше →

[Перевод] Введение в gRPC на Rust В статье будет показано как создать gRPC сервер и клиент на Rust. Для большей наглядности клиент будет также Telegram ботом. В итоге будет получена следующая архитектура: Статья является не всеобъемлющим руководством по gRPC в Rust, а скорее практическим гайдом, демонстриру...

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остано...

Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2 В данной статье узнаем про функцию crypt, узнаем как подбирать пароли к ZIP архиву с незашифрованными именами файлов, познакомимся с утилитой xortool, а так же разберемся с генератором псевдослучайных чисел. Предыдущие статьи на эту тему: Часть 1 — Кодировки, шифр сдвига,...

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

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

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

Упал Cloudflare: недоступны Discord, серверы Riot Games и сотни других ресурсов Популярный чат Discord, как и другие многочисленные интернет-ресурсы, стали недоступны примерно с 0:25 МСК. Сообщения об этом приходят со всего мира, но некоторые регионы проблема обошла стороной. «В настоящее время у пользователей возникают проблемы с отключением от Discord...

Анализ международных документов по управлению рисками информационной безопасности. Часть 2 В предыдущей части мы описали общую концепцию риск-менеджмента и раскрыли методы управления рисками в соответствии с документами NIST SP серии 800. В данной части мы продолжим обзор международных документов по управлению рисками информационной безопасности: у нас на очереди ...

oVirt за 2 часа. Часть 3. Дополнительные настройки В этой статье мы рассмотрим ряд необязательных, но полезных настроек: использование дополнительных имен для менеджера; подключение аутентификации через Active Directory; Mutlipathing; управление питанием; замена SSL сертификата; архивация; менеджмент-интерфейс хостов (cockp...

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

Перегрузка в C++. Часть II. Перегрузка операторов Продолжаем серию «C++, копаем в глубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Эта статья посвящена перегрузке операторов. Особое внимание уделено использованию перегруженных операторов в стандартной биб...

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

Свой сервер видеоконференций Jitsi. Часть 1 Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему: Свой сервер видеоконференций Jitsi. Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи ...

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

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

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

Ласточка в мире микросервисов Helidon – по гречески ласточка (Χελιδόνι), это такая маленькая птичка из отряда воробьиных с длинными острыми крыльями и характерным двойным хвостом. Уверен, каждый из нас восхищается полетом и грацией этой птички, а то, как она живет в стаях, чем-то напоминает мир микр...

Что посмотреть на карантине? Подборка материалов от Технострима (часть 2) Продолжаем нашу подборку интересных материалов (первая часть тут). На этот раз один образовательный курс Техносферы, две передачи из ток-шоу для айтишников «Oh, my code» и анонс нового сезона. Читать дальше →

Стас Афанасьев. Juno. Pipelines на базе io.Reader/io.Writer. Часть 2 В докладе поговорим про концепцию io.Reader/io.Writer, для чего они нужны, как их правильно реализовывать и какие в связи с этим существуют подводные камни, а также про построение pipelines на базе стандартных и кастомных реализаций io.Reader/io.Writer. Читать дальше &rarr...

Стас Афанасьев. Juno. Pipelines на базе io.Reader/io.Writer. Часть 1 В докладе поговорим про концепцию io.Reader/io.Writer, для чего они нужны, как их правильно реализовывать и какие в связи с этим существуют подводные камни, а также про построение pipelines на базе стандартных и кастомных реализаций io.Reader/io.Writer. Читать дальше &rarr...

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

[Из песочницы] Тестирование JavaScript кода с Jest для чайников. Часть 1 Здравствуй, Хабр! Данное руководство является первой частью в запланированном цикле статей про такой замечательный фреймворк для тестирования как Jest. Материал будет полезен новичкам и тем, кто только знакомится с тестированием, и хотел бы изучить этот фреймворк. В первой ч...

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

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон, часть 3 В этой части мы перестаём говорить о простом и приятном и начинаем говорить о трудном. Переменные в Ansible: scope, precedence, рекурсивная интерполяция. Для тех, кто дочитает до конца, маленький бонус: упрощённая таблица приоритетов, с которой можно жить. Предыдущие части: ...

[Из песочницы] Redis Best Practices, часть 1 В серии из нескольких статей я приведу свой адаптированный перевод раздела Redis Best Practices с официального сайта Redis Labs. Читать дальше →

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

SDR трансивер SoftRock Ensemble RXTX Данная статья является продолжением серии публикаций про SDR (Software Defined Radio). В двух предыдущих статьях мы разобрались, как работает схема Tayloe, как с помощью схемы Tayloe осуществить синхронный приём АМ сигналов, и как устроен связной SDR-приёмник. В этой публи...

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

[Перевод] Руководство по Express.js. Часть 2 Доброго времени суток, друзья! Представляю вашему вниманию перевод второй части Руководства по Express — веб-феймворку для Node.js автора Flavio Copes. Предполагается, что вы знакомы с Node.js. Если нет, то прошу сюда. Без дальнейших предисловий. Читать дальше →

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

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

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

React и Vue без npm и сборки Когда все начинают знакомство с React или Vue, как с двумя самыми популярными фреймворками для frontend, конечно-же все используем магические команды npm install, npm build. И только после этого папочку 'public' Мы деплоим «куда надо». Но есть и другой (я бы назвал его извр...

Виртуальная АТС. Часть 3: Переводим Asterisk на PjSIP без лишних телодвижений В первой и второй частях цикла статей мы разобрались с установкой IP-АТС (IP-PBX) на работающий под управлением Ubuntu VPS от RuVDS и настройкой основных функций с использованием канального драйвера chan_sip. Этот подход считается устаревшим, и в будущих версиях Asterisk п...

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

Мониторинг в ЦОДе: как мы меняли старую BMS на новую. Часть 3 Мы продолжаем наш рассказ о том, как мы меняли BMS-систему в наших ЦОДах (часть 1, часть 2).  При этом мы не просто поменяли решение одного вендора на другого, а разработали систему с нуля под свои требования. В заключение нашей истории делимся итогами проделанной работы и и...

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

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

Анонсирована Assassin's Creed Valhalla в скандинавском сеттинге Ubisoft провела продолжительный стрим, в рамках которого художник BossLogic рисовал ключевой арт следующей части Assassin's Creed. Всего он длился 8 часов, а кульминацией стал арт в сеттинге викингов. Издатель официально подтвердил, что следующая часть в серии будет называть...

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

Обновите RouterOS на вашем MikroTik Вечером 10 марта служба поддержки Mail.ru начала получать жалобы от пользователей на невозможность подключения к IMAP/SMTP серверам Mail.ru через почтовые программы. При этом часть коннектов не проходила, а часть показывают ошибку сертификата. Ошибка вызвана тем, что «серве...

Компания Capcom запустила опрос среди фанатов на тему игры Resident Evil Серия игр Resident Evil разошлась общим тиражом более чем в 100 миллионов копий за 20 лет существования франшизы. Японский издатель планирует продолжать работу над новыми частями франшизы. В Азиатском регионе компания создала опрос, в котором спрашивает участников опрос...

[Перевод] Redis Best Practices, часть 3 Заключительный перевод разделов Redis Best Practices с официального сайта «Redis Labs». Самое необычное и интересное сегодня под катом! Читать дальше →

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

После удаления Telegram входит в учетную запись без верификации даже после смены пароля После удаления приложения Telegram с Вашего macOs устройства стандартным путем (переносом из папки Applications в корзину) — в нем остаются файлы. Скриншот файлов Это какая-то часть переписки, информация об аккаунте и т.д. Вещи на первый взгляд не страшные — все, что ест...

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

[Перевод] Фольклор программистов и инженеров (часть 1) Это подборка историй из интернета о том, как у багов иногда бывают совершенно невероятные проявления. Возможно, вам тоже есть что рассказать. Читать дальше →

[Из песочницы] Телефонный эфир v2.0. Возрождение легенды в telegram боте Это первая статья из будущей серии статей о том, как я возродил однажды ушедшую в историю идею в коде. В этой статье я опишу реализацию регистрации в части места жительства. Читать дальше →

Отладка микроконтроллеров ARM Cortex-M по UART Часть 2 В прошлой статье я рассказывал про прерывание DebugMon и регистры с ним связанные. В этой статье будем писать реализацию отладчика по UART. Читать дальше →

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

[Из песочницы] Редактор кода на Android: часть 1 Перед тем как закончить работу над своим редактором кода я много раз наступал на грабли, наверное декомпилировал десятки похожих приложений, и в данной серии статей я расскажу о том чему научился, каких ошибок можно избежать и много других интересных вещей. Читать дальше &r...

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

Личный сервер shadowsocks за 10 минут без затрат (часть 2) Это - отдельное руководство, описывающее ещё один способ получить личный прокси-сервер shadowsocks бесплатно и служащее продолжением к моей предыдущей статье. В этот раз мы воспользуемся сервисом platform.sh.От читателя требуется только обладание адресом электронной почты и ...

[Перевод] История видеопроцессоров, часть 4: появление General Purpose GPU Часть 1: 1976-1995 годы Часть 2: 3Dfx Voodoo Часть 3: консолидация рынка, начало эпохи конкуренции Nvidia и ATI До прихода DirectX 10 не было смысла добавлять в чипы необязательную сложность, расширяя площадь кристалла, что повышало функциональность вершинных шейдеров, а...

Лучшие игры для iOS по версии Яблык: 100 самых-самых (часть 2) Это уже вторая часть подборки, которая включает в себя 100 наиболее любимых нами игр для iPhone и iPad. Кроме того, все представленные ниже приложения получили высокие оценки геймеров и отраслевых обозревателей, а приобрести или загрузить их бесплатно можно в магазине контен...

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

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

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

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

Автоматизация работы сетевого администратора. Часть 3. Знакомство с Paramiko Всех приветствую, продолжаем рассматривать полезные инструменты для работы сетевого инженера или администратора. Для тех, кто только начал изучение темы с текущей статьи, напомню что мы поговорили о концепции SDN и достаточно подробно рассмотрели инструмент TelnetLib с практ...

Создание клона WhatsApp для Android на Kotlin Руководство по созданию клона WhatsApp для Android на Kotlin. Пока есть только первая часть с чатами, дальше предполагаются голосовые и видео звонки. Проект на GitHub: https://github.com/GetStream/WhatsApp-Clone-Android

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

[Перевод] Это норма — 3: типы карт нормалей Часть 1: что такое карты нормалей и как они работают Часть 2: как запекаются карты нормалей Как и многие другие вещи в нашей отрасли, за многие годы карты нормалей эволюционировали, и сегодня существует несколько их типов, которые могут выглядеть по-разному. В статье я пер...

Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 2/2 В данной статье мы продолжим создавать трехмерную браузерную игру лабиринт на чистом html, css и javascript. В предыдущей части мы сделали простой 3-мерный мир, реализовали движение, управление, столкновения игрока со статическими объектами. В этой части мы будем добавлять г...

[Перевод] Как правильно делать код-ревью? Часть 2: навигация по ревью, скорость, комментарии, конфликты В первой части материала были освещены аспекты стандартов код-ревью и моменты, на которые необходимо обращать внимание в первую очередь. В заключительной части поговорим о: порядке проведения ревью, скорости (и на что она влияет), как правильно писать комментарии, дискус...

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

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

[Перевод] Chaos Engineering: искусство умышленного разрушения. Часть 3 Прим. перев.: Это продолжение цикла статей от технологического евангелиста из AWS (Adrian Hornsby) про довольно новую ИТ-дисциплину — chaos engineering, — в рамках которой инженеры проводят эксперименты, призванные смягчить последствия сбоев в системах. Первый материал этого...

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

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

Дружим ELK и Exchange. Часть 1 Начинаю серию статей, где хочу поделиться своим опытом подключения Exchange и ELK. Этот стэк поможет обрабатывать большие объемы логов и не задаваться вопросом, при каком размере привычные инструменты логирования откажутся нам помогать. Давайте знакомиться с новым бойцом с...

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

[Перевод] Отложенное завершение pod'а при его удалении Задержка выключения pod’а в Kubernetes Это третья часть нашего пути (прим. пер. — ссылка на первую статью) к достижению нулевого времени простоя при обновлении Kubernetes-кластера. Во второй части мы сокращали время простоя, которое возникло из-за принудительного завершения...

TelegramBot. Базовый функционал. Стикеры и смайлы. (Часть 3) Один из вопросов, который часто приходит в личку — как работать со смайлами(эмодзи) и стикерами. Как с ними работать, какими инструментами пользуюсь я и т.д. В данной части будут рассмотрены такие вещи: как создать сообщение со стикером, как обработать полученное сообщен...

[Перевод] Руководство по Node.js для начинающих. Часть 1 Доброго времени суток, друзья! Представляю Вашему вниманию перевод этого руководства по Node.js. Введение в Node.js Node.js — это открытая и кроссплатформенная среда выполнения JavaScript. Это отличное решение почти для любого проекта. Node.js запускает «движок» Java...

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

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

Переводим на «удаленку» внутренний документооборот и процессы управления. Часть 2 Продолжение цикла статей (часть 1). Как обеспечить безопасность и достоверность обмена информацией при удалённом взаимодействии При переходе на удаленный режим работы и безбумажные процессы необходимо решить вопрос с достоверностью ...

Запускаем Jupyter на орбиту LXD Приходилось ли вам экспериментировать с кодом или системными утилитами в Linux так, чтобы не трястись за базовую систему и не снести всё с потрохами в случае ошибки кода который должен запустится с root-привилегиями? А как на счет того, что допустим, необходимо протестироват...

Apple может выпустить первый Mac на процессоре ARM в 2021 году В настоящее время Apple разрабатывает собственную серию процессоров для своей линейки ноутбуков Macbook на основе архитектуры Arm Instruction Set. Разработав некоторые из самых мощных мобильных процессоров, которые входят в серию устройств iPhone, Apple готовится перейти к е...

Туториал по uplift моделированию. Часть 1 Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи моделирования uplift. С помощью этого подхода оценивается эффект от коммуникации ...

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

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

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

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

[Перевод] Чистый код для TypeScript — Часть 3 Заключительная часть статей, посвященных тому, как можно использовать принципы чистого кода в TypeScript(ps. Все эти принципы относятся не только к языку TypeScript). Читать дальше →

16 советов по разработке для Android на языке Kotlin. Часть 1 Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работ...

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

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

Пишем telegram бота на языке R (часть 1): Создаём бота, и отправляем с его помощью сообщения в telegram Аудитория telegram ежедневно растёт с геометрической прогрессией, этому способствует удобство мессенджера, наличие каналов, чатов, и конечно возможность создавать ботов. Боты могут использоваться в совершенно разных целях, от автоматизации коммуникации с вашими клиентами до...

Создание отказоустойчивой ИТ инфраструктуры. Часть 2. Установка и настройка кластера oVirt 4.3 Эта статья является продолжением предыдущей – «Создание отказоустойчивой ИТ инфраструктуры. Часть 1 — подготовка к развёртыванию кластера oVirt 4.3». В ней будет рассмотрен процесс базовой установки и настройки кластера oVirt 4.3, для хостинга высокодоступных виртуальных маш...

В Steam произошел сбой В работе сервисов Steam возникли неполадки. Большая часть функций платформы Valve недоступна пользователям: включая магазин, игровые серверы и доступ к библиотеке игр также ограничен. Неполадки наблюдаются в различных регионах, включая СНГ, Европу и другие регионы. Пока ч...

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

Blazor Client Side Интернет Магазин: Часть 6 — Создание заказа и работа с компенсирующими действиями Привет, Хабр! Продолжаю делать интернет магазин и изучать Blazor. В этой части расскажу о том как добавил в него возможность создания заказа, просмотра заказов и работу с последовательностью действий одно из которых может завершиться ошибкой. За подробностями добро пожалов...

Почему я ушёл с React Native и перешёл во Flutter: Часть 2 Всем привет. Меня зовут Дмитрий Андриянов. Два года я писал на React Native, сейчас работаю в Surf во Flutter отделе и уже более полутора лет пишу на Flutter. В первой части статьи я рассказал про основные различия между React Native и Flutter. В этой части расскажу про раз...

[Перевод] Руководство по Deno: примеры работы со средой выполнения TypeScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples» автора Flavio Copes. В этой статье мы научимся работать с Deno. Мы сравним его с Node.js и создадим с его помощью простой RES...

Что такое Windows PowerShell и с чем его едят? Часть 5: Доступ к внешним объектам В операционных системах Windows поддерживаются различные объектные инфраструктуры. Для доступа к ним можно использовать интерфейсы прикладного программирования (API), но разработка полноценных приложений не всегда оправдана. В PowerShell существуют специальные командлеты, ...

Битва WEB серверов. Часть 2 – реалистичный сценарий HTTPS: О методике мы рассказывали в первой части статьи, в этой мы тестируем HTTPS, но в более реалистичных сценариях. Для тестирования был получен сертификат Let’s Encrypt, включено сжатие Brotli на 11. На этот раз попробуем воспроизвести сценарий развертывания сервера на VDS и...

Часть 6: Портирование MemTest86+ на RISC-V Наверное, мало какому айтишнику нужно объяснять, что такое Memtest86+ — пожалуй, он уже стал более-менее стандартом в тестировании оперативной памяти на ПК. Когда в одной из предыдущих частей я наткнулся на битую планку памяти, пришедшую в комплекте с платой, он (вместе с п...

Праздник геймера - Ubisoft начала бесплатную раздачу лучшей части серии Assassin's Creed Геймеры дождались! Спешите забрать качественный проект и лучшую часть серии Assassin's Creed бесплатно! Также не забываем забрать в Steam отличную игру, до окончания раздачи которой остается менее 2 часов!

3D своими руками. Часть 2: оно трехмерное В предыдущей части мы разобрались, как выводить на экран двумерные объекты, такие как пиксель и линия (отрезок), но ведь хочется поскорее создать что-то трехмерное. В этой статье впервые попробуем вывести 3D-объект на экран и познакомимся с новыми математическими объектами...

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

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

Fortinet Security Fabric на практике. Часть 5. Администрирование и автоматизация Добрый день, друзья! В прошлый раз мы провели взаимную интеграцию основных продуктов фабрики безопасности. Пришло время заключительной статьи цикла Fortinet Security Fabric. В ней мы закончим создание нашей “мини-сети”, о которой велась речь ранее. Мы дадим пользователям дос...

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

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

[Перевод] О роли фронтенд-разработчика Привет, Хабр! Представляем вашему вниманию перевод статьи фронтенд-разработчика из MediaMonks Рональда Мендеса. Будучи родом из Венесуэлы, Рональд перебрался в Аргентину и построил успешную карьеру, а благодаря своему большому интересу к дизайну и анимации стал одним из член...

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

Sentry удаленный мониторинг багов в фронтенд приложениях React Мы изучаем использование Sentry с React. Эта статья является частью серии, начинающейся с сообщения об ошибках Sentry на примере: Часть 1. Читать дальше →

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

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

Полная поддержка популярных реализаций Docker Registry в werf Все популярные реализации реестров для образов контейнеров поддерживают Docker Registry HTTP API и позволяют использовать одни и те же инструменты для работы с ними. Тем не менее, часть реализаций имеет свои особенности и ограничения, а значит — если вам нужно их поддержива...

Укрощая зверя: legacy-код, тесты и вы Legacy-код — это «старый» код, возраст которого может быть как 2 месяца, так и 10 лет. Часто его писали разработчики, о которых в компании смутно помнят. Возможно, их вообще не было, а legacy-код родился вместе со Вселенной во время Большого Взрыва. С тех пор требования к не...

Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 1. Выбираем и устанавливаем сервер tl;dr; И так, что будет сделано в конце всего туториала? создадим основной сервер, так называемое лобби — место, куда попадают все игроки, только что подключившиеся к серверу запустим второй сервер, на котором установим популярную мини-игру Murder Mystery установим и на...

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

Разбираем ресурсы Twisted Metal 4 (PSX) в Ghidra. Часть 1 Всем привет, В данной статье я расскажу о реверс-инжиниринге ресурсов игры Twisted Metal 4 для первой Playstation. В качестве основного инструмента я буду использовать Ghidra. Наверняка вы слышали об игровой серии Twisted Metal. А кому-то, наверное, довелось и поиграть (мне...

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

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

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

Джедайская техника уменьшения сверточных сетей — pruning Перед тобой снова задача детектирования объектов. Приоритет — скорость работы при приемлемой точности. Берешь архитектуру YOLOv3 и дообучаешь. Точность(mAp75) больше 0.95. Но скорость прогона всё еще низкая. Черт. Сегодня обойдём стороной квантизацию. А под катом рассмотри...

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

Object Detection. Распознавай и властвуй. Часть 2 В прошлом посте я начал разбираться в двухступенчатых Object Detection моделях и рассказал о самой базовой и, соответственно, первою из них – R-CNN. Сегодня мы рассмотрим другие модели этого семейства: Fast R-CNN и Faster R-CNN. Поехали! Читать дальше →

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

Виртуальная АТС. Часть 1: Простая установка Asterisk на Ubuntu 20.04 Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недоро...

Рекомендательные системы, основанные на графах Всем привет! Меня зовут Александра Зенченко, я Lead Software Engineer в ЕРАМ. Занимаюсь разработкой решений, которые помогают нашим клиентам повышать эффективность работы и, в основном, включают в себя часть машинного обучения. В последнем проекте я работала над построением ...

Все об OpenShift Egress. Часть 1 Про управление входящим в OpenShift трафиком (оно же Ingress) написано много в документации и различных статьях по его настройке. Но, кроме контроля входящего в кластер трафика, в работе зачастую требуется контроль исходящего трафика (Egress). А на эту тему информации, сис...

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

Zen 4, RDNA3 и совершенно новая видеокарта Radeon. AMD рассказала о новых архитектурах и ближайших планах Компания AMD провела мероприятие Financial Analyst Day, на котором рассказала о грядущих процессорных и графических архитектурах. Начнём мы со свежей дорожной карты компании, которая позволяет нам понять, когда ждать те или иные новинки. Как можно видеть, до 20...

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

[Перевод] Создайте свой собственный симулятор Q# — Часть 1 Симуляторы — это особенно универсальная особенность QDK. Они позволяют вам выполнять различные задачи в программе на Q#, не меняя ее. Такие задачи включают симуляцию полного состояния, оценку ресурса или симуляцию трассировки. Новый интерфейс IQuantumProcessor позволяет очен...

[Перевод] WebRTC для любопытных (часть 1) Данный материал - это вольный перевод онлайн-книги webrtcforthecurious.com. Вся книга будет разбита на отдельные статьи, которые будут выходить в разное время. В основном я это сделал для себя в будущем, так как в свободное от работы время почти целиком и полностью занимаюсь...

Анонсирован ремастер первых двух частей Tony Hawk's Pro Skater Издатель Activision объявил о планах выпустить полностью обновленные версии первых двух частей популярных симуляторов скейтбординга Tony Hawk’s Pro Skater на современных платформах. Игры выйдут в одном паке на PlayStation 4, Xbox One и ПК (в Epic Games Store) 4 сентября. Об...

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

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

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

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

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

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

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

Прошивка для фотополимерного LCD 3D-принтера своими руками. Часть 3 В предыдущих двух частях я рассказал о том как делал GUI, заводил управление шаговым двигателем и организовывал работу с файлами на USB-флэшке. Первая часть лежит тут. В ней было описан первый этап — создание графического пользовательского интерфейса для дисплея с сенсорно...

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

[Перевод] Это норма — 2: как запекаются карты нормалей Это вторая часть серии туториалов о картах нормалей. Первая часть находится здесь, но для понимания второй части читать её не обязательно. Общий принцип запекания карты нормалей относительно прост: у нас есть lowpoly-модель с UV-координатами и highpoly-модель; мы переносим...

Прошивка для фотополимерного LCD 3D-принтера своими руками. Часть 2 Продолжение статьи о написании своей прошивки для фотополимерного LCD 3D-принтера. Первая часть лежит тут. В ней было описан первый этап — создание графического пользовательского интерфейса для дисплея с сенсорной панелью. В этой части продолжу описывать этапы своего проек...

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

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

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

Первые шаги с aiohttp: часть 2. Подключаем базу данных к приложению Привет!В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.В этой статье мы продолжим изучение и подключим к нашему приложению базу данных PostgreSQL, используя для этого Gino, SQLAlchemy и Aiopg, а также автоматически с...

Создание полноценного Viberbot на Django 2 и Viber REST API. Часть первая — Webhook Установка Webhook для работы bot на viber и отправка первого POST запроса к backend мессенджера Опираясь на свой опыт разработки под Viber и множество неоднозначных мнений, публикую цикл статей по созданию и запуску viberbot. Для понимая полной картины в целом, будем работат...

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

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

BlazingPizza: приложение на Blazor от начала и до конца. Часть 1. Настройка среды Всем привет! Если вы слышали о Blazor, но до сих пор не понимаете, что это такое. То вы по адресу. Это первая статья из цикла 12 статей, которая проведет вас через все круги ада весь процесс создания приложения на Blazor. В конце у нас будет готовый сайт небольшой пиццерии, ...

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

Безопасность npm-проектов, часть 2 Безопасность npm-проектов, часть 2 Всем привет! В прошлых постах мы поговорили о том, как команда npm обеспечивает безопасность, а также начали рассматривать инструменты, помогающие нам повысить безопасность проектов. Я хочу продолжить разговор и рассмотреть следующий набор...

Эксперимент VTrade. Часть 3: Книга ордеров. Обработка и хранение торговой информации В прошлой статье цикла мы познакомились с типами биржевых заявок. Сегодня мы разберем книгу ордеров, обработку заявок и вопросы связанные с организацией хранения торговой информации. Читать дальше →

10 самых популярных курсов Microsoft на русском Привет, Хабр! Совсем недавно мы выложили первую часть серии подборок полезных обучающий курсов для программистов. И вот незаметно подкралась последняя пятая часть. В ней мы перечислили некоторые из самых популярных IT-курсов, которые доступны на нашей учебной платформе Micro...

Snort или Suricata. Часть 3: защищаем офисную сеть В предыдущей статье мы рассказали, как запустить стабильную версию Suricata в Ubuntu 18.04 LTS. Настроить IDS на одном узле и подключить бесплатные наборы правил довольно несложно. Сегодня мы разберемся, как с помощью установленной на виртуальном сервере Suricata защитить ко...

В следующем году xCloud перейдёт на блейд-серверы на базе Xbox Series X Сервис потоковой передачи игр Microsoft Project xCloud должен запуститься к конце этого года как часть подписки Xbox Game Pass. Первоначально сервис будет использовать блейд-серверы, основанные на консолях Xbox One S, но уже в следующем году Microsoft намерена обновить их н...

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

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

Blazor Client Side Интернет Магазин: Часть 2 — CI/CD Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как я настроил CI/CD для него. За подробностями добро пожаловать под кат. Читать дальше →

Dynamic Delivery в многомодульных проектах (часть 1) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Dynamic Delivery — технология, позволяющая устанавливать и удалять части приложения прямо во время работы для того, чтобы уменьшить место, занимаемо...

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

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

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

Blazor Client Side Интернет Магазин: Часть 5 — Просмотр корзины и работа с Stateful Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него возможность просмотра корзины товаров и организовал работу с состоянием. За подробностями добро пожаловать под кат. Читать дальше →

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 3 — Практическое применение Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие. Дорогие читатели, я снова приветствую вас на передаче Нетрадиционное программирование на PHP. Для понимания происходящего рекомендую ознакомиться с предыдущими двумя...

[Из песочницы] Alt: City Online. Как я в одиночку создавал «Gta Online» для мобильных устройств. Часть 1 Возможно ли в здравом уме замахнуться на подобный проект в одного, и надо ли оно вообще? Спойлер: да (длинный пост с картинками и видео). Читать дальше →

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

ArangoDB в реальном проекте ArangoDB гибридная (документная и графовая) база данных. К ее положительным сторонам относятся: мощный и удобный язык запросов AQL JOIN (даже более мощный чем в реляционных базах данных) репликация и шардинг ACID (в кластере работает только в платной версии) Из менее сущес...

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

Как улучшить ваш API сервис на node.js. Часть 1 Сейчас доступно приличное количество материалов по написанию API на node.js. Большинство из них в виде туториалов и демо-примеров в документациях. Этого достаточно, чтобы быстро разобраться и написать что-то свое. Но в них редко найдутся детали, почему это делается именно та...

Где посмотреть «Звёздные войны: Скайуокер. Восход»? Точно не на пиратских сайтах 19 декабря в прокат вышел фильм «Звёздные войны: Скайуокер. Восход» — заключительная часть новой трилогии.

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

Нагрузочное тестирование Atlassian Jira, Confluence, Bitbucket Часть 2 Вот здесь можно почитать часть 1 этой статьи. В части 2 мы поговорим о том, как подготовить данные для нагрузочного тестирования с помощью инструмента dc-app-performance-toolkit. Читать дальше →

[Перевод] Модели глубоких нейронных сетей sequence-to-sequence на PyTorch (Часть 1) Этот туториал содержит материалы полезные для понимания работы глубоких нейронных сетей sequence-to-sequence (seq2seq) и реализации этих моделей с помощью PyTorch 1.8, torchtext 0.9 и spaCy 3.0, под Python 3.8. Материалы расположены в эволюционном порядке: от простой и неточ...

Практические истории из наших SRE-будней. Часть 2 Утекло уже немало воды с момента публикации нашего последнего очерка об интересных случаях из практики обслуживания Kubernetes-кластеров и запускаемых в нём сервисов/приложений. Хотим представить очередную серию приключений инженеров «Фланта» в неспокойных водах большой (и...

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

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

Основы линейной регрессии Здравствуй, Хабр! Цель этой статьи — рассказать о линейной регрессии, а именно собрать и показать формулировки и интерпретации задачи регрессии с точки зрения математического анализа, статистики, линейной алгебры и теории вероятностей. Хотя в учебниках эта тема изложена стр...

Создание отказоустойчивой ИТ инфраструктуры. Часть 3. Организация маршрутизации на роутерах VyOS Основная цель статьи – показать процесс установки и настройки виртуальных маршрутизаторов VyOS на кластере oVirt, для организации связи на уровне L3 между внутренними и внешними сетями. Также в статье будут рассмотрены вопросы, связанные с особенностями настройки выхода в Ин...

Всё про налоги для IT-фрилансеров. УСН, патент или налог для самозанятых. Часть 2 Продолжаем рассказывать про налоги для IT-фрилансеров. В первой части мы подробно рассмотрели, когда нужно регистрировать ИП и кто может стать самозанятым. А в этой — сравним налог для самозанятых с УСН и патентом. Читать дальше →

Две альтернативы JDBC Примеры для двух неблокирующих библиотек доступа к SQL базам данных — Vert.X SQL и R2DBC. Примеры будут основаны на PostgreSQL и реактивных обертках Java. Начнем с главного: JDBC — это отличный стандарт. Служил и служит верой и правдой. Но новые веяния просят новых решений...

Общий финансовый анализ на Python (Часть 3) После всех вычислений, приведенных в этой и этой публикациях, можно углубиться в статистический анализ и рассмотреть метод наименьших квадратов. Для этой цели используется библиотека statsmodels, которая позволяет пользователям исследовать данные, оценивать статистические мо...

[Перевод] Полигоны Another World: Amiga 500 Эта статья часть серии про порты игры Another World. В ней пойдёт речь про хитрости при работе с Amiga 500. Рекомендуется сначала прочитать предыдущую статью. История Amiga начинается в середине 1982 года со звонка Ларри Каплана Джею Майнеру. Оба тогда работали в Atari в 70-...

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

[Перевод] Неоморфизм с помощью SwiftUI. Часть 1 Салют, хабровчане! В преддверии старта продвинутого курса «Разработчик IOS» мы подготовили еще один интересный перевод. Неоморфный дизайн — это, пожалуй, самый интересный тренд последних месяцев, хотя, по правде говоря, Apple использовала его в качестве своего дизайнерског...

АДСМ3. IPAM/DCIM-системы В предыдущих сериях АДСМ мы выработали фреймворк автоматизации, разобрались с тем, зачем появилась виртуализация и как она работает. В последней части мы выбрали и обосновали дизайн сети, роли устройств, производителей, определились с LLD (адресацией, маршрутизацией, номерам...

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

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

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

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

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

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

Игровой магазин GOG предлагает весеннюю распродажу игр с коллекционным изданием The Witcher В игровом магазине GOG которая принадлежит разработчику CD Projekt, проходит весенняя распродажа на игры. Коллекция Witcher Goodies Collection включает в себя The Witcher 3: Wild Hunt с различными разрешениями от стандартной четкости вплоть до 4K. The Witcher Goodie Pack 1 и...

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

[Перевод] Планирование в Go: Часть II — Планировщик Go Привет, Хабр! Это второй пост в серии из трех частей, которая даст представление о механике и семантике работы планировщика в Go. Этот пост посвящен планировщику Go. В первой части этого цикла я объяснил аспекты планировщика операционной системы, которые, на мой взгляд, важ...

«Красная» корпоративная культура — главная проблема российского бизнеса (Часть 3) «Попробуйте изменить себя и вы поймете, насколько ничтожны ваши шансы изменить других» (С) Вольтер Может ли «красный» лидер быть эффективным? (Спойлер: Да, если он не красный). В первой части мы говорили о недостатках «красной» культуры, во второй части упомянули физиоло...

[Из песочницы] Взаимодействие с NIDD через SCEF с использованием утилиты Postman. Краткий экскурс в SCEF и его возможности Данная статья позволит тем, кто еще только начинает свою разработку или уже применяет технологию NB-IoT, составить представление о том, как можно удаленно взаимодействовать с NB-IoT устройством. Краткий обзор NB-IoT легко наступает на пятки 2G и зарекомендовал себя как эн...

STM32 fast start. Часть 2 Hello World на HAL, отладка в Atollic TrueSTUDIO В прошлый раз мы осваивали создание нового проекта при помощи STM CubeMX первую часть можно найти здесь. Для тех, кому лень перечитывать — закончилось все тем, что пустой проект успешно собрался. В данной части напишем простейший пример Hello World на HAL, посмотрим как ...

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

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

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

PALIT GeForce GTX 1650 SUPER на архитектуре NVIDIA Turing - уже в продаже Компания Palit Microsystems, производитель видеокарт, сообщает о начале продаж видеокарт серии GTX 1650 SUPER, базирующихся на основе революционной архитектуры NVIDIA Turin.

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

Blazor Client Side Интернет Магазин: Часть 4 — Добавления товара в корзину Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него возможность добавления товара в корзину. За подробностями добро пожаловать под кат. Читать дальше →

Первые трейлеры ремейка Resident Evil 3 и Babylon’s Fall, а также эксклюзив Final Fantasy VII Remake для PS4 В рамках заключительной части State of Play состоялось сразу несколько анонсов, наиболее значимым из них оказался анонс нового Resident Evil 3. После удачного ремейка Resident Evil 2, вышедшего в этом году, Capcom объявила о планах перевыпустить третью часть франшизы. Обновл...

PALIT GeForce GTX 1650 SUPER на архитектуре NVIDIA Turing — уже в продаже Компания Palit Microsystems, производитель видеокарт, сообщает о начале продаж видеокарт серии GTX 1650 SUPER, базирующихся на основе революционной архитектуры NVIDIA Turing, отмеченной многочисленными наградами.

Innersloth анонсировала вторую часть кооперативной игры Among Us Игра «Мафия» известна всем любителям собираться компанией друзей, чтобы попытать свою удачу и ловкость рук в карточных или настольных играх. Главная задача — найти убийцу быстрее, чем он перебьёт всех жителей города. Но остальным геймерам тоже хочется поиграть порой в нечто...

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

Возможный список ближайших раздач в Epic Games Store В сети опубликовали возможный список игр, которые попадут в бесплатную раздачу от Epic Games. На следующей недели, в еженедельной акции магазина Epic Games Store поучаствуют следующие игры: Civilization VI, Borderlands: The Handsome Collection и ARK: Survival Evolved. Civi...

[Из песочницы] Простой Telegram-бот на Flask с информированием о погоде Всем привет, в этой статье я расскажу как сделать простейшего телеграмм бота на Python для отправки текущей погоды в Москве. Статья расчитана на новичков в Python, которые бы хотели узнать больше о том, как взаимодействовать с внешними сервисами по API. Технологии и API: Py...

[Перевод] Life in the Fast Lane Серия статей о GC Don’t Fear the Reaper Life in the Fast Lane Go Your Own Way. Часть первая: Стек Go Your Own Way. Часть первая: Куча В первой из серии статей о GC я представил сборщик мусора в языке D и...

Чем охлаждать народный райзен. Часть 3: битва термопаст В бонусной серии материалов мы разберемся, можно ли сэкономить на термопасте и при этом улучшить охлаждение. Быть или не быть на примере AMD Ryzen 5 3600. Evercool vs MX-4

Huawei переводит серверы серии FusionServer Pro на процессоры Intel Cascade Lake Refresh Компания Huawei завершила тестирование серверов серии FusionServer Pro на процессорах Intel Cascade Lake. Список моделей, переведенных на новые процессоры, включает стоечные серверы 1288H V5, 2288H V5, 2298 V5 и 5288 V5, сервер с высокой плотностью компоновки X6000 V5 и...

Мониторинг в ЦОДе: как мы меняли старую BMS на новую. Часть 2 В первой части мы рассказали о том, почему решили поменять старую BMS-систему в наших ЦОДах на новую.  И не просто поменять, а разработать с нуля под свои требования. Во второй части рассказываем, как мы это делали. Читать дальше →

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

VINTEO Server — корпоративная видеоконференцсвязь высшего класса. Установка, настройка, полное описание В прошлой статье, Обучение, переговоры, консультации удалённо — Часть 2: Vinteo Server — 3 месяца бесплатной видеоконференцсвязи, я немного описал особенности и функционал уникального российского решения ВКС Vinteo Server. Эта статья является подробным руководством по устано...

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

Знакомство с pg_probackup. Первая часть Привет, я Александр Никитин, главный системный администратор компании «БАРС Груп». В этой статье я хочу познакомить вас с инструментом pg_probackup. Pg_probackup — разработка компании Postgres Professional, которая помогает делать резервные копии СУБД PostgreSQL. В отличи...

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

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

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

Тайны файла подкачки pagefile.sys: полезные артефакты для компьютерного криминалиста В одной крупной финансовой организации произошел неприятный инцидент: злоумышленники проникли в сеть и «пылесосили» всю критически важную информацию — копировали, а затем отправляли данные на свой удаленный ресурс. Криминалистов Group-IB призвали на помощь лишь спустя полг...

Халвинг 2020, майнинг и цена биткоина — комментируют эксперты (Часть 2) До третьего третьего по счету халвинга остается все меньше времени. Это событие откроет новую главу в истории биткоина, однако какой она окажется и чего ждать участникам рынка? ForkLog публикует вторую часть сессии вопросов и ответов, в которой приняли участие финансовый ана...

[Перевод] Отпечаток браузера: что это, как работает, нарушает ли закон и как защититься. Часть 1 От Selectel: эта статья первая в цикле переводов очень детальной статьи об отпечатках браузера и том, как работает технология. Здесь собрано все, что вы хотели знать, но боялись спросить по этой теме. Что такое отпечатки браузера? Это метод, используемый сайтами и сервиса...

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

Настройка балансировки нагрузки на InfoWatch Traffic Monitor Что делать, если мощности одного сервера не хватает для обработки всех запросов, а производителем ПО не предусмотрена балансировка нагрузки? Есть много вариантов – от покупки балансировщика нагрузки до ограничения числа запросов. Какой из них правильный, нужно смотреть по ...

(S)SDLC, или Как сделать разработку безопаснее. Часть 3 Этой статьей мы завершим небольшой цикл о построении процесса безопасной разработки на основе SAST — статического анализа кода на безопасность. В первой части мы разобрали основные вопросы, возникающие при внедрении SAST в процесс разработки. Во второй части остановились на ...

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

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

Бесконечный раннер Faily Brakes 2 теперь появился и на Android Студия Spunge Games заняла нишу второсортных, но интересных раннеров с серией Faily Brakes. Первая часть была загружена более 10 млн раз в Google Play за последние 4 года. Судя по всему, казуальные геймеры заинтересованы в выходе подобных проектов, поэтому студия решила не о...

Чем охлаждать народный райзен. Часть 2: темная сила В этой серии материалов мы разберемся, существует ли необходимость менять заводской кулер AMD на дорогой кулер башенного типа. Быть или не быть на примере AMD Ryzen 5 3600, разумеется. Часть 2.

[Перевод] Как в одиночку запустить продукт, если вы разработчик: советы от создателя Laravel Тейлова Отвела. Часть 2: Поиск идеи В прошлом выпуске мы рассматривали различные способы формирования аудитории. Когда есть аудитория — есть потенциальные покупатели. Теперь осталось придумать, что им продавать. Откуда брать идеи для своего продукта? Читать дальше →

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

[Из песочницы] PCI Express в ПЛИС V-й серии Intel: основы интерфейса и особенности аппаратных ядер Введение Знакомый многим интерфейс PCI Express или PCIe был доступен разработчикам систем на ПЛИС уже тогда, когда он только начинал распространяться в цифровой технике. В это время существовало решение, в котором программное ядро подключалось ко внешней микросхеме физическо...

Disaster Recovery и миграция c помощью VMware vCloud Availability. Часть 2 Привет! В прошлом посте я рассказал о возможностях VMware vCloud Availability (vCAV) и показал, как организовать Disaster Recovery (DR) и миграцию в рамках нескольких площадок облачного провайдера. Сегодня посмотрим, как с помощью vCAV восстановиться или просто смигрировать ...

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

Реализация архитектуры безопасности с нулевым доверием: вторая редакция Источник В начале 2020 года Национальный институт стандартов и технологий США (NIST) опубликовал черновик второй редакции документа, в котором рассматриваются основные логические компоненты архитектуры с нулевым доверием (Zero Trust Architecture, ZTA). Нулевое доверие (Ze...

[Перевод] Букварь по дизайну систем (Часть 1 с дополнениями по микросервисам) Несколько лет назад, для закрытия одного их предметов мне довелось перевести данный букварь. Де-факто этот вариант стал официальным переводом. Но развитию этого перевода мешает, тот факт, что он был написан в Google Drive и закрыт на редактирования. Сегодня я уделил время н...

[Перевод] Распознавание маски на лице с помощью YOLOv3 YOLO или You Only Look Once — это архитектура свёрточных нейронных сетей, которая используется для распознавания множественных объектов на изображении. В 2020, на фоне пандемии, задача детектирования объектов (object detection) на изображении стала как никогда актуальной. Эт...

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

[Из песочницы] 3D своими руками. Часть 1: пиксели и линии Этот цикл статей я хочу посвятить читателям, желающим изучить мир 3D-программирования с нуля, людям, которые хотят узнать основы создания 3D-составляющей игр и приложений. Каждую операцию мы будем реализовывать с чистого листа, чтобы понимать каждый аспект, даже если есть ...

Первый геймплейный ролик NieR: Re[in]carnation с потрясающей музыкой В конце прошлого месяца издатель Square Enix анонсировал игру под названием NieR: Re[in]carnation, которая станет частью популярной серии. Теперь он опубликовал геймплейный ролик проекта, в котором можно познакомиться с миром и атмосферой, а также убедиться, что мобильная ч...

oVirt за 2 часа. Часть 2. Установка менеджера и хостов Эта статья — следующая в цикле по oVirt, начало здесь. Статьи Введение Установка менеджера (ovirt-engine) и гипервизоров (hosts) — Мы здесь Дополнительные настройки Итак, рассмотрим вопросы первичной установки компонентов ovirt-engine и ovirt-host. Читать дальше →

Рубрика «Читаем статьи за вас». Март 2020. Часть 2 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Первая часть мартовской сборки обзоров опубликована ранее. Статьи на сегодня: NeRF: ...

Режим Хатико активирован: MMO Lord of the Rings от Amazon якобы выйдет в 2023 году В начале ноября мы писали о том, что Amazon только собирается начать работу над многопользовательской игрой по вселенной «Властелина колец». Корпорация набирала разработчиков, которые должны создать уникальный дизайн, который не похож на фильмы и другие проекты по франшизе, ...

Фанаты сделали бесплатный ремейк культовой GTA: Vice City с современной графикой и движком GTA: Vice City считается одной из лучших частей серии и именно поэтому многие фанаты так долго ждали ремейк этой части. И вот команда Revolution Team все-таки выпустила ремейк культовой игры прошлых лет.   Читать полную статью

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

Apple выпустит в следующем году уникальную серию «умных» часов В следующем году Apple выпустит уникальную серию Apple Watch в рамках программы (PRODUCT)RED. Все продукты, участвующие в проекте, выполнены в красном цвете, а часть выручки от их продажи идёт в Глобальный фонд борьбы со СПИДом.

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

Palit представила новые модели видеокарт GeForce RTX Super Компания Palit представила новые модели видеокарт GeForce RTX Super на основе архитектуры Nvidia Turing - GeForce RTX 2080 Super и GeForce RTX 2070 Super, которые вошли в серию серии GamingPro. Подробнее об этом читайте на THG.ru.

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

Odie's Dimension II — духовный наследник Monument Valley доступен на Android Серия головоломок Monument Valley подкупает своей внешней красотой, успокаивающим саундтреком и не такими уж и сложными загадками даже для тех геймеров, которые не прошли дальше первой загадки в Resident Evil (версия от 1996 года). Но изометрических головоломок из этой серии...

Обучение, переговоры, консультации удалённо — Часть 2: Vinteo Server — 3 месяца бесплатной видеоконференцсвязи События, происходящие сейчас во всём Мире, неотвратимо продолжают влиять на отрасль удалённых коммуникаций. Много лет назад видеоконференцсвязь (ВКС) была признаком высокого достатка компании. Последние годы, на волне развития программных решений видеокоммуникаций, ВКС из ра...

Создаем Todo приложение c помощью Django. Часть 1 И снова здравствуйте. В преддверии старта курса «Web-разработчик на Python» наш внештатный автор подготовил интересный материал, которым с радостью делимся с вами. Джанго это мощный фреймворк для создания веб-приложений. Изначально Django был создан для того, чтобы быстро...

Мини-курс по 3D-сканированию выпуск 3/4. Про фотограмметрию. О фотограмметрии как способе 3D-сканирования. Сложности при сканировании и классные кейсы из опыта.Егор Смирнов инженер-геодезист, практикующий пилот БПЛА, интересно и содержательно расскажет об отличии фотограмметрии от сканирования 3d-сканером, о способах 3d-сканирования с...

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

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

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

Книга “Разработка мобильных приложений на C# для iOS и Android” Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору. Добрый день, уважаемый хабр...

[Supercomputing-2019]. Мультиоблачное хранилище как сфера применения новых накопителей Kingston DC1000M Представьте, что вы запускаете инновационный медицинский бизнес — индивидуальный подбор лекарств на основе анализа генома человека. У каждого пациента 3 миллиарда пар генов, и обычному серверу на процессорах х86 потребуется несколько дней на расчеты. Вы знаете, что ускорить ...

Настройка ПИД-регуляторов: так ли страшен черт, как его малюют? Часть 5. Closed-Loop PID Autotuner Заключающая статья серии, посвященной автоматизированным способам настройки ПИД-регуляторов в среде Simulink, в которой мы рассмотрим применение блока автоматической настройки Closed-Loop PID Autotuner. Читать дальше →

[Перевод] Конференция DefCon 27: за кулисами создания электронных бэйджей. Часть 1 Ведущий: приветствую всех на 27-конференции DefCon! Поскольку многие из вас здесь впервые, расскажу вам о некоторых основополагающих моментах нашего сообщества. Один из них состоит в том, что мы во всем сомневаемся, и если вы услышали или увидели что-то непонятное, просто за...

Samsung поставит Apple около 80 % дисплеев для смартфонов серии iPhone 12 Несмотря на стремление Apple диверсифицировать поставки компонентов для своих продуктов, Samsung Display, как ожидается, всё ещё будет основным поставщиком OLED-матриц для смартфонов компании. Как сообщает DigiTimes, южнокорейский техногигант поставит около 80 % от общего об...

DIY кнопка вызова часть 2. Видеофон из Raspberry Pi В этой части делаем из Raspberry Pi VoIP устройство для осуществления видео вызовов по SIP протоколу. Первоначальная задача осталась прежней — осуществление вызова по внешнему воздействию (нажатию кнопки). Но немного изменилась реализация идеи. Как и в предыдущей части, восп...

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

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

Kaspresso tutorials. Часть 1. Запуск первого теста Всем привет! Мы запускаем большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Статьи планируются разного уровня сложности: первые материалы будут рассчитаны на  людей, которые никогда не программировали и ничего не автоматизировали, ...

JavaScript библиотека Webix глазами новичка. Часть 2. Работа с формами Я начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI биб...

Samsung показала финальную часть сборки гибкого смартфона Galaxy Z Flip [Видео] Компания Samsung поделилась видео, на котором демонстрируется заключительная часть производственного процесса складного смартфона Galaxy Z Flip. В ролике можно видеть, как инновационное устройство тестируется при помощи робота. Кроме того, в видео показана упаковка смартфоно...

Популярные ошибки в английском среди IT-специалистов. Часть 2: Произношение Моя статья «Популярные ошибки в английском среди IT-специалистов» собрала много комментариев с полезными дополнениями. И я решила выпустить вторую часть, теперь посвященную Произношению. Читать дальше →

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 4. Пакетирование программ Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Как стать DevOps инженером за полгода или даже быстрее. Часть 2. Конфигурирование Как стать DevOps инженером за полгода или даже быстрее. Часть 3. Версии Рассмотрим, как упаковать ваш код для легко...

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

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

Как мы построили динамические отчеты на SSRS 2014 Мы уже рассказывали, как помогли одной производственной компании трансформировать процессы корпоративного обучения и развития персонала. Сотрудники заказчика, которые тонули в бумажных документах и Excel-таблицах, получили удобное iPad-приложение и веб-портал. Одна из самых ...

Переключатели Cherry Viola приблизят цены на механические клавиатуры к уровню цен на мембранные клавиатуры Компания Cherry представила на выставке CES 2020 новую серию механических переключателей. Серия Viola, по словам производителя, позволит механическим клавиатурам проникнуть в начальный сегмент, приблизившись по стоимости к мембранным клавиатурам. В отличие от ра...

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

Стала известна дата релиза мобильного порта Monster Rancher 2 в Японии Monster Rancher 2 наконец-то обзавелась датой релиза на iOS, Android и Nintendo Switch. Оригинальная часть для PlayStation 1 считается культовой классикой, поэтому её релиза точно ждёт не мало людей. Игра чем-то напоминает идею серии Pokemon: игроки собирают монстров, тренир...

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

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

Консоль Microsoft Xbox Series X получит специализированный аудиопроцессор В конце февраля сообщалось, что игровая консоль нового поколения Microsoft Xbox Series X получит поддержку объёмного звука на основе трассировки лучей. Теперь появились новые подробности об аудиосистеме устройства. Известно, что за счёт обработки звука с помощью трассировки ...

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

10. Fortinet Getting Started v6.0. Сопровождение Приветствую! Добро пожаловать на десятый, юбилейный урок курса Fortinet Getting Started. На прошлом уроке мы рассмотрели основные механизмы логирования и отчетности, а также познакомились с решением FortiAnalyzer. В качестве завершения практических уроков данного курса я х...

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

Зона доступа: 30 способов, которые позволят разблокировать любой смартфон. Часть 1 В своей работе компьютерные криминалисты регулярно сталкиваются с кейсами, когда надо оперативно разблокировать смартфон. Например, данные из телефона нужны следствию, чтобы понять причины суицида подростка. В другом случае — помогут выйти на след преступной группы, напада...

Поиск работы в Германии продакт-менеджером и не только. Часть 3/5. Что нужно сделать перед тем, как начать рассылать CV Начало серии постов смотрите здесь и здесь. Ваши действия при поиске работы зависят от целей, которые вы преследуете. Например, вы твердо хотите попасть в Facebook на позицию аккаунт-менеджера по работе с малым и средним бизнесом. В этом случае вы начинаете читать многочисл...

Мониторинг работы кредитного скоринга в Power BI В условиях когда большая часть заявок на кредит рассматривается автоматически, мониторинг становится особенно важным. Всё ли работает в штатном режиме, как меняются ключевые показатели, какие изменения нужно внести, чтобы добиться нужного результата? В статье я расскажу, к...

Electronic Arts распустила Ghost Games и передала разработку франшизы Need for Speed студии Criterion Games, создавшей NFS: Hot Pursuit, NFS: Most Wanted и серию Burnout Легендарную серию гоночных симуляторов Need for Speed снова ожидает смена курса. В Electronic Arts решили практически полностью распустить создателей трех последних частей Ghost Games, оставив только нескольких сотрудников для поддержки уже существующих проектов в рамках нов...

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

Кто такой хороший QA? Начнем с того, что в народе всех quality assurance инженеров (“по-нашенски”, инженеров отдела качества) обзывают тестировщиками. Это не совсем правильно, в реальности тестирование — это только часть задач QA, но кого бы это волновало. Поэтому пойдем в общем тренде и будем и...

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

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

Анонсирован сборник Mafia: Trilogy с полноценным ремейком первой части Слухи оказались правдивыми лишь наполовину, и в дополнение ко второй и третьей частям издатель 2K и студия Hangar 13 анонсировали переиздание первой части культовой Mafia. Подробно о комплекте должны рассказать 19 мая, но в сети уже появились первые подробности. Самое главн...

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

Как организовать тестирование, чтобы ускорить и стабилизировать релизы продукта. Часть 2 У тестировщика много возможностей повысить качество продукта и сделать работу команды комфортнее. Главное – обсуждать любые изменения с коллективом и внедрять только то, что удобно и полезно для всех. Меня зовут Виктория Дежкина, я отвечаю за тестирование ряда продуктов в Д...

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

[Из песочницы] EBlink — GDB сервер для ARM Cortex-M микроконтроллеров В сети не много информации о появившемся несколько лет назад GDB сервере EBlink. Этим постом постараюсь исправить ситуацию. EBlink поддерживает большинство моделей микроконтроллеров STM32 (серии F0, F1, F2, F3, F4, F7, H7, L0, L1, L4, G0 и G4), а также EFR32. Он интересен те...

Redis Best Practices, часть 2 Вторая часть цикла переводов «Redis Best Practices» от Redis Labs, и в ней рассмотрены паттерны взаимодействия и паттерны хранения данных. Читать дальше →

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

Samsung осознанно лишила смартфоны Galaxy одной из функций. Они разучились скрывать «чёлки» и вырезы Компания Samsung активно распространяет свою новую фирменную оболочку One UI 3.0 на основе Android 11, которая приносит массу новых функций. Однако пользователи не всем довольны —они обнаружили один неприятный сюрприз в One UI 3.0.  Galaxy S10 со скрытым выр...

Беспроводной DIY монитор влажности почвы Приветствую всех читателей Хабра! Сегодня хочу поделится с вами моим новым проектом — беспроводным датчиком влажности почвы, который построен на основе всем известного модуля влажности почвы с алиэкспрес. Новый датчик это логическое продолжение первого моего DIY проекта на э...

Тест-драйв смартфона Realme 6i 4/128GB Бюджетных смартфонов сегодня, как и всегда, огромное количество. При этом количество вендоров, которые пытаются что-то продать населению постоянно увеличивается. Часть из них, конечно же, в итоге отмирает. Но многие остаются. Мы до сих пор считаем realme относительным нови...

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

Анонсирована новая игра в легендарной серии Worms Компанией Team17 была внезапно анонсирована новая игра в легендарной серии Worms 2020. Напомним, что разработчик на протяжении длительного времени не выпускал игры данной серии. Так, последняя ее часть Worms W.M.D вышла еще в 2016 году.

Meshtastic – оперативно-тактический радиочат без сотовой связи и интернета. Часть 3. Радиомодемы самодельные В первой части темы мы познакомились с проектом Meshtastic. Узнали, что можно построить собственный радиочат на основе Mesh-сети, обычного смартфона и радиомодема. Во второй части мы узнали о существующих фирменных решениях, о том какие заготовки для Meshtastic-модемы можно ...

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

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

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

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

Первое устройство «СберДевайсы» — ТВ-приставка для онлайн-кинотеатра Okko Smart Box Дочерняя компания Сбербанка, «СберДевайсы», представила своё первое публичное устройство — ТВ-приставку для онлайн-кинотеатра Okko. Это небольшое устройство размером 77 × 53 × 16 мм, которое подключается к телевизору через кабель HDMI и к Интернету через Wi-Fi, управляется с...

Эксперимент VTrade. Часть 2: Ордеры. Типы, особенности обработки Чтобы понять, как работают биржи, нужно разобраться с биржевыми заявками и правилами их обработки брокером. В статье мы разберем типы ордеров, особенности их исполнения на бирже и накладываемые торговой моделью ограничения. Если вам любопытно, что значат аббревиатуры DAY, G...

Получить выписку из Росреестра через ФГИС ЕГРН и python. Часть 2 В этой статье попробуем получить выписки из ФГИС ЕГРН с помощью python (selenium) сразу по нескольким объектам недвижимости, решим капчу с помощью сервиса anticaptcha, используя его api. При встрече с капчей нейросети трогать не будем, так как они могут показаться сложнее в ...

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

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

Анонсирована новая часть игровой серии BioShock Компания 2K Games анонсировала новую часть знаменитой игровой серии BioShock (последняя из существующих игр серии — BioShock Infinite — была выпущена весной 2013 года), сообщив о создании новой студии — Cloud Chamber, которая как раз и ответственна за разработку новой игры. ...

В beat 'em up The King of Fighters ALLSTAR прибыли бойцы WWE В октябре прошлого года издатель Netmarble выпустил на мобильных проект под названием The King of Fighters ALLSTAR. Это динамичный beat ‘em up, одна из особенностей которого — огромное количество персонажей, встречавшихся в самых разных частях франшизы за всю ее 25-летнюю ис...

Как научиться программированию на Python? За последние несколько недель популярность онлайн-курсов и сектора онлайн-обучения в целом выросла почти в 4 раза. Почему? Во-первых, сейчас многие находятся на самоизоляции, и чтобы окончательно не потерять голову от безделья, пытаются занять себя чем-то полезным (и правил...

Неотъемлемые помощники в деле разведки наиболее эффективной в мире спецслужбы (часть 2) Часть 1 Даже имея доступ к конфиденциальным и секретным документам польза будет равна почти нулю, если у шпиона не будет возможности сделать их копии. Можно положиться на память и запомнить материал, потом записать с помощью блокнота и ручки, зарисовать. Довольно-таки неэффе...

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

Check Point Remote Access VPN — бесплатный курс по настройке удаленного доступа Приветствую, друзья! Добро пожаловать на наш очередной новый курс! Как я и обещал, курс Getting Started был не последним. На этот раз мы будем обсуждать не менее важную тему — Remote Access VPN (т.е. удаленный доступ). С помощью этого курса вы сможете быстро познакомиться ...

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

Assassin’s Creed Valhalla — новая часть Assassin’s Creed с викингами Ubisoft официально анонсировала следующую игру в знаменитой долгоиграющей серии Assassin’s Creed. Она называется Assassin’s Creed Valhalla, официальное название на русском — «Assassin’s Creed: Вальгалла». Как и ожидалось, Assassin’s Creed Valhalla при...

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики Введение Здравствуйте дорогие Хабровчане. Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть. Для начала вкратце повторю постановку задачи: Имеется бол...

[Перевод] Пишем загрузчик на Ассемблере и C. Часть 1 Эта статья представляет собой ознакомительный материал о написании загрузчика на С и Ассемблере. Сразу скажу, что здесь я не буду вдаваться в сравнение производительности итогового кода, созданного на этих языках. В этой работе я просто вкратце изложу процесс создания загр...

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

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

Обзор программы SmartData 2021 Совсем скоро в онлайне стартует SmartData 2021. По названию конференции уже понятно, что она посвящена работе с данными, но не все так просто. Это достаточно обширная тема, в которой можно заниматься совершенно разными вещами. SmartData затрагивает конкретную часть домена «Р...

32 отличия дизайна мобильного приложения под iOS и Android Железный дизайнер из Redmadrobot Design Lab Артур Абраров делится наблюдениями. Адаптировать дизайн под другую платформу — неотъемлемая часть работы дизайнера мобильных приложений. Цель этой работы — органично вписать дизайн в паттерны взаимодействия пользователя. К тому ...

Ultimate Custom Night от автора Five Nights at Freddy's впервые вышла на мобильных Летом прошлого года студия Clickteam анонсировала, что выпустит ремастеры мобильных игр серии Five Nights at Freddy's, используя для новых версий ассеты в высоком разрешении из Steam, новый интерфейс, улучшенное управление и другое. Она также пообещала перенести на iOS и And...

Docker для фронтендера. Часть 2. Что ты такое? Продолжаю делать расшифровку своего доклада Docker для фронтендера с конференции FrontendConf 2019. В предыдущей части я постарался ответить на вопрос, зачем фронтенд-разработчику может понадобиться Docker. Сегодня попытаюсь простым языком рассказать, что это за инструмент,...

VxLAN фабрика. Часть 2 Привет, Хабр. Продолжаю цикл статей по технологии VxLAN EVPN, которые были написаны специально к запуску курса "Сетевой инженер" от OTUS. И сегодня рассмотрим интересную часть задач — маршрутизацию. Как бы ни банально это звучало, однако в рамках работы сетевой фаб...

Cygwin или MinGW? Собираем программы для Windows без Windows Для подписчиковБольшая часть разработчиков свободного софта работает на Linux или Mac, а вот поддержка Windows обычно реализована по остаточному принципу. Заработало — хорошо, не заработало — пускай портирует тот, кому это нужно. В этой статье я покажу, как создавать нативны...

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

Сниппет, расширение для VSCode и CLI. Часть 1 Доброго времени суток, друзья! В процессе разработки Современного стартового HTML-шаблона я задумался о расширении возможностей его использования. На тот момент варианты его применения ограничивались клонированием репозитория и скачиванием архива. Так появились HTML-снипп...

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

Битва WEB-серверов. Часть 1 – оторванный от реальности HTTP: В этой статье мы попробуем себя в реверс-инжиниринге, можно сказать. Мы заглянем своими грязными руками под капот каждого из веб-серверов, эксплуатируя их так, как никто бы никогда не эксплуатировал. Этот тест – замер сферического коня в вакууме, не более чем данные, которы...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

Разработчик игр 2K готовит переиздание Mafia II и Mafia III Серия Mafia является одной из популярнейших франшиз компании 2K. Считается, что первая и вторая часть игр оказались самыми успешными, а третья часть стала разочарованием из-за однотипной графики и визуализации, а также ряда других проблем. Компания объявила точное название...

[Из песочницы] Хакинг классического Sonic the Hedgehog для Sega В этой статье я хочу разобрать внутреннее устройство легендарной игры Sonic the Hedgehog для приставки Sega Mega Drive, а также способы ее модификации или, как еще говорят, хакинга. Эта игра насчитывает порядка сотни хаков, включающих как действительно достойные работы (таки...

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

Чистый код для TypeScript — Часть 2 Первая часть, судя по комментариям вызвала неоднозначное мнение, особенно что касалось части enum. Где-то я так же могу не соглашаться, как с автором оригинала, так и с некоторыми комментариями. Но как и указывалось в начальном описании к первой части, чистый код это не догм...

Saints Row: The Third Remastered выйдет в мае Серия Saints Row в своё время являлась конкурентом Grand Theft Auto, но затем стала чем-то большим. Четвёртая часть была поистине безумной (туда добавили виртуальную реальность, пришельцев и сверхспособности), а третья остаётся признанной классикой. Ее, кстати, совсем скоро...

Антипаттерны ретроспективы в Agile-команде. Часть 1 Недавно я подсчитала, что за несколько лет работы в роли Скрам Мастера я провела более 100 ретроспектив в Agile-командах. О важности ретроспективы и том, как она отражает ситуацию в команде и влияет на ее развитие, хочу поговорить в этой статье. Читать дальше →

[Из песочницы] Создание отказоустойчивой ИТ инфраструктуры. Часть 1 — подготовка к развёртыванию кластера oVirt 4.3 Вниманию читателей предлагается ознакомиться с принципами построения отказоустойчивой инфраструктуры небольшого предприятия в рамках одного ЦОДа, которые будут детально рассмотрены в небольшом цикле статей. Читать дальше →

Apple рассматривает возможность приобрести часть бизнеса Broadcom Если верить источникам издания The Wall Street Journal, то компания Broadcom рассматривает возможность продать свое радиочастотное подразделение. Предполагается, что одним из самых вероятных покупателей является Apple.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No ...

[Из песочницы] RabbitMQ. Часть 1. Introduction. Erlang, AMQP Добрый день, Хабр! Хочу поделиться учебником-справочником знаний, которые мне удалось собрать по RabbitMQ и сжать в короткие рекомендации и выводы. Читать дальше →

API, ради которых наконец-то стоит обновиться с Java 8. Часть 2 Продолжаем рассказ про API, которые появились в новых версиях Java. 1. Files.mismatch() Появился в: Java 12 На практике довольно часто возникает необходимость проверить, являются ли два файла в точности одинаковыми или нет. С помощью метода Files.mismatch(), появившегося в ...

Начались продажи блоков питания SilentiumPC Vero L3 Bronze и Vero M3 Bronze С пометкой «новинка» в каталоге компании SilentiumPC появились три модели блоков питания серии Vero L3 и две — серии Vero M3. Серию Vero L3 пополнили БП мощностью 500, 600 и 700 Вт, а серию Vero M3 — мощностью 600 и 700 Вт. Все они имеют сертифик...

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

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

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

Всё про налоги для IT-фрилансеров. ИП и самозанятые. Часть 1 Раньше у IT-фрилансеров было только два варианта работать легально: зарегистрировать ИП на УСН или на патенте. С этого года появилась ещё одна альтернатива — стать самозанятым. Пока новый режим действует только в 4 регионах, но в 2020 году его планируют ввести на всей терри...

[Перевод] Примеры GraphQL на Java для начинающих [со Spring Boot] В этой статье мы рассмотрим пример GraphQL на Java и создадим простой сервер GraphQL со Spring Boot. Таким цыпочкам тоже нравятся примеры GraphQL на Java со Spring Boot! GraphQL — это язык запросов для API, который позволяет клиентам запрашивать ограниченное множество данны...

[Перевод] Как устроен Selenium: Эпизоды 3 — 5 Салют, хабровчане. Сегодня мы продолжаем серию переводов, приуроченных к запуску курса «Java QA Engineer». Эпизод 3 — isDisplayed В результате диалога, произошедшего в последние выходные января 2020 года, который был посвящен одной из проблем в Selenium, где кто-то сказал ...

[Из песочницы] Создание голосового ассистента на Python, часть 1 Добрый день. Наверное, все смотрели фильмы про железного человека и хотели себе голосового помощника, похожего на Джарвиса. В этом посте я расскажу, как сделать такого ассистента с нуля. Моя программа будет написана на python 3 в операционной системе windows. Итак, поехали! ...

Вот так на самом деле выглядит Meizu 17 Хиншал Шарма (Hinshal Sharma), редактор изданий TrueTech и Get Droid Tips, опубликовал первую качественную фотографию смартфона Meizu 17. Смартфон получил современный дизайн с загнутыми боковыми частями экрана, а также врезанную в центральную верхнюю часть дисплея фронт...

Весь Хабр в одной базе. Комментарии и веб-приложение Часть 1 | mega.nz | Онлайн демо Наверное, это продолжение статьи, в которой я парсил Хабр в базу данных. Теперь настало время её применить. Читать дальше →

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

Устанавливаем Exchange 2019 на Windows Server Core 2019 Microsoft Exchange — большой комбайн, который включает в себя прием и обработку писем, а также веб интерфейс для вашего почтового сервера, доступ к корпоративным календарям и задачам. Exchange интегрирован в Active Directory, поэтому представим себе, что она уже была разверн...

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

Наша с девушкой первая видеоигра. Разработка на Unity. Часть 2 У-у-у… Кто обитает на дне океана? Cubicity — квадратная игра. Привет всем, кто ждал продолжения первой части нашей статьи. Настало время подвести итоги релиза Cubicity. Это был долгий путь с довольно полезным хоть и местами болезненным опытом, которым хотим с вами поделитьс...

Темная Вселенная. Часть 2 И вновь доброго времени суток! Данная статья является продолжением ранее опубликованной статьи о нашей «темной» Вселенной. В данной части мы продолжим рассмотрение различных интересных особенностей в космологии, над объяснением которых бьются множество ученых. В целом я пос...

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

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

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

Авторы Rusty Lake выпустили Samsara Room — ремейк предшественницы серии Студия Rusty Lake, известная одноименной серией сюрреалистических приключений, а также головоломками Cube Escape, представила ремейк Samsara Room. Этот проект был предшественником всей серии авторов. В ней есть те же черты, что и в остальных играх серии: изящный визуальный ...

Практическое занятие «Поиск вредоносного ПО в IoT» Продолжаем серию занятий по разбору CTF-задач для тех, кто начинает карьеру в ИТ и ИБ. Ближайший вебинар стартует в четверг 23 апреля в 18:00 и будет посвящен поиску вредоносного ПО в IoT. Будем разбирать протокол общения вредоносного ПО с C&C-серверами на примере ботне...

[Перевод] Пришло время ленивой загрузки закадровых <iframe> Нативная отложенная загрузка для изображений была добавлена в Chrome 76 через атрибут loading, а затем пришла и в Firefox. Мы рады сообщить, что встроенная отложенная загрузка для iframe теперь стандартизирована и также поддерживается в браузерах на основе Chrome и Chromiu...

Простой способ улучшить камеру почти любого смартфона. На примере Vsmart Live Сегодня большая часть смартфонов на Android выпускается с разнокалиберными процессорами Qualcomm. На рынке, конечно, также множество моделей с Kirin, Exynos, MediaTek, Unisoc и некоторыми другими. Но описываемый в этой статье способ подойдёт исключительно для аппаратов с ч...

Подготовиться к первому раунду инвестиций и переговорам с инвесторами: руководство для стартапов от Y Combinator Перевод одной из частей пособия о том, как понять, когда пора привлекать деньги, как заинтересовать инвесторов и оценить свою компанию.

Авторы The Elder Scrolls: Legends приостанавливают разработку новых материалов для игры The Elder Scrolls: Legends — один из главных конкурентов Hearthstone. Это карточная игра по мотивам популярной серии ролевых игр Bethesda. Она вышла в 2017 году и с тех пор активно поддерживалась разработчиками за счет обновлений, привносящих новые механики и контент. Судя п...

Консольные утилиты Linux, которые смогут облегчить вам жизнь (Часть 2) Так как предыдущая статья зашла довольно хорошо, было бы неправильно не поделиться дополнительными утилитами, которые я использую и по сей день. Сразу хочу оговориться, что статья адаптирована и для новичков, а старым линуксоидам придётся немного сточить зубы потерпеть разж...

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

«Коммерсантъ»: «Яндекс» задумался о создании собственного виртуального оператора связи Проект не будет прибыльным, но важен как часть экосистемы, считает эксперт.

Анонсирована Dangerous Driving 2 — безумная гонка с открытым миром от создателей Burnout Студия Three Fields Entertainment анонсировала вторую часть своей безбашенной гоночной аркады Dangerous Driving. Основателями компании, напомним, являются бывшие сотрудники студии Criterion Games, прославившейся игровой серией Burnout. Разработчики обещают, что Dangerous Dri...

Новый сервер для периферийных вычислений Максимальная конфигурация специализированного сервера Atos BullSequana Edge - CPU Intel Xeon D-2187NT, ОЗУ - 512 Гбайт, SSD - два по 960 Гбайт, два гигабитных и два 10-гигабитных порта, две видеокарты GPU NVidea T436 Гбайт, поддержка беспроводных соединений Wi-Fi, Bluetooth,...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

Анонсирована Prince of Persia: The Dagger of Time для виртуальной реальности Prince of Persia — популярная серия игр, первая часть которой вышла в 1989 году. В 2003 за нее взялась компания Ubisoft, выпустив четвертую часть всей серии и первую в новой истории под названием The Sands of Time. Спустя три игры, составляющих законченную историю, Ubisoft е...

[Перевод] Используем Ansible вместе с Terraform Недавно я начал применять Terraform для создания облачной лабы для тестов, и это довольно круто. Буквально за несколько дней я поднялся с «никогда не использовал AWS» до «я умею декларативно создавать изолированную инфраструктуру в облаке». Я поставил парочку серверов в выд...

В честь 70-летия чемпионата анонсирован симулятор F1 2020 Студия Codemasters анонсировала новую часть в серии гоночных симуляторов. F1 2020 приурочена к 70-летней годовщине Формулы-1. За предзаказ Schumacher Deluxe Edition или Seventy Edition разработчики обещают набор внутриигровых предметов. Новым режимом в симуляторе станет My ...

Открытые онлайн-материалы от Computer Science центра, часть 2 В первой части поста мы рассказали о наших популярных онлайн-курсах на Stepik, а теперь выкладываем записи открытых лекций и видеокурсов на YouTube и напоминаем о том, что до 11 апреля открыт новый набор в CS центр в Санкт-Петербурге и Новосибирске. Читать дальше →

[Из песочницы] Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 1/2 Современная вычислительная техника позволяет создавать классные компьютерные игры! И сейчас, достаточно популярны игры с 3d-графикой, так как, играя в них, ты окунаешься в вымышленный мир и теряешь всякую связь с реальностью. Развитие интернета и браузерных технологий сделал...

JavaScript библиотека Webix глазами новичка. Часть 3. Модули, диаграммы, древовидные таблицы Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

Пишем тренажер слепой печати на чистом JavaScript. Часть 1 Здравствуйте! В преддверии старта курса «Fullstack разработчик JavaScript» один из наших авторов решил поделиться своим опытом создания тренажера для слепой печати. А мы же, в свою очередь, хотим показать вам данный материал. Всем привет! Сегодня я решил показать, как нап...

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

[Перевод] Полезные советы по Python, которых вы ещё не встречали. Часть 2 Недавно мы опубликовали перевод материала, в котором были приведены полезные советы для Python-программистов. У того материала есть продолжение, которое мы представляем вашему вниманию сегодня. Читать дальше →

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

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

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

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

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

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