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

Запуск werf в GitLab CI/CD без Docker-сервера В этой статье рассмотрен новый экспериментальный режим работы werf — Open Source-утилиты для сборки приложений и их деплоя в Kubernetes, — в котором не требуется наличие Docker-сервера. Мы покажем, как убедиться, что это режим будет работать на вашей машине, соберем первый о...

werf v1.2 — стабильный релиз Open Source-утилиты для доставки приложений в Kubernetes werf — это CLI-утилита с открытым кодом для сборки приложений и их деплоя в Kubernetes. С версией v1.2 она получила множество изменений и улучшений, которые мы так тщательно тестировали и дорабатывали, что релиз долгое время — с января 2021-го — находился в статусе Early-Acc...

Книга «C# 9 и .NET 5. Разработка и оптимизация» Привет, Хаброжители! В этой книге опытный преподаватель Марк Прайс дает все необходимое для разработки приложений на C#. В пятом издании для работы со всеми основными операционными системами используется популярный редактор кода Visual Studio Code. Издание полностью обновле...

Представляем онлайн-самоучитель по Kubernetes и деплою с werf для разработчиков Рады представить новую версию онлайн-самоучителя по werf, нашей CI/CD-утилите с открытым кодом!Общая идея самоучителя — познакомить разработчиков с Kubernetes, показав на простых приложениях (готовы примеры для Ruby on Rails, Node.js и Laravel), как можно развертывать прилож...

Деплоим приложение на Django в Kubernetes с нуля Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на серверах: начиная от простого git pull до ci/cd на нескольких серверах.Сегодня мы на практике разберем, что нужно делать, чтобы ваше приложение оказалось в Инте...

15 стран, 9 языков: трудности перевода одного iOS-приложения В 2017 году у Додо Пиццы появилось приложение для iOS на русском языке, а в 2019 его понадобилось перевести на румынский, а потом ещё на несколько языков. При этом ни одна строка не была обёрнута в макрос NSLocalizedString(…).В этой статье я расскажу, какие инструменты мы ис...

[Перевод] Развёртывание в Kubernetes из GitLab Развёртывание в Kubernetes из GitLab Это продолжение предыдущего туториала про командную разработку с использованием GitLab. Фокус предыдущей статьи был на организации непрерывной поставки в работе команды. В этой статье мы уделим основное внимание именно практическим дейст...

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

Что такое ECS и с чем его компилят Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев ...

Настройка cервера с помощью docker для простых проектов. Часть вторая: docker-compose Настройка cервера с помощью docker для простых проектов. Инструкция для самых маленьких. Часть вторая: docker-compose.Мы продолжаем цикл обучающих статей для самых маленьких наших читателей. В данном обучении мы бы хотели разобрать docker-compose. Данная статья рассчитана на...

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

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

Удаленный доступ к IP камерам. Часть 2. Мобильное приложение В предыдущей статье я рассказывал о простом сервере для работы с камерами видеонаблюдения, но для оперативного просмотра RTSP потоков использовал мобильное приложение VLC, которое меня не вполне устраивало по нескольким причинам. Под катом вы найдете описание и листинги про...

Что такое Netcat? Bind Shell и Reverse Shell в действии Друзья, всех приветствую!В этой статье мы поговорим о том, что такое Netcat и с помощью него реализуем Bind и Reverse Shell соответственно.NetcatNetcat, впервые выпущенный в 1995 году (!), является одним из "оригинальных" инструментов тестирования на проникновение в сеть. Ne...

Руководство по NestJS. Часть 1 Привет, друзья! В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой...

Графовые базы данных на примере простых запросов Статья  будет полезна начинающему разработчику или тому, кто хочет расширить свой кругозор практическим знакомством с графовыми базами данных. Часто в аналогичных статьях не хватает либо пошаговой инструкции по установке, либо более детального разъяснения –  как об...

Flutter for Desktop — новый подход к разработке приложений Язык программирования Dart был изначально разработан как перспективная замена JavaScript в веб-приложениях (с поддержкой асинхронности, потоков, классической поддержки ООП и возможностью использования строгой типизации), но, к сожалению, в этом качестве он так и не достиг зн...

Мониторинг веб-приложения на Rust с использованием Prometheus и Grafana В статье будет показано как настроить мониторинг веб-приложения на Rust. Приложение будет выставлять наружу Prometheus метрики, которые будут визуализированы с помощью Grafana. Мониторинг осуществляется для приложения mongodb-redis demo, детально рассмотренного здесь. В итог...

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

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

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

Сервер «1С: Предприятие» на Linux: настройка доменной авторизации В данной статье мы рассмотрим настройку сервера «1С:Предприятие» для использования Microsoft AD в качестве системы авторизации клиентов 1С. Статья представляет собой описание успешно внедрённого решения, за основу брались различные статьи из открытых источников, в частн...

Сжатые атласы в Unity Runtime Привет, меня зовут Юрий Грачев, я программист из студии Whalekit — автора зомби-шутера Left to Survive и мобильного PvP-шутера Warface: Global Operations. Кстати, именно о его технологиях мы и поговорим подробнее далее.Речь пойдет про получение сжатых атласов в рантайме. Для...

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

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

Разбираемся с библиотекой лексического анализа ANTLR4 У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальн...

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

Kui — «гибридное» CLI/GUI-приложение для работы с Kubernetes Не секрет, что большинство из нас, когда речь заходит о таких вещах, как управление сервером или кластером Kubernetes, в первую очередь думают не про какой-то GUI, а любимый терминал. Для многих это как езда на автомобиле с ручной коробкой передач: просто, удобно, гибко, бол...

Добавление пользовательской темы для фронтэнд-приложений Привет, Хабр! Меня зовут Павел, я фронтэнд-архитектор в компании Itransition. Вот уже более 8 лет я работаю во фронтэнде. В течении этого времени мне довелось поработать с приложениями, как полностью основанными на бэкенд технологиях, так и с классическими сайтами, написанны...

Щуп осциллографа. Устройство и принцип работы Эта статья для тех кто всегда хотел знать как устроен щуп осциллографа, но боялся спросить. Для тех кто начинает работать с осциллографом, а также для тех кто много лет работает, но никогда не хватало времени и сил для того, чтобы разобрать как устроен щуп(пробник) осциллогр...

Обзор ORM для C#: что подойдет для проекта Одна из проблем использования языков объектно-ориентированного программирования (ООП) и баз данных в сложности их согласования между собой. Знание языка структурированных запросов (SQL) и умение писать запросы позволяют взаимодействовать с БД напрямую. Но использование «чист...

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

Пишем чат под Android на Websocket'ах Привет Хабр!Во время локдауна я решил поупражняться в разработке под Android. Начать решил с простой гиперказуальной игры с элементами дуэли. Взаимодействие игроков решил реализовать через отдельный сервер и websocket'ы, но пока читал про все это дело, понял, что простого ту...

Разворачиваем Golang приложение в Kubernetes В этой статье я хочу поделиться примером, как можно развернуть простое приложение на Golang в Kubernetes, с помощью helm чартов и skaffold скриптов. Думаю, данная статья может быть полезной тем разработчикам, которые только знакомятся с Kubernetes, а возможно и более опытным...

Разработка TELEGRAM-бота на JAVA для генерации и считывания QR-кодов пример разработки TELEGRAM-бота, функционал которого позволяет сканировать и генерировать QR-коды. Плюсы использования TELEGRAM-бота в сравнении с традиционными приложениями-сканерами это: отсутствие необходимости устанавливать дополнительный софт (при наличии TELEGRAM, есте...

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

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Практика Снова привет, Хабр! В первой части статьи мы разбирали, что такое изоляция микросервисов, как в этом помогают переключатели функциональности, и как создать простое ASP.NET приложение в с поддержкой feature toggles, которое будет показывать прогноз погоды. В этой части з...

[Перевод] Исследуем .NET 6. Часть 5. Поддержка EF Core в WebApplicationBuilder До сих пор в этой серии я рассматривал новые минимальные API хостинга, созданные с использованием WebApplication и WebApplicationBuilder. Они обеспечивают более простую модель для создания веб-приложений, сохраняя при этом те же общие функциональные возможности, что и прилож...

Как я делал сайт визитку на Angular Спустя несколько лет промышленной разработки приложений на javascript, решил вспомнить молодость и сделать небольшой pet-проект, который в полной мере развернул весь процесс разработки подобного рода приложений с использованием фреймворка Angular. В статье делюсь своими впеч...

Микросервисный фреймворк Flogo — собираем систему из кирпичиков Для создания микросервисной архитектуры на Go может использоваться фреймворк Flogo, основанный на идеях потока сообщений/данных между микросервисами и реакции на события. В этой статье мы рассмотрим его возможности на примере простой задачи обработки данных телеметрии. Читат...

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

Мониторинг трафика на коммутаторах при помощи Wireshark + Plink Сразу отмечу, что способ не мой, а подсмотренный у EVE-NG. Никаких особых преимуществ он не даёт, обладает массой ограничений, но кому-то, просто, удобнее работать с Wireshark в режиме реального времени.Суть метода проста: перенаправить вывод от утилиты Tcpdump в SSH сессию ...

[Перевод] Корутины в C++20 — что это и как с ними работать Прим. Wunder Fund: В статьи описаны базовые подходы к работе с корутинами в 20м стандарте С++, на паре практических примеров разбораны шаблоны классов для промисов и фьючеров. По нашему скромному мнению, можно было бы реализовать и поизящнее. Приходите к нам работать, если и...

Kubernetes и другие оркестраторы Привет! Меня зовут Леонид, я DevOps-инженер в компании KTS. В этой статье я рассмотрю различные оркестраторы и объясню, почему Kubernetes — лучший выбор.Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на се...

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

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

Как работать с файрволлом через nftables Статья расскажет об инструменте для управления сетевой подсистемы ОС Debian - nftables. Статья не предполагает доскональный разбор работы утилиты и расскажет только об основах использования. Читать далее

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

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

Улучшаем дизайн React приложения с помощью Compound components Сегодня я хочу рассказать про один не очень популярный но очень классный паттерн в написании React приложений - Compound components.Что это вообще такоеCompound components это подход, в котором вы объединяете несколько компонентов одной общей сущностью и общим состоянием. От...

Jooq 3.15+. Сравнение R2DBC и JDBC подходов к разработке Приветствую! На протяжении нескольких лет моего опыта в качестве разработчика ПО, не раз сталкивался с ситуацией, когда нужно было выполнить не самый простой SQL-запрос по производительности. Несмотря на то, что не всегда здорово большие аналитические запросы генерить и отд...

Знакомимся с Javassist Всем большой привет! Перед началом стоит сказать, что библиотека Javassist довольно мощный инструмент, так как стирает почти все границы у того безграничного языка JAVA, позволяя разработчику осуществлять манипуляции связанные с байткодом.Конечно, получив доступ к байткоду, ...

CRUD 0.11.0 для Tarantool Неделю назад вышла новая версия модуля CRUD для Tarantool. В 0.11.0 появилось множество нововведений, просьбы о которых поступали от наших пользователей. Что изменилось, как этим пользоваться и кому это может быть полезно? Расскажем обо всём.Tarantool — это платформа in-memo...

[recovery mode] Оконные функции SQL простым языком с примерами Привет всем!Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свое путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано м...

Что у ECS под капотом Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)В данной статье я опишу общий принцип "подкапотной" работы ECS фреймв...

Альтернатива MapReduce при поиске в распределенной БД Привет, меня зовут Сатбек, я работаю в команде Tarantool. Расскажу, как реализовать в шардированном кластере поиск, скорость которого не зависит от количества мастеров и объёма хранимых данных. Условно назову этот способ индексным слоем:- Опишу общую схему построения по...

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

Собираем генератор данных на Blender. Часть 1: Объекты Привет, Хабр! Меня зовут Глеб. Я работаю в компании Friflex над проектами по оцифровке спорта. Работая над idChess (приложением для распознавания и аналитики шахматных партий), мы расширяем наш датасет синтетическими данными. В качестве движка используем Blender. В этой ста...

[Перевод] C++20 Ranges — Полное руководство C++20 Ranges, также известная как STL v2, представляет из себя более эффективную замену существующих алгоритмов и технических средств STL. В этой статье мы пройдемся по изменениям, введенным Ranges (диапазоны/интервалы), обсудим представления (views), которые представляют со...

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

[Перевод] 6 причин использовать Kubernetes на сервере bare metal Развертывание Kubernetes на физических серверах  рекомендуется организациям, которые находятся в поисках новых возможностей в сфере управления инфраструктурой. Рассмотрим 6 причин попробовать K8s на выделенных серверах. Kubernetes в общедоступном облаке - это подхо...

JavaScript: ускоряем загрузку изображений с помощью Imgproxy, Cache API и Service Worker API Привет, друзья! В этой статье я хочу поделиться с вами результатами небольшого эксперимента, связанного с ускорением загрузки изображений с помощью Imgproxy, Cache API (далее — кеш) и Service Worker API (далее — СВ). Мы с вами разработаем простое приложение на React, в ко...

Начала Docker для юнги Туториал по основам докера в котором простыми словами объясняется, как собирать образы и разворачивать контейнеры. Тут же можно узнать, чем контейнер отличается от виртуалки, что такое образ и увидеть простой кейс. Окунуться

Повышаем эффективность работы с Word В данной статье собраны основные операции и алгоритмы работы, позволяющие повысить эффективность разработки документации в редакторе Microsoft Word как индивидуально, так и при командной работе. Не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc и Conflue...

[Перевод] Создаем CLI-приложение с помощью React.js Приложения с интерфейсом в виде командной строки (Command-Line Interface — CLI) стали популярными в экосистеме разработчиков по целому ряду причин. Самые банальные из них — это простота использования (CLI) и то, что многие важнейшие инструменты разработки представляют из себ...

OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD Привет, Хабр! На связи Холодаев Алексей, младший системный администратор Cloud4Y. Сегодня хочу поделиться опытом использования OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD.В ходе работы над одним из проектов возникла задача по созданию нескольких сотен п...

[Перевод] Масштабируем Jetpack Compose Navigation В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigati...

Визуализация данных с помощью веб-фреймворка Dash (часть 2) В предыдущей части статьи мы разбирали, что такое dash в общем, и создавали одностраничный дэшборд, взяв за основу датасет драгоценных камней с kaggle.Но! Задачи, которые падают на нас ,не всегда просты и не всегда возможно ограничить себя  одной страницей на Дашборде. ...

Как кушать вилкой ...или о fork() в двух словах.Как люди решают задачиОбычно у каждой задачи есть одно простое решение, которое воспринимается всеми как правильное. Люди воспринимают такое решение правильным либо исходя из личного опыта¹; исходя из опыта других людей² или просто не задумываяс...

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

Инструменты для Serverless: расширяем возможности работы с бессерверными платформами При работе с Serverless есть задачи, для которых базовой функциональности облачных платформ не хватает: использование бессерверных функций со сторонними API, локальная отладка приложения, объединение возможностей нескольких фреймворков. В ответ на эти вызовы появились специа...

