Социальные сети Рунета
Суббота, 20 апреля 2024

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

Как написать плагин для Фигмы: проблема, MVP, решение Привет, я Саша Катин, дизайнер продукта в Авито. Примерно за месяц я написал плагин для Фигмы, чтобы помочь коллегам-дизайнерам. В статье расскажу, что получилось хорошо и быстро, а что — не очень, и что нужно сделать, чтобы запустить свой энтерпрайз-плагин внутри компа...

Хакеры-наемники используют для атак вредоносный плагин для 3Ds Max Эксперты компании Bitdefender обнаружили хакерскую группу, которая атакует компании по всему миру с помощью малвари, скрытой внутри плагинов для 3Ds Max.

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

Мониторинг 95+ метрик PostgreSQL с помощью плагина Zabbix Agent 2 В прошлом году популярный сервис мониторинга Zabbix представил Agent 2, призванный сократить число TCP-подключений и обеспечить удобную расширяемость за счёт плагинов на Golang. Меня зовут Даша и я один из разработчиков плагина мониторинга PostgreSQL для Zabbix Agent 2. В эт...

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

[Перевод] Как использовать MySQL без пароля (и рисков для безопасности) Говорят, что луший пароль — тот, который не надо запоминать. В случае с MySQL это реально благодаря плагину auth_socket и его версии для MariaDB — unix_socket. Оба эти плагина — вовсе не новы, о них много говорилось в этом же блоге, например в статье о том, как изменять пар...

Обновленный плагин YouTrack для IDE на платформе IntelliJ Привет Хабр!В командах разработки трекеры задач и IDE редко существуют друг без друга. Поэтому мы решили существенно «проапгрейдить» плагин YouTrack для IDE на платформе IntelliJ. Плагин интегрируется с вашими любимыми IDE от JetBrains — AppCode, CLion, DataGrip, GoLand, Int...

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

Программирование ESP32 с использованием JTAG программатора ESP-Prog и ESP-IDF ESP-Prog Всем доброго времени суток. На просторах Али можно найти такой программатор, как ESP-Prog, на чипе FTDI2232H, с виртуальным COM-портом на борту: Среда разработки Как IDE мы будем использовать Visual Studio с плагином VisualGDB. Данный плагин предназначен для раз...

Figmiro. Делаем плагин для Figma (и немножечко для Miro) Третьего дня по совету проверенных камрадов решили заняться созданием плагина, который будет экспортировать макеты из Figma в Miro в виде PNG изображений. Наша команда с энтузиазмом принялась воплощать эту идею в жизнь, особенно подогревала интерес возможность получить з...

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

WordPress-плагин Popup Builder поставил под угрозу 100 000 сайтов Более 100 000 сайтов оказались уязвимы перед атаками из-за проблем в популярном плагине для WordPress.

10 плагинов WooCommerce для Интернет-Магазина на WordPress Если у вас есть веб-сайт, разработанный с помощью WordPress, вы можете довольно просто и быстро запустить магазин с помощью плагина WooCommerce. Несмотря на то, что плагины WooCommerce предлагают множество преимуществ для веб-сайтов на WordPress, для внесения изменений и ул...

Видеоурок Теплицы: как вернуть старый дизайн Facebook и настроить ленту с помощью плагина F.B.Purity Facebook изменил интерфейс приложения для десктопа и запретил возврат к старой версии. Если вам не нравится новая – просто терпите, как бы намекает Facebook. Для тех, кто терпеть не готов и хочет вернуть старый дизайн есть плагин F.B. Purity. F.B. Purity можно установить в б...

Плагин для Cura для смены филамента для Anycubic Mega-S После безуспешной попытки использовать встроенные плагины в Cura для смены филамента при многоцветной печати и поиска и перебора ещё нескольких плагинов, наконец то был найден плагин корректно останавливающий принтер в нужном месте. Он корректно работает именно с Anycubic Me...

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

TABLIST - один из лучших плагинов для игры MineCraft Четыре причины по которым я использую плагин TABLIST для улучшения игры MineCraft на своих серверах

Стоит ли платить за плагины OpenCart? У нас обновление в маркетплейсе: теперь вы можете заказать VPS-сервер с предустановленным OpenCart. Вместо того, чтобы рассказывать, что такое OpenCart, давайте лучше порассуждаем о расширениях: в каком случае стоит покупать готовое, как их проверять? Мы подготовили крат...

[Перевод] Обзор 14 свежих плагинов для Фигмы, которые помогут повысить производительность пока мы все #сидимдома Сегодня мы поговорим о следующих новых Figma плагинах: AutoGrid — Поддержка сетки для AutoLayout. Tracking – Плагин для создания аннотаций отслеживания. Find and Replace Colors – Организация цветовых стилей в ваших дизайнах Spacing Manager – Плагин для согласованных отст...

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

[Перевод] 10 топовых плагинов для IntelliJ IDEA, которые ты не должен пропустить Хотя IntelliJ IDEA является полноценной IDE (Интегрированная среда разработки), вы наверняка захотите ее персонализировать. В JetBrains Marketplace есть множество плагинов с полезными функциями, которые могут удовлетворить ваши личные или деловые потребности.Библиотека огром...

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

Разработчики WordPress принудительно обновили плагин Jetpack на 5 млн сайтов Компания Automattic, разрабатывающая CMS WordPress, развернула принудительное обновление плагина Jetpack на 5 000 000 сайтов, где тот установлен.

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

Mozilla обвиняет плагины Avast в сборе пользовательских данных Группа Mozilla приняла решение удалить продукты Avast и AVG из репозитория дополнений своего браузера после того, как был выявлен сбор большого количества пользовательских данных.

Java-дайджест за 17 января. Две первые недели нового года Появился шрифт JetBrains Mono — приятный и красивый шрифт для разработчиков Вышел плагин для интеграции GitLab с IntelliJ IDEA. Теперь можно делать код-ревью прямо в вашей любимой IDE! В Java-плагине для Visual Studio Code добавили кучу важных ништяков (действительно вли...

[Перевод] Лучшие плагины IntelliJ IDEA Key promoter X Использование сочетаний клавиш вместо мыши может значительно повысить производительность. С таким количеством функций, которые предлагает IDEA, это может быть пугающим и трудным для изучения всех быстрых клавиш. К счастью, есть плагин под названием Key Promo...

Из-за уязвимостей в двух плагинах опасность угрожает миллиону сайтов на WordPress Критические уязвимости в WordPress-плагинах Elementor Pro и Ultimate Addons for Elementor могут использоваться для удаленного выполнения произвольного кода и полной компрометации уязвимых сайтов. Эксперты компании Wordfence предупредили, что баги уже находятся под атаками.

В WP-плагине Site Kit by Google была обнаружена серьёзная уязвимость Эксперты WordFence выявили критическую уязвимость безопасности в WordPress-плагине Site Kit by Google. Через эту брешь злоумышленники могли получить доступ к сайту и повлиять на его видимость в поиске. «Это считается критической проблемой безопасности, которая может привести...

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

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и за...

[Перевод] 10 интересных репозиториев на GitHub, полезных любому разработчику Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО. Фото с ресурса Unsplash. Автор: Vishnu R Nair GitHub — это лучшая платформа для обме...

Big Data Tools EAP 11: Zeppelin в DataGrip и spark-submit во всех поддерживаемых IDE Только что вышло очередное обновление EAP 11 для плагина под названием Big Data Tools, доступного для установки в IntelliJ IDEA Ultimate, PyCharm, and DataGrip. Можно установить его через страницу плагина на сайте или внутри IDE. Big Data Tools — это плагин, позволяющий соед...

[Из песочницы] Ableton не нужон: подключаем Ableton Push 2 к VCV Rack Создание музыки, в последнее время, проходит примерно тот же путь что фотография 10 лет назад: у каждого появляется своя зеркалка и аккаунт в инстаграме. Музыкальная индустрия этому очень рада, ведь такой интерес приносит много денег. Каждый день появляются новые VST плагин...

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

В работе трёх SEO-плагинов для WP были обнаружены сбои На прошлой неделе зарубежные вебмастера заметили сбои в работе ряда SEO-плагинов для WordPress, включая Google Analytics Dashboard for WP, Yoast SEO и Rank Math. Google Analytics Dashboard for WP Отдельные пользователи утверждают, что потеряли данные по трафику после обновле...

400 000 сайтов оказались под угрозой из-за плагинов Специализирующаяся на кибербезопасности компания Sucuri выявила уязвимости в плагинах InfiniteWP, WP Time Capsule и WP Database Reset, которые в общей сложности касаются как минимум 400 000 интернет-ресурсов по всему миру. Самой серьёзной является «дыра» в InfiniteWP Client ...

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

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

Простой rpm репозиторий используя Inotify и webdav В этом посте рассмотрим хранилище rpm артефактов c помощью простого скрипта с inotify + createrepo. Заливка артефактов осуществляется через webdav используя apache httpd. Почему apache httpd будет написано ближе к концу поста. Итак, решение должно отвечать cледующим требован...

Как скачать любое видео с YouTube и других сервисов Я часто занимаюсь работой с видеоматериалами, и зачастую не ограничиваюсь только теми роликами, которые снял сам. Часто возникает необходимость чем-то «забить» место на таймлайне, и здесь на помощь приходят тематические ролики с YouTube и других видеосервисов. Существует не...

[Перевод] Типовые ситуации при непрерывной интеграции Вы изучили команды Git но хотите представлять, как непрерывная интеграция (Continuous Integration, CI) происходит в реальности? Или может вы хотите оптимизировать свои ежедневные действия? Этот курс даст вам практические навыки непрерывной интеграции с использованием репозит...

Плагин Arc Welder (косячёк) Пишу для того, что бы начинающие, к коим, пока еще отношусь и я, любящие потыкать в кнопки не вникая, не сломали себе голову устраняя свою криворукость=)Узнал тут на днях про плагин Arc Welder для Cura. Для тех, кто не знает, он, там где есть дуги на модели, преобразует кома...

Пишем плагин отладки для SNES игр в IDA v7 Приветствую, Моя очень старая мечта сбылась — я написал модуль-отладчик, с помощью которого можно отлаживать SNES (Super Nintendo) игры прямо в IDA! Если интересно узнать, как я это сделал, "прошу под кат" (как тут принято говорить). Читать дальше →

Как мы научились делить видео на сцены с помощью хитрой математики За 10 лет существования ivi мы собрали базу из 90000 видео разной длины, размера и качества. Каждую неделю появляются сотни новых. У нас есть гигабайты метаданных, которые полезны для рекомендаций, упрощают навигацию по сервису и настройку рекламы. Но извлекать информацию не...

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

Современная сборка 2020 для frontend. Gulp4 Начало Посмотрев на календарь, я понял, что уже 2020, а посмотрев на свою сборку, которая была с 2018 года, я понял, что пора её менять. В этой статье мы разберем структуру проекта, плагины (минимальный набор функционала) и их новые возможности, которые добавились за такое б...

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

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

