Социальные сети Рунета
Суббота, 29 января 2022

Как мы распилили монолит. Часть 2, Frame Manager Привет, меня зовут Стас, я работаю в команде Тинькофф Бизнеса. В прошлой статье мой коллега Ваня рассказа, как у нас устроена архитектура приложений. Несколько раз Ваня упомянул некий Frame Manager, который служит оркестратором приложений, и сейчас я расскажу про него более ...

[Перевод] JavaScript tree shaking, like a pro Это перевод статьи об оптимизации и уменьшении размера бандла приложения. Она хороша тем, что тут описаны best practices, советы, которых стоит придерживаться, чтобы тришейкинг работал и выкидывал неиспользуемый код из сборки. Она будет полезной многим, потому что сейчас все...

Как мы распилили монолит. Часть 4. И как Angular между приложениями пошарили В первой, второй и третьей частях мои коллеги рассказали, как и почему мы распиливали монолит. Если коротко, то мы создали решение, которое позволило в рамках одной открытой страницы браузера запускать несколько независимых Angular-приложений, шарить между ними данные, ...

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

Как мы распилили монолит. Часть 1 Привет, меня зовут Ваня. Я решаю архитектурные задачи на фронтенде в Тинькофф Бизнесе и сейчас расскажу вам про одну из них.Несколько лет назад у нас было большое монолитное приложение, которое со временем превратилось в десяток поменьше. В этой статье я поведаю, какие пробл...

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

Повторная обработка событий, полученных из Kafka Привет, Хабр. Недавно я поделился опытом о том, какие параметры мы в команде чаще всего используем для Kafka Producer и Consumer, чтобы приблизиться к гарантированной доставке. В этой статье хочу рассказать, как мы организовали повторную обработку события, полученного из Ka...

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

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

Microsoft признала ошибку Windows, из-за которой «пропадает» интернет Компания Microsoft признала ещё одну неприятную ошибку в новой версии Windows 10 (2004 или May 2020 Update).  Проблема заключается в том, что на некоторых ПК выдаётся некорректное предупреждение о проблемах с подключением к сети. Пользователи жалуются на пуга...

Как получить OpenID/OAuth2 токен для тестирования front-end rest сервисов? Есть задача нагрузочно потестировать фронтальные веб рест апи. Ресты защищены OAuth с Authorization Code Grant. Значит появляется необходимость наличия валидного токена для Authorization: Bearer TOKEN. Вопрос — как его взять? И так это сделать красиво и правильно? Вот тут я...

Microsoft признала ошибку Windows, из-за которой «пропадает» интернет Компания Microsoft признала ещё одну неприятную ошибку в новой версии Windows 10 (2004 или May 2020 Update).  Проблема заключается в том, что на некоторых ПК выдаётся некорректное предупреждение о проблемах с подключением к сети. Пользователи жалуются ...

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

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

7 Кругов SPM или как сделать модульное приложение на Swift Package Manager Думаю, многие разработчики сталкивались с задачей, когда нужно разбить проект на модули. В этой статье нет информации о том, как решать циклические зависимости или выделять по слоям функционал, подразумевается, что это уже реализовано. Цель статьи — описать проблемы с которы...

Как жили до Kubernetes: сравниваем самый популярный оркестратор с другими решениями Kubernetes сейчас называют стандартом для оркестрации контейнеров. Он лежит в основе многих облачных платформ контейнеризации: например, мы давно развиваем наш Kubernetes aaS на платформе Mail.ru Cloud Solutions. Однако Kubernetes далеко не первый подобный инструмент на рын...

Могучие Typescript Декораторы — как работают, во что компилируются и для каких прикладных задач применимы Каждый Ангуляр разработчик видел декораторы в тайпскрипт коде. Их используют, чтобы описать Модули, сконфигурировать Dependency Injection или настроить компонент. Другими словами, декораторы используются, чтобы описать дополнительную информацию, или метаданные, для фреймворк...

Microsoft, наконец, устранила причину неработающих приложений в Windows 10 Компания Microsoft, наконец-то, начала распространять обновление операционной системы Windows 10, которое исправляет проблему с подключением к интернету как проводному, так и по Wi-Fi.  На проблемы с подключением и качеством связи пользователи жаловались уже неско...

Visual Studio 2019 и Visual Studio Code теперь доступны в Microsoft Store на Windows 11 Новая политика Microsoft Store для Windows 11, позволяющая публиковать в магазине неупакованные классические Win32-приложения, явно пришлась по душе многим разработчикам. Уже сейчас можно сказать, что Microsoft Store постепенно становится хабом для всех настольных приложени...

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

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

[Перевод] Антипаттерн “Репозиторий” в Android Перевод статьи подготовлен в преддверии старта курса «Android Developer. Professional». Официальное руководство по архитектуре приложений Android рекомендует использовать классы репозитории (Repository) для «предоставления чистого API, чтобы остальная часть приложения мог...

[Перевод] 11 инструментов, делающих Kubernetes лучше Далеко не все серверные платформы, даже самые мощные и масштабируемые, удовлетворяют все потребности, как есть. Хотя Kubernetes и работает отлично сам по себе, ему может не хватить нужных частей для полноты. Вы всегда найдете частный случай, который игнорирует вашу нужду, и...

Как мы делаем App Clips? App Clips — это облегченные версии приложения для iOS 14, которые позволяют людям быстро выполнять определенную задачу, не скачивая и не устанавливая его полную версию из App Store. Компания Apple анонсировала такие мини-приложения на всемирной конференции для разработчиков ...

Некорректная полемика В данной статье попробуем рассмотреть варианты некорректной полемики, которая, увы, часто встречается на Хабр и иных площадках. Абсолютизирование описанного подхода Читать дальше →

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

Telegram на go, часть 2: бинарный протокол В предыдущей части были описаны подходы, примененные при написании парсера для схемы MTProto. Статья получилась чуть более общей, чем я рассчитывал, на этот раз я постараюсь рассказать больше про специфику Telegram. Клиент на Go продолжает развиваться, а мы вернемся в прошло...

Валидация данных в Spring Boot Нередко пользователи пытаются передать в приложение некорректные данные. Это происходит либо из злого умысла, либо по ошибке. Поэтому стоит проверять данные на соответствие бизнес-требованиям. Эту задачу решает Bean Validation. Он интегрирован со Spring и Spring Boot. Hibern...

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

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

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

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

[Из песочницы] Реализация MVVM в ABAP После окончания университета я несколько лет работал программистом C#. Я разрабатывал приложения на WPF с использованием шаблона проектирования MVVM. Затем перешел на ABAP. К большому удивлению обнаружил что ABAP является скорее процедурным языком чем объектно-ориентированны...

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.2 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech». В предыдущей статье я рассказывала про один из способов реализации многопоточности в приложении Kotlin Multiplatform. Сегодня мы рассмотрим альтернативную ситуацию, когда м...

Мониторинг Node.js-приложения Здравствуйте! Меня зовут Ренат Саматов, я возглавляю фронтенд-направление в линейке продуктов Витрина. Большая часть наших проектов рендерится на сервере. Сегодня мы побеседуем об одном из важнейших аспектов SSR-приложения: о мониторинге. Даже в 2020-м мониторинг Node.js-...

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

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

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

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

[Из песочницы] Долгий DNS resolve в Kubernetes Эта статья посвящена проблемам работы DNS в Kubernetes, с которыми столкнулась наша команда. Как оказалось, иногда проблема лежит гораздо глубже, чем кажется изначально. Вступление Всегда наступает момент, когда в уже отлаженную работу вмешиваются обстоятельства, заставляя н...

Опубликован список самых популярных мобильных приложений за сентябрь Согласно новому отчету компании Sensor Tower, несмотря на проблемы в нескольких странах, приложение социальной сети TikTok по-прежнему остается самым загружаемым неигровым приложением в мире в сентябре 2020 года.В сентябре TikTok зафиксировал более 61,1 миллиона установок, ч...

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

TikTok оказался самым скачиваемым приложением на российских iPhone Компания AppFollow назвала самые скачиваемые приложения в магазинах за год. Стало известно, что владельцы iPhone в России массово загружают TikTok.

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

[Из песочницы] 6 Современных шаблонов проектирования архитектуры в области ПО Привет, Хабр! Представляю вашему вниманию перевод статьи "Modern-Day Architecture Design Patterns for Software Professionals" автора Tanmay Deshpande. Многие современные приложения необходимо создавать в масштабах предприятия, иногда даже в масштабах Интернета. К...

Как добавить 3D в iOS приложение c помощью SceneKit Одна из запоминающихся частей приложения «Кошелёк» — 3D-изображение карт и купонов с источниками света, бликами на поверхности и возможностью вращения. На собеседованиях кандидаты часто спрашивают, как мы это реализовали, и так как тема многим интересна, расскажем об этом п...

Гайд по реверсу iOS приложения на примере ExpressVPN В этой статье я расскажу о своем опыте реверса приватного API одного из популярных впн клиентов - ExpressVPN. Мы рассмотрим, как находить и обходить методы обнаружения MITM (обход ssl pinning), научимся работать с фридой в iOS реверсинге, поколупаемся в клиенте используя иду...

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

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

Шесть советов об использовании PostgreSQL в функциональных тестах В 2018-м году, работая в Akvelon Inc., я собеседовал одного человека. Перед интервью мне дали на проверку его тестовое задание: небольшое web-приложение по типу записной книжки или todo-списка – React\TypeScript, C# на бэке и MS SQL Server в качестве персистентного хранилища...

Gotta go fast. Быстрая синхронизация писем по IMAP Привет! Меня зовут Илья. Два года назад я присоединился к работе над мобильным клиентом IMAP. Ранние версии приложения долго загружали список писем и тратили большое количество трафика для обновления ящика. Встал вопрос об оптимизации работы с протоколом и о возможностях это...

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

Последнее обновление Windows 10 1909 не позволяет некоторым пользователям входить в приложения Microsoft 365 Недавнее накопительное обновление Windows 10 1909 не позволяет пользователям Microsoft 365 входить в Microsoft Teams, Microsoft Outlook и OneDrive for Business. При попытке входа в систему пользователям отображается сообщение «Возникла проблема. Повторное подключение…» и пре...

Есть ли жизнь без Auto Layout? Технология Auto Layout появилась в 2012 году, но споры и дебаты о том, как правильно верстать интерфейс, не утихают до сих пор. Использовать ли Auto Layout интерфейс в билдере или в коде? Верстать без него на фреймах или вообще использовать что-то стороннее? Тема такая горяч...

Безопасно ли скачивать АПК приложений на Android Несмотря на то что Google Play является единственным магазином приложений для Android, который продвигает сама Google, пользователи вольны сами выбирать, откуда скачивать софт. Это может быть как один из фирменных каталогов, которые предлагают производители, вроде AppGaller...

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

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

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

Сетевики нужны и вот почему Картинка взята из телнет-видео «Звёздных войн»: telnet towel.blinkenlights.nl Недавно был пост о том, нужны ли сетевики. До тех пор, пока проверка доступности tcp/ip порта кажется чем-то сложным даже для администраторов БД и AD, сетевики несомненно нужны. Они особенно поле...

Новый фронтенд Одноклассников: запуск React в Java. Часть II Мы продолжаем рассказ о том, как внутри Одноклассников с помощью GraalVM нам удалось подружить Java и JavaScript и начать миграцию в огромной системе с большим количеством legacy-кода. Во второй части статьи мы подробно расскажем о запуске, сборке и интеграции приложений...

[Перевод] Прогрессивный рендеринг для лучшей производительности веб-приложений Понимание концепций рендера веб-страниц и измерение производительности рендера с помощью Chrome DevTools Не важно, насколько хорош ваш сайт; если его загрузка занимает слишком много времени, никто не будет ждать, чтобы его увидеть. Если ваш сайт загружается более 3 секунд,...

Microsoft прекратит поддержку Office на базе Android для пользователей Chrome OS Лучше всего устройства Chromebook работают с Google Drive и другими сервисами и приложениями Google, но компания допускает поддержку и другого ПО, включая Microsoft Office. Тем не менее, от поддержки Chrome OS намерена отказаться сама Microsoft. google.com Компания прекращае...

