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

[Перевод] Как автоматизировать развертывание баз данных с помощью Liquibase? Liquibase — это инструмент управления изменениями в базе данных. С его помощью вы можете отслеживать изменения в базе данных, сделанные с помощью SQL (или XML) скриптов. Эти скрипты могут быть добавлены в системы контроля версий, такие как git.В данной статье мы рассмотрим, ...

Как создать мини-приложение: база знаний VK Mini Apps Полезные материалы на каждый этап жизненного цикла Мы много рассказываем о том, как создавать мини-приложения и запускать их на платформе VK Mini Apps. И видим, сколько классных идей у разработчиков — и опытных, и начинающих. Хочется, чтобы каждый мог воплотить свою задумку ...

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

[Из песочницы] IPSec всемогущий Добрый день, друзья. Не секрет, что многим из нас хоть раз, но пришлось столкнуться с необходимостью настройки VPN. Являясь активным читателем Хабра я заметил, что несмотря на обилие статей про IPSec, многим он всё равно представляется чем-то сложным и перегруженным. В данно...

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

[Перевод] Canary деплой с Jenkins-X, Istio и Flagger Доброго времени суток, читатель! Вот мы и подошли к заключительной части цикла статей о Канареечных релизах в Kubernetes и методах их реализации. Желаю приятного чтения и надеюсь, что данный цикл был для вас полезным. Использование решения Jenkins X для выполнения Canary де...

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