Как за час построить CI/CD для высоконагруженного проекта в облаке SberCloud.Advanced Привет, Хабр! Меня зовут Кирилл Шеховцов, и я технический лидер в SberCloud. Сегодня расскажу, как быстро интегрировать пайплайн Continuous Integration/Continuous Delivery (CI/CD) и продуктовый подход к проектированию приложений в облаке SberCloud.Advanced. Эта обзорная стат...

Альтернативный подход к динамическим окружениям: использование Octopod Как Octopod помогает сделать динамические окружения доступными для всехПривет, Хабр! В этой статье я хочу рассказать как мы в Typeable используем динамические окружения (review- или preview-окружения) в нашей работе, какие проблемы нам удалось решить, почему и как мы применя...

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

Elementary: новый взгляд на архитектуру Flutter-приложений Elementary — это архитектурный пакет, который создали в Surf на основе опыта разработки приложений на Flutter и лучших практик современной разработки. Решение позволяет чётко разделить слои согласно ответственностям, сделать код прозрачнее, а тестирование проще. На примере р...

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

WinAPI из C# Язык программирования C# был создан как язык, который можно использовать для простого программирования в ОС Windows. Позже этот язык получил возможность создавать приложения и на других операционных системах, но в этой статье мы будем говорить только об ОС Windows.Для работы...

Джентельменский набор для создания WPF-приложений Данная статья представляет собой набор рецептов по созданию WPF приложений. Поэтому скорее всего она будет интересна начинающим разработчикам. В материале описаны основные моменты использования таких пакетов как ReactiveUI, Material Design in XAML Toolkit, LiveChart2. Пример...

[Перевод] Миллион одновременных соединений Я слышал ошибочные утверждения о том, что сервер может принять только 65 тысяч соединений или что сервер всегда использует по одному порту на каждое принятое подключение. Вот как они примерно выглядят: Адрес TCP/IP поддерживает только 65000 подключений, поэтому придётся на...

Правда ли, что от регулярок у разработчиков одни проблемы Рассмотрим простой пример, чтобы понять, зачем нужны регулярные выражения. Допустим, перед нами стоит задача — найти и заменить местоимение 'ее' на 'его' в строке 'Быстрее всего мы догоним ее на машине'. Самое очевидное решение — использовать прямую замену, применив вст...

Приложения для заметок с хостингом на своём сервере (замена Evernote) Я давно уже пользуюсь Evernote (далее местами — EN) для заметок. Мне от него много не надо — вложенность хотя бы в пару уровней, простой WYSIWYG-редактор, возможность прикреплять файлы, автосинхронизация, работа под Windows и Android, оффлайн-режим (включая мобильник), поиск...

Angular Libs как монорепозиторий 2: tree shaking и сборка клонов Всем привет! В прошлом посте мы с вами разобрали механизмы создания библиотек с помощью Angular libs, а также научились настраивать их работу в приложении и друг с другом и даже вынесли наши ассеты в одну из таких библиотек.В этом посте хочу продолжить тему разделения функци...

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

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

Обеспечение качества чат-бота: разбираем на примере слоёного пирога В Ozon поступают сотни тысяч заказов в день — при таком масштабе у пользователей неизбежно возникают очень разнообразные вопросы, которые они пишут в чат поддержки: как оплатить баллами «Спасибо», как вернуть не понравившуюся кофту или есть ли доставка в Норильск. При этом б...

Физика в Python с использованием Pymunk Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python. К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и ...

Работа с аудио в Unity — трассировка и облачные вычисления Всем привет! В этой статье мы рассмотрим пример работы с объемным аудио в Unity для консольных и ПК проектов. На данном примере будет описан пайплайн работы с аудио на крупном проекте с множеством источников звука, HRTF и др. Читать далее

Как применять Branch by Abstraction в проекте на примере Android-разработки Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request, и ... 12 конфликтов.Или другой вариант. Вы работали и посто...

Управление распределенными транзакциями с помощью Camunda "Всякое решение плодит новые проблемы" (закон Мерфи)В этой статье я собираюсь поговорить о подходе к решению задачи обеспечения консистентности данных в микросервисной архитектуре, т.н. распределенных транзакциях. Почти два года назад я впервые познакомился с инструментом Ca...

Какой JS-фреймворк выбрать новичку — мнения шести экспертов Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Frontend в СберМаркете. В первой статье о JS-фреймворках я рассказал о самых популярных из них: Angular, React, Vue и других. В комментариях опытные разработчики спорили о том, какой ...

О Thread и ThreadPool в .NET подробно (часть 1) Эта текст покрывает ответы на некоторые совсем базовые вопросы и вместе с тем сразу погружает в проблематику получения ответа на вопрос: "как работать лучше? однопоточно, многопоточно или многопоточно, но на ThreadPool?". Ответ на этот вопрос может изначально показаться очен...

Пишем без Retrofit'а, Gson'a и Kotlin Coroutines Android приложение Порой нам хочется написать код без лишних библиотек, чтобы более глубоко понять основные принципы или просто ради интереса.В качестве примера я написал простое Android приложение, которое позволяет юзерам найти значение русского слова.Давайте остановимся на каждом моменте по...

Тренды веб-разработки в 2022 простыми словами Самое важное — отказ от поддержки старых браузеров в 2021. Майки окончательно убили IE, поэтому разработчикам станет проще использовать классные технологии. Гриды (83%) и флексбоксы (99%) захватили всё. TypeScript есть в 70% вакансий для мидлов. 2022 будет годом TypeScript.&...

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