[Перевод] Проверка образов с помощью Gitlab CI/CD Всем привет, в преддверии старта курса «CI/CD на AWS, Azure и Gitlab» подготовили перевод интересного материала. В этой статье мы поговорим о том, как проверять образы контейнеров на платформе Gitlab CI/CD с помощью Sysdig Secure. Образы контейнеров, которые не соответст...

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

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

[Перевод] Советы и хитрости IntelliJ IDEA: 2. Анализ зависимостей Как анализировать зависимости в IDEA с помощью Dependency Structure Matrix и других инструментов. Этот перевод продолжает серию об IntelliJ IDEA: Лучшие плагины IntelliJ IDEA Сравнение файлов и папок Анализ зависимостей Читать дальше →

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

Vue 3.0 — первый взгляд Наконец-то руки дошли попробовать новую версию Vue. Я не собираюсь быть объективным в этой статье, я просто расскажу свои впечатления в процессе работы с новой версией, а так же расскажу как её установить и начать работу уже сейчас. Не смотря на релиз, Vue 3.0 еще не готов д...

[Перевод] Как обойти капчу-слайдер с помощью JS и Puppeteer Друзья, предлагаю вашему вниманию перевод статьи "How to bypass “slider CAPTCHA” with JS and Puppeteer" автора Filip Vitas. Спам для владельца сайта – огромная проблема. С другой стороны, капчи сводят меня с ума и ухудшают пользовательский опыт. Капчи отстой. Скаж...

В плагинах Ultimate Addons нашли критическую уязвимость Два плагина для WordPress, установленные на сотнях тысяч сайтов, содержат критическую уязвимость, позволяющую злоумышленникам перехватить управление веб-ресурсом. Как выяснили ИБ-специалисты, наборы дополнений Ultimate Addons к конструкторам страниц Elementor и Beaver Builde...

Декомпиляция node.js в Ghidra Приветствую, Вам когда-нибудь хотелось узнать, как же именно работает программа, которой вы так активно пользуетесь, игра, в которую часто играете, прошивка какого-нибудь устройства, которое что-то делает по расписанию? Если да, то для этого вам потребуется дизассемблер. А ...

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

В Astra Linux появилась возможность сдачи отчетности через "Контур.Экстерн" Выпущен плагин для ПО «Контур.Экстерн», позволяющий пользователям Astra Linux представлять с его помощью отчетность в органы государственного контроля.

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

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

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

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

[Перевод] Машинное обучение в Unity: учим МО-агентов перепрыгивать через стены За последние несколько лет в обучении с подкреплением (reinforcement learning, RL) произошли серьезные прорывы: от первого успешного его использования в обучении по сырым пикселям до обучения Open AI роборуки, ― и для дальнейшего прогресса становятся необходимы все более сло...

[Перевод] Установка и настройка AlienVault SIEM (OSSIM) Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». OSSIM (Open Source Security Information Management) — это проект с открытым исходным кодом от Alienvault, который обеспечивает функционал SIEM (Security information and event management). Он обе...

Лучшие плагины WordPress App Builder WordPress всегда был первым инструментом для предпринимателей, которые хотят получить или улучшить присутствие их бренда или компании в Интернете. Помимо возможности легкой поддержки блога, контента и медиа ресурсов, лидирующая CMS платформа предоставляет возможность гибкой ...

Переход с Mercurial на GIT в Atlassian Bitbucket с сохранением файлов в кириллице Предыстория Ещё летом в официальном блоге BitBucket опубликовали запись, в которой сообщили об окончании поддержки репозиториев Mercurial. Прекращение поддержки Mercurial будет проходить в два этапа: С 1 февраля 2020 года пользователи больше не смогут создавать новые репоз...

Заставляем плагин госуслуг работать для всех пользователей в терминальной среде Уже более года все наши сотрудники работают только в опубликованных приложениях, а централизуем мы всё это через Parallels RAS. Есть у нас и автоматический механизм публикации ЭЦП: если авторизованный пользователь запускает сайт, допустим таможни, то предварительно в его HK...

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

[Перевод] Советы и хитрости IntelliJ IDEA: 1. Сравнение файлов и папок От переводчика: В блоге Войтеха Рузички по программированию имеется 13 постов с тегом IDEA. Один из был переведен и опубликован на Хабре — Лучшие плагины IntelliJ IDEA. Он оказася довольно популярен и я решил попробовать перевести и другие посты об IDEA. Надеюсь будут полезн...

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

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

[Перевод] Async/await в Unity Салют, хабровчане. Совсем немного времени остается до старта курса «Разработчик игр на Unity», в связи с этим мы подготовили для вас еще один интересный перевод. async в Unity уже и так работает без каких-либо плагинов или оборачивающих Task корутин, имитирующих асинхронн...

NocoDB, open-source аналог Airtable Airtable — классный инструмент, заслуживший признание у бизнеса по всему миру. Возможность работать с базами данных в удобном no-code интерфейсе с разными представлениями и типами данных не нова, но если в Spreadsheets (где таблица даже не является базой) данные приходилос...

Автотесты на Android. Картина целиком Всем привет! Автотесты под Android — это непросто. Чтобы выстроить процесс автотестирования, надо запланировать и решить множество задач. Но самая большая беда заключается в том, что нигде нет полного описания, что вообще включает в себя автотестирование под Android, каковы...