Знание и состояние Сердце любого современного сайта или браузерного приложения (что SPA, что PWA, что любые другие три буквы) — это его State, или состояние. Мы можем сколько угодно спорить о том, что лучше — React, Vue, Svelte, Angular, можем продолжать пользоваться jQuery, но в действительно...

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

Энтузиаст выпустил мод для Google Camera Go 2.5 Google Camera Go, урезанная версия приложения Google Camera для смартфонов Pixel, была запущена технологическим гигантом в марте прошлого года. Со временем компания продолжала добавлять все больше и больше функций и возможностей. Проблема в том, что официально данное устройс...

Приложение, работающее через I2P: проще, чем кажется Invisible Internet Project (I2P, проект невидимого интернета) – лидер среди технологий приватной передачи информации. Полная децентрализация и независимость делают сеть I2P архитектурно сложной, но уникальной в своем роде. Статья посвящена вопросу: может ли программист, несв...

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

Пишем под android с Elmslie Это третья часть серии статей об архитектуре android приложения vivid.money. В ней мы расскажем об Elmslie - библиотеке для написания кода под android с использованияем ELM архитектуры. Мы назвали ее в честь Джорджа Эльмсли, шотландского архитектора. С сегодняшнего дня она д...

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

Как посмотреть и отменить подписки на iPhone Все мы постоянно скачиваем и покупаем различные приложения и игры, но рано или поздно они нам надоедают или мы перестаём пользоваться каким — либо платным приложением с подпиской или случайно оформляем её. И надо бы её отменить, но сразу появляется вопрос — а как...

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

Токен авторизации на примере JSON WEB Token Доброго времени суток, дорогой читатель. В данной статье я постараюсь рассказать об одном из самых популярных (на сегодняшний день) способов авторизации в различных клиент-серверных приложениях - токен авторизации. А рассматривать мы его будем на примере самой популярной реа...

Как устроен Domain-Driven Design Многие проекты на Django начинаются просто: есть база данных и к приложению, которое крутится на сервере, идут обращения. Например, так начиналась Dodo IS (информационная система компании Додо Пицца, где работал автор сегодняшней статьи). Но если использовать Django из короб...

HTB Unobtainium. Учимся работать с Kubernetes в рамках пентеста Для подписчиковВ этой статье я покажу, как проходится сложная машина Unobtainium с площадки Hack The Box. Мы проведем тестирование клиент-серверного приложения, серверная часть которого написана на Node.js. А затем поработаем с оркестратором Kubernetes и через него захватим ...

Что такое Android App Bundle и в чём его отличие от APK Наверное, все знают, что APK – это формат, в котором приложения для Android размещаются в Google Play и на сторонних платформах. Но если при загрузке из официального каталога установка происходит автоматически, и пользователь никак не взаимодействует с установочным файлом, ...

EMV 3-D Secure, или кто украл SMS с одноразовым паролем. Часть 2 В прошлой статье мы рассказали о том, как появился первый протокол надежной аутентификации для платежей по пластиковым картам 3-D Secure 1.0.2, какие задачи он решает и какими недостатками обладает. Теперь мы хотели бы рассказать о будущем технологии 3-D Secure, и почему не ...

Реверс API по его android приложению Зачем У меня есть pet-project, приложение для учета финансов. На мой взгляд, одной из ключевых проблем подобных приложений является ручной ввод баланса. У банков есть информация о транзакциях которые я совершаю и даже есть неплохая аналитика. Но Банков несколько и они ничег...

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

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

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

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

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

Выполняется развертывание Windows 10 Build 19042.610 и Build 19041.610 Microsoft выпускает новое дополнительное обновление для Windows 10 версии 20H2 (обновление за октябрь 2020 г.) и версии 2004. Microsoft также опубликовала прямые ссылки для загрузки автономных установщиков Windows 10 KB4580364. Кумулятивный патч KB4580364 – это дополнительно...

Приложение Zoom для Apple Silicon M1 выйдет к праздникам Изначально разработанный для серьезных встреч, Zoom быстро стал самым популярным приложением для видеоконференцсвязи. Чтобы закрепить своё положение на рынке, разработчики даже решили отказаться от лимита в 40 минут на бесплатном аккаунте, дабы дать пользователям перед празд...

Разработка приложения с использованием Python и OpenCV на Android устройстве В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительнос...

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

Microsoft выпустила браузерную версию Visual Studio Code Microsoft объявила, что использующие Visual Studio Code разработчики теперь могут запускать эту программу в веб-браузере. Иными словами, устанавливать её не требуется, однако веб-версия накладывает и некоторые ограничения. Источник: techspot.com Чтобы приступить к работе, ну...

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

Запускаем Rust-приложение на мобильной ОС Аврора Всем привет! Меня зовут Шамиль, я ведущий инженер-разработчик в КРОК. Помимо всего прочего мы в компании занимаемся ещё и разработкой мобильных приложений для операционной системы Аврора, есть даже центр компетенций по ней.Для промышленной разработки мы, конечно же, пока исп...

[Из песочницы] Микросервисы: шаг назад На дворе 2020 год, эпоха технологических стартапов и сурового энтерпрайза. На первый взгляд, ничего общего у них нет, кроме моды на построение IT систем в стиле микросервисов. Ранее для энтерпрайза считалось стандартом использовать монолитные системы. Теперь в листингах вака...

[Перевод] Как управлять вашими секретами с git-crypt Большинство программных проектов используют секреты – обычно, как ключи к удаленному API или данные для доступа к внешнему ресурсу, например к базе данных. Вашему приложению необходимы эти ключи во время работы, поэтому вам нужно предоставить их при развертывании приложения ...

TikTok лидировал по количеству скачиваний в июле, несмотря на проблемы в США и Индии По данным нового исследования ресурса Sensor Tower, в июле 2020 года TikTok был самым загружаемым приложением в мире. За отчётный период клиент популярного сервиса коротких видео был загружен 65,2 млн раз, что на 21,4 % больше по сравнению с показателем за июль прошлого года...

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

[Из песочницы] Единственно верный способ загружать и скачивать файлы в Selenium тестах Selenium WebDriver создавался как кросс-платформенный инструмент для управления веб браузерами. И вот уже почти 14 лет он делает эту работу очень и очень хорошо. Впрочем, автотесты из реального мира создают ситуации, в которых Selenium бессилен. Например, по сценарию нужно ...

Майнкрафт для геологов: 3D-рендеринг миллиарда ячеек на встроенной видеокарте (часть 1) В одной из прошлых статей с подозрительно похожим заголовком мы показали, как построить модель месторождения и посчитать свойства пласта глубоко под землёй, используя крохи информации о породе, полученной со скважин.В этой статье мы расскажем, как отобразить модель месторожд...

Navigation Component-дзюцу, vol. 1 — BottomNavigationView Два года назад на Google I/O Android-разработчикам представили новое решение для навигации в приложениях — библиотеку Jetpack Navigation Component. Про маленькие приложения уже было сказано достаточно, а вот о том, с какими проблемами можно столкнуться при переводе большого...

[Перевод] Запускаем командную строку Linux на iOS А вы знали, что можно запустить командную строку Linux на устройстве iOS? Возможно, вы спросите: «Зачем мне пользоваться текстовыми приложениями на iPhone?» Справедливый вопрос. Но если вы читаете Opensource.com, то, вероятно, знаете на него ответ: пользователи Linux хотят...

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

Ленивая склейка модулей Android-приложения Тема многомодульности уже давно витает в среде Android-разработчков. За много лет проб и ошибок, выработались определённые подходы к разбиению приложения на модули. В целом о принципах разбиения на модули есть хорошая статья Андрея Берюхова: https://habr.com/ru/company/kaspe...

CrossOver, софт для запуска Windows-приложений на Chromebook, вышел из беты Хорошие новости для владельцев хромбуков, которым не хватает Windows-приложений на своих машинах. Вышел из беты софт CrossOver, позволяющий запускать приложения под Windows OS в программной среде Chomebook. Правда, есть ложка дегтя в этой бочке меда: софт платный, и его с...

МВД рассказало что делать, если водительское удостоверение или техпаспорт не отображаются в приложении «Дія» (а также пообещало отображать изъятие прав в онлайне) На прошлой неделе, 6 февраля 2020 года, украинцам стали доступны электронные удостоверение водителя и свидетельство о регистрации ТС в мобильном приложении «Дія». За первые четыре дня приложение установили более 1 млн раз, 64,6% загрузок пришлось на Android, а каждый второй ...

Google сломала поиск в Google Play В Google Play сломался поиск, а Google нет до этого дела Google Play – каталог с большими перспективами. Учитывая аудиторию пользователей Android, магазин приложений Google мог бы без особого труда заткнуть за пояс App Store не только по количеству загрузок, но и по объёмам ...

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

Построение компонентов с выпадающими блоками с помощью Angular и Material CDK Каждое приложение использует компоненты с выпадающими блоками. Такие панели используются в выпадающем списке, Autocomplete, Tooltip и т.д. В Material CDK есть инструмент Overlay для создания такого функционала.В этой статье мы рассмотрим какую проблему решает Overlay CDK, к...

[Перевод] Перевод: Как MS SQL Server выполняет запросы. Часть 1 Если вы разработчик, работаете над приложением, которое взаимодействует с SQL Server, и вам интересно, что в действительности происходит, когда вы «выполняете» запрос из своего приложения – что ж, я надеюсь, эта статья поможет лучше писать код запросов, а также может стать о...

Мёртвые оркестраторы оказывается не такие уж мёртвые На прошлой неделе Слёрм провел опрос об оркестраторах среди тех, кто прошел курсы или вечернюю школу по Kubernetes. Результат, мягко говоря, удивил: 49 человек из 316 ответивших используют Docker Swarm, на котором мы поставили крест ещё два года назад! И это среди тех, кто ...

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

Новая бета-версия Android 12 содержит множество исправлений Компания Google выпустила новую бета-версию операционной системы Android 12, которая содержит множество исправлений. Версия Android Developer Preview 2.2. предназначена для разработчиков, которые должны подготовить свои приложения к моменту релиза финальной версии. По с...

[Перевод] Как реализованы конвейеры в Unix В этой статье описана реализация конвейеров в ядре Unix. Я был несколько разочарован, что недавняя статья под названием «Как работают конвейеры в Unix?» оказалась не про внутреннее устройство. Мне стало интересно, и я зарылся в старые источники, чтобы найти ответ. Читать да...

Blazor: Server и WebAssembly одновременно в одном приложении ASP.NET Core Blazor — это разработанная Microsoft веб-платформа, предназначенная для запуска на стороне клиента в браузере на основе WebAssembly (Blazor WebAssembly) или на стороне сервера в ASP.NET Core (Blazor Server), но две эти модели нельзя использовать одновременно. П...

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

Трасси… что? Доклад Яндекса Отладка приложения занимает бо́льшую часть нашего времени. Кто-то пользуется DevTools, кто-то обходится обычным console.log, кто-то использует профайлеры. Зачастую этих инструментов более чем достаточно. Но есть еще один, не такой известный и популярный в JavaScript-мире. О ...

[Перевод] Реализация epoll, часть 4 Это — последний материал из серии четырёх статей (часть 1, часть 2, часть 3), посвящённой реализации epoll. Тут речь пойдёт о том, как epoll передаёт события из пространства ядра в пользовательское пространство, и о том, как реализованы режимы срабатывания по фронту и по уро...

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

Как устроиться в LinkedIn, Facebook, Google в Кремниевой Долине Зачем это читать? В предыдущей статье я рассказал про реальные доходы и расходы, на которые может рассчитывать инженер, работающий в одной из Big Tech компаний. Если вдруг это вас заинтересовало, здесь будут подробности про то, как туда устроиться. Я работаю в LinkedIn, кото...

iPhone 13 Pro и Pro Max отображают только родные приложения Apple с частотой 120 Гц Вчера в продажу поступили смартфоны линейки iPhone 13, а первые покупатели сразу же заметили, что функция ProMotion в смартфонах iPhone 13 Pro и iPhone 13 Pro Max работает далеко не всегда. Смартфоны iPhone 13 Pro и iPhone 13 Pro Max оснащена дисплеями, которые поддержи...

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