Как мы перестали плодить шаблонный код при работе с табличными представлениями в iOS Девять из десяти экранов любого iOS-приложения имеют табличный вид. Неважно, как реализовано это представление — на UITableView или UICollectionView, но для его реализации необходимо каждый раз писать шаблонный код:1) реализация табличного источника данных (UITableViewDataSo...

Как перенести заметки с Xiaomi Перенос данных с одного смартфона на другой — далеко не самое простое занятие, особенно, если речь идет об устройствах разных производителей. Разные оболочки и операционные системы имеют свои ограничения и специфику: например, для переноса заметок с MIUI на другие обо...

GraphQL: как сделать бэкенд приложения экономнее и быстрее Самый распространённый стандарт для обмена информацией внутри приложений — это REST API. Его все любят, но знают, что он не идеален. В этой статье обсудим его альтернативу — GraphQL. Мы расскажем, в чём преимущество GraphQL, как выглядят запросы и с чего начать. Читать далее

Microsoft развертывает новую версию приложения «Блокнот» для Windows 11 для инсайдеров Windows в Beta Channel Компания Microsoft начала развертывать новую версию приложения «Блокнот» для Windows 11 для всех инсайдеров Windows в Beta Channel. Поскольку приложение было переработано, наиболее ожидаемым и очевидным изменением является стиль закругленных углов, с которым мы теперь знаком...

Wireguard VPN, Yggdrasil, ALFIS DNS и AdGuard На написание этой статьи спровоцировала вот эта статья, с кучей странностей, и необязательных действий. Если коротко, то автор не понимает зачем он ставит те или иные программы, а именно - Unbound и dnsproxy. Но так как кроме исправления недочётов той статьи хочется добавить...

Hexagon — гексогональная архитектура для Kotlin Backend В математике идеальной фигурой является шар. В мире микросервисов близкой к идеальной можно считать шестиугольник. Сегодня мы поговорим о преимуществах и недостатках гексагональной архитектуры, и относительно новой, но перспективной библиотеке Hexagon для Kotlin, предоставля...

[Перевод] Простейший вариант поиска пути: объяснение на Python Как именно мы находим выход из лабиринта? Как быстрее всего проехать из точки А в ближайшую пиццерию? Можем ли мы провести игрового персонажа к выходу так, чтобы он не уперся в стену?Поиск пути – типичная задача программирования, решаемая в самых разных ситуациях. Она извест...

WireGuard. How it was Привет. Я Леша, System Infrastructure Engineer в inDriver. В этой статье на конкретных кейсах объясню, почему WireGuard — отличная VPN-система для работы, в чем разница использования разных утилит и что надо помнить, когда с ними работаешь. Прошу под кат! Окунуться в мир Wi...

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

Static Reverse engineering для web Львиная доля всех статей, которые посвящены вопросу обратной разработки посвящены темам анализа низкоуровневого представления приложений и работы прошивок устройств. Только ли в этих областях можно применять подходы, которые использует обратная разработка? Попробуем разобрат...

[Перевод] Знакомство с трансформерами. Часть 2 Публикуем вторую часть материала о трансформерах. В первой части речь шла о теоретических основах трансформеров, были показаны примеры их реализации с использованием PyTorch. Здесь поговорим о том, какое место слои внутреннего внимания занимают в нейросетевых архитектурах, и...

Как я научился не волноваться и полюбил управление состояниями Flutter. MVI и Clean Code в комплекте Цель статьи — показать, как сделать ваш проект на Flutter более понятным для усовершенствования и удобным в сопровождении. Текст может быть полезным как для тех, кто только начинает изучать Flutter, так и более продвинутых пользователей, так как здесь мы рассмотрим актуальны...

Micro Frontend Архитектура на примере Angular В наше цифровое время веб-приложения становятся все более масштабней и сложней. Такие веб-приложения могут быть разделены на несколько модулей, разработанных отдельными командами, которые удобно запускать в производство по отдельности. По мере того, как приложения со времен...

OAuth в мобильных приложениях Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используют...

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

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

[Перевод] Эмбеддинги признаков и повышение точности ML-моделей Прим. Wunder Fund: короткая статья о том, как эмбеддинги могут помочь при работе с категориальными признаками и сетками. А если вы и так умеете в сетки — то мы скоро открываем набор рисерчеров и будем рады с вами пообщаться, stay tuned.Создание эмбеддингов признаков (fe...

Как работает React: подробное руководство Привет, друзья! В этой статье я покажу вам, с чего начинается React. Что это означает? Это означает, что мы разработаем мини-версию React, которая сможет выполнять следующий код: import '../style.scss' import MyReact from './my-react' const buttonStyles = { border: 'none...

Интеграция CrowdSec в Kubernetes Архитектура микросервисов — самая серьёзная угроза безопасности в кластере Kubernetes (K8s), так как каждое развёртываемое приложение открывает для злоумышленников новый потенциальный вектор атаки. При этом, развёрнутые приложения генерируют логи, а наша платформа CrowdSec м...

Безопасное хранение secrets в Kubernetes В Kubernetes есть такая сущность, как secrets, или секреты. Из названия понятно, что эти данные не могут быть общедоступными, и их нужно как-то защищать и особым образом доставлять в кластеры Kubernetes. В статье разберём, что такое secrets и в чём особенности их хранения и ...

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

Обучение рукописной OCR на синте от GAN'ов Модели распознавания печатного текста (например, с фотографий документов) дают довольно высокие результаты. Это происходит за счёт ограниченного набора шрифтов, цель которых – быть максимально понятными человеку, а также благодаря генерации простой синтетики в виде печати ра...

Игры с Mongo, или как мы избежали проблем благодаря смекалке и реверс-инжинирингу Одним из трендов при проектировании сервисов в последнее время выступает использование в качестве баз данных NoSQL-систем. Мы также стараемся идти в ногу со временем и, конечно же, имеем в своем IT-ландшафте несколько таких решений. Одно из них — шардированный кластер MongoD...

Изменение расширенных настроек печати через API nanoCAD Расширенные настройки печати в nanoCAD являются дополнением к базовым настройкам.Через пользовательский интерфейс nanoCAD невозможно увидеть, какая настройка является базовой, а какая – расширенной, однако при работе с API nanoCAD разница видна четко. В качестве примера можн...

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

Разработка и графических приложений в WSL2 Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расск...

[Перевод] Работа с API на языке R, введение в пакет httr2 Цель этой статьи - показать вам основы httr2. httr2 - переосмысленная реализация пакета httr, т.е. интерфейс для работы с HTTP запросами на языке R.Из статьи вы узнаете, как создавать и отправлять HTTP-запросы и работать с полученными HTTP-ответами. httr2 разработа...

Онлайн-хакатон SDV Digital Nomad Hiring Weekend Стань частью команды цифровых кочевников SDVentures С 26 по 28 ноября пройдет первый SDV Digital Nomad Hiring Weekend, который организует SDVentures, мировой лидер по созданию онлайн-продуктов в сфере social discovery. Регистрация - до 21 ноября: https://bit.ly/2Yq7N2m&nb...

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

[Перевод] React, AbortController и асинхронные onClick вызовы Добрый день, читатели Хабра, представляю вашему вниманию перевод статьи React, Abort Controller and onClick async calls Что такое Abort Controller в JavaScript Web Apps, как его использовать в React для прерывания асинхронных вызовов? Теория и некоторые примеры использова...

GraphQL в мобильной разработке Всем привет! С вами Анна Жаркова, ведущий разработчик компании Usetech. Сегодня стартует моя серия статей, посвященная работе с технологией GraphQL при разработке мобильных приложений. Если вы интересуетесь применением необычных технологий в мобильной разработке, давно подум...

Погружаемся в работу со скроллом в Jetpack Compose В этой статье я хочу поделиться опытом работы со скроллом в приложении, написанном на Jetpack Compose.Какое-то время назад я решил, что надо попробовать Compose в деле и начал делать pet project приложение Хотелки, суть которого в записи своих желаний и возможности делиться ...

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

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

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

Установить любое Android-приложение в Windows 11 за пару кликов. В магазине приложений Windows появился бесплатный установщик APK-файлов Когда Microsoft представляла Windows 11 летом, компания пообещала добавить в ОС возможность установки и использований Android-приложений. Хоть и не с первой попытки, но функция реализована в Windows 11, правда, работать с ней едва ли удобно: официальный магази...

Разработка новой игры от компании Wargaming с помощью Rider for Unreal Engine Последние полтора года открыта программа раннего доступа к Rider for Unreal Engine — IDE для разработки игр на C++ с использованием Unreal Engine. На сегодняшний день в программе участвуют десятки тысяч индивидуальных разработчиков игр, a также множество студий и больших ком...

[Перевод] Как обновить образы контейнеров с помощью Podman Изображение Hessel Visser с сайта Pixabay Поддержание образов в актуальном состоянии является стандартной процедурой при эксплуатации и управлении контейнерной средой. Далее мы рассмотрим, как следует это делать. Podman — это daemon-less движок для разработки, управления ...

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

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

Анатомия асинхронных фреймворков в С++ и других языках Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не толь...

Как добавить обязательный запрос на IDFA через App Tracking Transparency С весны этого года каждый iOS-разработчик должен запрашивать разрешение пользователя на использование рекламного идентификатора IDFA. В предыдущей статье мы сделали подробный обзор изменений в App Store и их влияния на мир iOS-разработки.А сегодня — практический материал. Ра...

Camunda: тестируем модели процессов Привет! Продолжаем делиться опытом о том, как можно автоматизировать бизнес-процессы в банке с помощью Camunda. В прошлой статье мы рассказали об одном из проектов, который создали на базе Spring Boot с подключенной Camunda в качестве библиотеки. В этом материале расскажем о...

Инструкция: включаем отображение погоды на панели задач в Windows 11 Build 22518+ (Dev) На этой неделе Microsoft выпустила новую предварительную сборку Windows 11 под номером 22518 для канала Dev. Она принесла с собой целый ряд интересных изменений, одно из которых коснулось виджетов. Как мы знаем, сейчас виджеты в Windows 11 вызываются либо сочетанием клавиш ...

«Право на забвение» или как просто удалять персональные данные по запросу пользователя Удалять персональные данные пользователя по его запросу, чтобы продукт соответствовал законам CCPA или GDPR, можно по-разному. Хоть вручную каждую заявку на почте разбирать. Главное — сделать процесс максимально простым и понятным для пользователя. А это уже хороший повод за...

Разработка, сборка, деплой и мониторинг сервисов: от общего к частному и обратно Привет, Хабр! Меня зовут Андрей Перепелкин. Я руководитель группы бэкенд-разработчиков, вошел в IT более 15 лет назад, 10 лет занимаюсь Java и около 4 плотно работаю с микросервисами. В этой статье я расскажу, как:— мы организовали разработку микросервисов так, чтобы вы...

Как создать VPN-сервер на компьютере под Windows Подключение к имеющимся сервисам-анонимайзерам технически намного проще и привлекательнее. Пользователи чаще так и поступают для обеспечения безопасной работы в интернете. Однако такой подход не решает задачи защиты всей локальной сети с подключенными к ней устройствами. Для...

JavaScript: разрабатываем чат с помощью Socket.io, Express и React с акцентом на работе с медиа Привет, друзья! В данной статье я хочу показать вам, как разработать простое приложение для обмена сообщениями в режиме реального времени с использованием Socket.io, Express и React с акцентом на работе с медиа. Функционал нашего приложения будет следующим: при первом за...

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

Основы теории вероятностей с помощью Python Привет, Хабр! Я очень долго собирался с мыслями, чтобы попробовать опубликовать свою статью в вашем сообществе, это дебют, поэтому буду рад услышать в комментариях обратную связь по поводу содержимого материала. Тематика сегодняшнего сообщения – это разбор базовых понятий в ...

Microsoft выпустила накопительные обновления для Windows 7 и Windows 8.1 за июнь 2022 года Компания Microsoft выпустила обновления для Windows 7 и Windows 8.1. • KB5014738 ; • KB5014746 ; • KB5014748 ; • KB5014742 ; KB5014738 имеет следующие исправления: • Печать на нулевой порт из приложения процесса с низким уровнем целостности (LowIL) могла привести к сбоям печ...

[Перевод] Совместное использование типов TypeScript между Backend и Frontend Если вы используете монорепозиторий, то взаимодействие между клиентом и сервером с общей моделью данных будет проблемой. Без обслуживания дублирование кода приведет к рассинхронизации.Если модель данных изменяется на серверной части - убедитесь, что клиентский код подхватит ...

Security Week 2205: эскалация привилегий в Linux и Windows Важной новостью прошлой недели стало обнаружение уязвимости в PolKit — открытом ПО, использующемся в большинстве популярных дистрибутивов Linux для контроля пользовательских привилегий. С 2009 года в коде входящей в состав PolKit утилиты pkexec существовала ошибка, вызывающа...

Автоматизируем iOS-сборку c помощью Jenkins Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю в проекте WASD.TV. В этой статье я расскажу о своем способе автоматизации iOS-сборки в TestFlight через Jenkins. С помощью такого метода можно настроить автоматизацию как локально, так и на удаленной м...

[Перевод] Сохраняем кластеры Kubernetes в чистоте и порядке Одновременно с ростом кластера растет количество ресурсов, volume и других API-объектов. Рано или поздно вы упретесь в потолок, будь то etcd, память или процессор. Зачем подвергать себя ненужной боли и проблемам, если можно установить простые — хотя и довольно изощренные — п...

PCIExpress 1.0 2.5GT/s analyzer на базе ПЛИС своими руками На работе я занимаюсь созданием PCIExpress устройств на ПЛИС. Некоторые из ПЛИС имеют встроенное PCIExpress ядро, позволяющее работать с этим интерфейсом на уровне пользовательского приложения. ПЛИС серии ECP5UM фирмы Lattice использует Soft-IP Core для реализации протокола,...

HTB BountyHunter. Ломаем сайт на PHP через XXE и пентестим приложение на Python Для подписчиковВ этой статье на примере простой по сложности машины BountyHunter с Hack The Box я продемонстрирую эксплуатацию уязвимости XXE, работу с обертками в PHP и эксплуатацию бага в программе на Python. Это не самые хитрые уязвимости, зато они встречаются в реальных ...

Выбираем сервер для Minecraft: на что обратить внимание? Выбирая сервер для Minecraft, в первую очередь нужно понять, для чего он вам понадобился. Мониторинг – лучший способ найти самые популярные модели разной сборки. Облегчить этот процесс вам поможет специальный сервис mineserv.top. То есть с помощью этого ресурса вы сможете на...

На каких бесплатных инструментах строить Observability и зонтичный мониторинг: ELK vs Graylog vs Grafana Loki vs Monq Сами по себе логи, трейсы, метрики - это очень узкие артефакты состояния нашего объекта наблюдения и обслуживания. Для понимания общей картины нужен взгляд сверху, сбор всех важных сигналов в одну систему и работа с большими данными в ней. Зонтичный подход близок по своим це...

[Перевод] Базовые принципы Availability О чем статьяВ этой статье речь пойдет о БАЗОВЫХ подходах и принципах к такому quality attribute (QA) как Availability. Никаких сложных случаев, ничего слишком сложного, только теория с двумя примерами, скипайте, если искали что-то эдакое.Вся информация основана на парах книг...

Xiaomi Mi 11 ограничивает работу некоторых приложений Снижение производительности на основе приложения может быть более распространенным явлением. Джон Пул соучредитель Primate Labs и создатель Geekbench обнаружил, что результаты Xiaomi Mi 11 заметно ниже с измененной версией теста. Результаты показывают снижение производительн...

Инструкция: включаем новый дизайн меню Alt + Tab в Windows 11 Build 22526+ (Dev) Пару дней назад Microsoft выпустила новую инсайдерскую сборку Windows 11 под номером 22526 для канала Dev, в которой начала тестирование обновлённого меню Alt + Tab. Компания планирует отказаться от полноэкранного варианта этого меню в пользу более компактной версии, котора...

[Перевод] Не автоматизируйте test cases Как прямая автоматизация тест кейсов приводит к громоздким и раздутым наборам автотестов, которые практически не приносят пользы.Общепринятой практикой в индустрии является использование тест кейсов в качестве основы для автоматизации тестирования. QA инженеры разрабатывают ...

Google упростила жизнь владельцам телевизоров с Android TV, добавив возможность установки приложений со смартфона Компания Google упростила жизнь владельцам телевизоров с Android TV. Теперь такие пользователи могут устанавливать приложения на свои телевизоры прямо со смартфона.  Для установки достаточно зайти со смартфона в Google Play и выбрать из выпадающего списк...

В следующем году Windows Terminal станет командной строкой по умолчанию в Windows 11 Компания Microsoft объявила, что в следующем году Windows Terminal станет приложением командной строки по умолчанию в Windows 11. Первоначально изменение увидят участники программы Windows Insider, а спустя некоторое время оно доберётся до всех пользователей операционной си...

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

Как я перестал беспокоиться и полюбил тестирование React-компонентов Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный ...

Компания Microsoft выпустила Windows 10 Build 19042.1766, 19043.1766 и 19044.1766. Компания Microsoft выпустила Windows 10 Build 19042.1766, 19043.1766 и 19044.1766. Это обновление безопасности включает улучшения, которые вошли в состав обновления KB5014023 (выпущенного 2 июня 2022 г.), а также исправляет следующие проблемы: • Исправлена уязвимость повышен...

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

Gatling. Тестирование Kafka Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Мы продолжаем наш цикл статей, посвященных работе Gatling с различными протоколами. Ранее мы уже рассмотрели работу с HTTP, JDBC и gRPC. В этой статье поговорим о работе Gatling с Kaf...

Microsoft отключит все загружаемые макросы Excel, Word и других приложений Office Компания Microsoft объявила о значительном изменении политики безопасности. Вскоре  макросы VBA (Visual basic for Applications) в документах пяти самых популярных приложений Office начнут по умолчанию блокироваться.  Пользователи больше не смогут запускать ка...

Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 100.0.1185.29 Компания Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 100.0.1185.29. Новые функции • Трехзначный номер версии в строке User-agent. Microsoft Edge теперь будет отправлять трехзначный номер версии, например, Edg/100, в заголовке User-Agent. Это может...

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

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

В приложении «билайн» теперь можно отзывать согласие на обработку персональных данных, выданных через Мобильный ID Привет!Согласие на обработку персональных данных теперь запрашивают на самых разных ресурсах при регистрации. Уведомления вида «Регистрируясь здесь, я даю согласие...» стали почти таким же привычным, как и предупреждения об использовании Cookies. А вот отзыв такого согласия ...

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

Paint вскоре получит темный режим в Windows 11 MS Paint недавно получил новый дизайн в Windows 11, и он вскоре получит поддержку темного режима в будущем обновлении Windows 11. Еще в сентябре Microsoft начала тестирование обновленного Paint с пользователями в Dev Channel. Новый Paint - это современный подход к классическ...

[Перевод] Знакомство с трансформерами. Часть 1 Трансформеры (transformers) — это очень интересное семейство архитектур машинного обучения. Существует много хороших учебных материалов по этой теме (например — вот и вот), но в последние несколько лет трансформеры, в основном, становились всё проще. Поэтому с...

Blazor: Нужен ли нам .Net в вебе? Всем доброго времени суток, меня зовут Михаил. Я .net разработчик в компании Orion Innovation. Сегодня речь пойдет про наш опыт создания веб приложения при помощи Blazor. Обсудим с какими проблемами мы столкнулись при разработке и почему вообще решили использовать Blazor.Ста...

[Перевод] Ищем путь до линукс команд, как профессионалы Один из самых распространённых вопросов от подписчиков — как получить путь к команде Linux, которую только что установили в систему с помощью пакетного менеджера, например, команды apt или DNF. Много новых разработчиков переходит к нам из мира Windows, и для многих это перв...

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

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

Docker: заметки веб-разработчика. Итерация четвертая Привет, друзья! В этой статье я продолжаю (и заканчиваю) делиться с вами заметками о Docker. Заметки состоят из 4 частей: 2 теоретических и 2 практических. Если быть более конкретным: первая часть посвящена Docker, Docker CLI и Dockerfile; во второй части рассказывается о...

Инсайдеры Office могут установить сборку 14809.20000 Инсайдеры Office получили очередную сборку для Windows (Build 14809.20000). Word Известные исправления • Исправлена проблема, которая связана с привязкой текста при SVG-рендеринге; • Исправлена проблема, из-за которой приложение неожиданно закрывалось, когда пользователь наж...

Чем заменить TeamViewer в России. 2 крутых способа Буквально пару дней назад российские пользователи заметили, что на их компьютерах перестал работать TeamViewer. Если кто не знал, Тимвивер — приложение, с помощью которого можно удаленно подключиться не только к компьютеру Mac, но и к любому другому. За долгие годы св...

Редакторы документов МойОфис появились на macOS. Что они умеют? Привет, Хабр! В начале этого года мы представили очередное крупное обновление 2022.01, а вместе с этим выпустили пакет приложений «МойОфис Стандартный» на macOS. Релиз для «Мака» стал ответом на многочисленные запросы наших коммерческих пользователей. Платформа Apple занимае...

Инструкция: включаем обновлённый «Диспетчер задач» в Windows 11 Build 22538+ (Dev) Несколько часов назад Microsoft выпустила новую инсайдерскую сборку Windows 11 под номером 22538 для канала Dev, которая принесла с собой довольно большое количество исправлений и улучшений. Впрочем, в сборке присутствует ещё одно довольно интересное изменение, которое в на...

Настраиваем GitLab Container Registry В этой статье мы рассмотрим, как настроить реестр образов GitLab Container Registry, находящийся за обратным прокси сервером NGINX. Предполагается, что у вас уже установлен GitLab с помощью пакета Omnibus. Согласно документации, Container Registry можно настроить на том же д...

[Перевод] Чек-лист по безопасности контейнеров Fortress of the Arch by JeremyPaillotin Команда разработки Kubernetes aaS VK Cloud Solutions перевела чек-лист по безопасности контейнеров, составленный на основе выступления Лиз Райс на конференции GOTOpia Europe 2020. Чек-лист проясняет специфику некоторых наиболее вероя...

Инсайдеры Office могут установить сборку 14907.20000 Инсайдеры Office получили очередную сборку для Windows (Build 14907.20000). Word Улучшен опыт восстановления ошибок при соавторстве Совместная работа с другими людьми во время работы в Word — жизненно важный инструмент повышения продуктивности для многих пользователей, и сбо...

Как собрать Docker-контейнеры с помощью Ansible Docker — это система контейнеризации, собирающая независимые части ОС без установки библиотек в основную систему. В отличие от виртуалок, которые собираются долго, такие контейнеры собираются и запускаются достаточно быстро. Это позволило Docker и Kubernetes стать одним из г...

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

Шифры замены В предыдущей статье были рассмотрены простые шифры, использующие алфавиты естественных языков (ЕЯ). Автоматическая обработка сообщений в компьютерных и сетях связи предусматривает использование искусственных языков (ИЯ), что более эффективно во многих отношениях. Ранее описы...

Unity «Best» Practices Эта статья родилась из внутреннего доклада для коллег, которые уже достаточно давно занимаются разработкой игр, но только недавно прикоснулись к Unity. Здесь мы собрали фишки и особенности работы с этим игровым движком разной степени капитанскости, почерпнутые из собственног...

Proof Of Concept на Python или как портировать С/С++ Язык программирования Python существует уже 31 год. Это полностью объектно-ориентированный язык. За все время существования на нем стало возможно применять разные парадигмы. Сейчас этот язык может поддерживать:- объектно ориентированную парадигму- структурное программрование...

Сам себе РКН или родительский контроль с MikroTik (ч.2) Вторая и заключительная статья в цикле организации родительского контроля на оборудовании MikroTik. Ранее подробно рассмотрены организация DNS, работа Firewall Filter и Ip Kid-control. В текущей части поговорим о прикладном применении маркировки трафика посредством Firewall...

Инструкция: устанавливаем Windows Subsystem for Android на любой сборке Windows 11 Несколько дней назад Microsoft начала тестирование подсистемы Windows Subsystem for Android (WSA), которая позволяет запускать Android-приложения в Windows 11. Сейчас функция доступна только участникам программы Windows Insider на канале Beta, что несколько удивительно, так...

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

Особенности сканирования штрих-кодов в средней полосе России Привет, Хабр! Немного наболело, хочу поделиться. В серии материалов я освещу ряд аспектов мобильного компьютерного зрения по принципу “от простого к сложному в имплементации”, однако буду фокусироваться на сложных кейсах, которые выходят за грань банального “распознать QR-ко...

Microsoft выпустила Windows 10 Build 19042.1620, 19043.1620 и 19044.1620 Компания Microsoft выпустила Windows 10 Build 19042.1620, 19043.1620 и 19044.1620. Это обновление, не связанное с безопасностью, включает улучшения качества. Ключевые изменения включают в себя: • Новое! Представление выделений поиска Выделения поиска будут представлять приме...

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

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

Пять полезных приложений для macOS В отличие от App Store магазин приложений для Mac не так активно пополняется новыми программами. Однако это не означает, что разработчики перестали выпускать утилиты для macOS. Просто некоторые предпочитают распространять приложения через другие каналы. Например, через собст...

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

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

[Перевод] Создание нативных CLI приложений на Java с помощью Graalvm и Picocli Язык программирования Go стал популярным для написания приложений командной строки. Для этого может быть много причин, но один аспект, в котором выделяется Go, - это возможность скомпилировать программу в один нативный исполняемый файл. Это значитель...

[Перевод] Программирование с dplyr Большинство глаголов dplyr так или иначе используют аккуратную оценку (tidy evaluation). Tidy evaluation - это особый тип нестандартной оценки, используемый во всём tidyverse. В dplyr есть две основные формы tidy evaluation:Описанные концепции обращения к переменным таблиц д...

Основные варианты использования CSS переменных (Custom Properties) CSS Variables или CSS Custom Properties уже давно используются в разработке и поддерживаются большинством популярных браузеров. Если у вас нет обязательного требования разрабатывать под IE, то вполне вероятно, вы уже успели оценить их преимущества.По этой...

О том, как мы с сочувствием смотрим на вопрос на StackOverflow, но молчим Иногда на сайте stackoverflow.com мы видим очередной вопрос, как искать баги определённого типа. И знаем, что решением проблемы может стать использование PVS-Studio. К сожалению, мы вынуждены молчать, иначе ответ будет интерпретирован как неприкрытая реклама. Это статья про...

[Перевод] Blogged Answers: (почти) полное руководство по особенностям рендеринга в React. Часть 1 Подробности о том, как происходит рендеринг в React и как влияет на рендеринг применение контекста.Я часто сталкиваюсь с недопониманием относительно того, как, почему и когда React повторно рендерит компоненты и каким образом применение контекста и React-Redux влияет на врем...

Состоялся релиз утилиты ViveTool 0.3.1 Известный инсайдер под ником Albacore представил новую версию утилиты ViVeTool, с помощью которой можно вручную активировать как скрытые функции в Windows 10 и Windows 11, так и нововведения, проходящие A/B-тестирование среди небольшой группы участников программы Windows In...

Кросс-компиляция NGINX (для случая GCC) NGINX — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения, изначально написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных сайтов. Однако кросс-компиляция NGINX практ...

Shared State для React. Часть 1 В данном цикле статей мы рассмотрим задачу синхронизации состояния react-приложения между окнами. В качестве подопытного у нас будет приложение на Electron, работающее в offline/online-режимах, которое также может запускаться в PWA-режиме. Читать далее

Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие Всем привет :) Меня зовут Голов Николай, я строю платформу данных на основе Snowflake и Anchor Modeling в ManyChat.В этой статье я уже подробно рассказывал, как решал аналогичную задачу  в Авито, используя Vertica и методологию Anchor Modeling. В комментариях ...

[Перевод] USB-интерфейс для Psion Organiser II Я собрал для Psion Organiser II интерфейс, который позволяет отправлять на него сообщения через USB-serial с помощью Arduino Nano. В основе лежит выполнение органайзером машинного кода, хранящегося в строке на языке OPL. Получившийся интерфейс полностью соответствует формат...

Пишем простого slack-бота на Java Привет! Я — Саша Казанцев, разработчик в hh.ru. В статье я расскажу, как сделать простого бота в Slack на java и немного о других вариантах использования slack api.Слак обладает обширной и всеобъемлющей документацией и туториалами, и чтобы написать эталонного бота, лучше про...

Видео руководство по настройке и использованию лазерного гравировщика для Snapmaker 2.0 3in1. Всем привет друзья, с Вами 3DTool!Snapmaker 2.0 3в1 - универсальное устройство сочетающее в себе лазерный гравер, 3D принтер и мини фрезерный станок с ЧПУ. В этом видео речь пойдет о настройке модуля лазерной гравировки. Мы перевели на русский язык оригинальное видео руковод...

Эволюция UI-тестов в iOS-приложении Test-driven development — по-прежнему спорная тема. Часто встречается обоснованное, в общем-то, мнение, что такая разработка нужна только большим компаниям, потому что только у них достаточно ресурсов для создания и поддержки большого количества тест-кейсов. Но сегодня на п...

Google назвала Chrome OS самой быстрорастущей операционной системой в мире Google сообщила, что в мае популярность Chrome OS выросла на 92 % в годовом исчислении. Благодаря этому скорость распространения операционной системы в пять раз превышает скорость роста рынка ПК. По словам Google, это делает Chrome OS самой быстрорастущей операционной систем...

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

Вертел я ваши UIView Эта статья является логическим продолжением UIKit ты вообще про UI?Если вы ее пропустили, рекомендую сначала ознакомиться с ней. На всякий случай напоминаю, что весь графический интерфейс – это ответственность слоев (не вью!).Я люблю пользоваться инструментами разработки, ко...

Настройка PostgreSQL под Linux Время от времени приходится слышать мнение от некоторых системных администраторов, а также некоторых 1С-разработчиков, что установка, настройка и поддержка PostgreSQL под Linux очень сложна. Что гораздо дешевле покупать лицензии Windows и Microsoft SQL Server, чем нанимать в...

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

Почему принцип единственной ответственности не всегда работает Как говорил Парацельс, всё есть яд и всё есть лекарство — зависит от дозы. Например, не очень опытный разработчик обычно может из простого класса сделать три с использованием метаклассов и прочих, не так часто используемых в реальной жизни конструкций языка. И объяснит это п...

Разбираем алгоритмы компьютерной графики. Часть 6 — Анимация «Плазма» Разновидностей алгоритмов генерации "плазм" столько же, сколько, наверное, звезд на небе. Но связывает их вместе принцип плавного формирования перехода цветов.Для бесшовного формирования цвета очень часто используются тригонометрические функции. Во-первых, потому что они пер...

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

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

Проект под кодовым названием: «Бульболёт». Часть 1. Погружение в MPU6050 (или нет) Всем привет! Сегодня, а именно с этой статьи, я бы хотел начать свою историю разработки летательного средства на радио управление. В интернете я натыкался на множество статей где так или иначе собирали Р.У модели, и в основном это делалась на основе каких-то модулей или уже ...

Microsoft выпустила Windows 11 Build 22000.593 Компания Microsoft выпустила Windows 11 Build 22000.593. Это обновление, не связанное с безопасностью, включает улучшения качества. Ключевые изменения включают в себя: • Новое! Microsoft отображала до трех всплывающих уведомлений с высоким приоритетом одновременно. Эта функц...

Что писать в резюме, чтобы получить работу мечты: советы от HR для сферы IT Мы много пишем про релокейт и смену работы, но уже как про свершившийся факт. Поэтому решили рассказать, что делать IT-инженеру, чтобы получить работу мечты. Для этого мы поговорили с HR-ами, которые регулярно нанимают айтишников: расспросили, на что они смотрят в резюме, ка...

Использование Typescript для создания react компонента «Простой фабрики» Использование Typescript при создании React компонента «Простой фабрики»Создадим типизированный компонент-фабрику правильно. Так, чтобы он принимал только нужные параметры и ругался на некорректные. Данный подход применим и в других ситуацией, но&nbs...

Герметизация корпусов для электроники. Часть 1: пластик и резина В этой статье мы расскажем и покажем, как обеспечить герметичность корпуса для электроники — сделать его непроницаемым для воды и пыли. Под катом вас ждет разбор стандарта IP с разными степенями защиты и сравнительный анализ методов герметизации на серийном производстве.&nbs...

Обзор манипулятора DOBOT Magician • Первые шаги в робототехнике В этой статье вы узнаете какое устройство поможет вам сделать свои первые шаги в такой интересной сфере как робототехника!Дорогие друзья, сегодня в нашем обзоре необычное устройство, настоящая робо-рука, а точнее многофункциональный, роботизированный, настольный манипулятор ...

Кратко, но по делу про энергонезависимую память Intel Optane Поймал себя на ощущении, что хочется поделиться своим опытом работы с интеловской энергонезависимой памятью (Intel Optane memory или Intel PMem). Я буду для краткости называть ее ПМем. Думаю, что несмотря на объем продаж в сотни миллионов долларов, пока мало кто с ней сталк...

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 2) Продолжаем цикл статей, посвящённый основам Django Rest Framework. В предыдущей статье мы подробно рассмотрели, как сериалайзер валидирует входные данные. В этой статье мы закрепим теорию на простом примере, а также затронем те вопросы, которые не успели рассмотреть раньше:...

Angular Libs как монорепозиторий: начало, настройка, работа с assets Всем привет! Меня зовут Илья и я хочу рассказать вам как можно подробнее про Angular Libs. В частности, то, как можно использовать его в качестве монорепозитория для сборки нескольких приложений с tree-shaking и переиспользуемостью различных модулей в разных библиотеках и ча...

Файл-сервер на Raspberry Pi как домашний NAS Одноплатные мини-компьютеры подходят для совершенно разных полезных применений: блокировки рекламы во всём трафике (Pi-hole), управления умным домом или печати на стареньком принтере в кладовке по Wi-Fi. Но практически идеальный вариант использования — в качестве файл-серве...

Разработка приложения на Flutter с нуля до релиза: Part 2 Привет! Это вторая статья из цикла о разработке приложения на Flutter. В этом "номере" я опишу создание сетевого слоя, работу с локализацией, удобный способ работы с ассетами, локальный поиск и создание UI для одного из двух экранов приложения. Также я выведу интересные метр...

Как мы используем фича-флаги в мобильном приложении QIWI Кошелек Привет, Хабр! Меня зовут Василий Материкин, я — Android-разработчик в QIWI. В этом посте я расскажу о применении фича-флагов в QIWI Кошельке.Внедрение Trunk-Based Development и Feature FlagsВ процессе работы над большими приложениями, в которых много фич и над которыми ...

Next.js: подробное руководство. Итерация первая Привет, друзья! Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится). Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных при...

