Социальные сети Рунета
Вторник, 30 ноября 2021

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

Microsoft анонсировала Windows Package Manager для Windows 10 В ходе Build 2020 компания Microsoft анонсировала диспетчер пакетов Windows Package Manager для Windows 10, который призван облегчить разработчикам настройку рабочей среды, например, после переустановки операционной системы. Если раньше разработчикам приходилось вручную заг...

[Перевод] Настраиваем окружение Python с помощью pyenv, virtualenvwrapper, tox и pip-compile Эти инструменты упростят настройку и позволит автоматизировать рутинные операции. Они избавят разработчика от многих сложностей, которые мешают сосредоточиться на решении задач и комфортном написании кода. Есть много способов настройки окружения Python. В этом материале о...

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

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

Две скрытые кайфовые фичи Windows Admin Center: как найти, настроить и использовать Недавно я шерстил Хабр и встретил комментарий от Inskin: Я впервые познакомился в Windows Admin Center, когда в нем был только счетчик управления файлами и больше ничего. Сейчас все инструменты из RSAT потихоньку переезжают в Windows Admin Center. Пока я не видел ни од...

[Из песочницы] BoxView — удобный autolayout для iOS Хочу поделиться библиотекой для эффективного построения пользовательского интерфейса iOS приложений на основе autolayout. Хотя с появлением SwiftUI актуальность autolayout быстро уменьшается, пока этот механизм все еще активно используется, и библиотека может быть полезна ...

Какой язык выбрать для работы с данными R или Python? Оба! Мигрируем с pandas на tidyverse и data.table и обратно По запросу R или Python в интернете вы найдёте миллионы статей и километровых обсуждений по теме какой из них лучше, быстрее и удобнее для работы с данными. Но к сожалению особой пользы все эти статьи и споры не несут. Цель этой статьи — сравнить основные приёмы обработки д...

[Из песочницы] Руководство по CI/CD в GitLab для (почти) абсолютного новичка Или как обзавестись красивыми бейджиками для своего проекта за один вечер ненапряжного кодинга Наверное, у каждого разработчика, имеющего хотя бы один пет-проект, в определённый момент возникает зуд на тему красивых бейджиков со статусами, покрытием кода, версиями пакетов в ...

[Из песочницы] Пишем свой плагин для VueJS. Как проект на VueJS трансформировать в расширение для браузера? Вступление В этой статье мы с вами напишем свой собственный плагин для проектов на VueJS, который трансформирует проект в расширение для браузера. Узнаем как изменять правила сборки webpack и генерировать дополнительную структуру файлов и папок. Расширения для браузеров час...

Настройка инструментов стандартной библиотеки Golang для production Привет, Хабр, меня зовут Богданов Илья, я работаю ведущим инженером в команде веб-разработки. Сегодня я вам расскажу, как настроить стандартную библиотеку Golang так, чтобы избежать неожиданных ошибок в production.Моя статья ориентирована в основном на начинающих разработчик...

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

[Перевод] Детектор космических лучей. Часть 3: завершение и тесты В первой части серии мы разобрали, что такое первичные и вторичные космические лучи, рассмотрели способ, которым будем их регистрировать и познакомились с проектом CosmicWatch. В предыдущей статье мы вкратце разобрали принцип работы детектора, после чего скомпоновали и про...

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

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

[Перевод] Опенсорс-хелпдеск как альтернатива Zendesk и Help Scout. Архитектура, дизайн и юзабилити Это перевод ряда статей из блога одного опенсорсного хелпдеска (и общего почтового ящика) на Laravel. История данного проекта — хороший пример того, как опенсорс-сообщество может не просто повторить, но и местами улучшить дизайн и функционал уже готового распиаренного комм...

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

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

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

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

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

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

[Перевод] Настройка Webpack 5 с нуля Узнайте, как использовать вебпак для сборки JavaScript, изображений, шрифтов и стилей, а также как запускать сервер для разработки Если вы раньше использовали вебпак 4, вот некоторые отличия от 5 версии: команда «webpack-dev-server» теперь выглядит как «webpack-serve» о...

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

Kotlin Native. Работаем с потоками с корутинами и без. Ч1 Всем доброго дня! С вами Анна Жаркова, ведущий мобильный разработчик компании Usetech. Совсем недавно компания JetBrains выпустила preview новой модели управления памятью. Это отличный повод сделать подробный ее разбор на практике, а также сравнить с моделью, используемой в ...

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

[Перевод] 10 инструментов для повышения продуктивности React-девелоперов в 2020 году Давайте обсудим несколько отличных инструментов, которые повышают продуктивность разработчиков React и улучшают качество работы. Обычно, когда я начинаю новый проект, то использую собственный шаблон для тех инструментов, которые добавил в этот список. Также я работаю и с ...

2. NGFW для малого бизнеса. Распаковка и настройка Продолжаем цикл статей по работе с новым модельным рядом SMB CheckPoint, напомним что в первой части мы описали характеристики и возможности новых моделей, способы управления и администрирования. Сегодня рассмотрим сценарий развертывания старшей модели серии: CheckPoint 15...

Вышел пакет Sequoia 0.20.0, реализация OpenPGP на Rust Вчера был представлен выпуск пакета Sequoia 0.20.0. Он предлагает библиотеку функций и инструментарий командной строки с реализацией стандартов OpenPGP (RFC-4880). Команда проекта состоит из трех человек — участников проекта OpenPGP (RFC-4880). Для повышения безопасности и ...

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

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

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

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

Дождались: вышел LibreOffice 7.0 В этом месяце случилось сразу два приятных сюрприза. Первый — релиз ядра Linux Kernel 5.8. Второй — выход офисного пакета LibreOffice 7.0. Уже готовы пакеты для разных ОС, включая Linux, Windows, MacOS. В седьмой версии офисного пакета много изменений. 74% добавлены сотру...

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

В YouTube Music появился инструмент для переноса библиотеки из Google Play Music Достаточно пары кликов и вся библиотека будет перенесена в YouTube Music. После того, как Google […]

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

