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

[Перевод] Асинхронный Python-код медленнее обычного кода Большинство программистов понимают то, что асинхронный Python-код имеет более высокий уровень конкурентности, чем обычный синхронный код. Это даёт некоторые основания полагать, что асинхронный код способен показывать более высокий уровень производительности при решении распр...

Aсинхронный PHP Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переп...

[Перевод] Как сделать ваш код на Python быстрым и асинхронным с Sanic Всем привет, в этой статье я расскажу о создании простых асинхронных проектов на фреймворке Sanic. Читать далее

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

[Перевод] Асинхронное выполнение задач с использованием Redis и Spring Boot В этой статье мы рассмотрим, как использовать Spring Boot 2.x и Redis для выполнения асинхронных задач, а полный код продемонстрирует шаги, описанные в этом посте. Читать далее

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

Какую цену мы платим за использование async/await в языках JS / C# / Rust Привет, Хабр ! Работая с Javascript / Typescript, я давно заметил, что асинхронное API работает медленней чем аналогичное синхронное, и даже знал что так должно быть. Но на последнем проекте асинхронная работа с файловой системой стала узким местом, и я озаботился замерами. ...

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

Trio – асинхронное программирование для людей В Python существует библиотека Trio – библиотека асинхронного программирования. Знакомство с Trio в основном будет интересно тем, кто работает на Asyncio, потому что это хорошая альтернатива, позволяющая решать часть проблем, с которыми не может справиться Asyncio. В этом ...

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

[Перевод] Использование asyncio для создания асинхронных драйверов устройств на MicroPython v.1.12 Изученая возможности MicroPython для своих целей натолкнулся на одну из реализаций библиотеки asyncio и, после недолгой переписки с Piter Hinch — автором библиотеки, понял, что мне необходимо глубже разобраться с принципами, базовыми понятиями и типичными ошибками использова...

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

Асинхронная работа с libusb 1.0 Несколько статей назад мы рассмотрели методику работы с USB-устройством при помощи библиотеки libusb. Данные в устройстве у нас формировались по таймеру, поэтому мы были не просто уверены, что рано или поздно они придут к нам, но даже могли предсказать, через какой срок это ...

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

Асинхронный код в Startup ASP.NET Core: 4 способа обхода GetAwaiter().GetResult() С тех пор, как в C# 5.0 завезли механизм async/await, нас постоянно во всех статьях и доках учат, что использовать асинхронный код в синхронном очень плохо. И призывают бояться как огня конструкции GetAwaiter().GetResult(). Однако есть один случай, когда сами программисты Mi...

[Перевод] Элегантное асинхронное программирование с помощью «промисов» Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Graceful asynchronous programming with Promises» с MDN. «Обещания» (промисы, promises) — сравнительно новая особенность JavaScript, которая позволяет откладывать выполнение действия до завершения вы...

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

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

Магия асинхронных операций: взгляд изнутри. Future Бу́дущее — гипотетическая часть линии времени, множество событий, которые ещё не произошли, но могут произойти.Этот месяц может определённо пройти под девизом "Даёшь асинхронность!", на хабах Dart и Flutter. Неудивительно, ведь асинхронный и реактив...

Server-Side Rendering с нуля до профи В данной статье мы разберем влияние SSR на SEO оптимизацию приложения. Пройдем с вами путь по переносу обычного React приложения на SSR. Разберем обработку асинхронных операций в SSR приложениях. Посмотрим, как делать SSR в приложениях с Redux Saga. Настроим Webpack 5 для...

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

[Перевод] Трансивер UART для 8-битного компьютера на макетной плате В последнее время мне всё больше нравится собирать 8-битные компьютеры из ТТЛ чипов. Я вдохновился замечательными ролками Бена Итера с ютуба, а также различными проектами с сайта Hackaday. В процессе проектирования и сборки собственного 8-битного компьютера я задумался над т...

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

[Перевод] Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? Перевод статьи подготовлен в преддверии старта курса «Разработчик C#». Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозмо...

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

Книга «Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование. 2-е межд. изд.» Привет, Хаброжители! Если вы побаиваетесь конкурентного и многопоточного программирования, эта книга написана для вас. Стивен Клири предоставляет в ваше распоряжение 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования. К...

Async programming in .NET: Best practices Появление async/await в C# привело к пересмотру того, как писать простой и корректный параллельный код. Зачастую, используя асинхронное программирование, программисты не только не решают проблемы, которые были с потоками, но и привносят новые. Дедлоки и рейсы никуда не пропа...

[Из песочницы] Авторизация пользователя при помощи Starlette + Vue.js Вступление Задача — создать пример авторизации пользователя с использованием фреймворков Starlette (https://www.starlette.io/) и Vue.js *, который был бы максимально комфортным разработчикам Django для «миграции» в асинхронный стек. Почему Starlette? В первую очередь скор...

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

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

Интервью с Сергеем Жуком — автором книг и скринкастов по ReactPHP Мир IT полон интересных людей, что стало причиной создание проекта MoreView где я беру интервью у разных людей и познаю IT. Я достаточно давно связал свою жизнь с PHP и уже брал интервью у разработчика фреймворка Yii. Чуть более 7 лет назад в мир ворвался асинхронный PHP с б...

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

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

PostgresKit: работа с PostgreSQL PostgresKit — это клиентская библиотека PostgreSQL, построенная на основе SQLKit. Поддерживает создание и сериализацию SQL-запросов на диалекте Postgres. PostgresKit использует PostgresNIO для асинхронного подключения и связи с сервером базы данных. AsyncKit использует...

Paleontologas: открытая палеонтология Paleontologas — самое популярное в мире приложение о палеонтологии (по крайней мере, так заявляют его авторы). Его исходники выложили на GitHub и вы можете узнать, как оно устроено изнутри. Технологический стек: Room для хранения данных Koin для инъекции зависимостей K...

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

PHP-Дайджест № 195 (14 – 28 декабря 2020) Свежая подборка со ссылками на новости и материалы. В выпуске: Fibers для асинхронного PHP, первые нативные атрибуты, короткий match и другие RFC предложения для PHP 8.1, инструменты, много видео, статьи и подкасты. Приятного чтения и с наступающим Новым годом! Читать да...

Javascript and Rocket Science Я уже два с половиной года пишу на Js, и почти повсюду вижу примеры решения типовых задач для этого языка . Отрисовать очередную онлайн-витрину, подать асинхронный запрос на бек за очередным JSON. Уровнем повыше - построить структуру данных для SPA и на ее основе отобразить...

Фоновые задачи на Faust, Часть I: Введение Как я дошёл до жизни такой? Не так давно мне пришлось работать над бэкендом высоко нагруженного проекта, в котором нужно было организовать регулярное выполнение большого количества фоновых задач со сложными вычислениями и запросами на сторонние сервисы. Проект асинхронный и...

Пишем веб сервис на Python с помощью FastAPI Знаю, знаю, наверное вы сейчас думаете «что опять?!». Да, на хабре уже неоднократно писали о фреймворке FastAPI. Но я предлагаю рассмотреть этот инструмент немного подробнее и написать API своего собственного мини Хабра без кармы и рейтингов, зато с блэкджеком и с тестами,...

[Перевод] В двух словах: Лучшие практики Async/Await в .NET В преддверии старта курса «Разработчик C#» подготовили перевод интересного материала. Async/Await — Введение Языковая конструкция Async/Await существует со времен C# версии 5.0 (2012) и быстро стала одним из столпов современного программирования на .NET — любой уважающий ...

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

На Android и iOS выйдет Crash Bandicoot On the Run — раннер с элементами строительства базы от King Помимо стандартных забегов разработчики решили добавить асинхронный мультиплеер.

Зоны в Dart: операция на открытом сердце для окружения Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставля...

Управление нагрузкой на PostgreSQL, когда одного сервера уже мало. Андрей Сальников Предлагаю ознакомиться с расшифровкой доклада начала 2019 года Андрея Сальникова "Управление нагрузкой на PostgreSQL, когда одного сервера уже мало" Основные тезисы: 1) Стандартные практики распределения нагрузки в PostgreSQL. Сначала мы обсудим причины возникновен...

Как Kafka стала былью Привет, Хабр! Я работаю в команде Tinkoff, которая занимается разработкой собственного центра нотификаций. По большей части я разрабатываю на Java с использованием Spring boot и решаю разные технические проблемы, возникающие в проекте. Большинство наших микросервисов асинхр...

Применение 3d принтера в промышленности Всем привет. Наша компания занимается созданием опытных промышленных установок. (Для отработки технологий). На фотографиях шнековый дозатор. Устанавливается на трёхфазный асинхронный двигатель, подача регулируется при помощи частотного преобразователя.

Носок в стиральной машине: троян Microcin использует интересную стеганографию Группировка Microcin использует асинхронные сокеты и стеганографию для слежки за дипломатическими организациями.

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

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

Интернет вещей по-русски. Помехоустойчивое кодирование в OpenUNB Доступ к среде (MAC, Media Access Control) в OpenUNB очень прост — случаен и асинхронен. Этот вид доступа еще называют асинхронная ALOHA. Даже WiFi может похвастаться более сложным вариантом MAC. За счет этого упрощения оконечные устройства OpenUNB могут сильно экономить в п...

Зоны в Dart: большой брат следит за тобой Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставля...

PHP Дайджест № 201 (15 – 29 марта 2021) Свежая подборка со ссылками на новости и материалы. В выпуске: все про файберы и асинхронный PHP, а также новые лямбды, пересечения типов и другие предложения для PHP 8.1. Ближайшие мероприятия, порция полезных инструментов, статьи, подкасты, видео и PHP Дайджест Стрим. Пр...

Рецепты PostgreSQL: шаблонизатор mustach Для приготовления шаблонизатора mustach нам понадобится postgres и mustach. Можно также воспользоваться готовым образом. Зачем нужен шаблонизатор в базе? Ну, во-первых, если шаблонизатор в базе, то и сами шаблоны тоже должны быть в базе. А зачем нужно хранить шаблоны в базе...

Быстрый поиск по всем пользователям ВК Задача:Нужно пройтись по 650 000 000 пользователям ВК и вытащить только тех, кто живет в Москве. Затем отдельно обработать уже полученные айдишники.Решение:- генерация токенов для вк api- асинхронные запросы- код проекта в Google Colab (Python) Читать далее

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

[Перевод] kotlinx.coroutines 1.4.0: представляем StateFlow и SharedFlow Сегодня мы с радостью объявляем о выходе версии 1.4.0 библиотеки Kotlin Coroutines. Основными новшествами этого релиза стали StateFlow и SharedFlow, которые теперь являются стабильными API-интерфейсами. StateFlow и SharedFlow предназначены для использован...