Сравниваем 3D сканеры Calibry. Что лучше Calibry или Calibry Mini ? Всем привет, друзья! С Вами компания 3DTool!Компания Thor3D, известный в России и мире производитель ручных 3D сканеров, на сегодняшний день предлагает две модели устройств – ручные 3D сканеры Calibry и Calibry Mini. Не секрет, что оба сканера построены на общей платформе и ...

[Перевод] Пишем Python-расширение на Ассемблере (зачем?) Прим. Wunder Fund: в жизни каждого человека случается момент, когда ему приходиться позаниматься реверс-инжинирингом. В статье вы найдёте базовые особенности работы с ассемблером, а также прочитаете увлекательную историю господина, который решил написать Питон-библиотеку на ...

Безопасная разработка и уязвимости программного кода Часть 1. Как писать свой код без ошибокНа сегодняшний день трудно представить себе какую-либо отрасль бизнеса, в которой не использовались бы информационные технологии. Не только в банковской сфере, но и в промышленности, транспорте, сельском хозяйстве – везде ИТ играют огро...

Scrum в госкомпании: миф или реальность? SCRUM закрепился и в стартапах, и в IT-гигантах, но что на счёт скрама в крупной госкомпании? Попытаемся дать ответ на примере одной из команд разработки Россельхозбанка, а в конце статьи поделимся чек-листом в помощь начинающему скрам-мастеру. Читать далее

Уязвимости из-за обработки XML-файлов: XXE в C# приложениях в теории и на практике Как простая обработка XML-файлов может стать дефектом безопасности? Каким образом блог, развёрнутый на вашей машине, может стать причиной утечки данных? Сегодня мы ответим на эти вопросы и разберём, что такое XXE и как эта уязвимость выглядит в теории и на практике. Читать ...

Computer Vision для iOS, Android, Web Привет, я Денис Соколов, руковожу R&D в Zenia — это платформа для йоги и фитнеса, которая использует ИИ для трекинга поз человека (подробнее об этом — в другой моей статье). Наша система распознавания работает на трёх платформах — iOS, Android, Web. В этой статье поговор...

Динамичный экран с быстрыми обновлениями: разбираем плюсы и минусы Server driven view на примерах Всем привет, я Дима Авдеев, работаю в Туту и хочу рассказать про один из подходов, благодаря которому мы можем быстро добавлять в приложение важный для пользователей контент и обновлять его, не проходя повторные ревью в сторах. Например, если хотим быстро доносить до людей н...

[Перевод] Уроки абстракции: чему FP может научить ООП Одним из наиболее распространенных «лучших практик» в программировании является принцип DRY: не повторяйся. Для реализации этого принципа можно использовать множество методов: инкапсуляция, параметризация, инверсия управления и многое другое. Одним из этих методов является а...

Flink для самых маленьких Привет! Меня зовут Юля, я работаю в дирекции больших данных Билайн, недавно я познакомилась с фреймворком Flink и хочу рассказать о своих впечатлениях на примере простой с первого взгляда задачи.Итак, что же такое Flink? Apache Flink – это фреймворк и движок для statefu...

Как можно повысить качество создания программного обеспечения с помощью методологий Lean Six Sigma и PRINCE2 Наукоемкое производство в наши дни нельзя представить без применения самых новейших методов управления и бизнес-инжиниринга.  Если еще каких-то лет 15 назад наукоемкое производство в России почти отсутствовало, то сейчас в этой сфере наблюдаются подвижки, а значит растё...

Docker: заметки веб-разработчика. Итерация первая Привет, друзья! Хочу поделиться с вами заметками о Docker. Заметки состоят из 3 частей: первые две теоретические, третья практическая. Если быть более конкретным: первая часть посвящена самому Docker, Docker CLI и Dockerfile; вторая часть полностью о Docker Compose; в тре...

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

Яндекс выложил в опенсорс YDB Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой опубликованы на GitHub под лицензией Apache 2.0. Развер...

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

Как активировать iPhone, если забыл Apple ID Активировать iPhone без Apple ID сложно, но можно, и мы знаем, как именно Что может быть хуже, чем забыть пароль iPhone? Пожалуй, только забыть Apple ID. Ведь если код блокировки можно либо подобрать, либо сбросить без лишних проблем, то вот с адресом учётной записи, не гово...