CI TeamCity — Автоматизация build процессов Android и UI тестирования В этой статье предлагаю Вашему вниманию инструкцию по установке и настройке TeamCity для автоматизации сборки и тестирования Android проектов под Windows. Также буду уделять внимание особенностям настройки environment’а под Android проект (которые находил в процессе исследо...

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

Как не «спалиться» перед начальником. В Skype появился настраиваемый фон для видеозвонков Компания Microsoft добавила новую интересную функцию в своём сервисе Skype. Речь идёт о настраиваемом фоне, что позволяет замаскировать окружающую обстановку во время видеозвонка.  Это особенно актуально сейчас, когда многие работают удалённо во время пандемии кор...

Аутентификация в Kubernetes с помощью Dex: прикручиваем LDAP Сегодня я подробно разберу настройку аутентификации в Kubernetes с помощью Dex в связке с LDAP, а также покажу, как можно добавлять статических пользователей в Dex.  В статье не буду останавливаться на основных принципах работы Dex, а сразу перейду к установке и настройке L...

Как быстро открывать любые системные настройки в macOS – 5 способов К сложному, многогранному механизму настроек операционной системы Mac прилагается нативный, дружелюбный пользовательский интерфейс. Чтобы освоиться в Системных настройках macOS, человеку нужно запомнить всего несколько правил. ♥ ПО ТЕМЕ: 4 профессиональных совета для продукт...

[Перевод] Использование IceWM и Raspberry Pi в качестве основного PC: делюсь темой, конфигурацией и несколькими советами В качестве среды рабочего стола я предпочитаю KDE. KDE надежна, настраиваема всевозможными способами, и к тому же замечательно работает. Она относится к вам как к ответственному взрослому, а не ребенку, как GNOME в наши дни или XFCE после перехода на GTK3. Но дома я использ...

Превращаем одноплатник Cubietruck в Wi-Fi Hotspot с Captive portal, VPN-шлюзом и Ad block Для построения Wi-Fi сети обычно используют готовые маршрутизаторы, функционал которых всегда ограничен прошивкой. А если необходимо добавить блокировщик рекламы, VPN шлюз и красивый Captive portal, покупать новую железку? Стоимость устройства с таким функционалом будет уже...

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

Создаем веб-приложение на Haskell с использованием Reflex. Часть 1 Введение Всем привет! Меня зовут Никита, и мы в Typeable для разработки фронтенда для части проектов используем FRP-подход, а конкретно его реализацию на Haskell – веб-фреймоворк reflex. На русскоязычных ресурсах отсутствуют какие-либо руководства по данному фреймворку (да и...

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

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

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

ABBYY NeoML: как мы делали библиотеку машинного обучения и зачем она нужна Привет, Хабр! Меня зовут Стас, и я отвечаю за направление Common Libraries в компании ABBYY. Недавно мы выложили на GitHub созданную нами библиотеку для машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ...

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

Простое и удобное журналирование ошибок для сайтов на .NET Core Возможно, многим знакома библиотека ELMAH (Error Logging Modules and Handlers), которая позволяет организовать простое журналирование ошибок для любого сайта, созданного с помощью .NET Framework. Этот простой и проверенный временем инструмент выручал меня во многим проектах...

WireGuard, настройка нескольких клиентов за NAT и причем здесь STUN? На данный момент мы запускаем доступ к серверам на базе WireGuard и сегодня я хочу рассказать, как настраивать клиентов, которые находятся за NAT, хотя про настройку сервера, тоже не забудем. Читать дальше →

Представляем бета-версию Jetpack Compose Совсем недавно, 24 февраля, мы анонсировали запуск бета-версии Jetpack Compose. Этот новый набор инструментов для разработки пользовательского интерфейса позволит легко и быстро создавать оригинальные приложения для всех платформ Android. Jetpack Compose предоставляет с...

«Битрикс24». Играемся с настройками и оптимизируем проект В этой статье мы расскажем, как оптимизировать крупный проект в «Битрикс24» и увеличить его производительность в 3 раза, изменяя настройки MySQL и режим питания CPU. Дано Корпоративный портал в «Битрикс24», рассчитанный на несколько сотен пользователей, c ~300 Гб файлов и ...

[Перевод] Советы и хитрости IntelliJ IDEA: 4. Синхронизация и обмен настройками Знаете ли вы, что IDEA предлагает два способа синхронизации ваших настроек между несколькими экземплярами вашей IDE? Вы можете использовать его при работе на нескольких компьютерах или для совместного использования унифицированных настроек в вашей команде. Этот перевод прод...

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

Тестируем переезд ВМ через Hystax и уходим от ручных настроек сети Hystax — подходящее решение для миграции, если нужно перенести ВМ с Linux или Windows между разными платформами: VMware, OpenStack, AWS и так далее. C его помощью можно переехать на любую из этих платформ даже с bare-metal. Мы уже не раз использовали Hystax для переезда наши...

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

[Из песочницы] Легкий способ защитить свой Mikrotik от атак Хочу поделиться с сообществом простым и рабочим способом, как при помощи Mikrotik защитить свою сеть и «выглядывающие» из-за него сервисы от внешних атак. А именно всего четырьмя правилами организовать на Микротике honeypot. Итак, представим, что у нас небольшой офис, внеш...

Видео-стриминг на iOS Недавно получил интересную задачу в работу, сделать приложение для видео-стриминга, это для стартапа ShopStory (e-comm live streaming). Первую версию приложения реализовал используя Open Source библиотеку для стриминга по RTMP HaishinKit. А вторую версию на Larix SDK. В этой...

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

В Gmail добавили меню быстрых настроек Google запускает новое меню с быстрыми настройками в Gmail. Об этом сообщается в блоге G Suite Updates. Благодаря обновлению пользователи смогут изменять настройки интерфейса почты, не покидая страницу. Новое меню будет доступно по клику на значок шестерёнки в правом верхнем...

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

Путь одной команды от «велосипедов» до IoT-платформы Привет, Хабр! Мы, команда Rightech, наконец-то решили начать вести блог. У нас накопилось много опыта в построении высоконагруженных IoT-систем, и мы решили, что просто обязаны им делиться! Совсем недавно прошел запуск публичной версии нашей платформы RIC (Rightech IoT Clou...

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

Публикуем дизайн-библиотеки компонентов VKUI в Figma Библиотеки в дизайн-инструментах — это важная часть дизайн-системы. Мы считаем, что дизайнеры должны работать с элементами, которые максимально приближены к реализации в коде. Поэтому в библиотеках мы собрали для них самые актуальные компоненты, которые отражают все те же со...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

Я выпустил Grafar — JS-библиотеку для визуализации После пяти лет в столе я готов представить свою библиотеку для визуализации — grafar. У нас есть: 3D, реактивные вычисления и самое простое АПИ для построения математических графиков прямо в браузере. В статье рассказываю, что я сделал и как этим пользоваться. Читать далее

Настройка беспроводных наушников — полезные советы Полезные советы и инструкции по настройке беспроводных наушников на смартфоне. Чтобы использование беспроводных наушников было удобным и приносило...

[Перевод] Самая крутая библиотека для Data Science, которую я нашёл в 2021 году Больше никогда не тратьте время на настройку гиперпараметров Я стал дата-сайентистом, потому что мне нравится находить решения для сложных задач. Творческая часть работы и информация, которую я получаю из данных, – это то, что мне нравится больше всего. Такие скучные вещи,...

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

9 лучших опенсорс находок за ноябрь 2019 Доброй зимы, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за ноябрь 2019. За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается ...

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

Интеграция в проект LVGL графической библиотеки для микроконтроллеров LVGL — Light and Versatile Graphics Library также известная как LittleVGL. Библиотека поддерживает большое количество микроконтроллеров, таких как STM32, ESP32 и другие. Мне пока удалось запустить полноценную демо программу на ESP32 и STM32f429 Discovery. Библиотека открыт...

Сравнение сеансов профилирования в XHProf Admin В статье рассказывается об удобном инструменте сравнения сеансов профилирования PHP кода, который позволил быстрее найти узкие места в проекте на CMS Битрикс. Читать дальше →

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

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

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

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

9 лучших опенсорс находок за март 2020 Доброго карантинного апреля, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за март 2020. За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если н...

[Перевод] 20 инструментов Android-разработчика, о которых вы могли не знать Набор полезных, но не очень известных инструментов и библиотек Android.Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пр...

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

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

[Из песочницы] Установка и настройка RTKRCV (RTKLIB) на Windows 10 с использованием WSL Здравствуйте, в данной статье разбирается процесс установки и запуска приложения RTKRCV из открытой библиотеки RTKLIB, разрабатываемой командой Томоджи Такасу (Япония). RTKLIB — это программный пакет с открытым исходным кодом для стандартного и точного позиционирования с и...

Файрвол PF в ОС FreeBSD Введение В Рунете есть множество статей о настройке FreeBSD и PF, но все они разрозненны и несистематичны. А за любыми более-менее интересными вещами, такими, как маршрутизация средствами файрвола (Policy Based Routing), приходится читать оригинальную документацию, например,...

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

Отказоустойчивый кластер PostgreSQL с помощью crm Автор — Игорь Косенков, инженер postgres Professional Привет всем! Сегодня речь пойдет о кластере. Да, снова об отказоустойчивом кластере на базе Corosync/Pacemaker. Только настраивать мы его будем не как обычно — с помощью утилиты pcs, а с помощью мало используемой утилиты...

Новая версия СЭД «ДЕЛО» 19.6 – удобнее, быстрее, безопаснее В СЭД «ДЕЛО» 19.6 расширена функциональность работы в веб-интерфейсах, добавлены новые возможности настройки пользователями, предусмотрены дополнительные инструменты для обмена документами с внешними системами и применения электронной подписи.

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

[Перевод] NextJS и Create-React-App. В чем разница? Публикуем новый перевод для начинающих React-разработчиков. Надеемся, статья поможет при выборе подходящего инструмента для вашего следующего проекта. Когда речь идет о создании новых проектов на React, перед нами стоит очевидный выбор: NextJS или Create-React-App. Gatsby пр...

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

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

FPV Квадрокоптер: Фильтрация в Betaflight (Betaflight 4.1, на новых настройках еще не снимал) Прошлая статья — От земли к FPV Квадрокоптеру: Введение На днях, я все таки решил обновиться до Betaflight 4.2 и все вокруг советуют включить фильтрацию с двухсторонним DShot. К слову она была и в 4.1. Для начала, дав...

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

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

ABBYY NeoML 2.0: Python и многое другое Прошел почти год с тех пор, как мы опубликовали на GitHub библиотеку для машинного обучения NeoML. О чем, конечно же, была статья на Хабре. Мы обещали поддерживать и развивать ее. Свое обещание мы сдержали, и на днях свет увидела вторая версия библиотеки! С первой версии ...

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

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

[Перевод] Python и разработка простого веб-приложения, использующего технологии машинного обучения Тот, кто занимается машинным обучением (Machine Learning, ML), обычно, реализуя различные проекты, выполняет следующие действия: сбор данных, их очистка, разведочный анализ данных, разработка модели, публикация модели в локальной сети или в интернете. Вот хорошее видео, в ко...

Настройка основных параметров у коммутаторов Huawei CloudEngine (на примере 6865) Мы уже длительное время используем оборудование Huawei в продуктиве публичного облака. Недавно мы добавили в эксплуатацию модель CloudEngine 6885 и при добавлении новых устройств, появилась идея поделиться неким чек-листом или сборником базовых настроек с примерами. В сети е...

Быстрый расчет формул из Excel на C# Как часто вы слышите от заказчиков, что они пришлют данные в Excel или просят вас сделать импорт или выгрузку в Excel-совместимом формате? Я уверен, что в большинстве сфер Excel — один из самых популярных, мощных и в то же время простых и удобных инструментов. Но самым пробл...

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

[Перевод] Настройка распределенной трассировки в Kubernetes с OpenTracing, Jaeger и Ingress-NGINX В эпоху, когда крупные компании используют более 500 микросервисов одновременно, важно иметь возможность быстро выяснить, из-за чего произошел сбой или снизилась производительность. Без специализированных инструментов это может быть похоже на поиск соломинки в стоге сена.Рас...

Grafana as code, или как я перестал кликать мышкой в UI и полюбил grafonnet Когда мы в Tarantool столкнулись с задачей настройки мониторинга для сдачи проекта заказчику, мы решили её с помощью grafonnet. Это библиотека для написания дашбордов Grafana с помощью кода на языке jsonnet, которая заметно облегчила нам жизнь. Рассказ поделён на две части. ...

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

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

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

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

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

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

MLflow в облаке. Простой и быстрый способ вывести ML-модели в продакшен Robot factory by lucart MLflow — один из самых стабильных и легких инструментов, позволяющий специалистам по Data Science управлять жизненным циклом моделей машинного обучения. Это удобный инструмент с простым интерфейсом для просмотра экспериментов и мощными средствами уп...

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

На чьей стороне вы: Push и Pull в Desired State Configuration Мы уже рассказали, как описывать конфигурацию в Desired State Configuration (DSC) и разобрали встроенный агент Local Configuration Manager (LCM) для применения конфигурации на сервере. В первой части статьи пошагово прошлись по основным особенностям инструмента вместе с Евге...

Библиотека ASE для атомных симуляций: создаем наночастицы Библиотека ASE Библиотека ASE — это python-библиотека для проведения атомных манипуляций и вычислений. В данной статье мы будем создавать наночастицы с помощью этой библиотеки. Установка Устанавливается ASE стандартно через pip: pip install ase. Читать дальше →

[Перевод] Защита от уязвимости Dependency Confusion в PHP с помощью Composer Недавно Алекс Бирсан опубликовал статью «Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies», в которой рассказал, как использовал диспетчеры пакетов уровня языков наподобие npm (Javascript), pip (Python) и gems (Ruby), чтобы заставить к...

Как мы автоматизируем iOS: настройка Gitlab CI + Fastlane + Firebase + ItunesConnect В основном идея использования CI/CD для iOS, да и для других платформ, — это автоматизация рутинной работы. Когда мы работаем над одним приложением, можем вручную собирать небольшой проект. Но команда растёт, хочется тратить время эффективнее, чем вручную собирать проект или...

Dart на сервере Недавно столкнулся с необходимостью написать REST API сервер на Dart. Оставим за рамками этой статьи почему и зачем это было надо, но первое с чем я столкнулся - выбор библиотек. Так уж сложилось, что я привык писать на NodeJS используя KoaJS в качестве веб сервера. Простая ...

Рабочая станция в Docker контейнере Для чего? Мне постоянно приходят всякие идеи и некоторые из них сразу хочется попробовать, но рабочая станция не всегда под рукой, поэтому я настраивал IDE на всем что попадется под руку. В итоге устройства начали захламляться, а поддерживать и обновлять их стало тяжело. Что...

extendr: вызываем rust из R (и наоборот) R, как и большинство подобных ему высокоуровневых скриптовых языков, часто полагается на код, написанный на более низкоуровневом языке. Библиотеки R - пакеты (packages) - нередко содержат код, написанный на C, C++ или FORTRAN. Нативный код позволяет обойти различные ограниче...

[Перевод] Веб-скрейпинг на PHP Термин web scraping означает извлечение информации из веб-страниц в интернете. Его ещё называют web crawling или web data extraction. PHP широко используется в качестве серверного скриптового языка для создания динамических сайтов и веб-приложений. И на нём можно написать...

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

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

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

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

[Перевод] Formidable, Busboy, Multer или Multiparty? Выбор npm-пакета для обработки файлов, выгружаемых на сервер Существует немало npm-пакетов, предназначенных для разбора и обработки multipart/form-data-запросов на Node.js-сервере. Каждый из них спроектирован по-особенному. Некоторые предназначены для использования с Express.js, другие рассчитаны на автономное применение. Некоторые хр...

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

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

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

werf vs. Helm: корректно ли их вообще сравнивать? Эта статья — развернутый ответ на вопрос, который нам периодически задают: чем werf отличается от Helm? На первый взгляд можно предположить, что задача у них примерно одинаковая: автоматизировать деплой приложений в Kubernetes. Но всё, конечно, немного сложнее… Читать далее

Еще немного про использование VPN в Билайн Привет! В этой статье я расскажу о ещё двух вариантах VPN, используемых нами для включения клиентов с помощью Мультисим Резервирования, это L2TP и L2-VPN. Первый используется для включения сервисов Интернет, второй для включения каналов L2 MPLS.Самый первый — L2TPИ...

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

Конструктор Lego и объектно-ориентированное программирование в Tcl. Разбор сертификата x509.v3 Часто приходится слышать, что скриптовому языку Tcl не хватает поддержки объектно-ориентированного стиля программирования. Сам я до последнего времени мало прибегал к объектно-ориентированному программированию, тем более в среде Tcl. Но за Tcl стало обидно. Я решил разобрать...

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

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

[Перевод] Понимаем пробы Kubernetes: типы, настройка и лучшие практики Источник В этой статье — о настройке проб готовности, работоспособности и запуска для обнаружения и работы с нездоровыми модулями в переводе команды Kubernetes aaS. Читать дальше →

[Перевод] Трюки с SQL от DBA. Не банальные советы для разработчиков БД Когда я начинал свою карьеру разработчика, моей первой работой стала DBA (администратор базы данных, АБД). В те годы, ещё до AWS RDS, Azure, Google Cloud и других облачных сервисов, существовало два типа АБД: АБД инфраструктуры отвечали за настройку базы данных, конфигури...

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

[Из песочницы] Instagram api на минималках Все началось с того, что я захотел сделать канал в инстаграме потратив на поиски и тесты сервисов авто публикаций целый день, далее я решил посмотреть на готовые пакеты гитхаба я удивился на размер кода этих пакетов (некоторые фреймворки php меньше чем эти обертки над инст...

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

Автономная охранная система на Arduino + GSM Друзья, разрешите представить проектик GSM сигнализации на Arduino. В сети довольно много проектов по типу «Arduino + модем + датчики», однако я часто вижу в них некоторую незаконченность (в особенности, с программной точки зрения): отсутствие гибкости в настройках и конфигу...

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

Мониторинг пет-проектов на коленке: Netdata, Monitoror, N8N Привет, я Паша из Ozon. В рабочее время занимаюсь тестированием поиска, а по вечерам надеваю маску инди-разработчика. И моя самая частая задача — написать скрипт → залить его на сервер → периодически мониторить, что сервер доступен. Эта статья как раз и будет строиться вокру...

Что нужно знать о популярных фреймворках Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Group, Front-end, ABBYY. Студенты недавно задали мне вопрос: «Что лучше: Angular или React?». Я начал отвечать и понял, что мне понадобится для этого статья. Позже я понял, что и одной...

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

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

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

PowerToys теперь доступен в Microsoft Store для Windows 11 С сегодняшнего дня PowerToys стал доступен в магазине приложений Microsoft Store для Windows 11. До этого установить данное приложение т можно было либо со страницы в GitHub, либо с помощью диспетчера пакетов Winget. Напомним, что PowerToys представляет собой набор инструм...

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

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

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

[Перевод] Продвинутый уровень визуализации данных для Data Science на Python Как сделать крутые, полностью интерактивные графики с помощью одной строки Python Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции...

О системах контроля версий Всем привет! Уже на следующей неделе в OTUS стартует «Супер-практикум по использованию и настройке GIT». Этому я и решил посвятить сегодняшнюю публикацию. Введение Предлагаю обсудить предназначение и различные способы организаций систем контроля версий. Читать дальше &ra...

Сложности импортозамещения: инструмент для госкорпораций убирают из реестра отечественного ПО Госсектор давно и масштабно использует зарубежное ПО. Вернее, использовал до последнего времени. Согласно приказу Минкомсвязи от 20.092018 №486 все государственные компании должны перейти на отечественное программное обеспечение. Не сразу, время есть до 2024 года. У гос...

[Перевод] Single sign-on для SSH своими руками TL;DR В этот статье мы установим single sign-on для SSH от Google. За кулисами мы воспользуемся OpenID Connect (OICD), краткосрочными SSH сертификатами, несколькими хитростями конфигурации SSH, и опенсорсными пакетами step-ca и step от Smallstep. Мы настроим SSH Certificate ...

[Перевод] Мои любимые инструменты разработчика Chrome Доброго времени суток, друзья! Chrome Developer Tools — очень мощный набор инструментов для разработки веб приложений. С помощью этих инструментов мы можем перемещаться по DOM, осуществлять проверку запросов на сервер, настраивать производительность приложений и др. Сред...

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

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

И снова обход блокировок. RouterOS+BGP+OSPF Доброго времени суток! Нового ничего не придумал; просто совместил несколько статей и настроил удобный обход блокировок. За основу взята статья Настройка BGP для обхода блокировок, версия 3, без VPS. Преимущества моей «модификации» — можно одновременно нескольким пользова...

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

Еще раз про живую миграцию: как перенести виртуальные машины Hyper-V, да побыстрее      «Любишь Hyper-V – люби и PowerShell»      Первое правило Сообщества Hyper-V в Телеграм       «А если любишь VMware ESXi, то люби PowerShell на пару с ESXi CLI и REST API»     ...

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

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt В большинстве случаев подключить роутер к VPN не сложно, но если вы хотите защитить целую сеть и при этом сохранить оптимальную скорость соединения, то наилучшим решением будет воспользоваться VPN-туннелем WireGuard. Роутеры Mikrotik зарекомендовали себя как надежные и оче...

Как мы распилили монолит. Часть 3, Frame Manager без фреймов Привет. В прошлой статье я рассказал про Frame manager — оркестратор фронтовых приложений. Описанная реализация решает многие проблемы, но в ней есть недостатки. Из-за того, что приложения грузятся в iframe, появляются проблемы с версткой, некорректно работают плагины, клие...

Создаем процессорный модуль под Ghidra на примере байткода v8 В прошлом году наша команда столкнулась с необходимостью анализа байткода V8. Тогда еще не существовало готовых инструментов, позволявших восстановить такой код и обеспечить удобную навигацию по нему. Было принято решение попробовать написать процессорный модуль под фреймвор...

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

Создание собственного пакета для Laravel Nova: OptimalImage Работая над новым проектом, для администрирования которого используется Laravel Nova, я его проверил в инструментах для веб-мастеров от Google. Оказалось что некоторые фотографии на ресурсе были не оптимизированными — размер их можно было существенно сократить. Те, что идут ...

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

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

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP) Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА...

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

[recovery mode] Настройка Telegram уведомлений в pfSense Начиная с версии 2.5.0 (вышла в 2019 году) в pfSense появилась поддержка Telegram уведомлений о системных событиях. В этой статье мы пошагово рассмотрим настройку и узнаем, какого рода уведомления будут приходить в наш мессенджер. Читать далее

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

Как разделить роли в проекте на Laravel: обзорное сравнение RBAC пакетов При разработке веб-проекта, в котором есть учетные записи пользователей, зачастую встает вопрос об организации системы ролей и прав для разграничения доступов к тем или иным разделам и функциям системы. В этой статье мы сравним пакеты для управления доступом и подведем итоги...

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

Как добавить часто используемые настройки macOS в панель Dock Очень удобное решение!

Построение архитектуры социальной среды Вступление Вы все — система, которая так много знает. Вы решаете, что хорошо, а что плохо. Точно так же, вы решаете, что смешно, а что нет. Джокер (Joker) После публикации моей статьи «Социальный Организм — как форма эффективного взаимодействия команды», у меня состоялся ц...

[Перевод] Установка и правильная настройка Docker на Windows Subsystem Linux (WSL) Предварительные требования Прежде чем начать, убедитесь, что ваша система имеет примерно следующую конфигурацию: Windows 10 Version 1803 Build 1734 и выше Ubuntu for WSL 16.0.4 LTS или что-то в этом роде (ваша версия может немного отличаться) Важно, чтобы версия и сборка ...

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

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

Как быстро создать Bootstrap-сайт для бизнеса: 6 полезных инструментов Bootstrap уже много лет позволяет бизнесам по всему миру создавать адаптивные сайты с качественным UX без лишних затрат. В сегодняшней статье мы еще раз поговорим о плюсах этого фреймворка и рассмотрим некоторые полезные инструменты, которые позволят повысить его эффективн...

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

Промышленные VS офисные сети: построение, защита, подвохи, и как надежно отделить первые от вторых Привет, Хабр! Этим постом я хотел бы начать серию публикаций по промышленным решениям, которые мы сейчас активно тестируем в нашей КРОК-лаборатории. Для начала попробую разобрать основные вопросы проводных промышленных сетей и показать, чем их построение отличается от класси...

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

Поиск научных публикаций в Интернете. Часть 3. Настройка оповещений Продолжение (начало – здесь (1) и (2)) Уметь искать информацию о научных публикациях по своей тематике – хорошо. Но ещё лучше, если эта информация будет сама вас находить. Поэтому в заключительной части обзора по поиску научных публикаций я рассмотрю особенности настройки о...

Состоялся релиз новой версии Proton 5.13 для запуска Windows-игр в Linux Компания Valve выпустила новую версию проекта Proton 5.13-1, который основан на Wine и предназначен для запуска в Linux-системах игр, созданных для платформы Windows и распространяемых через Steam. Новая версия Proton переведена на Wine 5.13. Разработчики перенесли 256 патче...

Организация удаленного доступа средствами Fortinet В нынешних условиях все больше компаний задумываются, как перевести сотрудников на удаленную работу. В свою очередь мы решили им помочь и написали подробные инструкции по настройке удаленного доступа на базе решения FortiGate: Удаленный доступ с помощью IPsec VPN Удаленн...

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

Принимаем криптовалютные платежи с Coinbase Commerce Если Вы планиуете подключать криптовалютные платежи и еще не знакомы с Coinbase Commerce, стоит потратить 5 минут Вашего времени. Расскажу о подключении, настройке и поделюсь готовым open source решениями для Nodejs. Coinbase Commerce — это крипто-эквайринг без комиссий, п...

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

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

Краткие заметки embed-программиста: дублирование секции в памяти микроконтроллера Начальные условия Есть устройство на базе микроконтроллера (для примера будет взят stm32f405rgt6). При включении оно настраивает свою периферию на основе предпочтений пользователя или настроек по-умолчанию. Пользователь может менять настройки во время работы устройства (как ...

[Из песочницы] Учимся торговать на бирже. Часть первая: настройка тестового окружения В этом цикле статей создадим окружение для работы с тестовой биржей и обмена сообщениями с ней, разберёмся с основными биржевыми терминами и закрепим знания на практике. UPD: Основная цель этого цикла статей — комплексно рассмотреть устройство биржи и базовые понятия (сделк...

[Перевод] Apple Silicon: конец эры Wintel Прим. перев.: автор статьи — Жан-Луи Гассе, предприниматель, менеджер. В конце 1960-х – начале 1970-х руководил в Hewlett-Packard запуском проекта первого настольного научного компьютера. В 1981 году стал директором по европейским операциям в компании Apple Computer. В 198...

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

[Перевод] Clustergram: визуализация кластерного анализа на Python В этой статье, переводом которой мы решили поделиться специально к старту курса о Data Science, автор представляет новый пакет Python для генерации кластерограмм из решений кластеризации. Библиотека была разработана в рамках исследовательского проекта Urban Grammar и совмест...

Строим маршрутизатор в SOCKS на ноутбуке с Debian 10 Целый год (или два) я откладывал публикацию данной статьи по главной причине — мной уже были опубликованы две статьи, в которых я описал процесс создания полноценного маршрутизатора в SOCKS из самого обычного ноутбка с Debian. Однако, с тех пор стабильная версия Debian обно...

[Из песочницы] Поднимаем Django стек на MS Windows В данной статье будет представлена подробная инструкция по установке и настройке программ Apache, Python и PostgreSQL для обеспечения работы Django проекта в ОС MS Windows. Django уже включает в себя упрощенный сервер разработки для локального тестирования кода, но для зад...

Пишем простейший GitHub Action на TypeScript Недавно я решил немного привести в порядок несколько своих .NET pet-проектов на GitHub, настроить для них нормальный CI/CD через GitHub Actions и вынести всё в отдельный репозиторий, чтобы все скрипты лежали в одном месте. Для этого пришлось как следует изучить документацию,...

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

Jinja2 в мире C++, часть третья. «Теперь ты в конане» С момента публикации предыдущей части прошло больше полутора лет, была реализована большая куча фичей, сделано несколько релизов, но не об этом пойдёт речь. Пару дней назад в жизни библиотеки произошло важное событие: она была добавлена в основной репозиторий conan'а (conan...

Как настраивать диплинки: инструкция для Firebase, AppsFlyer и Facebook На связи Алексей Поддубный, iOS-разработчик AGIMA. Я расскажу, как в iOS работают диплинки, и разберу тонкости настройки популярных сервисов: где создавать ссылки с динамическими параметрами, как настраивать конфигурацию приложений и что делать после настройки. Инструкц...

[Перевод] Библиотека next-persist: преодоление разрыва между серверным рендерингом и постоянным хранением данных на клиенте Статья, перевод которой мы публикуем сегодня, посвящена next-persist — компактному и нетребовательному к ресурсам NPM-пакету. Цель его создания — упрощение обработки и реконсиляции данных, на постоянной основе хранящихся на клиенте и не имеющих критического значения. При это...

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

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

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

Как Moto Razr 2019, но с экраном наружу. И щепотка Huawei Mate X Сгибающиеся смартфоны постепенно набирают популярность. Samsung выпустила Glaaxy Fold с экраном, который складывается внутрь, Huawei пошла по другому пути, дисплей в Huawei Mate X огибает корпус в сложенном состоянии. Также на рынке есть Moto Razr 2019, а скоро выйдет и...

Что ожидается в Windows 10 версии 21H1 Вот-вот недавно вышло обновление системы Windows 10 версии 20H2, которое почти не отличается от выпущенного в первом полугодии May 2020 Update (версия 2004). Если принцип выпуска обновлений не изменится, версия Windows 10 21H1 появится весной 2021 года. Однако, слухи утвержд...

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

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

Мигель де Икаса: от Midnight Commander до Mono в .NET 5 Мигель де Икаса создал целый ряд громких проектов: GNOME, Mono, Xamarin, Midnight Commander… Для одних айтишников это человек-легенда, сделавший поразительно много для опенсорса и .NET-экосистемы. Другие ничего не знают о нём, но постоянно пользуются плодами его трудов. На...

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

Что может предложить Neovim разработчику на Scala? В сообществе фанатов текстового редактора Neovim произошло знаменательное событие — вышла версия 0.5, в которой появилось большое количество нововведений: встроенная поддержка языка Lua; экспериментальная поддержка treesitter; и, наконец, встроенный LSP клиент, позволяющи...

Mac для чайников: 30 полезных советов по macOS для новичков Далеко не всегда настройки по умолчанию делают повседневную работу с операционной системой максимально удобной и эффективной. В этом материале мы собрали 30 полезных советов по настройке macOS, которые могут пригодиться как новичкам, так и опытным пользователям Mac. ♥ ПО ТЕМ...

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

Что такое v9s, и почему потребовалось писать еще одну библиотеку валидации? Примерно год назад фронтенд нашего проекта, в качестве фреймворка для которого используется Vue.js 2, дошел до состояния, хорошо описываемого словами "проще сжечь".К тому времени наш нетипизированный корабль уже трещал по всем швам, и решено было убить сразу нескольких зайце...

Ускоренная альтернатива меню «Пуск» в Windows 10 похожа на Spotlight Компания Microsoft вскоре запустит удобный инструмент, который можно рассматривать как ускоренную альтернативу меню «Пуск» для поиска и запуска приложений.  Лаунчер PowerLauncher добавится в пакет системных утилит PowerToys, дебютировавших в прошлом го...

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

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

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

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

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

rpm-gpg-repository-mirroring — Скрипт для скачивания RPM пакетов из репозиториев, для которых нельзя сделать RPM зеркало В некоторых организациях с серверов нет доступа в интернет. В таких случаях делают зеркала основных репозиториев. Но что делать, если доступ с серверов ограничен, а нужные rpm пакеты нужно установить? Обычно используют скачивают reposync или скачивают руками и делают локальн...

Видеоигра Nioh 2 получила новое обновление 1.07 Издателем видеоигры Nioh 2 являются две компании Koei Tecmo и Sony Interactive Entertainment. Разработчики выпустили новое обновление версии 1.07. Обновление содержит дополнительные настройки сложности. Проведена корректировка нескольких миссий. Некоторые миссии стану...

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

Настраиваем экспорт IPFIX на VMware vSphere Distributed Switch (VDS) и последующий мониторинг трафика в Solarwinds Привет, Хабр! В начале июля Solarwinds анонсировал релиз новой версии платформы Orion Solarwinds — 2020.2. Одно из нововведений в модуле Network Traffic Analyzer (NTA) — поддержка распознавания IPFIX-трафика от VMware VDS. Анализ трафика в среде виртуального коммутатора ...

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable...

[Из песочницы] Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer. Angular — отличный фреймворк. Мы все его любим <3. Одна из вещей, которая делает Angular успешным и прекрасным в...

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

[Перевод] Как сделать интерактивную карту с помощью Python и open source библиотек Сегодня делимся с вами пошаговым руководством создания интерактивных карт для веб-приложения или блога. Просто сохраните эту статью в закладках. Хоть и существует, например, библиотека d3.js, которая может создавать пользовательские карты, есть несколько инструментов еще пр...

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

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

Опубликован релиз Sequoia 1.0, реализации OpenPGP на языке Rust Спустя три года после начала разработки опубликован релиз Sequoia 1.0. Это реализация OpenPGP на языке Rust, содержащая обширную библиотеку функций и инструментарий командной строки. Релиз опубликован после того, как разработчики закончили работу над низкоуровневым API — в ...

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

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

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

[Перевод] Валидация параметров конфигурации Spring Boot при запуске Одним из важных шагов для обеспечения возможности настройки программных приложений является эффективное управление конфигурацией. Современные платформы предоставляют готовые функции для вывода параметров конфигурации. Для некоторых параметров конфигурации имеет смысл не зап...

Как редактировать конфиг через Web-GUI для Haproxy (и не только) О том, как написать Web GUI для HAProxy, мы уже говорили в двух статьях (1 и 2). С момента публикации последней статьи прошёл год; сейчас, по прошествии времени, очевидно, что о многих вещах (важных и полезных) мы так и не рассказали подробно.  Сегодня мы возвращаемся н...

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

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

[Из песочницы] Создаем аудиовизуальный VR-опыт с применением A-Frame и Tone.js Привет, Хабр! Представляю вашему вниманию перевод статьи «Creating A VR Audio/Visual Experience On the Web With A-Frame and Tone.js» автора Sean Sullivan. A-Frame — это фреймворк для создания виртуальной реальности в вебе. Используя лишь ссылку, любой человек с VR-шлемом ...

Apple добавила рекомендуемые российские приложения в App Store Apple добавила рекомендуемые российские приложения в App Store. Теперь при первичной настройке нового смартфона пользователи будут получать уведомление с пожеланием установить эти программы на новые iPhone. Подробнее об этом читайте на THG.ru.

Использование Obj библиотек в KolibriOS в языках высокого уровня Вступление В KolibriOS системные библиотеки имеют формат MS COFF и расширение Obj. В этой статье будет рассказано как их импортировать и использовать в C--, GCC и TinyC. Читать дальше →

Apple выпустила обновление для macOS 10.15.5 Catalina Apple выпустила обновление для macOS 10.15.5 Catalina. Новое обновление добавляет функцию управления работы аккумулятора - Battery Health Management. Новая функция позволит продлить срок службы ноутбуков Mac. Также была добавлена настройка калибровки для Pro Display XDR. П...

В Windows 10 вернулась одна из удобных особенностей Windows 7 Компания Microsoft без особого шума восстановила в операционной системе Windows 10 функцию «эры Windows 7». На это обратил внимание тематический ресурс WindowsLatest.  В выпущенном на прошлой неделе обновлении Windows 10 (сборка 19041.450) появилась ст...

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

[Перевод] Почему стоит использовать exa вместо привычной консольной утилиты ls Изображение: Opensource.com Цель автора статьи — показать, что exa может легко заменить стандартную утилиту ls. И более того, в сравнении с ls, exa — более гибкий и мощный инструмент. Стараясь сэкономить время и силы, мы автоматизируем часто повторяющиеся и сложные операц...

Overlay и underlay сети на службе платформы виртуализации VMmanager Всем привет, меня зовут Александр Гришин, и я работаю product manager в компании ISPsystem. И сегодня хочу рассказать об интересной разработке нашей компании — схеме сети IP-Fabric на основе BGP в платформе виртуализации VMmanager. Осенью прошлого года мы добавили новую...

Более 100 кириллических шрифтов для вашего сайта в обновленном конструкторе сайтов «Кандинский» Поменять все шрифты сайта, не выходя из админки. Команда «Теплицы социальных технологий» выпустила новую версию бесплатного конструктора сайтов для НКО «Кандинский» с возможностью изменения шрифтов из административной панели. В версию 1.4 также вошли исправления ошибок и...

MASK-RCNN для поиска крыш по снимкам с беспилотников В белом-белом городе на белой-белой улице стояли белые-белые дома… А как быстро вы можете найти все крыши домов на этой фотографии? Все чаще можно слышать про планы правительства провести полную инвентаризацию объектов недвижимости с целью уточнения кадастровых данных. Для...

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

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

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

Как проверить IPS? Infection Monkey vs Check Point Три года назад мы публиковали статью “Online инструменты для простейшего Pentest-а”. Там мы рассказали про доступные и быстрые способы проверки защиты вашего периметра сети с помощью таких инструментов как Check Point CheckMe, Fortinet Test Your Metal и т.д. Но иногда треб...

Укрощение Горыныча 2, или Символьное исполнение в Ghidra С удовольствием и даже гордостью публикуем эту статью. Во-первых, потому что автор — участница нашей программы Summ3r of h4ck, Nalen98. А во-вторых, потому что это исследовательская работа с продолжением, что вдвойне интереснее. Ссылка на первую часть. Добрый день! Прошлого...

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

Настраиваем и автоматизируем развёртывание Active Directory В этой статье я бы хотел предложить вам пошаговый туториал по развёртыванию контроллера домена Active Directory на Windows Server 2016 (с графической оболочкой), а также по вводу рабочей станции в получившийся домен. Чем этот туториал может выделиться на фоне других: Вмест...

[Перевод] Управляем сетевыми подключениями в Linux с помощью консольной утилиты nmcli Используйте все возможности инструмента управления сетевыми подключениями NetworkManager в командной строке Linux c помощью утилиты nmcli. Утилита nmcli напрямую обращается к API для доступа к функциям NetworkManager. Она появилась в 2010 году и для многих стала альтерна...

Как я перенес dedic.ru на github pages и остался доволен Когда-то давно я достаточно плотно занимался организацией разного рода хостингов. В техническом плане, конечно — настройка серверов, конфигурация панелей управления и прочими сопутствующими штуками. Затем у меня возникла идея записывать разные решения и умные мысли на сайте,...

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

[Перевод] Автоматизация семантического управления версиями с помощью Maven (SemVer GitFlow Maven) Вы используете семантический подход к управлению версиями? Вы используете gitflow? Скорее всего, вы знакомы с процессом корректировки версий, создания веток, слияния с master/dev, повторной корректировки версий, борьбы с конфликтами слияния,… В этой статье я кратко объясню п...

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

Любимая многими Google Camera стала заметно удобнее для видеороликов Компания Google выпустила полезное обновление для приложения популярного приложения Google Camera (Google Камера). Оно особенно пригодится тем, кто любит снимать видеоролики.  В Google Camera 8.2.204 пользователь может начать записывать ролик, оставляя руки свобод...

[Перевод] Vulkan. Руководство разработчика. Настройка окружения Я переводчик ижевской компании CG Tribe и здесь я буду публиковать перевод руководства к Vulkan API. Ссылка на источник — vulkan-tutorial.com. Это моя вторая публикация, которая посвящена переводу раздела Development Environment. Содержание ...

[Перевод] Мейнтейнер популярнейшей JS-библиотеки приговорен к тюремному заключению за смертельное ДТП по его вине Мы в TestMace активно следим за судьбой проектов, значимых для js сообщества, в частности core-js. И, по нашему мнению, резонансное событие, описанное в статье, не получило должного освещения на хабре. Что ж, мы решили исправить это дело и публикуем перевод статьи, кратко пе...

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

[Перевод] Удобная платформа для подбора библиотек и фреймворков JavaScript — openbase Что за зверь? openbase.io «Находите и сравнивайте пакеты с открытым исходным кодом с отзывами пользователей, категоризацией и беспрецедентной информацией о популярности, надежности, активности пакетов и многом другом» Думаю, сейчас во многих языках программирования есть...

nanoCAD Геоника. Модуль «Генплан»: отрисовка и создание проездов в поверхности  Эта статья открывает цикл публикаций по отрисовке и созданию проездов с помощью программного продукта nanoCAD Геоника.Важность отрисовки проездов объясняется необходимостью корректного отображения проездов на 3D-модели рельефа, при построении профилей инженерных сетей,...

PDFelement – отличный PDF редактор (Mac) События последних месяцев привели к тому, что многие люди начали работать удаленно. Однако далеко не все могут быстро перестроиться под новый формат. Дополнительные сложности заключаются в отсутствии удобных инструментов. Например, пользователи «путаются» в форматах текстовы...

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим к...

Рулим дотфайлами. Как быстро повысить комфорт в любом Linux или WSL Для подписчиковМне часто приходится разворачивать свою рабочую среду (в частности, Kali Linux) на новых машинах: на железе, на виртуалках, снова на железе... В какой-то момент эта рутина мне надоела. В этой статье я расскажу о том, как можно организовать хранение своих дотфа...

[Из песочницы] Ранжирование округов Москвы по стоимости аренды с Python Сейчас программирование все глубже и глубже проникает во все сферы жизни. А возможно это стало благодаря очень популярному сейчас python’у. Если еще лет 5 назад для анализа данных приходилось использовать целый пакет различных инструментов: C# для выгрузки (или ручки), Excel...

Выявление аномалий в микросервисной архитектуре — обзор инструментов для DevOps и SRE Всем привет. Сегодня мы хотели бы поговорить про выявления аномалий в микросервисной среде. Данный пост является краткой выжимкой нашего 40 минутного доклада, который мы делали на онлайн конференции DevOps Live 2020 и, чтобы не писать лонгрид, мы решили сфокусироваться на об...

Как настроить мониторинг бизнес-процессов в БД Oracle и построение графиков, используя бесплатную версию Grafana Настройка мониторинга процессов в Oracle с выводом графиков в Grafana через simple-json-plugin, и веб-сервис на php (oci8 library) Читать далее

IT в тюрьме. Письма в неволю и из неволи В одной из прошлых статей (https://habr.com/ru/company/unidata/blog/570118/) мы подробно рассказали о неприятной ситуации, в которой оказались наши коллеги, и дали целый ряд практических советов относительно того, как себя вести, когда «к тебе пришли». Статья вызвала настоль...

Менеджер паролей с GPG шифрованием: настройка PASS на iOS + Git Наверняка многим из вас знакомы работы Филиппа Циммерманна, а в частности, самая известная из них — PGP (Pretty Good Privacy — Почти Полная Конфиденциальность), опубликованная в далеком 1991 году. Изначально PGP как пакет программного обеспечения предназначался для шифровани...

Проекты Центра разработки Intel в России. Intel Integrated Performance Primitives Наш рассказ об очередном проекте Intel, сделанном в России. Это библиотека Intel Integrated Performance Primitives – набор готовых к употреблению, высоко оптимизированных под различные архитектуры Intel, к тому же совершенно бесплатных базовых функций для работы с изображени...

Сборка образа Windows Server 2019 с обновлениями c помощью packer и ansible в Yandex Cloud Зачем собирать образ с помощью Packer? Время создания инстанса из готового образа значительно меньше, чем время, которое нужно затратить с нуля на подготовку виртуальной машины к работе. Это достаточно критичный момент, так как порой очень важно ввести в работу новый инстан...

Как совладать со сложностью распределённой системы. Мониторинг GridGain при помощи Control Center Представим, что вам нужно настроить мониторинг распределённой базы данных, такой как GridGain. Метрики положим в Prometheus. Графики нарисуем в Grafana. Про систему оповещения не забудем – для этого настроим Zabbix. Для анализа трейсов воспользуемся Jaeger. Для управления со...

Как отключить появление обновлений бета-версий macOS на Mac С выходом macOS Sierra компания Apple запустила публичное тестирование своей десктопной платформы, к которому можно присоединиться в два клика буквально любому из желающих. ♥ ПО ТЕМЕ: Как создать расписание режимов сна и автоматического включения Mac. К пользователям, испыты...

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

[Перевод] Целительная сила JavaScript Чуть меньше года назад, когда по всему миру начали распространяться локдауны в связи с Covid-19, большинство людей начало запасаться туалетной бумагой и консервами. Но лично я стремился получить нечто другое: реализовать функцию поиска. Цель функции поиска была не особо ва...

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

Новая функция собраний в Windows 10 доступна для большего числа пользователей С появлением бесплатных инструментов для видеоконференцсвязи Microsoft все активнее продвигает функцию Skype Meet Now во всех своих продуктах. В предварительных сборках Windows Insider недавно была добавлена аналог функция Zoom на панели задач, и та же функция Meet now тепер...

Настройка GeoIP ACL в HAProxy в два шага Hello Planets by Augustinas Raginskis Иногда возникает задача управления трафиком в зависимости от географического положения клиента. Возможные области применения — блокировка некоторых локаций либо перенаправление трафика на итоговый сервер в зависимости от локации клиент...

EA может использовать ИИ для корректировки сложности игры Компания Electronic Arts опубликовала патент, который может исключить настройку сложности в играх.

Официально: Google закрывают Google Play Music в декабре этого ... Уже несколько месяцев ведутся разговоры о том, что совсем скоро Google Play Music перестанет существовать, и его место займет YouTube Music. Несмотря на надежды фанатов, что эти новости могут оказаться слухами, Google все подтвердил – проект будет закрыт в декабре 2020...

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

Обновление дизайна WinUI для Windows 10 все еще готовится к запуску в следующем году Как вы помните, WinUI 3 – это обновленный пользовательский интерфейс, и он станет основным компонентом долгожданного обновления дизайна Windows 10. WinUI также важен для Microsoft Project Reunion, цель которого – привнести современные API-интерфейсы и функции UWP в настольны...

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

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

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

iOS 14 страдает от старой проблемы Windows Компания Apple внесла много изменений в интерфейс своей мобильной платформы с запуском iOS 14 пару недель назад. Однако пользователям понравились далеко не все из них.  На проблемы с «непоследовательными» изменениями интерфейса и не в тех местах, где т...

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

Практика создания единого шаблона проектов на базе Azure DevOps (TFS) В одной из прошлых статей мы писали, как всей компанией перешли на единый трекер на базе Azure DevOps (TFS). Это позволило нам создать единый свод правил для ведения проектов. Рассказываем, как наш проектный офис разработал логику, по которой сейчас работают все наши команды...

Групповые политики (GPO) Active Directory: разбираемся почему это важно и как ими управлять в GPOAdmin Групповая политика — важный элемент любой среды Microsoft Active Directory (AD). Её основная цель — дать ИТ-администраторам возможность централизованно управлять пользователями и компьютерами в домене. Групповая политика, в свою очередь, состоит из набора политик, называемых...

Как пройти финальный уровень JS QA Game от SEMrush Привет, меня зовут Тимур, и я написал QA Game от SEMrush. Вы могли слышать об этой игре, если участвовали в Heisenbug online или видели анонсы игры в Telegram-чатах для тестировщиков. Если коротко, то в QA Game нужно проходить уровни с нарастающей сложностью и отлавливать ба...

Виджеты и библиотека приложений в iOS 14 навсегда изменят экран вашего iPhone Главный экран iPhone практически не менялся со времени дебюта iPhone 13 лет назад. Он представлял собой простую сетку иконок и оставался таким же вплоть до выхода iOS 13 (где в iPad впервые появились виджеты). В iOS 8 Apple добавила поддержку виджетов, хотя снова по своему ...

[Перевод] 10 советов как повысить продуктивность, используя инструменты разработчика Chrome В этой статье я представляю десять советов по работе с инструментами разработчика Chrome, которые помогут повысить вашу продуктивность и вывести её на новый уровень. Читать далее

Эксперименты с микроконтроллерами в Jupyter Notebook Jupyter Notebook — любимый инструмент-среда для data scientist'ов, аналитиков, инженеров, математиков, студентов и даже для нас — самых обычных ученых в экспериментальной физике. Этот инструмент предназначен для работы с интерпретируемыми языками и удобного графического пре...

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

[Из песочницы] Электронная почта и работа с ней в Java-приложениях Disclaimer Статья написана для новичков и тех, кому хочется шаг за шагом понять как устроена работа с электронной почтой из Java-приложений. Желающие быстро понять как отправлять электронные письма из Spring-приложений могут сразу переходить к 3 части. Эту статью я решил нап...

Антикризисные стратегии настройки интернет-рекламы: лайфхаки, методы, чеклист настроек Программа вебинара 11:00 — 11:05 Наливаем себе кофе, устраиваемся поудобнее 11:05 — 11:50 Управляем интернет-рекламой с максимальной эффективностью с помощью автоматизации: Пока не стало поздно: оперативно реагируем на негативные измен...

Cortex и не только: распределённый Prometheus В последнее время Prometheus стал де-факто стандартом для сбора и хранения метрик. Он удобен для разработчиков ПО - экспорт метрик можно реализовать в несколько строк кода. Для DevOps/SRE, в свою очередь, есть простой язык PromQL для получения метрик из хранилища и их визуа...

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

Автоматизация HotFix в Maven проектах с использованием TeamCity В этом посте будет описана настройка автоматизации HotFix в Maven проектах с использованием Teamcity. Чтобы сделать HotFix обычно делается много ручных действий: 1) Создать бранч для релиза, на который вы хотите выкатывать HotFix 2) Исправить ошибку в релизе 3) Измененить bu...

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

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

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

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

Опыт организации продуктовой команды: часть 2 Опубликована запись вебинара"Опыт организации продуктовой команды: часть 2" — это продолжение разговора о построении продуктовой команды разработки ПО на основе реальных кейсов из консалтинговой практики Cleverics. Первую часть, в которой разбирался реальный кейс ...

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

Tutorial: как портировать проект с Interop Word API на Open XML SDK С выходом .NET5 дальнейшее развитие некоторых проектов оказалось под вопросом из-за сложности портирования. Если от небольших устаревших библиотек можно отказаться или найти им замену, то от зависимости Microsoft.Office.Interop.Word.dll очень сложно отказаться. Microsoft не ...

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

[Из песочницы] Защита вашего GraphQL API от уязвимостей Привет, Хабр! Представляю вашему вниманию перевод статьи Protecting Your GraphQL API From Security Vulnerabilities. GraphQL быстро становится выбором разработчиков, которым необходимо создать API для своего клиентского приложения. Но, как и все новые технологии, GraphQL подв...

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

Внедрение Multicast VPN на Cisco IOS (часть 2 — mLDP) В прошлой статье мы познакомились с Вами с исторически первым способом организации построения multicast VPN с помощью технологий PIM и mGRE (Часть 1, Profile 0). На сегодняшний день существуют альтернативы запуску P-PIM в опорной сети. В частности, для организации многоадрес...

Netflix объявил о скором выходе GTA 6, но не спешите радоваться Самый популярный потоковый видеосервис Netflix на своей французской страничке в социальной сети Twitter объявил о скором выпуске шестой части Grand Theft Auto. Сначала на страничке Netflix было оставлено сообщение следующего содержания: «В общем, Grand Theft Auto ...

[Перевод] Настраиваем простой VPN с WireGuard и Raspberry Pi в качестве сервера Поскольку WireGuard станет частью будущего ядра Linux 5.6, я решил посмотреть, как лучше всего интегрировать этот VPN с моим LTE-маршрутизатором/точкой доступа на Raspberry Pi. Оборудование Raspberry Pi 3 с модулем LTE и публичным IP-адресом. Здесь будет VPN-сервер (далее ...

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

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

Создаем и запускаем в облаке мощный и главное бесплатный сервер Minecraft Пару месяцев назад, когда Oracle представила в своем публичном облаке двухсокетные серверы с 80-ядерными ARM-процессорами, в англоязычном блоге Тодда Шарпа появилась статья о том, как запустить сервер Minecraft в облаке. Теперь, когда Oracle добавил эти процессоры в Always F...

Мини ITX кластер Turing Pi 2 c 32 GB RAM Приветствую сообщество Хабра! Недавно я писал про нашу кластерную плату первой версии [V1]. И сегодня хочу рассказать как мы работали над версией Turing V2 с 32 GB оперативной памяти. Мы увлекаемся мини серверами которые можно использовать как для локальной разработки та...

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

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

Как мы выбирали библиотеку машинного обучения для работы с естественным языком В ОТР стояла задача автоматизировать работу с обращениями в техническую поддержку пользователей ГИИС «Электронный бюджет». Для решения задачи мы решили привлечь искусственный интеллект, но сложность состояла в ограничении времени для разработки решения. Читать далее

Kivy. Сборка пакетов под Android и никакой магии Во вчерашней статье Python в Mobile development, в которой речь шла о библиотеке KivyMD (коллекции виджетов в стиле Material Design для использования их в кроссплатформенном фреймворке Kivy), в комментариях меня попросили рассказать о процессе сборки пакета для платформы A...

В поиске вопросов, или как создать новый отладчик Мы уделяем много внимания инструментам разработки: участвуем в горячих спорах о редакторах (Vim или Emacs?), долго настраиваем IDE под свой вкус, и тщательно выбираем языки программирования и библиотеки, которые с каждым днем становятся все лучше и удобнее. Однако, здесь мож...

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

26 шагов SEO-настройки для нового сайта: что учесть, чтобы не переделывать Ольга Топал, Middle SEO specialist, BoostaSEO - это не так страшно, как кажется. А базовое SEO – еще проще. Правильная базовая SEO-настройка молодого сайта уже принесет результаты. Не каждый ваш конкурент оптимизирует свой сайт на 100%. Поэтому, если вы оптимизируете сайт пр...

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

Крупное обновление Windows 10 доступно избранным для загрузки Компания Microsoft выпустила образы диска (файл ISO) следующего крупного обновления операционной системы Windows 10 и теперь оно доступно для чистой установки. Небольшой подвох — пока образы доступны для участников программы тестирования  Windows 10 Insi...

[Перевод] Представляем PyCaret: открытую low-code библиотеку машинного обучения на Python Всем привет. В преддверии старта курса «Нейронные сети на Python» подготовили для вас перевод еще одного интересного материала. Рады представить вам PyCaret – библиотеку машинного обучения с открытым исходным кодом на Python для обучения и развертывания моделей с учителем...

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

Как создать виджет для iOS 14 (и не удалить его у пользователей при обновлении) Одно из нововведений в iOS 14 — виджеты. Мы стали готовиться к этому событию задолго до официального релиза, чтобы они появились у пользователей приложения Яндекс уже на старте. В этом посте я расскажу об опыте разработки виджетов в условиях нестабильного бета-окружения, не...

Google Analytics 4 добавил возможность настраивать время ожидания для сеансов Новое в Google Analytics 4: настройка тайм-аута сеанса

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

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

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

Современные решения для построения систем информационной безопасности — брокеры сетевых пакетов (Network Packet Broker) Информационная безопасность отделилась от телекоммуникаций в самостоятельную отрасль со своей спецификой и своим оборудованием. Но есть малоизвестный класс устройств, стоящий на стыке телекома и инфобеза – брокеры сетевых пакетов (Network Packet Broker), они же балансировщик...

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

readable — еще один линтер для PHP Хочу представить линтер для PHP readable. Сейчас в нем 16 правил, которые должны улучшить читабельность кода. К основным преимуществам можно отнести: скорость — меньше секунды на 1000 файлов настройка baseline — можно не исправлять все ошибки в проекте сразу, а создать конф...

Как сделать работу с Microsoft Remote Desktop лучше Хочу поделиться несколькими советами по настройке удаленного подключения к рабочим местам по RDP. Расскажу как проапгрейдить древний RPC-HTTP до UDP, похвалю и поругаю Windows 10 и AVC, разберу решение нескольких типичных проблем. Считаем, что для подключения используется...

Пишем свой dependency free WebSocket сервер на Node.js Node.js — это популярный инструмент для построения клиент-серверных приложений. При правильном использовании, Node.js способен обрабатывать большое количество сетевых запросов, используя всего один поток. Несомненно, сетевой ввод — вывод является одной из сильнейших сторон ...

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

Запускаем свой RTMP сервер для стриминга Иногда YouTube или Twitch не подходят как стриминговая платформа — скажем, если вы пилите портал с вебинарами или контентом 18+, нарушаете авторские права или хотите максимально отгородить свою трансляцию от остального интернета. У них есть много альтернатив как в виде сер...

Интеграционные тесты для Хранилища Данных – Настраиваем Slim CI для DWH Привет! На связи Артемий – Analytics Engineer из Wheely.В условиях постоянно растущей сложности аналитических инструментов и распределенной команды не просто возможно, но и необходимо повышать скорость поставки (T2M) и качество (Quality) выводимого в продуктив функционала. Ф...

Трепещущий Kivy. Обзор возможностей фреймворка Kivy и библиотеки KivyMD Kivy и Flutter — два фреймворка с открытым исходным кодом для кроссплатформенной разработки. Flutter: создан компанией Google и выпущенный в 2017 году; в качестве языка программирования использует Dart; не использует нативные компоненты, рисуя весь интерфейс внутри со...

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

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

Мой MikroTik – моя цифровая крепость (часть 2) Статья является продолжением первой части, посвящённой организации практической безопасности сетей, построенных на оборудовании MikroTik. До этого уже даны общие рекомендации по настройке оборудования, а также подробно рассмотрены вопросы безопасности L1 и L2 уровней. В тек...

Автоматизируем сервис-воркер с Workbox 6. Доклад в Яндексе «Задеплоил сервис-воркер — нужно покупать новый домен», — известная шутка о том, как сложно писать собственную логику кеширования. С приходом шестой версии библиотеки Workbox для прогрессивных веб-приложений (PWA) больше не нужен компромисс между гибкостью и удобством автома...

[Перевод] Заменяем Redux c помощью Observables и React Hooks Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназн...

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

[Перевод] 7 расширений для VS Code, установив которые, вы не захотите выходить из редактора …Даже простейшие инструменты могут давать людям возможность делать великие дела. Биз Стоун, «Решайся! Заряд на создание великого от основателя Twitter» Одно из различий между очень хорошими и хорошими программистами заключается в том, какие инструменты они используют. Подбо...

Nuke: настраиваем сборку и публикацию .NET-проекта В настоящее время существует множество систем CI/CD. У всех есть определенные достоинства и недостатки и каждый выбирает себе наиболее подходящую под проект. Цель данной статьи - познакомить с Nuke на примере web-проекта, использующего уходящий на покой .NET-Framework с приц...

[Перевод] Профессиональное применение инструментов разработчика Chrome: 13 советов Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться советами по профессиональной работе с инструментами разработчика браузера. А именно, эти советы рассчитаны на программистов, которые по какой-то причине решили, что их основным браузером будет Google Chrome...

Головоломки Tech Monsters Night Совсем недавно М.Видео-Эльдорадо в рамках хакатона Tech Monsters Night предложили всем желающим стать участниками интеллектуальной битвы, решив серию головоломок. Итоги состязания известны, победители получили свои заслуженные призы. Тем не менее, в комментариях к итогов...

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

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

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

Как мы делали инструмент для QA, а сделали для всего техотдела Как-то очень давно наш отдел автоматизации внутренних процессов посетил админ (ops) с идеей помочь нашим тестировщикам. Основная идея был упростить деплой т.к. было очень неудобно писать ручные curl запросы к gitlab'у с кучей меняющихся параметров. Так заставили нас наша ком...

[Перевод] Управление несколькими JDK в Mac OS, Linux и Windows WSL2 И снова здравствуйте. В преддверии старта курса «Разработчик Java» подготовили для вас перевод интересной статьи. Если вам, как и мне, приходится одновременно работать с несколькими проектами (как с легаси, так и с современными), а возможно, вы разрабатываете какую-то библ...

Engine-version — npm пакет, который позволит задать корректное окружение разработки Некоторые проекты зачастую требуют специфичные версии локально установленных программ. Это может быть как определенная версия node.js или npm (например, npm@7 с поддержкой workspaces), так и определенная база данных, менеджер пакетов и другие утилиты, которые нельзя установи...

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

Как я не стал продакт-менеджером после обучения в Product Univercity Морейниса и Черника Всем привет. Решил написать свою первую статью на VC, но главреда меня забанил, потому что я попросил поставить плюсики друзей, а перед этим три раза дешёвая рабочая сила снимала мою публикацию по каким-то неведомым причинам, и описать свой опыт поиска работы продакт-менедж...

Настройка Microsoft Windows Server 2016/2019 для предоставления DHCP сервисов для VXLAN (DFA) Назначение этой статьи – упростить настройку DHCP сервиса для фабрики VXLAN BGP EVPN and DFA с использованием Microsoft Windows Server 2016/2019. В официальной документации DHCP сервис на базе Microsoft Windows Server 2012 для фабрики настраивается как SuperScope, содержащ...

[Из песочницы] Turing Pi — кластерная плата для self-hosted приложений и сервисов Turing Pi это решение для self-hosted приложений построенное по принципу rack стоек в дата центре, только на компактной материнской плате. Решение ориентировано на построение локальной инфраструктуры для локальной разработки и хостинга приложений и сервисов. Вообщем это ка...

[Из песочницы] Частотный анализ русского текста и облако слов на Python Частотный анализ является одним из сравнительно простых методов обработки текста на естественном языке (NLP). Его результатом является список слов, наиболее часто встречающихся в тексте. Частотный анализ также позволяет получить представление о тематике и основных понятиях т...

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

[Перевод] Работа с библиотеками KTX Когда вы используете Android Java API в Kotlin, к вам достаточно быстро приходит понимание, что вам не хватает некоторых фич Kotlin, которые делают написание кода намного проще и приятнее. Вместо того, чтобы писать свои собственные обертки и функции расширения для этих API, ...

Модерация текста: уроки этикета от Data Scientist’a Привет, Хабр! С этой статьи мы начинаем публикацию серии статей про Data Science задачи, которые мы решаем в Центре Развития Финансовых Технологий Россельхозбанка. В прошлом году Россельхозбанк объявил о создании и развитии экосистемы для предприятий агропромышленного ...

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

В мобильном Chrome появилась настраиваемая кнопка в панели адреса Компания Google начала тестировать интересное новшество для мобильного браузера Chrome для Android — настраиваемую кнопку на верхней панели, где также располагается строка поиска (она же адресная строка).  Google на днях добавила у некоторых пользователей в ...

Сторонним разработчикам стал доступен комплект Sony Camera Remote SDK 1.01 Компания Sony на этой неделе сообщила о выпуске версии 1.01 комплекта для разработки программного обеспечения (SDK) Camera Remote. Обновление расширяет функциональность SDK и делает его более универсальным. В частности, по словам Sony, новый SDK обеспечивает улучшенную...

Настройка Gmail API для замены расширения PHP IMAP и работы по протоколу OAuth2 Оказавшись одним из счастливчиков, совершенно не готовым к тому, что с 15 февраля 2021 года авторизация в Gmail и других продуктах будет работать только через OAuth, я прочитал статью "Google хоронит расширение PHP IMAP" и загрустил начал предпринимать действия по ...

Простой Web-доступ к VI приложениям LabVIEW в PHP через ActiveX Server В LabVIEW уже много лет существует возможность «прикрутить» Web к VI приборам без каких-либо сложных настроек публикации и серверов со стороны LabVIEW, используя только втроенный сервер ActiveX. Не является исключением и LabVIEW 2020 Community edition. Читать дальше →

[Перевод] Альтернативы Redux в 2021 году Предположим, вы создаёте или планируете создать React-приложение и вам нужен некий механизм для управления состоянием этого приложения. Если так — это значит, что вам есть из чего выбирать. В сфере инструментов для управления состоянием React-приложений, после её взрывного р...

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

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

[Перевод] С нуля до автоматизации контейнеров за 7 минут В статье ранее (на португальском) я рассказал, как создать полнофункциональный бэкенд GraphQL, используя только образ Docker и файл конфигурации. Все это можно найти на сайте Azure. А сейчас давайте поговорим о том, как автоматизировать развертывания, созданные для нашего хо...

Проводим нагрузочное тестирование скоростных USB-библиотек для STM32F103C8T6 В предыдущей статье я показывал предельную скорость шины USB у микроконтроллера STM32F103 со штатной библиотекой MiddleWare. В комментариях мне показали сразу две самодельных библиотеки, выжимающих из USB FS все соки. Но автор одной из библиотек высказал мысль, что быстро-то...

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

Micro Property — минималистичный сериализатор двоичных данных для embedded систем. Часть 2 Некоторое время назад я опубликовал свою статью о разработке велосипедного велосипеда, в которой описал причины, побудившие меня этим заняться. Если вкратце, то мне была нужна миниатюрная библиотека для микроконтроллеров с сериализатором двоичных данных и последующей переда...

Киоск Raspberry Pi для графического интерфейса на Kivy Привет, Хабр! Хочется поделиться опытом настройки Raspberry Pi 3B+ в качестве киоска с GUI на базе библиотеки Kivy для Python 3. Почему именно Kivy? Просто мы уже имеем продукт, разработанный на Python, нам бы хотелось добавить к нему графический интерфейс. Стоит отметить, ...

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

Зачем вам чужие ошибки? Исправляем уязвимости в сторонних библиотеках Любое ПО содержит уязвимости, причем они появляются на разных этапах его жизненного цикла. Полностью избавиться от уязвимостей в коде достаточно сложно, но можно, как минимум, сократить их количество. Для этого используются средства SAST, DAST и IAST – статический, динамичес...

Новая версия СЭД «ДЕЛО» 19.6 – удобнее, быстрее, безопаснее Компания ЭОС официально объявила о выходе новой версии СЭД «ДЕЛО» 19.6. Система «ДЕЛО» -- одно из наиболее востребованных и популярных решений на рынке систем документооборота, обеспечивает все необходимое для автоматизации работы с документами, задачами и процессами их об...

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

[Перевод] REST API на Java без фреймворков Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В экосистеме Java есть много фреймворков и библиотек. Хотя и не так много, как в JavaScript, но они и не устаревают так быстро. Тем не менее, это заставило меня задуматься о том, что мы уже забы...

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

Настройка LDAP в Oracle BI В статье описана простая настройка LDAP для аутентификации и авторизации пользователей. 1. Перейдете по ссылке Oralce bi которая открывает console(http://адрес: порт/console), используя учетную запись администратора (по умолчанию weblogic). Нажмите на Security Realms -> ...

Как быстро и удобно документировать Angular проект с помощью модуля AddOnDoc из TaigaUI Не так давно вышла новая библиотека компонентов Taiga UI. Как говорят сами создатели Александр Инкин и Роман Седов, это конструктор Lego. И действительно: в нём есть много полезных модулей, которые можно использовать в своём проекте. В этой статье мы рассмотрим модуль AddOnD...

В Google Chrome станет намного удобнее платить. Появится поддержка биометрии Компания Google интегрировала Windows Hello для автозаполнения платёжных форм и аутентификации в браузере Chrome пару месяцев назад. Теперь стало известно, что биометрическая аутентификация скоро появится не только в Windows, но и Android, а также, возможно, Chrome OS, ...

[Перевод] Автоматические скриншоты iOS с помощью XCTestplan и XCode 11 В Райффайзенбанке несколько мобильных приложений, которые должны работать на самых разных девайсах и операционных системах, поэтому мы стараемся автоматизировать рутинные процессы в тестировании. Эта статья показалась нам полезной, и мы решили ее перевести. foto source: u...

Более удобная разработка 64-битного графического UEFI приложения В предыдущей статье «Разработка 64-битного графического UEFI-приложения в Visual Studio 2019» VS задействовался лишь в двух аспектах: как редактор для кода — «продвинутый Блокнот» — и как отладчик для скомпилированного приложения. Всё остальное — управление зависимостями, н...

[Перевод] Вам не нужны ни PWA, ни AMP, чтобы ваш сайт загружался быстро Знаменитая страничка Airbnb на 800Kb. Я ожидал бы большей заботы о производительности от 900+ разработчиков со средней зарплатой 290 000 долларов в год. Даже SublimeText в какой-то момент перестает выделять эту чушь. В сети появилась тенденция к появлению новых «революцио...

От Threat Modeling до безопасности AWS: 50+ open-source инструментов для выстраивания безопасности DevOps Привет, Хабр! Я консультант по информационной безопасности в Swordfish Security по части выстраивания безопасного DevOps для наших заказчиков. Я слежу за тем, как развивается тенденция развития компаний в сторону DevSecOps в мире, пытаюсь транслировать самые интересные практ...

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

[Перевод] Сделаем худший Vue.js в мире Некоторое время назад я опубликовал похожую статью про React, где с помощью пары строк кода мы создали крошечный клон React.js с нуля. Но React — далеко не единственный инструмент в современном фронтенд-мире, Vue.js стремительно набирает популярность. Давайте разберемся, как...

Восстановить контроллер домена Active Directory из пепла: вебинар по Quest Recovery Manager Ошибки иногда случаются. Active Directory (AD) может понести утрату, если администратор в душевном порыве случайно что-то удалит или выполнит массовое обновление, которое приведёт к нежелательным результатам. Восстановление может растянуться на часы или даже дни и, как следс...

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

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

Обновленный LibreOffice 7.1: корпоративный пакет — отдельно, редакция для комьюнити — отдельно Источник Офисный пакет LibreOffice 7.1, поддерживаемый The Document Foundation, получил очередное обновление. ПО готово для установки для дистрибутивов Linux, Windows и MacOS. Обновление пакета — совместная работа курирующих проект компаний и членов комьюнити. Большую часть...

Учёт собственных публикаций Если вы используете публикации на различных сайтах и в СМИ как один из инструментов продвижения, то рано или поздно перед вами возникнет вопрос их систематизации. Тогда же появляется и обратная связь, которая обычно включает в себя: просмотры; комментарии с разным эмоционал...

О ходе создания русской народной игры «Колобок» в феврале Создание "Колобка" началось для меня 13-го февраля, когда я решил по совету коллеги глянуть инструмент GDevelop. Через неделю я уже опубликовал статью, в которой призывал всех неравнодушных присоединиться. Рассказываю, что произошло с проектом за прошедшие две нед...

Межсетевой прокси: Доступ в Интернет, Tor, I2P и другие сети через Yggdrasil Путешествуя по обычному интернету мы не задумываемся над доменными зонами: ru, com, org и так далее, потому что все они открываются одинаково. Однако, настроив браузер для открытия сайта в сети I2P, вы не откроете onion-домен из сети Tor. Для этого нужно будет сменить настро...

[Перевод] Kubernetes: ускорьте ваши сервисы через снятие процессорных ограничений Еще в 2016 году мы в Buffer перешли на Kubernetes, и сейчас около 60 нод (на AWS) и 1500 контейнеров трудятся на нашем k8s-кластере под управлением kops. Тем не менее, на микросервисы мы переходили методом проб и ошибок, и даже после нескольких лет нашей работы с k8s мы до с...

Xiaomi показала Apple плохой пример: на iPhone и iPad появилась реклама Компания Apple начала показывать рекламу пользователям iPhone и iPad. За рекламу в фирменных оболочках часто критикуют китайских производителей, например, Xiaomi. И её совсем не ожидали увидеть пользователи Apple.  На проблему обратил внимание Том Уоррен (Tom Warr...

Что нового в RxJava 3 Весной 2020 года вышла свежая версия фреймворка RxJava – RxJava 3. Давайте рассмотрим, в чем заключаются основные изменения, как можно перейти с RxJava 2 на новую версию и стоит ли вообще мигрировать. Отметим, что в новой версии нет глобальных изменений, но появилась подде...

Настройка автовыравнивания фазы в дифференциальных парах в САПР Cadence Allegro Иногда даже любимые программы могут доставить мучения — особенно если не знаешь, как правильно настраивать ту или иную функцию. В редакторе печатных плат Cadence Allegro есть такая офигенно полезная опция, High Speed, которая ооочень помогает в трассировке скоростных сигнало...

Что выбрать в качестве библиотеки компонентов для React-проекта Меня зовут Ксюша Луговая. В СберКорусе я занимаюсь поддержкой библиотеки React-компонентов Korus-UI. С проблемой выбора библиотеки рано или поздно сталкивается почти каждый разработчик, и порой решение может быть нетривиальным. Возникают вопросы: чем руководствоват...

Войны лоббистов и развитие BIM. Часть 3: Отцы BIM технологий. Кто стоит за успехом Autodesk и openBIM? В этой статье мы осветим работу всех основных отцов BIM технологий, которые в 80-е и 90-е разрабатывали инструменты для автоматизированного проектирования. Разберём также, кто стоит за успехом организации buildingSMART и таких корпораций, как Nemetschek Group и Autodesk и по...

Автоматическая генерация технической документации Продолжая тему использования Asciidoc (и других аналогичных форматов) для организации процессов непрерывного документирования, хочу рассмотреть тему автоматический генерации технической документации. Автоматическая генерация документации — распространенный, но очень расплыв...

Google даст зарабатывать на сайтах больше: эксперименты с автообъявлениями Google недавно удалила из интерфейса Adsense возможность настройки количества процента отображаемых объявлений. Но эта функция получила новую жизнь в экпериментах Google и настройке автоматических объявлений на страницу. Читать полную статью

Командная строка и PowerShell скоро будут запускаться в Терминале по умолчанию в Windows 10 Терминал Windows существует уже некоторое время и в основном позволяет пользователям создавать несколько вкладок для различных инструментов командной строки в Windows 10. Например, вы можете использовать Терминал (Windows Terminal) для одновременного доступа к Командной стро...

[Перевод] Разработка REST-серверов на Go. Часть 2: применение маршрутизатора gorilla/mux Перед вами второй материал из серии статей, посвящённой разработке REST-серверов на Go. В первом материале этой серии мы создали простой сервер, пользуясь стандартными средствами Go, а после этого отрефакторили код формирования JSON-данных, вынеся его во вспомогательную функ...

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

Обновление MIUI 12 принесло серьёзную проблему: после перезагрузки сбивается расположение ярлыков Недавно на смартфонах Xiaomi Mi 10, которые в настоящее время работают на глобальной версии MIUI 12, была обнаружена странная проблема. Она была связана с настройкой домашнего экрана MIUI, где после каждой перезагрузки пользовательские значки с домашнего экрана исчезали. Оди...

Классные эргономические клавиатуры, на которые стоит обратить внимание. Часть 2 Удобный инструмент для работы позволяет упростить себе жизнь и оптимизировать выполнение задач. Клавиатура — инструмент, с которым многие из нас не расстаются в течение дня (а то и ночи). Кому-то хватает обычной клавиатуры без особых изысков, а кто-то предпочитает эргономич...

FOSS News №90 — дайджест материалов о свободном и открытом ПО за 20—26 сентября 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: В Linux Foundation отмечают острый спрос компаний на профессиональных оп...

[Перевод] Анализ производительности CSS-анимаций Что выбрать для анимирования элементов веб-страниц? JavaScript или CSS? Этот вопрос однажды вынужден будет задать себе каждый веб-разработчик. А может — и не однажды. JavaScript-программисты создали множество библиотек для браузерной анимации. И, похоже, все вокруг оказалис...

[Перевод] Создаем собственный GPS-Трекер на технологии LoRa В этой статье вы узнаете, как создать собственный GPS-трекер с помощью микроконтроллеров Pycom LoPy, а также научитесь настраивать одноканальный LoRa Nano-Gateway. Здесь я изложу ключевые этапы со всеми необходимыми ссылками. Читать дальше →

[Перевод] Семь практических советов по массовой загрузке данных в PostgreSQL Вольный перевод статьи «7 Best Practice Tips for PostgreSQL Bulk Data Loading» Иногда возникает необходимость в несколько простых шагов загрузить в БД PostgreSQL большой объём данных. Данная практика обычно называется массовым импортом, когда в качестве источника данных служ...

Организация автотестов на примере мобильного приложения для СЭД + более качественная, но менее смешная версия обложки Рано или поздно все приходят к АТ. Ситуация, когда это происходит поздно, понятна, а когда рано? И как понять, что уже можно? Статья основана на опыте одной команды: расскажу про наши предпосылки и поводы внедрения ав...

Microsoft обещает решить проблему перегрузки вкладок в Chromium Edge Улучшения безопасности и производительности всегда приветствуются в веб-браузере, но управление вкладками и многозадачность не менее важны. Microsoft понимает, что перегрузка вкладок или дублирование вкладок является важной проблемой для пользователей, и инженеры Edge активн...

Создаем Swift Package на основе C++ библиотеки Данная статья поможет вам создать свой первый Swift Package. Мы воспользуемся популярной C++ библиотекой для линейной алгебры Eigen, чтобы продемонстрировать, как можно обращаться к ней из Swift. Для простоты, мы портируем только часть возможностей Eigen. Читать далее

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

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

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

Как создавать стикеры Мимоджи на iPhone Мимоджи (Memoji) являются анимированными персонализированными картинками, появившимися в iOS 12. Но в следующей версии операционной системы Apple расширила возможности Мимоджи, добавив инструмент, позволяющий использовать готовые и создавать собственные стикеры. Вот как это ...

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

Приложение Cubasis 3 стало доступно пользователям Android Компания Steinberg сообщила о выпуске версии для Android мобильной цифровой звуковой рабочей станции (DAW) Cubasis 3. Cubasis — мобильная версия программного обеспечения для создания музыки Steinberg Cubase. На платформе iOS она доступна с 2012 года. В Cubasis ест...

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

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

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

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

Как создать удобный чек-лист (контрольный список) в Excel, чтобы ничего не забыть Excel – довольно удобный инструмент с обширным функционалом. Множество приложений предлагают возможность создавать различные списки, но зачем пользоваться другими программами, если есть Excel? ♥ ПО ТЕМЕ: Экспозиция фокуса в «Камере» iPhone: настройка и фиксация.   Как с...

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

Состоялся релиз стабильной версии Microsoft Edge 95.0 Microsoft выпустила стабильную версию веб-браузера Microsoft Edge 95.0 (95.0.1020.30) в рамках 4-недельного цикла выпуска новых версий. Обновление до новой версии распространяется постепенно, поэтому, возможно, придётся подождать несколько дней, прежде чем Edge 95 станет ва...

KODI: собираем удобный и функциональный медиацентр для дома. Часть 3. Ретро-игры Продолжаем строить домашний медиа-комбайн на Kubuntu с KODI на борту. Сегодня научим его запускать ретро-игры и позволим себе немного поностальгировать по Darkwing Duck на SEGA и Grand Theft Auto или Gran Turismo на Playstation 1.О том, как разворачивался сам медиацентр, как...

[Перевод] Изменяем и удаляем Azure VMs, используя PowerShell С помощью PowerShell инженеры и IT-администраторы успешно автоматизируют различные задачи при работе не только с on-premises, но и с облачными инфраструктурами, в частности, с Azure. Работать через PowerShell в ряде случаев гораздо удобнее и быстрее, чем через Azure portal. ...

Microsoft выпустила первое обновление Xbox Series X Компания Microsoft выпустила сегодня большое обновление для своих игровых приставок. Апдейт получил название «ноябрьского» и стал первым для новых консолей Xbox Series X и Xbox Series S, но также он приносит новшества и для семейства Xbox One. Владельцы Xbo...

[Перевод] Портируем утилиту командной строки с Go/Rust на D Несколько дней назад, на реддите в «программировании», Paulo Henrique Cuchi поделился своим опытом разработки утилиты командной строки на Rust и на Go (перевод на Хабре). Утилита, о которой идет речь, — это клиент для его пет-проекта Hashtrack. Hashtrack предоставляет GraphQ...

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

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

Опыт Тинькофф Оплаты: улучшили мобильный SDK и сделали оплату в интернете еще удобнее Привет! В начале лета мы обновили Tinkoff Acquiring SDK и зарелизили вторую версию для Android и iOS. Tinkoff Acquiring SDK — это open-source-библиотека для мобильных платформ. С ней удобно принимать оплату в приложениях. В статье хочу рассказать, чем это круто для владель...

[Из песочницы] Последовательное скачивание в uTorrent за 2 клика Привет, Хабр! Прочитав публикацию «uTorrent на страже online просмотра», был удивлен, что до сих пор не опубликован способ включить возможность последовательного скачивания файлов, не прибегая к дополнительному софту вроде BEncode Editor, а просто и быстро — буквально за дв...

Как в пару кликов прокачать контекстные меню в Windows Настраиваем под себя контекстные меню в Windows.

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

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

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

Windows 10X будет поставляться с MacOS-подобными обоями Windows 10X, новая операционная система, основанная на модульном проекте Microsoft Windows Core OS, недавно была продемонстрирована вместе с Surface Neo. Хотя Windows 10X была создана и оптимизирована для устройств с двумя экранами, она будет распространяться и на традиционн...

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

Разработка круговых интерфейсов. Часть 2. Перенос библиотеки с JavaScript на QML Оглавление Введение Библиотека круговых интерфейсов v2.0 Круговая CAPTCHA Перенос библиотеки с JavaScript на QML Демонстрационное мобильное приложение Заключение Введение Предыдущая статья была вводной к вопросу разработки круговых интерфейсов. В ней рассмотрены определение,...

Как установить файл конфигурации в .Net Core Console app для нескольких сред разработки при запуске Docker-контейнера Наша команда разрабатывала сервис обработки сообщений из Kafka. Он представлял собой консольное приложение .Net Core, которое подписывалось на топики, и при появлении сообщения в каждом из них выполняло определённый алгоритм обработки. На первых итерациях разработки нашего с...

Настройка continuous бекапов PostgreSQL В данном мануале описывается процесс настройки постоянного (continuous) бекапирования для баз данных PostgreSQL. Читать дальше →

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

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

SwayWM — сам себе UnixPorn Всем привет. В этой статье я опишу свой опыт настройки и использования sway — тайлингового оконного менеджера для Linux. Читать дальше →

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

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

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

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

[Из песочницы] Разбор UI/UX на примере прототипа в Figma и основные принципы Кому адресована статья В данной публикации я хочу помочь начинающим и «не очень» бизнес-аналитикам, менеджерам проектов, владельцам продуктов, желающим сделать свой первый сайт и всем-всем, кому надо сделать макет сайта или приложения, а он не знает с какой стороны подступит...

[Перевод] Настройка ядра Linux для GlusterFS Перевод статьи подготовлен в преддверии старта курса «Administrator Linux. Professional». Периодически то тут, то там возникают вопросы о рекомендациях Gluster относительно настройки ядра и есть ли в этом необходимость. Такая необходимость возникает редко. На большинств...

В главном браузере Microsoft появился детский режим Компания Microsoft выпустила свежую бета-версии браузера Edge. В версии Microsoft Edge 90 есть значительное новшество — в браузере появился детский режим.  Microsoft Edge 90 Beta предлагает своего рода «песочницу», предназначенную для возрастных ...

Android: социальный мониторинг и советы от Microsoft Для подписчиковСегодня в выпуске: анализ приложения «Социальный мониторинг», рассказ о том, как новые версии Android экономят заряд батареи, статья о вредности System.exit(), советы, как сократить размер приложения, реализация обновления приложения через само приложение, над...

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

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

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

Как я «умный» телевизор Samsung до ума доводил — расширенный отзыв “Каждый человек обязан, по меньшей мере, вернуть миру столько, сколько он из него взял.” — Альберт Эйнштейн В своей первой статье на Хабре мне хотелось бы поделиться с уважаемыми читателями подробной информацией о достоинствах и недостатках, а также личным опытом настройки ...

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

[Перевод] Как мы взломали шифрование пакетов в BattlEye Недавно Battlestate Games, разработчики Escape From Tarkov, наняли BattlEye для реализации шифрования сетевых пакетов, чтобы мошенники не могли перехватить эти пакеты, разобрать их и использовать в своих интересах в виде радарных читов или иным образом. Сегодня подробно расс...

Ускоряем разработку с помощью сервисов Azure: создаем чат-боты и когнитивные службы средствами платформы Привет, Хабр! Сегодня мы расскажем, как решать с помощью Azure задачи, которые обычно требуют человеческого участия. Операторы тратят много времени, чтобы отвечать на одни и те же вопросы, обрабатывать телефонные звонки и текстовые сообщения. Чат-боты автоматизируют общение ...

Mail.ru Cloud Solutions открывает доступ к Arenadata DB Cloud версии Enterprise Облачная аналитическая СУБД Arenadata DB на базе Greenplum в версии Enterprise доступна на платформе MCS в виде PaaS-сервиса. Облачная платформа Mail.ru Cloud Solutions (MCS) объявила о расширении сотрудничество с компанией Arenadata, российским разработчиком платформы сб...

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

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

В следующей версии Windows Terminal появится пользовательский интерфейс настроек В 2019 году Microsoft представила приложение Windows Terminal с открытым исходным кодом, которое объединило в себе такие инструменты, как PowerShell, CMD, Windows Subsystem for Linux (WSL) и Azure Cloud Shell. В приложении также появилось множество функций, о которых пользо...

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

Pixockets: как мы написали собственную сетевую библиотеку для игрового сервера Привет! На связи Станислав Яблонский, Lead Server Developer из Pixonic. Когда я только пришел в Pixonic, наши игровые сервера представляли собой приложения на основе Photon Realtime SDK: многофункционального, но весьма тяжелого фреймворка. Решение это, казалось бы, должно...

Разбираемся, как работает Spring Data Repository, и создаем свою библиотеку по аналогии В статье показано, как работают библиотеки Spring (Spring Data, Spring Feign), и показано, как можно создать свою похожую библиотеку. Читать далее

Динамическая сборка и деплой Docker-образов с werf на примере сайта версионированной документации Мы уже не раз рассказывали про свой GitOps-инструмент werf, а в этот раз хотели бы поделиться опытом сборки сайта с документацией самого проекта — werf.io (его русскоязычная версия — ru.werf.io). Это обычный статический сайт, однако его сборка интересна тем, что построена с ...

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

TypeScript: Раскладываем tsconfig по полочкам. Часть 2 В данной статье я хочу предоставить переработанную и упорядоченную выжимку документации по настройке "флагов строгости" tsconfig.json. Статья будет полезна как тем, кто только начинает работать с TypeScript, так и тем кто уже давно работает, но при этом использует конфиг по ...

3. NGFW для малого бизнеса. Беспроводная передача данных: WiFi и LTE Здравствуйте, уважаемые читатели блога TS Solution, мы продолжаем цикл статей для решений NGFW СheckPoint сегмента SMB. Для удобства вы можете ознакомиться с модельным рядом, изучить характеристики и возможности в первой части, далее предлагаем обратиться к распаковке и пе...

[Перевод] Unison: настройка и автоматизация двусторонней синхронизации каталогов на двух серверах Getty Images/iStockphoto Проблему синхронизации каталогов на двух серверах с операционными системами семейства Linux на борту можно решить проще, если использовать специализированные инструменты. Давайте посмотрим, как это можно сделать с помощью Unison. Читать дальше &rar...

Psychonauts 2, Need for Speed Heat и Star Wars Jedi: Fallen Order появятся в Xbox Game Pass Microsoft добавит крупные проекты в библиотеку Xbox Game Pass, включая Psychonauts 2 Тима Шейфера. Произойдёт это в конце августа, а заценить эту и другие игры смогут даже геймеры на Android и iOS. Для этого только нужна подписка Game Pass и отличный Интернет. В начале авгу...

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

Среда разработки PHP на базе Docker Решение на базе Docker, которое позволит создать на локальном компьютере универсальную среду разработки на PHP за 30 - 40 минут. Несколько версий PHP — 7.3 и 7.1 с набором наиболее востребованных расширений. Готовый к работе монитор процесс...

[Перевод] Лучшие инструменты с открытым исходным кодом и библиотеки для Deep Learning — ICLR 2020 Experiencebi Сложно найти на Хабре человека, который не слышал бы про нейронные сети. Регулярные новости о свежих достижениях нейронных сетей заставляют удивляться широкую публику, а также привлекают новых энтузиастов и исследователей. Привлеченный поток специалистов способствует не толь...

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

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

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

Microsoft Edge для Windows 10 превосходит Chrome благодаря функции группировки новых вкладок Microsoft надеется повысить продуктивность пользователей Windows 10 с помощью развертывания новой функции под названием «Рабочие области» в Microsoft Edge, которая направлена ​​на организацию ваших действий в браузере, чтобы сформировать единый опыт управления вкладками. Доб...

VPS на Linux с графическим интерфейсом: запускаем сервер X2Go на Ubuntu 18.04 Настройку VNC и RDP на виртуальном сервере мы уже освоили, осталось изучить еще один вариант подключения к виртуальному рабочему столу Linux. Возможности созданного компанией NoMachine протокола NX достаточно интересны, к тому же он хорошо работает через медленные каналы. Ф...

KODI: собираем удобный и функциональный медиацентр для дома. Часть 4. Архив IPTV Продолжаем «изобретать» домашний медиацентр с помощью Kubuntu и KODI. Сегодня добавим возможность работы с архивами телепередач (catchup) и сдвига для текущих трансляций (timeshift). О том, как изначально настраивали IPTV - читайте в первой части. Читать дальше →

[Перевод] Реализуем простые кооперативные потоки на C Привет, Хабр! Спасибо вам за внимание, проявленное к нашей предыдущей переводной публикации о REST. Сегодня мы предлагаем взглянуть на тему проектирования систем несколько с другой стороны и публикуем перевод статьи Стивена Бреннана, корифея Linux, который рассказывает о со...

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

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