Шина Infinity Fabric новых гибридных процессоров AMD Renoir сможет синхронно работать на частотах 2,1 ГГц и выше Теперь можно достичь высоких частот оперативной памяти без необходимости переключения IF в асинхронный режим

Владельцы PlayStation 5 забудут о загрузочных экранах — будущее за асинхронной интеллектуальной фоновой загрузкой в реальном времени Разработчики игр раскрыли подробности реализации возможностей PlayStation 5

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

Дорогая цена стилей. Доклад Яндекса Загрузка CSS на страницу — блокирующая операция. Если асинхронная загрузка JavaScript может быть незаметна пользователю, то медленное появление стилей может прогнать нетерпеливого гостя с сайта. Как загружать CSS максимально производительно и незаметно для пользователей? Раз...

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

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

.NET Community Meetup 29/10 Будем рады встретиться онлайн на .NET Community meetup. Подключайтесь к нам 29 октября общаться и дискутировать: затронем тему дизайна и использования асинхронного Success/Failure-пайплайна в микросервисах и погрузимся в историю языков программирования — что позаимствовали а...

Состоялся релиз OpenCL 3.0 Некоммерческой структурой Khronos Group опубликованы предварительные характеристики фреймворка OpenCL 3.0. Он используется для параллельных (гетерогенных) вычислений и работает на разных чипах: CPU, GPU и т.п. Приложения OpenCL 1.2 будут продолжать работать без изменений на...

[Перевод] Использование Atomics.wait(), Atomics.notify() и Atomics.waitAsync() Статические методы Atomics.wait() и Atomics.notify() представляют собой низкоуровневые примитивы синхронизации, которые можно применять для реализации мьютексов и других подобных механизмов. Но, так как метод Atomics.wait() является блокирующим, его нельзя вызывать в главном...

Новая функциональность в RESTinio и опять с помощью C++ных шаблонов Увидело свет очередное обновление небольшой библиотеки для встраивания асинхронного HTTP-сервера в C++ приложения: RESTinio-0.6.12. Хороший повод рассказать о том, как в этой версии с помощью C++ных шаблонов был реализован принцип "не платишь за то, что не используешь&q...

Что внутри шаурмы: микросервисы, распределенные системы и Кафка. Делимся материалами со встречи Backend United #5 Привет! Этот пост-отчёт с митапа Backend United, нашей серии тематических встреч для разрабочиков серверной части. Пятая встреча получила название «Шаурма», и здесь мы говорили о микросервисах: о способах синхронного и асинхронного взаимодействия между ними, организации пото...

Распознавание цифровых схем. Обобщённый С-элемент Александр Кушнеров 18.12.2019 Даже опытному инженеру иногда сложно сделать разводку схемы так, чтобы дорожки (или провода) не мешали её правильной работе. В первом приближении, на качество разводки влияет расположение и количество узлов, какие именно провода соединены в каж...

[Перевод] Что нового в Node.js 15? Делимся переводом статьи, в которой собраны подробности о новых функциях 15-й версии Node.js. Версия Node.js 15 была выпущена 20 октября 2020 года. Среди основных изменений: режим throw при необработанных отклонениях особенности языка V8 8.6 NPM 7 экспериментальная поддер...

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

Книга «Простой Python. Современный стиль программирования. 2-е изд.» Привет, Хаброжители! «Простой Python» познакомит вас с одним из самых популярных языков программирования. Книга идеально подойдет как начинающим, так и опытным программистам, желающим добавить Python к списку освоенных языков. Любому программисту нужно знать не только язык,...

[recovery mode] Перевозим волка, козу и капусту через реку с эффектами на Elixir Становится уже доброй традицией воспроизведение всего любопытного, что появилось на Хаскеле — повторять на Эликсире. Первой ласточкой были «Примерно 20 строк для подсчета слов», появившиеся как алаверды на «Побеждая C двадцатью строками Haskell: пишем свой wc» от 0xd34df00d ...

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

Интеграция интернет-магазина на 1С-Битрикс с Mindbox Для развития систем лояльности интернет-магазины обращаются к платформам автоматизации маркетинга, Customer Data Platform (CDP). При этом иногда для успешной интеграции нужно сохранять больше данных, чем указано в документации к API. Рассказываем, какие данные понадобились ...

Игра на WinForms + C# в 16 лет (2 часть) Предыстория Прошло довольно много времени с момента написания предыдущей статьи. Как и обещал я написал вторую часть. Хотелось бы сказать спасибо всем тем, кто давал советы в комментариях, из всех их я смог узнать что-то новое. Ну а для тех кому хочется сразу посмотреть прое...

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

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

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

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

[Перевод] Spring — эффективный роутинг Виктор Васнецов, Рыцарь на распутье; fatcatart.com Привет, Хабр! Здесь краткий пересказ интересной баги c GitHub. Для воспроизведения см. проект spring-flux-callstack. Не так давно я заметил, что при ошибках приложения, стектрейс иногда довольно длинный. И в нем повторялось...

Spike получил $8 млн. на то, чтобы сделать почту похожей на чат Асинхронные чаты, такие как Slack, сделали все возможное, чтобы убить электронную почту, но, возможно, ключ к замене электронной почты чатом - это просто сделать почту похожей на чат?

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

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

Реактивное программирование на Java: как, зачем и стоит ли? Часть II Реактивное программирование — один из самых актуальных трендов современности. Обучение ему — сложный процесс, особенно если нет подходящих материалов. В качестве своеобразного дайджеста может выступить эта статья. На конференции РИТ++ 2020 эксперт и тренер Luxoft Training Вл...

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

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

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

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

Xiaomi выпустила первый башенный вентилятор у себя на родине. Он получился тихим и очень экономичным В конце апреля Xiaomi представила на своей платформе коллективного финансирования первый башенный вентилятор Mijia DC Inverter, который поступил в продажу по цене 49 долларов. Напомним, за первые сутки было собрано более 425 тыс. долларов, а план превышен более чем...