Чемпионат Intel и «СберМаркет»: обучи ИИ-модель с помощью oneAPI и выиграй 1 млн руб. Партнёрский материал До 24 декабря 2021 года на площадке SberCloud DS Works проводится чемпионат Intel® и «СберМаркет» — участники должны решить практическую задачу по построению нейросетевой модели на основе исторических данных, которая предскажет, какие покупки совершит п...

JavaScript: работа с датой и временем с помощью Temporal Привет, друзья! В этой статье я хочу рассказать вам о Temporal, новом API для работы с датой и временем в JS. Описание предложения Черновик спецификации Рецепты по использованию Temporal Источником вдохновения для меня послужила эта замечательная статья. Обратите внимани...

Next.js: подробное руководство. Итерация вторая Привет, друзья! Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится). Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных при...

Бумажный интернет с поисковыми запросами в 1910 году На этот раз мы расскажем о событиях далекого прошлого. А именно про Mundaneum – работающий бумажный интернет Поля Отле. 100 лет назад он уже обрабатывал 1500 поисковых запросов в год со всего мира. Это было за 55 лет до того, как Тед Нельсон представил гипертекст, за 79 лет ...

Справочники в iOS: храним, обновляем, используем Всем привет! Меня зовут Саша, и я iOS-разработчик в hh.ru. Страны, города, профобласти, языки, валюты – всё это названия справочников внутри нашего мобильного приложения. Они очень редко меняются, но используются повсюду, а поэтому обязаны быть актуальными и не должны т...

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

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

Обнаружена уязвимость Power Automate в Microsoft 365 Power Automate, по умолчанию включенный в Microsoft 365, позволяет пользователям автоматизировать бизнес-задачи и рабочие процессы между различными приложениями и службами. С его помощью можно создавать "потоки" (автоматизированное поведение между приложениями) для...

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

[Перевод] Запускаем HAProxy Kubernetes Ingress Controller вне Kubernetes-кластера Обычно вы можете запустить HAProxy Kubernetes Ingress Controller как pod внутри Kubernetes-кластера. Как pod, он имеет доступ к другим pod, потому что они используют внутреннюю сеть Kubernetes-кластера. Это дает возможность управлять маршрутизацией и балансировать трафик к п...

Конкурентный анализ приложений из App Store на основе открытых данных В этой статье я покажу, как можно без программирования парсить, анализировать и визуализировать данные из RSS- и Atom-лент на примере загрузки и парсинга фида Apple iTunes, а также проведения последующего конкурентного анализа приложений. Представим, что мы собираемся публик...

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

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

[Перевод] Авторизация в PostgreSQL. Часть 2. Безопасность на уровне строк Приветствую вас в очередном разборе инструментов авторизации PostgreSQL. В первых двух разделах предыдущей статьи мы обсуждали, чем интересна авторизация в PostgreSQL. Вот содержание этой серии материалов: Роли и привилегии; Безопасность на уровне строк (мы сейчас здесь);...

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

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

Приключения микропроцессора в СССР: 8 бит Мы живем в удивительное время: компьютеры окружают нас со всех сторон. Любимый смартфон, ноутбук на работе, медицинские приборы, браслеты и часы. Умные рекламные табло, самокаты и автомобили. В основе каждого такого устройства лежит тот или иной микропроцессор. А просто...

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

SNS и SQS: разбираемся, какие есть способы обмена сообщениями в облаках Привет, Хабр! Сегодня поговорим о принципах асинхронной работы с сообщениями и их очередями в распределенной и бессерверной архитектуре. У Amazon для этого есть веб-сервисы Simple Notification Service (SNS) и Simple Queue Service (SQS): они позволяют обмениваться сообщениями...

JavaScript: делаем селфи с помощью браузера Привет, друзья! В этой статье я покажу вам, как делать селфи в браузере. Мы разработаем простое приложение со следующим функционалом: при инициализации приложение запрашивает у пользователя разрешение на захват медиапотока (далее также — поток) из видеокамеры его устройс...

Миры в «виаре», а трекинг – в «реале» Системы VR — это сумма технических решений, слаженная работа которых способна погружать человека в иные пространства. Эти системы могут быть построены на разных физических основах и использовать разные технологии, но если есть желание разобраться в принципах их работы — это ...

Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 99.0.1150.30 Компания Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 99.0.1150.30. Новые функции • Предстоящий трехзначный номер версии в строке User-Agent. Начиная с версии 100, Microsoft Edge будет отправлять трехзначный номер версии в заголовке User-Agent, нап...

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

Стартап недели: UFACTORY Lite 6 — самый доступный робот-манипулятор на рынке В этой статье мы расскажем вам о работе-манипуляторе UFACTORY Lite 6, который предназначен для малых и средних предприятий, исследователей робототехники и инженеров. Читайте также: Стартап недели: Legion Solar 6 — доступна солнечная электростанция с ИИ Стартап недели: AAWi...

Проводник станет быстрее в Windows 11 Последнее предварительное обновление Microsoft, известное как Windows 11 Build 22526, по-видимому, содержит новое изменение, которое должно повысить производительность Проводника. Последнее крупное обновление Windows исправило довольно серьезные проблемы ПК с процессорами AM...

DevOps: о самом важном. Часть 1. Про то, о чем мало говорят Привет! Меня зовут Каро Манасян, я Chief DevOps Officer Московской биржи, и сегодня мы поговорим про… DevOps. Вокруг этого слова поднят такой уровень хайпа, что каждый интерпретирует его, как хочет. То ли это методология, то ли культура, то ли человек… Однако, на данный моме...

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

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

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

Чем заменить приложение Mi Fit для Mi Band Фитнес-браслеты стали невероятно удобными за счет того, что имеют своей кроссплатформенности, а также повышенной кастомизации. Если думаете, что Mi Band можно настроить исключительно с помощью стандартного приложения Mi Fit, то сильно ошибаетесь — существует сразу нес...

[Перевод] Табличные тесты в Go с использованием Gomock Чтобы эффективнее тестировать работу программы, можно использовать табличные юнит-тесты. В этой статье пошагово рассказываем, как писать такие тесты с помощью фреймворка Gomock.Этот текст написал Golang-разработчик Арек Ностер. С разрешения автора мы перевели статью. Читать ...

Microsoft Edge Beta 100 получил легковесный просмотрщик PDF и поддержку синхронизации PWA На этой неделе Microsoft Edge на канале Beta обновился до версии 100.0.1185.12, которая принесла с собой несколько новых функций. Это последний этап тестирования перед публичным релизом Edge 100. Обновления компонентов Улучшено управление Cloud Site List Management для реж...

Самодельная Механическая «Эргономическая» Клавиатура Самодельные клавиатуры и раскладка для них.О чём это?В этой статье я рассказываю про две клавиатуры, которые я собрал и использую ежедневно. Также описываю раскладку прошитую в эти клавиатуры, идеи и принципы определившие эту раскладку.Я работаю за комьютером уже долго. Писа...

«МойОфис Аналитика»: изучаем отечественное ПО для анализа и визуализации данных Продолжаем рассказывать аудитории Хабра о возможностях продуктов МойОфис, которые позволяют работать с документами, в том числе совместно, до 30% быстрее. Напомним, что ранее в нашем блоге уже выходили статьи про работу с формулами, сводными таблицами и м...

Paint получает новые возможности дизайна в Windows 11 Windows 11 начала развертываться для потребителей почти пять месяцев назад, и важно понимать, что операционная система все еще находится в стадии разработки. Хотя сегодня есть способы установить Windows 11, новая операционная система или большинство новых приложений пока дос...

Как сжать видео на Маке без сторонних приложений Если вы хоть раз снимали видео в 4K, то представляете, сколько оно весит. Минута ролика в 4K 60 fps на iPhone обойдется вам чуть ли не в 500 МБ свободного пространства. На других устройствах, я уверен, такого качества видео займет ничуть не меньше памяти. Понятно, что если ...

SSH Picker в ежедневной работе сетевого инженера В статье рассмотрим полезный инструмент облегчающий сбор данных с сетевых устройств. Для работы скриптов с командной строкой по SSH на языке Python нужно использовать множество сторонних модулей, а вернее множество зависимостей одного модуля (привет paramiko), а если на маши...

Ускоряем hugo на 20% простым изменением в пакете reflect Найти значительное узкое место в производительности стандартной библиотеки или зрелого приложения — это редкость. Я был удивлён, когда в top10 списке CPU-профиля hugo при сборке digitalgov.gov на первой позиции находился метод reflect.Type.MethodByName(). flat flat% ...

[Перевод] Преодоление сложности в CQRS Эта статья является переводом материала «Tackling Complexity in CQRS».Шаблон CQRS может творить чудеса: он может максимизировать масштабируемость, производительность, безопасность и даже «превзойти» теорему CAP. Тем не менее, например, в своей статье о CQRS Мартин Фаулер утв...

[Перевод] Стратегия управления глубиной очереди ввода-вывода для достижения пиковой производительности По материалам статьи Джо Чанг (Joe Chang): I/O Queue Depth Strategy for Peak Performance (IO Queue Depth Strategy) Статья была опубликована рание на SQL.RU Публикуется повторно ввиду недоступности сайта.В большинстве случаев для SQL Server применяются незамысловаты...

Как удаленно управлять компьютером Mac Многие начинающие пользователи Mac задаются вопросом, реально ли каким-то образом получить удаленный доступ к другому компьютеру Mac или использовать специальную функцию, которая позволит устранить проблемы на другом Mac? Признаться честно, я не представлял, что магия Apple...

Django Rest Framework для начинающих: как работает ModelSerializer В предыдущих статьях мы подробно разобрали работу сериалайзера на основе классов BaseSerializer и Serializer, и теперь мы можем перейти к классу-наследнику ModelSerializer. Класс модельных сериалайзеров отличается лишь тем, что у него есть несколько инструментов, позволяющ...

Как мы подключили третью зону доступности в облаке и наконец-то стали деплоить сервисы в виртуалках Третью зону доступности в облаке мы развёртывали изначально для решения собственных задач — чтобы обеспечить «честный» кворум для наших внутренних распределённых сервисов. У нас было три собственных дата-центра, но лишь в двух из них были выделены зоны доступн...

Новая утилита уничтожит ограничения майнинга для карт NVIDIA Сайт Videocardz сообщил о разработке новой утилиты Nvidia RTX LHR v2 Unlocker, которую создал некий Sergey. Этот, пока ещё не выпущенный инструмент модификации BIOS, позволит полностью разблокировать производительность в майнинге видеокарт моделей RTX 30 и RTX Ampere дл...

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

[Перевод] Как безопасно завершить работу пода в Kubernetes: разбираемся с graceful shutdown и zero downtime деплоймент Landing deck by maciejkuciara Создание и удаление подов — распространенная задача при работе с Kubernetes. Новые поды создаются, когда вы выполняете плавающее обновление, масштабируете развертывание и релизите новую функциональность, а также при выполнении cron и других за...

Использование AsciiDoc для управления документацией на проекте (Часть 2) Продолжение статьи об использовании подхода документация как код Читать далее

70+ бесплатных инструментов для компьютерной криминалистики (форензики) Расследование инцидентов в области информационной безопасности не такая горячая тема, как пентесты, но эта научная и практическая дисциплина продолжает развиваться, во многом, благодаря Open Source-сообществу.Давайте пройдемся по просторам GitHub и посмотрим, какие инструмен...

Изучение слепой подписи Актуальность. В ряде приложений электронных трастовых услуг в качестве обязательных выдвигается требование о предоставлении электронной услуги анонимности (невозможности отслеживания). В качестве примера можно рассмотреть системы тайного электронного голосования, электронные...

Мобильная разработка: Cross-platform или Native Всем привет! Я Игорь Веденеев, руководитель мобильной разработки в AGIMA. Поговорим немного о нативной и кроссплатформенной разработке. Раньше я по большей части скептически относился ко второй: не устраивало качество конечных приложений в первую очередь. Однако за последний...

Финансовый вопрос в сфере open source — обсуждаем различные точки зрения на проблему В начале января разработчик библиотек faker.js и colors.js намеренно «испортил» собственные программные продукты. Он добавил в код бесконечный цикл, который выводил в консоль бессмыслицу. В результате нарушилась работа тысяч приложений по всему миру, в том числе у крупных об...

Пишем сервис на GO. Backend для апплета В первой части этой дилогии мы написали рантайм контроллер для приложения на golang. Все что он умеет делать — запускать методы интерфейса Resources и функцию MainFunc, контролировать результат их выполнения, и корректно обрабатывать сигнал операционной системы о завершении...

[Перевод] Как простой баг повреждения памяти ядра Linux может привести к полной компрометации системы Введение В этом посте описывается простой в реализации баг блокировки ядра Linux и то, как я использовал его против ядра Debian Buster 4.19.0-13-amd64. В посте рассматриваются варианты устранения бага, препятствующие или усложняющие использование подобных проблем злоумышлен...

10 вещей, которые можно делать в верстке с помощью псевдоэлементов before и after Привет, Хабр! Меня зовут Максим Васянович, я спикер курса “Веб-верстка” в Skillbox. Сегодня поговорим о верстке, а точнее - о нюансах работы с псевдоэлементами before и after. Статья будет полезна, прежде всего, начинающим верстальщикам. Но, возможно, и профи будет интересно...

Arbitrary Precision — удобная C++ библиотека для работы с длинными целыми числами Вопреки тому, что авторских C++ библиотек для длинных целых очень много, мне было трудно найти решение, которое было бы простым в использовании на всех этапах (интеграция зависимости, разработка, релиз с зависимостями). Авторские библиотеки имеют одну или несколько проблем р...

Автоматизация разработки конструкторской документации средствами VBA При выполнении проектов, в которых требуется разработка конструкторской документации соответствующей ГОСТам ЕСКД или СПДС, возникает много задач, связанных с ее корректным изготовлением. Часть этих задач связана с непосредственным оформлением документов – заполнением основны...

Эксперты предупреждают о возможности обхода многофакторной аутентификации в BOX В январе 2021 года компания Box запустила возможность для учетных записей использовать приложения аутентификации на основе TOTP, такие как Google Authenticator, Okta Verify, Authy, Duo. Box рекомендует TOTP вместо аутентификации на основе SMS по очевидным причинам - SMS-сооб...

Релокация. Нужно ли уезжать IT-специалистам из России. Плюсы, минусы, подводные камни Ситуация с IT-сервисами, платёжными системами и общим настроением в стране складывается не самым лучшим образом. Однако, нет однозначного решения для всех, нужно ли переезжать. Чтобы максимально широко понять настроения и риски в IT-отрасли,  мы в DigitalHR поговорили с...

3 простые вещи, которые сделают вашу жизнь лучше Цель данной статьи довольно проста — принести пользу людям, дав им в руки несколько действительно рабочих инструментов, которые проверены на практике.Три простых вещи, о которых пойдёт речь в данной статье это:· Сон — как/сколько/почему нужно спать и какие есть лайфхаки для ...