Microsoft может отказаться от Microsoft Store для бизнеса и образования Более года назад сообщалось, что Microsoft рассматривает возможность закрытия Microsoft Store (ранее «Windows Store») для бизнеса и образования, и что этот процесс будет начат в июне 2020 года. Этот отчет появился до пандемии, которая, конечно же, наложила отпечаток на любые...

Apple заблокировала установку приложений для iPhone на новые MacBook Air и MacBook Pro Как пишет источник, Apple заблокировала установку на ноутбуки MacBook Pro и MacBook Air, а также на Mac Mini на базе SoC M1 приложений, созданных для iPhone. Но речь идет о программах, скачанных с iPhone в виде файла с расширением IPA при помощи программы iMazing. Их мо...

Атака на Nvidia DeepStream с помощью некорректного фрейма видео в формате H264 Nvidia DeepStream - широко известный в узких кругах инструмент для инференса на нейронных сетях и другой высокопроизводительной обработки видео-потоков в реальном времени на оборудовании от Nvidia. Наша команда занимается разработкой и оптимизацией пайплайнов видео аналитики...

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

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

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

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

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

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

YouTube для Android TV теперь поддерживает видео 8K Многие, до сих пор мечтают о просмотре контента в разрешении 8K. Даже когда речь идет о 4K, у людей появляются сомнения, так как либо у них телевизор не поддерживает 4K разрешении или не позволяет интернет. Стандартные приставки Android TV ограничены потоковой передачей 4...

Приложение Amazon App Store появилось в Microsoft Store для Windows 11 В июне Microsoft объявила, что приложения для Android будут поддерживаться в Windows 11 через Amazon App Store. Страница Amazon App Store будет доступна в Microsoft Store. Благодаря этой поддержке приложений для Android вы сможете использовать популярные мобильные приложения...

Веб-компоненты в реальном проекте Всем привет! Меня зовут Артур, я работаю frontend-разработчиком в Exness. Не так давно мы перевели один из наших проектов на веб-компоненты. Расскажу, с какими проблемами пришлось столкнуться, и о том, как многие концепции, к которым мы привыкли при работе с фреймворками, л...

[Перевод] Мягкие частицы в WebGL и OpenGL ES Системы частиц это одни из самых простых способов сделать 3D сцену визуально богаче. В одном из наших Android приложений 3D Buddha Live Wallpaper достаточно простая сцена, которой было бы неплохо добавить чуть больше деталей. И когда мы думали как добавить разнообразия изобр...

Deep Learning: как это работает? Часть 3 — архитектуры CNN Часть 1 Часть 2 В этой статье вы узнаете: О соревновании ImageNet Large Scale Visual Recognition Challenge (ILSVRC) О том, какие существуют архитектуры CNN: LeNet-5 AlexNet VGGNet GoogLeNet ResNet О том, какие проблемы появлялись с новыми архитектурами сетей, как они ре...

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

Microsoft обновляет эмулятор Surface Duo Компания Microsoft анонсировала новейшее обновление для эмулятора Surface Duo, и все дело в новых примерах приложений. Таким образом, компания может предоставить вам некоторые возможности для игры, что позволит вам лучше понять, что вы можете делать с приложением, которое хо...

[Перевод] Kweb — Облегченный веб-фреймворк Kotlin для backend-разработчиков KWeb — это библиотека для создания многофункциональных интерактивных веб-приложений на чистом Kotlin, которая делает практически незаметным для программиста различие между веб-браузером и сервером. Но зачем нужен еще один веб-фреймворк? Создание полнофункциональных веб- при...

[Перевод] Приложение отвечает: как мы уменьшили количество ANR-ошибок в шесть раз. Часть 1, про сбор данных Пожалуй, одна из худших проблем, которая может случиться с вашим приложением, — ошибка ANR (Application Not Responding), когда приложение не отвечает. Если таких ошибок много, они могут негативно влиять не только на пользовательский опыт, но и на позицию в выдаче Google Play...

Как Youtube и Instagram: интернационализация и локализация приложения на Python Язык Python лежит в основе всемирно известных приложений, таких как Youtube, Instagram и Pinterest. Для продвижения на мировом рынке приложению необходима локализация, то есть адаптация к особенностям той или иной страны, и интернационализация – перевод контента. В статье мы...

[Перевод] Как мы создали Web приложение для определения лиц и масок для Google Chrome (часть 2) В предыдущей статье я рассказывал о том, можно ли использовать машинное обучение (в частности определение лица и маски) в браузере, подходах к детекции и оптимизации всех процессов. Сегодня я хочу рассказать о технических подробностях реализации. Читать дальше →

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

Что должно произойти, чтобы я не обновил свой смартфон Huawei на EMUI 11 В прошлом году Huawei призналась, что не сможет выпустить Android 11. Эта новость стала шоком для многих из тех, кто верил, что компания, несмотря на санкции США, по-прежнему будет продолжать обновлять свои смартфоны. Но, как объяснили китайцы, решение о выпуске EMUI 11 и M...

Реверс API Сбербанка Зачем У меня есть pet-project, приложение для учета финансов. На мой взгляд одной из ключевых проблем подобных приложений является ручной ввод баланса. У банков, в частности сбера, есть информация о транзакциях которые я совершаю и даже есть неплохая аналитика. Но Банков н...

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

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

За двумя мобильными сервисами: HMS и GMS в одном приложении Привет, Хабр! Меня зовут Андрей, я делаю приложение «Кошелёк» для Android. Уже больше полугода мы помогаем пользователям смартфонов Huawei оплачивать покупки банковскими картами бесконтактно — через NFC. Для этого нам потребовалось добавить поддержку HMS: Push Kit, Map Kit...

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

[Из песочницы] Как мигрировать Zabbix с MySQL на PostgreSQL с минимальным downtime В свете того, что Zabbix с некоторых пор поддерживает TimescaleDB, а тут еще и вышел новый LTS релиз Zabbix, то наверняка многие заинтересовались, как осуществить миграцию с MySQL на PostgreSQL. Несмотря на текст на картинке, вполне можно просто так взять и мигрировать Zabb...

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

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

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

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

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

Windows 10 Build 19043.1110 уже доступна для загрузки Шестое накопительное обновление в этом году теперь развертывается для Windows 10 версии 21H1, 20H2 и 2004. Патч доступен через Центр обновления Windows (WU), WSUS и Каталог Центра обновления Майкрософт. Microsoft также опубликовала прямые ссылки для загрузки автономных устан...

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

Fortnite по-прежнему доступен в магазине Samsung Galaxy Store Apple и Google исключили Fortnite из своих онлайн-магазинов приложений , но приложение для мобильных игр по-прежнему доступно для загрузки в одном официальном магазине приложений. В магазине Samsung Galaxy Store нет правил, регулирующих покупки в приложении, Fortnite по-пр...

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

Как я искал нормальный RDP-клиент и нашел целых три Remote Desktop Protocol — один из самых распространенных протоколов для удаленного управления, потому что он используется для работы с операционными системами Windows, которые часто незаменимы в корпоративной среде. Естественно, самый распространенный способ подключения к ...

Опубликованы исходники швейцарского криптомессенджера Threema Архитектура веб-клиента Threema, источник Защищённый мессенджер Threema открыл исходный код и инструкции по воспроизводимой сборке приложений. Опубликованы 12 репозиториев для клиентов Android, iOS, веб-версии, рилеев нотификаций и других компонентов. Это важнейшее событие...

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

[Перевод] Разработка MQ JMS приложения на Spring Boot Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно исполь...