Представляем werf 1.0 stable: при чём тут GitOps, статус и планы Werf — это GitOps CLI-утилита с открытым кодом для сборки и доставки приложений в Kubernetes. Werf поддерживает сборку образов приложения с помощью Dockerfile или собственного встроенного сборщика (на основе синтаксиса YAML, с поддержкой Ansible и инкрементальной пересборк...

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

[Из песочницы] Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring, Spring Boot, Spring MVC, везде есть слово “spring”! Давайте пройдемся где и когда вы можете применять каждый из этих инструментов В этой статье, вы увидите обзоры: Spring, Spring MVC, и Spring Boot, узнает...

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

Версионирование структуры БД при помощи Liquibase Большая часть приложений, которые мне встречались, хранят данные в SQL базе данных. Если у вас корпоративное приложение, то скорее всего имеется несколько стендов: стенд разработки, пре-прод и прод. А над приложением трудится команда разработчиков.Такие приложения сталки...

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

[Перевод] Что такое SDLC? Этапы, методология и процессы жизненного цикла программного обеспечения Цитируя автора книги Managing Information Technology Projects Джеймса Тейлора, «жизненный цикл проекта охватывает всю деятельность проекта». Задачей же разработки ПО является выполнение требований продукта. Если вы хотите научиться создавать и выпускать высококачественное ПО...

Симуляционное моделирование механической системы средствами визуального программирования Scilab\Xcos Вместо предисловия. Эта небольшая по объему работа была экстренно выполнена с учебными и демонстрационными целями около года назад на базе уже разработанной ранее модели струны. Как водится, потом полежав энное время без дела, недавно она попалась мне на глаза. Что такое S...

Делаем страницу на React с базой сотрудников при помощи Airtable и Quarkly Слышали про такой инструмент, как Airtable, но не знали, с чего начать? Тогда приглашаем в мир визуального программирования построения БД! Этим постом мы начинаем цикл обучающих статей, в которых будем давать практические примеры работы с нашим инструментом Quarkly. В этом у...

База данных на SharedPreferences — Android Kotlin Для хранения большого количества информации в Android используется DataBase (SQLite, FireBase и т. п.), а для простого хранения настроек SharedPreferences. Вопрос, можно ли использовать SharedPreferences как своего рода Базу Данных и как это сделать? Статья написана об учеб...

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

Автомобили в Голландии: статистика и информация за 2019 год Привет Хабр. Эта статья является продолжением цикла про Велоинфраструктуру в Голландии. В этот раз речь пойдет про автомобили. Недавно в одном из проектов довелось получить доступ к данным с камеры, распознающей автомобильные номера. Зная номер, можно получить довольно м...

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

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

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

Эльбрус VS Intel. Сравниваем производительность систем хранения Аэродиск Восток и Engine Всем привет. Мы продолжаем знакомить вас с системой хранения данных Аэродиск ВОСТОК, выполненной на базе российского процессора Эльбрус 8C. В этой статье мы (как и обещали) детально разберем одну из популярнейших и интереснейших тем, связанной с Эльбрусами, а именно – прои...

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

Пешком по Firebase. Находим открытые базы данных, которые прячет Google Для подписчиковОблачная база данных — штука удобная: считай, вся работа по деплою и настройке сервера за тебя уже сделана, осталось только пользоваться! Админов это расслабляет настолько, что такие базы часто остаются незащищенными и ищутся с помощью поисковиков. Один нюанс ...

Сказ о том, как сделать машину времени для базы данных и случайно написать эксплойт Доброго времени суток, Хабр. Приходилось ли вам задумываться как поменять время внутри базы данных? Легко? Ну в некоторых случаях да, несложно — linux команда date и дело в шляпе. А если нужно поменять время только внутри одного экземпляра бд если их на сервере несколько? А...

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

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

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

Инструменты для алготрейдинга на Python. Расчет дневного изменения цены Привет Хабр! Сегодня я хочу начать свой цикл статей по алготрейдингу.Первым делом расскажу о самом простом индикаторе ожидаемой доходности ценной бумаги - дневное изменение цены.Дневное изменение цены - это отношение цены закрытия текущего дня к цене закрытия предыдущего дн...

Можно ли генерировать случайные числа, если мы не доверяем друг другу? Часть 1 Привет, Хабр!В этой статье мы обсудим генерацию псевдо-случайных чисел участниками, которые не доверяют друг другу. Как мы увидим ниже, реализовать “почти” хороший генератор достаточно просто, а вот очень хороший – сложно.Зачем вообще нужно генерировать случайные числа участ...

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

От скриптов к собственной платформе: как мы автоматизировали разработку в ЦИАН На РИТ 2019 наш коллега Александр Коротков сделал доклад про автоматизацию разработки в ЦИАН: чтобы упростить жизнь и работу, мы используем собственную платформу Integro. Она отслеживает жизненный цикл задач, снимает с разработчиков рутинные операции и заметно сокращает ко...

Собираем приложение Qt в WebAssembly в Windows Как известно, приложения написанные на Qt, который является кросс платформенными запускаются от desktop, мобильных, интернет вещей, до микроконтроллеров. Один из вариантов это сборка приложения Qt в WebAssembly — которое позволит Вам запускать его в браузере у пользовател...

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

Подключение Yandex Database к serverless телеграм боту на Yandex Functions Данная статья является продолжением вот этой статьи. В ней мы рассмотрели создание и настройку yandex cloud functions телеграм бота. А сегодня мы рассмотрим подключение телеграм бота к базе данных и сохранение какой-либо информации о пользователе, с которым общается бот.В ка...

Нейросеть — обучение без учителя. Метод Policy Gradient Доброго времени суток, Хабр Настоящей статьей открываю цикл статей о том, как обучать нейронные сети без учителя. (Reinforcement Learning for Neuron Networks) В цикле планирую сделать три статьи по теории и реализации в коде трех алгоритмов обучения нейронных сетей без учи...

Язык запросов для TSDB. Улучшаем PromQL (Александр Валялкин, VictoriaMetrics) Добрый день! Сегодня я вам расскажу немного про PromQL. Это язык запросов для time-series баз данных. Затем расскажу, как мы его усовершенствовали в разрабатываемой нами time-series базе данных VictoriaMetrics. Читать дальше →

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

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

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

[Перевод] 7 способов повысить эффективность автоматизации тестирования в Agile разработке Перевод статьи подготовлен в преддверии старта курса «Java QA Engineer». Разработка программного обеспечения — процесс сложный. Еще на заре разработки программного обеспечения как дисциплины архитекторы поняли, что без структуры управления этот процесс превращается в хао...

WhyNotWin11 – подробная диагностика совместимости с Windows 11 WhyNotWin11 – это альтернатива программе PC Health Check от Microsoft, которая подробно расскажет, почему ваш ПК несовместим с Windows 11. Если вы запустите WhyNotWin11.exe, то произведется сканирование оборудования. Благодаря опубликованным спецификациям Microsoft, теперь м...

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

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

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

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

[Из песочницы] Сохранение значений в .Net приложение на этапе сборки Появилась у меня необходимость при сборке приложения передать внутрь набор констант для использования их на рантайме. Например, мы хотим «зашить» в приложение некое строковое значение которое будет известно в момент сборки. В мире C++ я решал подобные штуки очень просто с и...

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

[Перевод] Решение проблемы N+1 запроса без увеличения потребления памяти в Laravel Одна из основных проблем разработчиков, когда они создают приложение с ORM — это N+1 запрос в их приложениях. Проблема N+1 запроса — это не эффективный способ обращения к базе данных, когда приложение генерирует запрос на каждый вызов объекта. Эта проблема обычно возникает, ...

Orchestrator и VIP как HA-решение для кластера MySQL В Ситимобил мы используем базу данных MySQL в качестве основного хранилища постоянных данных. У нас есть несколько кластеров баз данных под различные сервисы и цели. Постоянная доступность мастера является критическим показателем работоспособности всей системы и ее отдельны...

Преимущества и подводные камни Azure Cosmos DB Немало баз данных на сегодняшний день стремятся сделать всё, чтобы обеспечить высокую производительность, масштабируемость и доступность, при этом минимизируя сложность и стоимость поддержки. Azure Cosmos DB — отличный пример СУБД, которая легко может обеспечить эти ка...

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

Android 11 сможет реже расстраивать пользователей по сравнению с Android 10 Компания Google в данный момент вовсю работает над следующей версией своей мобильной операционной системы — Android 11 R. Постепенно в сети раскрываются новые функции, которые ждут нас с выходом новой ОС.  На этот раз стало известно об особенности, которая о...

[Из песочницы] Особенности установления соединения между участниками сетевой игры типа «равный к равному» Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP. Статья расчитана на начинающих разработчиков игр. Попытался написать такую ...

Книга «Эффективный Java. Тюнинг кода на Java 8, 11 и дальше. 2-е межд. издание » Привет, Хаброжители! Программирование и тестирование обычно принято относить к разным профессиональным сферам. Скотт Оукс — признанный эксперт по языку Java — уверен, что если вы хотите работать с этим языком, то обязаны понимать, как выполняется код в виртуальной машине Ja...

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

[Из песочницы] Как работают реляционные базы данных (Часть 1) Привет, Хабр! Представляю вашему вниманию перевод статьи "How does a relational database work". Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшог...

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

Мониторим базу PostgreSQL — кто виноват, и что делать Я уже рассказывал, как мы «ловим» проблемы PostgreSQL с помощью массового мониторинга логов на сотнях серверов одновременно. Но ведь кроме логов, эта СУБД предоставляет нам еще и множество инструментов для анализа ее состояния — грех ими не воспользоваться. Правда, если про...

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл,...

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

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

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

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

Райтап In the Shadows Это райтап об одном из заданий, которое мы приготовили для отборочного этапа CTFZone, прошедшего в конце ноября. О процессе подготовки к квалификации можно прочитать здесь. Вы начинаете с двумя файлами: decrypt_flag.py и ntfs_volume.raw. Д...

Xbox Series X растоптал PlayStation 5 в игровом плане Компания Sony раскрыла подробности о том, как будет работать на консоли следующего поколения PlayStation 5 обратная совместимость с играми, которые вышли на предыдущих приставках семейства. Вчера в заметке, которая была посвящена характеристикам PlayStation 5, мы ...

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

[Перевод] Как корпоративные команды разработчиков используют GitLab и Mattermost ChatOps для ускорения разработки И снова здравствуйте! В феврале OTUS запускает новый курс «CI/CD на AWS, Azure и Gitlab». В преддверии старта курса подготовили перевод полезного материала. Полноценный набор DevOps инструментов, мессенджер с открытым исходным кодом и ChatOps – как тут не влюбиться? Нико...

Мониторинг БД Oracle с помощью OEM Привет! Меня зовут Александра, я работаю в команде тестирования производительности. В этой статье расскажу базовые сведения об OEM от Oracle. Статья будет полезна для тех, кто только знакомится с платформой, но и не только для них. Основная цель статьи — помочь провести бы...

3. UserGate Getting Started. Политики сети Приветствую в третьей статье цикла статей UserGate Getting Started, где рассказывается о NGFW решении от компании UserGate. В прошлой статье был описан процесс установки межсетевого экрана и была произведена его первоначальная настройка. Сейчас же мы более подробно расс...

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

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

[Перевод] Делаем машину для намотки тороидальных катушек на базе Arduino Перевод с сайта Electric DIY Lab Всем привет, представляю вам изготовленную мною машину для намотки тороидальных катушек на базе Arduino. Машина автоматически наматывает проволоку и поворачивает тороид. В качестве интерфейса я использовал энкодер и ЖК-экран 16×2. Пользова...

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

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

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

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

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

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

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

3.  Континент 4 Getting Started. Контроль доступа Приветствую читателей в третьей статье цикла Континент Getting Started, где рассказывается о UTM решении от компании Код Безопасности. В прошлой статье был описан процесс установки узла безопасности и произведена его первоначальная настройка. В этой статье мы более подробно ...

Как писать читаемый код Бывает, что посмотрев на старый код, мы говорим: «Его проще переписать, чем поменять». Печально, если речь идет о нашем собственном коде, с такой любовь написанном несколько лет назад. Head of Developer Relations в Evrone Григорий Петров в своем докладе на TechLead Conf 2020...

[Из песочницы] ToolKit на базе Eclipse и GTK+, для «Toradex Colibri T20 (Linux)» Эта статья рассчитана прежде всего на то, чтобы сэкономить время при создании тулкита, но при этом я постараюсь рассказать все достаточно объемно. Содержание Скачать все необходимое Установка SDK Проверка SDK Установка Eclipse Подключение GTK к Eclipse Настройка прое...

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

Произошли улучшения качества обновлений драйверов в Windows 10 Время от времени мы видели сообщения о том, что Центр обновления Windows устанавливает драйверы устройств, несовместимые с новыми версиями ОС. Центр обновления Windows автоматически предоставляет и устанавливает новые драйверы для оборудования, подключенного к вашему ПК, так...

Как я разработал мобильную игру на Android с использованием React.js и выложил её в Google Play Store В данной статье рассмотрим все этапы разработки: от зарождения идеи до имплементации отдельных частей приложения, в том числе выборочно будут предоставлены некоторые кастомные куски кода.Данная статья может быть полезна тем, кто только задумывается или начинает разрабатывать...

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

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

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

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

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

Vue.js: Хуки жизненного цикла ваших и сторонних компонентов Lifecycle hooks (Хуки жизненного цикла) — это очень важная часть любого компонента. Нам, нашему приложению, часто нужно знать что происходит с компонентом, когда он создан, смонтирован, обновлен или уничтожен. В компоненте мы можем отлавливать эти события используя соотве...

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

ТЕЛЕКОММУНИКАЦИИ (16.11 – 15.12.2019) «МТС» начала продавать виртуальных юристов – систему автоматической работы с документами и управления жизненным циклом договоров. Решение создано на базе таких ИИ-технологий, как обработка естественного языка и компьютерное зрение...

[Из песочницы] Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам. Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представлени...

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

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

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

Несовместимо с устройством: как устанавливать на Android несовместимые приложения? Если вы хотите скачать из Google Play новую крутую игру или опробовать популярный стриминговый сервис, но вдруг оказывается, что выбранное приложение несовместимо с вашим устройством или не поддерживается в вашей стране – да, это разочарование. Но не спешите с выводами и не ...

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

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

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

[Из песочницы] Пишем бот для пазл игры на Python Давно хотел попробовать свои силы в компьютерном зрении и вот этот момент настал. Интереснее обучаться на играх, поэтому тренироваться будем на боте. В статье я попытаюсь подробно расписать процесс автоматизации игры при помощи связки Python + OpenCV. Читать дальше →

Появилось приложение для проверки совместимости смартфона с MIUI 12 Компания Xiaomi ведет активную работу над прошивкой MIUI 12, которую получит львиная доля смартфонов производителя.MIUI 12 пока не представлена официально, поэтому еще неизвестно, какие точно устройства смогут обновиться до этой версии прошивки. Зато в фирменном магазине Goo...

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

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

[Из песочницы] Логическая репликация из PostgreSQL в Erlang Довольно типичная схема при разработке системы, когда основная логика обработки сосредоточена в приложении (в нашем случае Erlang), а данные для работы этого приложения (настройки, профили пользователей и т. д.) в базе данных (PostgreSQL). Приложение Erlang кэширует настройк...

Книга «BPF для мониторинга Linux» Привет, Хаброжители! Виртуальная машина BPF — один из важнейших компонентов ядра Linux. Её грамотное применение позволит системным инженерам находить сбои и решать даже самые сложные проблемы. Вы научитесь создавать программы, отслеживающие и модифицирующие поведение ядра, с...

[Из песочницы] Типобезопасная работа с регистрами без оверхеда на С++17: value-based метапрограммирование С++, благодаря своей строгой типизации, может помочь программисту на этапе компиляции. На хабре уже довольно много статьей, описывающих как, используя типы, добиться этого, и это прекрасно. Но во всех, что я читал, есть один изъян. Сравним с++ подход и си подход с использова...

'Hello World' вам в облако Мир сходит с ума, заталкивая калькулятор для 2+2 в облака. Чем мы хуже? Давайте Hello World затолкаем в три микросервиса, напишем пару-тройку тестов, обеспечим пользователей документацией, нарисуем красивый пайплайн сборки и обеспечим деплой в условный облачный прод при успе...

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

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

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

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

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

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

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

Как установить приложение «Телефон» от Google на любой Android Экосистема Google включает широкий ассортимент самых разных приложений. Помимо всем известных Google Play, «Google Фото», Gmail и «Google Объектива», есть специальные приложения для отправки и приёма сообщений, календаря и телефона. Но если и «Google Сообщения», и Google Ка...

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

Xbox Series X обратно совместима с Xbox 360 и Xbox One Игровая консоль Xbox Series X выйдет только примерно через год, но для всех, кто к ней уже присматривается, есть замечательная новость: новинка обратно совместима к приставками предыдущих поколений — Xbox 360 и Xbox One. Об этом сообщил глава направления Xbox в Mi...

Как уменьшить размерность метрик в Prometheus, если вы не DevOps Иногда команда разработки сталкивается с задачей, в которой у неё мало экспертного опыта, и через пробы и ошибки она находит неочевидное решение. Так произошло и с нами, когда понадобилось перенести сбор метрик из Infux в Prometheus. Их итоговая размерность оказалась 1,5 мил...

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

Flutter, Dart — локальная база в сотни раз более быстрая чем SQLite или Shared Preferencies Примерно месяц назад общаясь с одним разработчиком приложения на Flutter встала проблема торможения обработки маленьких (в десятках тысяч) массивов данных на телефоне юзера. Многие приложения предполагают обработку данных на телефоне и, далее, их синхронизацию с бэкендом. На...

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

Делаем маршрутизацию (роутинг) на OpenStreetMap. Добавляем поддержку односторонних дорог Продолжаем цикл статей про построение систем роутинга со сложными требованиями на основе Open Source базы данных PostgreSQL и расширения PgRouting на карте OpenStreetMap. Сегодня мы поговорим о том, как добавить поддержку односторонних дорог (направлений движения). Зачастую,...

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

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

Простая самодельная VGA видеокарта Насколько мне известно, довольно многим интересно подключить микроконтроллер к обычному монитору и попробовать что-либо вывести на экран. В этой статье пойдёт речь о создании простейшей VGA-видеокарты на базе микроконтроллера atmega168-20. Читать дальше →

Оптимизация рендера под Mobile Здравствуйте, дорогие читатели, любители и профессионалы программирования графики! Предлагаем вашему вниманию цикл статей, посвященных оптимизации рендера под мобильные устройства: телефоны и планшеты на базе iOS и Android. Цикл будет состоять из трех частей. В первой части ...

Битва двух якодзун, или Cassandra vs HBase. Опыт команды Сбербанка Это даже не шутка, похоже, что именно эта картинка наиболее точно отражает суть этих БД, и в конце будет понятно почему: Согласно DB-Engines Ranking, две самых популярных NoSQL колоночных базы — это Cassandra (далее CS) и HBase (HB). Волею судеб наша команда управления...

Apple выпустила iOS 13.4 beta 1 для всех iOS 13.4 beta 1 содержит как минимум четыре нововведения, но это, вероятно, ещё не всё График для Apple – это нечто священное, от чего категорически нельзя отступать. Именно поэтому презентации новых версий ОС проходят в июне, а испытания каждой бета-версии состоят минимум и...

Обезл***вание д***ных — это не просто рандомизация В банке есть проблема: нужно давать доступ к базе данных разработчикам и тестировщикам. Есть куча клиентских данных, которые по PCI DSS требованиям Центробанка и законам о персональных данных вообще нельзя использовать для раскрытия на отделы разработки и тестирования. К...

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

Анонс Windows 10 Insider Preview Build 19555 (Ранний доступ) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 под номером 19555 для участников программы Windows Insider, использующих канал «Ранний доступ» (Fast Ring). Полный номер сборки: 19555.1001.rs_prerelease.200127-0900. Напоминаем, что ...

[Из песочницы] Понимание итераторов в Python Python — особенный язык в плане итераций и их реализации, в этой статье мы подробно разберём устройство итерируемых объектов и пресловутого цикла for. Особенности, с которыми вы часто можете столкнуться в повседневной деятельности 1. Использование генератора дважды >>&...

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

[Из песочницы] Погружение в Delta Lake: принудительное применение и эволюция схемы Привет, Хабр! Представляю вашему вниманию перевод статьи «Diving Into Delta Lake: Schema Enforcement & Evolution» авторов Burak Yavuz, Brenner Heintz and Denny Lee. Данные, как и наш опыт, постоянно накапливаются и развиваются. Чтобы не отставать, наши ментальные модели ми...

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

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

Опасная уязвимость в популярной библиотеке Sequelize Привет, Хабр! Данная статья будет интересна тем, кто уже использует библиотеку Sequelize или же только собирается с ней работать. Под катом мы расскажем, чем встроенный функционал operatorAliases может быть вреден и как избежать утечки из собственной базы данных. Читать да...

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

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

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

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

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

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

[Перевод] Рецепты по приготовлению оффлайн-приложений Доброго времени суток, друзья! Представляю вашему вниманию перевод замечательной статьи Джейка Арчибальда «Offline Cookbook», посвященной различным вариантам использования сервис-воркера (ServiceWorker API, далее по тексту — просто воркер) и интерфейса кэширования (Cache ...

[Перевод] Автоматизируем установку WordPress с NGINX Unit и Ubuntu Есть множество материалов по установке WordPress, поиск в Google по ключевым словам "WordPress install" выдаст порядка полумиллиона результатов. Но тем не менее фактически среди них весьма мало годных руководств, по которым можно установить и настроить WordPress и...

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

[Перевод] Руководство по моему стилю тестирования на Python В этой статье я попыталась собрать несколько своих техник тестирования на Python. Не стоит воспринимать их как догму, поскольку, думаю, со временем я обновлю свои практики. Читать далее

Автоматизируем деплой в vCloud с помощью Terraform и cloud-init Предыстория: выбирали сертифицированное облако для всякой там сертифицированной жизни. Остановились на кое-каком B2B-колоссе, руководство заключило договор, и отделу SRE пришлось работать с облаком на основе VMware vCloud Director. И, как подобает секте свидетелей Infrastruc...

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

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

Делимся опытом, как показывают себя SSD в рамках RAID и какой уровень массива выгоднее В прошлом материале мы уже рассмотрели вопрос о том “Применим ли RAID на SSD” на примере накопителей Kingston, но сделали это только в рамках нулевого уровня. В текущей статье мы разберем варианты использования профессиональных и домашних NVMe-решений в самых популярных типа...

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

Перенос значений SEQUENCE между базами PostgreSQL Как можно перенести в другую PostgreSQL-базу последнее назначавшееся значение «автоинкремент»-поля типа serial, если в таблице могли быть какие-то удаления, и «просто подставить max(pk)» уже не подходит? Мало кто знает, что хоть PG и не предоставляет до версии 10 функций, ч...

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

Как выжить SQL-базе в 21 веке: облака, Kubernetes и PostgreSQL multimaster Привет, хабровчане. Сегодня стартуют занятия в первой группе курса «PostgreSQL». В связи с этим, хотим рассказать вам о том, как проходил открытый вебинар по данному курсу. В очередном открытом уроке поговорили о том, с какими вызовами столкнулись SQL-базы в эру облаков и...

Entity Framework Core Привет, друзья. В этот чудесный майский день мы продолжаем трудиться и сегодня хотим рассказать о том, что в мае OTUS запускает полюбившийся всем курс «Разработчик С#», а также отдельный курс по С# ASP. NET Core. Традиционно, в преддверии старта курсов начинаем публиковать п...

Samsung Galaxy M31 получает последнее обновление One UI 3.1 В январе Samsung Galaxy M31 получил обновление One UI 3.0 на базе Android 11 (изначально телефон был выпущен в прошлом году с Android 10). Теперь этот смартфон среднего уровня получает новое обновление программного обеспечения, которое содержит последнюю версию One UI. Компа...

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

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

Тонкости авторизации: обзор технологии OAuth 2.0 Информационная система Dodo IS состоит из 44 различных сервисов, таких как Трекер, Кассы ресторана или Базы знаний и многих других. 3 года назад мы написали сервис Auth для реализации сквозной аутентификации, а сейчас пишем уже вторую версию. В основе сервиса лежит стандарт ...

Склонение слов и инициалов в Delphi/Freepascal Добрый, предновогодний день всем! В этой статье я бы хотел рассказать, как мне пришлось вернуться в legacy-проект на паскале, причем буквально перед тем, как навсегда распрощаться и с ним, и с лазарусом, и с отсутствием темной темы из коробки. В прошлый раз я объяснял, что н...

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

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 3. Чтение/запись атрибутов, собственные модели Введение Здравствуйте, дорогие Хабровчане. Сегодня я представляю вашему вниманию заключающую часть цикла статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь в этой статье — необходимо прочесть первую и вторую части. На э...

Простой робот на МК esp8266 c micropython Привет, Хабр! Эта статья описывает процесс апгрейда самоходной платформы на базе МК esp8266 с micropython, до простейшего робота, оснащённого сканирующим ультразвуковым датчиком препятствий, мигающим светодиодом, кнопкой «старт/стоп», а также встроенным веб-сервером, в рамк...

В Windows 10 2004 и 20H2 обнаружена проблема с совместимостью Thunderbolt NVMe SSD В настоящее время некоторые устройства не получают обновление до Windows 10 October 2020 Update или Windows 10 May 2020 Update из-за обнаруженной проблемы с совместимостью драйверов при подключении внешнего накопителя Thunderbolt NVMe SSD. Microsoft и Intel уже работают над...

Лучшая программа для дизайна квартир и домов На сегодняшний день с помощью уникальных программ можно самостоятельно создавать дизайн интерьера для своего дома или же использовать её в работе. Компания AMS Software уже много лет радует своих пользователей качественным и оригинальным программным обеспечением. На сайте ht...

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

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

[Перевод] Взгляд на технологии последнего десятилетия Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, котора...

Спасибо, AMD. Грядущие настольные процессоры Ryzen 4000 сохранят совместимость с системными платами на чипсете B450 В этом году компания AMD выпустит настольные процессоры Ryzen 4000 (не путать с одноимённой мобильной линейкой). Ожидается, что это произойдёт в сентябре или октябре. Настольные Ryzen 4000 сохранят исполнение AM4, то есть будут совместимы с существующими системными пла...

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

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

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

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

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

6. UserGate Getting Started. VPN Приветствую читателей в шестой публикации цикла статей, посвященных продукции компании UserGate. В данной статье будет рассматриваться каким образом можно предоставить доступ для удаленных пользователей к внутренним ресурсам компании средствами UserGate. Читать далее

Анонс Windows 10 Insider Preview Build 19035 (Fast и Slow) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 19035 для участников программы Windows Insider, использующих каналы «Ранний доступ» и «Поздний доступ». Полный номер сборки: 19035.1.vb_release.191126-1316. Как можно...

Сжатие данных в Apache Ignite. Опыт Сбера При работе с большими объемами данных иногда может остро встать проблема нехватки места на дисках. Одним из способов решения данной проблемы является сжатие, благодаря которому, на том же оборудовании, можно себе позволить увеличить объемы хранения. В данной статье мы расс...

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

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

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

[Перевод] Как выполняются арт-тесты для игр Введение Меня зовут Джонджо Хемменс, я художник по окружениям (Environment Artist) и только начинаю свой путь в индустрии видеоигр. В этой статье я объясню, что такое арт-тесты, покажу примеры успешных тестов с ArtStation, расскажу о правилах и этикете, а также процитирую с...

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

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

Вышло внеочередное обновление SharePoint Корпорация Microsoft вне графика пропатчила SharePoint, закрыв уязвимость, позволяющую получить доступ на чтение к любому файлу на сервере. Данных об использовании новой проблемы в атаках на настоящий момент нет. «В SharePoint Server присутствует уязвимость раскрытия ин...

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

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

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

[Перевод] Введение в графовые базы данных SQL Server 2017 В преддверии старта курса «MS SQL Server Developer» подготовили для вас еще один полезный перевод. Графовые базы данных — это важная технология для специалистов по базам данных. Я стараюсь следить за инновациями и новыми технологиями в этой области и, после работы с реляци...

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

Telegram бот на Firebase В основном, про Firebase рассказывают в контексте создания приложений под IOS или Android. Однако, данный инструмент можно использовать и в других областях разработки, например при создании Telegram ботов. В этой статье хочу рассказать и показать насколько Firebase простой и...

Mozilla представила собственное VPN-приложение Компания Mozilla, выступающая создателем браузера Firefox завершает разработку мобильного приложения для собственного VPN-сервиса. В настоящее время Firefox Private Network VPN находится на этапе бета-тестирования, и будет доступен пользователям, обладающим мобильными устрой...

Про кластер серверов 1С Кластер — это разновидность параллельной или распределённой системы, которая: 1. состоит из нескольких связанных между собой компьютеров; 2. используется как единый, унифицированный компьютерный ресурс Gregory F. Pfister, «In search of clusters». Дано: есть бизнес-прило...

Новые плееры Sony Walkman NW-A105 Компания Sony рассказала, что с 7 февраля в России появятся в продаже новые плееры Sony Walkman NW-A105, выполненные в четырех ярких цветах. Они обладают поддержкой формата Hi-Res Audio и фирменными технологиями улучшения звучания. Устройство обеспечивает возможность потоко...

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

DataGrip 2020.1: Конфигурации запуска, Экспорт в Excel, Результаты в редакторе и другое Привет! Это наш первый релиз из дома. DataGrip и другие наши IDE с поддержкой баз данных теперь умеют больше. Читать дальше →

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

Представляем Quarkly – инструмент для react-разработчиков и дизайнеров, который поможет оптимизировать вашу разработку Всем привет! Идеологически Quarkly – это проект, который призван упростить жизнь веб-разработчикам и веб-дизайнерам. В этом посте я коротко расскажу, за счет чего это возможно. Прежде всего, давайте посмотрим, как выглядит типичный цикл разработки веб-приложения в 2020 году?...

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

Google, Adidas и EA создали умные стельки для обуви Продукт получил название Adidas GMR и уже поступил в продажу. За $40 покупатель получает пару стелек, действующую метку, которая вставляется в туфлю доминирующей ступни, и фиктивную метку, которая вставляется в туфлю второй ступни. Эта метка отслеживает движения с помощью ал...

Kubernetes в Hetzner при помощи Rancher (с картинками) Доброго времени суток. Последние несколько месяцев я пытался запустить кластер kubernetes для взаимных пыток и изучения. За это время я прочитал большое количество разных статей, многие из которых были хорошими, но совершенно не подходящими для человека, не сталкивавшегося с...

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

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

[Перевод] Тактика Red Team: продвинутые методы мониторинга процессов в наступательных операциях И снова здравствуйте. В преддверии старта курса «Пентест. Практика тестирования на проникновение» перевели для вас еще один интересный материал. В этой статье мы собираемся разобраться в возможностях широко известных утилит мониторинга процессов и продемонстрировать, как ...

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

Java-дайджест за 4 мая Вышла совершенно новая библиотека Enriched Beans — генератор исходников, совместимый с JSR 330: Dependency Injection for Java. Конкретно, генерит он фабрики, совместимые с фреймворками вроде Spring и Micronaut. Работает примерно как AutoFactory, может использоваться вместе...

MLOps без боли в облаке: как развернуть Kubeflow в продакшен-кластере Kubernetes Новые экспериментальные модели машинного обучения важно быстро разворачивать в продакшене, иначе данные устареют и появятся проблемы воспроизводимости экспериментов. Но не всегда это можно сделать быстро, так как часто процесс передачи модели от Data Scientist к Data Enginee...

Инкрементальный бэкап в Proxmox VE с помощью VBR В одной из предыдущих статей цикла про гипервизор Proxmox VE мы уже рассказывали, как выполнять бэкап штатными средствами. Сегодня покажем, как для этих же целей использовать отличный инструмент Veeam® Backup&Replication™ 10. «Бэкапы имеют явную квантовую сущ...

Где работать в ИТ в 2021: Extyl Мы придумали рубрику «Где работать в ИТ», чтобы знакомить вас с крутыми айти-компаниями и рассказывать о том, как у них все устроено внутри: начиная с того, как организован рабочий быт, и заканчивая технологическим стэком и методологией разработки.Сегодня в выпуске — компани...

OrbitDB — децентрализованная база данных на IPFS Мы уже рассказывали про InterPlanetary File System, распределённую сеть поверх одноимённого p2p-протокола с доступом к данным по HTTP. Данные в ней не поддаются изменению (не блокчейн, но часть принципов совпадает), хранятся неограниченно долго и у неё даже есть система ре...

Развертывание в Docker и Kubernetes образа StatsD+Grafana В начале моего изучения Docker и Kubernetes мне нехватало простого и понятного примера, с которым можно было бы «поиграться», изучая особенности этой среды. Этой статьей хотелось бы закрыть этот пробел. Здесь я расскажу об интеграции .NET Core приложения с Telegraf и Grafana...

Microsoft работает над IoT OS на базе Windows 10X Surface Neo будет использовать новый вариант операционной системы, который Microsoft назвала «Windows 10X». Эта новая версия Windows 10 предназначена для двухэкранных и складных устройств, но есть достаточно доказательств того, что ОС в конечном итоге появится на ноутбуках и...

Flutter + arduino nano 33 BLE sense = очень простой BLE sensor В этой статье я хочу рассказать как сделать очень простую bluetooth метеостанцию (куда уж без нее :) ) и написать мобильное приложение на Flutter для нее. Читать дальше →

Легко и непринужденно деплоим приложения на Tarantool Cartridge (часть 2) Совсем недавно мы рассказывали о том, как деплоить приложения, написанные на Tarantool Cartridge. Но на деплое эксплуатация не заканчивается, поэтому сегодня мы обновим наше приложение и разберемся с тем, как управлять топологией, шардированием и авторизацией, а также измен...

«Количество онлайн-операций заметно выросло, 9 из 10 POS-терминалов принимают бесконтакные карты»: НБУ рассказал о рынке платежных карт в первом квартале 2020 года [инфографика] Национальный банк Украины отчитался о результатах рынка платежных карт в первом квартале текущего года. По данным НБУ, украинцы все чаще отдают предпочтение безналичным операциям с использованием платежных карточек, в основном благодаря расширению бесконтактной платежной инф...

#Назаметку. Осторожно, атомарные операции в ConcurrentHashMap В Java с незапямятных времён есть замечательный интерфейс Map и его имплементации, в частности, HashMap. А начиная с Java 5 есть ещё и ConcurrentHashMap. Рассмотрим эти две реализации, их эволюцию и то, к чему эта эволюция может привести невнимательных разработчиков. Warn...

Как делать карьеру программисту, не решая задачи бизнеса Статья Программист не должен решать задачи бизнеса вызвала неслабое обсуждение (и даже ответ с прямо противоположным утверждением). И, забавно, что все свелось к догматическим рассуждениям из разряда «программист должен», или «бизнес должен». Как будто, речь идет о системе, ...

Настройка CI/CD скриптов миграции БД с нуля с использованием GitLab и Liquibase Добрый день, уважаемые читатели. Совсем недавно мне пришлось осваивать новую для себя область CI/CD, настраивая с нуля доставку скриптов миграции базы данных в одном из проектов. При этом было тяжело преодолеть самый первый этап "глаза боятся", когда задача вроде бы ясна, а ...

WorkBox: ваш toolkit в мире сервис-воркеров Всем привет! Меня зовут Святослав. Я лидирую разработку сервисов оформления ипотеки в компании Домклик. Не так давно наша компания взяла курс на внедрение философии Progressive Web Application в наших клиентских сервисах.Одним из важных аспектов PWA является использован...

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

Юридически значимый документооборот банка с потенциальными клиентами: зачем, в чём сложность и как мы с этим справились В обычное время у потенциального клиента банка нет проблем с подачей документов — он может оставить предварительную заявку на сайте, а затем все необходимые бумаги привезти в отделение. Но пандемия COVID-19, самоизоляция, ограничения на перемещения и т. д. осложнили этот про...

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

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

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

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

VMware SD-WAN: обзор решения Этим материалом мы начинаем цикл статей о решении VMware SD-WAN. Сегодня поговорим о том, какие рыночные предпосылки сформировали его появление, какие задачи решает SD-WAN и каковы технические особенности решения VMware. Читать далее

Xiaomi, Oppo и Vivo представили полноценный аналог AirDrop На Android появился настоящий аналог AirDrop Несмотря на свою универсальность и открытость, Android никогда не имела полноценной экосистемы. Конечно, с приложениями, облачными хранилищами и прочими сервисами у операционной системы Google проблем никогда не было. Но когда реч...

[Из песочницы] Как восстановить научный журнал в Перечне ВАК С октября 2014 по октябрь 2019 года я работала ведущим редактором научного журнала. Сверхзадача российских научных журналов — попасть в международные базы данных (такие как Web of Science и Scopus) и удержаться там. Теоретически это выполнимо, разработано множество полезных ...

[Из песочницы] Нормализация текста в задачах распознавания речи При решении задач, связанных с распознаванием (Speech-To-Text) и генерацией (Text-To-Speech) речи важно, чтобы транскрипт соответствовал тому, что произнёс говорящий — то есть реально устной речи. Это означает, что прежде чем письменная речь станет нашим транскриптом, её нуж...

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

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

[Перевод] Асинхронные задания в Django с Celery Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Если в вашем приложении есть какой-то длительный процесс, вы можете обрабатывать его не в стандартном потоке запросов/ответов, а в фоновом режиме. К примеру, в вашем приложении пользователь...

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

API Style Guide, или не заставляйте пользователей думать Привет! Меня зовут Лёша Руцкой, и я — продуктовый менеджер в компании Wrike. До этого работал в Adform и PandaDoc. Последние пять лет я занимаюсь всем, что связано с интеграциями и API. Wrike — это SaaS продукт для совместной работы и управления проектами. Мы хотим, чтоб...

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

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

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

One UI 2.5 позволяет использовать жесты навигации Android 10 в сторонних средствах запуска приложений. Компания Samsung представила оболочку One UI 2.5 со своими недавно выпущенными смартфонами и планшетами Galaxy Note 20, Galaxy Tab S7 и Galaxy Z. Это программное обеспечение содержит ряд новых функций. В частности, в нем добавлена совместимость с жестами полноэкранной н...

Xiaomi Mi 8 получает стабильную версию MIUI 11 на базе Android 10 Xiaomi начала в Китае рассылку обновленной стабильной версии MIUI 11 для своего флагмана 2018 года смартфона Xiaomi Mi 8. Обновление приносит не только новый свежий пользовательский интерфейс и расширенный функционал для телефона, но и ОС Android 10 со всеми ее преимуществам...

В Сеть слили данные более 20 млн пользователей популярных VPN-сервисов Как сообщает «Коммерсантъ», злоумышленники выставили на продажи базу данных 21 млн пользователей бесплатных VPN-сервисов GeckoVPN, SuperVPN и ChatVPN для операционной системы Android. В базе данных оказались адреса электронной почты, пароли и логины пользова...

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

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

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

Ролики-мислиды: почему они работают? Если в ролике об игре показан геймплей, которого в рекламируемой игре на самом деле нет, — перед вами ролик-мислид. Вам наверняка встречались такие! За счёт чего они работают и приносят желаемое разработчикам и издателям? Мы попытались докопаться до сути и найти ответы на эт...

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

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

Kubernetes tips & tricks: особенности выполнения graceful shutdown в NGINX и PHP-FPM Типовое условие при реализации CI/CD в Kubernetes: приложение должно уметь перед полной остановкой не принимать новые клиентские запросы, а самое главное — успешно завершать уже существующие. Соблюдение такого условия позволяет достичь нулевого простоя во время деплоя. Од...

Aerotex - практикум 2: победа будет за нами! После написания предыдущей статьи у меня и, как я потом понял, у комментаторов осталось некоторое минорное впечатление от результатов печати. И как же ему не возникнуть, если первоначально поставленная задача выполнена не была. И хоть положительные результаты и были достигну...

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

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

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

Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией Всем привет! В преддверии старта курсов «Framework Laravel» и «Backend-разработчик на PHP», продолжаем делиться интересным материалом по теме. Поехали. За последние несколько лет популярность Laravel резко возросла. Сообщество Laravel даже придерживается мнения, что Larave...

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

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

4. UserGate Getting Started. Работа с пользователями Приветствую в четвертой публикации цикла статей, посвященному продукции компании UserGate. В данной статье мы рассмотрим, как создать локального пользователя на устройстве UserGate, добавим LDAP-коннектор для подключения к Microsoft Active Directory и настроим captive-портал...

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

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

Вопрос про CAN FD Добрый день! Читаю с интересом ваши статьи и хотел бы задать вопрос, как компетентным людям в автомобильной отрасли — периодически сталкиваюсь с шиной CAN и в процессе изучения встречал информацию о перспективах перехода на CAN FD. Википедия говорит о переходе на FD больш...

Позиция win-win: улучшаем пользовательский опыт и делаем онлайн-бизнес счастливее Рынок e-commerce в России растет быстро. По данным Яндекс.Кассы, с 2015 по 2020 год малый и средний бизнес вырос в объеме продаж на 148%, в 2 раза увеличилось количество платежей и стал выше средний чек. Если предприниматель опытный и не вчера вышел с бизнесом в онлайн, то о...

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

Запуск космических летательных аппаратов и… погода в регионах 30 лет назад статья с таким заголовком была опубликована в журнале «Изобретатель и рационализатор» №5 за 1990 год в разделе «гипотезы». Предположительно, автор статьи – Рыбников Сергей Игоревич, профессор Московского Авиационного Института, автор более 100 научных работ, в...

Xiaomi Mi 8 получил стабильные MIUI 11 и Android 10 В ноябре компания Xiaomi начала распространение стабильной версии прошивки MIUI 11 для прошлогоднего флагманского смартфона Xiaomi Mi 8 в наших широтах, правда на тот момент она была основана на Android 9 Pie. Чуть раньше началось бета-тестирование MIUI 11 на базе Andro...

Google выпустила Android 11 Developer Preview 4 Компания Google объявила о выпуске Android 11 Developer Preview 4. Версия доступна для разработчиков и доступна для скачивания на устройствах: Google Pixel 2/2 XL, Pixel 3/3 XL, Pixel 3a/3a XL и Pixel 4/4 XL. Android 11 Developer Preview 4 предлагает улучшенную совмест...

Простой веб сервер для SPA/PWA за «5 минут» Как создать Простой веб-сервер, используя только стандартные инструкции nodejs Часто для разработки MPA/SPA/PWA приложений требуется простой веб-сервер. Однажды, на одном большом митинге в ответ на вопрос: «Что ты делал?», я сказал, что поднимал веб-сервер для хостинга PWA п...

Самые популярные структуры данных Что такое структура данных? Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в др...

Быструю зарядку в массы. Представлен стандарт Qualcomm Quick Charge 3+ для недорогих смартфонов В последнее время в индустрии смартфонов сформировалась тенденция на увеличение емкости аккумуляторов, а также скорости зарядки. Многие производители активно работают в данном направлении, и если раньше быстрая зарядка ассоциировалась с мощностью 18 Вт, то теперь н...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

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

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

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

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

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

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

Бинарная совместимость Reaktive: как мы её обеспечиваем Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. Любая библиотека должна по возможности соблюдать бинарную совместимость. Если разные версии библиотеки в зависимостя...

Условно-бесплатная Genshin Impact будет работать на PlayStation 5 при 60 кадрах/с Бренд-менеджер студии miHoYo Джейсон Чанг (Jason Chuang) объявил о том, что на PlayStation 5 ролевой экшен Genshin Impact будет работать при 60 кадрах в секунду. «Поскольку выпуск PS5 не за горами, наша команда работала над тем, чтобы Genshin Impact была полностью обратно со...

[Из песочницы] Умирает ли RuTracker? Анализируем раздачи Любая деятельность генерирует данные. Чем бы вы ни занимались, у вас наверняка на руках кладезь необработаной полезной информации, ну или хотя бы доступ к его источнику. Сегодня побеждает тот, кто принимает решения, основываясь на объективных данных. Навыки аналитика как ни...

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

Графика Intel Xe DG1 протестирована в SiSoftware: результаты удручают Несмотря на то, что в последнее время количество утечек о грядущих дискретных графических процессорах Intel Xe значительно возросло, информации об их производительности по-прежнему очень мало. Однако новая запись из базы бенчмарка SiSoftware проливает немного света на данный...

4. NGFW для малого бизнеса. VPN Продолжаем наш цикл статей о NGFW для малого бизнеса, напомню что мы рассматриваем новый модельный ряд 1500 серии. В 1 части цикла я упомянул об одной из самых полезных опций при покупке устройства SMB — поставка шлюзов с встроенными лицензиями Mobile Access (от 100 до 200...

Старт работы с Excel на C# В современном мире разработки приложений не редко встает необходимость работы с Excel документами. Чаще всего это разного рода отчеты, но иногда xls/x файлы используются в качестве хранилища данных. Например, если пользователь должен иметь возможность загрузить данные в прил...

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

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

[Из песочницы] Простой zero-copy рендеринг аппаратно ускоренного видео в QML Введение Целью данной статьи является продемонстрировать способ как можно подружить сторонние видео буфера и QML. Основная идея — использовать стандартный QML компонент VideoOutput. Он позволяет подсовывать сторонние источники, неплохо документирован и имеет бекэнд поддержив...

Microsoft прекратит поддержку своих приложений для Windows 10 Mobile Медленное "уничтожение" Microsoft Windows 10 Mobile будет продолжаться до января 2021 года - даты, когда заканчивается поддержка собственных приложений Office, сообщает ITbukva.com.Еще в июле 2017 года Microsoft официально отключила Windows Phone, и ее внимание к Windows 10 ...

Насколько много маркетинга в ACID? Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для б...

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

[Перевод] Питонистический подход к циклам for: range() и enumerate() Автор заметки, перевод которой мы сегодня публикуем, хочет рассказать о некоторых особенностях использования циклов for в Python. Цикл for — это один из краеугольных камней программирования. С этими циклами будущие программисты знакомятся в самом начале учёбы и, после пер...

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

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

Эмулятор классического рынка Каждый раз, когда я читаю что-либо об экономике, я постоянно пропускаю момент между “да, конечно, это всё очевидно” и “почему? как вы это получили?”. Обычно это связано с тем, что примеры, которые можно привести из реальной жизни, либо элементарные, либо настолько сложные...

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

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

Новый смартфон ZTE Axon 10s Pro поступит в продажу в Китае в Iквартале 2020 года Компания ZTE Corporation (0763.HK / 000063.SZ), крупный международный поставщик телекоммуникационных решений, а также корпоративных и потребительских технологий для мобильного Интернета, представила новейший флагманский смартфон ZTE Axon 10s Pro, совместимый с режимами 5G SA...

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

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

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

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

Первые шаги в BI-аналитике. Роль Data Engineering Добрый день, уважаемые читатели! Материал носит теоретический характер и адресован исключительно начинающим аналитикам, которые впервые столкнулись с BI-аналитикой.Что традиционно понимается под этим понятием? Если говорить простым языком, то это комплексная система (как и, ...

Sharkoon запускает мобильный ЦАП и мобильный ЦАП PD Sharkoon Technologies представляет мобильный ЦАП (DAC) и мобильный ЦАП PD (DAC PD). Это два аудио конвертера, которые совместимы с самыми популярными мобильными устройствами на базе Android. Оба устройства обеспечивают вывод звука с высоким разрешением, которые имеют подключ...

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

Как мы готовили квалификационный этап CTFZone-2020 30 ноября — 1 декабря прошел квалификационный этап турнира CTFZone, на который зарегистрировались 1043 команды со всего мира. По нашим данным, задачи решали даже в Зимбабве (26 уникальных IP). Если копать глубже, это была университетская сборная из города Булавайо. В этом го...

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

The Layout Engine в Swift Многие iOS разработчики не задумываются как работает механизм отрисовки элементов, установки и обновлении constraints в Auto Layout'e. В этой статье я пробую подробно заглянуть внутрь работы the Layout Engine Читать далее

Основы Data Vault В настоящее время, в сфере анализа данных и BI, уже не возможно не встретить такое понятия как DATA VAULT. Однако, на мой взгляд, есть некоторый недостаток информации по этой теме, особенно в русскоязычном сегменте интернета. Можно найти интересные статьи о применении DATA V...

3D принтеры PICASO XL и XL PRO. Видео руководство по замене нагревателя и сопла. Всем привет друзья, с Вами 3DTool!В нашей постоянной рубрике видео-руководств, мы знакомим владельцев линейки устройств, PICASO X-Series с базовыми функциями и операциями с которыми может столкнуться владелец. Одной из таких операций является замена нагревателя и сопла печат...

be quiet! подготовила свои кулеры к эре Intel LGA 1700 Немецкий производитель компонентов премиум-класса для ПК be quiet! подготовила свои кулеры к эре Intel LGA 1700. Компания гарантирует, что его кулеры будут иметь полную совместимость с новейшим сокетом. be quiet! обеспечит покупателей бесплатным комплектом креплений для гряд...

В сети Ethereum состоялся хардфорк Istanbul Запланированный хардфорк Istanbul в сети Ethereum официально состоялся. Обновление произошло в на блоке #9069000 в 00:29:23 GMT в воскресенье, 8 декабря. Состоявшийся апгрейд призван обеспечить совместимость Ethereum с криптовалютой Zcash, повысит масштабируемость решений на...

Ускоренная разработка софта: барьеры и перспективы Разработка и доставка ПО продолжают ускоряться, поэтому командам разработчиков нужно минимизировать узкие места на любом этапе жизненного цикла софта (software development lifecycle, SDLC). Опрошенные порталом InformationWeek эксперты ...

Что такое платформа как услуга (PaaS)? В модели «Платформа как услуга» (PaaS) разработчики, по сути, арендуют все, что им нужно для создания приложения, полагаясь на облачного провайдера для средств разработки, инфраструктуры и операционных систем. Это одна из трех сервисных моделей облачных вычислений. PaaS знач...

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

[recovery mode] CRUD операции с Entities в DialogFlow (C#) Вступление Совсем недавно я начал работу над новым проектом, который включал в себя работу с уже достаточно известным сервисом (AI) от Google — DialogFlow. Суть заключалась в том, что у нас был бот (Telegram) который работал с API нескольких сайтов, а сам же DialogFlow помог...

Действительно простая графика в R для науки и публицистики R — очень мощный инструмент для работы со статистикой: от предварительной обработки до построения моделей любой сложности и соответствующей графики. Простой гугл-запрос выдаст большое количество литературы по тому, как «легко и быстро» использовать R. Здесь будут и огромные...

Видеокарта Asus GT710-4H-SL-2GD5 оснащена четырьмя выходами HDMI Компания Asus обновила видеокарту на базе GeForce GT 710, выпущенную примерно в 2016 году, изменив печатную плату, чтобы наделить это изделие четырьмя выходами HDMI. Уточним, что видео с разрешением 4К и кадровой частотой 60 к/с можно вывести только на один из них. Если...

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

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

Microsoft: Windows 11 LTSC выйдет не ранее, чем через 3 года В прошлом месяце Microsoft официально анонсировала новую операционную систему под названием Windows 11, которая получила обновлённый интерфейс и новую модель обслуживания. В частности, Windows 11 будет получать лишь одно крупное обновление в год, а срок поддержки редакций E...

Что Apple представит на CES’2020 HomeKit неуниверсален. Но вскоре всё изменится Apple довольно негативно относится ко всевозможным выставкам и технологическим конференциям, предпочитая посещать только те мероприятия, которые она организует сама. Такой подход гарантирует, что, во-первых, приглашённые будут у...

Обновление Windows 10 KB4532693 теперь вызывает сбои загрузки Windows 10 KB4532693, представляющая собой исправление безопасности, по-видимому, стала серьезным источником горя для тысяч пользователей. По некоторым сведениям, это обновление удаляет файлы, в то время как другие сообщают, что Microsoft переместила все данные рабочего стол...

Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем. Иван Пономарёв Предлагаю ознакомиться с расшифровкой доклада Иван Пономарёв "Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем" Рефакторинг кода может быть увлекательным, особенно если это код вашей инфраструктуры. К тому же Ansible-роли почему-то имеют те...

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

Microsoft подтверждает проблему Синего экрана смерти в Windows 10 и ошибку принудительной перезагрузки Всего через несколько недель после того, как Microsoft выпустила свою последнюю версию Windows 10 20H2, компания отметила две проблемы, также дала рекомендации пользователям вернуться к предыдущей версии Windows, если они получат ошибку «Синего экрана смерти» или предупрежде...

Анонс Windows 10 Insider Preview Build 19551 (Ранний доступ) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 под номером 19551 для участников программы Windows Insider, использующих канал «Ранний доступ» (Fast Ring). Полный номер сборки: 19551.1005.rs_prerelease_flt.200118-2110. Напоминаем, ...

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

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

Коммутатор Eltex MES 23XX. Шаблон базовой конфигурации Добрый день, коллеги! В этой статье я попытался создать шаблон базовой настройки коммутаторов Eltex MES 23XX для использования в корпоративных сетях, имеющих вспомогательные сервисы администрирования и мониторинга. Разумеется, невозможно описать весь функционал коммутатора и...

Xiaomi Mi 10 Pro засветился с MIUI 12 на базе Android 11 С тех пор, как на европейский рынок вышла серия Mi 10, все критиковали бренд Xiaomi за высокую цену. Немного более оправданной сочли стоимость модели Pro, но стандартная версия не вызвала особой «радости». Понимая это, компания-производитель попыталась смягчить гнев покупате...

Windows 10 стала еще ближе к macOS. Добавлены звонки со смартфона на ПК Вчера компания Microsoft сообщила о завершении тестирования новой версии приложения Your Phone для компьютеров, которые работают под управлением операционной системы Windows 10. Теперь приложение Your Phone позволяет пользователям синхронизировать свои компьютер и ...

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

Как активировать уже сейчас Windows 10 версии 21H2 Build 19044 Вы, наверное, все знаете, что с января 2021 года вы могли уже разблокировать Windows 10 21H1 Build 19043 через командную строку. Изменился только номер версии, но при этом версия 21H1 была уже в пути к релизу. То же самое оказывается работает и с Windows 10 21H2. Разблокиров...

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

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

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

Xiaomi Mi 9T теряет заряд на глазах с новой версией MIUI 11 Многие пользователи сообщают, что аккумуляторы смартфонов Xiaomi Mi 9T стали разряжаться слишком быстро после выхода последнего обновления MIUI 11 на базе операционной системы Android 10. Пользователи этого устройства недавно получили обновление MIUI 11.0.4.0, которое в...

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

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

[Из песочницы] Little Demand Forecasting Story Хабр, привет! На сайте много статей про прогнозирование sell-outs/sell-ins различных категорий FMCG – в то же время другие товарные категории не так популярны. Кроме того, обычно исследуется проблематика ритейла с прогнозом на несколько дней вперед, но не дистрибьютора с пр...

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

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

[Перевод] Масштабирование Redux-приложения с помощью ducks В преддверии старта курса «React.js разработчик» подготовили перевод полезного материала. Как масштабируется front-end вашего приложения? Как сделать так, чтобы ваш код можно было поддерживать полгода спустя? В 2015 году Redux штурмом взял мир front-end разработки и заре...

Как обойти проверку на Рутинг устройства обхитрив библиотеку RootBeer? В этой статье я хочу поделиться своим опытом обхода проверки на рутованость своего устройства. Статья может рассматриваться не только как самостоятельный материал, но и как прямое продолжения моей работы из предыдущей статьи. Будем декомпелировать .apk, копаться в обфусциров...

Германия, или Туда и Обратно — 2 В первой статье цикла я описал свой переезд в Германию с семьей. Обосновались мы в красивом и благородном городе — Висбадене. Именно тут Достоевский прокутил все свое состояние. Казино в Висбадене Я же в принципе не азартен, поэтому намеревался просто пожить в Европе. По...

[Перевод] Отправка электронных писем с помощью Spring Отправка электронных писем — одна из базовых функций, которая может понадобиться в любом приложении. Из этой статьи вы узнаете, как отправлять электронные письма с помощью Spring. Для отправки электронных писем вам потребуются данные SMTP-сервера. В качестве примера вы ...

Как изменились скорость работы и автономность на iOS 13.4 iOS 13.4 ухудшила автономность некоторых iPhone, но повысила скорость их работы Вчера Apple выпустила финальную версию iOS 13.4. Она стала самым крупным обновлением с момента релиза iOS 13. Во всяком случае, ни один апдейт до этого не включал в себя так много нововведений, б...

Итоги online-этапа NeoQUEST-2020: выживали как могли NeoQUEST-2020 подошел к концу, и сейчас самое время рассказать про эти насыщенные две недели: раскроем суть заданий (но не всех, некоторые выйдут отдельными врайт-апами), покажем статистику их прохождения и объявим победителей! Внимание! Статья содержит спойлеры для тех, ...

Postgresso 21 Жизнь продолжается. Продолжаем знакомить вас с самыми интересными новостями PostgreSQL Главная новость PostgreSQL 13beta Вышла долгожданная Бета. Новшества и изменения подробно расписаны здесь, а информация для бета-тестировщиков тут. Кроме того есть и советы по установ...

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

Организм человека стареет с момента зачатия: новое исследование Существует множество мнений, когда начинается старение человека (в момент рождения, при достижении половозрелости, при достижении максимума когнитивных или физических функций и т. д.). Классической точкой зрения считается также то, что старение — это увеличение вероятности с...

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

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

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

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

[Из песочницы] Как я купил заблокированный ноутбук на eBay и попробовал сделать свой AntiTheft на базе IntelAMT TL;DR Absolute Computrace — технология, которая позволяет заблокировать машину(и не только), даже если на ней переустановили операционную систему или даже заменили жесткий диск за $15 в год. Я купил ноутбук на eBay который был залочен этой штукой. В статье описывается мой ...

РЖД применили блокчейн для предотвращения аварий грузовых вагонов Государственная компания «Российские железные дороги» внедрила блокчейн-технологию в жизненный цикл колесных пар для грузовых вагонов. Об этом ForkLog сообщили представители компании. Новая платформа на базе блокчейна Hyperledger Fabric позволяет повысить качество ...

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

Создаем готовый для опенсорса проект на Angular в пару кликов Недавно я публиковал статью о том, как быстро настраивать npm-пакеты перед публикацией в opensource. В ней я разобрал настройку версионирования, CI, построение воркфлоу и удобный деплой на страничку с демо. Все советы той статьи распространяются и на библиотеки Angular. Но в...

Samsung Galaxy M31 протестирован перед анонсом Samsung анонсировала смартфоны Samsung Galaxy M30 и Galaxy M30s в феврале и сентябре этого года соответственно. В скором времени на рынке появится преемник под названием Galaxy M31, который засветился в базе данных популярного тестового приложения Geekbench. Смартфон пр...

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

Анонс Windows 10 Insider Preview Build 19569 (Ранний доступ) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 под номером 19569 для участников программы Windows Insider, использующих канал «Ранний доступ» (Fast Ring). Полный номер сборки: 19569.1000.rs_prerelease.200214-1419. Напоминаем, что ...

Анонс Windows 10 Insider Preview Build 19546 (Ранний доступ) Доброй ночи, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 под номером 19546 для участников программы Windows Insider, использующих канал «Ранний доступ» (Fast Ring). Полный номер сборки: 19546.1000.rs_prerelease.200110-1443. Напоминаем, что н...

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

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

Новое законодательство РФ о цифровых финансовых активах и цифровой валюте В РФ с 01 января 2021 г. вступает в силу Федеральный закон от 31.07.2020 N 259-ФЗ "О цифровых финансовых активах, цифровой валюте и о внесении изменений в отдельные законодательные акты Российской Федерации" (далее — Закон). Этот закон значительно изменяет сущест...

[Перевод] Product Discovery 101 для Product-менеджера Перевод статьи подготовлен в преддверии старта новой группы по курсу "Product Manager IT-проектов". Так что же такое Product Discovery? Product Discovery – это процесс выяснения того, что же в конечном итоге предстоит создать. Он отражает ваше видение, дает бол...

Подтверждено: PlayStation 5 представят 5 февраля Слух о том, что официальная премьера игровой консоли PlayStation 5 состоится 5 февраля подтверждают японские источники. В этот день Sony рассекретит консоль, слоганом которой стала фраза «Пора играть». Пора играть на PlayStation 5 настанет, ориентиров...

Как увеличить дальность связи с беспилотным летательным аппаратом (БЛА) Задача увеличения дальности связи с беспилотным летательным аппаратом (БЛА) не теряет актуальности. В данной статье рассматриваются методы улучшения этого параметра. Статья написана для разработчиков и эксплуатантов БЛА и является продолжением цикла статей про связь с БЛА (н...

Как не править Python тесты И вынести тестируемые результаты вне кода. Это статья об автоматизации и увеличения удобства тестирования на Python. Вводная У меня был проект, который разрабатывался уже несколько лет. В проекте отсутствовали тесты. А также у него были активные зависимости от других команд...

Анонс Windows 10 Insider Preview Build 19041 (Fast и Slow) Доброй ночи, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 19041 для участников программы Windows Insider, использующих каналы «Ранний доступ» и «Поздний доступ». Полный номер сборки: 19041.1.vb_release.191206-1406. Как можно ...

Intel возвращает 22 нм процессор Компания Intel, на фоне своих проблем с производством по 14 нм технологии, решила отменить завершение жизненного цикла 22 нм процессора, выпущенного в далёком 2013 году.

Большинство Win32-приложений будут совместимы с Windows 10X Компания Microsoft начала делиться подробной информацией о своей новой операционной системе Windows 10X, предназначенный для складных и двухэкранных устройств. Новая версия Windows 10 построена на базе проекта Windows Core OS и получила упрощённый и оптимизированный пользов...

Высокоскоростной PAC контроллер WISE-5580 В связи с современными требованиями, предъявляемыми к промышленным контроллерам, об открытости архитектуры, а также, в связи с бурным ростом производства PC-совместимых компьютеров, последние все чаще стали использоваться в качестве контроллеров для задач промышленной автом...

Законопроект об изменениях в электронной подписи Уходящий год запомнился шумихой вокруг применения электронной подписи (далее — ЭП) в мошеннических целях. Началось всё с того, что я запостил инструкцию о том, как зарегистрировать переход права на недвижимость с помощью ЭП. Затем то ли, это совпадение, то ли «не думаю», но...

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

Blue-Green Deployment на минималках В этой статье мы с помощью bash, ssh, docker и nginx организуем бесшовную выкладку веб-приложения. Blue-green deployment — это техника, позволяющая мгновенно обновлять приложение, не отклоняя ни одного запроса. Она является одной из стратегий zero downtime deployment и лучше...

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

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

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

20 SEO-мифов, которые должны умереть в 2020 Хабр читают не только разработчики, и не только люди связанные с IT, некоторые из моих клиентов иногда кидали мне ссылки на Хабр, и среди них были такие, которые совсем далеки от IT. Поэтому в этой статье будет максимально простым языком объясняться некоторые аспекты SEO. К ...

Команда СЭД ТЕЗИС запустила Базу знаний Команда СЭД ТЕЗИС запустила Базу знаний с бесплатным доступом для всех заказчиков. Она дополнит встроенные в систему инструкции и поможет самостоятельно решать многие вопросы. В Базе знаний пользователи и администраторы СЭД найдут справочные материалы ...

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

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

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

Прощай, OS Windows 10 Mobile Есть еще особый вид пользователей, которым все еще нравятся, и они пользуются виндофонами. Их немного, но они есть. Вчера для них наступил черный день. Microsoft прекратила поддержку OS Windows 10 Mobile. Ушла целая эпоха и жизненный цикл прошивки Microsoft завершен.   ...

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

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

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

Игра Fortnite по-прежнему доступна пользователям Samsung Galaxy Как мы уже сообщали, компания Epic Games пыталась обойти правила покупки в приложении, навязанные разработчикам магазинами Apple App Store и Google Play Store. В очередном обновлении игры Fortnite пользователи получили возможность платить Epic за игровой контент не чере...

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

Concurrent Mode в React: адаптируем веб-приложения под устройства и скорость интернета В этой статье я расскажу о конкурентном режиме в React. Разберёмся, что это: какие есть особенности, какие новые инструменты появились и как с их помощью оптимизировать работу веб-приложений, чтобы у пользователей всё летало. Конкурентный режим — новая фишка в React. Его зад...

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

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

[Перевод - recovery mode ] Zettelkasten: как один немецкий учёный стал невероятно продуктивным Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хо...

Go. FakeDb. Эмуляция работы БД в тестах На днях писал тесты для модуля, который взаимодействует с базой данных. Привязывать модуль тестов к настоящей базе данных не хотелось — это создаёт дополнительные требования к окружению, где будет выполняться тестирование. Создавать сразу экземпляры типа sql.Rows, с нужными ...

Hello World из байт-кода для JVM Скомпилируем простенькую программу выводящую "Hello World" и пройдемся по его структуре Не думаю, что статья будет достаточно информативной для тех, кто поверхностно не знает как выглядит байт-код и как с ним работает JVM (например, хотя бы простейшие инструкции (знание об и...

CGI в домашних условиях при помощи Unreal Engine и iPhone Всем привет! Меня зовут Василий Мазалов, я работаю старшим видеомонтажером в компании Pixonic. Наш отдел занимается созданием видео-креативов для маркетинга и комьюнити: роликов для страниц в сторы, обзорных видео игровых нововведений и прочего контента. Когда я не создаю к...

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

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

Запущена база знаний СЭД ТЕЗИС Команда СЭД ТЕЗИС запустила Базу знаний с бесплатным доступом для всех заказчиков. Она дополнит встроенные в систему инструкции и поможет самостоятельно решать многие вопросы.

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

Обновление KB5003637 для Windows 10 вызывает проблемы с принтером и панелью задач В Windows 10 присутствует новая ошибка, которая появилась благодаря ежемесячному исправлению безопасности «KB5003637». Проблема в том, что обновление портит значки на панели задач и на рабочем столе. Впервые об этой проблеме было сообщено в прошлом месяце, когда пользователи...

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

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

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

[Перевод] Trusted Types — новый способ защиты кода веб-приложений от XSS-атак Компания Google разработала API, которое позволяет современным веб-приложениям защитить свой фронтенд от XSS-атак, а конкретнее — от JavaScript инъекций в DOM (DOM-Based Cross Site Scripting). Межсайтовый скриптинг (XSS) — наиболее распространённый тип атак, связанных с уяз...

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

Как присоединиться к Clubhouse, если нет iPhone? Мы поможем Сегодня о Clubhouse не слышал разве что глухой. Новомодная социальная сеть для любителей голосовых сообщений набирает невиданные обороты, а конкуренты в лице Twitter и Facebook обещают представить свои аналоги в кратчайшие сроки. ‎Clubhouse: Drop-in audio chat (Free, App St...

PostgreSQL Antipatterns: вычисление условий в SQL SQL — это не C++, и не JavaScript. Поэтому вычисление логических выражений происходит иначе, и вот это — совсем не одно и то же: WHERE fncondX() AND fncondY()= fncondX() && fncondY() В процессе оптимизации плана исполнения запроса PostgreSQL может произвольным образо...

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

Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использовать. Алексей Зателепин (2018г) ClickHouse — высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как C...

Как украсть Macbook У меня несколько раз воровали макбуки и ни разу антикражные средства Apple вроде Find My Mac не помогли мне вернуть компьютер. Действительно ли они бесполезны? Можно ли доверять встроенному шифрованию FileVault? Как повысить шансы вернуть компьютер? Эта статья результат мо...

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

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

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

Что такое Immutable Infrastructure Меня зовут Никита, я системный инженер в компании SEMrush. И в этой статье я расскажу вам, что такое Immutable Infrastructure, какие у этого подхода есть преимущества и недостатки и как мы его используем в компании. Если вы ни разу не слышали такое словосочетание, то усажив...

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

Завершен первый этап проекта по разработке «цифрового двойника» двигателя ТВ7-117СТ-01 Высокотехнологичный проект выполнен специалистами Центра компетенций НТИ СПбПУ "Новые производственные технологии" по заказу компании "ОДК-Климов" Объединенной двигателестроительной корпорации Госкорпорации Ростех. В ходе проекта решены задачи организацио...

Как мы автоматизировали весь жизненный цикл серверов Привет, Хабр! Меня зовут Алексей Назаров. Я занимаюсь автоматизацией в отделе администрирования инфраструктурных систем в Национальной системе платежных карт (АО НСПК) и хотел рассказать немного о наших внутренних продуктах, которые помогают нам развиваться. Если вы еще не ...

Фишинг учетных данных Windows В первом квартале 2020 года число фишинговых атак на пользователей по всему миру выросло вдвое по сравнению с аналогичным периодом 2019 года — с 9% до 18%. Такие данные приводит “Лаборатория Касперского”. В операционных системах семейства Windows у некоторых программ и пр...

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

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

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

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

Build 2020: Грядущие новшества в Microsoft Edge На конференции Build 2020 Microsoft анонсировала несколько новых функций, которые в обозримом будущем появятся в веб-браузере Microsoft Edge на базе Chromium. Во-первых, функция «Коллекции» получит улучшенную интеграцию с сервисом Pinterest, чтобы позволит вам синхронизиров...

Microsoft говорит, что большинство приложений Win32 будут работать на Windows 10X 11 февраля Microsoft поделилась подробностями о Windows 10X для двухэкранных и различных сторонних складных устройств. По слухам, Windows 10X не будет ограничиваться только приложениями из магазина, а операционная система сможет запускать UWP, PWA, веб-приложения и даже прил...

Еще один [почти] неудаляемый троянец под Android В конце прошлого года с помощью функции обнаружения изменений в системной области у некоторых наших пользователей было зафиксировано изменение системного файла /system/lib/libc.so. Это одна из главных библиотек операционных систем на базе Linux, которая отвечает за системные...

System.Threading.Channels — высокопроизводительный производитель-потребитель и асинхронность без алокаций и стэк дайва И снова здравствуй. Какое-то время назад я писал о другом малоизвестном инструменте для любителей высокой производительности — System.IO.Pipelines. По своей сути, рассматриваемый System.Threading.Channels (в дальнейшем «каналы») построен по похожим принципам, что и Пайплайны...

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

Доступна для загрузки Windows 10 Build 18363.592 Microsoft выпускает первое обновление в году для всех поддерживаемых версий Windows 10, включая обновление ноября 2019 года (November 2019 Update). Обновление выпущено через ЦО, а также доступны прямые ссылки для загрузки автономных установщиков Windows 10 KB4528760. KB45287...

Проблема У вас бывает ощущение нерешенной проблемы? Такое странное, как будто ментальный зуд. Не дает думать о чем-то другом. Не дает уснуть. Постоянно отвлекает. Моей проблемой стало непонимание причины, по которой эти ощущения возникают. На интуитивном уровне все прозрачно: ест...

Обзор нововведений в C# 10 В данной статье мы рассмотрим новую версию языка C# 10, которая включает в себя небольшой список изменений относительно C# 9. Ниже приведены их описания вместе с поясняющими фрагментами кода. Давайте их рассмотрим. Читать далее

Мониторим основные сервисы в AWS с Prometheus и exporter’ами для CloudWatch Если вы используете в облачных провайдерах managed-инсталляции серверных служб вроде RDS или ElastiCache от AWS, то несомненно задавались темой мониторинга инфраструктуры, а главное — оповещений по произошедшим инцидентам. При реализации возникают понятные вопросы: Как можно...

На платформе ICT.Moscow была создана база знаний с мировыми кейсами использования искусственного интеллекта Своим комментарием к созданию в российской столице базы знаний с мировыми кейсами использования искусственного интеллекта (ИИ) поделилась вице-мэр мегаполиса Наталья Сергунина. Отмечается, что платформой для ее создания выступила ICT.Moscow, сейчас в онлайн-базе можно найти ...

Epson первым в мире обеспечил все свои профессиональные проекторы от 5500 до 30000 лм ультракороткофокусными объективами с нулевым офсетом без "мертвой зоны" проекции Ультракороткофокусные объективы создают уникально удобные возможности по размещению проекторов относительно экранов, но проблема "мертвой зоны" часто не позволяет полноценно использовать эти преимущества. Для всех проекторов Epson со сменной оптикой этой проблемы больше не с...

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

Модифицируем Last Epoch — От dnSpy до Ghidra Last Epoch — это однопользовательская ARPG на Unity и C#. В игре присутствует система крафта — игрок находит модификаторы, которые затем применяет к экипировке. С каждым модификатором накапливается "нестабильность", которая увеличивает шанс поломки предмета Я пресл...

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

Анонс Windows 10 Insider Preview Build 19037 (Fast и Slow) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 19037 для участников программы Windows Insider, использующих каналы «Ранний доступ» и «Поздний доступ». Полный номер сборки: 19037.1.vb_release.191202-1231. Как можно...

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

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

Объем российского рынка BIM-технологий составил 67-77 млн долларов США в 2019 году PwC в России представляет результаты исследования "PropTech в России: Обзор практики применения BIM-технологий и инновационных решений в области проектирования" . В рамках данного исследования эксперты PwC проанализировали текущий уровень использования BIM-технолог...

[Перевод] Конференция HACKTIVITY 2012. Теория большого взрыва: эволюция пентестинга в условиях повышенной безопасности. Часть 2 Конференция HACKTIVITY 2012. Теория большого взрыва: эволюция пентестинга в условиях повышенной безопасности. Часть 1 Сейчас мы попробуем другой способ внедрения SQL. Посмотрим, будет ли база данных продолжать отбрасывать сообщения об ошибках. Этот метод называется «ожидани...

Новейший Samsung Galaxy S20 Ultra удивляет производительностью Samsung представит линейку смартфонов Galaxy S20 только в следующем месяце, однако в Сети уже появились результаты тестирования флагманской модели, которая будет выпущена под названием Samsung Galaxy S20 Ultra. Устройство проходит в базе данных популярного тестового при...

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

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

Managed Databases в Selectel: приглашаем в бету Сегодня мы представляем открытую для тестирования бета-версию Managed Databases для PostgreSQL, использование которой будет бесплатным на период бета-тестирования. Базы данных — один из наиболее значимых и сложных компонентов любой информационной системы или приложения. Пр...

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

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

Приложение Unagrande YogaClub теперь доступно на Android Приложение для занятий йогой Unagrande YogaClub стало доступно для пользователей Android. Ранее его можно было скачать только на устройствах на базе iOS. Сбросить вес, расслабиться, улучшить самочувствие, и достичь видимых результатов уже после нескольких занятий стало воз...

Перенос всех баз данных MS SQL Server на другую машину Недавно возникла необходимость переноса всех БД (>50 на одном экземпляре SQL Server) из dev-окружения на другой экземпляр SQL Server, который располагался на другом железе. Хотелось минимизировать ручной труд и сделать всё как можно быстрее. Disclaimer Скрипты написаны д...

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

ICT.Moscow сформировала базу знаний об ИИ из 300 российских и международных практик Платформа о московских высокотехнологичных решениях ICT.Moscow открыла доступ к базе практик применения искусственного интеллекта (ИИ) в разных сферах и бизнес-процессах: ict.moscow/ai/. Всего собрано более 300 российских и международных практик использования технологии иску...

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

[Перевод] Модели мира. Могут ли агенты учиться в своем воображении? От переводчика: вопросы, поднятые в прошлой моей статье (видимо не слишком удачной) тем не менее вывели меня (огромное спасибо комраду Kilorad за ссылку!) на материал, который я посчитал необходимым перевести и выложить сюда. Да, я, к сожалению, посредственно владею как язык...

Mozilla просит фанатов Firefox обновить браузер как можно ... Mozilla выпустила обновление для исправления критической уязвимости в Firefox. Она призывает пользователей обновляться как можно быстрее - и к этому предупреждению присоединяется правительство США.   Mozilla утверждает, что знает о «целенаправленных атаках на брау...

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

Кастомизация календаря на PyQt5 Сегодня столкнулся с простой на первый взгляд задачей: в виджете календаря на PyQt5 сделать так, чтобы сегодняшняя дата обводилась зеленой рамкой. Но оказалось, что на русском языке материалов на эту тему вообще нет, а на английском - только один вопрос на stackoverflow. Реш...

[Из песочницы] Унификация визуальных компонентов. Часть 1. Стили Данная статья будет, прежде всего, полезна разработчикам, которые не работают с готовыми наборами компонентов, такими как, material-ui, а реализуют свои. Например, для продукта разработан дизайн, отражающий то, как должны выглядеть кнопочки, модальные окна и т.п. Чтобы гра...

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

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

Доступна для скачивания Windows 10 Build 19041.423 [KB4568831] В последний день июля 2020 года Windows 10 версии 2004 получила еще один патч. Как обычно, Microsoft также опубликовала прямые ссылки для загрузки автономных установщиков Windows 10 KB4568831, что должно позволить вам быстро обновить вашу систему. KB4568831 – это необязатель...

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

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

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

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

Зачем (не)нужны геттеры? Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместн...

[Перевод] Анализ библиотеки ИИ ботов из Quake 3 Изучение исходного кода ИИ уже выпущенных игр — превосходный способ изучения хитростей на реальных примерах. Quake 3 Arena — интересный образец, потому что код игры полностью выложен в открытый доступ (за исключением инструментов), а сама игра стала примером архитектуры дви...

В Сеть слита база с 533 млн аккаунтов Facebook Facebook попала в очередной скандал из-за утечки пользовательских данных, причем в этот раз речь идет о 500 млн аккаунтов.База данных 533 млн пользователей социальной сети Facebook слил на хакерский форум неизвестный пользователь.База данных включает ФИО, дату рождения, теле...

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

Яркая звезда недалеко от Земли была затуманена космической пылью Яркая звезда Бетельгейзе, которая начала резко тускнеть в 2019 году, не умирает и не превратится в сверхновую, как первоначально думали некоторые ученые. Оказалось, все это время она была затуманена пылью. Об этом свидетельствуют результаты нового исследования, опубликованн...

Внедрение CI/CD & DevOps в Enterprise (Ростелеком) — часть 2 Платформа Цифровых Продуктов Ростелеком. Как это устроеноДатой создания Платформы Цифровых Продуктов (ПЦП) можно считать лето 2017. Старое название - Digital Sandbox, или просто Песочница.В основе инфраструктуры лежат два тенанта на базе виртуализации OpenStack-KVM, размещен...

Android-смартфоны 2020 года получат эксклюзивную технологию iPhone 11 Apple не удастся сохранить Ultra Wideband в качестве эксклюзивной функции iPhone Несмотря на то что Apple довольно часто предпочитает оттягивать внедрение тех или иных функций iOS до последнего момента, по части инноваций у неё всё более чем в порядке. Кажется, не проходит и...

Как зарабатывать на фотографиях Данная статья является логическим продолжением этой статьи на Хабре о выдаче регистратором Р01 моих персональных данных. Пришлось дожидаться, пока закончатся суды (частично), чтобы описать, кому было интересно запросить мои персональные данные у доменного регистратора Р01 и...

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

Нерушимая PostgreSQL, или Как обеспечить отказоустойчивость для «открытой» СУБД На просторах Интернета море информации о том, как построить отказоустойчивую систему управления базами данных PostgreSQL. Но она слабо применима к задачам крупных компаний и не выдерживает строгости требований стандартов enterprise. В проекте создания ИТ-инфраструктуры для н...

Релиз Windows Terminal 1.3 и выход Windows Terminal Preview 1.4 Состоялся релиз стабильной версии Windows Terminal 1.3, включающей в себя все функции, которые были доступны в предварительной версии в прошлом месяце. Подробнее об изменениях вы можете прочитать в нашей статье по этой ссылке. Одновременно с этим была выпущена новая предвар...

Обновления Windows 10 от мая 2021 года: что нового и исправлено Обновление Windows 10 от мая 2021 года «Вторник исправлений» (не путать с версией 21H1) теперь развертывается для тех, кто использует поддерживаемые версии, такие как версия 20H2 и версия 2004. Выпуск Patch Tuesday в этом месяце содержит улучшения качества, а также исправляе...

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

Предварительная версия Microsoft Launcher 6.0 с обновленным интерфейсом стала доступна для загрузки Microsoft выпустила предварительную версию Microsoft Launcher 6.0 - новой версии своего лаунчера для Android, которая получила ряд существенных изменений и улучшений. Складное устройство Surface Duo на Android от Microsoft будет базироваться именно на этой версии Microsoft ...

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

WhatsApp получил режим Dark Mode на Android и iOS Разработчики WhatsApp добавили режим Dark Mode для всех пользователей смартфонов на базе OC Android и iOS. Режим Dark Mode получил стабильную версию программы. Для смартфонов с операционной системой iOS, интерфейс приложения оптимизирован под OLED дисплей, а вот для пользов...

[Перевод] Что происходит, когда вы выполняете manage.py test? Перевод статьи подготовлен специально для студентов курса «Python Web-Developer».Вы запускаете тесты командой manage.py test, но знаете ли вы, что происходит под капотом при этом? Как работает исполнитель тестов (test runner) и как он расставляет точки, E и F на экране? К...

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

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

Анонс Windows 10 Insider Preview Build 20197 (канал Dev) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 под номером 20197 для участников программы Windows Insider, использующих канал Dev (в прошлом «Ранний доступ»). Полный номер сборки: 20197.1000.rs_prerelease.200818-1420. Напоминаем, ...

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

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

Издатель VR-игр подтвердил выход PlayStation VR 2 в 2020 году Некоторое время ходили слухи, что наряду с PlayStation 5 будет выпущена обновлённая модель PlayStation VR. Предположение недавно подтвердил издатель Immersive VR Education (Apollo 11 VR и Titanic VR). Компания выпустила финансовый отчёт, в котором упоминается о новой гарниту...

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

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

Как мы обошли bytenode и декомпилировали байткод Node.js (V8) в Ghidra «Да я роботов по приколу изобретаю!» Рик СанчесМногим известно, что в 2019 году АНБ решило предоставить открытый доступ к своей утилите для дизассемблирования (реверс-инжиниринга) под названием Ghidra. Эта утилита стала популярной в среде исследователей благодаря высокой «вс...

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

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

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

Intel Core i9-10900K оказался производительнее, чем Core i9-9900K, на 30 % в Geekbench 5 Чем меньше времени остаётся до момента выхода на рынок десктопных процессоров Intel Comet Lake-S, тем больше в сети появляется предварительных данных, раскрывающих подробности об их производительности. Одна из последних утечек опубликована пользователем Tum_Apisak, который н...

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

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

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

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