Компания Microsoft выпустила список изменений сборки Microsoft Edge Insider Dev Build 102.0.1220.1 Компания Microsoft выпустила список изменений сборки Microsoft Edge Dev Build 102.0.1220.1. На этой неделе немного меньше изменений, но прежде чем перейти к ним, у Microsoft есть хорошее объяснение о получении исходных карт с помощью F12 Dev Tools. Обо всем этом можно прочит...

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

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

Генерируем Rust обёртку для FMOD Rust — хороший выбор для разработки игр. Хотя экосистема языка еще молода, с помощью FFI можно использовать готовые решения написанные на другом языке. Но написание и использование FFI может быть не тривиальной задачей, когда дело доходит до чего-то большего, чем вызов одной...

Новый пользовательский интерфейс Alt+Tab в Windows 11 похож на macOS Управление окнами в Windows 10 или Windows 11 всегда было лучше, чем в macOS, и теперь Microsoft выпускает новое обновление, которое изменит внешний вид Alt+Tab (меню для быстрого переключения между приложениями и открытыми вкладками браузера). Как вы, наверное, знаете, новы...

Как очистить папку «Другое» на Андроид Сколько бы ни увеличивали производители смартфонов память в телефонах, она по-прежнему забивается очень быстро. Во многом это связано даже не с установленными приложениями и файлами, а с системным мусором и забитым кэшем, про который мы зачастую забываем. Забивается память ...

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