Google выпустил новый API для Display & Video 360 Google объявил о выходе Display & Video 360 API v1. Теперь рекламодателям будет доступен улучшенный способ взаимодействия с ресурсами Display & Video 360. Версия v1 включает новую функциональность по асинхронному скачиванию файла структурированных данных (Structured ...

[Из песочницы] Эффектное программирование. Часть 1: итераторы и генераторы Javascript на данный момент является самым популярным языком программирования по версиям многих площадок (например Github). Является ли при этом он самым продвинутым или самым любимым языком? В нём отсутствуют конструкции, которые для других языков являются неотъемлемыми час...

Игровой смартфон Lenovo Legion засветился в бенчмарке Недавно компания Lenovo объявила о том, что геймерский смартфон Lenovo Legion станет самым производительным, инновационным и холодным смартфоном в своем классе. Сегодня амбициозный аппарат был протестирован в популярном бенчмарке Geekbench, который подтвердил наличие топовой...

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

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

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

The Verge: Microsoft тестирует браузерный Microsoft xCloud, это поможет iOS-геймерам Облачные игровые сервисы позволяют запускать топовые проекты на любом устройстве. Порой эта идея ударяется об стену правил и законов. Например, Apple против подобных сервисов в App Store, поэтому Google Stadia, GeForce Now и Microsoft xCloud не могут дотянуться до iOS-геймер...

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

[Перевод] Использование «глобального» await в JavaScript Новая возможность, которая может изменить наш подход к написанию кода JavaScript — очень гибкий и мощный язык, который определяет развитие современного веба. Одна из основных причин главенства JavaScript в сфере веб-разработки заключается в его стермительном развитии и по...

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

[Перевод] 5 причин, по которым я люблю программировать в Linux Linux — это отличная платформа для занятий программированием. На нашей стороне — логичность, высокая эффективность, лёгкость работы с исходным кодом. В 2021 году Linux выглядит как никогда привлекательно. Я собираюсь написать материалы, в которых расскажу о 21 способе испол...

Самый мощный, инновационный и холодный смартфон на Snapdragon 888 с 16 ГБ ОЗУ появился в Geekbench На прошлой неделе Чен Цзинь (Chen Jing), генеральный менеджер подразделения мобильных телефонов Lenovo в Китае, заявил, что следующий игровой смартфон линейки Lenovo Legion станет самым мощным, инновационным и самым холодным игровым телефоном в мире. Теперь новинка появ...

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

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

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

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

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

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

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

Решением, включающим Intel Optane и DAOS, установлен рекорд производительности файловой системы Энергонезависимая память Intel Optane (PMem) и решение Intel с открытым исходным кодом для распределенного асинхронного хранилища объектов (DAOS) установили новый мировой рекорд, возглавив рейтинг IO-500, формируемый сообществом Virtual Institute for I/O (VI4IO). Систем...

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

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

Как управлять состоянием в Angular по мере роста приложения Допустим, перед вами стоит задача написать фронтенд-приложение. Есть ТЗ с описанием функционала, тикеты в баг-трекере. Но выбор конкретной архитектуры лежит на вас. Порой трудно заранее понять, какая архитектура будет удачной, а какая нет. Особую сложность представляет орга...

HighLoad++, Михаил Макуров (Интерсвязь): опыт создания резервного и кластеризованного Zabbix-сервиса Zabbix — популярная открытая система мониторинга, используется большим количеством компаний. Я расскажу об опыте создания кластера мониторинга. В докладе я коротко упомяну о сделанных ранее правках (патчах), которые существенно расширяют возможности системы и готовят базу д...

Compositional Layout: стоит ли игра свеч? Всем привет! Меня зовут Алексей Скоробогатов, я ведущий iOS-разработчик в Delivery Club. Сегодня я хотел бы рассказать про вёрстку в нашем приложении на примере использования Compositional Layout. В конце прошлого года волевым решением iOS-команды и апрувом руководства мы ...

Смартфон Lenovo Legion 2 получит 130-Вт зарядку В базе данных сертификационного ведомства 3C обнаружились сведения о геймерском смартфоне Lenovo Legion 2, выход которого ожидается в ближайшее время. Регулятор подтвердил наличие двух версий зарядок с поддержкой 65 Вт. То есть, суммарная мощность проводной зарядки составит ...

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

[Перевод] 6 грехов, которые совершают программисты Эта статья — перевод с medium.com, в которой Daan, ее автор, предостерегает нас от неверных решений при выборе между скоростью и эффективностью в программировании. Фото с сайта Unsplash. Автор: Artem Sapegin Работа программиста неразрывно связана с необходимостью принимат...

Job — шаблон проектирования для новичков и опытных Go программистов Я начал программировать на Go после достаточно продолжительного периода программирования на PHP. Полагаю судя по последним тенденциям, мой случай далеко не единичный. Go в целом набирает популярность среди Web разработчиков. Читать далее

[Перевод] Несколько полезных советов как практиковаться в Python Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python. Введение Изучение Python не сильно отличается от изучения других языков программирования. Один путь для становления профессионалом в Python (или в д...

Google закрывает сервис обмена 3D-моделями Poly Компания Google снова показала, что слишком полагаться на ее сервисы не стоит. Поисковый гигант объявил, что закрывает Poly, библиотеку 3D-объектов и платформу для обмена ими, которая была запущена в 2017 году и, в первую очередь, нацелена на создателей VR и AR. Сервис ...

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

[Перевод] Три бага в драйвере Go для MySQL Так как нас не устраивала скорость и надежность исходной имплементации на Ruby, в последние несколько лет мы постепенно выводили критический функционал из нашего Rails-монолита GitHub.com и переписывали часть кода на Go. Например, на Github Satellite в прошлом году мы анонси...

Xiaomi выпустила вертикальный вентилятор MIJIA DC Inverter Tower Fan На краудфандинговой площадке Xiaomi появился новый вертикальный вентилятор MIJIA DC Inverter Tower Fan.Стоимость устройства на площадке коллективного финансирования составляет 299 юаней ($42), а в розницу устройство попадет по цене 349 юаней ($49).MIJIA DC Inverter Tower Fan...

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

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

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

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

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

Fluentd: почему важно настроить выходной буфер В наше время невозможно представить проект на базе Kubernetes без стека ELK, с помощью которого сохраняются логи как приложений, так и системных компонентов кластера. В своей практике мы используем стек EFK с Fluentd вместо Logstash. Fluentd — это современный универсальный ...

Samsung предлагает «примерить» новый телевизор к вашему интерьеру еще до покупки Компания Samsung Electronics представила мобильное приложение AR for Samsung TV, которое должно облегчить выбор нового телевизора и не только ознакомиться с его характеристиками, но и посмотреть, как он будет смотреться у вас дома. В приложении представлены телевизоры S...

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

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

28 мая на мобильных выйдет Poker Showdown: Wild West Tactics — микс из покера и ККИ Poker Showdown: Wild West Tactics — необычная игр от студии Tinker Troupe, в которой смешались элементы классического покера и коллекционных карточных игр. Она будет бесплатной и выйдет на iOS и Android 28 мая. Каждый ход в Poker Showdown состоит из трех фаз. В первой вы де...

[Из песочницы] Todolist на React Hooks + TypeScript: от сборки до тестирования Начиная с версии 16.9, в библиотеке React JS доступен новый функционал — хуки. Они дают возможность использовать состояние и другие функции React, освобождая от необходимости писать класс. Использование функциональных компонентов совместно с хуками позволяет разработать полн...

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

[Из песочницы] Знакомство с effector-dom на примере списка задач Многим уже известен стейт-менеджер effector, кто-то его уже не только смотрел, но и использует в проде. С конца осени его автор активно разрабатывает девтулзы для эффектора, и в процессе этой работы у него получилось написать очень интересную библиотеку для рендера приложени...

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

Временные ограничения для внешних интерфейсов ПЛИС Здравствуйте. В данной статье я хочу по возможности максимально просто и понятно рассказать о том, как рассчитываются временны́е ограничения (timing constraints) на синхронные интерфейсы ПЛИС. Просто — не значит коротко, но зато простыми словами, которые вы сможете легк...

[Перевод] Как защитить Python-приложения от внедрения вредоносных скриптов Python-приложения используют множество скриптов. Этим и пользуются злоумышленники, чтобы подложить нам «свинью» — туда, где мы меньше всего ожидаем её увидеть. Одним из достоинств Python считается простота использования: чтобы запустить скрипт, нужно просто сохранить его ...

В Австралии разработали «паучий Shazam» для распознавания ядовитых арахнидов Австралийский программисты Ник и Мюррей Скарcы разработали приложение Critterpedia для распознавания пауков. Об этом пишет Cnet. Сервис призван облегчить жизнь людей, которым сложно узнавать опасных арахнидов, которых в стране более 2 тысяч видов. Приложение работает на осно...

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

Проект Латте: стало известно, как Microsoft позволит Android-приложениям работать в Windows 10 На этой неделе стало известно о том, что Microsoft планирует реализовать возможность запуска Android-приложений в Windows 10. Теперь же сетевые источники говорят, что разработка программного решения, которое позволит переносить приложения для Android в Windows 10 практически...

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

[Из песочницы] Переключение шаблона страниц во vuejs Иногда в приложении требуется шаблоны для различных страниц, чтобы не копировать код от компонента к компоненту, мы прописываем шаблон в основном компоненте (он же, обычно, App.vue) и с помощью <router-view> подставляем в него различные вьюшки. Как мы видим, у различ...

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

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

Самый мощный, инновационный и холодный смартфон на Snapdragon 888 — это новый Lenovo Legion Чен Цзинь (Chen Jing), генеральный менеджер подразделения мобильных телефонов Lenovo в Китае, разместил в социальной Weibo информацию о новом игровом смартфоне, который будет построен на базе однокристальной системы Qualcomm Snapdragon 888. Он заявил, что новый телефон,...

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

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

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

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

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

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

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

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

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

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

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

[Перевод] 10 лучших игр по программированию, которые улучшат ваши навыки Вы помните далёкие дни из детства, когда вы, проводили целый день, а иногда даже не ели целый день, чтобы поиграть в игры на Nintendo? (Ах, дни Mario и Contra!!!)С того времени игры претерпели гигантские преобразования и сфера стала более обширной. Это уже не просто хобби. С...

Может ли Android-смартфон заменить ноутбук журналистам и авторам статей? Может ли смартфон заменить ноутбук? По правде говоря, я никогда и не рассчитывал на то, что с помощью смартфона смогу писать статьи, однако этот момент настал. Я попробовал, мне понравилось! Поэтому прямо сейчас я готов поделиться с вами опытом написания данной статьи с помо...

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

Что делать, если поймал HardFault? Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться. Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он...

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

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

Выходим на рынок Huawei, или Как мы адаптировали приложение для работы с HMS Привет, Хабр! Меня зовут Георгий Гигаури, я разрабатываю Android-приложение Delivery Club. Эта статья появилась после доклада на конференции Mobius 2020, где мы выступали вместе с Павлом Борзиковым. Для тех, кто любит видео, — ищите его в конце статьи. Почему мы вообще об...

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

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

Angular: Интеграционное тестирование (Shallow testing) Когда приложение разрастается или нам очень важно, чтобы оно работало верно при любом рефакторинге, мы начинаем задумываться о unit или e2e тестировании. За несколько лет работы с Angular — приложениями в корпоративном сегменте, поймав множество проблем при рефакторинге ...

Готовим Большую Фичу™ на Kotlin Multiplatform. Доклад Яндекса Предположим, вы решили внедрить Kotlin Multiplatform в свой проект, чтобы переиспользовать логику на iOS и Android. Рано или поздно вы захотите сделать Большую Фичу, которая будет включать в себя и сложную многопоточную логику, походы в сеть, кэширование. Каждый из этих этап...

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

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

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

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

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

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

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

Возможно ли собрать строительный 3D-принтер за 50 тысяч рублей? 
Ответ – да. На сегодняшний день применение 3D-принтеров в строительстве не только активно практикуется, но и само оборудование постоянно модернизируется. Модернизация требует исследования, а исследование невозможно без экспериментов. Именно поэтому я задумал этот проект, который, как мн...

Gmail как центр совместной работы Обновленная версия Gmail, унифицирующая доступ к видео, чатам и документам, может усилить интерес к G Suite, поскольку выглядит так же, как конкурирующие продукты Microsoft, Slack и пр. Компания Google представила обновленную версию Gmail, которая будет выступать в роли ц...

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

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

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

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

[Перевод] Путь к пониманию шаблонных литералов в JavaScript Спецификация ECMAScript, вышедшая в 2015 году (ES6), добавила в JavaScript новую возможность — шаблонные литералы (template literals). Шаблонные литералы дают нам новый механизм создания строковых значений. Этот механизм отличается множеством мощных возможностей, среди котор...

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

AMD ставит акцент на производительность Radeon RX 5500 XT в рекламе видеокарты На днях AMD представила свою более массовую видеокарту с 7-нм архитектурой RDNA — Radeon RX 5500 XT. Компания называет её конкурентом серии GeForce GTX 1650 SUPER и заменой уже порядком устаревшего ускорителя Radeon RX 480 (новая карта приносит рост и одновременное снижение ...

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

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

Ё-мобиль vs Tesla, Прохоров против Маска Сравнение может показаться не совсем корректным, действительно, и подход, и условия, и результат этих проектов совершенно различны. Разделены они также по времени старта. Но тем не менее, оба проекта были попыткой создать революционный автомобиль и основать с нуля новую авто...

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

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

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

Как построить надежное приложение на базе Event sourcing? Привет! В этой статье я хочу рассказать, как из модного микросервисного приложения можно сделать рабочую, управляемую систему с помощью трех проверенных годами методик: на примере проекта внутренней performance-based рекламы Joom. Читать дальше →

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

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

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

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

Замена лиц, смена пола, прически, макияж, коррекция фигуры, эффекты и маски на фото и видео для iPhone – 20 лучших приложений В последнее время набирают популярность приложения для мгновенной замены лиц на фото и видео. В App Store данный вид софта представлен многочисленными решениями от различных разработчиков и, чтобы хоть как-то ориентироваться во всём этом разнообразии, рассмотрим самые яркие ...

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

Google выпустила Sleep API для улучшенных возможностей отслеживания сна в Android Технология отслеживания сна и его различных параметров в последнее время стала довольно продвинутой с появлением смартфонов, умных часов и фитнес-трекеров.Компания Google представила новый API в Android, который позволит приложениям лучше распознавать, когда пользователь спи...

Google обновит приложение Gmail, чтобы обеспечить лучшую ... Google продолжают работать над своими приложениями – настала очередь Gmail.     Как бы удивительно это не звучало, но вот уже 14 лет Gmail является одним из самых популярных почтовых клиентов. Одним из самых больших плюсов Gmail является уровень безопасности...

Google обновит приложение Gmail, чтобы обеспечить лучшую ... Google продолжают работать над своими приложениями – настала очередь Gmail.     Как бы удивительно это не звучало, но вот уже 14 лет Gmail является одним из самых популярных почтовых клиентов. Одним из самых больших плюсов Gmail является уровень безопасности...

Смелый шаг, Samsung. Корейский производитель запустил сервис для «превращения» iPhone в смартфон с Android Компания Samsung представила веб-приложение iTest, которое позволяет ощутить на iPhone с платформой iOS от Apple на особенности смартфона с операционной системой Android и оболочкой One UI.  Чтобы воспользоваться iTest, необходимо просканировать QR-код с помощью с...

[Перевод] useSWR – моя новая любимая библиотека React Перевод статьи подготовлен в преддверии старта курса «React.js разработчик». Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управлени...

Apple выпустит Xcode для iPad вместе с iOS 14 iPad уже давно превратился из прикроватного гаджета для потребления контента в более или менее самостоятельный рабочий инструмент. Ну, или, по крайней мере, так считала Apple, которая долгое время была уверена, что достаточно дополнить планшет клавиатурой и стилусом, как он...

Браузер на страже API-запросов Команде разработчиков, создающей одностраничное приложение (SPA), рано или поздно придётся столкнуться с ограничениями браузерной безопасности. С одной стороны, нужно сделать так, чтобы фронтенд-сторона могла беспрепятственно общаться с бэкенд API-сервером, а с другой — защ...

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

Google наконец-то добавили возможность установить ... Чтобы догнать функциональность Zoom, Google только сейчас добавили возможность добавления кастомных фонов в сервис Google Meet.     После того, как пандемия разгорелась на весь мир, возможно, самый большой скачок популярности отметили различные сервисы видеозвонко...

CLI приложение + Dependency Injector — руководство по применению dependency injection + Вопросы / ответы Привет, Я создатель Dependency Injector. Это dependency injection фреймворк для Python. Это завершающее руководство по построению приложений с помощью Dependency Injector. Прошлые руководства рассказывают как построить веб-приложение на Flask, REST API на Aiohttp и монитор...

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

Dapp. Vue.js + ethers.js В этой статье я попытаюсь максимально кратко и информативно пройтись по всем пунктам создания создания полноценного Децентрализованного приложения в сети Ethereum используя JavaScript фреймворк - Vue для создания веб-приложения и библиотеку ethers.js для общения со смарт кон...

Расширяем Laravel за счет собственных компонентов Задача Добавить в приложение систему оповещения пользователей через СМС-сообщения с возможностью выбора провайдера. Решение Оптимальным решением, на мой взгляд, является добавление собственного компонента. Компонент — блок программы с четко определенным набором действий (ко...

[Перевод] Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама Хорошему программисту необходимо уметь совмещать свои навыки со здравым смыслом. Все дело в прагматизме и навыке выбора лучшего решения для вашей проблемы. Когда вы сталкиваетесь с проблемой при разработке ПО, вы можете воспользоваться базовыми принципами, которые помогут ...

[Из песочницы] Пишем простое веб-приложение используя Spring MVC, Spring Data JPA и Hibernate Привет, Хабр! Представляю Вашему вниманию перевод руководства «Spring MVC + Spring Data JPA + Hibernate — CRUD Example» автора Nam Ha Minh. В этом руководстве по Java Spring вы узнаете, как настроить Spring MVC приложение для работы с Spring Data JPA, разработав простое веб...

Представляем .NET 5 Preview 1 В конце прошлого года мы выпустили .NET Core 3.0 и 3.1. В этих версиях добавлены модели настольных приложений Windows Forms (WinForms) и WPF, ASP.NET Blazor для создания одностраничных приложений и gRPC для кроссплатформенного обмена сообщениями на основе контрактов. Мы такж...

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

nodejs: менеджеры процессов и ES6-модули В мире серверного JavaScript'а я — новичок с чистым, практически незамутнённым разумом. Поэтому когда я узнал о существовании менеджеров процессов, а конкретно — о pm2, то сразу же попробовал применить его для запуска какого-нибудь простейшего backend-сервиса на nodejs в цел...

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

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

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

[Перевод] Как заменить container runtime в Kubernetes Братцы! Скорее всего вы уже знаете, что Kubernetes отказался от поддержки Docker как container runtime в будующих версиях. В релизе 1.20, вышедшем в конце 2020 года Dockershim помечен как Depricated. В релизе 1.22, выход которого запланирован на конец 2021 года от его подде...

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

[Из песочницы] Сервисно-ориентированный state management c lamp-luwak Благодаря тому, что React предоставляет удивительные возможности по работе с отображением, можно сосредоточиться только на организации логики приложения и семантике кода, описывающего работу с данными. Т.е. выбирая state management библиотеку, происходит выбор стилистики буд...

[Из песочницы] Оптимальный путь новичка в мире C++/Qt Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, кот...

[Перевод] Бонус работы аналитиком данных: Как я нашел свой новый дом в Дублине Наш сегодняшний перевод посвящен Data Science. Аналитик данных из Дублина рассказал, как искал себе жилье на рынке с высоким спросом и низким предложением. Я всегда завидовал тем профессионалам, которые могут применить свои рабочие навыки в повседневной жизни. Взять к прим...

Microsoft анонсировала WinUI 3 Preview 1 Microsoft выпустила публичную версию WinUI 3 Preview 1 (библиотека для создания пользовательского интерфейса приложений). В компании утверждают, что это самая передовая разработка на данный момент. Она помогает использовать новые дизайнерские элементы в универсальных програ...

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

Достучаться до небес, или FSM на шаблонах Здравствуйте! Меня зовут Александр, я работаю инженером-программистом микроконтроллеров.Пишу на С/С++, причем предпочитаю плюсы, ибо верую в их эволюционную неизбежность в embedded. Мир встроенного ПО, язык С++ динамично развиваются, поэтому разработчикам важно не отставать ...

О работе ПК на примере Windows 10 и клавиатуры ч.2 В этой части мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до CPU, будет очень много картинок и это не последняя часть. Я буду рассказывать об этом с точки зрения программиста который пишет в режиме пользователя — пользовательские програмы, web...

Xiaomi полностью обновили дизайн своего приложения ... Xiaomi продолжают активную поддержку своих приложений – теперь обновился и известный Mi Home.     Новый дизайн Mi Home   Xiaomi - это не только смартфоны. Как мы все знаем, компания активно развивает свою «экосистему» - различные носимые ус...

Xiaomi полностью обновили дизайн своего приложения ... Xiaomi продолжают активную поддержку своих приложений – теперь обновился и известный Mi Home.     Новый дизайн Mi Home   Xiaomi - это не только смартфоны. Как мы все знаем, компания активно развивает свою «экосистему» - различные носимые ус...

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

Работать с Android-приложениями в Windows 10 станет намного удобнее. Но воспользоваться этим смогут не все Не так давно стандартное приложение Windows 10 под названием «Ваш Телефон» научилось отображать Android-программы с подключенного смартфона на экране ПК или ноутбука. А сейчас, как пишет источник и как это подтвердил инженер Microsoft, работа с Android-прило...

Приложение Google Translate скачали в Play Store более 1 миллиарда раз Практически все приложения и сервисы Google популярны в массах. Основная причина в том, что их можно использовать бесплатно. Но, прежде всего, они лучшие в своем сегменте. Именно поэтому Google Translate с момента своего создания является непревзойденным сервисом переводов.П...

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

Фитнес и Zoom на коне. Apple навала лучшие приложения для iPhone и iPad Компания Apple подвела итоги 2020 года для своего онлайн-магазина App Store, назвав лучшие игры и приложения для iPhone и iPad,  Apple Watch, Apple TV и Mac.  Приложением года для iPhone стало Wakeout! — быстрые и лёгкие упражнения для выполнения дома, ...

В Apple назвали условие, при котором Windows заработает на Mac с M1 Несмотря на то что компания Parallels уже работает над созданием ARM-совместимой версии приложения Parallels Desktop, которая бы позволила запускать Windows на Mac с процессорами M1, по умолчанию компьютеры Apple не поддерживают ОС от Microsoft. По неизвестной причине в Куп...

std::atomic. Модель памяти C++ в примерах Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс, join потока и другие. Особен...

[Перевод] Разрушаем мифы о производительности Android За прошедшие годы возникло немало мифов о производительности Android. Хотя некоторые мифы могут показаться занятными или забавными, пойти по ложному следу при создании эффективных приложений для Android — полная противоположность веселья.В этой статье мы собираемся проверить...

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

[Перевод] Как использовать шаблон Circuit Breaker в приложении Spring Boot В этом посте я покажу, как мы можем использовать шаблон Circuit Breaker в приложении Spring Boot. Когда я говорю «шаблон Circuit Breaker» имеется в виду архитектурный шаблон автоматического выключателя. Netflix опубликовал библиотеку Hysterix для работы с автоматич...

Почему много оперативной памяти — это хорошо Не так давно Samsung представила Galaxy S20, минимальная модификация которого оснащена 8 ГБ ОЗУ, а максимальная предлагает 16 гигабайт. Новый Xiaomi Mi 10 также предлагает 8 гигабайт оперативной памяти. Но зачем же смартфонам так много памяти? На этот вопрос я и попытаюсь о...

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

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

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

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

[Перевод] Технологии фронтенд-разработки, на которые вы, возможно, не обратили внимания «Хочешь жить — умей вертеться». Это — про работу фронтенд-программиста. Для того чтобы успешно справляться со своими обязанностями, такому специалисту приходится решать массу задач и необходимо обладать множеством способностей. Очень важно, кроме того, не забывать о главной ...

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

Книга «Паттерны Kubernetes: Шаблоны разработки собственных облачных приложений» Привет, Хаброжители! С развитием микросервисов и контейнеров изменились подходы к проектированию, созданию и запуску программного обеспечения. Познакомьтесь с новыми паттернами и принципами разработки, которые нужны для реализации облачных приложений в Kubernetes. Эта книг...

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

[Перевод] Как использовать HashiCorp Waypoint для совместной работы с GitLab CI/CD HashiCorp показала новый проект Waypoint на HashiCorp Digital. Он использует файл на основе HCL для описания сборки, поставки и выпуска приложений для различных облачных платформ, начиная от Kubernetes и заканчивая AWS и Google Cloud Run. Можно представить, что Waypoint — э...

SSO на микросервисной архитектуре. Используем Keycloak. Часть №1 В любой крупной компании, и X5 Retail Group не исключение, по мере развития возрастает количество проектов, где требуется авторизация пользователей. С течением времени требуется бесшовный переход пользователей из одного приложения в другой и тогда возникает необходимость исп...

Bison, dynamic linking и… обработка BMP изображений В этом посте я постараюсь раскрыть тему написания несложного модульного приложения на языке C89 для обработки 24-битных BMP изображений, использующего в своей работе простой скриптовый язык.Если вы заинтересованы в разработке языков или вам необходимо быстро разобраться как ...

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

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

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

[Перевод] Сравнение Blazor и JavaScript-инструментов В последние несколько лет JavaScript был самым популярным и распространённым языком для разработки одностраничных приложений (Single Page Application, SPA). Это так и сегодня. Но недавно Microsoft выпустила новый фреймворк, который называется Blazor. Он позволяет писать брау...

Мир без корутин. Костыли для программиста — asyncio 1. Введение Тот, кто научился летать, ползать уже не будет. Но не должно быть и высокомерия к тому, кто «летать не может» в принципе. И то и другое вполне норма. И то и другое уважаемо и почетно. Для человека — это, как выбор профессии: вы, условно, либо летчик, либо шофер. ...

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

Компания Apple выпустила бета-версию iOS 13.4 Компания Apple выпустила бета-версию iOS 13.4. В обновлений добавили новую функцию CarKey. Это функция CarKey, позволить использовать смартфоны iPhone и часы Apple Watch для разблокировки, блокировки и запуска автомобилей с помощью NFC модуля. Сопряжение с автомобилем буде...

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

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

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

Универсальный менеджер приложений (игр) Любителям Linux-like систем наверняка приходилось устанавливать приложения по найденным руководствам в сети. В итоге описание оказывалось устаревшим/нерабочим, и для получения конечного результата приходилось собирать по крупицам и сводить воедино сведения из различных источ...

Разработка Java-приложений для Kubernetes с использованием Eclipse JKube 25 лет назад Java пошла в широкие программистские массы, чтобы в итоге стать одним из тех стержней, вокруг которых строятся стеки приложений. Однако сегодня многие люди и организации, долгие годы хранившие верность Java, заняты тем, что переходят или думают переходить на пла...

Дополнительные компоненты для кроссплатформеннной библиотеки материального дизайна KivyMD Приветствую, уважаемые любители и знатоки Python! Если вы используете в своих приложениях Python и такие кроссплатформенные инструменты как фреймворк Kivy и библиотеку материального дизайна KivyMD, тогда вам точно будет интересно эта статья, в которой я расскажу о дополнит...

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

Книга «Система модулей Java» Привет, Хаброжители! Создать надежное и безопасное приложение гораздо проще, если упаковать код в аккуратные блоки. Система модулей в Java представляет собой языковой стандарт для создания таких блоков. Теперь вы можете контролировать взаимодействия различных JAR и легко об...

Гарнитура Google Glass Enterprise Edition 2 стала доступна для разработчиков Компания Google сделала гарнитуру дополненной реальности Google Glass Enterprise Edition 2 доступной для покупки разработчиками. Это произошло примерно через девять месяцев после того, как эта модель была представлена и стала доступна через партнеров Google, внедряющих ...

Surface Duo будет поддерживать все функции приложения «Ваш телефон» Microsoft подтвердила, что складной смартфон Surface Duo будет поддерживать все функции приложения «Ваш телефон», в том числе эксклюзивные возможности для устройств Samsung, такие как «Экран телефона». Проще говоря, Surface Duo будет поставляться с той же версией функции «С...

Huawei выпустила ПК-версии AppGallery, браузера и Huawei Cloud 17 января Huawei представила свои новейшие ноутбуки, MateBook X Pro, MateBook 13 и MateBook 14, которые оснащены процессорами Intel 11-го поколения, а также новым программным обеспечением. Вместе с ноутбуками Huawei также выпустила свои приложения для ПК, включая AppGal...

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

Google добавила поддержку работы Stadia через 4G и 5G сети. ... Интересные новости приходят из офиса Google. Снова мы будем кусать локти, ведь, как и многие проекты Google, этот сервис так и не может дойти до наших стран. Сервис облачного гейминга Stadia обзавелся крутой фичей – теперь к серверам можно подключаться не только по Wi-...

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

Моё знакомство с AppGallery: как я воспользовался возможностями Huawei и нашёл точку роста для своего проекта Привет, Хабр! Меня зовут Георгий, я менеджер проектов и гейм-дизайнер в компании Azur Games. Мир мобильных игр — это очень конкурентная среда: здесь важно регулярно включаться в освоение новых инструментов, чтобы продолжать наращивать свою аудиторию. Наша команда отслежива...

Pokedex-AR: покемоны в AR Pokedex-AR — небольшое демонстрационное приложение, показывающее основы AR, современный технический стек приложений для Android и архитектура MVVM. Этот проект ориентирован на ARCore и SceneForm, на получение данных из сети и интеграции сохраненных данных из базы с пом...

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

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

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

[Перевод] Как Gatsby обошёл Next.js Автор статьи, перевод которой мы сегодня публикуем, работает программистом в компании Antler. Эта компания представляет собой глобальный генератор стартапов. В Antler несколько раз в году проходят демонстрационные дни, собирающие множество создателей стартапов и инвесторов с...

[Перевод] Продуманные запросы: стратегии кэширования в век PWA Давным-давно мы, в деле кэширования, всецело полагались на браузеры. Разработчики в те дни почти никак не могли на это повлиять. Но потом появились прогрессивные веб-приложения (Progressive Web App, PWA), сервис-воркеры, API Cache. Внезапно случилось так, что в руках програм...

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

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

[Из песочницы] Composable Architecture — свежий взгляд на архитектуру приложения Сбалансированная архитектура мобильного приложения продлевает жизнь проекту и разработчикам. История Познакомьтесь с Алексом. Ему необходимо разработать приложение для составления списка покупок. Алекс опытный разработчик и первым делом формирует требования к продукту: Во...

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

[Из песочницы] Умеем ли мы готовить Java, Kotlin RestController? Практически любой программист на java в своей жизни писал RestController, но мало кто задумывается правильно ли он это делает. Даже если вы опытный программист, у вас могут возникнуть вопросы на которые я постараюсь ответить. В статье будут затронуты такие фреймворки как spr...

Пишем full stack монолит с помощью Angular Universal + NestJS + PostgreSQL Привет, Хабр! В этой статье мы создадим готовый шаблон-монолит, который можно брать за основу нового fullstack приложения как скелет для навешивания функционала. Эта статья будет полезна, если вы: Начинающий  fullstack-разработчик; Стартапер, который пишет MVP чтобы провери...

Автоматизация обслуживания клиентов: An End-To-End решение от DeepPavlov Сегодня мы все чаще используем приложения для обмена мгновенными сообщениями (Facebook Messenger, WhatsApp, Telegram и т. д.) и устройства в виде голосовых помощников (Amazon Echo и Google Home и т. д.), помогающих получать моментальный ответ на запрос. Поэтому современные к...

Создаем веб-приложение на Haskell с использованием Reflex. Часть 2 Часть 1. Всем привет! Продолжаем серию туториалов по разработке веб-приложения на Reflex. В этой части мы добавим возможность выполнять различные манипуляции со списком задач. Читать дальше →

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

[Перевод] Как сделать Data Science приложение для Windows (и не только) с графическим интерфейсом с помощью PySimpleGUI Работать с Data Science в Jupyter, конечно, очень приятно, но если вы хотите пойти дальше и развернуть свой проект или модель на облачном сервере, то здесь есть много отличных решений — с помощью Flask, Django или Streamlit. Хотя облачные решения по-прежнему самые популярные...

[Перевод] Headlamp — новый GUI для работы с Kubernetes Прим. перев.: месяц назад компания Kinvolk выпустила свой интерфейс для управления Kubernetes-кластерами. Новый Open Source-проект, пополнив уже немалочисленные ряды подобных решений, сочетает в себе классический подход к дизайну интерфейсов, возможность запуска локально и в...

Создаем graphql бекенд на Golang Сегодня мы будем разрабатывать приложение на Golang + GraphQL. Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с различными языками программирования: Javascript, Ruby и теперь руки дошли и до того чтобы попробовать связку Golang G...

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

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

Microsoft выпустила Project Reunion 0.5 с поддержкой WinUI 3 и WebView2 На прошлогодней конференции разработчиков Build 2020 Microsoft анонсировала проект Project Reunion, призванный не только объединить Universal Windows Platform (UWP) и Win32, но и отделить API-интерфейсы от операционной системы, для использования которых больше не будет треб...

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

Выпущена первая предварительная версия Microsoft Teams для Linux Microsoft объявила о выпуске публичной предварительной версии Microsoft Teams для операционной системы Linux. Пользователям на выбор предоставляются пакеты в форматах deb и rpm. Загрузить предварительную версию вы можете по этой ссылке. Microsoft Teams стало первым приложен...

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

[Из песочницы] Материальный Python. Что нового в библиотеке KivyMD Приветствую! Не так давно уже писали о Python в Mobile development и разработке мобильных приложений на Python с помощью библиотек Kivy и KivyMD. Эта статья продолжит знакомить вас с кроссплатформенными Python инструментами, а конкретно сегодня мы рассмотрим новинки, котор...

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

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

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

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

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

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

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

[Перевод] Разработка WebGPU-приложений WebGPU — это один из современных API, предназначенных для работы с компьютерной графикой. Среди других подобных API можно отметить Vulkan, DirectX 12 и Metal. То, что в сфере веб-графики появляются подобные решения, даёт пользователям веб-приложений те же возможности, которы...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

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

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

Создатель TikTok работает над собственным вариантом Clubhouse Как пишет источник со ссылкой на информационное агентство Reuters, компания ByteDance, известная своей социальной сетью TikTok, готовит аналог приложения Clubhouse. Reuters ссылается на свои источники, знакомые с ситуацией. Напомним, оригинальное приложение в Китае заб...

Можно ли запускать приложения для Android на Windows У вас когда-нибудь появлялась необходимость запустить Android-приложение на Windows? У меня, честно говоря, ни разу. Но ведь я совершенно не тяну на звание бенчмарка, и, если эта тема неактуальна для меня, совершенно не значит, что она неактуальна для других. Это ясно по по...

Windows vs Sysmon На последней конференции ZeroNights, в ходе неформального общения со своими коллегами по цеху — инженерами систем мониторинга, нам был задан простой на первый взгляд вопрос — распространено мнение, что для полноценного мониторинга эндпоинта с ОС Windows необходимо использов...

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

В Android 11 появится дополнительный экран блокировки для детей (или от детей?) Вторая версия Android 11 Developer Preview, которая предназначена для ознакомления разработчиков с новыми возможностями мобильной операционной системы Google, содержит намек на присутствует в Android дополнительного экрана блокировки. Источник пишет о том, что в исходно...

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

Sony обновили приложение PlayStation перед выходом консоли ... Японская компания решила выкатить большое обновление приложения PlayStation для Android и iOS.     Производители консолей в лице Sony и Microsoft решили «под шумок» обновить приложения, предназначенные для более удобного управления приставки с вашего м...

[Перевод] 10 полезных приёмов для JavaScript-программистов Как всем известно, JavaScript — это язык, который очень быстро развивается. В стандарте ES2020 имеется немало новых возможностей, с которыми вам, вероятно, захочется познакомиться поближе. Честно говоря, писать JS-код можно по-разному. Различные варианты кода, направленные н...

Не нужно делать из фреймворков культ — они не настолько сложны, чтобы делить людей на React и Angular разработчиков Недавно меня позвали гостем в «Тяжелое утро с Holy.js», чтобы хорошенько пропесочить за мою статью про глупцов-фронтендеров. Мы обстоятельно поговорили, и один из аргументов был такой — если наши js фреймворки жрут неоправданно много на простых задачах — просто не использу...

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

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

В Snapchat добавят возможность подмены лица нейросетью Американское издание TechCrunch опубликовало материал о тестировании приложением Snapchat новой функции под названием Cameo. Ее суть будет заключаться в создании пользователями коротких GIF-изображений со своими лицами, который приложение “вставит” в заранее подготовленные а...

Вы можете удалить все данные здоровья на iPhone. Как это сделать Приложение «Здоровье», предустановленное на всех современных устройствах iOS, отслеживает ваши шаги, питание, шум, частоту сердечных сокращений и многое другое. Однако при желании вы можете легко удалить все эти данные со своего iPhone или iPad в любое время. Большинство лю...

Приложения Android по-настоящему придут на Windows 10 Компания Microsoft может значительно плотнее подружить приложения Android и операционную систему Windows 10, чем это реализовано сейчас. О грядущих новшествах рассказал авторитетный журналист и редактор WindowsCentral Зак Боуден (Zac Bowden).  По сообщению Боудена...

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

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

Новая утечка подтверждает реальность проекта Project Latte Инсайдеры Windows, использующие предварительные сборки Windows 10, могут получить возможность запускать приложения Android изначально как часть «Project Latte». Согласно ссылкам, обнаруженным в частном документе, проект, по слухам, очевидно реален, и Microsoft хочет выпустит...

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

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

Шлюз для UDP между Wi-Fi и LoRa Делаем шлюз между Wi-Fi и LoRa для UDP У меня была детская мечта — выдать каждому бытовому «безВайФайному» устройству билет в сеть, т. е. IP-адрес и порт. Спустя какое-то время я понял, что не стоит откладывать. Надо взять и сделать. Техническое задание Сделать шлюзом M5Sta...

Портировать игры на DirectX 12 станет еще проще Компания Microsoft на прошлой неделе выложила в открытый доступ библиотеку D3D12 Translation Layer, которая должна упростить портирование игр на API DirectX 12. D3D12 Translation Layer – это одна из вспомогательных библиотек для переноса графических концептов и команд с API ...

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

Из-за удалёнки программисты Google стали хуже работать Журналисты узнали, что из-за перехода на удалённую работу у программистов Google упала средняя производительность труда. Причины тому — недостаток обучения новичков и даже проблемы с домашним интернетом.

[Перевод] Flutter.dev: Простое управление состоянием приложения Всем привет. В сентябре OTUS запускает новый курс «Flutter Mobile Developer». В преддверии старта курса мы традиционно подготовили для вас полезный перевод. Теперь, когда вы знаете о декларативном программировании пользовательского интерфейса и разнице между эфемерным сос...

Facebook Lite теперь поддерживает темную тему Компания Facebook добавили в свое приложение Facebook Lite режим Dark Mode. Темную тему добавили в стабильной версии приложения Facebook Lite. Активировать темную тему можно в настройке приложения. Но к сожалению, разработчики приложении Facebook Lite почему то не оптимизи...

[Перевод] О реализации библиотеки для глубокого обучения на Python Технологии глубокого обучения за короткий срок прошли большой путь развития — от простых нейронных сетей до достаточно сложных архитектур. Для поддержки быстрого распространения этих технологий были разработаны различные библиотеки и платформы глубокого обучения. Одна из осн...

Самая маленькая грядущая новинка Samsung позирует на изображениях в собственном фирменном приложении для iOS Беспроводные наушники Samsung Galaxy Buds+ должны быть представлены 11 февраля вместе с новыми смартфонами. У нас не было особых сомнений касательно их дизайна и названия, но сейчас всё окончательно прояснилось. Новинка засветилась в новом приложении Samsung для iOS, ...

iOS 14 может подсказать, насколько надежны ваши пароли на сайтах В дополнение к переработанному главному экрану с виджетами, библиотеке приложений и таким функциям, как CarKey, в iOS 14 и iPadOS 14 также появились важные усовершенствования в «Связке ключей» iCloud. Теперь в разделе «Пароли», помимо, собственно, самих паролей, есть отдель...

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

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

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

Как можно обучить детей программированию? Чем раньше ребенок начнет учиться программированию, тем лучше Apple, как известно, воспитывает программистов iOS еще на школьной скамье, в чем компании помогает приложение Swift Playgrounds. Как это происходит? Например, ученик хочет программировать дроны от Parrot или устро...

iOS 14 всего лишь копирует Android После выхода оболочки MIUI 12 на базе операционной системы Android 10 многие заговорили о том, что она стала очень похожа на iOS 13. Теперь же, после презентации iOS 14, заговорили о том, что Apple скопировала то, что давно есть в Android. Одним из основных моментов iOS...

Почему Flutter побеждает? Последний год я так или иначе пишу приложения на Flutter для iOS и Android. До этого у меня был и есть 5 летний опыт работы с Xamarin. Это были замечательные 5 лет. Благодаря Xamarin и моей любви к этому фреймворку я, в принципе, перешел в стан разработчиков, этот инструмент...

Тестирование android приложений с использованием selenoid. Поиск location в мобильном приложении с помощью Appium Предисловие из поста: Selenoid — это программа, которая позволяет управлять браузерами и Android-эмуляторами с помощью специальных драйверов. Умеет запускать каждый из них изолированно в Docker-контейнере. Основная идея Selenoid состоит в том, чтобы запускать новый контейнер...

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

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

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

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

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

[Перевод] Всё, что нужно знать о Progressive Web App (PWA) PWA — прогрессивные веб-приложения. Предупреждение. Эта статья не проспонсирована PWA. Все взгляды и мнения в статье принадлежат только её автору. Progressive Web App или PWA — лучший способ для разработчиков заставить свои веб-приложения загружаться быстрее и быть более...

Utrace Analytics поможет фармпроизводителям анализировать данные из ИС МДЛП Компания Utrace вывела на российский рынок свое новое решение для фармпроизводителей — облачную аналитическую платформу Utrace Analytics. Решение собирает данные из трех источников: системы L4, ИС МДЛП и различных корпоративных бизнес-приложений ...

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

Материальный дизайн. Создание анимаций в Kivy Приветствую всех любителей и знатоков языка программирования Python! В этой статье я покажу, как работать с анимациями в кроссплатформенном фреймворке Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. Мы рассмотрим структуру Kivy проекта, использован...

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

Язык программирования karasic Привет, друг. Как известно, каждый уважаемый кодер рано или поздно пишет свой логер, парсер json и язык программирования. Поскольку первое и второе мы уже написали, то нам ничего не остаётся, как представить наши наработки по новому инновационному языку программирования kara...

За семью замками. Защищаем приложение для Android от отладчиков, эмуляторов и Frida Для подписчиковКогда задумываешься о защите приложения от реверса, в первую очередь на ум приходят такие слова, как обфускация и шифрование. Но это только часть решения проблемы. Вторая половина — это детект и защита от самих инструментов реверса: отладчиков, эмуляторов, Fri...

[Перевод] Нагрузочное тестирование выполнять сложно, а инструменты далеки от совершенства. Почему? Если вы создаёте приложение, которое должно масштабироваться — а все мы надеемся, что наши приложения будут расти — то в определённый момент нам приходится разбираться, может ли оно это делать на самом деле. Именно тогда на помощь приходит нагрузочное тестирование: если вы...

Panasonic представил комплексное решение TOUGHBOOK Omnia для ускоренной разработки бизнес-приложений Компания Panasonic представила комплексное решение TOUGHBOOK Omnia на базе языка программирования MCL для ускоренной разработки программного обеспечения. Решение позволяет пользователям Panasonic TOUGHBOOK эффективно управлять проектами цифровой трансформации и сократить вр...

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

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

Сервис на языке Dart: введение, инфраструктура бэкэнд Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL. 2.3. Серверное приложение на Dart. … 3. Web 3.1. Заглушка «Under construction» … 4. Mobile … Введение Меня, Flutter-разработч...

[Перевод] Анализ графики Red Dead Redemption 2 Одна из моих любимейших игр, Red Dead Redemption, в 2018 году вернулась с приквелом для консолей. В 2019 году её выпустили для PC, и мне наконец удалось поиграть в неё; меня сразу же поразила её графика. Однако я расстроился: мне едва удавалось играть при средних настройках ...

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

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

Парсер командной строки на .NET5 Сегодня мы собираемся показать вам, как начать парсинг аргументов командной строки. Кстати, это один пост из серии статей о .NET 5. У нас есть еще много интересного.Приложения командной строки, также известные как консольные приложения, - это программы, созданные для использ...

MyCompany — бесплатное и открытое решение для небольшого бизнеса Около года назад мы выпустили открытую и бесплатную платформу для разработки бизнес-приложений lsFusion. В первую очередь, мы ориентировались на разработчиков, которые могут на ней быстро и легко создавать различные информационные системы. Тем не менее, разработка “с нуля”...

В Windows 10 могут произойти большие изменения с Project Reunion Microsoft впервые анонсировала Project Reunion на своей конференции разработчиков Build 2020, и это может стать лучшей попыткой компании улучшить работу нативных приложений в Windows 10, преодолев разрыв между двумя основными платформами разработки приложений – UWP и Win32. ...

Как мы в андроид приложение inDriver добавили поддержку Harmony OS Все началось с того, что министерство торговли США включило Huawei в список компаний, с которыми запрещено вести бизнес американским компаниям. Ответом Huawei стала операционная система Harmony OS для своих смартфонов, и отказ использовать в ней сервисы Google. И чтобы не по...

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

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

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

TikTok все-таки следил за пользователями Если вы пропустили, в начале августа этого года президент США Дональд Трамп объявил, что власти США заблокируют доступ к китайской соцсети TikTok 15 сентября, если ее американское подразделение не будет приобретено американской компанией.     Главной причиной тако...

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

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

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

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

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

Создатель Pebble готовит единый супер-мессенджер в котором будет даже iMessage Сейчас, когда все общение людей постепенно переместилось в мессенджеры, выход какого-то нового из них просто не может не вызвать большого интереса. Telegram, WhatsApp, Signal, Viber и другие давно и основательно ”окопались” в наших смартфонах. Правда, иногда бывают ситуации...

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

В Windows 10 появится возможность запускать GUI приложения для Linux (с аппаратным ускорением!) Microsoft продолжает активно развивать оболочку Windows Subsystem for Linux (WSL). В рамках конференции Build 2020 компания Microsoft анонсировала следующий шаг — поддержка приложений GUI наряду с аппаратным ускорением. То есть, да, в обозримом будущем в Windows 10 наряду с ...

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

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

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

Новые приложения от Google помогут проводить меньше времени в смартфоне Google выпустил три новых приложения, которые призваны помочь пользователям проводить меньше времени в смартфоне. В их числе – Envelope, Screen Stopwatch и Activity Bubbles. Все три приложения запущены в рамках проекта Digital Wellbeing Experiments. Каждое из них исполь...

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

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

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

Базы данных. Тенденции общемировые и в России Эта статья не является ответом на множество вопросов по базам данных (БД) и системам управлениям базами данных (СУБД). Я как автор выражаю своё собственное мнение о  трендах, стараясь опираться на беспристрастные показатели, статистики и т.д., но для примера приводя со...

Как мы автоматизировали разработку WL-приложений White Label — это мобильные приложения, которые можно кастомизировать под любой бренд: оформить в фирменных цветах, выбрать необходимые блоки и функционал, добавить описание. Мы их выпускаем на основе Рамблер/кассы с 2015 года и в этой статье хотим рассказать, как у нас полу...

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

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

В Tarantool можно совместить супербыструю базу данных и приложение для работы с ними. Вот как просто это делается Пять лет назад я попробовал работать с Tarantool, но тогда он мне не зашел. Но недавно я проводил вебинар, где рассказывал про Hadoop, про то, как работает MapReduce. Там мне задали вопрос — «А почему под эту задачу не использовать Tarantool?». Ради любопытства я решил верн...

Портирование приложений с QWidget на QML под Desktop Привет, Хабровчане! Последнее время часто встречаю проекты для desktop, которые необходимо портировать с QWidget на QML. Кто-то хочет написать с нуля, кто-то перенести старые наработки. В любом из сценариев это популяризация QML, чему я очень рад. Я решил тоже побыть полез...

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптими...

Разработка мобильных приложений на Python. Библиотека KivyMD Приветствую! Сегодня речь снова пойдет о библиотеке KivyMD — наборе виджетов для кроссплатформенной разработки на Python в стиле Material Design. В этой статье я сделаю не обзор виджетов KivyMD, как в недавней статье, а, скорее, это будет материал больше о позиционировании...

Google научит свою перспективную ОС Fuchsia запускать приложения для Android и Linux в нативном режиме В течение многих лет Google занимается разработкой перспективной операционной системы Fuchsia. Одной из главных её особенностей является то, что Fuchsia является самостоятельной разработкой и не основана на Linux, как можно было бы предположить. Теперь стало известно, что но...

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

Windows 10 Build 19564 доступна для скачивания Компания Microsoft выпускает новую сборку Windows 10 под номером 19564. Данная сборка имеет 2 отличительных изменения. Во-первых, в параметрах Настроек графики появилось больше приложений для выбора использования предпочтительного ГПУ, а также появился фильтр самих приложени...

Книга «Swift. Основы разработки приложений под iOS, iPadOS и macOS. 6-е изд. дополненное и переработанное» Привет, Хаброжители! Язык Swift прост, понятен и отлично подойдет как новичкам, так и опытным программистам. Чтобы начать писать код, вам потребуются только эта книга, компьютер и желание учиться. Все базовые концепции программирования и основы синтаксиса объясняются доступ...

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

Приложение Project Newsbar обнаружено в Microsoft Store Известный инсайдер WalkingCat обнаружил в магазине приложений Microsoft Store новое приложение под названием Project Newsbar с логотипом от сервиса Microsoft News. После установки приложения пользователи обнаружат панель со списком актуальных новостей, которая может распола...

Пэнос Панай: Microsoft помогает компаниям портировать приложения на ARM Накануне Qualcomm анонсировала обновлённую вычислительную платформу Snapdragon 8cx Gen 2 5G, являющуюся эволюцией Snapdragon 8cx. На этой презентации также присутствовал Пэнос Панай, который рассказал о партнёрстве Microsoft и Qualcomm при создании Surface Duo и различных у...

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

[Из песочницы] Путь в программисты (С++) Привет. С вами я. Мне нравилось боксировать и бегать на дальние дистанции, и думал я только о спорте, но выучился на моряка. Работал в авиации, а стал программистом С++ в 29. Расскажу, как так получилось. О программировании к октябрю 2017 я знал ровно столько, сколько сейча...

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

Apache Kafka как основа для велосипедостроения. Николай Сивко (okmeter.io) Рано или поздно в нагруженном проекте возникает потребность в какой-то специализированной базе данных, кэше или ином хранилище. Причина такой потребности, как правило, погоня за производительностью, низким временем отклика или эффективностью хранения данных. В своем докладе...

Tips & tricks в работе с Ceph в нагруженных проектах Используя Ceph как сетевое хранилище в разных по нагруженности проектах, мы можем столкнуться с различными задачами, которые с первого взгляда не кажутся простыми или тривиальными. Например: миграция данных из старого Ceph в новый с частичным использованием предыдущих с...

Масштабируем WebSocket соединения на Go Мессенджер Авито – это: 12 m уникальных пользователей в месяц; Версии для всех современных платформ (Web, iOS, Android); Достаточно нагруженное приложение – около 800 тысяч подключений онлайн по WebSocket (основной протокол общения с пользователями). Александр Емелин из ко...

Тестирование StoreKit в Xcode 12 и iOS 14 Привет, Хабр! Меня зовут Сэм, я разработчик в сервисе Qonversion. В этой статье описаны новые возможности для тестирования подписок, представленные Apple во время сессии Introducing StoreKit Testing in Xcode на WWDC 2020. Рынок подписок в мобильных приложениях быстро растет,...

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

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

Приложение для водителей TomTom GO Navigation теперь доступно в Huawei AppGallery Huawei объявляет о запуске приложения TomTom GO Navigation в фирменном магазине приложений AppGallery. Приложением можно бесплатно пользоваться в течение 30 дней без каких-либо обязательств.

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

Параметризованное 3D-моделирование подшипникового стакана в nanoCAD Plus 20 Компания MaxSoft категорически приветствует всех читателей! В этой статье речь пойдет о САПР-платформе nanoCAD, а если конкретнее — о её 3D модуле. Так уж сложилось, что из релиза в релиз, все вертикальные решения на базе платформы nanoCAD, ровно как и сама платформа, обяза...

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

Локализация приложений — 10 главных языков Полезно почитать перед запуском приложения на нескольких языках. Статья основана на статистике рынка приложений и конкретных примерах локализации.

[Перевод] Подмена DLL (DLL hijacking) Всем привет. Прямо сейчас в OTUS открыт набор на апрельский запуск обновленного курса «Реверс-инжиниринг». В преддверии старта курса мы традиционно подготовили перевод интересного материала. В операционной системе Windows приложения и службы при запуске ищут DLL, необходим...

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

[Из песочницы] Как собирать проекты в Jenkins, если нужно много разных окружений На Хабре много статей о Jenkins, но мало где описывается пример работы Jenkins и докер агентов. Все популярные инструменты сборки проектов типа Drone.io, Bitbucket Pipeline, GitLab, GitHub actions и другие, могут собирать все в контейнерах. Но как же Jenkins? На сегодняшний...

Как пользоваться приложением Фото на Mac (macOS): как накладывать фильтры и редактировать изображения В последних версиях macOS Apple провела основательную работу над приложением «Фото», теперь в программе появились и расширенные возможности редактирования. Если вы давно не использовали данное приложение, самое время ознакомиться с ним заново. ♥ ПО ТЕМЕ: Как добавлять назван...

VirtualBox — Запуск Android эмулятора в виртуальной среде для тестирования Android проекта В данной статье я постараюсь описать пример инфраструктуры для автотестов Android приложений (mobile automation), а именно, среду для проведения тестранов UI автотестов на эмуляторе Android девайса в виртуальной среде. Читать далее

HowToCode — Адаптация системного подхода к разработке для React и TypeScript Наверное, каждый программист рано или поздно начинает задумываться о качестве своего кода. И, скорее всего, я не ошибусь, если скажу, что добрая половина разработчиков им вечно недовольна. Мне мой код тоже нравился редко: функции, казалось, можно было бы делать и покороче, л...

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

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

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

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

Application performance management (APM) от Broadcom для мониторинга производительности приложений (включая мобильные) Всем привет! В этой статье расскажем о возможностях мониторинга производительности приложений одного из лидеров квадранта Gartner c APM-решениями — Broadcom. Appdynamics, Dynatrace и New Relic достаточно известны на российском рынке. Broadcom чуть менее знаком, этакая се...

Выбрана СЭД для российских госорганов Как выяснил CNews, "Хоулмонт" стала победителем тематического тендера подведомственного Минкомсвязи НИИ "Восход", который занимается созданием платформы юридически значимого электронного документооборота (ЮЗЭДО).Эти работы "Восход" ведет в рамка...

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

Живая экосистема hOn SMART HOME для ваших устройств Компания Haier Europe разработала интегрированное цифровое решение hOn SMART HOME. Напомним, что приложение hOn SMART HOME завоевало награду Red Dot 2020. Награда считается самой известной и важной премией в области дизайна. Возможности приложения hOn Приложение предлаг...

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

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

Уже 500 млн загрузок. Популярность Android Auto растет устрашающими темпами Как стало известно, популярное приложение Android Auto уже скачали из официального магазина Google Play более 500 миллионов раз. Приложение имеет рейтинг 4,2/5 на основании отзывов более миллиона пользователей. Стоит отметить, что в январе этого года приложение Android ...

Приложение Apple TV теперь доступно на некоторых телевизорах LG 2019 года LG объявила о том, что приложение Apple TV и сопутствующий потоковый сервис «Apple TV» + теперь доступны на некоторых телевизорах LG 2019 года в США и более чем в 80 других странах. Добавление приложения «Apple TV» в линейку телевизоров LG 2019 года следует за дебютом CES но...

Почему приложение запрашивает разрешение на поиск устройств в локальной сети в iOS 14 В iOS 14 Apple серьезно пересмотрела подход к конфиденциальности пользователей. Мало того, что компания добавила в обновление продвинутые возможности Safari для предотвращения отслеживания хакерами и рекламодателями, так теперь iPhone или iPad показывает оранжевую или зелен...

Приложение Яндекса научилось сравнивать цены на разных заправках Яндекс обновил дизайн своего приложения Яндекс.Заправки. Но вместе с внешними изменениями, компания также представила и «внутренние» нововведения. Так, например, теперь приложение умеет находить АЗС по маршруту, а также сравнить между ними цены на бензин.

Microsoft анонсировала октябрьский пакет обновлений для OneDrive Компания Microsoft анонсировала декабрьский пакет обновлений для OneDrive. [Создание общей библиотеки в OneDrive в Интернете OneDrive подключает вас ко всем вашим файлам - будь то индивидуальные рабочие файлы или общие командные файлы. Microsoft обновляет существующий опыт с...

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

Новая MIUI 12.5: все изменения и поддерживаемые смартфоны объявлены официально MIUI, одна из самых популярных мобильных операционных систем в мире, является фаворитом Xiaomi. Хотя новости о MIUI 13 появились недавно, о MIUI 12 не забыли. Согласно сделанному сегодня заявлению, Xiaomi разрабатывает MIUI 12.5. Это обновление включает в себя основные иннов...

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

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

[Из песочницы] Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1 Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm...

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

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

Полноценная поддержка Android-приложений в Windows 10 может появиться уже в этом году После того, как Microsoft отменила так называемый проект Astoria, компания принялась искать иные варианты реализации поддержки Android-приложений в Windows 10. Дальше всего в этом плане Microsoft продвинулась с Samsung – но «стриминг» запущенных на сма...

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

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

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

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

Установка простого приложения (например Superset) в microk8s используя metallb и helm Snaps являются кросс-дистрибутивными, независимыми и простыми в установке приложениями, упакованными со всеми их зависимостями для запуска во всех основных дистрибутивах Linux. Snaps безопасны — они ограничены и не ставят под угрозу всю систему. Они работают под разными уров...

Apple закрывает Music Memos и выпустила для него финальное обновление Компания Apple начала извещать пользователей о грядущем закрытии приложения Music Memos.  Приложение предназначено, чтобы легко записывать и собирать свои музыкальные идеи с помощью iPhone, iPad или iPod touch. Этакий «заметочник» для музыкантов, функц...

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

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

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

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

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

Сборка приложения среды arduino средствами CI github Немного имея по работе дело с CI/CD (gitlab ce), не так давно на github наткнулся на actions, и решил попробовать, что же это за зверь такой. Собирать JS или какие то другие решения не очень интересно было, поэтому решил протестировать сборку Arduino скетча для esp8266, ...

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

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

В Windows 10 снова были замечены вкладки в Проводнике Еще в 2018 году Microsoft анонсировала новую функцию Windows 10 под названием «Sets» (Наборы), которая стирает грань между настольными приложениями и веб-страницами. Наборы – это вкладки для Проводника, Office и любого другого приложения в Windows 10, поэтому вы можете быстр...

[Перевод] «Студийные» приложения Netflix на Android и iOS теперь с Kotlin Multiplatform Примечание от переводчика: при словах «мобильные приложения Netflix» вспоминаются их основные приложения для просмотра видеоконтента, но компания ведёт и «киностудийную» разработку — для тех, кто этот контент создаёт. И их пост посвящён использованию Kotlin Multiplatform во ...

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

Пользователи добавили в приложение «Кошелёк» 150 миллионов карт Команда приложения «Кошелёк» разделила все добавленные в приложение карты на группы и изучила их популярность в различных регионах России. Результаты исследования — в инфографике.

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

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

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

SanDisk выпускает свой первый флеш-накопитель «2-в-1» для передачи данных между iPhone и устройствами с USB-C Ориентируясь на пользователей, которым необходимо простое решение для обмена контентом между смартфонами iPhone, планшетами iPad Pro, компьютерами Mac и другими устройствами с интерфейсами Lightning и USB Type-C, включая смартфоны с ОС Android, компания Western Digital ...

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

Google Drive for Desktop заменит приложения Backup & Sync и Drive File Stream Google рассказала о некоторых изменениях, которые коснутся ее приложений для облачного хранилища на PC. На данный момент компания предлагает два решения для пользователей Google Drive: Drive File Stream, которое предназначено для бизнес-клиентов, и Backup & Sync для личн...

Программист смог запустить сервер MineCraft на фотоаппарате В этом ему помогло приложение Canon Magic Lantern и ещё некоторые файлы.

Layout Framework Benchmark: сравнительное тестирование Swift-фреймворков Выбор правильной фреймворка для создания экранов в приложении — важное решение. Layout Framework Benchmark — сравнительное тестирование 8 фреймворков и подходов к размещению элементов. Описание: https://github.com/layoutBox/LayoutFrameworkBenchmark

Microsoft выпустила Windows Community Toolkit 7.0 Еще в 2016 году Microsoft анонсировала UWP Community Toolkit, проект, который позволяет разработчикам сотрудничать и вносить новые возможности поверх Windows 10 SDK. Это упрощает некоторые задачи, которые разработчики должны выполнять при создании приложений UWP и .NET. Micr...

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

Что можно положить в механизм Dependency Injection в Angular? Почти каждый разработчик на Angular может найти в Dependency Injection решение своей проблемы. Это хорошо было видно в комментариях к моей прошлой статье. Люди рассматривали различные варианты работы с данными из DI, сравнивали их удобство для той или иной ситуации. Это здор...

Обязательно ли назначать на должность Тимлида Старшего разработчика? Введение. В данной статье был проведен анализ рынка тимлидов и он показывает, что 63% компании закрывают позицию на должность тимлида внутренними сотрудниками, а 23% компании закрывают как внутренними, так и внешними сотрудниками. Часто встречал такую картину, когда старшего...

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

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

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

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

Apple выпустит новое приложение для Windows 10: что это будет? Летом 2019 года Apple пошла на довольно неожиданный шаг и отказалась от поддержки приложения iTunes. Это произошло после выхода беты macOS Catalina, где функции iTunes взял на себя Finder. Однако если на Mac онлайн-магазин с музыкой и фильмами, а также её ключевые функции к...

Microsoft прекращает тестирование Project xCloud на iOS Как уже сообщалось ранее, облачный сервис потоковой передачи игр Project xCloud станет частью подписки Xbox Game Pass Ultimate уже 15 сентября 2020 года. Это можно считать полноценным запуском сервиса, правда воспользоваться им пока смогут только обладатели Android-смартфон...

[Перевод] Лучшие методики журналирования enterprise-приложений (с точки зрения инженера поддержки) Журналы приложений раскрывают информацию о внешних и внутренних событиях, которые видит приложение в ходе исполнения. Когда при деплое возникает баг, взлом или аномалия, журналы — самое полезное и надёжное доказательство для проведения анализа причин инцидента. Давайте раз...

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

Пишем telegram бота на языке R (часть 4): Построение последовательного, логического диалога с ботом Если вы уже ознакомились с предыдущими тремя статьями из данной серии, то вы уже умеете писать полноценных telegram ботов с клавиатурой. В этой статье мы с вами научимся писать бота, который будет поддерживать последовательный диалог. Т.е. бот будет задавать вам вопросы, и ...

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

Программист должен решать проблемы бизнеса Недавно вышла статья, мимо которой я не мог пройти — "Программист не должен решать задачи бизнеса". Неожиданно мой комментарий вырос до мини-статьи. Я не согласен с мнением автора статьи, все сказано ниже ИМХО, с удовольствием подискутирую в комментариях. Сразу за...

Microsoft обновила Xbox для iPhone и Android Компания Microsoft выпустила обновление мобильного приложения Xbox для устройств на основе Android, а также iPhone и iPad.  Обновление приносит несколько интересных новшеств, которые порадуют пользователей. Во-первых, появились настраиваемые картинки игроков. Поль...

Памятка: как написать историю успеха, или кейс, для Теплицы Ваша команда запустила новый успешный проект или начала использовать технологии в своей работе, чтобы привлекать сторонников и решать социальные задачи? Поделитесь своим опытом с Теплицей социальных технологий. Мы всегда готовы рассказать об историях успеха (или неудачах), ...

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

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

Intel сравнила APU Ryzen 7 3700U со своими CPU Core i7-10710U и Core i7-1065G7. Догадайтесь, кто победил? Вместе с формальным анонсом процессоров Comet Lake-H, компания Intel сегодня опубликовала порцию исследовательских данных, призванных в очередной раз убедить пользователей в том, что APU AMD сильно проигрывают фирменным CPU Intel в производительности. И опубликованные д...

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

В macOS Big Sur 11.2 Apple ограничит запуск iOS приложений на компьютерах с чипом M1 Сегодня Apple выпустила вторую тестовую сборку macOS Big Sur 11.2, в которой были исправлены ошибки прошлых релизов. Однако вместе с этим разработчики обнаружили в бета-версии macOS Big Sur 11.2 упоминание новой функции, которая запрещает установку iOS-приложений на Mac с M1...

[Из песочницы] Apache Kafka Описание одной борьбы (Денис-Карасик) Предлагаю ознакомиться с расшифровкой доклада Дениса Карасик "Кафка. Описание одной борьбы" Apache Kafka часто преподносится как серебряная пуля: стоит только начать ее использовать, как все проблемы решатся сами собой, дыхание станет свежим, а волосы мягкими и шел...

Go-swagger как основа взаимодействия микросервисов Здравствуй, NickName! Если ты программист и работаешь с микросервисной архитектурой, то представь, что тебе нужно настроить взаимодействие твоего сервиса А с каким-то новым и ещё неизвестным тебе сервисом Б. Что ты будешь делать в первую очередь? Если задать такой вопрос ...

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

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

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