[Перевод] ELK SIEM Open Distro: Прогулка по open Distro В этом посте будет описана установка и настройка open Distro для Elasticsearch. В open Distro доступны следующие плагины являются : Безопасность (Security ) Оповещение (Alerting ) SQL Управление информационной безопасностью (ISM) Анализатор производительности (Performance A...

Хакер получил доступ к GitHub-репозиториям Microsoft Злоумышленник скомпрометировал private-репозитории Microsoft, однако исходные коды продуктов компании или другие критические данные в его руки не попали.

100 теоретических вопросов по JavaScript Доброго времени суток, друзья! Представляю вашему вниманию список из первых 100 вопросов по основам JavaScript из этого репозитория с краткими ответами и ссылками на «Современный учебник по JavaScript» Ильи Кантора (JSR) и MDN. Также в конце имеются ссылки на статьи для п...

GitHub закрыл репозитории проекта Popcorn Time по запросу Американской ассоциации кинокомпаний GitHub закрыл два репозитория, принадлежащих пиратскому стриминговому сервису Popcorn Time, после получения уведомления о нарушении закона о защите авторских прав в цифровую эпоху (DMCA) от Американской ассоциации кинокомпаний.Popcorn Time представляет собой сервис потоковог...

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

FAST VP в СХД Unity: как это работает Сегодня речь пойдет об интересной технологии, реализованной в СХД Unity/Unity XT, – FAST VP. Если вы впервые услышали о Unity, то по ссылке в конце статьи можно ознакомиться с характеристиками системы. В проектной команде Dell EMC я работал над FAST VP более года. Сегодня хо...

CreateRemoteThread для Linux В WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить ...

[Перевод] Kotlin vs Java И снова здравствуйте. В преддверии старта нового курса «Backend-разработка на Kotlin», мы подготовили для вас перевод статьи, в которой рассказывается о том, чем же Kotlin отличается от Java. «Kotlin – новый язык программирования, который заставит вас отказаться от Java»...

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

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

[Перевод] Рейт лимиты с помощью Python и Redis В этой статье мы рассмотрим некоторые алгоритмы рейт лимитов на основе Python и Redis, начиная с самой простой реализации и заканчивая продвинутым обобщённым алгоритмом контроля скорости передачи ячеек (Generic Cell Rate Algorithm, GCRA). Для взаимодействия с Redis (pip in...

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

[Перевод] Безопасная работа с секретами при сборке в Docker Compose Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Когда вы собираете Docker-образ вам могут понадобиться секреты, например, пароль к приватному репозиторию пакетов. Вы не хотите, чтобы этот секрет в конечном итоге оказался в образе, потому ...

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

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

Как реализовать игнор заблокированных пользователей в группах Telegram? UPD: благодаря помощи Tkachov эта статья всё-таки превратилась из просьбы о помощи в работающую инструкцию. В комментариях он дал работающий код для создания игнора в десктопном клиенте Телеграм. Я на всякий случай расположу объяснение в конце статьи. Далее статья продолжа...

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

Что нового в Red Hat OpenShift 4.2 и 4.3? Четвертая версия OpenShift вышла сравнительно недавно. Актуальная на текущий момент версия 4.3 доступна с конца января и все изменения в ней — это или нечто совершенно новое, чего в третьей версии не было, или крупное обновление того, что появилось в версии 4.1. Все, что мы...

[Из песочницы] Изучаем мультикаст операторы RxJS Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal. Широковещательные или мультикаст операторы нередко кажутся самой сложной темой при изучении RxJS. В этой статье я попробую все доступно объяснить. Мы рас...

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

Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок Всем привет, на связи Александр Панов, техлид из Pixonic. В компании я отвечаю за межпроектные решения и околопроектную периферию и сегодня хочу поделиться своим опытом и наработками. Платформы непрерывной разработки и интеграции, или CI/CD, сейчас используются повсеместн...

Редактор кода Visual Studio Code. Самый подробный гайд по настройке и установке плагинов для начинающих Бесплатный, мощный, очень популярный, с кучей дополнений, да что там говорить, сам Фейсбук выбрал его в качестве основного редактора! Сегодня речь пойдет о редакторе кода Visual Studio Code или просто VS Code. Мы с тобой его установим, настроим, а также применим плагины, к...

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

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

Прямой VPN между компьютерами за NAT провайдеров без VPS Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-т...

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

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

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

Плагин для Adobe XD экспортирует готовый код во Flutter Плагин пока находится в раннем доступе и предназначен для тестирования разработчиками.

Найдены уязвимости в плагинах InfiniteWP, WP Time Capsule, WP Database Reset для WordPress на 400 тысячах сайтов Нужно срочно обновить их до последних версий.

Terraform 12 и Terragrunt и как это можно применять для Multi-Cloud-инфраструктуры. Александр Довнар Что такое Terraform 12 и Terragrunt, и как это можно применять для Multi-Cloud инфраструктуры. Мы поговорим про IaC (Инфраструктура как код) влияние на современный мир и о том, как Terraform помогает работать с гетерогенных окружениях.Я хочу обсудить немного сам Terraform, ...

100 плагинов для Revit или как мы оптимизировали проектирование систем электроснабжения Привет, Хабр! Меня зовут Алексей Новиков, уже 5 лет я занимаюсь информационным моделированием систем электроснабжения в компании STEP LOGIC.  Раньше основной ценностью работы проектировщика был комплект чертежей, сейчас – это информационная модель, которая является прод...

Плагин для RivaTuner Statistic Server обзавелся собственным ядром мониторинга Плагин визуального редактора гипертекста в RivaTuner Statistics Server обрастает новым функционалом.

Редактор гипертекста в RTSS 7.3.0 наращивает функционал Короткая сводка того, что было добавлено в плагин для RivaTuner Statistics Server за последнюю неделю.

Исследуем баг iOS с помощью Hopper Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода. Всё началось в августе 2019 года с первых бета-версий iOS 1...

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

Менять одежду на персонажах из MakeHuman в Unity3d Цель стати, перенести персонажа из Makehuman в Unity3d, так чтобы его внешность и одежду можно было менять прямо во время игры. Для этого будет использован бесплатный плагин для юнити UMA. Читать далее

[Из песочницы] 10 строк кода, которые уменьшат боль от вашего проекта на Vue … или знакомство с плагинами Vue JS на примере интегрированной шины событий Пара слов о… Всем привет! Сразу оговорюсь. Я очень люблю VueJS, активно пишу на нем уже больше 2-х лет и не считаю, что разработка на нем может причинить боль хоть в какой-то значимой степени :) С д...

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

Ушла эпоха: Apple официально прекратила поддержку Flash в Safari А кто вообще использует Flash в 2020 году? Еще три года назад Apple заявила, что окончательно откажется от поддержки Flash до конца 2020 года. iPhone и iPad уже давно работают без него, однако на Mac пользователи до сих пор могут установить Flash самостоятельно, если испытыв...

Создана новая система шумоподавления в микрофоне для компьютеров с видеокартами NVIDIA Создана новая система шумоподавления в микрофоне для компьютеров с видеокартами NVIDIA. Избавиться от посторонних шумов позволяет плагин RTX Voice.

NVIDIA выпускает плагин шумоподавления RTX Voice Владельцам видеокарт Turing доступны ядра Tensor Core и RTX, но сколько есть игр, поддерживающих RTX или DLSS/DLSS 2.0? По сути, эта технология пока мало востребована, и компания NVIDIA предложила её новое применение.

Репозиторий youtube-dl восстановили на GitHub после вмешательства EFF Сегодня на GitHub восстановили репозиторий опенсорсного проекта youtube-dl, который ранее был удален из-за нарушения DMCA. Данная Python-библиотека применяется во многих инструментах и сервисах для копирования контента с YouTube, имеет более 72 000 звезд на GitHub и представ...

Создайте отличную презентацию со специалистами компании «TemplateMonster» Для того чтобы создать отличную интерактивную презентацию, которая произведет фурор, необходимо максимально ответственно подойти к её созданию. Следует отметить, что такого рода презентации могут сочетать в себе текст вместе с графиками, гиперссылками, картинками, анимацией,...

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

[Перевод] Точки входа в Python Многие думают, что точки входа это такие инструкции в setup.py, которые позволяют сделать пакет доступным для запуска из командной строки. Это, в целом, верно, но возможности точек входа не ограничиваются этим. Ниже я покажу как можно реализовать систему плагинов для пакета...

Google увеличил лимит на пользовательский CSS для AMP Команда проекта Google AMP увеличила лимит на пользовательский CSS для AMP-страниц на 50% — с 50 КБ до 75 КБ. Об этом сообщил разработчик Google Уэстон Рутер (Weston Ruter) в Twitter. Новое ограничение вступит в силу к концу февраля. Как только это изменение будет запу...

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

ок.tech: QATOK #2 5 марта в питерском офисе Одноклассников состоится ок.tech: QATOK #2 – митап, посвященный тестированию и всему что связано с обеспечением качества в ИТ-проектах. Нас ждет 3 технических доклада от представителей OK, Яндекса и VK, ребята расскажут про проблемы Espresso-автот...

Графики в Vuejs Я доволен экосистемой Vue. Как и положено, ты не городишь велосипеды, а пользуешься готовыми плагинами, которые за тебя написали умные дядьки. Когда твоя задача слишком мелкая и локальная, чтобы под неё написали плагин — ты идёшь и ищешь готовые компоненты, и только если н...

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

Нам нужно поговорить… Иногда инженеры теряют интерес к проектам, задачам и к компании — мотивация падает, а с ней и производительность. В итоге сотрудники выгорают и/или увольняются. Для этого много причин, но самая распространенная — отсутствие внимания к успехам и проблемам инженеров. В ЦФТ ...

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

[Из песочницы] Keylogger для Windows с изменением прав в DACL Здесь будет рассмотрено создание Keylogger на базе .Net C# с вызовами системных функций. Сами системные функции в кратце описываются, но лучше прочитать официальную документацию от Microsoft. Ссылка на репозиторий с рабочей сборкой приведена в конце, так же как и ссылка на д...

DOOM Eternal получает графические улучшения с помощью мода С момента выхода шутера DOOM Eternal, игра подверглась добавлению различных модов и обновлений. Мод DOOM Eternal Restored Graphics Effects призвана улучшить графические возможности. Например, трассировку лучей через ReShade с помощью плагина Ray Tracing Pascal Glitcher. По...

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

Zabbix: мониторим всё подряд (на примере Redis'а) Zabbix — замечательный продукт для администраторов крупных программно-аппаратных комплексов. Он настолько хорош, что может использоваться не только крупным бизнесом, но и средне-малым бизнесом, и даже в pet-проекте. В общем, у меня есть небольшой опыт работы с Zabbix'ом и я ...

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

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

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

Уязвимость в WordPress-плагине ThemeGrill Demo Importer угрожает 200 000 сайтов Злоумышленники могут обнулить чужие сайты или добраться до учетной записи администратора.

Lua на STM32 Привет! Иногда хочется быстро что-то попробовать на микроконтроллере, запрограммировать маленький работающий прототип какой-то идеи. Для этих целей, как известно, хорошо подходят скриптовые языки. В этой статье я хочу рассказать, как с помощью Embox запустить интерпретатор ...

Microsoft выпусит антивирус на Android и iOS. Вот смешные! Компания Microsoft с особенным энтузиазмом в последнее время относится к мобильным продуктам. Так, например, не так давно она выпустила отдельное приложение Office со встроенным Word, Excel и PowerPoint. Приложение хоть и выступило лишь в качестве обертки над тремя уже суще...

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

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

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

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

[Из песочницы] Как разместить статический сайт с помощью Yandex.Cloud Object Storage Привет, Хабр! В этой статье, я расскажу как легко и просто разместить статический сайт с помощью технологий Яндекса, а именно Object Storage. В конце у вас будет размещенный в сети сайт, который будет доступен по внешней ссылке. Эта статья будет полезна, если вы Начинающий ...

«Никогда не писали автотесты? Попробуйте Cypress» «Никогда не писали автотесты? Попробуйте Cypress» Автотесты на Cypress Первое впечатление и встречающиеся проблемы Дмитрий Кочергин, Lead Software Developer Luxoft Прежде всего хочу отметить, что я не профессиональный автотестер, а Java-программист. Но однажды поступила за...

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

Material Components Android Examples: работаем с Material Components Примеры приложений для Android с Material Components. Приложения в этом репозитории являются реализацией примеров Material Studies — каждое из них построено с использованием библиотеки MDC-Android и демонстрирует создание цветов, типографики и форм с помощью Material T...

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

WordPress будет автоматически обновлять темы и плагины Команда разработчиков WordPress работает над механизмом автообновления для тем и плагинов. Об этом сообщает ZDNet. Изначально новую функциональность планировалось внедрить в 2019 году, однако разработчики не уложились в этот срок, что не редкость в случае WordPress. Теперь о...

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

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

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

[кейс Locomizer] Как за два с половиной года ускорить расчёт тепловой карты в 20 000 раз Данная статья является продолжением серии «Кейс Locomizer», см. также Какие знания можно на самом деле извлечь из анонимизированного датасета с координатами пользователей Открываем One Ring — инструментарий для гибкой конфигурации сложных процессов обработки данных на Spar...

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

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

Пишем хром плагин оповещения в телеграм Беда, товарищи! Дети (~10 лет) перешли на удаленное обучение, расселись по комнатам с компьютерами и не могут сосредоточиться на уроках! Они добавлены в google families, microsoft family, время за компьютером ограничено, а взрослые сайты убраны через opendns. Но чуть что...

Facebook Open Graph: удобно для сайта, полезно для продвижения Протокол Open Graph от Facebook – как с его помощью можно улучшить охват в социальных сетях, какие для этого нужны настройки и снова про один из плагинов WordPress, который умеет все это делать. Что такое протокол Open Graph Это протокол, который позволяет настраивать...

[Перевод] Создание Minecraft за одну неделю на C++ и Vulkan Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движке на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, и...

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

Можно порешать: задача про лидарное облако от команды беспилотных автомобилей Яндекса Меня зовут Андрей Гладков, я разработчик в направлении беспилотных автомобилей. Сегодня я поделюсь с сообществом Хабра задачей, которая связана с важнейшим сенсором беспилотника — лидаром, и с тем, как мы обрабатываем лидарные данные. Вы можете попробовать решить задачу са...

Используем бесплатные возможности Github Actions для CI/CD на Flutter-проекте GitHub Actions — инструмент для автоматизации рутинных действий с репозиторием и подспорье при создании CI/CD для вашего проекта. Пользователи GitHub’а ежемесячно получают по 2000 минут, чтобы выполнять GitHub Actions на инфраструктуре сервиса. Применим это бесплатное время...

1. CheckFlow — быстрый и бесплатный комплексный аудит внутреннего сетевого трафика с помощью Flowmon Добро пожаловать на наш очередной мини курс. На этот раз мы поговорим о нашей новой услуге — CheckFlow. Что это такое? По сути, это просто маркетинговое название бесплатного аудита сетевого трафика (как внутреннего, так и внешнего). Сам аудит производится с помощью такого ...

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

[Перевод] Тысячи забытых TODO в коде Kubernetes Фото Yancy Min на Unsplash Kubernetes — большой проект. Не только потому, что очень востребован, но и с точки зрения исходного кода. На момент написания этой статьи насчитывалось более 86 000 коммитов, более 2000 участников, более 2000 открытых тикетов, более 1000 открыты...

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

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

Поднимаем Mercurial на Windows-сервере (с Nginx) Недавно случайно узнал, что BitBucket, где лежат мои Mercurial-репозитории, прекращает поддержку Mercurial: новые репозитории создавать уже нельзя, а существующие будут удалелы с 1.06.2020. Возможные варианты действий: перейти на Git, выбрать один из других сервисов, или нас...

GitHub предоставил бесплатным аккаунтам доступ ко всем основным функциям Сервис для совместной разработки GitHub анонсировал, что все основные функции стали бесплатными для пользователей на тарифе GitHub Free. Пользователи смогут создавать безлимитное количество приватных репозиториев с неограниченным количеством соавторов. Ранее бесплатные аккау...

Восстановление USB флешки TWO TREES Недавно у меня глюканула штатная флешка от принтера Sapphire S. Помнится, что это был 2й глюк. После первого были пропуски слоев при печати, но глюк легко вылечился переформатированием. 2-й глюк сначала выразился в том, что принтер не хотел читать флешку. Естественно я решил...

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

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

Привет, Амелия! Как добавить на сайт форму записи на консультацию «Амелия» – это не очередной голосовой помощник, а мощный плагин для WordPress по онлайн-бронированию услуг, записи на встречи, и ему можно придумать еще несколько полезных для НКО сценариев применения. Фактически вы получаете вашего помощника-секретаря, который в режиме 24/...

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

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

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

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

Сравнение 6 популярных “Drag&Drop” тем на WordPress WordPress является одним из самых популярных инструментов, когда речь заходит о необходимости в легком управлении контентом и простой веб-разработке. Он успешно завоевал рынок инструментов для создания веб-сайтов, предоставляя своим пользователям быстрые, надежные и простые ...

Тёмная Вселенная. Часть 1 Доброго времени суток, уважаемое хабрасообщество! Как я и обещал после прошлой статьи по теории струн, сегодня мы попробуем приоткрыть завесу тайн и пробежаться по костылям новым веяниям в космологии — попробуем взглянуть на тернистый путь, который прошли ученые, и разобрать...

33 потрясающих GitHub-репозитория для разработчиков мобильных приложений В этой статье мы рассмотрим 33 полезных GitHub-репозитория для разработчиков iOS, Android и Flutter.

GoLand 2019.3 с улучшенной производительностью, расширенной поддержкой Go Modules и не только Привет, Хабр! Две недели назад мы выпустили GoLand 2019.3. Этот релиз — особенный для нашей команды и отличается от предыдущих. С того момента, как GoLand из плагина вырос в самостоятельную IDE, прошло 2 года. Все это время мы старались добавить как можно больше разнообра...

Как мы технически обеспечиваем работу офисов ABBYY во время карантина Хабр, привет! Меня зовут Олег, и я отвечаю за IT-службу в группе компаний ABBYY. Больше месяца назад сотрудники ABBYY по всему миру начали работать и жить только дома. Больше никакого опенспейса и командировок. Поменялась ли моя работа? Нет. Хотя вообще-то да, но она изменил...

Xiaomi разобралась с проблемой, которая не позволяла использовать наушники Xiaomi Mi Air 2S Компания Xiaomi предлагает большой ассортимент наушников, среди которых представлены несколько моделей полностью беспроводных наушников, в частности, выпущенных под брендом Redmi. В апреле этого года производитель выпустил гарнитуру Xiaomi Mi Air 2S, которая до сих пор ...

Российские власти предполагают создать аналог GitHub Минэкономики РФ предложило создать в стране аналог принадлежащего Microsoft сервиса GitHub — хранилища открытого кода. Это необходимо на случай отключения России от GitHub и других подобных мировых репозиториев из-за санкций.  Как сообщается в последней версии федеральн...

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

Java-дайджест за 10 декабря Вышла четвертая альфа-версия «Remnants of the Precursors» — написанного на Java бесплатного аналога «Master of Orion» (это игра 1993 года). Пятую альфу обещают 5-го сентября. Автор обещает выложить исходники после перехода в бету. Скачать четвертую альфу можно по ссылке. ...

Онлайн-курс Теплицы: все о Google Analytics Google Analytics – самый действенный инструмент в отслеживании поведения ваших посетителей на сайте и «по дороге» к нему. Как сказал Алексей Сидоренко, руководитель «Теплицы социальных технологий» в интервью – «Если вы владелец магазина, вам, конечно, интересно знать, чт...

Автоматизация ввода в SecureCRT с помощью скриптов У сетевых инженеров часто возникает задача, выполнить copy/past определенных фрагментов из блокнота в консоль. Копировать приходиться обычно несколько параметров: Username/Password и что-либо еще. Ускорить этот процесс позволяет использование скриптов. НО задачи написание ск...

Пробуем запустить GAN сети в OpenVINO Репозиторий моделей Open Model Zoo библиотеки OpenVINO содержит много самых разных глубоких нейронных сетей из области компьютерного зрения (и не только). Но нам пока не встретилось GAN моделей, которые генерировали бы новые данные из шума. В этой статье мы создадим такую мо...

Самодельный лидар: OpenTOFLidar В этой статье я хочу рассказать про свой проект импульсного (TOF) Open Source лидара — о том как я его делал, и каких результатов удалось добиться. Читать дальше →

Капля в море: Запуск Drupal в Kubernetes Я работаю в компании Initlab. Мы специализируемся на разработке и поддержке Drupal проектов. У нас есть продукт для быстрого создания Ecommerce решений, основанный на Drupal. В 2019 году мы начали решать задачу построения масштабируемой и отказоустойчивой инфраструктуры для...

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

Бизнес-процессы на прокачку: как Process Intelligence помогает компаниям определить, что, где и когда автоматизировать Как вы, возможно, слышали, в прошлом году ABBYY приобрела компанию TimelinePI – разработчика платформ Process Intelligence. Теперь, помимо интеллектуальной обработки информации, продукты ABBYY помогают компаниям решать новый класс задач – анализировать бизнес-процессы, пони...

Java-дайджест за 14 декабря Дело Google vs Oracle будет рассматривать Верховный Суд США. В последний раз. Запасаемся попкорном, русская рулетка начинается. Прочитать суть проблемы можно в оригинальной PDF-ке, в которой Oracle утверждает, что у них скопировали 11500 строк кода из 37 пакетов, тем самым...

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

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

Java-дайджест за 6 марта Вышел очередной выпуск подкаста «Битовая Каска» с Антоном Архиповым (@antonarhipov). Антона, наверное, представлять не нужно, но всё-таки: Java-чемпион, менеджер по продукту в команде Kotlin, раньше работал в ZeroTurnaround. Подкаст помогает вести Кирилл Толкачёв, в остал...

Красивый таймлапс без соплей. Изначально пробовал снимать через плагин в Cura "search and replace".Cкрипт ищет в g-code указанное и заменяет на код "нажатия кнопки" .;START of TakePhoto routineG91 ;Use relative positioning modeG1 E-2 F1800 ;Retract 2mm of filamentG1 Z2 F1000 ;Move Z up 2mmG90 ;Use absolu...

Новая книга авторов «Хакера»: «Атаки на веб и WordPress» Как ты наверняка знаешь, часто объектом взлома становятся сайты и веб-приложения под управлением WordPress. Этот движок не просто самый популярный в интернете, он, как известно, имеет открытый исходный код. К тому же в новых версиях CMS и плагинов постоянно появляются новые ...

Deep Fake Science, кризис воспроизводимости и откуда берутся пустые репозитории Я мирно сидел на семинаре, слушал доклад студента о статье с прошлого CVPR и параллельно гуглил тему. — К достоинствам статьи можно отнести наличие исходного кода…. Пришлось вмешаться: — Наличие чего, простите? — Э-э-э… Исходного кода… — Вы его смотрели?  — Нет, но в статье...

Смартфон Essential PH-1 получит Android 11 В средине месяца стало известно о закрытии компании Essential, которую основал создатель ОС Android Энди Рубин (Andy Rubin). В соответствующей новости было сказано, что по этой причине прекращается выпуск обновлений для Essential PH-1 — единственного смартфона, вы...

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

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

[Перевод] Создание небольшого API на Deno В этом посте я хотел бы рассказать и показать процесс создания небольшого API с помощью Deno. Deno — новейшая среда для запуска Javascript и Typescript, разработанная создателем Node.js — Райаном Далем. Читать дальше →

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

Как мы подружили Flutter с CallKit Call Directory Привет! В этом лонгриде я расскажу о том, как мы в Voximplant пришли к реализации собственного Flutter плагина для использования CallKit во Flutter приложении, и в итоге оказались первыми, кто сделал поддержку блокировки/определения номеров через Call Directory для Flutter....

[Перевод] Пишем CRUD-приложение на Go с помощью Mysql, GORM, Echo, Clean Architecture Начнем сначала В этой статье будет сказ о том, как на Clean Architecture написать API с функциями CR(U)D, где в качестве БД взят Mysql, фреймворк – Echo, ORMapper – GORM. Что делаем API с функциями Create, Read, (Update), Delete. Обновление на самом деле реализовать особо н...

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

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

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

Считывание защищенной прошивки из флеш-памяти STM32F1xx с использованием ChipWhisperer В предыдущей статье мы разбирались с Vcc-glitch-атаками при помощи ChipWhisperer. Нашей дальнейшей целью стало поэтапное изучение процесса считывания защищенной прошивки микроконтроллеров. С помощью подобных атак злоумышленник может получить доступ ко всем паролям устройст...

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

Управление хаосом: наводим порядок с помощью технологической карты Изображение: Unsplash Всем привет! Мы инженеры-автоматизаторы из компании Positive Technologies и занимаемся сопровождением разработки продуктов компании: поддерживаем весь сборочный конвейер от коммита строчки кода разработчиками до публикации готовых продуктов и лицензи...

[Из песочницы] Запись и передача звука с устройства на устройство при помощи Multipeer Connectivity Добрый день, дорогой читатель! Некоторое время назад я решил попробовать записать и передать записанный звук с устройства на устройство. Как средство передачи записанного звука выбор пал на фреймворк MultipeerConnectivity. В этой статье я расскажу как это сделать. Первым д...

[Перевод] Концепции, лежащие в основе Web Audio API Доброго времени суток, друзья! В этой статье объясняются некоторые концепции из теории музыки, на основе которых работает Web Audio API (WAA). Зная эти концепции, вы сможете принимать взвешенные решения при проектировании аудио в приложении. Статья не сделает вас опытным ...

$mol: 4 года спустя Здравствуйте, я люблю плевать против ветра. Утираться и снова плевать. Хобби у меня такое. И всё, что я создаю, делаю я без оглядки на тенденции, стараясь решать проблемы системно, а не как привычно. Зачастую бывает, что основная сложность даже не в том, чтобы придумать реш...

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

Corsair представила концепцию нового корпуса Corsair создала корпус под названием Corsair Orion. Инженерам удалось изготовить закаленное стекло со встроенными светодиодами. Выглядит это впечатляюще. Corsair Orion LED Tempered Glass имеет 16,8 млн RGB вариантов цвета, которые настраиваются с помощью ПО для синхрон...

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

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

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

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

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

Три года в Латинской Америке: как я уехал за мечтой и вернулся после тотальной «перезагрузки» Привет, Хабр, меня зовут Саша. После 10 лет работы инженером в Москве я решился круто изменить жизнь — взял билет в один конец и уехал в Латинскую Америку. Я не знал, что меня ждет, но, признаюсь, это стало одним из моих лучших решений. Сегодня я хочу рассказать, с чем я сто...

MinIo для самых маленьких MinIO — прекрасное решение, когда надо легко и просто организовать объектное хранилище. Элементарная настройка, множество платформ и хорошая производительность сделали своё дело на ниве народной любви. Так что у нас не было другого пути, как месяц назад заявить о совместимос...

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

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

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

Перевернутая пирамида как конец вашего проекта В этой статье я хочу поделится небольшим опытом касательно построения команд в ИТ-проектах. Поговорить я хочу о такой не всегда очевидной вещи как «Пирамида зрелости команды». Читать дальше →

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

Что мощнее: Snapdragon 865 или процессор последнего iPhone Какой из самых продвинутых на сегодняшний день процессоров мощнее? Часто говорят, что процессоры Apple, как минимум, на два поколения опережают процессоры, доступные для устройств на Android. Samsung, Huawei и MediaTek делают мощные процессоры для Android-устройств и они дей...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

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

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

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

Opener 2020: Самый сок Введение На протяжении всего апреля мы с командой после учёбы и работы решали увлекательные задачи в рамках конкурса Opener от компании Itransition. Вместе с конкурсом закончился наш лучший месяц на самоизоляции. Теперь, отдохнув, я готов спокойно поделиться этим опытом с ва...

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

[Из песочницы] Конвертация текстовых документов в xml на С# Недавно мне пришлось столкнуться с необходимостью достать текст из офисных документов (docx, xlsx, rtf, doc, xls, odt и ods). Задача осложнялась требованием представить текст в формате xml без мусора с максимально удобной для дальнейшего парсинга структурой. Решение использо...

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

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

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

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

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

[Личный опыт] Как я переехал в Австралию всего с двумя годами опыта в разработке Продолжаем публикации из рубрики личный опыт. Сегодня iOS-разработчик Игорь Никитин, который два года назад переехал в Сидней, поделится опытом поиска работы, обустройстве на новом месте и впечатлениями от устройства жизни в Австралии. Передаем ему слово! Всем привет, мен...

[Перевод] Декодируем JPEG-изображение с помощью Python Всем привет, сегодня мы будем разбираться с алгоритмом сжатия JPEG. Многие не знают, что JPEG — это не столько формат, сколько алгоритм. Большинство JPEG-изображений, которые вы видите, представлены в формате JFIF (JPEG File Interchange Format), внутри которого применяется ...

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

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

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

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

Видеоурок Теплицы: плагин Mate Translate как альтернатива переводчику от Google Все мы знаем Google Translate. Это действительно очень удобный инструмент, но у Вовы Ломова возник вопрос: а есть ли какая-то альтернатива этому переводчику? Естественно круг поиска был ограничен рядом важных критериев: бесплатно, просто, онлайн, работает в браузере. И Вова ...

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

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

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

RTX Voice новая функция компании NVIDIA NVIDIA предлагает пользователям графических процессоров GeForce RTX новый плагин, позволяющий снизить фоновые шумы к нулю во время общения с друзьями или стрима. Производитель графических карт говорит о том, что ситуация в мире обязывает приспосабливаться к новым условиям ...

[Перевод] Deep Q Trading: объектно-ориентированный код на R Привет! Это перевод еще одной моей статьи, посвященной обучению с подкреплением (reinforcement learning). Эту итерацию даже предложили запостить в блоге Веды аналитики. :) В двух прошлых статьях на эту тему: 1 и 2 я пробовал создать и запустить обучение с подкреплением д...

Mozilla запустила фонд для борьбы с COVID-19 Крупная компания Mozilla объявила о создании фонда, выделив по 50 тысяч долларов на технологичные проекты помогающих бороться с вирусом. Компания ищет технологичные проекты с открытым исходным кодом, борющихся с пандемией коронавируса COVID-19. На каждый проект Mozilla обе...

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

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

Имитируем сетевые проблемы в Linux Всем привет, меня зовут Саша, я руковожу тестированием бэкенда в FunCorp. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость ...

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

Дорогая, мы убиваем бюрократию: как цифровизация меняет диалог поставщиков и X5 Когда у тебя 5 тысяч поставщиков, огромный документооборот и бизнес в масштабах страны, привычная схема сбора данных отнимает драгоценное время. Время – деньги, как известно, поэтому мы в X5 постоянно думаем над тем, как оптимизировать процесс обмена мастер-данных с поставщи...

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

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

Мы скачали 10 миллионов Jupyter-ноутбуков с Github — и вот что мы выяснили Привет, Хабр! На связи команда Datalore by JetBrains. Хотим поделиться с вами результатами анализа нескольких миллионов публично доступных репозиториев Github с Jupyter-ноутбуками. Мы скачали ноутбуки, чтобы немного больше узнать в цифрах о текущем статусе, пожалуй, сам...

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

Когда компьютерные игры — твоя работа: внутреннее устройство облачного гейминга О том, как работают игровые компании, на Хабре писали не раз и не два. Нюансы индустрии гейминга известны многим. Но о том, как организована работа в компаниях из сферы облачного гейминга, мало кто знает. Эта статья даст представление о внутренней кухне этой индустрии на ...

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

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

Как (вы)жить без отдела безопасности Безопасность — это защита объектов и интересов от угроз. Когда кажется, что с ней всё хорошо, в интернете появляется много интересного: списки e-mail и телефонов из незащищённой базы данных крупных магазинов, записи колл-центров некоторых операторов, логины и пароли производ...

Мониторинг как процесс управления событиями Привет, Хабр! Сегодня мы хотим поделиться с вами статьей по выступлению руководителя технической поддержки ИТ-ГРАД Алика Фахрутдинова, в которой расскажем о том, как мы строили новую систему мониторинга в рамках коллаборации с ПАО «МТС». На сей раз опустим технические детали...

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

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

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

«Яндекс» начал доставку тестов на коронавирус Как сообщает ТАСС со ссылкой на письмо генерального директора «Яндекса» Елены Буниной сотрудникам компании, компания начала осуществлять доставку тестов на коронавирус для своих сотрудников. «Сегодня мы получили тесты и готовы начать тестировать наш сервис в Москве. С вашей ...

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

[Перевод] 10 отличных Github репозиториев для разработчиков (часть 2) Привет, хабровчане. Недавно у меня был пост, где я перевел статью со списком крутых репозиториев на Github. Читателям зашло, поэтому решил сделать продолжение, тем более, что автор оригинала предложил еще один интересный список. Кому интересно, добро пожаловать под кат. Как...

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

Купила баба порося... MKS Robin nano / Sapphire PRO Здравствуйте, уважаемые! Эта запись о переписанной прошивке для платы MKS Robin nano, модуле управления питанием и модуле WiFi. Попытка начать описание проделанной работы.Началось все как у всех: купил принтер Sapphire PRO... Как по мне, так отличный аппарат за исключением т...

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

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

Android insets: разбираемся со страхами и готовимся к Android Q Android Q — это десятая версия Android с 29-м уровнем API. Одна из главных идей новой версии это концепция edge-to-edge, когда приложения занимают весь экран, от нижней рамки до верхней. Это значит, что Status Bar и Navigation Bar должны быть прозрачными. Но, если они прозра...

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

Hack The Box — прохождение Bitlab. Слабая JS обфускация, GIT и реверс Windows приложения Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье разберемся с легенькой JavaScript обфускацией, загрузим бэкдор через репозиторий Git, и отладим...

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

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

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

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

Российские инженеры удешевили ремонт самолетов при помощи 3D-принтера с Aliexpress Ведущий инженер-конструктор конструкторского бюро "Сокол", являющегося филиалом корпорации "МиГ", Алексей Ленкин рассказал о том, что одной из самых крупных проблем в отрасли является невозможность установки изготовленной для ремонта деталь в самолет. К счастью, российские и...

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

[Перевод] Преобразуем проект на Python в исполняемый файл .EXE С помощью Auto PY to EXE можно с лёгкостью преобразовывать файлы .py в файлы .exe. Благодаря этому ваш проект на Python будет работать как десктопное приложение и вы сможете запускать приложение на других машинах без необходимости установки Python. В этой статье я расскажу...

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

Как мигрировать большой процесс с IBM BPM на Camunda и не останавливать разработку фич Привет, меня зовут Денис, я работаю в Тинькофф и занимаюсь BPM-системами. В этой статье я расскажу, как мигрировать с легаси систем а-ля IBM BPM на опенсорс движок процессов Camunda на примере большого процесса. А в конце приглашу вас на четвертый митап по Camunda, который...

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

[Перевод] Разработчик игры VVVVVV в честь её десятилетия сделал исходный код открытым Сегодня — десятилетняя годовщина релиза VVVVVV! Хотя, возможно, и завтра — строго говоря, впервые игра стала доступной 3 часа утра по GMT 11 января 2010 года, спустя очень долгий день устранения каждого найденного мной бага, создания сборок последней минуты и попыток медле...

Вышло существенное обновление программы Apple Logic Pro X Компания Apple представила обновление программы Logic Pro X, в котором полностью переработан профессиональный инструмент сэмплинга Live Loops и добавлены новые функции для создания ритмов. По словам разработчика, Logic Pro X 10.5 «открывает уникальные возможности ...

[Перевод] Машинное обучение столкнулось с нерешенной математической проблемой Салют, хабровчане! В преддверии запуска новых потоков по продвинутому и базовому курсам «Математика для Data Science» хотим поделиться с вами достаточно интересным переводом. В этой статье не будет практики, но материал интересен для общего развития и обсуждения. Группа ис...

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

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

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

ESP32 development board с кастомным дизайном Наконец то у меня добрались руки до сборки минимального аналога Espressif Systems плат на ESP32 микроконтроллере. На плате расположен микрофон, усилитель для этого микрофона на одном транзисторе. Усилитель для динамика на трех транзисторах с выходным каскадом работающим в р...

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

Делаем маршрутизацию (роутинг) на OpenStreetMap. Введение Хотелось бы поделиться опытом создания систем маршрутизации PostgreSQL/PgRouting на карте OpenStreetMap. Речь пойдет о разработке [коммерческих] решений со сложными требованиями, для более простых проектов, вероятно, достаточно обратиться к документации. Насколько мне извест...

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

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

Управляя Github-ом: через Terraform к самописному решению на Ansible У нас 350+ человек и 400+ репозиториев на Github-е. В каждой репе может быть несколько админов, и они творят, что считают нужным, — естественно, случается так, что один человек не знает, что делает другой. Когда нам в инфре надоело смотреть на мучения других и добавлять/удал...

NewNode — децентрализованная CDN от разработчика FireChat На днях я наткнулся на упоминание некоего NewNode: NewNode — SDK для мобильной разработки, который делает любое приложение неубиваемым для любой цензуры и DDoS, и драматически снижает нагрузку на сервере. P2P сеть. Может работать в теории без интернета. Выглядело довольно...

Анализ исходного кода Emby при помощи анализатора PVS-Studio Emby — довольно известный медиасервер, наравне с Plex и Kodi. В этой статье мы попробуем проверить его исходный код при помощи статического анализатора PVS-Studio. На официальном сайте Emby есть маленькая пометочка «Built with ReSharper». Что же, так даже интереснее. Читать...

История одного патча Apple В этом году мы с a1exdandy выступали на конференциях VolgaCTF и KazHackStan с докладом про Patch Diffing программ написанных на Оbjective-С и то, как с его помощью можно искать и находить 0-day и 1-day уязвимости в продуктах компании Apple. Видео выступления можно посмотрет...

[Перевод] Как достичь Уровня 5 по модели CMM в области QA и тестирования Перевод статьи подготовлен специально для студентов курса Python QA Engineer. В этой статье мы поговорим о том, что такое уровни СММ и как их достичь в QA-процессах, а также рассмотрим доступные и понятные примеры. Для любого процесса, будь то процесс контроля качества,...

SwiftUI 2020. Что изменилось? Приветствую вас, жители Хабра и все интересующиеся разработкой под IOS. На связи Анна Жаркова, Senior iOS/Android разработчик компании Usetech Сегодня мы поговорим о тех изменениях и новшествах, которые нам представляет Apple на WWDC 2020. А именно про доработанную и даже пе...

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

Celery + asyncio Привет, Хабр! Я хочу рассказать, как я решал проблему эффективного конкурентного исполнения asyncio задач в Celery. Читать дальше →

Баг Safari в iOS 13 позволяет любому просматривать историю браузера пользователя Не делитесь своими файлами с кем попало В iOS 13 и macOS Catalina была найдена новая уязвимость, которая позволяет практически любому получить доступ к истории браузера Safari другого пользователя. По непонятным причинам Safari Web Share API, который отвечает за меню «Подели...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

GSM/3G/4G-модемы во встраиваемых системах на примере LTE-модема Quectel EC21 и Yocto Project Многим устройствам на базе встраиваемых систем необходим интернет. Проводное подключение к интернету для них не всегда возможно, и если устройства находятся в зоне действия сотовой связи, то к интернету можно подключиться с помощью GSM/3G/4G-модемов. В этой заметке описан ...

Как работает Object Tracking на YOLO и DeepSort Object Tracking — очень интересное направление, которое изучается и эволюционирует не первый десяток лет. Сейчас многие разработки в этой области построены на глубоком обучении, которое имеет преимущество над стандартными алгоритмами, так как нейронные сети могут аппроксимир...

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

[recovery mode] Культура как основа масштабирования команды х2 каждый год. Про ошибки в найме и culture fit Я работаю менеджером разработки в Miro и активно участвую в найме. Последние несколько лет наша команда удваивается ежегодно и становится мультикультурной, у нас открываются офисы в Америке и Европе. 5 лет назад, в начале стадии быстрого роста, наши процессы найма и онборди...

[Перевод] Низкоуровневое программирование STM32: от включения питания до «Hello, World» В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том...

WebRTC на Android: как включить аппаратное кодирование на множестве устройств Для видеозвонков в Badoo мы используем стандарт WebRTC и кодек H.264. Если верить документации, этот кодек должен без проблем работать на любых устройствах Android начиная с Android 5.0. Но на практике всё оказалось не совсем так. В этой статье я расскажу про особенности реа...

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Canny или Arduino) и Raspberry PI Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, ...