[recovery mode] Комплекс детекции курения по фото или видео на базе Intel NUC В этом посте мы расскажем о том, как решали задачу определения факта курения посредством объектовой видеоаналитики на Intel NUC. На входе – видеопотоки с камер видеонаблюдения, которые декодируются, нарезаются на вычислителе на фреймы, а далее каждый фрейм (с учетом делит...

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

До свидания, Google Fonts. Последний аргумент Шрифты Google Fonts страшно популярны. Их загружают более 42,8 миллиона сайтов, в том числе Хабр. Библиотека Google Fonts содержит 1023 свободных шрифта и программные интерфейсы для их внедрения через CSS. Очень удобно, казалось бы. Во многих статьях отмечалось, в какую ц...

[Перевод] Как продавать приложения для Mac за пределами App Store Mac всегда отличался от своего близкого родственника iOS, особенно в отношении того, что пользователю можно и нельзя запускать в своей системе. Даже после появления Apple Silicon компания Apple чётко дала понять, что Mac остаётся Mac, и его по-прежнему можно хакать, даже п...

OpenIn.app — MacOS приложения для ссылок и файлов Привет, Хабр!Давно я ничего не публиковал на Хабре, но вот решил сегодня написать в Я пиарюсь (читай карма-самоуничтожение или как это называется сейчас?)Решил в свободное время заняться разработкой под MacOS и iOS. Начал пока с MacOS. Идей много, так что приложений будет мн...

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

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

[Перевод] 8 важных веб-приложений для разработчиков Предлагаем вам познакомиться с переводом статьи Jamie Bullock, опубликованной на сайте medium.com. Автор рассказывает, какие веб-приложения он обычно использует в работе. Читать дальше →

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

Как разрабатываются моды для Unity-игр. Часть 2: пишем свой мод В этой части на примере мода для Beat Saber мы рассмотрим общие принципы разработки модов для Unity-игр, узнаем, какие есть трудности, а также познакомимся с Harmony — библиотекой для модификации кода игр, которая используется в RimWorld, Battletech, Cities: Skylines и многи...

Интерактивные финансовые данные в 20 строках кода Статьи на финансовые темы появляются на Хабре регулярно. Во многих из них в качестве источника первичных данных используется неофициально открытое API Yahoo finance. В этой статье я покажу три способа добыть данные (включая Yahoo) а также как напилить из них простое вэб-прил...

Реализация аудиоконференций в Telegram + Asterisk В предыдущей статье я описывал реализацию выбора пользователем места жительства при регистрации в моем telegram боте, который я создавал вдохновившись идеей «Телефонного эфира». В этой же статье я опишу интеграцию бота с Asterisk . Читать дальше →

Строим безопасную разработку в ритейлере. Часть 2, SAP-приложения Недавно мы начали рассказывать вам о своём опыте выстраивания процесса безопасной разработки для крупного ритейлера. Если вы вдруг пропустили этот момент, то можете прочитать первую часть о безопасной разработке порталов и мобильных приложений здесь. А сегодня мы раскроем по...

Адаптация Qt-приложений под мониторы высокой чёткости. Часть 2 В прошлой статье мы начали рассказ о рецептах, посвященных переводу Qt-приложений на рельсы High DPI, то есть адаптации этих приложений к мониторам высокой четкости.Суть в том, что в ОС Windows давно есть такие настройки, как масштабирование шрифта и изображений (масштаб экр...

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

HandsAppMVP: iOS-архитектура для студии аутсорс разработки Хороший код начинается с архитектуры, и iOS-приложения не исключение. Есть много стандартных паттернов, но цель этой статьи рассказать не о них, а об опыте адаптации одного из них и выработке собственного. Мы назвали эту адаптацию HandsAppMVP. Читать дальше →

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

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

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

[Из песочницы] AWS — сколько нужно сервисов, чтобы поднять веб-приложение? Так получилось, что до 2020 года я не имел дело с облаками. Когда же, наконец, углубился в эту тему, то немного потерялся от обилия сервисов, предлагаемых в AWS. Необходимо было создать приложение с такими фичами: Авторизацией через facebook или google. Возможностью загруз...

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

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

[recovery mode] Пишем простую ORM с возможностью смены БД на лету Привет, Хабр! Карма слита из-за неосторожного комента под холиварной статьей, а значит нужно написать интересный (я надеюсь) пост и реабилитироваться. Я несколько лет пользуюсь серверным telegram клиентом на php. И как многие пользователи — устал от постоянного роста пот...

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

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

[Из песочницы] Не бойся JSON или твое первое приложение с использованием API Я имею кое-какой 8ми летный опыт в ковырянии кода. За это время успел попробовать много разных языков и технологий в разных направлениях: от «разработки» всяких фишинговых приколов на PHP Devel Studio до полноценных веб приложений на современных фреймворках и софта на нейрос...

Spark — лучшая альтернатива почтовому клиенту от Apple Как и многие пользователи, я нечасто заходил в почтовый клиент. Привычного функционала нативного приложения «Почта» на iOS мне вполне хватало. Активно начал читать и писать письма на почту я в университете. И претензий к родному приложению не имел. Ровно до тех по...

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

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

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

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

Pocket Community 2.0 — крупное обновление приложения для Windows 10 Привет, друзья! Как вы наверняка помните, в начале 2019 года мы выпустили собственное UWP-приложение для Windows 10 под названием Pocket Community. Правда обновлений не было уже довольно давно, и даже некоторые функции перестали работать. Но о приложении мы не забыли, и теп...

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

[Перевод] Уменьшение размера React Native-приложения на 60% за несколько простых шагов Я тружусь в компании Mutual. Она работает в Бразилии, в сфере равноправного кредитования. Мы помогаем заёмщикам и заимодавцам наладить связь друг с другом. Первые ищут хорошие ставки, а вторые — доходы, превышающие то, что может предложить им рынок. Наш продукт применяется ш...

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

Документирование API в Java приложении с помощью Swagger и OpenAPI 3.0 Веб-приложение часто содержит API для взаимодействия с ним. Документирование API позволит клиентам быстрее понять, как использовать ваши сервисы. Если API закрыт от внешнего мира, то все равно стоит уделить время спецификации — это поможет вашим новым коллегам быстрее разобр...

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

Тестируем Android-приложение правильно Всем привет, Меня зовут Андрей Рыжкин, я CTO AGIMA. Сегодня я расскажу о том, как мы тестируем приложения на Android, а также поделюсь нашим чек-листом. Чек-лист от команды AGIMA В 2020 году количество приложений для Android вплотную приблизилось к трём миллионам (по да...

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

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

На iPhone и iPad появились массовые проблемы с приложениями Владельцы смартфонов и планшетов Apple начали массово жаловаться на проблемы с приложениями.Часть программ не открываются, некоторые произвольно закрываются или выдают ошибку следующего плана: «Это приложение больше недоступно для вас. Чтобы использовать его, вы должны...

Грани честности и Джон Доу Я, где-то с 2005 года, с перерывами, работаю в компаниях, которые решают задачи за деньги. Ну это когда клиент приходит, просит чего-то ему запрограммировать, мы делаем, и он нам платит. Там есть и проекты, но в тексте – только про разовые задачи. Да, это про 1С. Не про каку...

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

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

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

Влияние data-классов на вес приложения Kotlin имеет много классных особенностей: null safety, smart casts, интерполяция строк и другие. Но одной из самых любимых разработчиками, по моим наблюдениям, являются data-классы. Настолько любимой, что их часто используют даже там, где никакой функциональности data-класс...

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

Как мы решаем проблему отсутствия UI\UX дизайна в 1С с помощью Java Script и React.js Ранее уже писал о том, что в 1С UI\UX дизайна нет. Эта статья про то, как мы с помощью таких технологий, как Java Script, React.js и Google Firebase решили сделать web-сервис, который позволит с наименьшими трудозатратами, в сравнении с 1С: Конфигуратором и уже тем более 1...

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

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

Как эксплуатировать приложения на Tarantool Cartridge Привет! Я продолжаю разрабатывать распределённые системы на основе Tarantool. За последний год наша команда вывела в прод 17 новых систем. В прошлый раз я рассказал, как мы наладили автоматический деплой. В этой статье я покажу, как упростить обслуживание приложений на Tar...

Ультимативный гайд по поиску утечек памяти в Python Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим прич...

Самые скачиваемые приложения в мае 2020 TikTok стал самым загружаемым неигровым приложением в мире в мае 2020 года с почти 112 млн. установок, что в 2 раза больше, чем в мае 2019 года.

Что делать если при открытии Mail на Mac появляется сообщение «Ошибка импорта» В редких случаях владельцы яблочных компьютеров при попытке открыть стандартный почтовый клиент могут сталкиваться с проблемой – на экране появляется сообщение «Ошибка импорта». После этом пользоваться приложением не получится. В открывшемся окне есть всего одна активная кно...

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

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

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

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

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

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

Полнотекстовый поиск в Couchbase Server Дмитрий Калугин-Балашов большую часть своей жизни писал поиск: с 2011 года в компании Mail.ru был поиск по почте, затем был небольшой перерыв из-за работы в США, а сейчас это — работа над поиском в Couchbase. Одна из первых вещей, которую Дмитрий понял, работая в США — не вс...

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

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

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

[Перевод] Браузер и числа с плавающей запятой Изображение — www.freepik.com Несколько лет назад я много думал и писал о математике с плавающей запятой. Это было очень интересно, и в процессе исследований я многое узнал, но иногда я долгое время не использую на практике все эти полученные тяжким трудом знания. Поэтому ...

Microsoft исправила ошибку, из-за которой веб-версии приложений Office устанавливались без разрешения пользователей По сообщениям сетевых источников, корпорация Microsoft исправила ошибку в своём браузере Edge, из-за которой осуществлялась автоматическая установка веб-версий её офисных приложений Microsoft. Изображение: Windows Latest Несколько дней назад пользователи Windows 10 обратили ...

Запоздалое похмелье 8 марта: ещё одна статья на Хабре о женщинах в ИТ «Если, по-вашему, женщина может быть кузнецом, то почему бы мужчине не быть педикюршей? Она кует, он пилит, прекрасная пара!» К/ф «Берегите женщин» Я читаю Хабр года так с 2009-го. Последние несколько лет накануне 8 марта случается вал публикаций, спецпроектов, мегапостов и...

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

В столичных школах стартовал проект «Фронтовые театры в годы Великой Отечественной войны» С подачи московского образовательного ведомства в школах мегаполиса для учащихся 5-11 классов запущена реализация проекта «Фронтовые театры в годы Великой Отечественной войны». По словам директора ГМЦ* Андрея Зинина, отчетный проект представляет собой исследование деятельнос...

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

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

Белое на белом в MIUI 12.5: пользователи Xiaomi, Redmi и Poco жалуются на нечитаемую тёмную тему. Официального исправления не предвидится Компания Xiaomi сейчас активно обновляет свои смартфоны и смартфоны экосистемных брендов до свежей версии фирменной оболочки MIUI 12.5. Однако не все пользователи оказываются довольны обновлением.  Пользователи различных моделей Xiaomi и Poco интенсивно жалуются н...

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

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

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

Запуск X-приложения в chroot на примере POSE (или «QEMU не нужен») Эта мини-статья родилась как ответ на статью Упрощаем эмуляцию X86 с помощью Live CD, в которой для запуска старых 32-битных приложений на 64-битных дистрибутивах Linux предлагалось использовать QEMU + Live CD — по моему мнению «из пушки по воробьям». Опишу своё решение на c...

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

ConfigMaps в Kubernetes: нюансы, о которых стоит знать Примечание: это не полноценная статья-руководство, а скорее напоминание/подсказка для тех, кто уже пользуется ConfigMap в Kubernetes или только готовит своё приложение для работы в нём. Предыстория: от rsync к… Kubernetes Что было раньше? В эпоху «классического администри...

Еще раз про Angular CLI Builders Всем привет! Меня зовут Игорь, я — фронтэндер в Tinkoff.ru. И, как ни странно, я давно и безнадежно прикипел к Angular и ко всему, что с ним связано. Очень хорошо помню свои первые проблемы со сборкой приложения на Angular: как передать в приложение переменные окружения или...

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

В Windows 10 появились проблемы с запуском приложений Самое крупное обновление Windows 10 в текущем году принесло немало проблем, которые начали постепенно выявляться пользователями.Теперь стало известно о проблеме с запуском приложений. При их включении появляется ошибка Windows cannot find [*.exe] (Windows не удаётся найти фа...

[Из песочницы] Байесовские сети при помощи Питона — что и зачем? Дисклеймер: данная статья является адаптированным переводом. Оригинал можно прочесть здесь. Байесовские сети при помощи Питона — объяснение с примерами Из-за ограниченности информации (особенно на родном русском) и ресурсов работы, байесовские сети окружены рядом проблем. ...

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

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

Подход Multicloud Native Service: что это такое и как поможет сделать IT-систему максимально отказоустойчивой Хабр, привет! Меня зовут Николай Бутенко, я руководитель Private Cloud в Mail.ru Cloud Solutions, и сегодня хочу обсудить с вами одно из самых больших заблуждений, с которыми я встречаюсь каждый день. Если вы когда-либо работали с облачными сервисами, то наверняка знаете о ...

JavaScript: немного об интернационализации и локализации веб-приложений Привет, друзья! В данной статье я хочу рассказать вам об Internationalization API — интерфейсе, предоставляемом браузером, позволяющем выполнять интернационализацию и локализацию веб-приложений. Статья состоит из 2 частей: теоретической и практической. В теоретической част...

В iOS 14 появились уведомления от буфера обмена: можно ли их отключить? Сейчас такие уведомления отправляет чуть ли не каждое второе приложение Многие бета-тестеры iOS 14 в нашем Telegram-чате заметили новый тип уведомлений, которые позволяют пользователям узнать, вставляет ли приложение какую-либо информацию из буфера обмена. Например, если вы ...

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

Windows 11 SE – это урезанная версия Windows 11 Microsoft, похоже, работает над преемником Windows 10 S, которая называется «Windows 11 SE». В преддверии мероприятия Microsoft 24 июня в сети недавно появилась ранняя сборка Windows 11, и несколько авторитетных источников подтвердили, что это действительно настоящая сборка....

checkm8 для Lightning-видеоадаптеров Apple Появление эксплойта checkm8 можно назвать одним из важнейших событий прошедшего года для исследователей продукции Apple. Ранее мы уже опубликовали технический анализ этого эксплойта. Сейчас сообщество активно развивает джейлбрейк checkra1n на основе checkm8, поддерживающий ...

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

Архитектура «Р7-Офис»: почему сам редактор и интерфейсы надо обязательно разносить? Поскольку мы писали офис уже в тот момент, когда Интернет был не только в каждом доме, но и в чайниках, и в холодильниках, у нас была возможность сесть и продумать архитектуру редактора. С одной стороны, мы, конечно же, оказались в сравнении с MS в ситуации сильно догоня...

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

Google удалила популярное приложение AnTuTu из каталога Play Store Google жестко расправляется с компаниями, которые нарушают правила Play Store, поэтому за последние пару недель сотни приложений были удалены с цифровой платформы Android. Хотя многие из этих приложений могут быть признаны виновными, некоторые могут быть побочными жертвами, ...

Гайд по Flight Simulator от пилотов: учимся управлять самолетом Всем привет! В связи выходом нового Microsoft Flight Simulator я и мои друзья решили написать для вас гайд по полетам в симуляторе. Учиться мы будем на Cessna 152 – одном из самых востребованных самолетов. Он прост в управлении, прощает многие ошибки и весьма популярен в ле...

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

Не все iOS приложения работают на Mac с процессором M1 Слишком много хороших новостей, хочется каких-нибудь гадостей про Apple, Apple Silicon M1 Mac’и? Кое-что есть. Нативных приложений для Apple Silicon меньше, чем нам представлялось. Универсальных приложений (с исполняемым кодом для M1 и для Intel) пока еще мало. DTK, Mac min...

Как сделать полезным приложение «Файлы» на iPhone и iPad Как только приложение «Файлы» было выпущено вместе с iOS 11, оно стало одним из моих наиболее часто используемых приложений на iPhone и iPad. Ведь помимо возможности доступа ко всем моим документам iCloud Drive, в «Файлах» есть также интеграция с другими облачными хранилища...

Упаковка приложения в F-Droid tl;dr: упаковываю и отправляю приложение без троянов для управления своими лампами в F-Droid без каких-либо знаний в разработке для Android. У меня есть политическая позиция, я сторонник СПО во многом согласен со Столлманом. Как это часто бывает, такая позиция дополняется...

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

Apple запустила веб-версию Apple Music для работы в браузере У Apple Music никогда не было проблем с подписчиками. Ещё на заре сервиса в Купертино знали, что их сервис ждёт успех, а потому предпочли ограничить его работу только фирменными приложениями. В результате всего за 5 лет суммарная аудитория Apple Music превысила 60 миллионов...

[Перевод] Автоматизируем работу с контейнерами через Makefile: сборка, тестирование и развёртывание за один вызов make Утилита make позволяет просто управлять контейнерами, объединив команды для сборки, тестирования и развёртывания в одном конфигурационном файле. Разработчики многие годы используют утилиту make. При запуске утилита читает файл с описанием проекта (Makefile) и, интерпретир...

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

Правосторонний интерфейс: адаптируем контролы к right-to-left языкам C адаптацией приложений и сайтов под RTL-языки (right-to-left, справа налево) сталкиваются разработчики многих развивающихся и выходящих на новые рынки продуктов. Мы в Badoo тоже в какой-то момент оказались в этой ситуации: наши приложения переведены на 52 языка и диалекта. ...

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

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

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

Первые шаги с Fiddler Classic Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэто...

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

JavaScript prototype pollution: практика поиска и эксплуатации Если вы следите за отчетами исследователей, которые участвуют в bug bounty программах, то наверняка знаете про категорию уязвимостей JavaScript prototype pollution. А если не следите и встречаете это словосочетание впервые, то предлагаю вам закрыть этот пробел, ведь эта уязв...

WhatsApp скоро избавится от главного своего недостатка. Появится полноценный клиент для ПК и работа нескольких устройствах Команда WhatsApp продолжает работать над устранением одного из главных недостатков мессенджера — невозможность одновременно запустить приложение на нескольких устройствах и отсутствие полноценного самостоятельного клиента для ПК и в веб-интерфейсе.  Как сооб...

Доступность — это не так просто Привет, Хабр! В предыдущей статье я рассказывал о простых случаях проблем с доступностью, исправив которые можно сделать свой сайт или web-приложение гораздо доступнее. Я упоминал о правиле 80/20 и писал о проблемах, которые при наименьших затратах дают наибольший результа...

[Из песочницы] EventBus — Система событий для Unity В этой статье я расскажу вам о том, что такое система событий применительно к Unity. Изучим популярные методы и подробно разберем реализацию на интерфейсах, с которой я познакомился, работая в Owlcat Games. Читать дальше →

Что нового в SObjectizer-5.7.0 и ждет этот проект дальше? SObjectizer — это относительно небольшой C++17 фреймворк, который позволяет использовать в С++ программах такие подходы, как Actor Model, Publish-Subscribe и Communicating Sequential Processes (CSP). Что существенно упрощает разработку сложных многопоточных приложений на C++...

Этюд по реализации Row Level Secutity в PostgreSQL В качестве дополнения к Этюд по реализация бизнес-логики на уровне хранимых функций PostgreSQL и в основном для развернутого ответа на комментарий. Теоретическая часть отлично описана в документации Postgres Pro — Политики защиты строк. Ниже рассмотрена практическая реализ...

Обратная сторона iOS. Десятки миллионов пользователей iPhone не смогут установить приложение Twitter Не секрет, что новые версии iOS распространяются в разы быстрее и шире, чем в случае Android, чему есть вполне просто объяснение. Но порой у этой системы проявляется и обратная сторона. К примеру, компания Twitter сегодня объявила, что её фирменное приложение больше не ...

AWS Lambda in Action. Часть 2: знакомимся с инструментами разработки и тестирования Этот гайд — результат личного опыта разработки и тестирования Serverless-приложений, а также маневрирования между «костылями» и «велосипедами» при попытках их протестировать. Когда я только начинал заниматься разработкой Serverless-приложений, во всем приходилось разбирать...

Доступна для загрузки Windows 10 Build 19043.1288 [KB5006670] Новое накопительное обновление теперь доступно для Windows 10 версии 2004 или более поздних. Обновление доступно через Центр обновления Windows и Центр обновления Windows для бизнеса от Microsoft. Кроме того, Microsoft также опубликовала прямые ссылки для загрузки автономных...

[Из песочницы] О проблемах транслятора Python и переосмысление языка — Сколько нужно архитекторов, чтобы реализовать язык программирования? — Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше. В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые г...

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

Эпидемия на смартфонах Android: приложения отказываются работать и запускаться, включая Gmail, банки и Google Pay Многочисленные пользователи смартфонов Android получили сегодня утром или ночью странные оповещения, сообщающие о прекращении работы приложений. Также выдаются ошибки, приложения не открываются, и так далее. Причём среди таких отказывающихся работать приложений есть та...

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

[Перевод] Практика по Котлину: Создание веб приложений на React и Kotlin/JS От переводчика. Привет! Про Kotlin есть стереотип, будто бы это язык для разработки только под Android. На самом деле, это совсем не так: язык официально поддерживает несколько платформ (JVM, JS, Native), а также умеет работать с библиотеками для этих платформ, написанных на...

Как сделать хорошую интеграцию? Часть 2. Идемпотентные операции – основа устойчивой интеграции В прошлой статье мы говорили о том, что основой хорошей интеграции является админка, которая позволяет быстро решать инциденты. Сегодня мы поговорим, как реализовать интеграцию, чтобы получить ее устойчивую работу — толерантность к потере сообщений, падению процессов и ошибк...

PostgreSQL 13: happy pagination WITH TIES На прошедшей неделе вышло сразу две статьи (от Hubert 'depesz' Lubaczewski и автора самого патча Alvaro Herrera), посвященные реализованной в грядущей версии PostgreSQL 13 поддержке опции WITH TIES из стандарта SQL:2008: OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ c...

Проблемы с камерой и перегревом Samsung Galaxy S21, S21+ и S21 Ultra устранены Компания Samsung начала рассылать очередное обновление для смартфонов Samsung Galaxy S21, S21+ и S21 Ultra. Это июньское обновление, которое должно было выйти в начале месяца, однако оно задержалось, так как компания должна была решать ряд серьезных проблем. За последне...

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

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

Профилирование Node.js. Доклад Яндекса Полтора года назад я выступил на FrontendConf и посвятил 40 минут профилированию. Перечисленные приемы и инструменты по-прежнему актуальны — сегодня публикую видео с подробным конспектом. Доклад расскажет, что такое профилирование, научит локализовывать потенциальные утечки ...

Конец «эпидемии» среди смартфонов Android — Google выпустила «вакцину» для сбоящих приложений Компания Google справилась с отказывающимися работать приложениями на устройствах Android и выпустила официальное решение для проблемы. Как отмечают разработчики, обновление системного приложения Android System WebView и браузера Google Chrome через Google Play должно ...

А суть-то в чём, или Минимизация исходников — проще, чем кажется В эти чудесные январские дни всех нас, конечно, волнует вопрос минимизации исходного кода с сохранением инварианта. В смысле, не волнует?!? Зря… Вот упал у вас компилятор, а программа гигантская — как-то неудобно такое разработчикам слать. И тут начинается веселье: а если в...

Переходим В OFFLINE FIRST с использованием Core Data и Managed Document(s) Придя в компанию МегаФон как iOS-разработчик, Валентин Чернов попал в основной сегодняшний тренд — переход в офлайн: Валентин занимается разработкой мобильного личного кабинета — главного приложения МегаФона. Оно позволяет видеть баланс, менять тариф, подключать и отключать ...

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

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

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

Загрузка Linux с VHD на компьютере с UEFI В статье о возможности загружать Linux с VHD был предложен способ загружать Linux на машине с Windows без необходимости разбивать диск на разделы. Но было одно существенное ограничение: рассматривался только вариант загрузки BIOS, т.е. legacy-загрузки. Сейчас появляется всё ...

Как настроить список «На очереди» (следующие песни) в Apple Music (приложении Музыка) Когда вы слушаете уже составленный кем-то альбом или плейлист, всё просто – приложение  Music автоматически воспроизводит один трек за другим. Но что, если привычный порядок песен вам уже надоел, или есть желание самостоятельно поставить следующей совсем другую композицию? ...

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

Обратная сторона iOS. Десятки миллионов пользователей iPhone не смогут установить приложение Twitter Не секрет, что новые версии iOS распространяются в разы быстрее и шире, чем в случае Android, чему есть вполне просто объяснение. Но порой у этой системы проявляется и обратная сторона. К примеру, компания Twitter сегодня объявила, что её фирменное приложение больше не ...

Как восстановить NSX Edge и перенести его настройки через API В этой статье расскажу, как работать через API с NSX Edge. Это решение от VMware выполняет для виртуального дата-центра функции маршрутизации, Firewall, NAT, DHCP, VPN и другие. Благодаря возможностям работы через API отправка запросов к Edge становится удобнее и нагляднее, ...

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

Как готовить Cake, используя только Frosting Итак, Cake. Многие слышали, многие хотели попробовать, но откладывали. Конечно, если ты все время работал на TeamCity или на Jenkins и продолжаешь, то зачем переизобретать то, что уже отлично работает? Люби свою жизнь и радуйся. Но вот, допустим, в твоей любимой жизни появил...

Скачать приложение для Майнкрафт ПЕ Скачивайте приложение для Minecraft PE на русском языке на Android и исследуйте захватывающий мир Песочницы с её сокровищницами и опасными мобами! Лучшие Приложения для Майнкрафт ПЕ На данный момент, существует большое количество приложений для Minecraft PE, которые так или ...

[Перевод] В сообществе машинного обучения есть проблема токсичности Токсичность везде. Во-первых, нарушен процесс независимой экспертизы (peer review). Четверть работ с конференции NeurIPS выкладывается на arXiv. В DeepMind есть исследователи, которые публично преследуют рецензентов, критикующих их представление ICLR. Кроме того, статьи изв...

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

[Перевод] Макропроблема микросервисов Всего за 20 лет разработка ПО перешла от архитектурных монолитов с единой базой данных и централизованным состоянием к микросервисам, где всё распределено по многочисленным контейнерам, серверам, ЦОДам и даже континентам. Распределённость упрощает масштабирование, но привно...

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

NSX Advanced Load Balancer – умный автомасштабируемый балансировщик нагрузки. Часть 2: установка и настройка В прошлый раз я рассказал о функциях балансировщика нагрузки NSX ALB, описал его архитектуру и схему работы. Мы посмотрели, как работает глобальная балансировка серверов (GSLB), которая объединяет серверы на географически разнесенных площадках в единый пул. В том числе, так ...

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

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

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

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

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

Microsoft пускает под нож несколько сервисов и приложений Windows 10 Компания Microsoft закрывает несколько сервисов и приложений Windows 10. Одно из наиболее актуальных уже сейчас из «пущенных под нож» — приложение Office Lens.  Как говорится на страничке поддержки, некоторые облачные службы в Office Lens дл...

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

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

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

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

Михаил Салосин. Golang Meetup. Использование Go в бэкенде приложения «Смотри+ Михаил Салосин (далее – МС): – Всем привет! Меня зовут Михаил. Я работаю бэкенд-разработчиком в компании MC2 Software, и я расскажу об использовании Go в бэкенде мобильного приложения «Смотри+». Кто-нибудь из присутствующих любит хоккей? Тогда это приложение для вас. О...

«Убийственная» проблема «Тройки» на Xiaomi и Redmi решена. Московский Метрополитен отреагировал Московский Метрополитен отреагировал на разгоревшийся в сети скандал в отношении проблем со смартфонами Xiaomi и Redmi и проездной картой «Тройка».  Напомним, пользователи Xiaomi и Redmi жалуются, что приложение «Метро Москвы» выводит из ст...

Опыт использования MobX в большом приложении Всем привет! Меня зовут Сергей, я работаю в команде разработки приложений контроля качества Tinkoff. Поделюсь опытом нашей команды в использовании библиотеки Mobx и расскажу о деталях работы с ней в связке с React. В этой статье не будет описания базовых концепций. Я расск...

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

Google оставит умные часы без фирменной музыки. Google Play Music закрывается, а YouTube Music не готов Компания Google начнёт закрывать музыкальный потоковый сервис Google Play Music для ряда регионов уже с сентября. Для пользователей предлагается YouTube Music в качестве замены. Проблема в том, что сервис YouTube Music готов не для всей пользовательской базы Google Play...

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

[Из песочницы] Машинное обучение на Android Привет, Хабр! Представляю вашему внимаю перевод статьи из журнала APC. Машинное обучение и интеллектуальный анализ данных – это практические разработки ИИ, благодаря которым появляются приложения различных тематик, начиная от воздухоплавания и заканчивая зоологией. Эти про...

Почему при Covid-19 увеличилась переподписка, и как это проверить Photo by Victor Rodriguez on Unsplash Часто мы получаем от клиентов (включая даже крупных) сообщения, в которых сквозит общий мотив: «У %provider_name% нам не хватало 192 ядер, а у вас и 120 достаточно. Почему так?». Причем в последнее время из-за пандемии таких запросов с...

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

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

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

Используем Google Tag Manager Server-Side вместо Zapier Появление Google Tag Manager Server Side привнесло большое количество возможностей в мир маркетологов и дата аналитиков. Так как инструмент новый не все понимают чем он может быть полезен конкретно для их компании. Одно из преимуществ GTM на сторонне сервера в том что вы мо...

Windows 10 получает крупное обновление драйверов для ПК от Intel, NVIDIA, AMD Чтобы подготовить компьютер к будущим обновлениям Windows 10 и приложений / игр, крайне важно следить за тем, чтобы драйверы оборудования были обновленными. В Windows 10 вы можете обновлять драйверы через Центр обновления Windows, но пользователям всегда рекомендуется исполь...

Google исправила неприятный баг в работе Google Assistant с Android Auto После длительного ожидания Google выпустила исправление проблемы, которая не позволяла пользователям использовать все возможности персонального помощника Google Assistant при запущенном приложении Android Auto. На сайте поддержки Android Auto было более 1200 пользовател...

Ещё одно приложение Google преодолело рубеж в полмиллиарда загрузок Компания Google получила ещё одно приложение в свою копилку, которое преодолело рубеж в полмиллиарда загрузок в онлайн-магазине приложений Google Play. На этот раз речь идёт о Gmail Go — упрощённой и облегчённой версии почтового клиента Gmail.  Достижение 50...

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

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

В Microsoft Store появятся Android-приложения Microsoft подтвердила, что изучает способы добавления приложений Android в Microsoft Store для Windows 11. Во время мероприятия, посвящённого Windows Панос Панай подтвердил, что этот шаг может помочь увеличить количество приложений, доступных в настоящее время для платформы....

Как мы подбирали грузы для перевозчиков Добрый день. Нас зовут Илья Баштанов (разработчик, Точка-Точка) и Татьяна Воронова (аналитик данных, Центр 2М). И мы хотим рассказать о технической реализации задачи подбора грузов для перевозок. Суть задачи в следующем. На складе есть грузы, которые нужно перевезти из горо...

Руководство по использованию Tarantool Cartridge в Kubernetes Привет, меня зовут Иван, и сегодня я расскажу как управлять приложением Tarantool Cartridge в кластере Kubernetes при помощи Tarantool Operator. Мы пройдем полный цикл от разработки до эксплуатации: Подготовим инструменты Создадим тестовое приложение Упакуем его в docker У...

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

Как скачивать приложения из Google Play на ПК Сегодня доступ в Интернет настолько распространен, что проблема загрузки приложений из Google Play Store на телефон незначительна, однако ее нельзя игнорировать. По-прежнему загружать приложения из Google Play Store можно только с телефона, если, конечно, предварительно скач...

Лучшая медицинская страховка — думать головой. Идея приложения Хочу рассказать о проекте приложения, которое я начинал разрабатывать, когда еще работал начальником IT-отдела в одной из ЦРБ в РФ. Рассказываю с целью поделиться опытом, и, возможно, подтолкнуть кого-то к идее реализации интересного продукта. Рассказываю максимально не с...

Какая асинхронность должна была бы быть в Python В последние несколько лет ключевое слово async и семантика асинхронного программирования проникла во многие популярные языки программирования: JavaScript, Rust, C#, и многие другие. Конечно, в Python тоже есть async/await, они появились в Python 3.5. В этой статье хочу обсу...

Как ELK помогает инженерам по ИБ бороться с атаками на сайты и спать спокойно Наш центр киберзащиты отвечает за безопасность веб-инфраструктуры клиентов и отбивает атаки на клиентские сайты. Для защиты от атак мы используем файрволы веб-приложений FortiWeb (WAF). Но даже самый крутой WAF – не панацея и не защищает «из коробки» от целевых атак.  Поэто...

Microsoft обновила Office и добавила важную новую функцию Компания Microsoft выпустила обновление офисного пакета приложений Office для Windows. Сборка под номером 12513.20010 доступна для участников программы тестирования Office Insiders.  Обновление предлагает несколько изменений и улучшений. Особо выделяется среди них...

Xiaomi признала проблему с MIUI: сенсорные экраны разных смартфонов Xiaomi и Redmi работают некорректно Появляется всё больше сообщений о проблемах с глобальной версией оболочки MIUI, в которой возникают проблемы с работой сенсорного экрана. Соответствующие жалобы появляются на различных форумах, включая Reddit. В видеоролике показан смартфон Xiaomi Mi 11 Ultra с глобальн...

Можно ли сложить N чисел типа double наиболее точно? В предыдущих сериях… Прошлая статья рассказала о двух способах сложения двух двоичных чисел с плавающей запятой без потери точности. Чтобы добиться этого, мы представили сумму c=a+b в виде двух чисел (s,t)=a+b, причём таких, что s — наиболее близкое к a+b точно-представимое ...

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

Неудачный опыт миграции Electron приложения на ECMAScript модули Работая над своим стартовым шаблоном для Electron приложений я решил полностью отказаться от CommonJS модулей и использовать исключительно ECMAScript модули.Спойлер: ничего хорошего из этого не вышло. Читать далее

Таким может быть интерфейс Android на устройствах с двумя экранами Как работает Android с двумя экранами? Компания Microsoft в октябре прошлого года представила миру ряд новинок. Среди них оказался и Surface Duo — это первый смартфон компании на Android. Но это не единственная его особенность, ведь аппарат имеет два экрана, которые сп...

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

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

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

О полезности contextvars В Python есть множество возможностей и языковых конструкций. Какие-то мы используем каждый день, а о некоторых даже опытные программисты узнают с удивлением после нескольких лет работы с языком (привет, Ellipsis!). Совсем недавно вышел Python 3.9, но в этой статье я расскаж...

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

Доступно накопительное обновление Windows 10 Build 18363.719 [KB4540673] Microsoft выпускает накопительные обновления для ПК под управлением Windows 10 v1909, v1903 и v1809. Патчи поставляются с общими исправлениями. Также доступны автономные установщики KB4540673. Как и все вторничные патчи, кумулятивное обновление KB4540673 устанавливается авто...

[Из песочницы] Как сэкономить на разработке мобильного приложения Привет, я Евгений Бойченко – сооснователь студии, которая разрабатывает мобильные приложения. За 10 лет работы вопрос «Почему так дорого?» я слышу чуть ли не ежедневно. Для многих клиентов мы искали возможности безболезненно снизить цену разработки, и в итоге у меня накопи...

Формальные грамматики на службе мобильного клиента В повседневной жизни мы пользуемся готовыми интерпретаторами и компиляторами — и редко кому придёт в голову написать их самостоятельно. Во-первых, это же сложно, во-вторых — зачем. В Surf мы написали собственный интерпретатор и используем его на клиенте мобильного приложени...

Лучше своими руками: как мы сделали мобильное приложение Perekrestok.ru inhouse Привет! Меня зовут Мария Тимофеева, я директор по продукту онлайн-супермаркета Perekrestok.ru. К выходу нашего нового мобильного приложения мы решили рассказать, как делали текущую версию, сколько багов собрали и как пришли к выводу, что в нашем случае inhouse-разработка ока...

[Из песочницы] Linux контейнер для .NET Framework приложения (когда сложно уйти на .Net Core) Здравствуй, Хабр. Хочу поделиться с миром достаточно нетипичной, по крайней мере для меня, задачкой и её решением, которое мне кажется вполне приемлемым. Описанное ниже, возможно, не является идеальным выходом из ситуации, но это работает, и работает так, как задумывалось. ...

[Перевод] Запуск Netflix на телевизорах и приставках. Лишние 40 миллисекунд Приложение Netflix работает на сотнях умных телевизоров, стиков и телевизионных приставок. Я один из инженеров, которые помогают производителям запустить наше приложение на их устройствах. В этой статье обсудим особенно сложный вопрос, который помешал выходу одной телеприста...

Security Week 27: приватность буфера обмена в iOS Выпуск бета-версии iOS 14 для мобильных устройств iPhone вскрыл проблему с приватностью буфера обмена в некоторых приложениях. Свежая версия ОС предупреждает пользователя, когда приложение читает информацию из буфера. Оказалось, что этим занимается довольно много аппов. Нагл...

iPhone быстро разряжается? Возможно дело в Apple Music Как пишет источник со ссылкой на Forbes, многие пользователи iPhone столкнулись в последнее время с проблемой быстрого разряда своих телефонов. Оказалось, к этому причастно приложение Apple Music. Как написал один из пользователей, его новенький iPhone 11 начал быстро ...

Чаты на вебсокетах, когда на бэкенде WAMP. Теперь про Android Мой коллега уже писал про наш опыт разработки чатов на вебсокетах для iOS, поэтому часть про особенности бэкенда с точки зрения клиента у нас общая. А вот реализация на Android, конечно, отличается. И ещё мне не приходилось, как в первой статье, искать библиотеку для поддерж...

Самые скачиваемые приложения в августе 2020 Sensor Tower опубликовал данные о самых скачиваемых приложениях в августе 2020 года. На первом месте снова TikTok с 63.3 миллионами новых установок, это рост на 1.6% по сравнению с августом 2019. Около 11% от установок дала Индонезия, 9% Бразилия. По сравнению с прошлым меся...

Сверхдлинное преобразование Фурье на FPGA Всем привет! В этой статье я хочу рассказать про реализацию алгоритма сверхдлинного быстрого преобразования Фурье на ПЛИС. Написать эту статью меня побудило желание поделиться личным практическим опытом, который не хотелось бы потерять, оставив информацию только у себя в го...

Надоел Google Play Store? Вот вам лучшие альтернативы Не обязательно использовать Play Store для того, чтобы скачивать приложения Если вы пользуетесь Android довольно давно, то знаете, что это довольно открытая операционная система, позволяющая модифицировать буквально все, что угодно. Но вот приложения для Android (если мы не ...

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

Postgresso 20 Жизнь продолжается. Продолжаем знакомить вас с самыми интересными новостями PostgreSQL Главная новость Feature Freeze Функциональность 13-й версии PostgreSQL заморожена. Теперь только доработки и исправления багов. Список нового, вопреки многим ожиданиям, довольно обширный...

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

Mac OS 8 с предустановленными играми и приложениями выпустили в виде отдельного приложения для macOS, Windows и Linux Разработчик Феликс Ризеберг трансформировал операционную систему Mac OS 8 в приложение, которое можно установить на современный компьютер. Эта версия даже включает немало встроенных приложений и игр. Приложение можно установить на macOS, Windows и Linux. Приложение macintosh...

Уязвимости в коде. Как отличить опасную брешь от незначительной ошибки? Как обычно выглядит проверка кода приложений на уязвимости? Специалист по безопасности инициирует процедуру, код сканируется, в приложении обнаруживаются тысячи уязвимостей. Все — и безопасник, и разработчики — в шоке. Естественная реакция разработчика: «Да наверняка половин...

Google подготовился к закрытию Google Play Music, но не успел ... Уже какое-то время мы знаем, что достаточно крупному игроку на рынке стриминга музыки, Google Play Music, придет конец. Его место должен занять молодой и перспективный проект (сарказм) YouTube Music. Проблема в том, что второй может не только не понравиться многим пользовате...

Apple запретила установку приложений для iPhone на новые Mac с Apple M1 Новые устройства Mac от Apple, построенные на базе однокристальной системы Apple M1, используют архитектуру ARM. Они не только очень долго работают без подзарядки, но и позволяют запускать мобильные приложения на ноутбуках и компьютерах. С выпуском последнего обновления...

Отключаем Jetifier и ускоряем сборку: опыт Тинькофф.Бизнес Привет, Хабр!Уже пять лет наша команда разрабатывает Тинькофф.Бизнес – мобильный банк для юридических лиц. За это время наше Android-приложение успело набрать целых 200 модулей и 400 тысяч строк компилируемого кода.Модуляризация приложения не всегда идет ему на пользу – нам ...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

[Перевод] Компилируем Microsoft Word 1989 года Собираем Opus Opus — это кодовое имя, которое разработчики компании Microsoft дали пакету Microsoft Word for Windows v1.1a. Давайте скомпилируем его из исходного кода и посмотрим, удастся ли его запустить! 1. Введение В этой статье задокументирован процесс получения исход...

Как бесплатно добавить новые шрифты на iOS Официальная поддержка пользовательских шрифтов появилась на iPhone и iPad с выходом iOS 13 и iPadOS 13, однако не все знают, как добавить на айфон сторонние шрифты без покупки дополнительных приложений или оформления платной подписки Adobe Creative Cloud. Совсем недавно в A...

Топ-3 программ для удалённого администрирования С развитием IT-индустрии увеличиваются и требования к пользователям компьютерной техники. Новое и высокопроизводительное “железо” нуждается в более тщательной настройке, не говоря уже о бесчисленном количестве программ, каждая из которых имеет свой интерфейс и панель управле...

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

Microsoft исправляет проблемы со звуком в Windows 10 в последнем обновлении Недавно обнаруженная ошибка звука в Windows 10 была только что исправлена ​​Microsoft, но на данный момент она доступна только тем, кто загружает и устанавливает последнее необязательное предварительное обновление (KB5003690). Для тех, кто не знает, после недавних накопитель...

Управляем кластером на Tarantool из командной строки Два года назад мы уже рассказывали вам, что такое Cartridge и как с его помощью разрабатывать распределенные приложения. Это полноценный фреймворк, в который входит CLI-интерфейс, который сильно упрощает разработку и эксплуатацию приложений на Tarantool Cartridge. Я расск...

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

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

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

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

Xiaomi троллит Huawei или это совпадение? Новые смартфоны Xiaomi, линейка Mi 10, у многих вызывают интерес и желание приобрести. Эти устройства работают на Android и поставляются с сервисами Google, что давно привычно и иначе быть просто не может. Если только речь не идёт о Huawei и Honor, у которых сейчас проблем...

Не скачиваются приложения с Play Market. Что делать Несмотря на расхожее мнение о том, что Android – это более проблемная платформа, чем iOS, на самом деле это не совсем так. Google, как и Apple, старается сделать так, чтобы смартфоны, которые работают на базе её операционной системы, работали стабильно и не доставляли польз...

Финансовое latency critical приложение на Java и Akka Всем привет! В своей статье я поделюсь опытом разработки одного из финансовых приложений на Java в ТехЦентре Дойче Банка, расскажу про стек технологий, который мы используем, и каких результатов достигаем Читать далее

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

Что нового в декабрьском обновлении графического драйвера Intel для Windows 10 Intel выпускает последнее обновление графического драйвера в этом году для тех, кто работает под управлением Windows 10 версии 1709 или более поздней. Декабрьский драйвер графического процессора Intel для Windows 10 обеспечивает улучшенную производительность для популярных и...

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

Как внедрить In-app Updates в Android-приложение на React Native В 2019 году Google выпустила In-app Updates — возможность обновлять Android-приложения без перехода в Google Play. Однако до сих пор довольно мало приложений поддерживают этот способ обновления.Когда я внедрял In-app Updates в приложение Профи для специалистов — бе...

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

Microsoft будет непросто с TikTok Реализация плана Microsoft приобрести приложение TikTok, сейчас принадлежащее китайской компании ByteDance будет технически сложным мероприятием и «испытанием терпения администрации президента Дональда Трампа». Об этом агентству Reuters сообщили источники, з...

Подключение Keycloak к Spring Boot приложению Привет Хабр!Как известно, spring OAuth2.0.x переведен в режим поддержки уже почти как 2 года назад , а большая часть его функциональности теперь доступна в spring-security (матрица сопоставления). В spring-security отказались переносить Authorization service (roadmap) и пред...

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

Kate Mobile: что предлагает альтернативный клиент «ВКонтакте» для Android Если официальное приложение кажется вам перегруженным, возможно, его пора заменить.

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

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

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

Без эйчаров, интервью и спешки: как нанимают системных администраторов в Southbridge Хороший инженер знает нужные технологии, ясно излагает мысли и управляет собой не хуже, чем сервером. Расскажем, как такого найти и удержать. Southbridge поддерживает высоконагруженные серверы с 2008 года. Сейчас в штате 55 сотрудников, из них 19 — системные инженеры, бол...

Не запускаются приложения на Андроид. Что делать Несмотря на то что Android считается менее стабильной операционной системой, чем iOS, не существует ни одной проблемы, которую бы Apple считала проблемой, а Google – нормой. Даже если приложение из Google Play – независимо от того, какой разработчик его выпустил – вылетает ...

[Перевод] Реализация epoll, часть 3 В предыдущих двух материалах (часть 1, часть 2) этой серии речь шла об общих вопросах работы epoll, и о том, как epoll получает уведомления о новых событиях от файловых дескрипторов, за которыми наблюдает. Здесь я расскажу о том, как epoll хранит уведомления о событиях, и о ...

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

[Перевод] “Давайте использовать Kubernetes!” Теперь у вас 8 проблем Если вы используете Docker, следующим логичным шагом кажется переход на Kubernetes, он же K8s, правильно? Ну, предположим. Однако решения, предназначенные для 500 инженеров-программистов, одновременно разрабатывающих одно приложение, достаточно сильно отличаются от решений д...

Apple заменит «Сообщения» на Mac новым приложением из iOS 14 На днях мы писали о том, что в этом году некоторые хакеры и блогеры могли получить доступ к ранней сборке iOS 14. Этим обуславливается большое количество утечек, скриншотов и другой информации о новой версии мобильной операционной системы Apple. Особо находчивые начали взаи...

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

Interprocess communication с использованием GRPC Сегодня хочу рассказать о нашем пути реализации межпроцессного взаимодействия между приложениями на NET Core и NET Framework при помощи протокола GRPC. Ирония заключается в том, что GRPC, продвигаемый Microsoft как замена WCF на своих платформах NET Core и NET5, в нашем случ...

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

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

PostgreSQL. Плохие запросы, примеры и их поиск При поиске проблем в RDBMs разработчик обычно подозревает медленные запросы. А что, если дело не в них? О том, какого типа запросы дают нагрузку на базу данных, не позволяя вашему приложению работать должным образом, рассказал в своем докладе на конференции Saint HighLoad++ ...

Xiaomi не планирует возвращать звонилку MIUI с приходом Android 10 Операционная система Android выпускается с открытым исходным кодом. Это означает, что у пользователей есть множество вариантов с точки зрения предпочтений пользовательского интерфейса. Компания Xiaomi, к примеру, годами создавала различные усовершенствованные форки, использу...

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

Просто расслабьтесь: обзор портативного массажера Yunmai Fascia Massage Gun Extra Mini Цена этого устройства – порядка $100. Много это или мало за возможность не ходить к специалисту по массажу на регулярной основе и решать часть проблема дома? Решать вам и вашим мышцам. Прелесть Yunmai Fascia Massage Gun Extra Mini в том, что его можно использовать всей...

Microsoft теперь позволяет тестировать приложения Android в Windows 11 Microsoft теперь позволяет тестировщикам Windows 11 опробовать приложения для Android. Предварительная версия подсистемы Windows для Android будет доступна бета-тестерам Windows 11 сегодня, обеспечивая доступ к приложениям из Amazon Appstore. Все тестеры с процессорами Intel...

Маленькие «малинки» в крупном дата-центре (часть 2 — iPXE + Buildroot) Привет всем, кто заинтересовался историей интеграции «малинок» в серверы! Многие хотели увидеть, как они выглядят в стойке, — вот они, представлены на заглавной иллюстрации. Продолжим нашу историю о появлении одноплатников в выделенных серверах. В прошлой статье мы рассмо...

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

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

На iPhone и Android стремительно набирает популярность новое приложение Мобильное приложение Vine позволяло делиться зацикленными видеороликами, сервис был запущен в 2013 году, в том же году Vine стало самым скачиваемым бесплатным приложением в App Store, а в 2017 году проект закрыли. В конце 2018 года Дом Хоффман (Dom Hofmann), один из осн...

За что App Store может отклонить приложение: чек-лист App Store — самая строгая площадка для размещения приложений. Ревью проходит дольше и строже, чем у Google Play и Huawei App Gallery. В 2020 году AppStore отклонил миллион приложений, которые публиковались впервые, и миллион апдейтов.С одной стороны, такая строгая политика —...

Обновление Windows 10 устраняет ошибку утечки памяти и проблемы с приложением «Ваш телефон» На каналах Release Preview и Beta Microsoft начала тестирование нового накопительного обновления, которое решит несколько проблем с утечкой памяти в Windows 10. Помимо улучшений производительности, Microsoft также исправляет проблему, из-за которой пользователи не могли полу...

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

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

[Перевод] Создание современных процессов CI/CD для бессерверных приложений с Red Hat OpenShift Pipelines и Argo CD. Часть 2 В первой части статьи я представил Tekton в качестве фреймворка для «облачных» пайплайнов CI/CD и Argo CD в качестве идеальной пары для GitOps в Red Hat OpenShift. Наша цель — создать законченный процесс непрерывной интеграции и доставки, который начнется при коммите в репо...

Автоматизированная сборка Delphi-приложения Автоматизированная сборка Delphi-приложения Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-колен...

Microsoft закрывает магазин приложений для Windows Phone 8.1 Сегодня, 16 декабря 2019 года, прекратит работу официальный магазин приложений для Windows Phone 8.1, поддержка которой завершилась в июле 2017 года. Вы по-прежнему можете продолжать использовать устройства под управлением этой операционной системы в обычном режиме, но боль...

[Перевод] С чего начать изучение Flutter в 2021 году Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 202...

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

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

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

Vue.js для проекта на Bitrix Привет, Хабр!Меня зовут Дмитрий Матлах. Я тимлид в AGIMA. Мы с коллегами обратили внимание, что в сообществе часто возникает вопрос о том, как совместить на одном проекте Bitrix-компоненты и реактивные фронтовые движки. Мы неоднократно сталкивались с подобными задачами, и по...

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

[Перевод] Конференция HACKTIVITY 2012. Теория большого взрыва: эволюция пентестинга в условиях повышенной безопасности. Часть 1 Приветствую всех, как поживаете? Надеюсь, у вас все хорошо, тогда слушайте. Послушайте про то, что всегда случается со мной, когда я уезжаю из Америки и приезжаю в Азию или Европу, во все эти другие страны. Я начинаю выступать, я стою на сцене и начинаю говорить с людьми, я ...

Microsoft продолжает избавляться от «лишнего» в Windows 10 Компания Microsoft продолжает зачистку «лишних» приложений в операционной системе Windows 10, которые так и не снискали популярности у пользователей.  В марте в тестовых сборках из Windows 10 исчезли приложения Paint 3D и 3D Viewer. А в свежей сборке, ...

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

«Каких Марин?» или управляем контроллером через bluetooth с помощью мобильного приложения на Xamarin (Android) В прошлой статье я пообещал рассказать, о том как подключать CANNY 3 tiny с помощью UART к bluetooth. И поскольку на этих майских особо не разгуляешься, было принято решение провести время с пользой и таки сдержать обещание. Но просто подключить контроллер к Bluetooth адапте...

LFColoringBook: раскраска для iOS LFColoringBook — iOS/UIKit/CoreGraphics/Swift реализация раскраски. Наверное, для реализации полноценного приложения еще не подойдет, но в качестве основы для понимания и развития кажется вполне годной. Исходники: https://github.com/ebarellar/LFColoringBook

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

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

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

Программные зонды Elecard Boro – Мониторинг IPTV Boro реализует мониторинг и контроль качества потоков прямых трансляций (IPTV). Проект разработан компанией Elecard, основанной в России. Среди их клиентов и партнёров такие корпорации, как Intel Corporation, Netflix, Huawei, Cisco Systems, Samsung и многие другие. В этой ...

Долгожданное нововведение YouTube TV для Android: просмотр видео без подключения к Сети Онлайновый телевизионный сервис YouTube TV заработал ещё в начале 2017 года, он предоставляет доступ к различным телевизионным каналам, которых ещё прошлым летом было около ста. Приложения YouTube для iOS и Android, а также YouTube Music и Kids уже поддерживают просмотр...

Определены самые скачиваемые приложения в мире Компания Sensor Tower опубликовала рейтинг самых популярных приложений в 2019 году.Для сравнения были опубликованы и соответствующие рейтинги за 2016, 2017 и 2018 года. Сообщается, что в 2019 году было осуществлено более 115 млрд уникальных загрузок приложений. Из них 31 млр...

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

Реализация RPA процессов с помощью Microsoft Power Automate Desktop Добрый день всем, друзья! В одной из прошлых статей мы уже затрагивали тему RPA и примеров реализации простых RPA процессов на базе сервиса Microsoft Power Automate Desktop. Сегодня хотелось бы снова вернуться к этой теме, порассуждать на тему RPA и показать несколько пример...

[Перевод] Загадочное происхождение настольной игры про взлом кодов Mastermind Она стала мировой сенсацией. Её использовали в Fallout. Она помогла созданию отрасли кибербезопасности. Но откуда же она взялась? «Это неинтересно», — думал Дэн Тейтел. В Fallout 3 есть куча компьютерных терминалов, и если игрок хотел взломать один из них, ему нужно было ...

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

[Перевод] Создаем бессерверное приложение с помощью Azure Functions и Go Вебхуки — популярный пример использования FaaS (функция как услуга) платформ. Их можно использовать для многих различных целей, например, для отправки клиентам уведомлений, содержащих забавные гифки! Используя serverless функцию, довольно удобно инкапсулировать функционально...

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

[Перевод] Service mesh — это всё ещё сложно Прим. перев.: эта небольшая статья Lin Sun из IBM в блоге CNCF — занятная иллюстрация тех сложностей, над преодолением которых сейчас трудятся инженеры популярных реализаций service mesh. С ними становится понятным, почему порог вхождения у этих продуктов остаётся довольно б...

Механизмы авторизации в web-приложениях на Rust Для обеспечения безопасности приложений мы используем такие довольно известные механизмы, как аутентификация и авторизация. В этой статье мы сфокусируемся на понятие авторизации и связанных с ней моделях контроля доступом. А также рассмотрим решения для web-приложений на Ru...

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

Популярнее TikTok: в январе 2021 года Telegram стал самым скачиваемым приложением в мире Аналитический центр Sensor Tower поделился информацией о самых скачиваемых мобильных приложениях неигрового сегмента за январь 2021 года. Возможно, вы удивитесь, но им стал Telegram, сместивший с лидерского пьедестала TikTok. Источник изображения: Telegram В прошлом месяце м...

IBM Maximo Visual Inspection как панацея для «непрофи». Часть 2 В прошлом посте я начала говорить о решении IBM Maximo Visual Inspection от IBM, позволяющем использовать технологию компьютерного зрения без команды дата-сайнтистов и внушительных затрат на разработку. Сейчас я расскажу подробнее о том, как это решение применять. Читать д...

Сервис AWS App Runner ускоряет развертывание приложений и API Компания Amazon Web Services (AWS), принадлежащая Amazon, на этой неделе представила AWS App Runner — полностью управляемый сервис контейнерных приложений. Как утверждается, он упрощает и ускоряет создание приложений, позволяя клиентам развертывать и запускать кон...

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

Из WhatsApp теперь можно «выйти» без удаления, избавление от главного недостатка мессенджера всё ближе Команда WhatsApp продолжает трудится над устранением одного из главных недостатков мессенджера — невозможность одновременно запустить приложение на нескольких устройствах и отсутствие полноценного самостоятельного клиента для ПК и в веб-интерфейсе. Работа эта ведё...

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

Как работает Windows 10 на Raspberry Pi 4 и Pi 3 Разработчики наконец установили оптимизированную для ARM версию Windows 10 на Raspberry Pi 4 после того, как некоторым людям удалось запустить ее на Raspberry Pi 3 в первой половине 2019 года. Raspberry Pi 4 и Pi 3 официально поддерживают версию Windows 10 для IoT Core, кото...

Самодельный стратостат. Часть 2 Long, long time ago… Нет, не так. 4 месяца назад я рассказал вам, как из клея и резиновых сапог создать с нуля свой стратостат с телеметрическим модулем и видеокамерой. Я так же описал наш опыт запуска и поиска этого метеозонда, обозначив несколько возникших проблем. Что ж....

Новое приложение, которое превращает ваш iPhone в iPod Rewound - это базовое приложение для воспроизведения музыки, которое доступно в Apple App Store. Он использует загружаемые скины для преобразования приложения в iPod или более и синхронизируется с библиотекой Apple Music. В будущем должна появиться поддержка Spotify. Он даже...

Встраиваем карты от Huawei в Android приложение В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. Потом использовали аналитику от Huawei вместо аналога от Google. Также поступили и с определением геолокации. В этой же статье мы буде...

[Перевод] Просто вертикальный монитор не значит, что я на телефоне YouTube на вертикальном экране Да, я странный человек, полностью признаю. На домашнем компьютере у меня установлен вертикальный монитор. Я составляю и читаю и много длинных документов — и такой форм-фактор меня вполне устраивает. Я давно так делаю. Это естественная часть ...

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

Google добавит шифрование файлов в Google Диск Google Диск, наконец-то, получит дополнительный уровень защиты благодаря шифрованию файлов внутри сервиса.     Google работает над добавлением поддержки шифрования в свой сервис Google Диск (Google Drive). Это обнаружили умельцы из XDA Developers, «разобрав&...

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

[Перевод] Нововведения CSS – Июль 2020 (Gap, Aspect ratio, Masonry, Subgrid) Приветствую. Представляю вашему вниманию перевод статьи «CSS News July 2020», опубликованной 7 июля 2020 года автором Rachel Andrew В последнее время скорость внедрения новых возможностей технологий веб-разработки существенно увеличилась по сравнению с тем, как это было ран...

Как удалять программы с Mac (macOS), даже если не появляется крестик в Launchpad Деинсталляция приложений на Mac не такой очевидный процесс, как кажется на первый взгляд. А все потому, что в macOS в отличие от iOS существует возможность установки ПО не только из виртуального магазина приложений App Store, но и программ, загруженных с сайтов самих разрабо...

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

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

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

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

Вжух, и прогоны автотестов оптимизированы. Intellij IDEA плагины на службе QA Automation Привет, Хабр. Я работаю QA Automation инженером в компании Wrike и хотел бы поговорить о том, как нам удалось оптимизировать процесс код-ревью для репозитория с 30 000+ автотестов при помощи IntelliJ IDEA плагина. Я расскажу о внутреннем устройстве плагина и о том, какие п...

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

First DI: Первый DI на интерфейсах для Typescript приложений Делюсь одной из своих библиотек которая называется First DI. Она уже много лет помогает мне решить проблему внедрения зависимостей в браузерных приложениях для таких библиотек как React, Preact, Mithril и другие. При написании First DI за основу была взята идеология DI библи...

Как я сжимал модель fastText для реальной задачи в 80 раз в 2021 году FastText — это отличное решение для предоставления готовых векторных представлений слов, для решения различных задач в области ML и NLP. Но основным недостатком данных моделей является, то что на текущий момент обученная модель FastText на русскоязычном корпусе текстов Викип...

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

Выпускники семестрового курса «Разработка приложений на iOS», Технопарк Mail.ru Свои дипломные проекты в этом сезоне защитила новая группа выпускников семестрового курса «Разработка на iOS» Технопарка (МГТУ им. Баумана). Это был экспериментальный семестр, все занятия проходили онлайн. Преподаватели выбрали четыре самых интересных решения, о которых мы х...

Новые проблемы iPhone 13 и iOS 15: неработающий видоискатель и ошибки в приложении Mail Apple выпустила финальную версию iOS 15 в начале прошлой недели, чему предшествовало длительное бета-тестирование. Несмотря на то, что Apple называет это обновление стабильным, прошивка является одной из самых проблемных в истории iOS. В iOS 15 есть множество ошибок, на...

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

«Цель SRE — надёжная система». Обзор основных метрик SRE Site Reliability Engineering (SRE) — это одна из форм реализации DevOps. SRE-подход возник в Google и стал популярен в среде продуктовых IT-компаний после выхода одноимённой книги в 2016 году. В статье опишем, как SRE-подход соотносится с DevOps, какие задачи решает инженер...

Поддержка Touch в JavaScript Какие проблемы могут быть у frontend-программиста, если тестировщик запустит его приложение на iPad с новой трекпад-клавиатурой, Windows-планшете, с неопределенным состоянием “режима планшета” или ноутбуке с подключенным к нему телевизором c поддержкой Multi-touch? Это дале...

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

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

Названы самые популярные приложения и игры десятилетия Компания App Annie подвела итоги за десять лет и назвала самые скачиваемые приложения. Глобальным лидером стал Facebook и его мессенджер, а также WhatsApp и Instagram, которые также принадлежат Facebook. В России рейтинг возглавляет WhatsApp, второе место по количеству...

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

Названо еще одно нововведение Android 11 Недавно стало известно о том, что первые тестовые сборки Android 11 уже доступны некоторым разработчикам, в связи с чем появляются новые подробности об особенностях операционной системы. Согласно информация XDA Developers, в Android 11 появится функция Share and Print, ...

Прощай, Tizen? Samsung может перевести свои умные часы на платформу Android Несмотря на то, что Samsung уже давно использует платформу Tizen в своих умных часах, в будущем она может отказаться от Tizen и перейти на Android (Wear OS). Wear OS сейчас используется в большинстве умных часов, и Samsung со своими решениями может стать в их ряд. ...

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

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

Как убрать красные глаза с фото на iPhone или iPad без дополнительных приложений Проблема стара, как сама индустрия фотографии, неприятна, но давно решена, причем не одним способом. Функция устранения «красных глаз» в очах людей перед объективом мобильного коммуникатора есть практически в каждом тематическом приложении, что для iOS, что под Android. А на...

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

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

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

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

Fortinet Security Fabric на практике. Часть 4. Взаимная интеграция Доброго дня! В наших прошлых статьях мы рассказали про концепцию Fortinet Security Fabric, а также описали продукты FortiSwitch и FortiAP. Теперь пришло время рассмотреть процесс взаимной интеграции продуктов “фабрики безопасности” на практике, а также познакомиться с возмож...

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

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

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

Пользователи iPhone жалуются на проблемы с сетью на iOS 13.3 Не работает LTE на iPhone? Возможно, виновата iOS 13.3 Несмотря на то что, как правило, Apple стремится максимально своевременно устранять те или иные неполадки в работе своих устройств, время от времени начинает складываться впечатление, что в Купертино либо намеренно игнор...

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

VPN-сервер на роутере. Автоподключение VPN в Windows с блокировкой доступа к интернету кроме VPN-соединения Полный и подробный туториал как поднять VPN-сервер на роутере, реализовать автоподключение к нему в системе Windows и разрешить выход в интернет только через VPN. Статья написана достаточно подробно, с расчетом даже на тех людей, кто впервые зашел в раздел Windows «Сетевые ...