Российская виртуализация на российском железе: обзор платформы АЭРОДИСК MACHINE-V Здравствуйте, Хабровчане! В этой статье мы проведем обзор новой линейки программно-аппаратных комплексов АЭРОДИСК Machine-V с предустановленной российской системой виртуализации АИСТ и гиперконвергентой системой vAIR. Идею создания готовых программно-аппаратных комплексов (П...

[Перевод] Как выбрать подходящий Go-роутер? (с блок-схемой) Когда вы начинаете разрабатывать веб-приложение с применением Go, один из первых вопросов, которым вы, вероятно, зададитесь, — “Какой роутер мне следует использовать?”.И это не такой простой вопрос, как может показаться сначала. Доступно более 100 различных роутеров с разным...

[Перевод] Рисуем красивые трейсбеки, перехватывая исключения в Python Все мы тратим немало времени на отладку, копаясь в логах или читая трейсбеки (traceback, отчёты о трассировке стека). Любое из этих дел может оказаться сложным и длительным. Этот материал посвящён тому, как сделать трассировку стека и работу с исключениями как можно более пр...

Обзор kubenav для управления Kubernetes-кластерами со смартфона Kubenav — бесплатное приложение с открытым исходным кодом. Его основная цель — предоставление удобного GUI для управления кластером Kubernetes из-под всех возможных платформ. Их ассортимент действительно богат: десктоп-клиенты (для Linux, macOS и Windows), мобильные (для And...

Как установить Сбербанк Онлайн, ВТБ Онлайн и другие приложения, которых уже нет в App Store Несмотря на обещания российских банков, попавших под санкции, что после удаления из App Store их приложения продолжат работать без ограничений, по факту всё получилось не совсем так. Некоторые пользователи обнаружили, что банковские клиенты ВТБ, Альфа-банка и Сбербанка стал...

Активная конкуренция за RAM в Android Разработав инструмент для визуализации RAM и zRAM в Android, я обнаружила, что в телефонах происходит активная конкуренция за ресурсы. И если процессу понадобятся ресурсы, которые уже заняты кем-то другим, он отберет их, что может привести к критическим ситуациям и конфликта...

Утилита HWiNFO обновилась до версии 7.14 Утилита HWiNFO — это одна из старейших и мощнейших утилит по получению информации о системе, её диагностирования и мониторинга в реальном режиме времени.

TINKOFF-INVEST. Разработка торгового робота на JAVA. Часть 2 Как же быстро летит время... Прошло почти 2 месяца с момента публикации моей первой статьи о работе с TINKOFF INVEST API – Разработка торгового робота на JAVA. Часть 1, в которой мы начали свое знакомство с инструментарием автоматизации торговли, предоставляемым брокеро...

Django-sockpuppet, интересная альтернатива React, Vue, Angular или очередная заброшенная джанговская «батарейка»? Всем доброго времени суток! В данной статье я хотел бы очень кратенько, без подробностей рассказать про интересный проект, который будучи достаточно простым, сильно увеличивает возможности Django фреймворка. Мне он показался достаточно интересным. Сейчас хайп вокруг с...

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

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 3 — NAT и сетевые соединения) В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический хара...

Apple объявила об изменениях в использовании сторонних систем оплаты в приложениях, представленных в нидерландском App Store В прошлом месяце Apple разрешила приложениям для знакомств в Нидерландах использовать сторонние платежные сервисы по распоряжению Управления по делам потребителей и рынков Нидерландов (ACM). Теперь Apple объявила об изменениях, которые упростят задачу для разработчиков,...

Обзор стремительно развивающейся среды разработки microStudio Здравствуйте дорогие читатели сайта! На написание этой статьи меня подтолкнул тот факт, что я не смог найти на необъятных просторах русскоязычного интернета, какой-либо подробной информации о microStudio. Можно найти небольшие заметки, на нескольких сайтах. Где совсем скромн...

Microsoft выпустила Windows 10 Build 19044.1618 для инсайдеров в Release Preview Channel Компания Microsoft выпустила Windows 10 Build 19044.1618 (21H2) (KB5011543) для Release Preview Channel для инсайдеров, которые работают на Windows 10. Выделения поиска в Windows 10 Недавно Microsoft представила обновление для поиска в Windows 11 Insider Preview, которое выд...

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

Проблемы с Windows 11: Microsoft подтверждает широко распространенные сбои приложений В Windows 11 была обнаружена еще одна ошибка: сбой приложения Ножницы (snippingtool.exe) с загадочной ошибкой «Это приложение не открывается». Microsoft подтвердила, что сертификат с истекшим сроком действия вызывает проблемы у пользователей. В Windows 11 внесены существенны...

Tarantool запускает тестовую версию платформы Развертывание и настройка демо кластера займет меньше 15 минут. По окончанию тестов Try.Tarantool создаст файл для скачивания - полностью идентичный тому, что было в песочнице. Это позволит пользователю сразу же продолжить работу в локальной версии, в которой доступна более ...

[Перевод] Исправление неоднозначных ограничений без перезапуска приложения ПримечаниеСлова layout, autolayout и constraints я перевёл, соответственно, как вёрстка, автовёрстка и ограничения.Работа с автовёрсткойПроблемы автовёрстки решать непросто. Запуская приложение, надеешься, что все установленные ограничения работают корректно, а получаешь куч...

Обновление KB5006746 устраняет эти критические проблемы с производительностью в Windows 11 Накопительное обновление KB5006746 для Windows 11 было выпущена с несколькими критическими исправлениями ошибок, включая исправление проблем с производительностью на оборудовании AMD. Кроме того, первое дополнительное обновление Windows 11 также устраняет ошибки типа «Синего...

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

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

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

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

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

Как мы уменьшаем размер изображений на веб-страницах в 10 раз с помощью нашего оптимизатора Привет, Хабр! Меня зовут Евгений Лабутин, я из команды разработки продукта МТС Твой бизнес. Мы разработали свой рецепт приготовления картинок для нашего портала. Благодаря ему удалось сократить их вес на странице до 10 раз относительно уже оптимизированного jpg/png, сохранив...

Уехать в Германию на финишной прямой до пенсии, отыскать там СССР Уехать в Германию на финишной прямой до пенсии, отыскать там СССР или как сбежать из тюрьмы, и чтобы тебе за это ничего не было Март 2022. События последних недель разделили нашу жизнь на ДО и ПОСЛЕ, а наше общество – на тех, кто ZА и ПРОТИВ. Воздержавшихся, кажется, уже не...

STM32, CMSIS, CAN, Часть 1 — передача Привет, сегодня мы будем настраивать отправку данных с помощью CAN (Controller Area Network). В интернете много информации о том, как настроить CAN использую HAL библиотеку, а в случае использования CMSIS информация обрывочна, по этой причине решил рассказать о своем опыте р...

Смартфоны Xiaomi на Android 12 сталкиваются с массой проблем Компания Xiaomi получила массу жалоб на операционную систему Android 12, причем многие носят разносторонний характер.В устройствах на базе MIUI с операционной системой Android 12 возникает масса проблем с совместимостью приложений. И компания уже начала на них реагировать.Од...

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

Qualcomm представила платформу Snapdragon Spaces XR для разработчиков AR-приложений В то время как большинство идей о метавселенной связаны с виртуальной реальностью и подразумевают использование VR-гарнитур для помещения человека в цифровую среду, существуют подходы, которые рассматривают дополненную (AR) или смешанную (XR) реальность. На выставке Augmente...

FinOps с помощью Governance-as-Code Масштабы и сложность решений, основанных на облачных технологиях, продолжают расти. Слишком часто это расширение также означает, что затраты продолжают выходить из-под контроля. В этой статье мы рассмотрим, почему развивающаяся практика облачного финансового управления (FinO...

[Перевод] Шаблоны C++: как итерировать по std::tuple — std::apply и еще пара приемов В предыдущей статье, посвященной перебору элементов кортежей, мы рассмотрели только основы. В результате нашей работы мы реализовали шаблон функции, который принимал кортеж и мог красиво вывести его в консоль. Мы также реализовали версию с оператором <<.Сегодня мы пойд...

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

Microsoft создаёт новый способ делиться клипами из игр на Xbox По словам Ларри Хриба из Microsoft, клипами из видеоигр для Xbox станет гораздо проще делиться через уникальные общедоступные URL-адреса в мобильном приложении Xbox. Эти ссылки также будут собраны в новую область «актуального контента», чтобы вы могли видеть, что делают друг...

Пресс-релиз сборки Windows 11 Insider Preview Build 22621 Компания Microsoft выпустила сборку Windows 11 Insider Preview Build 22621 для инсайдеров в Beta Channel. TL;DR • Microsoft выпускает ISO-образы для этой сборки — их можно скачать здесь ; • Эта сборка включает небольшой набор исправлений, которые улучшат общий опыт инсайдеро...

Создание внутреннего мобильного приложения «На связи»: от идеи до визуального решения Меня зовут Лена, я дизайнер интерфейсов в Tele2. И я расскажу о создании внутреннего корпоративного мобильного приложения «На связи» для сотрудников Tele2 – его проектировании и выборе визуального решения. Пройдусь по основным этапам работы над digital-продуктом с точки...

[Перевод] Звёздный рейтинг: решение с использованием SVG Для некоторых веб-сайтов и платформ в интернете важно предоставлять пользователям звёздный рейтинг для возможности выставить оценку материалу. Недавно мне довелось реализовать для одного проекта компонент звёздного рейтинга. Я решил использовать SVG и не пожалел об этом. В д...

Внедрение Q# в ваши любимые языки и платформы (Python, .NET, ASP.NET, Julia, Lua, PowerShell) Не секрет, что Q# и Quantum Development Kit позволяют легко писать квантовые программы и запускать их на симуляторах и на оборудовании через службу Azure Quantum, с использованием Python, .NET или даже через Jupyter Notebook. Более того, инфраструктура, которая поддерживает ...

Более 38% заказчиков Kubernetes развертывают его в облаке Согласно результатам опроса, все заметнее становится тенденция по переходу работы с Kubernetes в облачные среды: именно такую модель практикуют 38,1% опрошенных компаний. В частности, 14,1% организаций самостоятельно разворачивают Kubernetes на виртуальных машинах облачного ...

Кафка: сложная простота Привет! Это Сергей Калинец из Parimatch Tech и эта публикация будет про Кафку. У нас много данных, которые нужно быстро обрабатывать, много сервисов и команд, поэтому мы выбрали Кафку, как нашу основную платформу для обмена данными. За годы ее использования насобиралось...

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

Разбираем алгоритмы компьютерной графики. Часть 1 — «Starfield Simulation» Этой небольшой заметкой я хочу начать цикл статей посвященных алгоритмам компьютерной графики. Причем, не аппаратным тонкостям реализации этой самой графики, а именно алгоритмической составляющей.Действовать буду по следующему принципу: беру какой-либо графический эффект (из...

Погружение в Charles Proxy Привет, Хабр! Статья была ранее опубликована в блоге компании, который сейчас удален. Перевыкладываю, так как считаю, что статья не потеряла актуальность на текущий момент времени. При приёмке задач мы уделяем большое внимание проверке клиент-серверного взаимодействия. Опы...

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

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

Microsoft признала проблемы с сетевой печатью в Windows 11 KB5006674 и Windows 10 KB5006670 Компания Microsoft признала проблемы с сетевой печатью в Windows 11 KB5006674 и Windows 10 KB5006670. Microsoft отметила, что принтеры, которые используются совместно через серверы печати Windows, могут получать многочисленные ошибки, которые не позволяют им использовать сет...

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

[Перевод] Альтернативы HashiCorp Boundary HashiCorp Boundary — это пропускная система с открытым исходным кодом, которая обеспечивает пользователю безопасный доступ к динамическим хостам и критически важной инфраструктуре в разных средах. Однако, если вам нужен простой и безопасный способ управления доступом к база...

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

Роскомнадзор активно блокирует VPN-сервисы в россии после запрета Facebook и Instagram Как сообщают российские источники со ссылкой на Роскомнадзор, в России уже заблокировано около 20 популярных сервисов VPN, при этом Роскомнадзор намерен продолжить эту работу. Информацию подтвердил председатель комитета Госдумы по информационной политике Александр Хиншт...

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

Установка Nextcloud на Synology. Настройка OnlyOffice и External storage В данном посте я хотел бы рассмотреть способ установки персонального облака на домашний сервер Synology при помощи Docker, поделиться своими ошибками и опытом использования в повседневной жизни. Я буду признателен, если более опытные пользователи habr также поделятся своим о...

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

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

7 атрибутов хорошего firmware В этой статья предлагаю обобщить, перечислить и обсудить общие системные атрибуты хорошего firmware (прошивки) для микроконтроллерных проектов, которые не зависят от конкретного приложения или проекта. Читать далее

ИИ-помощник Copilot от GitHub — как новый инструмент повлияет на работу программистов Летом 2021 года Microsoft и GitHub представили нейросетевого помощника программиста Copilot  на базе технологий компании Open AI. Авторы проекта научили Copilot премудростям работы с фреймворками и разным языкам программирования. После релиза системы было заявлено, что ...

Как устроены облачные сети и чем они отличаются от On-premise Cloud Station — Photoshop Art by PhaseRunner Принципы построения облачных и On-premise-сетей различаются: в облаке много новых сетевых сущностей и подходов к построению инфраструктуры. Но новое не значит сложное. Меня зовут Болат Кажкенов, я архитектор VK Cloud Solutions....

Карта расширения Qnap QXP-1600eS-A1164 обеспечивает подключение до 16 накопителей с интерфейсом SATA 6 Гбит/с Компания QNAP Systems представила карту расширения QXP-1600eS-A1164. Она позволяет добавить в конфигурацию системы четыре порта SATA для внешнего подключения. Карта, разработанная для модулей расширения серии TL SATA JBOD, совместима с NAS, ПК и серверами, располагающим...

[Перевод] Погружаемся в CSS: как использовать :where () Функция :where() помогает писать меньше кода, применять стили ко всему списку и снимает головную боль при использовании CSS reset. В статье разберёмся, как это работает, и посмотрим на примеры использования. Читать далее

Kubernetes monitoring от простого к сложному (Николай Храмчихин) Разберём как при помощи VictoriaMetrics замониторить kubernetes. Откуда собирать метрики и как автоматически обнаруживать новые цели. Черная магия релейблинга и как она работает. Аннотации для мониторинга приложений и что делать когда их гибкости не хватает Читать дальше &r...

Использование Jetpack Compose в продакшне: первые впечатления Мы в МТС Банке давно ждали релиза Jetpack Compose, чтобы использовать его в продакшне. В прошлом месяце такая возможность наконец появилась — мы решили обновить дизайн одного из экранов нашего приложения «МТС Банк для бизнеса» для Android. В статье я хотел бы поделиться н...

Agile скрам-разработка Эта статья не рассчитана на бывалых скрам-мастеров, опытных проект-менеджеров… А скорее для начинающих, тех, кто хотят открыть для себя эту нишу в ИТ.Agile методы - это альтернатива поэтапному управлению проектами. Поэтапная методика управления проектами завязана на менеджер...

Ученые научились печатать на 3D-принтере почти всеми востребованными металлами Обзор методологий 3D-печати опубликован в научных журналах Journal of Alloys and Compounds, Composite Communications, Materials и других публикациях коллектива.Современное металлургическое производство активно уходит в 3D-формат и уже включает такие сферы, как авиастроение, ...

Портативная пушка Гаусса за 1к В этом посте будет рассмотрена схема и сборка портативной Пушки Гаусса, которую можно собрать за минимальную сумму, а именно, ускоритель будет собран в сумму ~ 1000р. Схема проста на столько, что ее сможет собрать не разбирающийся. Корпус в свою очередь можно скачать в виде ...

Собираем компилятор для ПЛИС Lattice ECP5 в лице Yosys и NextPNR для работы в ОС Windows Наш цикл про ПЛИС Lattice ECP5 растянулся уже на шесть статей. Мы уже научились не только создавать простые проекты для них, но набили руку в разработке сложных систем на базе кроссплатформенной открытой среды LiteX. В целом, я уже набрал материалов, чтобы выдать инструкцию,...

Docker: заметки веб-разработчика. Итерация вторая Привет, друзья! Продолжаю делиться с вами заметками о Docker. Заметки состоят из 3 частей: первые две теоретические, третья практическая. Если быть более конкретным: первая часть посвящена самому Docker, Docker CLI и Dockerfile; вторая часть полностью о Docker Compose; в ...

Распределённые транзакции Kafka + PostgreSQL средствами Spring Как известно, во многих IT-проектах есть типичная задача -  транзакционная обработка данных в интеграционных сценариях, когда необходимо согласованно отправить или принять данные из внешней системы и при этом обновить собственное состояние приложения.Особенно интересной...

[Перевод] 10 эвристик юзабилити, которые должен знать каждый дизайнер 25 лет назад Якоб Нильсен описал 10 основных принципов проектирования взаимодействия. Эти принципы были разработаны на основе многолетнего опыта в области юзабилити-инженерии и стали правилами для взаимодействия человека и компьютера.Сегодня эти принципы так же актуальны, ка...

Как мы СМ 3.0 запускали Привет, меня зовут Виктор, я руководитель продукта сайта Спортмастер, точнее — его новой версии. Я работаю в компании с 2019 года и пришёл на проект системным аналитиком. В то время проект только стартовал. Мы выбрали архитектуру нового приложения, технологии, тактику тестир...

[Перевод] Как подключиться к базе данных с помощью CSS К старту курса по Fullstack-разработке на Python делимся материалом о том, как при помощи современных возможностей CSS и JS — ворклетов и API Houdini — подключиться к базе данных и выполнять запросы к ней. За подробностями приглашаем под кат. Читать далее

Настройка маршрутизации в сети с неподконтрольным роутером В данной статье описано как можно настроить прозрачное для клиентов использование ресурсов из луковой сети (The Onion Router aka TOR) и VPN соединение с другими сетями если провайдер предоставил вам роутер с минимальными возможностями настройки, сохраняя при этом возможность...

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

А вы знаете, где используется Haskell? Всем привет! Мы хотим продолжить серию постов на тему “где используются эти ваши странные языки программирования”. В прошлый раз мы рассказали про Лисп, а сегодня продолжим разговор про функциональные языки и обратим внимание на Haskell.  Он является основным языком раз...

Helidon, Testcontainers, Cucumber, Kafka и многое другое Helidon  отлично подходит для создания микросервисов, для простого и быстрого развертывания в проде, и демострирует действительно впечатляющую производительность!А как насчет тестирования Helidon?В этой статье мы рассмотрим несколько способов, как это сделать. Чита...

Open Source в России будут использовать более 90% компаний к 2026 г. В исследовании приняли участие 40 организаций, 15% из которых являются разработчиками решений на Open Source, а остальные - пользователями. Среди респондентов: руководители ИТ-подразделений - 70%, смежных с ИТ подразделений - 13%, а также внутренние эксперты орга...

Уроки форензики. Расследуем взлом веб-сервера с Linux, Apache и Drupal Для подписчиковВ этой статье я покажу ход расследования киберинцидента на примере лабораторной работы Hacked с ресурса CyberDefenders. Мы научимся извлекать артефакты из образа диска системы Linux, анализировать их и по этим данным выясним, как злоумышленник скомпрометировал...

Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 97.0.1072.55 Компания Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 97.0.1072.55. Новые функции • Используйте текущий профиль для входа на веб-сайты, когда несколько рабочих или учебных учетных записей вошли в систему на устройстве. Когда несколько рабочих или у...

Решаем проблемы REST с помощью Redux Toolkit Query В приложениях с REST архитектурой существует ряд проблем:• повторяющийся код при работе с состоянием приложения;• костыли и велосипеды при обработке результатов и состояний запросов;• отсутствие стандартного механизма кеширования полученных на клиенте данных; • одновременные...

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

[Перевод] Как Kubernetes создает и запускает контейнеры: Иллюстрированное руководство Понимание того как Kubernetes обрабатывает контейнеры дает большую гибкость при создании пользовательских конфигураций под конкретные нужды.Kubernetes позволяет выполнять много полезной работы без глубокого понимания деталей. Утилита командной строки kubectl и дашборды в Ope...

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

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

Прототипирование процессоров Baikal на платформе Synopsys HAPS Если предыдущая статья про гибридное прототипирование https://habr.com/ru/company/baikalelectron/blog/582782/ описывала новаторское использование платформы HAPS, то сегодня мы расскажем в общем - что такое прототип, и какие традиционные подходы к  прототипированию испол...

Microsoft исправила проблему с цифровым сертификатом в обновлении Windows 11 KB5008295 Компания Microsoft выпустила накопительное обновление KB5008295 для Windows 11 в каналах Windows Insider Beta и Release Preview, которое исправляет проблему с просроченным цифровым сертификатом в некоторых встроенных приложениях Windows, таких как ножницы, cенсорная клавиату...

Главный мессенджер Android, Google Messages, «иссушает» батарею смартфонов. Что делать В сети появились жалобы от пользователей мобильных устройств с операционной системой Android на быструю разряду батареи и перегрев. Отмечается, что к этому приводит ошибка в Google Messages (Сообщения) — базового приложения для обмена сообщениями на смартфонах An...

Windows 11: переработанные нативные приложения теперь доступны большему количеству пользователей Первое большое обновление Windows в этом году посвящено обновленным приложениям для Windows 11. Microsoft выпускает новое приложение «Блокнот», проигрыватель Windows Media и новый редактор изображений в приложении «Фотографии» для большего числа пользователей. В то время как...

Как внедрить что-то своё в CoordinatorLayout и не умереть: путь Android-самурая Привет! Меня зовут Андрей Шоколов, я Android-разработчик KODE. К нам обратилась компания Forward Leasing с запросом разработать мобильное приложение по готовому дизайну. Прототип содержал дугу, которая по задумке должна была сжиматься в одну линию при скролле. За основу реши...

[Перевод] Практические рекомендации по работе с Docker для Python-разработчиков Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать с...

Состоялся релиз стабильной версии Microsoft Edge 100.0 Microsoft начала распространять стабильную версию Microsoft Edge 100.0 (100.0.1185.29), которая принесла с собой несколько новых функций. В частности, добавлен упрощённый просмотрщик PDF-файлов для Microsoft Outlook и «Проводника», усовершенствован Microsoft 365 Application...

[Перевод] Состояние PHP в 2021 году: тенденции в разработке и прогнозы развития В 2021 году благодаря его новым фичам и возрастающей потребности в безупречно проработанном цифровом взаимодействии с клиентами PHP продолжал жить и здравствовать. Что же ждет PHP в будущем?В этой статье мы рассмотрим текущие реалии PHP landscape 2021, ответим на некоторые о...

[Перевод] DevOps, SRE и Platform Engineering В течение своей карьеры мне приходилось работать в командах и компаниях, где в качестве разработчика я помещал код в репозиторий и просто надеялся, что все будет хорошо, когда какой-нибудь мифический сисадмин в конце концов не запустит его в продакшн. Случалось и то, что мне...

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

Overpass API: следующий уровень владения OpenStreetMap В своих различных геосервисах мы используем данные OpenStreetMap (OSM). Данные в OSM заносятся, в основном, через специальные программы-редакторы, про самые популярные из которых мы писали тут и тут. На программном уровне редакторы общаются с главным сервером через OSM API. ...

Компания Microsoft выпустила список изменений сборки Microsoft Edge Insider Dev Build 101.0.1198.0 Компания Microsoft выпустила список изменений сборки Microsoft Edge Dev Build 101.0.1198.0. Эта важная новость заключается в том, что Microsoft официально объявила о поддержке Xbox Cloud Gaming в Steam Deck! Прямо сейчас для этой поддержки требуется бета-версия Edge, и шаги ...

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

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

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

Интеграция amoCRM с сайтом API AmoCRM одна из самых популярных CRM, при этом ее API один из самых странных, по моему субъективному мнению. Понадобилось передавать формы с сайта в crm. Использовать CRM Формы вместо своих дизайнерских не хочется. Было бы здорово открыть статейку в гугле, подставить ключ и н...

Как Discord стал нашим основным инструментом для сбора фидбека и позволил наладить систему саппорта почти без вложений Сейчас наш Discord-сервер — это самый эффективный способ сбора фидбека у социально активной кор-аудитории PvP-шутера. Сервер начинался как простой эксперимент, мы не понимали, насколько он будет полезен, но результаты превзошли ожидания. Настолько, что мы сделали еще и отдел...

Текстовая CAPTCHA в 2022 В этой статье я попробую пройти весь путь в распознавании text-based CAPTCHA, от эвристик до полностью автоматических систем распознавания. Попробую проанализировать, жива ли еще капча(речь про текстовую), или пора ей на покой.Впервые текстовая капча(text-based CAPTCHA), дал...

Как мы боролись с проблемой разлогинов в приложении «Магнита» и возвращали пользователей обратно Всем привет! Меня зовут Антон Огородников, и с начала этого года я руковожу отделом онлайн-разработки в «Магните». Не успел я заонбордиться, как столкнулся с  настоящим коллапсом — массовым лог-аутом пользователей из приложения лояльности «Магнит: акции и скидки». Клиен...

Force Update — механизм принудительного обновления мобильных приложений Абсолютное большинство мобильных приложений имеет интересный нюанс – «хвост» старых версий, которыми все еще продолжают пользоваться. В этой мы посмотрим, какие проблемы это приносит и как с этим бороться. Материал будет полезен и мобильным разработчикам, и тем, кто каким-ли...

7 принципов Agile из Agile Extension от IIBA Принципы — это те рельсы, которые направляют людей по жизненному пути. Международный Институт Бизнес-Анализа (IIBA) определил 7 главных принципов, которые указывают бизнес-аналитикам как работать приносить больше пользы команде и клиенту, делая меньше работы с большим к...

Неудобная правда: как Tesla стала триллионной компанией Упомянутые в статье факты я начал бережно собирать в черновике ещё весной. А тут появился повод собрать их все воедино. Я вам гарантирую, что вы будете изумлены изысканностью происходящего. Читать далее

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

В Telegram началось тестирование веб-ботов — первая информация Несмотря на общий принцип работы с inline-ботами, они имеют ряд отличий.

Генератор компонентов Vue.js? Разработка веб-приложения это не только решения интересных задач, работа с логикой, или с интересной версткой. Это также рутина, которая преследует каждого разработчика в процессе работы. Начиная от создания разных файлов, и написания шаблонного boilerplate кода, заканчивая ...

Поднимаем прозрачный прокси Squid на FreeBSD 13.0 Хочу поделиться информацией по поднятию прозрачного HTTP и HTTPS прокси сервера Squid с фильтрацией сайтов и без подмены сертификатов на FreeBSD 13.0 RELEASE. На Хабре уже есть похожая статья по настройке прозрачного прокси сервера Squid с фильтрацией ресурсов и без подмены ...

Ansys Material Intelligence Day: международная конференция по инновационным подходам к работе с материалами 03 ноября 2021 года состоится Ansys Material Intelligence Day — онлайн-конференция, посвященная работе с данными о материалах в различных отраслях, исследовательских и научных сообществах. Участники обсудят будущее работы с материалами, а также поделятся опытом создания инте...

[Перевод] Находим более качественные решения при помощи boost Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комит...

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

Инструкция: простая установка APK в Windows Subsystem for Android с помощью WSATools Несколько недель назад Microsoft начала тестирование Windows Subsystem for Android (WSA), предназначенной для запуска Android-приложений в Windows 11. Правда из коробки подсистема поставляется с магазином Amazon Appstore, в котором насчитывается всего около 50 приложений, п...

OSINT для сбора информации о рекламных идентификаторах на сайтах Давайте поговорим об использовании уникальных рекламных идентификаторов на сайте и их применимости для использования в OSINT-исследованиях. Рекламные идентификаторы прячутся в коде вебсайта. Чтобы их увидеть необходимо открыть код страницы (в Chrome - CTRL+U) и найти в нем и...

Как мы TLS Fingerprint обходили… В один день одна из крупных досок объявлений начала возвращать фейковые характеристики объявлений, когда понимала, что мы - бот.Видимо сайт добавил наш прокси в blacklist, но в нашем пуле около 100к проксей, все прокси попали в blacklist?Попробовав запустить парсер на другом...

Можно ли использовать VPN в России За последние недели количество скачиваний приложений с VPN увеличилось в десятки, если не в сотни раз. Наши сограждане активно пользуются сервисами для того, чтобы получить доступ к Instagram и Facebook, ныне заблокированным в России. Правда, тут не все так просто: многие з...

Разработка приложения на Flutter с нуля до релиза: Идея + Базовая инфраструктура Привет! В данном цикле статей я хотел бы показать, как может происходить создание приложений с использованием Flutter. У меня есть несколько Open Source решений, которые будут использованы в данном приложении. Что из этого получится - увидим в скором будущем. Если долго муча...

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

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

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

Google представила Android 12L для планшетов, складных устройств и ноутбуков с Chrome OS Операционная система Android несколько раз подвергалась критике за то, что она не была разработана для работы на устройствах с большим экраном, таких как планшеты. Вчера компания Google исправила этот пробел и анонсировала новую версию операционной системы Android 12L.Androi...

CyberLink продемонстрирует новейшие революционные приложения на выставке CES 2022 CyberLink Corp., пионер технологий искусственного интеллекта и распознавания лиц, продемонстрирует несколько новых передовых приложений своего лидирующего на рынке варианта FaceMe на выставке CES 2022 в Лас-Вегасе. Вы узнаете, как FaceMe можно развернуть в различных сценария...

Проброс видеокарты в виртуальную машину Две разные системы (win + linux) на одной аппаратной базе - реальность. В этом нет ничего нового или инновационного (на данный момент времени), но если требуется максимальная производительность гостевой системы, то не обойтись без проброса реальных устройств в виртуальную ма...

[Перевод] Собираем DOS 2.11 из исходников 80-х годов Успешно завершив сборку ядра PC DOS 1.1 из исходного кода, я решил, что повторю то же самое с исходным кодом DOS 2.11, опубликованным Музеем компьютерной истории (CHM). В статье представлены заметки, сделанные мной в процессе приведения в форму опубликованного исходного кода...

Следующее обновление Windows 11 удалит больше страниц Панели управления Осенью 2022 года Windows 11, вероятно, получит серьезные улучшения в дизайне, и мы уже начали получать сборки из канала Dev. Microsoft недавно выпустила Windows 11 Build 22509 со столь необходимыми улучшениями для меню «Пуск», панели задач и изменениями в Панели управления. ...

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

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

Проблемы со вспышкой на Айфоне. Как исправить Apple добавила функцию включения фонарика еще в iOS 7 — с тех пор пользователям больше не приходится скачивать отдельные утилиты для его включения. Это полезная фишка, которая выручает в любой подходящей ситуации, а запустить ее можно прямо из Пункта управления. Несмо...

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

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

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

Игра вслепую. Управляем Android-смартфоном через ADB Для подписчиковОднажды мне понадобилось, чтобы одноплатник Raspberry Pi при загрузке переводил подключенный к нему телефон в режим USB-tethering. На помощь пришел ADB — интерфейс отладки Android-устройств. Существует несколько способов автоматизировать работу приложений на A...

Недельный геймдев: #59 — 27 февраля, 2022 Из новостей: Epic Games выпустила превью-версию Unreal Engine, с 28 марта в Steam нельзя будет устанавливать скидку меньше 10 или больше 90 процентов, вышло бесплатное приложение Open Brush 1.0 для создания 3D-скетчей в виртуальной реальности, грядущие изменения режима с...

Kincony KC868-A4: ультимативный гайд. Часть 3: управление контроллером через Telegram-бота В предыдущей статье цикла о Kincony KC868-A4 было рассмотрено «атомарное» программирование компонентов этого контроллера, в этой статье будем разбирать более продвинутый пример работы с KC868-A4 — управление вашей (IoT) системой через интернет. Способов управления контрол...

Способы обхода аккаунта Google (FRP) после сброса Наверное, каждый владелец iPhone знает, что такое блокировка активации. Для пользователей Android поясню. Это специальный механизм, который блокирует смартфон Apple, препятствуя его активации в случае кражи. Во многом из-за него красть Айфоны для личного пользования практич...

Уж+ёж: реактивные компоненты в сервлетном окружении (2/3) В предыдущей заметке было показано несколько подходов к управлению зависимостями в «гибридных» приложениях (использующих части сервлетного и реактивного стеков), а также вариант реализации универсального механизма для поддержки MDC-меток в логах. А в этой заметке речь пойдёт...

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

Китайский энтузиаст «разогнал» до 4,8 ГГц образцы серверных чипов AMD EPYC 7773X с технологией 3D V-Cache В китайской социальной сети Bilibili была опубликована информация о производительности системы на базе двух серверных 64-ядерных и 128-поточных процессоров AMD EPYC 7773X серии Milan-X с технологией 3D V-Cache, которые ещё не поступили в открытую продажу. Источник изображени...

Теплый резерв Jira и Confluence (на пороге импортозамещения) За почти четырнадцатилетнюю историю использования Jira и Confluence на Московской бирже в них накоплен огромный объем данных: у нас более 350 проектов в Jira и более 200 пространств в Confluence. Не будет преувеличением сказать, что в этих продуктах сейчас работает вся Биржа...

Окрашивание изображений Статья про окрашивание изображений на основе работы Color2Embed: Fast Exemplar-Based Image Colorization using Color Embeddings. Рассмотрим, как переносить цвет с одной картинки на другую с помощью смеси из U-Net и StyleGAN v2. Читать далее

Делаем PICDuinaNano своими руками Небольшой проект, в котором реализована маленькая и простоя плата для изучения микроконтроллеров PIC18, выполненная по образу и подобию Arduino Nano. Читать далее

Ученые определили слабые места приложений при использовании машинного обучения Результаты исследования опубликованы в International Journal of Open Information Technologies.На сегодняшний день машинное обучение - практически синоним термина "искусственный интеллект", программы развития которого уже являются национальными во многих странах. До...

Приложение ВТБ перестало работать на некоторых iPhone Как сообщает издание «РИА Новости», сегодня приложение ВТБ перестало работать на некоторых мобильных устройствах iPhone, которые используют операционную систему iOS. По данным источник, при каждой попытке войти в мобильный банк на iPhone появляется сообщение...

[Перевод] Пишем чистый код при помощи деструктуризации объектов в JavaScript Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScriptВ этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом...

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

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

Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих) Этот материал рассчитан на людей, будущих программистов, которые только начинают разбираться в программировании под ОС Linux, или может быть долго были пользователями ОС Windows. Я попробую здесь показать прямое руководство к действию на примере ОС Ubuntu и тех простых инстр...

Хранители данных: как устроена работа с DWH в Lamoda Всем привет! Меня зовут Юлия Скогорева, я системный аналитик в команде Center of excellence в Lamoda, которая входит в дирекцию данных и аналитики.Если бизнесу нужны какие-то данные для принятия важных решений, то на помощь приходит наша команда. Мы тщательно изучаем множест...

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

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

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

Веб-сервер — это просто скрипт Есть категория людей, которые особо ценят надёжность, стабильность, безопасность и свободу информации. Наверное, именно такие люди поднимают медиасерверы Plex и Jellyfin, запускают ноды Bitcoin, мосты Tor, инстансы Mastodon и Matrix, приложения YunoHost, VPN-узлы Tailscale ...

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

Microsoft выпустила Windows 10 Build 19041.1382, 19042.1382, 19043.1382 и 19044.1382 Компания Microsoft выпустила Windows 10 Build 19041.1382, 19042.1382, 19043.1382 и 19044.1382. Это обновление, не связанное с безопасностью, включает улучшения качества. Ключевые изменения включают: • Исправлена проблема, которая влияла на открытие процесса SearchFilterHost....

Запись разговоров на мобильных Тут на МВидео выложили статью про 10 лучших приложений для записи звонков на смартфонах, а на 4pda выложили статью, что Гугл совсем запрещает запись звонков на Андроиде. Тема мне близка, т.к. недавно занимался разработкой приложения для записи звонков и все вышло не так как ...

Многоразовый композит из нановолокон и наноалмазов поможет выявить токсины в воде Наука Вещества 29.10.2021, 19:35 Многоразовый композит из нановолокон и наноалмазов поможет выявить токсины в воде Красноярские ученые разработали новый композитный материал на основе нановолокон оксида алюминия и детонационных наноалм...

Создаем и тестируем свой plugin для Gradle 7.0+ Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в д...

Пишем свой плагин для IDEA для поддержки нового языка (часть 1) В статье рассмотрено как создается языковой плагин для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Читать далее

9 декабря — QIWI Server Party 7.0, онлайн Привет! В следующий четверг, 9 декабря, мы проведём наш седьмой QIWI Server Party.Обсудим оптимизацию приложений на MongoDB, поделимся опытом проведения интеграционного тестирования в условиях множества сторонних API. Кроме этого — рассмотрим проблему с распределенными транз...

Топ-10 ошибок, найденных PVS-Studio в проектах на ASP.NET Core Миллионы людей используют веб-приложения, построенные на основе ASP.NET Core. Поэтому мы решили улучшить работу PVS-Studio при анализе таких проектов. Для демонстрации результата нашей работы мы проверим несколько open source проектов и представим топ срабатываний. Читать да...

Пользователи потратили $133 миллиарда на мобильные приложения в 2021 году По мере того, как 2021 год подходит к концу, мы склонны оглядываться на самые важные события за последние 12 месяцев. Аналитическая компания SensorTower опубликовала свой годовой отчет о расходах на мобильные приложения, и он показывает четкую закономерность — пользователи A...

«Горячие» и «холодные» Feature toggles: принципы работы В этой статье мы расскажем про принципы безопасной работы с переключателями функционала – Feature Toogles:  — Что из себя представляют переключатели функционала и для чего их использовать. — Какие проблемы возникают при неправильном использовании. — Что такое «горячие» ...

Varonis предупреждает о возможных рисках ошибочных конфигураций Jira В ходе исследования было обнаружено, что API Jira REST предоставляет доступ к гораздо большему объему данных, нежели веб-интерфейс. Эта особенность API не является уязвимостью и проявляется только в случае неверного конфигурирования прав доступа. Тем не менее, администраторы...

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

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

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

WireGuard клиент для Windows на основе BoringTun В начале 2019 года компания Cloudflare представила BoringTun, реализацию WireGuard протокола, написанную на языке Rust. Код проекта распространяется под лицензией BSD-3-Clause и включает в себя библиотеку, которая может использоваться для интеграции функц...

Инсайдеры Office могут установить сборку 15121.20000 Инсайдеры Office получили очередную сборку для Windows (Build 15121.20000). Word Известные исправления • Исправлена проблема, которая связана с выбором элементов в онлайн-библиотеке премиум-контента; • Исправлена проблема, из-за которой файлы SVG могли отображаться как нераб...

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

Мой друг Netmiko Ansible с костыльком может автоматизировать сеть и non-CloudEngine коммутаторов Huawei, как недавно было доказано на нашем Enterprise форуме. Однако в сети, в которой работают разные модели коммутаторов, Ansible не представляется эффективным инструментом на данный момент. И ...

FullHD vs 4k и integer scaling: всегда ли 2 x 2 = 4? «Лучше быть богатым и здоровым, чем бедным и больным» © Аксиома В статье Простой способ получения ”Flicker-Off”: «отключение» ШИМ мерцания подсветки LCD мониторов и телевизоров я обозначил несколько смежных тем, заслуживающих на мой взгляд отдельного разговора, которы...

Как я разочаровался в low-code и стал руководителем команды разработки Привет, меня зовут Евгений, и я никогда не был программистом — написание кода вызывало у меня чуть ли не смертельную скуку. Конечно, за двадцатилетнюю карьеру приходилось писать скрипты на PowerShell, Python и т. д., но о серьёзной разработке речи не было. Тем не менее моя п...

Произошла ошибка SSL на iPhone: что это такое и как исправить Ошибки в iPhone — для меня большая редкость. За долгие годы использования яблочных смартфонов, я сталкивался с ними буквально пару раз. Первый — когда по незнанию приобрел себе восстановленный смартфон, второй — когда утопил свой iPhone 7. По этой причине ...

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

Делаем Fischertechnik-совместимый модуль управления шаговым мотором на основе драйвера A4988 (DRV8825) Уже давно я припас все детали, перечисленные ниже, и осталось собрать все вместе и получить модуль управления мотором для удобной установки на конструктор. Конечно, сначала мы подключили катушки шагового мотора с помощью простого H-bridge и оценили, почему так делать не стои...

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

Apple представила большое обновление для iPhone и iPad — поддержка совместного просмотра и прослушивания SharePlay, новые режимы для iPhone 13, и не только Компания Apple представила крупное обновление программного обеспечения для iPhone и iPad — операционные системы iOS 15.1 и iPadOS 15.1. Они приносят длинный список нововведений, улучшений и исправлений.  SharePlay В0-первых, в iOS 15.1 и iPadOS 15.1 появилас...

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

[Перевод] Мониторинг приложения Spring Boot с помощью Micrometer, Prometheus и Grafana, используя пользовательские метрики Важно отслеживать показатели и работоспособность приложения: это помогает нам повышать производительность, лучше им управлять и замечать неоптимизированное поведение. Мониторинг каждого сервисного модуля важен для поддержания системы, состоящей из множества микросервисов.В э...

Мониторинг начинается с метрик. Часть 2: серверное ПО Продолжаем цикл статей об организации мониторинга. В первом материале разбирали, как и куда вообще имеет смысл навешивать алерты. Теперь поговорим о мониторинге базового серверного ПО, которое встречается в работе практически любого веб-проекта. Хочу поделиться метриками и а...

Карты расширения Qnap QM2-2P410G1T, QM2-2P410G2T и QM2-2P10G1TB добавляют в конфигурацию системы порты 10GbE и слоты M.2 Компания Qnap Systems представила карты расширения QM2-2P410G1T, QM2-2P410G2T и QM2-2P10G1TB. Первые две оснащены интерфейсом PCIe Gen 4, третья — интерфейсом PCIe Gen 3. Они позволяют оснастить ПК, сервер или хранилище с сетевым подключением (NAS) одним или двумя...

Ремарки в Cisco IOS ACL Недавно встретил среди своей команды некоторое непонимание принципов работы ремарок в списках доступа. Ремарки расценивались, как еще еще одна строка с правилом. Не было понимания, как работать с блоками правил под одной ремаркой и т.п.Хотел найти внятное описание по этой те...

С QR-кодами на Android 12 обнаружилась проблема: Google Camera случайным образом меняет адреса В последнее время QR-коды прочно вошли в нашу повседневную жизнь, нравится нам это или нет. Но QR-коды также могут представлять угрозу безопасности, поскольку пользователь не всегда может сразу увидеть, на какой веб-сайт его направляют. В то время как специализированные...

PostgreSQL Antipatterns: делаем группировку быстрее от 0.1 до 5 раз Примитивный запрос - простой джойн и группировка. Традиционные методы оптимизации - казалось бы, что могло пойти не так?..Небольшой эксперимент, на тему необходимости проверки любых гипотез в конкретных условиях. Читать далее

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

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

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