Решаем практические задачи в Zabbix с помощью JavaScript Тихон Усков, инженер команды интеграции Zabbix Zabbix — кастомизируемая платформа, которая используется для мониторинга любых данных. С самых ранних версий Zabbix у администраторов мониторинга была возможность запускать различные скрипты через Actions для проверок на целевы...

7 бесплатных курсов для специалистов по работе с данными (DS и DE) Finale! Именно этим итальянским словом можно назвать эту статью. Ведь она последняя уже во второй серии подборок бесплатных курсов от Microsoft. И сегодня у нас курсы для специалистов по анализу данных и инженеров данных. Присоединяйтесь! Кстати! Все курсы бесплатные (вы ...

Вышли декабрьские патчи для Android Компания Google опубликовала очередной бюллетень с перечнем уязвимостей, устраненных в мобильной ОС. Полтора десятка из них актуальны для всех Android-устройств вне зависимости от производителя. Самая серьезная проблема, по оценке разработчиков, связана с ошибкой в коде комп...

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

[Перевод] Изучаем mutmut — инструмент для мутационного тестирования на Python Мутационное тестирование позволяет выявить баги, которые не покрыты обычными тестами. У вас есть тесты на все случаи жизни? Или может быть, в репозитории вашего проекта даже лежит справка «О 100-процентном тестовом покрытии»? Но разве в реальной жизни всё так просто и дости...

3 крутых бесплатных приложения, которые не дадут вам скучать сегодня Ежедневно мы мониторим App Store и десятки сайтов со скидками, чтобы выбрать лучшие приложения и опубликовать и здесь. Сегодня можно скачать, пожалуй, лучшее приложение для рисования на iPad (еще и бесплатно!), самую необычную игру и… приложение, которое поможет вам в...

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

Microsoft сертификация Online — записки с полей Microsoft Russia перевела статью о процессе сдачи экзамена онлайн. Через меня за последний год, так или иначе, прошли уже сотни, если не тысячи людей, готовившихся, сдавших экзамены. Многие из них сдавали онлайн, еще до Covid-19, а уже после закрытия сертификационных центр...

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

[Перевод] Теория вероятностей для физически точного рендеринга Введение В рендеринге часто используется вычисление многомерных определённых интегралов: например, для определения видимости пространственных источников освещения (area light), светимости, доходящей до области пикселя, светимости, поступающей за период времени и облучения, ...

Беспроводные наушники OPPO Enco W11 и OPPO Enco W31 Компания OPPO анонсировала старт продаж в России беспроводных наушников OPPO Enco W11 и OPPO Enco W31 по цене 3 990 рублей и 6 990 рублей соответственно. OPPO Enco W11 способны работать 5 часов без подзарядки в течение 15 минут, а с помощью кейса – до 20. Также устрой...

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Целевая аудитория Вы разработчик, который хочет повернуть свою карьеру в сторону более совершенной модели DevOps? Вы являетесь классическим Ops-инженером и хотели бы получить представление о том, что означит DevOps? Или же вы не являетесь ни тем, ни другим и, потратив некото...

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

GlobalFoundries хочет заменить Embedded Flash на eMRAM По мере роста индустрии Интернета вещей, все ожидают увидеть более мощные устройства. Компания GlobalFoundries предлагает решать одно из направлений развития IoT-устройств с помощью новых накопителей.

Java-дайджест за 30 апреля Марк Рейнхольд (Chief Architect of the Java Platform Group at Oracle) рассказал о новом проекте: Project Leyden. Проект должен решить проблему долгого запуска, медленного достижения пиковой производительности и лютого пожирания оперативной памяти… нет, не с помощью GraalVM...

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

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

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

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

Профессия: тестировщик Тестировщик: Это баг или фича? Разработчик: Пока что это фича. bash.im Инженер по тестированию — моя первая специальность в ИТ-сфере в далёких уже 2010-х, как, пожалуй, и у многих. Это было классическое «войти в айти»: на тот момент имелось только экономическое образование ...

[Из песочницы] HTTP Error 503. Service Unavailable: случай в поддержке хостинга Работа в поддержке хостинга в основном однотипная, большинство запросов от клиентов решаются по проработанной схеме, но иногда всё же приходится сталкиваться с нетривиальными проблемами. Тогда главная задача инженера — найти тот самый — единственно верный путь, который приве...

Отправляем письма с помощью asyncio и aiohttp из Django приложения Всем привет! Я занимаюсь разработкой и поддержкой сервиса уведомлений в Ostrovok.ru. Сервис написан на Python3 и Django. Помимо транзакционных писем, пушей и сообщений, сервис также берёт на себя задачи по массовым рассылкам коммерческих предложений (не спам! trust me, отп...

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

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

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

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

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

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

[Перевод] Миллион спрайтов при 120 с лишним fps Если вы побродите по форуму DOTS, то можете встретить там подобные посты о том, как автор написал библиотеку, способную рендерить миллион анимированных спрайтов, и всё равно получает только 60fps. Я создал собственный рендерер спрайтов DOTS, который достаточно хорош для наш...

[Перевод] Учимся писать информативные комментарии к GIT-коммитам используя общепринятую семантику Когда я только знакомился с системами контроля версий (особенно с git), я рассматривал их только как приложения, которые помогают мне хранить историю изменений моего кода. Т.е. когда случается что-то нехорошее, я могу просмотреть историю коммитов и вернуться к последнему «хо...

Гаджеты недели 30 декабря 2019 года В этом выпуске: летающий робот-пылесос Roomba; портативный синтезатор Artiphon Orba; «солнечные» наушники Reflect Eternal и другие любопытные гаджеты. iKlips C Flash Drive для iPhone и iPad Pro создает резервные копии Создавайте резервные копии и перенос...

[Из песочницы] Быстрый деплой vm ESXi с помощью Terraform Всем привет, меня зовут Иван и я алкоголик системный администратор (OPS). Я бы хотел рассказать как разворачиваю виртуальные машины на ESXi без vCenter с помощью Terraform. Читать дальше →

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

[Перевод] Thanos — масштабируемый Prometheus Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты». Фабиан Рейнарц (Fabian Reinartz) — разработчик программного обеспечения, фанат Go и любитель решать сложные задачи. Также он мэйнтейнер Prometheus и соучредитель Kubernetes SIG instr...

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

Материалы с казанского Go-митапа: разбор XML, gopls, drone.io и работа с миграциями Привет! Мы вернулись из Казани, где проводили свой первый региональный митап для Go-разработчиков вместе с сообществом GolangKazan. Спасибо всем, кто пришёл послушать доклады и познакомиться — было здорово. На митапе выступали спикеры из компаний «Д...

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

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

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

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

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

[Из песочницы] Валидация XML с помощью XSD, JAXB и Spring Framework Обзор Здравствуйте! В этой статье я хочу описать программу валидации XML с помощью Spring Framework. Наиболее очевидная область применения такой валидации — это программирование web-сервисов. Валидация производится через преобразование XML-Java (unmarshalling) по соответству...

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

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

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

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

Программируем на iPad Pro Можно ли заменить программисту MacBook на iPad Pro? Программисты для работы часто предпочитают использовать MacBook. Ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом предлагают плавный и приятный интерфейс, чего до сих пор не может дать нам Linux (даже Ubuntu 19.1...

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

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

[Из песочницы] Свои Custom Controls в Angular Пролог Поговорим о реактивных формах в angular, узнаем за кастомные контролы, как их создавать, использовать и валидировать. Статья предполагает что вы уже знакомы с фреймворком angular, но хотите больше погрузиться в её специфику. Хорошее желание, начнем. Читать дальше &ra...

Google выпустила бета-версию Android 11. Скачать можно уже сейчас Компания Google, наконец, выпустила бета-версию Android 11 для разработчиков. Developer Preview, как правило, предназначены для тестирования и адаптации приложений разработчиками под новую версию операционной системы. На сайте обновления Google разделила нововведения на 3 р...

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

Настройка GitLab CI CD для Java приложения Из-за прекращения поддержи Bitbucket Setver пришлось переехать на GitLab. В Bitbucket Server не было встроенного CI/CD, поэтому использовали Teamcity. Из-за проблемы интеграции Teamcity с GitLab, мы попробовали GitLab Pipline. И остались довольны. Читать дальше →

[Из песочницы] Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания) Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar. Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успех...

Swagger/OpenAPI Specification как основа для ваших приёмочных тестов Человеческая жизнь слишком коротка, чтобы тратить ее на интеграцию и документацию. С помощью контрактов и кодогенераторов можно сократить рутинные операции и переписывание кода, обеспечить недосягаемое иными способами покрытие и достигнуть невыразимой чёткости бытия тестиров...

Как оптимизировать изучение английского Ни для кого не секрет, что знание английского на хорошем уровне — уже must-have для современного человека. В нынешней реальности с бешеным темпом жизни, напряженной работой и попыткой найти work-life balance, чтобы выучить язык чаще всего приходится прибегать к помощи репе...

У AMD украли исходные коды будущих графических процессоров, в том числе и Xbox Series X Официальным пресс-релизом компания AMD сообщила, что в конце прошлого года у неё была украдена определённая интеллектуальная собственность, связанная с нынешними и будущими графическими разработками. Вскоре после этого ресурс Torrentfreak конкретизировал, что у AMD был украд...

Криптовалюта. ICO, IEO, STO. Майнинг. Блокчейн: регулирование в России. Полная история: 2014-2019 годов Пролог Юрист — человек, который может написать ответ на 10 листов и назвать его кратким. Основной мой бизнес связан с юриспруденцией. Почти еженедельно приходит 1-2, а то и 3-5-10 клиентов, которые задают одни и те же вопросы: «Каков статус криптовалют/токенов в РФ/СНГ?»;...

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

«У Предназначения масса обличий...» или автоматизируем управление автолампой с помощью CANNY 3 tiny и фоторезистора В прошлой статье на Хабре я рассказал вам о том, как получил в подарок контроллер Canny3 tiny. Мы «поморгали» светодиодом, понажимали на кнопку. На этом в принципе можно было и закончить эксперименты. Однако, последние пару недель я слушаю аудиокниги про Ведьмака и поэтом...

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

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

Ученые создали переносное устройство для анализа микробов в окружающей среде В научном журнале Scientific Reports была опубликована статья о работе исследователей из Университета Рутгерс-Нью-Брансуик. Инженерам удалось разработать совершенно новый портативный анализатор микробов в окружающей среде, благодаря которому специалисты смогут быстро обнаруж...

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

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

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

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

Избавляемся от паролей в репе с кодом с помощью HashiCorp Vault Dynamic Secrets Привет, Хабр! Меня зовут Сергей, я работаю IT Head в компании Quadcode. Сегодня хотел бы рассказать о том, как я решил проблему с хранением паролей в открытом виде в коде одного из моих pet-проектов. Думаю, это знакомая для многих ситуация. Знакомая — и неприятная. Сразу ска...

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

Обзор основных функций Google BigQuery и примеры запросов для маркетинг-анализа Google BigQuery – это быстрое, экономичное и масштабируемое хранилище для работы с Big Data, которое вы можете использовать, если у вас нет возможности или желания содержать собственные серверы. В нем можно писать запросы с помощью SQL-like синтаксиса, стандартных и пользова...

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

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

Apple решит проблему с динамиками в 16-дюймовых MacBook Pro В последние несколько дней в сети активно обсуждается проблема с динамиками 16-дюймового MacBook Pro. Пока купертиновцы официально не комментируют ситуацию. Однако согласно внутреннему документу Apple, проблема будет устранена в следующем обновлении macOS. Если верить имею...

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

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

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

Стали известны характеристики Xbox Series X и PlayStation 5 На днях была произведена утечка характеристик нового поколения консолей. Это стало возможным благодаря тому, что компания AMD в закрытой репозитории GitHub сохранила данные о тестировании нового оборудования, которое проходило полгода назад. Характеристики Xbox Series X CPU:...

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

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

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

1000 и 1 способ обойти Safe Exam Browser Ну ладно, не 1000 и 1 способ, но их довольно много! О чем это мы? О том, что пандемия COVID-19 внесла много изменений в нашу жизнь, в том числе, и в образование — как школьное, так и ВУЗовское. Уроки, лекции и семинары перешли в онлайн-формат, а вопрос, как быть с контролем...

[Перевод] 70 вопросов по JavaScript для подготовки к собеседованию Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Mark A «70 JavaScript Interview Questions». Надеюсь, эта статья будет полезна как начинающим разработчикам, так и бывалым (я хотел сказать, опытным). Первым для изучения, вторым для повторения. Лич...

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

Похоже, MIUI 12 плохо работает с Nova Launcher и другими сторонними лаунчерами MIUI 12 от Xiaomi распространяется довольно давно, но есть еще некоторые проблемы, которые еще предстоит решить. Пользователи сообщают о проблемах, которые нарушают функциональность сторонних программ запуска, таких как Nova, Lawnchair и других, после обновления MIUI 12. Про...

Изучаем React: 300+ вопросов для подготовки к собеседованию Доброго времени суток, друзья! Представляю вашему вниманию первую версию репозитория с большим количеством вопросов (с ответами, разумеется) по React и связанным с ним технологиям. А много — это сколько? Это 322. Почему первая версия? Потому что будет еще и вторая, прим...

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

Как и почему мы переехали с собственного npm-репозитория на Verdaccio Всем привет. Меня зовут Андрей Фримучков, я работаю в команде инфраструктуры разработки интерфейсов Яндекса. Последние два месяца участвовал в запуске нового хранилища пакетов. Около года назад мы упёрлись в ограничения собственного решения и после череды экспериментов пришл...

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

Мониторинг СХД IBM Storwize при помощи Zabbix В данной статье мы немного поговорим о мониторинге СХД IBM Storwize и других СХД, поддерживающих протоколы CIM/WBEM. Необходимость такого мониторинга оставлена за скобками, будем считать это аксиомой. В качестве системы мониторинга будем использовать Zabbix. В последних ве...

[Перевод] Vim с поддержкой YAML для Kubernetes Прим. перев.: оригинальную статью написал Josh Rosso — архитектор из VMware, ранее работавший в таких компаниях, как CoreOS и Heptio, а также являющийся соавтором Kubernetes alb-ingress-controller. Автор делится небольшим рецептом, который может оказаться очень полезным для ...

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

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

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

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

Web scraping вашего сайта: непрошеные гости и как их встречают На первом в истории полностью виртуальном мероприятии РИТ++, прошедшем в конце мая, инженер Qrator Labs — Георгий Тарасов, рассказал публике про веб-скрейпинг, он же парсинг, популярным языком. Мы решили предоставить вашему вниманию транскрипцию выступления. Читать дальше ...

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

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

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

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

[Из песочницы] Flutter. Как прокачать ваш BLoC Реализующих BLoC паттерн библиотек много. Но та, о которой я расскажу, необычная, и называется isolate_bloc. Как можно понять из названия — это какой-то необычный блок, а особенность его в том, что он работает в отдельном Isolate (далее изолят) и не тормозит ваш UI. В че...

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

[Личный опыт] Из соискателя в наниматели: продакт советует, как проходить интервью в США Привет! Меня зовут Анна Наумова, сейчас я работаю старшим менеджером по продукту (Senior Product Manager) в компании Zello в Остине, штат Техас. Сначала я сама прошла 110 собеседований в Америке, а теперь сижу по другую сторону стола и...

Сотни тысяч маршрутов в секунду на ядро. Опыт Яндекс.Маршрутизации Пару недель назад Даня Тарарухин рассказал на Хабре, как появился наш сервис, Яндекс.Маршрутизация, и как он помогает компаниям с логистикой. Создавая платформу, мы решили несколько интересных проблем, одной из которых и посвящён сегодняшний пост. Я хочу поговорить о самом...

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

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

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

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

Где порешать аналитические задачи от команд Яндекса? Контест и разбор Сегодня начинается пробный раунд чемпионата по программированию Yandex Cup. Это означает, что можно с помощью системы Яндекс.Контест решать задачи, подобные тем, которые будут в квалификационном раунде. Пока результат ни на что влияет. В посте вы найдёте условия задач трек...

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

1000 и 1 пост: с Днём рождения, Хабр ❤ 26 мая — День рождения Хабра. А ещё вышла наша 1000-ая публикация, которой могло бы не быть, если бы Хабр не был тем, который он есть. В этой статье мы расскажем о нашем пути и о наших выводах, которые удалось сделать за 4 года ведения блога. Но это ниже, под катом. А здесь ...

Будни OEMщика (Часть 1) Понятие «OEMщик» очень широкое, оно может подразумевать любого сотрудника, работающего в одной из многих сфер производства. В данной статье под OEM подразумеваются продукты компании Microsoft, поставляемые вместе с производимым оборудованием. Т.е., под OEMщиком подразумевает...

Флагманские телефоны Android работают с полноценной Windows 10 Еще в 2017 году Microsoft представила версию Windows 10 для устройств на чипах ARM. С тех пор Microsoft и Qualcomm совместно работают над оптимизацией под Windows 10 для ARM и позволяют разработчикам переносить свои приложения x86 на устройства ARM64.Разработчики возились с ...

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Я системный администратор, занимаюсь компьютерами, и сегодня мы поговорим о Kubernetes. Я постараюсь глубже окунуться в тему, рассмотрев, какие проблемы сисадмин может решить с помощью этого приложения, и также затрону некоторые моменты эксплуатации Puppet, которая вроде как...

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

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

[Из песочницы] Как я взломал мошенников, или просто внутренности фишинг-панелей INTRO Недавно столкнулся с обычной для интернета ситуацией — классической просьбой от родственника отдать свой голос за него в каком-то голосовании. Оказалось, человека "взломали" мошенники, а ссылки на голосование вели на фишинговые ресурсы. Я увлекаюсь безопаснос...

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

Microsoft "сломает" интернет пользователям Internet Explorer Microsoft принудительно будет переводить «староверов» на новый браузер Edge. В знакомом Internet Explorer популярные сайты просто не будут работать. С лета 2020 года компания Microsoft тестировала очередное обновление своей операционной системы Windows, которое станет обязат...

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

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

SIRR, не соизволите ли удалить отражение? Привет! Меня зовут Артём, я учусь на совместной кафедре анализа данных Яндекса и Физтеха. Хочу поделиться с ML-сообществом Хабра темой, тесно связанной с моей научной работой: «Удаление отражений с помощью свёрточной сети, обученной на синтетическом датасете». А чтобы вы мог...

Сам себе Роскомнадзор. Как я заблокировал соцсети У меня отключена лента Фейсбука и Вконтакте, нет подписок в Инстаграме, Ютубе и Твиттере. При этом я ниоткуда не удалялся, в монастырь не уходил и продолжаю вести нормальную жизнь человека 2020 года. Надевайте шапочку из фольги и присаживайтесь поудобнее, я расскажу о своё...

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

Сгореть и вернуться из пепла или люди-фениксы История о том как “сгорают” в распределенных командах. Мы, в ProtocoleOne, пишем разные проекты и почти все они Open Source. И так уж сложилось, что крутые специалисты живут в разных городах и даже странах и не только в столицах. Один из таких проектов — PaySuper. Проект дл...

Учет расходов на iPhone и «ужасная» головоломка: что скачать сегодня Ежедневно мы вручную отбираем для вас лучшие предложения из App Store, которые становятся бесплатными или распространяются с большой скидкой. Каждый день новые и лучшие приложения для ваших iPhone, iPad или Mac. Сегодня в подборке у нас полезный to-do менеджер, приложение д...

«Связной» запускает сервис по ремонту устройств от 30 минут Теперь клиенты могут оперативно получить консультацию и помощь высококвалифицированного инженера прямо в магазинах ритейлера. Сервисные центры уже запущены в Вологде и Уфе, а до конца года планируется открытие в Москве, Красноярске, Воронеже и Рязани.

ComputerVision и стиль Несколько месяцев назад я писал статью про тихую революцию в ComputerVision - про трансформеры. А сейчас я хочу поговорить про другую революцию в CV. Уже не такую тихую (статьи тут куда более известные). Рассказ будет про GAN'ы. Как ими сегодня умеют управлять, и что достигл...

Выкладка go pet проекта на VPS Привет, Хабр! Меня зовут Артем Желтак, я teamlead, а также преподаватель курса “Разработчик Golang” в OTUS. В преддверии старта нового потока курса, хочу поделиться с вами своей авторской статьей. Я верю, что Golang прекрасен, но в мире еще много php и других проектов рабо...

Учимся квантовому программированию на Python с помощью примеров. Доклад Яндекса Сегодня любой желающий может воспользоваться методами квантового программирования, написать простой код на Python и запустить его на реальном квантовом вычислителе. Ришат Ибрагимов rishat_ibrahimov разобрал основы квантовых вычислений на примерах с кодом, показал, как запуск...

Xiaomi объявила 2020 год годом своей экосистемы в России На днях компания Xiaomi подвела итоги 2019 года, рассказав о своих продажах, достижениях, партнерских соглашениях и планах, а также объявив 2020 год – годом экосистемы для Xiaomi в России. Главным событием для большинства пользователей продукции компании стало внедрение ...

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

[Из песочницы] UX-исследование ДБО: наш опыт, ошибки и открытия Привет. Я Денис Элиановский, дизайн-директор в JTC и руководитель в Opium Pro. Мы работаем в очень узких сегментах рынка IT, связанных с финансами и документооборотом. Вы точно ещё не слышали об этих компаниях и сегодня мало что о них узнаете, ведь эта статья про UX-исследов...

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

Как дизайн-студии помогают социальным проектам В 2019 году к программе «Пасека» присоединилось более 30 новых веб-студий, агентств и фрилансеров. На ежегодной встрече в Москве 20 ноября представители веб-студий и профессионалы IT-индустрии рассказали про свой опыт работы с некоммерческими организациями и социальным...

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

Игра «Бизнес на выживание»: заработайте миллион за 3 минуты Свой бизнес — это интересно, но сложно. Надо не только зарабатывать, но и решать проблемы подчинённых — а их хоть отбавляй! Попробуйте порулить небольшой компанией и не разорить её в нашей новой игре. Если продержитесь 180 секунд, сможете получить классные призы от Mastercar...

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

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

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

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

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

Новые экзамены по Azure За последние 3 месяца, Microsoft анонсировал много изменений в сертификации и экзаменах. Часть из них описаны в этой статье. В этой статье фокус выставлен не на совершенно новые экзамены, а на обновленные версии ранее существовавших: AZ-104 для администраторов, AZ-204 для ...

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

Apple прокомментировала обвинение в слежке за ... Не так давно журналист-расследователь Брайн Кребс опубликовал материал, в котором рассказал о том, что iPhone 11 Pro несанкционированно отслеживает месторасположение аппарата. Это обвинение не осталось незамеченным со стороны Apple, и компания опубликовала свой комментарий, ...

Как инженеру профессионально развиваться в компании. Конспект митапа из серии “Инженер заходит в бар" Это текстовая расшифровка митапа на тему профессионального развития инженера в компании. Дискуссия состоялась между CTO, техлидами и тимлидами из Miro, X5 Retail Group, FunBox, ManyChat и MadRobots. Митап прошёл в рамках серии «Инженер заходит в бар», где инженеры из разных...

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

Как остаться в форме на карантине и заменить iMovie: что скачать в App Store Каждый день мы мониторим App Store и десятки сайтов со скидками, чтобы выбрать лучшие приложения и опубликовать и здесь. Сегодня вот можно урвать бесплатно приложение, которое поможет не превратиться в «пончик» во время карантина, полезный видеоредактор, ну и апок...

Упрощение разработки приложений для Windows На сегодняшней конференции Microsoft Ingine компания поделилась информацией о прогрессе в упрощении разработки приложений для Windows и новых возможностях для разработчиков. Project Reunion Project Reunion — единая платформа приложений, унифицирующая доступ к существующим A...

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

Две красные кнопки, паяльник и React: как мы делали движуху для IT-конференции Badoo регулярно участвует со стендом в выставках IT-конференций. Поэтому каждый год мы с коллегами — инженерами и деврелами — придумываем, что бы такого айтишного сделать, чтобы не скучать в перерывах между докладами. Меня зовут Иван, я frontend-разработчик. В этой статье вм...

Windows 10 работает на iPhone Хотели бы вы сделать так, чтобы Ваш iPhone мог гораздо большее, чем просто запускать приложения магазина Apple? Группа независимых разработчиков работает над похожим приложением. UTM – это новое приложение, которое использует QEMU (программное обеспечение для виртуализации) ...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

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

[Из песочницы] Формат таблиц в pandas Если вы пока ещё не знаете как транслировать данные напрямую заказчику в подсознание или, на худой конец, текст сообщения в slack, вам пригодится информация о том, как сделать процесс интерпретации таблиц более быстрым и комфортным. Например, в excel для этого используется у...

Гибкие процессы в IT команде Всем привет, меня зовут Алексей Федоров, я тимлид команды финансов в Ситимобил. В этой статье я хочу поделиться тем, как устроен процесс гибкой разработки в нашей команде. Читать дальше →

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

Как вырастить веб-разработчика от стажера до архитектора. Матрица компетенций Вместо эпиграфа Когда в 2004 году я окончил университет, в нашем городе почти не было команд разработчиков. Где работать, у кого набираться практического опыта? Выбор был прост: “админом” или “в Москву”. Или уйти из профессии. Сейчас я преподаю веб-разработку в местных ВУЗ...

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

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

[Перевод] Как работает гистограмма Prometheus? Перевод статьи подготовлен в преддверии старта курса «Мониторинг и логирование: Zabbix, Prometheus, ELK». Ранее мы рассматривали счетчик (counter), измеритель (gauge) и сводку (summary). Теперь же давайте поговорим о том, как работает гистограмма (histogram) в Prometheus....

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

SOTabBar: красивый TabBar для iOS Начнем неделю с чего-нибудь простого! Наконец-то красивый и относительно простой в использовании TabBar для iOS. Встречайте SOTabBar — самый быстрорастущий репозиторий на GitHub в прошлый понедельник :). Пример использования: import UIKit import SOTabBar class MainView...

Кому на бюджете жить хорошо? ВСТУПЛЕНИЕ В каком году — рассчитывай, В какой земле — угадывай, На столбовой дороженьке Сошлись семь мужиков: Семь временнообязанных, Подтянутой губернии, Уезда Терпигорева, Пустопорожней волости, Из смежных деревень: Заплатова, Дырявина, Разутова, Знобишина. Горелова, Нее...

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

Тренды в тестировании в 2020 Автор статьи: Дмитрий Шадрин Вступление Хочется поделиться моим топом инструментов для тестирования, которые еженедельно помогают мне в эффективной работе и улучшении своих показателей. Я занимаюсь тестированием на аутсорсе и приходится работать с различными видами проду...

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

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

[Из песочницы] Все, что вы должны знать о std::any Привет, Хабр! Представляем вашему вниманию перевод статьи «Everything You Need to Know About std::any from C++17» автора Bartlomiej Filipek. С помощью std::optional вы можете хранить один какой-то тип. С помощью std::variant вы можете хранить несколько типов в одном объек...

[Из песочницы] О работе ПК на примере Windows 10 и клавиатуры ч. 1 Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Window...

Чем заняться в выходные? Скачайте эти 3 игры со скидкой! Настало время новых бесплатных приложений и скидок в App Store! Сегодня раздают бесплатно интересную RPG, а со скидкой можно урвать еще две хорошие игры, которые обычно стоят гораздо дороже. Если хотите посмотреть все бесплатные игры и приложения со скидкой, в конце статьи ...

Потоковая передача колоночных данных с помощью Apache Arrow Перевод статьи подготовлен специально для студентов курса «Data Engineer». За последние несколько недель мы с Nong Li добавили в Apache Arrow бинарный потоковый формат, дополнив уже существующий формат файлов random access/IPC. У нас есть реализации на Java и C++ и привяз...

Бот в telegram, который следит за доменом Привет жителям Хабра. В попытках изучения PHP и долгих раздумьях, пришла в голову мысль, для практики написать какого-нибудь бота на PHP, без использования фрэймворков. Выбор пал на бота, который будет получать информацию о жизни домена (whois), затем доставать оттуда дату...

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

План начинающего тестера: от “Войти в IT” до “Я — Инженер!” Всем привет! Меня зовут Валентин и я работаю инженером по тестированию в компании Exness. Очень часто слышу вопрос о том, насколько сейчас возможно стать тестировщиком программного обеспечения. В этой статье я постараюсь ответить на данный вопрос. Читать дальше →

Алгоритм планирования задач на TypeScript. Теория графов наконец-то пригодилась В этой статье я хочу рассказать об алгоритме, который помогает ответить на извечный вопрос всех проектов: Когда проект будет закончен?Более формально проблема звучит так: "Проект состоит из задач, которые могут зависеть друг друга, а также могут иметь один и тех же испо...

Как устроены технические стажировки Авито Несколько раз в год мы набираем стажёров в технический департамент Авито. Они работают от шести месяцев до года и решают боевые задачи. По итогам большинство стажёров переходят в штат. Нас зовут Станислав Юрков и Ирина Мулёва, мы...

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

Уменьшение времени отклика при передаче данных по UDP Привет, Хабр! В этой статье я хочу рассказать о решении одной из типичных проблем, с которой Embox справляется лучше GNU/Linux. Речь идет о времени реакции на пакет, переданный по протоколу Ethernet. Как известно, основной характеристикой передачи данных по сети является пр...

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

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