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

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

[Перевод] Современное окружение для React Native приложений В этой статье мы рассмотрим настройку React Native окружения с использованием expo-cli, Typescript, и Jest. Typescript поможет нам избежать ошибок при разработке и написать более эффективное мобильное приложение. Современные разработки позволяют интегрировать Typescript в ...

[Из песочницы] Процесс компиляции программ на C++ Цель данной статьи: В данной статье я хочу рассказать о том, как происходит компиляция программ, написанных на языке C++, и описать каждый этап компиляции. Я не преследую цель рассказать обо всем подробно в деталях, а только дать общее видение. Также данная статья — это необ...

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

Локализация приложения и поддержка RTL. Доклад Яндекс.Такси При локализации сервиса важно внимательно отнестись к согласованию переводов между собой. Руководитель группы клиентской Android-разработки Яндекс.Такси Александр Бонель рассказал, какие практики и инструменты упрощают локализацию. Во второй части доклада Саша поделился опыт...

Подключение Micrometer для веб-приложения на Java Micrometer используется для сбора метрик приложения JVM и позволяет экспортировать данные в различные системы мониторинга. В этой статье я расскажу, как подключить Micrometer для spring web приложения и экспортировать данные в Prometheus (хороший пост о нем). Так как мое при...

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

Emoji в интерфейсе iOS приложения и требования Apple С удивлением не обнаружил в выдаче поиска по Хабру публикаций по проблеме использования emoji в интерфейсе приложений публикуемых в App Store благословенной Apple. Так что заранее извиняюсь если всё-таки повтор. Суть проблемы в том что Apple запрещает использование emoji ...

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

[Перевод] Разработка приложения для потокового вещания с помощью Node.js и React Автор материала, перевод которого мы сегодня публикуем, говорит, что работает над приложением, которое позволяет организовывать потоковое вещание (стриминг) того, что происходит на рабочем столе пользователя. Приложение принимает от стримера поток в формате RTMP и преобра...

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

[Из песочницы] Web MVC приложение без фреймворков и сервлетов Напишем небольшое веб приложение, без использование Web-фреймворков, внешних библиотек, и сервера приложений. Цель данной статьи показать общую суть происходящего под капотом веб-сервиса, на примере Java. Итак, поехали. Мы не должны использовать сторонние библиотеки, а так...

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

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

[Перевод] Реализуем UI в iOS: улучшаем, ускоряем, масштабируем Привет! Меня зовут Азат Зулькарняев, я занимаюсь разработкой iOS-приложений в компании Badoo. При создании мобильных приложений большая часть времени уходит на разработку UI, и оптимизация этого процесса всегда является актуальной темой в среде разработчиков. Мой коллега А...

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть ин...

[Из песочницы] Руководство по организации архитектуры Android приложения Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по переводу прошу оставлять в комментариях, и они будут исправлены. Так же для всех будут полезны комментарии от тех кто ис...

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

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 1 В этой статье я разберу использование утилиты Liquibase в Spring Boot приложениях для версионирования структуры реляционной БД и миграции этой структуры с одной версии на другую. В первой части разберем базовый пример, а во второй поговорим об использовании liquibase-mave-pl...

Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit. В данной статье я опишу как ...

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

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

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую ...

Распознавание объектов в режиме реального времени на iOS с помощью YOLOv3 Всем привет! В данной статье мы напишем небольшую программу для решения задачи детектирования и распознавания объектов (object detection) в режиме реального времени. Программа будет написана на языке программирования Swift под платформу iOS. Для детектирования объектов буд...

[Из песочницы] Антипаттерны в React или вредные советы новичкам Привет, Хабр. Ровно год прошел с момента, как я начал изучать React. За это время я успел выпустить несколько небольших мобильных приложений, написанных на React Native, и поучаствовать в разработке web-приложения с использованием ReactJS. Подводя итог и оглядываясь назад н...

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

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

Microsoft расширяет возможности приложения «Ваш телефон» Недавно мы писали о новой важной функции, появившейся в приложении Microsoft «Your Phone». Эта новая функция называется «Экран телефона», которая перенесет экран вашего телефона в приложение «Ваш телефон», и позволяет вам контролировать все ваши мобильные приложения с вашего...

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

Управляем android устройством Это уже третья попытка подружить умный дом с android, напомню, что первая попытка контролировать android устройства посредством HTTP, была с помощью приложения Paw Server. Данное приложение позволяло с помощью языка BeanShell встраивать свой код в xhtml страницу и взаимоде...

Работаем с USB Custom HID на Android В современных Android — приложениях для взаимодействия с другими устройствами чаще всего используются беспроводные протоколы передачи данных, как например Bluetooth. В годы, когда часть устройств имеют беспроводную зарядку, сложно представить себе связку Android устройства ...

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

Как быстро написать веб-сайт или веб-приложение и не увязнуть в сборщиках Это маленькое руководство описывает создание реактивного веб-приложения используя отрисовку на стороне сервера (Server-Side Rendering, SSR). Клиентская часть являет собой полноценное Vue-приложение, в моём случае используя шаблон MVVM. Серверное приложение работает на микроф...

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

Follow the money: как группировка RTM стала прятать адреса C&C-серверов в криптокошельке Группировка киберпреступников RTM похищает деньги у банковских клиентов с 2015 г. Большинство ее жертв — российские компании. Вредоносное ПО, которое используют злоумышленники, в ИБ-сообществе так же принято называть RTM. Об этой программе написано довольно много технических...

Напоминания на iPhone и iPad: полезные советы по использованию приложения Системное iOS-приложение Напоминания – одна из лучших (если не самая лучшая) программ, написанных программистами Apple. В статье мы расскажем, как выжать из Напоминаний максимум полезных возможностей. ПО ТЕМЕ: Все функции кнопок оригинальных наушников из комплекта iPhone. Пр...

[Перевод] Интервью — 10 вопросов про Swift. Часть 3 Профессиональная программа «iOS Разработчик» — 5 месяцев Best Practice по разработке мобильных приложений с помощью Swift 5. Лучших выпускников ждут на собеседованиях 12 компаний-партнёров OTUS, поэтому публикуем перевод заключительной статьи из серии «iOS Interview Question...

[Перевод] RxVMS — практичная архитектура для Flutter-приложений Это первый пост из серии публикаций, в которых объясняется мое понимание архитектуры приложений для Flutter. Предупреждаю — это будет весьма самоуверенным. Пока запланированы: Введение (этот пост) Основы Dart Streams RxDart: магические трансформации потоков Основы RxVMS: Rx...

[Из песочницы] Разработка приложений на Elixir/Phoenix с помощью Docker Под катом небольшое и простое руководство, в котором показано, как использовать Docker Compose для настройки и запуска приложения Elixir/Phoenix + PostgreSQL. Читать дальше →

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

[Из песочницы] Опыт разработки ассета Unity для поиска пути в 3D пространстве Вас приветствует команда «Graceful Algorithms»! В качестве эксперимента нами было принято решение вести «дневники» разработчиков, в которых мы будем делиться опытом и освещать некоторые интересные результаты проводимых нами экспериментов. Это наша дебютная статья по проект...

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

[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

BLoC паттерн на простом примере И еще раз про BLoC на классическом примере счетчика Flutter. Читая некоторые статьи про реактивное программирование и используя BLoC паттерн в приложениях я понимал, что чего-то не догоняю. Как обычно на все не хватает времени, но вот, выдался свободный час и силы есть — реш...

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

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2 В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут. В этой статье мы поговорим про liquibase-maven-plugin ...

Безболезненный Fallback Cache на Scala В крупных или микросервисных архитектурах самый важный сервис не всегда самый производительный и бывает не предназначен для хайлоада. Мы говорим о бэкенде. Он работает медленно — теряет время на обработке данных и ожидании ответа между ним и СУБД, и не масштабируется. Даже е...

Редизайн приложения OneDrive для iOS Microsoft представила переработанное приложение OneDrive для iOS с новым дизайном, который отлично согласуется с остальными приложениями пакета Office 365 для всех платформ. В верхней части приложения используется заголовок, написанный жирным шрифтом, как в Outlook для iOS....

[Перевод] Шардинг в Блокчейне Всем привет, я один из разработчиков Near Protocol, который, среди прочего, реализует шардинг, и в этой статье хочу подробно рассказать что вообще такое шардинг в блокчейне, как он работает, и коснуться ряда проблем, которые возникают при попытке его построить. Хорошо извест...

Приложения для электронных книг на операционной системе Android (часть 3) В этой (третьей) части статьи о приложениях для электронных книг на операционной системе Android будут рассмотрены следующие две группы приложений: 1. Альтернативные словари 2. Заметки, дневники, планировщики Краткое содержание предыдущих двух частей статьи: В 1-ой част...

Clean Decomposition Об использовании чистой архитектуры в Android сказано предостаточно. На GitHub можно найти десятки шаблонов на разные вкусы: на Java или Kotlin, с Dagger2 или Koin, с Rx или с Coroutines. Но никто не говорит о том, как разбить определенный функционал при использовании «чисто...

[Из песочницы] Использование let объявлений переменных и особенности образуемых при этом замыканий в JavaScript Написать данную заметку меня сподвигло прочтение статьи на Хабре «Var, let или const? Проблемы областей видимости переменных и ES6» и комментариев к ней, а также соответствующей части книги Закаса Н. «Understanding of ECMAScript 6». Исходя из прочитанного я вынес, что не всё...

Обновление 3CX v16 Update 4 Alpha и 3CX для Android, планы развития АТС Обновление 3CX v16 Update 4 Alpha Встречайте обновление 3CX v16 Update 4 Alpha! Оно позволяет звонить из «движка» браузера, но без открытия вкладки веб-клиента. Работает даже при полностью закрытом браузере! То есть, теперь вы принимаете вызовы прямо в текущем приложении — C...

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

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

macOS Catalina лишилась поддержки 32-битных приложений Не самая хорошая новость для тех, кто часто пользуется старыми приложениями — Apple официально лишила macOS Catalina поддержки 32-битных приложений. Это означает, что нам придется распрощаться с большим количеством программ и игр, которые долгое время не получали каки...

[Перевод] (Не очень) скрытые издержки общей кодовой базы iOS и Android До недавнего времени у Dropbox была техническая стратегия использовать общий код C++ для мобильных приложений iOS и Android. Идея понятна: написать код один раз на C++ вместо его дублирования отдельно на Java и Objective C. Мы приняли эту стратегию ещё в 2013 году, когда гру...

[Перевод] Профессиональная контейнеризация Node.js-приложений с помощью Docker Автор материала, перевод которого мы публикуем сегодня, работает DevOps-инженером. Он говорит, что ему приходится пользоваться Docker. В частности, эта платформа для управления контейнерами применяется на разных этапах жизненного цикла Node.js-приложений. Использование Docke...

[Перевод] Записки фрилансера: разработка первого React Native-приложения Автор материала, перевод которого мы публикуем, недавно выпустил своё первое мобильное приложение, написанное на React Native. Так случилось, что это приложение стало и его первым проектом, который он создал как программист-фрилансер. Здесь он расскажет о том, с чем ему приш...

[Из песочницы] Подводные камни разработки Google Play Instant Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь Android-разработкой в PROFI.RU. Недавно я написал приложение с мгновенным запуском для наших клиентов. Если вы ещё не знакомы с технологией, приглашаю вас сначала посетить Android Developers. С презентации Instant Apps (G...

[Перевод] Написание IOS приложений с использованием паттерна Redux В последнее время я больше занимался фронтенд разработкой, чем мобильной, и я столкнулся с некоторыми очень интересными паттернами проектирования, которые я уже знал, но на самом деле не углублялся в них… до сих пор. Но теперь все это имеет смысл, после использования из в ...

Строительные блоки распределенных приложений. Второе приближение Анонс Коллеги, в середине лета я планирую выпустить еще один цикл статей по проектированию систем массового обслуживания: “Эксперимент VTrade” — попытка написать фреймворк для торговых систем. В цикле будет разобрана теория и практика построения биржи, аукциона и магазина. В...

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

Поваренная книга разработчика: DDD-рецепты (4-я часть, Структуры) Введение Итак, мы уже определились с областью применения, методологией и архитектурой. Перейдем от теории к практике, к написанию кода. Хотелось бы начать с шаблонов проектирования, которые описывают бизнес логику — Service и Interactor. Но прежде чем приступить к ним, изучи...

Архитектура AERODISK vAIR или особенности национального кластеростроения Привет, Хабровчане! Мы продолжаем знакомить вас с российской гиперконвергентной системой AERODISK vAIR. В этой статье речь пойдет об архитектуре данной системы. В прошлой статье мы разобрали нашу файловую систему ARDFS, а в данной статье пройдёмся по всем основным программн...

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описа...

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

[Из песочницы] Интеграция React Native и C++ для iOS и Android Недавно мне предложили поработать над одним интересным проектом. Требовалось разработать мобильное приложение для американского стартапа на платформах iOS и Android с помощью React Native. Ключевой технической особенностью и фактором, который однозначно решил мое участие в п...

Ящик для хранения данных в go-приложениях Небольшая заметка о встраиваемой key-value БД под названием Coffer, написанной на Golang. Если совсем коротко: в остановленном состоянии БД данные лежат на диске, при запуске данные копируются в память. Чтение происходит из памяти. При записи изменяются данные памяти, а изме...

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

CI/CD с помощью AWS и Bamboo Наша команда состоит из одного разработчика и одного DevOps инженера. Я отвечаю за разворачивание приложения в кластере Amazon ECS. В качестве CI/CD сервера я использую Bamboo. В этой статье я подробно расскажу, как я осуществляю разворачивание приложения в dev-среде. Чита...

Java Native Image: проверка возможности использования Не так давно Oracle выпустил первый релиз проекта GraalVM (https://www.graalvm.org/). Релизу был сразу присвоен номер 19.0.0, видимо, для того чтобы убедить, что проект зрелый и готов к использованию в серьезных приложениях. Одна из частей этого проекта: Substrate VM — фре...

TDD приложений на Spring Boot: тонкая настройка тестов и работа с контекстом Третья статья в цикле и небольшое ответвление от основной серии — в этот раз я покажу как устроена и как работает библиотека интеграционного тестирования Spring, что происходит при запуске теста и как можно тонко настраивать приложение и его окружения для теста. Читать дальш...

Пишем свой язык программирования, часть 2: промежуточное представление программ Введение Приветствую всех, кто заглянул почитать мою очередную статью. Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте. В первой части (линк: habr.com/post/435202) я описал этапы прое...

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

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

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

Опыт использования flatten-maven-plugin для упрощения версионирования в maven-проектах О нас В 1С мы разрабатываем не только платформу 1С: Предприятие на С++ и JavaScript, но и приложения на Java – в частности новую среду разработки Enterprise Development Tools на базе Eclipse и сервер глубоко интегрированного с платформой мессенджера – Системы Взаимодействия....

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

[Из песочницы] Опыт внедрения fastlane для автоматизации всех этапов мобильного CI/CD Я бы хотела поговорить о непрерывной интеграции и доставке для мобильных приложений с помощью fastlane. Как мы внедряем CI/CD на все мобильные приложения, как мы к этому шли и что получилось в итоге. Читать дальше →

Как обновиться до Windows 10 May 2019 Update 21 мая состоялся долгожданный релиз Windows 10 May 2019 Update. Этот релиз пользователи ждали очень долго, примерно с апреля месяца, но Microsoft решила не спешить с релизом, поэтому инсайдеры больше месяца тестировали данное обновление и в итоге получилось очень даже неплох...

[Перевод] 6 интересных идей применения дополненной реальности (AR) Прим. пер.: в своей статье, оригинальное название которой: «6 Interesting Augmented Reality Concepts», Ник Бабич собрал ценную подборку идей применения AR, которая будет интересна даже тем, кто никак не связан с разработкой. Среди концепций есть реально работающие продукты,...

AERODISK Engine: Катастрофоустойчивость. Часть 1 Привет, читатели хабра! Темой этой статьи будет реализация средств катастрофоустойчивости в системах хранения AERODISK Engine. Изначально мы хотели написать в одной статье про оба средства: репликацию и метрокластер, но, к сожалению, статья получилась слишком большой, поэто...

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

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

Приложения для электронных книг на операционной системе Android. Часть 5. Облачные хранилища и плееры В этой, последней, части статьи о приложениях для электронных книг на операционной системе Android будут рассмотрены две темы: Облачные хранилища и Аудиоплееры. Бонус: список бесплатных библиотек с каталогами OPDS. Краткое содержание предыдущих четырёх частей статьиВ 1-ой ч...

Основы архитектуры приложений на Flutter: Vanilla, Scoped Model, BLoC (оригинал статьи на английском языке опубликован на Medium) Flutter предоставляет современный реактивный фреймворк, большой набор виджетов и тулов. Но, к сожалению, в документации нет ничего похожего на руководство по рекомендуемой архитектуре приложения для Android. Не сущ...

Docker + Laravel = ❤ // Часть 2 Данный пост написан по заявкам трудящихся, которые с завидной периодичностью спрашивают о том "Как запустить Illuminate / Symfony / MyOwnPsr7 приложение в докере". Давать ссылку на ранее написанный пост уже не хочется, так как взгляды относительно того, как следует решать п...

[Перевод] Миграция с Nginx на Envoy Proxy Привет, Хабр! Предлагаю вашему вниманию перевод поста: Миграция с Nginx на Envoy Proxy. Envoy — это высокопроизводительный распределенный прокси-сервер (написанный на C++), предназначенный для отдельных сервисов и приложений, также это коммуникационная шина и «universal data...

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений Введение Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю. Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи: Часть 1: пишем языковую ВМ Часть 2:...

Создаём голосовое приложение на примере Google Assistant Каждый пятый житель США владеет умной колонкой, а это 47 000 000 человек. Помощник может создать напоминание, список дел, будильник, таймер, прочитать новости, включить музыку, подкаст, заказать доставку, купить билеты в кино и вызвать такси. Все это «навыки» или «skills» по...

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

Dynamic в C#: рецепты использования Это заключительная часть цикла про Dynamic Language Runtime. Предыдущие статьи: Подробно о dynamic: подковерные игры компилятора, утечка памяти, нюансы производительности. В этой статье подробно рассматривается кэш DLR и важные для разработчика моменты, с ним связанные. Г...

In-App Updates: ускоряем процесс обновления приложения на Android Среди многообразия инструментов, анонсированных на Android Dev Summit, особое внимание хочется уделить механизму обновления приложения In-App Updates (IAUs), который помогает разработчикам ускорить добавление новых фич, баг-фиксов и улучшений производительности. Поскольку ...

В Corel обновили CorelDRAW Graphics Suite Компания Corel обновила CorelDRAW Graphics Suite, почти ничего не прибавив, но улучшив уже существующие функции. Компания также доработала свой пакет графических приложений для macOS, постаравшись учесть особенные потребностей пользователей компьютеров Mac. При разработк...

[Перевод] Использование Fastify и Preact для быстрого прототипирования веб-приложений Автор материала, перевод которого мы сегодня публикуем, хочет поделиться рассказом о том, какими технологиями он пользуется для быстрой разработки прототипов веб-приложений. В число этих технологий входят библиотеки Fastify и Preact. Он, кроме того, пользуется библиотекой ht...

Генерация многофазного ШИМ сигнала на TMS320F28027 Давным давно в далекой далекой галактике я написал небольшую статью о специализированных контроллера Piccolo от Texas Instruments, которые предназначены для управления силовыми преобразователями и электроприводом. Данные контроллеры являются очень мощным инструментов разрабо...

[Перевод] Управление стейтом с помощью React Hooks – без Redux и Context API Всем привет! Меня зовут Артур, я работаю ВКонтакте в команде мобильного веба, занимаюсь проектом VKUI — библиотекой React-компонентов, с помощью которой написаны некоторые наши интерфейсы в мобильных приложениях. Вопрос работы с глобальным стейтом у нас пока открыт. Существу...

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

Сколько стоит приложение Сколько стоит приложение? В одной из предыдущих статей мы приводили результаты опроса более 55 компаний – разработчиков мобильных приложений из 15 стран – о стоимости разработки типовых приложений. Вот они: То есть создать усредненное мобильное приложение стоит о...

2. Анализ логов Check Point: SmartEvent Здравствуйте, коллеги. В прошлый раз, в статье «1. Анализ логов Check Point: официальное приложение Check Point для Splunk» мы обсуждали разбор логов шлюза безопасности на основе официального приложения в системе логирования Splunk. В заключении пришли к выводу что хоть пр...

JMeter — швейцарский нож тестировщика (Часть 2) Сегодня расскажу, как мы с помощью JMeter’а наладили процесс кэширования продуктовых страниц, проверили работу мобильного приложения без самого приложения и создали 2000 юзеров в системе без доступа к базе данных. Кто не в курсе, что здесь происходит, читайте первую часть ...

[Из песочницы] Deploy Symfony + React приложения на AWS посредством CI Добрый день, в данной статье я покажу как развернуть Symfony 4 приложение на AWS. В официальной документации есть пример подобного процесса, однако мой вариант не столь тривиален, как загрузка zip архива с приложением. На дворе 2019, в моде docker, микросервисная архитектура...

«Секретики» DPAPI или DPAPI для пентестеров Вторая статья по итогам выступления нашей команды на OFFZONE-2018. На этот раз рассмотрим доклад с MainTrack “Windows DPAPI “Sekretiki” or DPAPI for pentesters”. Внимание! Очень много буков! При проведении RedTeam кампаний хочется давать меньше поводов для реакции BlueTeam...

Разработка чат-бота (telegram + youtube) Почему это вообще появилось здесь? Недавно я написал статью о разработке бота на php с использование laravel+botman для telegram. Самое первое, что написали, цитирую, “стрельба из пушки по воробьям”. Я согласен с этим, даже осознавал это во время разработки, но мне был инте...

[Перевод] Знакомство с HealthKit В этой статье про HealthKit вы узнаете, как запрашивать разрешение на доступ к данным HealthKit, а также считывать и записывать данные в центральный репозиторий HealthKit. В статье используется Swift 4, iOS 11, Xcode 9 версии. HealthKit — это API, которое было представлено...

MOSDROID Meetup: подключайтесь к трансляции Уже завтра, 16 ноября, митап MOSDROID в офисе Райффайзенбанка: узнаём все тонкости кроссплатформенной разработки с использованием Flutter и GoMobile, поделимся друг с другом опытом модульной архитектуры проекта и ещё много интересных тем. Смотрите программу и подключайтесь ...

Типичные ошибки при работе с PostgreSQL Чуть более месяца назад в Москве состоялась крупнейшая конференция постгресового сообщества PGConf.Russia 2019, собравшая в МГУ свыше 700 человек. Мы решили выложить видео и расшифровку лучших докладов. Выступление Ивана Фролкова с разбором типичных ошибок при работе с Postg...

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

[Из песочницы] Упрощаем работу с базами данных в Qt с помощью QSqlRelationalTableModel Доброго времени суток, Хабровчане! В этой статье я хочу рассказать о своем опыте упрощения взаимодействия с базами данных SQL при разработке десктопного приложения с помощью класса QSqlRelationalTableModel кроссплатформенной библиотеки Qt. Пролог С Qt я познакомился еще буд...

Социальная инженерия с помощью программ Universal Windows Platform (APPX) TL;DR: В APPX-файл Universal Windows Platform можно упаковать обычный exe-файл, который будет запускаться в Windows 10 (сборка 1607 и новее) примерно так же, как обычные exe-файлы. Это можно использовать для атак социальной инженерии, с помощью рассылки через email — почто...

[Перевод] Создание калькулятора чаевых на Kotlin: как это работает? Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч...

Что из себя представляет Project Catalyst На WWDC 2019 Apple анонсировала Project Catalyst — амбициозный кроссплатформенный проект, который призван увеличить количество новых программ и игр на платформе macOS. Для этого будет использоваться огромная экосистема приложений iOS (пока что только версии для iPad)....

[Из песочницы] Разработка Chrome Extension вместе с Angular CLI Разработкой расширений к Chrome я занимаюсь давно и за это время я прошел целый путь от Greasemonkey юзер-скриптов до полноценного Angular-приложения в оболочке chrome-extension. Моя задача в том, что я патчу некоторые уже работающие сайты, чтобы изменить их функционал и авт...

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

СПДС GraphiCS — фасадная и кровельная система Предлагаем вашему вниманию статью «СПДС GraphiCS — фасадная и кровельная система», написанную руководителем проектной группы ООО «Фронтсайд» Воробьевой Ириной Александровной. «СПДС GraphiCS — фасадная и кровельная система» — специализированное программное обеспечение, авт...

Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...

[Перевод] Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование) Прим. перев.: Этот обзорный материал от Weaveworks знакомит с наиболее популярными стратегиями выката приложений и рассказывает о возможности реализации наиболее продвинутых из них с помощью Kubernetes-оператора Flagger. Он написан простым языком и содержит наглядные схемы, ...

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

[Перевод] Как мы при помощи WebAssembly в 20 раз веб-приложение ускорили В этой статье рассматривается кейс по ускорению браузерного приложения через замену вычислений JavaScript на WebAssembly. Читать дальше →

Работа с внешними ресурсами в Unity 3d Введение Здравствуйте уважаемые читатели, сегодня речь пойдет о работе с внешними ресурсами в среде Unity 3d. По традиции, для начала определимся, что это и зачем нам это надо. Итак, что же такое эти внешние ресурсы. В рамках разработки игр, такими ресурсами может быть все...

[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK). Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не р...

[Перевод] 7 полезных советов для тех, кто использует Room Room — это уровень абстракции поверх SQLite, который упрощает организацию хранения данных. Если вы ещё мало знакомы с Room, то посмотрите эту вводную статью: 7 шагов к использованию Room. Пошаговое руководство по миграции приложения на RoomА в этой статье я хотел бы поделит...

[Из песочницы] Создание Android приложения с использованием Anko Layouts и Anko Coroutines Примерно год назад я начал использовать Kotlin в своих Android проектах. Мне хотелось попробовать что-то новое, что было бы интересно изучать. Тогда я и наткнулся на Anko. К тому времени писать UI на xml порядком осточертело. Мне всегда нравилось писать интерфейс руками, не...

[Перевод] Правильная типизация: недооцененный аспект чистого кода Здравствуйте, коллеги. Не так давно наше внимание привлекла почти готовая книга издательства Manning «Programming with types», подробно рассматривающая важность правильной типизации и ее роль при написании чистого и долговечного кода. При этом, в блоге автора мы обнаруж...

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

Google добавит в систему управления Android Q новый жест Разработчики Google намерены доработать систему управления интерфейсом операционной системы в Android Q. Об этом сообщает ресурс XDA со ссылкой на изменения, отраженные в предварительной версии предстоящего обновления. Единственным, но важным нововведением системы управлени...

[Из песочницы] Создаем элементы интерфейса программно с помощью PureLayout Привет, Хабр! Представляю вашему вниманию перевод статьи Creating UIViews Constraints Programmatically Using PureLayout автора Aly Yaka. Сегодня я проведу вас через создание простого пользовательского интерфейса мобильного приложения кодом, без использования раскадровок и...

Как изменения в Google Play повлияют на ASO В середине марта прошла конференция Game Developers Conference (GDC 2019), на которой Google представила обновления своего Google Play Store. Обновление нацелено на совершенствование процесса разработки приложений и игр под Android и поддержку общего роста рынка мобильных иг...

Как мы внедряли навигацию из Jetpack в боевое приложение. Доклад Яндекс.Еды В мобильных приложениях всё чаще используются deep links. Это ссылки, которые позволяют не просто перейти в приложение извне, а попасть на конкретный экран. Android-разработчик из Яндекс.Еды Владислав Кожушко объяснил, почему мы для реализации deep links внедрили навигацию и...

NLP. Основы. Техники. Саморазвитие. Часть 1 Привет! Меня зовут Иван Смуров, и я возглавляю группу исследований в области NLP в компании ABBYY. О том, чем занимается наша группа, можно почитать здесь. Недавно я читал лекцию про Natural Language Processing (NLP) в Школе глубокого обучения – это кружок при Физтех-школе п...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

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

Airtest IDE — новый путь в автоматизации тестирования мобильных игр? Сегодня я хочу вам рассказать о достаточно новом open-source инструменте для автоматизированного тестирования под названием Airtest. В дальнейшем я сделаю ещё несколько статей с подробным рассказом об отдельных элементах данного инструментария и как с ними работать, а сейчас...

[Из песочницы] Как работают веб-приложения Это статья для начинающих разработчиков и тех, кто хочет немного ориентироваться в терминах и технологиях современных веб-приложений. В статье написано о том, чем веб-приложения отличаются от сайтов, какие бывают веб-приложения, из чего они состоят и как работают. Читать да...

[Перевод] Garden v0.10.0: Вашему ноутбуку не нужен Kubernetes Прим. перев.: С Kubernetes-энтузиастами из проекта Garden мы познакомились на недавнем мероприятии KubeCon Europe 2019, где они произвели на нас приятное впечатление. Этот их материал, написанный на актуальную техническую тему и с заметным чувством юмора, — наглядное тому по...

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

Разработка гибридных PHP/Go приложений с использованием RoadRunner Классическое PHP-приложение — однопоточность, тяжелая загрузка (если вы конечно не пишите на микрофреймворках) и неизбежная смерть процесса после каждого запроса… Такое приложение тяжелое и медленное, но мы можем дать ему вторую жизнь гибридизацией. Чтобы ускорить — демонизи...

Создание бэкенд приложения для онлайн чата Apollo, Node.js Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к...

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

Приложение «Ваш телефон» теперь поддерживает уведомления Microsoft объявила о том, что она работает над несколькими улучшениями для своего приложения «Ваш телефон» в Windows 10. Ваш телефон – это приложение от Microsoft, которое поставляется с предустановленной ОС Windows 10 October 2018 Update и оно обновляется в последнем обновл...

Дайджест интересных материалов для мобильного разработчика #284 (28 января — 3 февраля) В нашем новом дайджесте обновления iOS и Swift, самое интересное машинное обучение в Android, опрос про известность мобильных команд, поиск фрилансеров для вменяемой разработки, самые популярные приложения в разных категориях и многое другое. Читать дальше →

[Из песочницы] Пишем «Hello, world!» приложение для web на Haskell (Spock) Мне стало скучно писать на Python, захотелось чего-нибудь необычного. Решил попробовать Haskell. Языка я не знаю, однако просто писать консольные учебные программы, типа вычисления факториала, не хотелось. После изучения довольно большого числа постов про Haskell и его приме...

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

Как нейронная сеть SincNet выделяет значимые частоты в звуке через Back Propagation Недавно вышла одна очень интересная статья "Speaker Recognition from raw waveform with SincNet", в которой была описана end-to-end архитектура нейронной сети для распознавания говорящего по голосу. Ключевая особенность этой архитектуры — специальные одномерные сверточные сло...

[Перевод] LLVM IR и Go В этой статье мы рассмотрим, как построить программу на Go, такую, как компилятор или статический анализатор, которая взаимодействует с фреймворком компиляции LLVM, используя язык ассемблера LLVM IR. TL;DR мы написали библиотеку для взаимодействия с LLVM IR на чистом Go, см...

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

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

Телефонные опросы и поиск в CRM в 3CX CFD, новый плагин WP-Live Chat Support, обновление приложения для Android За последние пару недель мы представили несколько интересных обновлений и один новый продукт. Все эти новинки и улучшения соответствуют политике 3CX по созданию на базе UC АТС доступного мультиканального колл-центра.    Обновление 3CX CFD — компоненты Опрос и Поиск в CRM Све...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 5 ← Часть 4. Программирование периферийных устройств и обработка прерываний Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 5. Проектирование многопоточных приложений В предыдущих частях статьи мы подробно останавливались на основах программирования с ...

Отладка Angular CLI приложения в VSCode с помощью Browser Preview Привет, Хабр! В Iponweb мы не только творим магию с помощью Kubernetes, но и создаем сложные пользовательские интерфейсы. Основной фреймворк, который мы используем, — Angular (а также AngularJs для legacy частей), поэтому удобство разработки для нас — не пустой звук. Мы реши...

Пользователи смогут взаимодействовать с «умной» техникой LG при помощи голоса Компания LG Electronics (LG) объявила о разработке нового мобильного приложения ThinQ (ранее SmartThinQ) для взаимодействия с «умными» бытовыми устройствами. Главная особенность программы — поддержка голосовых команд на естественном языке. Данная система использует технологи...

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

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

Причины внедрить в процесс разработки статический анализатор кода PVS-Studio PVS-Studio – это инструмент для поиска ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках C, C++, C# или Java. PVS-Studio относится к классу инструментов статического тестирования защищённости приложений (Static Application Security Testing, S...

В Android Q приложения Digital Wellbeing и Family Link могут объединить Функция Digital Wellbeing (Цифровое благополучие) позволяет пользователям при желании отслеживать свою активность в том или ином приложении и контролировать время, проводимое со смартфоном в целом и программах в частности. Также у Google есть приложение Family Link, кот...

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

Настройка CD через gitlab Задумался как-то раз я об автоматизации развертывания своего проекта. gitlab.com любезно предоставляет для этого все инструменты, и я конечно решил воспользоваться, разобравшись и написав небольшой сценарий деплоя. В статье я делюсь своим опытом с сообществом. Читать дальше ...

Android-приложение в памяти. Доклад об оптимизации для Яндекс.Лончера В облегченной системе Android Go действуют повышенные требования к предустановленным приложениям — размеру и используемой памяти. Перед нами встала задача в эти требования уложиться. Мы провели ряд оптимизаций и решили серьезно поменять архитектуру нашей графической оболочки...

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

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

Huawei объявила, когда выпустит Android Q для своих смартфонов Собаки лают – караван идет. Эта присказка лучше всего описывает то, что сегодня происходит с Huawei. Китайская компания, невзирая на санкции США и одномоментный запрет на использование сервисов Google и Android, умудрилась продолжить программную поддержку фирменных устройст...

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

[Из песочницы] Создание системы расширения на библиотеке Qt Плагины(Расширения) Расширения это совместно используемая динамическая библиотека предназначения для загрузки в процессе исполнения основного приложения, которая обязательно должна реализовывать хотя бы один специальный интерфейс. Расширения делятся на два типа: Для Qt Дл...

MVP и Dagger 2 – скелет Android-приложения – часть 1 Данная статья нацелена на новичков в Android-разработке и призвана помочь в создании минимально необходимой структуры приложения. Так получилось, что я относительно недавно начал программировать под Android – после месяца без проекта в компании, где я работаю, меня определи...

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

Podlodka #113: Релиз-менеджмент Не так важно, насколько качественно написан код, какая используется архитектура и какие под капотом крутятся технологии, если фича в итоге не доедет до пользователя. Алексей Шпирко, руководитель юнита Speed в Авито, рассказал, как запустить релизный поезд для мобильных прило...

Sophos XG Firewall: От классического МЭ до NGFW с автоматической реакцией на ИБ инциденты В настоящее время происходят изменения в архитектуре угроз и резкое увеличение числа и сложности систем безопасности и, конечно, происходит эволюция в разработке средств защиты, в том числе межсетевых экранов. Межсетевые экраны нового поколения (Next-Generation Firewall, NG...

Трагичная история знакомства с poppler …Или как мы писали пилот приложения для ОС Sailfish с использованием poppler. Год начался с занятной задачи — нашей команде нужно было за короткий срок собрать пилот приложения «Мобильное рабочее место руководителя» на ОС Sailfish. По сути, это мобильный клиент СЭД, т.е. о...

Как мы поддерживаем стабильность приложения Lamoda Всем привет! Меня зовут Виталий Бендик. Я тимлид команды разработки Android приложения в компании Lamoda. В 2018 году я выступал на Mosdroid Aluminium c докладом, расшифровкой которого хочу поделиться. Речь пойдет о том, как мы поддерживаем стабильность мобильного прило...

[Перевод] Решение алгоритмических задач: возможность бронирования отеля Перевод статьи подготовлен специально для студентов курса «Алгоритмы для разработчиков». Эта статья является частью серии о том, как решать алгоритмические задачи. Исходя из своего личного опыта, я обнаружил, что большинство ресурсов просто подробно описывают решение. Объ...

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

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

[Из песочницы] Ортодоксальный Backend Современный backend разнообразен, но всё-таки подчиняется некоторым негласным правилам. Многие из нас, кто разрабатывает серверные приложения, сталкивается с общепринятыми подходами, такими как Clean Architecture, SOLID, Persistence Ignorance, Dependency Injection и прочими....

[Из песочницы] Общее представление об архитектуре Clean Swift Привет, читатель! В этой статье я расскажу об архитектуре iOS приложений — Clean Swift. Мы рассмотрим основные теоретические моменты и разберем пример на практике. Читать дальше →

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

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

[Из песочницы] Использование SQLite в Unity (Unity + SQLite) Всем привет, данная публикация будет посвящена работе с встраиваемой реляционной базой данных SQLite в Unity. Данная статья написана новичком для новичков с целью показания работы с SQLite, предполагается, что вы знаете основы SQL. Так как в интернете нет ясного тутора для н...

Windows 10 Build 18908 доступна для загрузки Для инсайдеров каналов тестирования Fast Ring и Skip Ahead вышла спустя 2 недели новая сборка Windows 10 Build 18908. В первую очередь изменения относятся к приложению «Ваш телефон», где появилась поддержка экранного диктора; добавлена функция отслеживания, которая привносит...

[Из песочницы] Настройка NextCloud + ONLYOFFICE на одном сервере с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Setting up NextCloud and ONLYOFFICE on a single server with Docker». Сложно недооценивать пользу онлайновых пакетов офисных приложений наподобие Google Docs и облачных хранилищ в жизни технически ориентированных люде...

[Перевод] Аналитика логов Nginx с помощью Amazon Athena и Cube.js Обычно для мониторинга и анализа работы Nginx используют коммерческие продукты или готовые open-source альтернативы, такие как Prometheus + Grafana. Это хороший вариант для мониторинга или real-time аналитики, но не слишком удобный для исторического анализа. На любом популяр...

В macOS 10.15 появится отдельное приложение для Apple Music В 2001 году компания Apple впервые представила iTunes. Благодаря iPod, медиаплеер Apple быстро набрал популярность по всему миру — с каждым годом компания добавляла в программу что-то новое. Но похоже вектор развития всё же зашёл в тупик: корпорация намерена отказатьс...

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

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

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

Help Desk за 3 часа. Автоматизация несложных бизнес-процессов в PowerApps, Flow и Teams Всем привет! Мой коллега написал статью по опыту использования различных инструментов О365 для автоматизации небольших бизнес-процессов. Мы взяли за основу кейс по автоматизации HelpDesk на технологиях PowerApps, MS Flow и MS Teams. Подробности под катом. Надеюсь, статья бу...

[Из песочницы] .NET зоопарк под призмой NET Core Всем привет! Сегодня мы рассмотрим разные фишки и изменения, которые появились в .NET Core платформе и сравним их с Framework. Я разбил статью на модули для более лучшего понимания. Эта статья будет интересна тем кто собирается переходить на .NET Core или уже использует его....

[Из песочницы] Dagger 2 – это элементарно (Часть 1) Содержание Введение Что такое Dependency Injection, Пример зависимости Dagger 2 – введение Первое использование Dagger 2 Введение Статья написана не продвинутым программистом для таких же, обычными и понятными словами В статье используется пример кода на Kotlin. Версия da...

HDMI-LVDS. Разработка на TSUMV59 от MStar Доброго времени суток, Хабр! В продолжение прошлой статьи на тему DisplayPort-LVDS, решил написать о своей новой разработке контроллера HDMI-LVDS на чипе TSUMV59 от MStar. Контроллер имеет много интересного на борту, например, аналоговый выход звука, ИК порт, кнопки управ...

Security Week 24: заводские бэкдоры в смартфонах Android Прошедшая неделя вышла богатой на новости про безопасность смартфонов Android. Во многих СМИ (например, в ArsTechnica) написали о том, что Google «подтвердила» факт продажи смартфонов с предустановленным «на заводе» бэкдором. Поводом для таких заголовков стала вполне техниче...

Google рассказала, как создавать приложения на Android «Разработка Android-приложений на языке Kotlin» – это бесплатный онлайн-курс, который компания Google разработала совместно с образовательной организацией Udacity для того, чтобы любой желающий мог пройти самостоятельное обучение и постичь азы (и не только) программирования...

[Из песочницы] Процедура нотаризации Electron приложения для macOS 10.14.5 С выходом macOS 10.14.5, Apple добавила обязательную процедуру нотаризации (Notarization process) приложений перед их распространением. Что это и какие сложности возникли с этим обновлением при разработке на Electron.js я и хотел бы рассказать. Читать дальше →

[Перевод] Обмен данными между React-компонентами с использованием библиотеки RxJS Перед вами перевод статьи Chidume Nnamdi, опубликованной на blog.bitsrc.io. Перевод публикуется с разрешения автора. Появление библиотеки RxJS открыло массу новых возможностей в мире JS. Цель RxJS — достигать многого, используя небольшое количество кода. Прочитав эту стат...

Несем IoT в массы: результаты первого IoT-хакатона от GeekBrains и Ростелекома Интернет вещей — восходящий тренд, технология используется везде и всюду: в промышленности, бизнесе, быту (привет умным лампочкам и холодильникам, которые сами заказывают еду). Но это только начало — задач, которые можно решать при помощи IoT, великое множество. Для того...

Иструменты Node.js разработчика. Очереди заданий (job queue) При реализации бэка веб-приложений и мобильных приложений, даже самых простых, уже стало привычным использование таких инструментов как: базы данных, почтовый (smtp) сервер, redis-сервер. Набор используемых инструментов постоянно расширяется. Например, очереди сообщений, суд...

[Из песочницы] Эффективное создание компонентов с помощью styled system Для стилизации react компонентов наша команда использует styled-components. О styled-components уже есть статьи на Хабре, поэтому подробно останавливаться на этом не будем. Знакомство с Styled components Лучше, быстрее, мощнее: styled-components v4 Написав много компоне...

Windows Core OS будет поддерживать Win32-приложения Microsoft разрабатывает Windows Core OS – новую версию операционной системы Windows без использования Win32-кода. Предполагалось, что запуск Win32-программ будет возможен только при помощи эмуляции или облака, но по последней информации стало известно, что Microsoft работает...

Microsoft прекратит поддержку приложения Cortana для Android и iOS в январе 2020 года Согласно информации, опубликованной на странице поддержки Microsoft, 31 января 2020 года будет прекращена поддержка приложения Cortana для Android и iOS. Вместе с этим голосовой помощник исчезнет из Microsoft Launcher на Android. Изменение касается пользователей в Великобри...

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

Пишем на Rust + CUDA C Всем привет! В данном руководстве хочу рассказать как подружить CUDA C/С++ и Rust. И в качестве примера напишем небольшую программу на Rust для вычисления скалярного произведения векторов, вычисление скалярного произведения будет производиться на GPU с использованием CUDA ...

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

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

Две стороны WebView: о быстром запуске проектов и краже персональных данных Привет, Хабр! Меня зовут Евгений, я Full Stack JS разработчик, текущий стек Node.js + React + React Native. В разработке я более 10 лет. В мобильной разработке пробовал разные инструменты от Cordova до React Native. Получив опыт работы с Cardova, я понял, что мне хотелось ...

Идея о поиске людей в лесу Эта статья описание небольшой идеи возникшей после прочтения недавней статьи «Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса» Сразу предупрежу, что у меня маловато опыта в радиотехнике, и совсем нет оного в поиске пропавших людей, так чт...

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

Про установку и использование LineageOS 16, F-Droid Предлагаю вашему вниманию инструкцию как оптимально(по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS(далее сокращённо LOS) и приложений из F-Droid. Я думаю, что это статья будет вам интересна,...

Smart Factory 5G в Америке Компания Ericsson собирается построить в США полностью автоматизированную "умную фабрику" (smart factory), с использованием радиотехнологий 5G, которую планируется открыть в 2020 году. 5G будет использоваться для соединения производственного оборудования с сенс...

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

Разработка Kubernetes оператора с Operator Framework Как уже говорилось в статье Радар технологий, Lamoda активно двигается в направлении микросервисной архитектуры. Большинство наших сервисов упаковываются с помощью Helm и деплоятся в Kubernetes. Данный подход полностью удовлетворяет наши потребности в 99% случаев. Остается ...

QVD файлы — что внутри QlikView и его младший брат QlikSense — замечательные BI инструменты, достаточно популярные у нас в стране и "за рубежом". Очень часто эти системы сохраняют "промежуточные" результаты своей работы — данные, которые визуализируют их "дашборды" — в так называемые "QVD файлы". ...

Будущее инфраструктур центров обработки данных Архитектуры центров обработки данных общего назначения (такие ЦОДы сегодня все еще широко применяются) хорошо отрабатывали свои задачи в прошлом, но с недавних пор большинство из них достигли своих границ масштабируемости, производительности и эффективности. В архитектуре та...

[Из песочницы] Как я делился местоположением через ВК API Недавно решил попробовать реализовать идею о том, как можно делиться местоположением через API ВКонтакте с друзьями в режиме, приближенном к реальному времени. На выходе получилось кроссплатформенное Qt-приложение для iOS/Android, веб-приложение для ВКонтакте и парочка pull ...

Энтропийное кодирование rANS или как написать собственный архиватор Эта статья может быть интересна тем, кто занимается сжатием данных или хочет написать собственный архиватор. Статья написана, в основном, по материалам блога, который ведёт Fabian Giesen. Читать дальше →

Apple выпустила новую операционную систему macOS Catalina без iTunes Компания Apple выпустила стабильную версию операционной системы macOS Catalina для пользователей своих компьютеров.  Система доступна в качестве бесплатного обновления в онлайн-магазине приложений Mac App Store. Она совместима с MacBook 2015 года выпуска или новее...

Windows 10 Update Assistant – помощник по обновлению до November 2019 Update Помощник по обновлению до Windows 10 позволяет быстро и комфортно обновиться до последней версии Windows 10, то есть до ноябрьского обновления. Программа проверит совместимость вашего ПК с версией 1909, а также проверит свободное место на жесткой диске, после чего даст добро...

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

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

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

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

Google запретит выпускать 32-битные приложения Google опубликовала календарь ограничения поддержки 32-битных приложений в Google Play. Уже 1 августа 2019 года крупнейший магазин Android-приложений прекратит принимать как новые программы, так и обновления старых, если они не построены для 64-битной архитектуры.

Разработка Unix подобной OS — Оболочка. Заключение (9) Пришло время написать первую отдельную программу для нашего ядра — оболочку. Она будет храниться отдельным .elf файлом и запускаться init процессом при старте ядра. Это последняя статья из цикла по разработке своей операционной системы. Читать дальше →

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

Переключатели функциональности (feature toggles): виды, преимущества и работа с ними в .NET Переключатель функциональности — это инструмент, позволяющий переключаться со старой функциональности на новую, не пересобирая приложение и не выпуская его заново. Реализуется добавлением в код условного оператора (if), который дает возможность управлять поведением программ...

[Из песочницы] Как создать свое первое веб-приложение с помощью Go Привет, Хабр! Представляю вашему вниманию статьи "How to build your first web application with Go" автора Ayooluwa Isaiah. Это руководство к вашему первому веб-приложению на Go. Мы создадим новостное приложение, которое использует News API для получения новостных с...

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

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

Автоматизация тестирования платных сервисов на iOS Для тех, кто интересуется темой автоматизации на iOS, у меня две новости — хорошая и плохая. Хорошая: в iOS-приложении для платных сервисов используется только одна точка интеграции — in-app purchases (встроенные в приложение покупки). Плохая: Apple не предоставляет никаких ...

Транспилятор PAS2JS из Паскаля в JavaScript: несовместимости с Delphi и пути обхода В наше время в кармане обычного человека лежит мощный персональный компьютер, о котором 10-20 лет назад можно было только мечтать. И если у вас километры отлаженного Windows-кода и отлично работающие приложения и утилиты, написанные на Delphi, вы наверняка хотели бы задейств...

Мощная новинка Vertex Impress Stone Новинка поддерживает быстрый мобильный интернет 4G LTE и звонки через сеть четвертого поколения VoLTE. Еще одной отличительной чертой Impress Stone стала поддержка Wi-Fi в диапазоне 5 ГГц, что редко встречается в недорогих устройствах. Кроме того, смартфон предоставляет возм...

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

Как я делал desktop-приложение на Flutter (+ bonus) Недавно попалась на глаза новость, что вышел очередной релиз Flutter (1.9), который обещает разные вкусности и, в том числе, раннюю поддержку веб-приложений. На работе я занимаюсь разработкой мобильных приложений на React Native, но с любопытством поглядываю на Flutter. Для...

Google помогает полиции определять устройства вблизи мест преступления, используя данные о местоположении Не секрет, что Google отслеживает вас повсюду, даже если вы отключили функцию истории местоположений Google. Как показало исследование Associated Press в 2018 году, приложения Google, такие как Карты или Погода на Android, позволяют компании непрерывно собирать вашу геолока...

Настройка Warnings Next Generation плагина для интеграции PVS-Studio Релиз PVS-Studio 7.04 совпал c релизом плагина Warnings Next Generation 6.0.0 для Jenkins. Как раз в этом релизе Warnings NG Plugin добавил поддержку статического анализатора PVS-Studio. Этот плагин визуализирует данные о предупреждениях компилятора или других инструментов ...

Выпущены релиз 3CX V16 Update 3 и новое мобильное приложение 3CX для Android На прошлой неделе мы завершили большой этап работы и выпустили финальный релиз 3CX V16 Update 3. Он содержит новые технологии безопасности, модуль интеграции с HubSpot CRM и другие интересные новинки. Расскажем обо всем по порядку. Читать дальше →

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

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo. Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер. Недавно мы рассказывали о том, какими и...

[Из песочницы] От идеи мобильного приложения до MVP, в который вложатся инвесторы Введение Как создать MVP приложения, в который вложатся инвесторы Шаг 1. Составить требования Шаг 2. Выбрать компанию-разработчика Шаг 3. Создать ТЗ и собрать прототип для фокус-групп Шаг 4. Разработать и протестировать приложение Шаг 5. Опубликовать приложение Как найти...

[Из песочницы] Android preferences delegate В данной статье разобран пример создания делегата для SharedPreferences, который уменьшает boilerplate и делает использование SharedPrefernces более удобным. Те кто хочет посмотреть результат, может перейти к готовому решению, остальным добро пожаловать под кат. Читать дальш...

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

[Из песочницы] KVM (недо)VDI с одноразовыми виртуальными машинами с помощью bash Кому предназначена данная статья Данная статья может быть интересна системным администраторам, перед которыми вставала задача создать сервис «одноразовых» рабочих мест. Пролог В отдел ИТ сопровождения молодой динамично развивающейся компании с небольшой региональной сетью,...

gui приложение для задачи о ходе коня Это туториал по созданию интерактивного приложения для решения задачи о ходе коня на языках processing и p5.js Посмотреть саму программу можно здесь. Для управления «конём» используется метод mouseDragged(); пример программы, использующей этот метод здесь. Отмена хода осуще...

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

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

Бюджетный флагман Mi 9 SE мог получит платформу Snapdagon 845 Линейка флагманских смартфонов Xiaomi Mi 9 представлена тремя моделями: самим Mi 9, его топовой версией Mi 9 Explorer Edition и упрощенной Mi 9 SE. Если две первые построены на SoC Snapdragon 855, то в Mi 9 SE используется SoC Snapdragon 712, которую никак нельзя назват...

[Перевод] Фаззинг в стиле 2000 года на современных приложениях Windows 10 Рис. 1. Ушиблен, но не сломлен. Калькулятор Windows, чей код недавно опубликован на Github, оказался одним из двух протестированных приложений, которые не зависли и не упали в противостоянии с фаззером оконных сообщений разработки 2000 года. Размер окна специально увеличен,...

Дайджест интересных материалов для мобильного разработчика #281 (7 — 13 января) Приветствуем вас в новом году! Спасибо, что читаете наши дайджесты и делитесь материалами! На этой неделе у нас прекрасная история о том, как остаться без «Балды», самые зарабатываемые и скачиваемые приложения в разных категориях, быстрые фейлы, маркетинг приложений в 2019 и...

Win32-приложения будут работать в Windows Core OS Компания Microsoft много лет работает над следующим поколением операционной системы Windows, которая называется Windows Core OS. Это будет ядро, которое станет основой многочисленных оболочек для устройств следующего поколения, таких как Surface Hub, HoloLens 2, может даже S...

Как продвигать мобильное приложение в 2019 году: 4 практических способа + полезные инструменты Конкуренция на рынке мобильных приложений растет быстрыми темпами. Сегодня уже трудно рассчитывать на успех, освоив подходы ASO, необходимо более глубокое погружение и разработка нестандартных рекламных и маркетинговых шагов. Сегодня мы поговорим о способах продвижения м...

Retentioneering: как мы open-source инструменты для продуктовой аналитики на Python и Pandas написали Привет, Хабр. Эта статья посвящена итогам четырехлетней разработки набора методов и инструментов обработки траекторий движения пользователей в приложении или на сайте. Автор разработки — Максим Годзи, который стоит во главе команды создателей продукта, он же — автор статьи. ...

[Перевод] Интересные новинки Vue 3 Вместо предисловия Vue используется во всех проектах FunCorp. Мы внимательно следим за развитием фреймворка, постоянно улучшаем процесс разработки и внедряем лучшие практики. И, конечно же, мы не могли пройти мимо и не перевести статью Филиппа Раковски, сооснователя VueStore...

iOS 13 упрощает удаление приложений Теперь приложения можно удалить через список обновлений

[Из песочницы] Open Session In View в Spring Boot: Скрытая угроза Все здесь правы, каждый по-своему, и, следовательно, все здесь не правы. "Сказка о Тройке" (А. и Б. Стругацкие)Если вы используете Spring Data JPA, то после обновления на Spring Boot 2 при старте приложения можете заметить в логе новое предупреждение: spring.jpa.op...

[Перевод] Angular без zone.js: максимум производительности Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angula...

Нативная разработка, React Native и Flutter: критерии выбора Уже на стадии проектирования мобильного приложения важно понимать, какой язык выгоднее использовать для конкретного проекта. Наряду с нативной разработкой (например, для iOS — Swift или Objective-C, для Android – Java или Kotlin), используются кроссплатформенные фреймворки, ...

Обзор ISPmanager – панели управления хостингом и сайтами Не так давно мы публиковали обзор «Что нового в веб-консолях 2019», после чего подробно разобрали панель Plesk и вот теперь хотим разобрать ещё одну панель управления сайтами и сервером — ISPmanager.  Читать дальше →

3CX V16 Update 1 Beta — новые возможности чата и Call Flow Service для программного управления вызовами После недавнего выпуска 3CX v16 мы уже подготовили первое обновление 3CX V16 Update 1 Beta. В нем реализованы новые возможности корпоративного чата и обновленный сервис Call Flow Service, который совместно со средой разработки Call Flow Designer (CFD) позволяет создавать сло...

Приложение AirSynth превращает iPhone с Face ID в терменвокс Несмотря на то, что компания Apple выпустила свой первый смартфон с Face ID уже достаточно давно, сторонние разработчики редко строят свои приложения вокруг этого сканера. Однако интересные проекты время от времени все же выходят. Например, недавно Дэйв Вуд представил AirSyn...

[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...

[Перевод] Серверный рендеринг в бессерверной среде Автор материала, перевод которого мы публикуем, является одним из основателей проекта Webiny — бессерверной CMS, основанной на React, GraphQL и Node.js. Он говорит, что поддержка многоарендной бессерверной облачной платформы — это дело, которому свойственны особенные задачи....

[Из песочницы] Программ для изучения английского очень много, но стоит ли какой-нибудь из них пользоваться если ты программист? Всем привет, меня зовут Алексей. Я давно увлекаюсь программированием, хоть это и не является моей основной профессией. А ещё где-то год назад я увлёкся изучением английского языка. Много статей написано о том, как учить английский язык. Но если ты владеешь навыками програм...

Rollup: уже можно собирать приложения Rollup — это сборщик javascript приложений и библиотек нового поколения. Многим он давно знаком как перспективный сборщик, который хорошо подходит для сборки библиотек, но плохо подходит для сборки приложений. Однако время идет, продукт активно развивается. Я впервые попроб...

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

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

[Перевод] Кто несет ответственность за качество тестирования приложения? 10 причин попадания ошибки в продакшен Подготовили для вас перевод статьи Дмитрия Ярыгина, QA Engineer с опытом работы в крупных проектах мира более 8 лет, преподавателя курса «Mobile QA Engineer» в OTUS. Интересно развиваться в данном направлении? Приглашаем пройти бесплатный двухдневный интенсив «Введение в авт...

[Перевод] Разработка веб-серверов на Golang — от простого к сложному Пять лет назад я начал разрабатывать Gophish, это дало возможность изучить Golang. Я понял, что Go — мощный язык, возможности которого дополняются множеством библиотек. Go универсален: в частности, с его помощью можно без проблем разрабатывать серверные приложения. Эта ...

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

Как мы разрабатывали мобильное приложение на ОС Аврора (Sailfish Mobile OS RUS) Наша команда разработала и поддерживает корпоративное мобильное приложение по приёму платежей в рамках платёжной системы для крупного заказчика. Теперь оно используется сотрудниками клиента на устройствах под управлением операционной системы Аврора (ранее Sailfish Mobile OS ...

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

Visual Studio 2019 — свидетельство отсутствия амбиций Microsoft на рынке мобильных ОС Visual Studio 2019 выйдет в апреле этого года, и одним из важных моментов является улучшенная поддержка приложений UWP, на которые Microsoft продолжает делать большую ставки в рамках продвижения Windows 10. Естественно, приложения UWP разработаны с целью поддержки н...

Основы реактивного программирования с использованием RxJS. Часть 2. Операторы и пайпы В предыдущей статье мы рассмотрели, что такое потоки и с чем их едят. В новой части мы познакомимся с тем, какие методы RxJS предоставляет для создания потоков, что такое операторы, пайпы(pipes) и как с ними работать. RxJS обладает богатейшим API. В документации описано б...

Навигация для Android с использованием Navigation Architecture Component: пошаговое руководство Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture Component. Статья включает следующие разделы: Часть 1. Подготовительные работ...

[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...

WISE-PaaS — облачная платформа для промышленного интернета вещей WISE-PaaS — (Platform as a Service) облачная платформа Advantech для промышленного интернета вещей, объединяющая в себе различные инструменты для сбора, обработки, и визуализации данных, автоматизации, управления устройствами и системами искусственного интеллекта и машинно...

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

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

Android для радиоинженера (часть вторая) В первой части я немного рассказал о приложении RF & Microwave Toolbox. Во второй части расскажу о не менее интересном приложении, которое позволяет проектировать СВЧ устройства (преимущественно, планарные) на смартфоне/планшете под управлением ОС Android. Если вам интер...

360 Security 5.1.6 360 Mobile Security — эффективная и бесплатная защита вашего мобильного устройства с системой Android. Антивирусное приложение предназначено для защиты вашего смартфона от новых вирусов, вредоносных программ, уязвимостей системы и утечек конфиденциальных данных. 360 Mo...

Анализ механизмов локализации интерфейса приложений в Splunk В данной статье мы рассмотрим основной механизм локализации интерфейса приложений Splunk (в т.ч. стандартных элементов приложения Search) — gettext internationalization and localization (i18n). Читать дальше →

Мобильная тумба для китайских станков. Или как разместить их в квартире Дамы и господа, здравствуйте! Данную статью я решил написать после прочтения комментария в статье Программирование на JavaScript для токарного станка от QwertyOFF Я слабо представляю как можно держать токарный, даже такой, в квартире, разве что у вас есть комната, которую с...

Как убрать предметы, людей (лишние объекты) с фотографии на iPhone Современные технологии существенно упрощают жизнь любителям фотографии. Даже если снимок вышел не очень удачным, с помощью программы Photoshop можно на компьютере подретушировать его и убрать нежелательные объекты. С мобильным приложением TouchRetouch редактировать фотографи...

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

Laravel: разбираем основные понятия. Часть третья: «Заключительная» Считанные дни остаются до старта нового курса от OTUS — «Framework Laravel». В преддверии старта курса делимся заключительной частью авторской публикации о основных понятиях в Laravel. Важно: данная серия публикаций не имеет отношения к образовательной программе курса и явля...

Возможность познавать мир в мобильном приложении предоставляет детям D.A. Games Компания D.A. Games разработала познавательно — развлекательное приложение «Познавашки — Развивашки» для детей, позволяющее малышам познавать мир самостоятельно или с помощью родителей. Обучение построено на 15 категориях, при помощи которых ребенок изучает расти...

Чем ещё удивит macOS 10.15 Мы уже рассказывали о том, что в macOS 10.15 появится более тесная интеграция с Apple Watch. Сегодня стало известно о других нововведениях: новая операционная система обзаведётся несколькими новыми функциями. Речь идёт о таких опциях как «Быстрые команды Siri» и «Экранное в...

Новое VoIP-приложение 3CX для Android и CFD v16 И снова хорошие новости от 3CX! На прошлой неделе выпущены два важных обновления: новое VoIP-приложение 3CX для Android и новая версия среды разработки голосовых приложений 3CX Call Flow Designer (CFD) для 3CX v16. Новое VoIP-приложение 3CX для Android Новая версия приложен...

Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11 На хабре уже есть много статей про использование вычислительных шейдеров с Unity, однако статью о использовании вычислительного шейдера на "чистом" Win32 API + DirectX 11 затруднительно. Однако эта задача ненамного сложнее, подробнее — под катом. Для этого будем использоват...

Топ-5 лучших VR-симуляторов для Android … и другие направления в использовании VR-технологий Сегодня побывать в виртуальной реальности уже не составляет особого труда: достаточно иметь под рукой производительный смартфон и специальную гарнитуру. Разработчики разнообразных приложений и мобильных игр трудятся над со...

Универсальное DRO на базе Arduino Nano — shDRO. Часть 2 И снова здравствуйте! Продолжаю описывать свою разработку shDRO. В данной части я опишу алгоритм опроса устройств и формат команд консоли. Первая часть. Читать дальше →

Reactor, WebFlux, Kotlin Coroutines, или Асинхронность на простом примере Многие сервисы в современном мире, по большей части, «ничего не делают». Их задачи сводятся к запросам к другим базам/сервисам/кешам и агрегации всех этих данных по различным правилам и разнообразной бизнес-логике. Поэтому неудивительно, что появляются такие языки, как Go...

Выбираем мобильного разработчика за 5 шагов: взгляд IT-компании Всем привет! Мобильные приложения сегодня приобретают все большее значение для бизнеса, но найти надежного подрядчика – непростая задача. Мы в mobile.SimbirSoft пообщались с нашими заказчиками и выяснили, что при выборе исполнителя их всегда волнует следующий вопрос: на что ...

Смотри меня полностью: выжимаем максимум из live video на мобильных платформах Самый простой способ воспроизвести видео на мобильном устройстве — это открыть ссылку имеющимся в системе плеером, но это не всегда эффективно. Можно взять ExoPlayer и оптимизировать его, а можно вообще написать свой видеоплеер, используя только кодеки и сокеты. В статье ...

ARM представила второе в своём роде исключительно 64-битное ядро Cortex-A34 В 2015 году ARM презентовала энергоэффективное 64/32-битное ядро Cortex-A35 для гетерогенной архитектуры big.LITTLE, а в 2016-м выпустила 32-битное ядро Cortex-A32 для носимой электроники. А теперь, не привлекая особого внимания, компания представила 64-битное ядро Cortex‑A3...

Самые интересные яды Привет, %username%! Снова вечер, снова мне нечего делать, и я решил потратить немного времени, чтобы написать третью часть своего цикла о ядах. Надеюсь, ты читал первую и вторую часть, и тебе понравилось. В третьей части мы немного отдохнём. Здесь не будет рассказа о тех...

Дайджест интересных материалов для мобильного разработчика #302 (10 — 16 июня) В новом дайджесте продолжаются рассказы про WWDC и SwiftUI, а заодно говорим про темные режимы, гипер казуальные игры, приложения для людей, рынок фитнес-приложений и многое другое. Читать дальше →

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

Из жизни с Kubernetes: Как HTTP-сервер испанцев не жаловал Представитель нашего клиента, стек приложений которого обитает в облаке от Microsoft (Azure), обратился с проблемой: с недавнего времени часть запросов некоторых клиентов из Европы стала завершаться ошибкой 400 (Bad Request). Все приложения написаны на .NET, развёрнуты в K...

[Перевод] Чтобы вести разработку быстрее, необходимо замедлиться Примечание переводчика: Начало года — отличное время, чтобы вдумчиво оценить прошедший год. Окинуть широким взглядом происходящее и понять, как сделать 2019 год лучше, спокойнее и продуктивнее. В этом деле нам показалась полезной статья How To Slow Down to Go Faster Than E...

О чем думать на NALSD собеседовании Я описывал ранее типичное кодинг-интервью. Помимо кодинга почти всегда есть вопрос на проектирование систем. (Large) System Design. В случае собеседований на SRE, это еще более интересный (как по мне) зверь — NALSD. Non-abstract large system design. Главное отличие между SWE...

Интересные материалы для разработчика мобильных приложений #244 (28 января-3 февраля) В нашем новом дайджесте обновления iOS и Swift, самое интересное машинное обучение в Android, опрос про известность мобильных команд, поиск фрилансеров для вменяемой разработки, самые популярные приложения в разных категориях и многое другое.

[Из песочницы] Как в yEd Graph Editor построить красивую схему базы данных Хочу показать вам как с помощью нынче популярного приложения yEd, которое предназначено для построения различных диаграмм и схем, можно сделать полноценную(со всеми обозначениями) схему базы данных. Читать дальше →

Практика использования библиотеки lottie в мобильном приложении банка Привет, Хабр! В свое время Product Owner попросил подумать нас о создании эффективного процесса по внедрению анимации в наше приложение на android/ios. В то время мы делали задачу по предзаполнению заявки личными данными на кредитный продукт, и на ответ от сервера требовало...

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

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

Как Pegasus и Centaurus вписываются в видение Windows Lite За последнее время в сети появилось достаточно много новой информации о разрабатываемой операционной системе «Windows Lite», которая может быть представлена в рамках конференции разработчиков Build 2019 уже в мае этого года. Как известно, эта версия системы создаётся на баз...

[Из песочницы] Применение Go в производственных системах. Валидаторы Добрый день, Хабр! Я довольно часто начинаю утро с просмотра хабра и наконец решил внести свой вклад в данный процесс изучения интересного. Если всё сложится, то это первая моя статься из цикла применения языка GO на производственных системах. Я хочу рассказать некоторые т...

[Из песочницы] Криптографический алгоритм «Кузнечик»: просто о сложном В данной статье будет подробно рассмотрен алгоритм блочного шифрования, определенный в ГОСТ Р 34.12-2015 как «Кузнечик». На чем он основывается, какова математика блочных криптоалгоритмов, а так же как реализуется данный алгоритм в java. Кто, как, когда и зачем разработал д...

Software Defined Radio — как это работает? Часть 9 Привет Хабр. В предыдущей части было рассмотрено декодирование сигналов RDS для FM-радиостанций, и идея следующей статьи возникла сама собой — нужно сделать свой собственный FM-трансмиттер. Вариантов будет два — простой, и более сложный, с RDS. Как и в предыдущих случая...

[Из песочницы] Когда компания умирает: как пережить банкротство В последнее время на профильных ресурсах все чаще появляется информация о банкротстве IT-компаний с увольнением 100% персонала. Возможно, мой личный опыт будет интересен для людей, находящимся в этой зоне. Статья описывает процессы скорее с точки зрения собственника и топ-ме...

[Перевод] Разработка приложения на SwiftUI. Часть 1: поток данных и Redux После участия в сессии State of the Union на WWDC 2019 я решил детально изучить SwiftUI. Я потратил много времени на работу с ним и теперь приступил к разработке реального приложения, которое может оказаться полезным широкому кругу пользователей. Его я назвал MovieSwift...

Высокоуровневая репликация в СУБД Tarantool Привет, я занимаюсь созданием приложений для СУБД Tarantool — это разработанная в Mail.ru Group платформа, совмещающая в себе высокопроизводительную СУБД и сервер приложений на языке Lua. Высокая скорость работы решений, основанных на Tarantool, достигается в частности за сч...

[Из песочницы] Классификация покрова земли при помощи eo-learn. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи "Land Cover Classification with eo-learn: Part 1" автора Matic Lubej. Предисловие Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиоте...

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

Новый Пуск написан с использованием библиотеки Facebook Win1Leaks сообщает, что новое меню Пуск, которое компания Microsoft сейчас активно разрабатывает, будет построено с использованием JаvaScript-библиотеки React. Данный фреймворк изначально разрабатывался для ленты Facebook, потом он также использовался и в Instagram. Теперь ж...

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

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

NLP. Основы. Техники. Саморазвитие. Часть 2: NER Первую часть статьи об основах NLP можно прочитать здесь. А сегодня мы поговорим об одной из самых популярных задач NLP – извлечении именованных сущностей (Named-entity recognition, NER) – и разберем подробно архитектуры решений этой задачи. Читать дальше →

Создано приложение для оформления ДТП В России С сегодняшнего дня у российских водителей появилась возможность оформить мелкие ДТП при помощи приложения “Помощник ОСАГО”. На данный момент мобильное приложение доступно для использования в пяти регионах.

Behaviors — конечный автомат без головной боли Стандартный подход к описанию последовательности вводов пользователя и реакции на них (например при управлении персонажем в игре) — это конечный автомат (state machine). Он, однако, часто приводит к громоздким программам, понимание которых требует немалых усилий или даже зар...

Анализ кода ROOT — фреймворка для анализа данных научных исследований Пока в Стокгольме проходила 118-я Нобелевская неделя, в офисе разработки статического анализатора кода PVS-Studio готовился обзор кода проекта ROOT, используемого в научных исследованиях для обработки больших данных. Премию за такой код, конечно, не дашь, а вот подробный обз...

3CX v16 Update 1, приложение 3CX для iOS Beta и новая версия 3CX Call Flow Designer Представляем обзор новинок 3CX за последнее время. Будет много интересного — не переключайтесь! 3CX v16 Update 1 Недавно мы выпустили очередное обновление 3CX v16 Update 1. Обновление включает новые возможности чата и обновленный коммуникационный виджет для вашего сайта 3CX...

SmartCard I2C Protocol. Обмен APDU командами через I2C интерфейс Введение Некоторое время назад я принимал участие в разработке устройства, в котором было необходимо реализовать российскую криптографию. Так как в дальнейшем предполагалось это решение сертифицировать, то к реализации криптографии выдвигались определенные требования. И как ...

Управление M5Stack через BLE Интро Уже сравнительно давно микроконтроллер ESP32 стал неким стандартом для множества DIY проектов. И действительно, возможность работы с Wi-Fi, Bluetooth, встроенная энергонезависимая память, а так же большое число выводов позволяют сделать массу интересных проектов. В эт...

Релиз Apple iOS 12.2 закрывает полсотни уязвимостей Компания Apple пропатчила 51 уязвимость в iOS, выпустив обновление 12.2. Один из самых серьезных багов позволяет с помощью приложения подслушать разговоры вблизи телефона. Производитель мобильных гаджетов также залатал iTunes, Safari, macOS и iCloud. Согласно бюллетеню, уязв...

«МобилитиЛаб» интегрировала мобильное приложение WorksPad в ОС «Аврора» Российский разработчик программного обеспечения «МобилитиЛаб» завершил разработку мобильного приложения WorksPad для единственной отечественной мобильной операционной системы (МОС) «Аврора». С помощью WorksPad смартфон превращается в защищенное ...

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

Chrome Audit на 500: Часть 1. Лендинг В инструментах разработчика браузера хром есть вкладка «Audit». На ней расположился инструмент который называется Lighthouse, служит он для анализа насколько хорошо сделано веб приложение. Недавно я решил протестировать одно приложение и ужаснулся результатам. Сразу по нес...

Как мы сделали прототип приложения для остановочных ремонтов Привет! Меня зовут Андрей Грачев, и я продакт-менеджер в СИБУРе. У нас в СИБУРе регулярно происходят «остановочные ремонты». Это что-то вроде профилактики, планового обслуживания и ремонта, на время которого весь завод или часть его полностью останавливается. Такие ремонты...

Как я имплантировала RFID себе в руку, а потом еще NFC. Часть 2 Прошло более четырех лет с момента публикации первой части про EM4100 и я решила все же написать вторую часть — про имплантируемый NFC. Преимущества первой 125 кГц метки были ощутимы сразу — ключ к домофонам и внутренним замкам, но хотелось большего — разблокировать телефо...

[Из песочницы] Инстансы по информационной безопасности на платформе attackdefense.com … Мы живем в эпоху больших событий и маленьких людей … Уинстон Черчилль Сегодня вашему вниманию представляем первую статью из цикла о разборе и прохождении лабораторных работ с ресурса attackdefense.com с поддержкой известного организатор конференций (Black Hat и Pentes...

[Из песочницы] novtable оптимизация Компилятор Microsoft позволяет добавить расширение «novtable» для атрибута «__declspec» при объявлении класса. Заявленная цель — значительно уменьшить размер генерируемого кода. На экспериментах с нашими компонентами уменьшение составило от 0,6 до 1,2 процента от размера D...

Критическая уязвимость Android пряталась пять лет Уязвимость нашел сотрудник компании Positive Technologies Сергей Тошин. Поскольку она устранена в обновлении движка от 29 января 2019 года, информацию о ней стало безопасно публиковать. Подробный комментарий С. Тошина появился в четверг, 21 марта. Благодаря недоработкам в Ch...

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

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

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

[Из песочницы] Vuex — чрезмерное использование геттеров в приложении. Разбор ошибки В этой статье пойдет речь об распространенной ошибке, которую делают большинство начинающих при разработке приложения на Vue + Vuex. Мы поговорим о геттерах (getters) и как их правильно использовать. Также мы рассмотрим вспомогательные функции mapState и mapGetters. Примеча...

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

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

Android 10 Q Beta 3 доступна для загрузки для Pixel и 15 других моделей телефонов   Сразу после анонса на конференции Google I/O 2019 для загрузки стала доступна третья бета-версия Android 10 Q, которая не только несет солидный багаж нововведений, но и доступна для установки как на смартфонах Google Pixel, так и на 15 смартфонов от партнеров Google, среди...

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

[Перевод] Деплоим ML проект, используя Flask как REST API, и делаем доступным через приложение на Flutter Введение Машинное обучение уже везде и, пожалуй, почти невозможно найти софт, не использующий его прямо или косвенно. Давайте создадим небольшое приложение, способное загружать изображения на сервер для последующего распознавания с помощью ML. А после сделаем их доступными ...

[Перевод] Как разрабатываются и производятся процессоры: проектирование ЦП Теперь, когда мы знаем, как работают процессоры на высоком уровне, настало время углубиться в разбор процесса проектирования их внутренних компонентов. Это вторая статья из серии, посвящённой разработке процессоров. Рекомендую изучить для начала первую часть, чтобы вы поним...

Microsoft To-Do для Windows 10 теперь поддерживает работу с несколькими учётными записями Новое обновление приложения Microsoft To-Do для Windows 10 принесло с собой поддержку работы сразу с несколькими учётными записями, что должно облегчить разделение рабочих и личных задач. Сейчас эта функция доступна только участникам программы Windows Insider, но скоро она ...

Камера в Google Translate получила поддержку NMT и 60 новых языков Google значительно улучшил функциональность камеры в приложении Google Translate. Среди основных нововведений – поддержка 60 новых языков и обновление базовых моделей перевода, что в отдельных случаях позволило сократить количество ошибок на 85%. В рамках обновления Google и...

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

Поддержка гибридных процессоров AMD Renoir с архитектурой Zen 2 внедряется в Linux В программном коде ядра операционной системы Linux уже были замечены упоминания о дискретных графических процессорах AMD Navi 12, Navi 14 и Arcturus. С выходом на рынок 7-нм процессоров EPYC семейства Rome могло сложиться впечатление, что теперь «вся семья в сборе», и другим...

[Из песочницы] Как написать легко описываемый код Привет, Хабр! Часто ли у вас было, что вы или ваши коллеги не могли описать свой собственный код парочкой фраз? Предлагаю вашему вниманию перевод статьи "How to write easily describable code" автора Cedd Burge, в которой он делится советом, как избежать таких ситуа...

Обновление Карт от Google очень полезно для водителей. Детали нововведения На прошлой неделе Google Maps получило очередное обновление. Одним из главных нововведений стало внедрение Google Assistant. Голосовой помощник умеет активировать музыку из стриминговых сервисов, отправлять письма без необходимости покидать приложение и даже срочно менять м...

Куда пропал раздел с обновлением приложений в iOS 13 Раньше в App Store был отдельный раздел с доступными обновлениями для установленных приложений. Я любил читать о новых фишках программ и обновлять из вручную. Теперь на этом месте блок игр Arcade. Где искать обновления или как делать апдейт автоматически? Как и в преды...

Принимаем участие в недавнем Telegram Contest, пишем крутое OpenGL ES приложение и выигрываем ничего Забегая вперед, хотелось бы обратить внимание на сумбурную ситуацию с победителем первого этапа конкурса. Победитель забрал 50К американских президентов. НО, был как минимум, еще один разработчик, который написал идентичное приложение и не был никак вознагражден. Он даже по...

[Перевод] Electron: разработка настольных приложений с использованием HTML, CSS и JavaScript Можно ли, используя HTML, CSS и JavaScript, создавать настольные приложения? Автор статьи, перевод которой мы сегодня публикуем, даёт утвердительный ответ на этот вопрос. Здесь он расскажет о том, как, применяя веб-технологии и пользуясь возможностями фреймворка Electron, со...

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

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

Turing для бедных: GeForce GTX 1660 Ti всё-таки будет выпущен Похоже, GeForce GTX 1660 Ti — это никакой не вымысел, и такая видеокарта действительно готовится к выпуску компанией NVIDIA. Данный факт подтвердили сайту VideoCardz сразу три независимых источника. Кроме того, стали известны и некоторые подробности о том, каки...

История разработки складного смартфона под кодовым названием Andromeda На прошлой неделе компания Microsoft представила портативное мобильное устройство с двумя экранами под названием Surface Duo, которое выйдет на рынок в конце следующего года. За этим проектом с кодовым названием Andromeda наши коллеги с портала Windows Central следили на пр...

Продвижение мобильного приложения на реальном опыте в цифрах Ниже пойдет речь о моем интересном опыте в продвижении мобильной игры. 1. Введение Меня никогда не отпускали мысли о том, что все вокруг говорят о большой доходности iOS приложений по сравнению с Android (думаю, каждый из вас об этом слышал), поэтому я не устоял от таких ...

RTOS или не RTOS вот в чем вопрос На написание данной статьи меня побудила длинная ветка комментариев (дискуссией это я назвать, к сожалению, не могу) к моей недавней статье “Многообразный мир embedded systems и место Embox в нем”. Меня в нескольких местах упрекнули в том, что я путаю RTOS и Embedded OS, чт...

Публикация приложения в Microsoft Store: некоторые изменения за год Вот уже год прошел с момента выхода статьи об особенностях публикации в MS Store. За прошедший год произошло много событий – GDPR, выход VS 2019 и прочие изменения. В сегодняшней небольшой статье мне бы хотелось немного рассказать о том, какие изменения произошли в особенно...

Архитектура и возможности Tarantool Data Grid В 2017 году мы выиграли конкурс на разработку транзакционного ядра инвестиционного бизнеса Альфа-Банка и приступили к работе (на HighLoad++ 2018 с докладом о ядре инвестиционного бизнеса выступал Владимир Дрынкин, руководитель направления транзакционного ядра инвестиционно...

Дайджест интересных материалов для мобильного разработчика #318 (14— 20 октября) Мы возвращаемся из отпуска с новым дайджестом в котором есть длинная история путеводителя, закрытие Daydream, самые красивые приложения Material Design Awards 2019, темные темы и рост продуктов, рынок приложений в 3 квартале и многоликий Retention. Читать дальше →

Интересные материалы: 17.04 Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников: Модульная разработка или путь туда, а не обратно AppCode 2019.1: Swift 5, улучшенная работа подсветки, навигации и...

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

[Из песочницы] Изменяем содержимое нотификации приложения iOS Привет! В этой статье я хочу поделиться своим опытом использования одного не очевидного (по крайней мере для меня) варианта изменения текста уведомления приложения, отправкой дополнительных данных через UNUserNotificationCenter. Я надеюсь эта статья будет полезна для нович...

Security Week 25: уязвимость в Evernote и сотни взломанных интернет-магазинов Специалисты компании Guardio обнаружили (новость, исследование) интересную уязвимость в Evernote. Точнее, не в самом приложении для хранения заметок, а в расширении для браузера Google Chrome. Evernote Web Clipper позволяет сохранять веб-страницы, причем как целиком, так и ч...

Тысячи Android-приложений могут содержать RCE-уязвимость Уязвимость выполнения стороннего кода в WhatsApp присутствует и в других приложениях для Android. К такому выводу пришли специалисты TrendMicro, нашедшие около 3000 потенциально опасных программ в Google Play и сторонних файловых архивах. Баг эксплуатируется через вредоносны...

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

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

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

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

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

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

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

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

Samsung выпустила обновление для Galaxy Watch Active 2 Некоторые пользователи часов Galaxy Watch Active 2, заметили, что когда они переключаются в режим Watch Always On, экран начинает мигать. Samsung уже удалось определить причину проблемы и даже предложить исправление в последнем обновлении. Это небольшое обновление весит 14 М...

Билл Гейтс обвиняет антимонопольные разбирательства в том, что Android победил Windows Mobile Компания Microsoft, основанная в 1975 году Полом Алленом и Биллом Гейтсом, стала триллионной компанией из-за ряда замечательных решений, принятых Гейтсом и руководителями Cheif.На одном мероприятии Гейтс недавно заявил, что одна ошибка, которая беспокоит его по сей день, – э...

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

IoT архитектура Почти год назад я начал публиковать серию статей по архитектуре IoT решений. (Ссылка на первую статью habr.com/ru/post/420173). И вот наконец вторая статья серии отдается на ваш суд. Читать дальше →

«Сделаем Карпаты снова чистыми»: разработчики львовского офиса GlobalLogic представили экологическое приложение EcoHike Разработчики львовского офиса GlobalLogic на днях представили свою новую разработку под названием EcoHike. Это мобильное приложение для очищения и сохранения карпатских гор. Как рассказывают авторы, идея создания приложения возникла после совместного подъема на гору Хомяк. &...

Бэрримор, что за шум вокруг Voximplant? Внедрили веб-сокеты, сэр WebSocket — это прогрессивный стандарт полнодуплексной (двусторонней) связи между клиентом и сторонним сервисом в режиме реального времени. Веб-сокеты используются для организации непрерывного обмена данными без разрыва соединения и дополнительных HTTP-запросов. И мы рады ...

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

Использование DiagnosticSource в .NET Core: практика В предыдущей статье я рассказал про механизм DiagnosticSource и на простом примере показал, как с его помощью можно перехватывать запросы в базу данных через классы SqlConnection и SqlCommand и измерять время их выполнения. В настоящее время DiagnosticSource уже используется...

Variational Inference — что это такое и с чем это едят? Привет, Хабр! Недавно пообщался с коллегами о вариационном автоэнкодере и выяснилось что многие даже работающие в Deep Learning знают о вариационном выводе (Variational Inference) и в частности Нижней вариационной границе только по наслышке и не до конца понимают что это та...

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

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

Telegram запустил конкурс для JS-разработчиков с призовым фондом от $200 тысяч Telegram запустил конкурс для JavaScript-разработчиков, цель которого – создать упрощённую версию мессенджера без использования сторонних UI-фреймворков. Итоговое приложение должно включать процессы авторизации и регистрации, а также позволять просматривать списки чатов и со...

[Из песочницы] Пишем VLC плагин для изучения английского В данной статье я расскажу о том, как написать плагин на языке C для медиаплеера VLC. Я написал свой плагин для упрощения просмотра сериалов и фильмов на английском языке. Идея создания этого плагина описывается в разделах Идея и Поиск решения. Технические детали реализаци...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++ В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн...

Настройка сервера для развертывания Rails приложения при помощи Ansible Не так давно мне было необходимо написать несколько ansible playbooks для подготовки сервера к деплою rails приложения. И, на удивление, я не нашел простого пошагового мануала. Копировать чужой плейбук без понимая происходящего я не хотел и в итоге пришлось читать документац...

[Перевод] Разрабатывать приложения под Android — словно быть (демонетизированным) ютубером Как известно, некоторые авторы на YouTube крайне недовольны условиями, которые предлагает эта платформа. Аналогичное сражение сейчас ведут разработчики Android-приложений на платформе Google Play. Попытаюсь за 20 минут объяснить, что не так с Android. Когда-то Android счита...

[Из песочницы] Make it True — Разработка логической игры на Unity Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации. Осторожно, много текста! Статья не являются руководством или уроком, хотя надеюсь что читатели смогут в...

Игра AirAttack! — наш первый опыт разработки в VR Продолжаем серию публикаций о лучших мобильных приложениях выпускников «IT ШКОЛЫ SAMSUNG». Сегодня – слово молодым разработчикам из Новосибирска, победителям конкурса VR-приложений «ШКОЛА VR 360» в 2018 году, когда они были студентами-первокурсниками. Этим конкурсом заверша...

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

Исследователи из Google: для защиты от Spectre требуется изменение архитектуры процессоров, программные патчи не помогут В январе 2018 года исследователи Google раскрыли в публичном доступе информацию о фундаментальной аппаратной уязвимости в большинстве современных процессоров, имеющих спекулятивное выполнение команд. Уязвимость Spectre (и смежная Meltdown) эксплуатирует механизм предсказания...

Даб-даб 2019: новинки WWDC и мои впечатления Привет! Меня зовут Азат Зулькарняев, я занимаюсь разработкой iOS-приложений в компании Badoo. Традиционно мы каждый год с коллегами проводим неделю на WWDC. В статье я делюсь своими впечатлениями с конференции: под катом не только важные обновления и обзор сессий, но и немно...

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

Новое приложение 3CX для Android — ответы на вопросы и рекомендации На прошлой неделе мы выпустили обновление 3CX v16 Update 3 и новое приложение (мобильный софтфон) 3CX для Android. Софтфон предназначен для работы только с 3CX v16 Update 3 и выше. У многих пользователей возникли дополнительные вопросы о работе приложения. В этой статье мы о...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

[Перевод] Учебный курс по React, часть 26: архитектура приложений, паттерн Container/Component В этой части перевода учебного курса по React мы поговорим об архитектуре React-приложений. В частности, обсудим популярный паттерн Container/Component. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: фай...

Cron в Linux: история, использование и устройство Классик писал, что счастливые часов не наблюдают. В те дикие времена ещё не было ни программистов, ни Unix, но в наши дни программисты знают твёрдо: вместо них за временем проследит cron. Утилиты командной строки для меня одновременно слабость и рутина. sed, awk, wc, cut и ...

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

Машинное обучение без Python, Anaconda и прочих пресмыкающихся Нет, ну я, конечно, не всерьез. Должен же быть предел, до какой степени возможно упрощать предмет. Но для первых этапов, понимания базовых концепций и быстрого «въезжания» в тему, может быть, и допустимо. А как правильно поименовать данный материал (варианты: «Машинное обуче...

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

Google подтвердил, что 80% всех приложений Android по умолчанию шифруют сетевой трафик Безопасность является серьезной проблемой для мобильных устройств, и Google стремится обеспечить безопасность пользователей Android. Одним из методов, которые Google использует для обеспечения безопасности данных, является защита сетевого трафика, который поступает на устрой...

[Из песочницы] Применение X-Macro в модерновом C++ коде Современные тренды разработки на C++ предполагают максимально возможный отказ от макросов в коде. Но иногда без макросов, причем в особо уродливом их проявлении, не обойтись, так как без них еще хуже. Об этом и рассказ. Как известно, первым этапом компиляции C и C++ являетс...

В RDP-клиентах для Windows и Linux нашли десятки уязвимостей Популярные RDP-клиенты для удаленного администрирования обладают уязвимостями, которые позволяют злоумышленникам проводить реверсивные атаки или получить несанкционированный доступ к файлам через общий буфер обмена. К такому выводу пришли ИБ-специалисты компании Check Point ...

[Из песочницы] Инструмент для сравнения CSS фреймворков Привет, я Александр. Активно изучаю и занимаюсь веб разработкой уже около года. Все началось с удаления клиента любимой игры и поиска ментора. Совершенствуясь в веб-разработке создал проект CSS Comparator. Сама суть проекта заключается в сравнении CSS фреймворков по размерам...

Приложения будут занимать меньше места в iOS 12.2 Мобильная операционная система iOS 12.2 включает в себя множество интересных находок и нововведений. В недрах ОС разработчиками и энтузиастами были найдены упоминания о новых продуктах и сервисах. Но и это далеко не все. Как сообщает ресурс 9to5Mac, в скором времени все при...

[Перевод] Thinking with Portals: создаём порталы в Unreal Engine 4 В этой статье я расскажу, как создавать порталы в Unreal Engine 4. Я не нашёл никаких источников, подробно описывающих такую систему (наблюдение сквозь порталы и проход через них), поэтому решил написать собственную. Что такое портал? Давайте начнём с примеров и объяснения...

[Из песочницы] Невидимый деплой монолитного приложения в продакшн на AWS. Личный опыт Я – Lead DevOps Engineer в международной SaaS-компании. Мы разрабатываем платформу для совместной работы кроссфункциональных команд. В статье поделюсь тем, как наша DevOps-команда решила проблему ежедневных серверных релизов монолитного stateful-приложения и сделала их автом...

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

Компания Royole представила гибкую клавиатуру и ряд других устройств Компания Royole решила вновь заявить о себе и на этот раз привезла ряд новинок на CES 2019. Если кто не помнит, то она прославилась тем, что представила первый в мире гибкий смартфон – FlexPai. На этот раз компания решила порадовать покупателей не столь значимыми, но н...

Неудачное обновление прошивки превратило кроссовки Nike с автошнуровкой в «кирпичи» Как оказалось, у обуви с автоматической шнуровкой появились первые проблемы. Так, кроссовки Nike «Adapt BB» стоимостью 350 долларов, поставляемые с приложением для Android и iOS, которое управляет натяжением, «сломались» по причине отказа самого приложения.

[Перевод] Как Project Infer от Facebook помогает искать баги в мобильных приложениях перед деплоем Несколько дней назад команда инженеров Facebook отличилась — ее удостоили награды Most Influential POPL Paper Award. В среде специалистов по машинному обучению это весьма почетно. Награду вручили за работу Compositional Shape Analysis by Means of Bi-abduction, которая рас...

[Перевод] 19 концепций, которые нужно изучить для того, чтобы стать эффективным Angular-разработчиком TODO-приложение во фронтенд-разработке — это то же самое, что «Hello world» в обычном программировании. При создании TODO-приложений можно изучить выполнение CRUD-операций средствами того или иного фреймворка. Но часто подобные проекты лишь весьма поверхностно касаются того,...

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

Вредные советы: как правильно писать техническую документацию? Часть вторая Советы по грамотному написанию технической документации для пользователей. Часть 2 Продолжение руководства нашего технического писателя Андрея Старовойтова, которое поможет сделать вашу пользовательскую документацию проще и понятнее. Начало статьи можно почитать тут, а то...

[recovery mode] REST страсти по 200 Давно я хотел написать эту статью. Все думал — с какой стороны зайти правильнее? Но, вдруг, недавно, на Хабре появилась подобная статья, которая вызвала бурю в стакане. Больше всего меня удивил тот простой факт, что статью начали вбивать в минуса, хотя она даже не декларир...

Quick Draw Doodle Recognition: как подружить R, C++ и нейросетки Привет, Хабр! Осенью прошлого года на Kaggle проходил конкурс по классификации нарисованных от руки картинок Quick Draw Doodle Recognition, в котором среди прочих поучаствовала команда R-щиков в составе Артема Клевцова, Филиппа Управителева и Андрея Огурцова. Подробно опи...

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

Как реализуется Retentioneering в App in the Air Удержать пользователя в мобильном приложении – это целая наука. Ее основы в нашей статье на VC.ru описал автор курса Growth Hacking: аналитика мобильного приложения Максим Годзи, руководитель подразделения Машинного обучения в App in the Air. Максим рассказывает о разработ...

Отказаться от всех предложений разом. Новые настройки Google Play могут удалить пользователя из всех бета-программ Компания Google без особых фанфар и шума внесла изменения в настройки онлайн-магазина приложений Google Play. На это обратил внимание ресурс AndroidPolice.  В настройках магазина появился дополнительный пункт в разделе «Общие» под названием «Наст...

[Перевод] Как делать сайты в 2019 году Веб стремительно меняется, не отставай и ты! Я писал такую подобную статью в 2018 году, но веб меняется так быстро, что те гайдлайны уже безнадёжно устарели. Давайте-ка шаг за шагом разберём важнейшие принципы веб-дизайна в 2019 году. Обязательно дайте пользователю знать, ч...

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

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

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

Обзор IT-Weekly (12.08 - 18.08.2019) Group-IB выявила новую волну мошенничества, направленного на пользователей приложений для мобильного банкинга. В схеме используется программа для делегирования доступа TeamViewer, которая позволяет подключиться постороннему лицу к смартфону.

Путеводитель по программе JPoint 2019 Последний месяц зимы подходит к концу, и просыпается здоровое желание сходить на какую-нибудь большую Java-конференцию. Благо, всего месяц остался до JPoint 2019 — международной Java-конференции, которая пройдёт в начале апреля в Москве. Программа почти стабилизировалась, и ...

В Google Play вышло поддельное приложение для обновления смартфонов Samsung Обновления – довольно противоречивое явление. С одной стороны, апдейты содержат в себе нововведения, которые расширяют функциональные возможности гаджета. А, с другой, их появление практически всегда увеличивает нагрузку на «железо» уже ненового аппарата, снижая его быстрод...

Summer Droid Meetup Привет! Приглашаем android-разработчиков на наш Summer Droid Meetup. 3-е августа, Сад Эрмитаж, Каретный ряд, д 3, стр 6, «Веранда 32.05». Начало в 12:00. Программа митапа «Сбор и анализ неординарных данных Android-приложения», Дмитрий Васильев, FunCorp О докладе Доклад ...

3D-печать и airsoft: как я печатал «привод» Всем привет! Я попробую немного рассказать о том, как я пытался сделать страйкбольный привод при помощи 3D-принтера, что из этого получилось и с какими сложностями пришлось столкнуться. Статья может оказаться интересной для тех, кто любит airsoft, DIY или 3D-печать. Для те...

В этой статье слишком ного воды «Мы начинаем разработку новой игры, и нам нужна классная вода. Такую сможешь: », — cпросили меня. «Да не вопрос! Конечно смогу.», — ответил я, но голос предательски задражал. «А, еще и на Unity?», — и мне стало понятно что впереди очень много работы. Читать дальше →

Ошибки панели администрирования или опыт разработки Laravel Orchid В прошлом на Хабре публиковалась статья "Orchid CMS — ещё одна CMS на Laravel", а теперь спустя два года и больше 100 релизов попробуем разобрать ошибки и проблемы которые стояли на пути разработки. Читать дальше →

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

[Из песочницы] React. Lazy loading Доброго времени суток. Занимаюсь разработкой проекта на React и Redux. Хочу в этой статье описать архитектуру своего проекта. Итак, начнем. Файловая структура: Для подключения редьюсеров создаем класс singleton reducerRegister: ./reducerRegister.js class ReducerRegistry...

Все, что вы хотели знать о SwiftUI, но боялись спросить Привет! Меня зовут Ренат, я разрабатываю сервис по аналитике подписок в iOS – Apphud. Как вы знаете, Apple на WWDC 2019 представила свой новый фреймворк SwiftUI, который призван в будущем заменить (или нет?) привычный нам UIKit. SwiftUI позволяет описывать интерфейс приложе...

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

[Перевод] Взлом цветного картриджа HP: превращаем его в ручной принтер Введение Ещё с юности, когда у нас был старый DeskJet, меня интересовали картриджи струйных принтеров. Эти картриджи казались очень интересными и как только в них заканчивались чернила, я сразу забирал их себе. В то время я не мог сделать с ними ничего, кроме как разобрать ...

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

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего. В этой статье я хотел бы подели...

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

Учим китайский — HelloChinese 4.7.8 «Учим китайский — HelloChinese» это приложение для Весёлого, Удобного и Эффективного изучения Китайского языка! Созданный специально для начинающих, HelloChinese поможет вам максимально быстро достичь разговорного уровня. С HelloChinese вы сможете с абсолютного нуля под...

[Из песочницы] Коротко о главном: Clean Architecture, Robert C. Martin Это будет рассказ о впечатлении о книге, а также будут рассмотрены некоторые понятия и знания, которые, благодаря этой книге, были изучены Архитектура Можете ли вы, читая эту публикацию, дать четкий ответ на вопрос, что такое архитектура? Что такое архитектура в контексте п...

[Из песочницы] React Native — серебряная пуля для всех проблем? Как мы выбирали кросс-платформенный инструмент для Profi.ru Всем привет, меня зовут Геворг. Я Head of Mobile в Profi.ru. Хочу поделиться с вами историей нашего эксперимента с React Native. Расскажу, как мы оценивали плюсы и минусы разработки на React Native — в теории и на практике. Статья будет полезна тем, кто интересуется кросс-пл...

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков В жизни многих компаний, которые имеют и развивают свой стек библиотек и компонентов, наступает момент, когда объёмы этого стека становится сложно поддерживать. В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в ...

Автоматизация Для Самых Маленьких. Часть 1.1. Основы виртуализации Предыдущая статья рассматривала архитектуру виртуализированной сети, underlay-overlay, путь пакета между VM и прочее. Роман Горге вдохновился ею и решил написать обзорный выпуск о виртуализации вообще. В данной статье мы затронем (или попытаемся затронуть) вопросы: а как с...

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

[Из песочницы] Обзор нового javascript фреймворка Htmlix В данной статье постараюсь описать все основные возможности нового javascript фреймворка Htmlix, а также рассмотреть принцип его работы на примере создания небольшого приложения. Данное приложение — это страница простого фильтра товаров по категориям, с различными частями ш...

[Из песочницы] 10 понятий для дизайнера в 2019-м Среда работы UI/UX дизайнеров стремительно расширяется и растет: появляется уйма новых продуктов и инструментов для разработки интерфейсов, крутых возможностей благодаря развитию гибких языков программирования и, конечно же, в дизайнерскую экосферу внедряется множество новых...

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

GeekUniversity обновил программу обучения веб-разработке: ещё больше практики и кейсы Delivery Club Мы рады сообщить об обновлении программы факультета веб-разработки в онлайн-университете для программистов GeekUniversity. Теперь обучение займёт полтора года вместо одного. В программе появится курс о highload-приложениях, разработанный совместно с Delivery Club. Подробнее...

Дайджест интересных материалов для мобильного разработчика #282 (14 — 20 января) В нашем новом дайджесте карта доверия к мобильным SDK, реки пользовательских данных, интерфейсы и юзабилити, определяющий отчет App Annie об экономике мобильных приложений и многое другое! Читать дальше →

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

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

Apple выдвинула новые требования к приложениям для iPhone, iPad и Apple Watch Компания Apple объявила о нововведениях, которые ждут разработчиков приложений для iPhone и iPad, представленный и планируемых к выпуску в магазине App Store. Уже через неделю ко всем приложениям для iPhone и iPad будет предъявляться несколько новых требований: они долж...

Интересные доклады на HighLoad++ Siberia 2019 по версии Plesk Всем привет! В июне в Новосибирске прошла конференция по разработке высоконагруженных приложений HighLoad++ Siberia 2019. Ранее в статьях на Хабре мы упоминали, что мы в компании Plesk проводим ретроспективу конференций и докладов, которые посещаем, чтобы не потерять получен...

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

[Перевод] Vue.js: 3 анти-паттерна Вероятно, Vue.js — это один из приятнейших JavaScript-фреймворков. У него имеется интуитивно понятный API, он быстрый, гибкий, им легко пользоваться. Однако гибкость Vue.js соседствует с определёнными опасностями. Некоторые разработчики, работающие с этим фреймворком, склонн...

Мой первый опыт восстановления базы данных Postgres после сбоя (invalid page in block 4123007 of relatton base/16490) Хочу поделиться с вами моим первым успешным опытом восстановления полной работоспособности базы данных Postgres. С СУБД Postgres я познакомился пол года назад, до этого опыта администрирования баз данных у меня не было совсем. Я работаю полу-DevOps инженером в крупной IT-к...

Перепрограммируем кассу и печатаем на ней Киану Ривза. Часть 2. ПО для ПК В предыдущей статье я кратко описал свою прошивку для ККТ ШТРИХ-ФР-К, которая позволяет управлять термоголовкой, движками и соответственно выводить на печать все что угодно. В этой части я покажу как написать софт, который будет общаться с кассой и форматировать картинку для...

mac OS Catalina: Пора накатить… Стало доступно обновление операционной системы для ноутбуков MacOS, которое назвали Catalina. Среди прочего пользователям на MacBook станет доступен сервис Apple Arcade. Также многих порадуют так называемые приложения Catalyst, которые изначально создавались под iPad, а тепе...

Apple может отказаться от iTunes В обозримом будущем, Apple может окончательно отказаться от своего приложения iTunes. Такое предположение высказал разработчик Стив Троутон-Смит, который нередко делится с нами достоверной информацией. По его словам, в корпорации сейчас работают над тремя новыми приложениям...

[Из песочницы] Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans. Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небол...

Blitz Engine & Battle Prime: ECS и сетевой код Вступление Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процес...

bear_hug: игры в ASCII-арте на Python3.6+ Для своих игр в ASCII-арте я написал библиотеку bear_hug с очередью событий, коллекцией виджетов, поддержкой ECS и прочими полезными мелочами. В этой статье мы посмотрим, как с её помощью сделать минимальную работающую игру. Читать дальше →

[Перевод] Вышла Preview-версия XAML Hot Reload для Xamarin.Forms На прошлой неделе на Xamarin Developer Summit мы анонсировали «Горячую перезагрузку (Hot Reload) XAML для Xamarin.Forms», которая позволяет вносить изменения в пользовательский интерфейс XAML и просматривать их в режиме реального времени, не требуя другой сборки и развертыва...

[Из песочницы] Применение формальных методов валидации моделей для UI Привет, Хабр! Представляю вашему вниманию перевод статьи «FORMALLY SPECIFYING UIS» автора Hillel Wayne. От автора Относительно недавно я наткнулся на статью про Инженерные методы в разработке ПО, где vasil-sd рассказал про формальную валидацию спецификаций к создаваемым пр...

Приложение OneDrive получает темный режим для Android 10 С помощью Android Q компания Google полностью обновила практически все, включая уведомления, меню настроек, а также приложения, поддерживающие общесистемную темную тему.Большинство приложений Google были обновлены с поддержкой нового цвета. Немногие сторонние разработчики, в...

[Из песочницы] Создание приложения Sticky Notes с использованием 8base, GraphQL и React Посмотреть демо версию программы здесь. Во все времена тайм менеджмент был связан для меня с огромной борьбой, запланированные задачи забыты, заметки потеряны, потому что они распределены по нескольким приложениям, сохраняющим заметки. Решение заключается вовсе не в прило...

[Из песочницы] Windows Phone 8.1: ностальгии разработки пост. История одного приложения Приветствую, Хабр! Пост навеян новостью о прекращении поддержки Windows 10 mobile. Являясь одно время обладателем Nokia Lumia 925, расскажу про одну из моих поделок на поприще мобильной разработки под Windows Phone 8.1. Читать дальше →

[Перевод] Развертывание кластера Kubernetes в OpenStack с помощью Kubespray Kubernetes быстро стал стандартом для поставок и масштабирования контейнерных приложений и управления ими. Это очень гибкое и универсальное решение с открытым исходным кодом. У него обширная документация, и в ней не всегда легко найти нужный раздел. Поэтому Kubernetes так н...

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

[Перевод] Учебный курс по React, часть 28: современные возможности React, идеи проектов, заключение Сегодня, в заключительной части перевода курса по React, мы поговорим о современных возможностях React и обсудим идеи React-приложений, создавая которые, вы можете повторить то, чему научились, проходя этот курс, и узнать много нового. → Часть 1: обзор курса, причины попу...

[Перевод] От идеи к производству — Разработка IoT проекта Сегодня мы пошагово разберем взлеты и падения разработки IoT. Только примеры из настоящей жизни, никаких теоретических "наверное" и много опыта. А еще ссылки на связанные статьи как бонус. Читать дальше →

Разбираем уязвимости проверки сертификатов SSL/TLS в небраузерном софте Первоначально разработанный для браузеров, SSL/TLS-протокол позже стал стандартом де-факто вообще для всех защищенных интернет-коммуникаций. Сейчас он используется для удаленного администрирования виртуальной инфра­структуры, развернутой в облаке, для передачи платежных рекв...

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

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

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

[Перевод] Знакомство с SwiftUI: Создание простого приложения с использованием TableView Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количества кода, декларативным...

[Перевод] Пример создания Makefile для Go-приложений В этом руководстве мы рассмотрим, как разработчик Go может использовать Makefile при разработке собственных приложений. Что такое Makefile-ы? Makefile — невероятно полезный инструмент автоматизации, который можно использовать для запуска и сборки приложений не только на G...

MVCC-6. Очистка Мы начали с вопросов, связанных с изоляцией, сделали отступление про организацию данных на низком уровне, затем подробно поговорили о версиях строк и о том, как из версий получаются снимки данных. В прошлый раз мы поговорили о HOT-обновлениях и внутристраничной очистке, а с...

Apple собирается объединить приложения для iPhone, iPad и macOS в одну платформу до 2021г Apple продолжает усиленно работать над тем, чтобы максимально облегчить разработчикам программного обеспечения оптимизацию их приложений для iOS и macOS. Идея состоит в том, чтобы создать платформу, которая унифицирует код и позволит программам работать на обеих платформах б...

[Из песочницы] 10 самых распространенных ошибок Spring Framework Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Most Common Spring Framework Mistakes» автора Toni Kukurin. Spring, вероятно, один из самых популярных Java-фреймворков, а также могучий зверь для укрощения. Хотя его базовые концепции довольно легко понять, д...

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

Экономия на мобильной кросс-платформенной разработке: кейс Skyeng Привет, я Андрей Кучеренко, тимлид мобильной разработки Skyeng. Мы делаем мобильные приложения под iOS и Android. У них одинаковая функциональность и одинаковый с точностью до стилистики интерфейс. Но из-за разных платформ разработка вроде бы одного приложения получается до...

«Внеси свой вклад в экосистему Samsung!» – конкурс идей. Главный приз — Galaxy S10 Многие российские семьи пользуются техникой Samsung. Уже 9 лет подряд Samsung стабильно лидирует в рейтинге «Любимые бренды россиян» за счет высоких мест в категориях бытовой техники, мобильных устройств, ТВ, аудио-, видеотехники и т.д. Мы предлагаем вам задуматься над тем...

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

Выпущен драйвер AMD Radeon 19.12.1 с поддержкой RX 5300M Компания AMD выпустила первый декабрьский драйвер Radeon Software Adrenalin 2019 Edition 19.12.1 для своих видеокарт. Обновлённая версия приносит с собой только добавление поддержки мобильного графического процессора Radeon RX 5300M, а также исправляет проблему с «заиканием...

Дайджест интересных материалов для мобильного разработчика #290 (11 марта — 17 марта) Новый дайджест рассказывает про идемпотентность API, борьбу Apple и Spotify, именные законы дизайна, самые зарабатывающие приложения и чистое золото мобильных игр. Читать дальше →

Совместная работа Microsoft и Samsung позволит объединить Android и Windows Microsoft и Samsung формируют более тесное партнёрство для разработки мобильных Android-приложений, которые помогут преодолеть разрыв между смартфонами и ПК, работающими на основе Windows. Генеральный директор Microsoft Сатья Наделла (Satya Nadella) отметил, что данное партн...

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

[Из песочницы] Про мобильную приватность и Open Source Привет Хабр. Не так давно у меня появилось желание написать целую серию статей о безопасности, приватности и анонимности в интернете. Я не хочу тратить время читателей, в очередной раз описывая весьма плачевную ситуацию со сбором персональных данных, все это и так уже бы...

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

Состоялся релиз сервиса Windows Virtual Desktop Компания Microsoft объявила о глобальном релизе сервиса Windows Virtual Desktop для бизнеса, который поддерживает многосессионную работу с Windows 10 и службу Windows Server Remote Desktop Services (RDS), а также оптимизирован для использования Office 365 ProPlus. Отметим, ...

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

VPS с видеокартой (часть 2): вычислительные возможности В предыдущей статье мы не затронули некоторые интересные аспекты использования виртуальных серверов с видеоадаптерами. Пришло время дополнить тестирование. Для использования физических видеоадаптеров в виртуальных средах мы выбрали технологию RemoteFX vGPU, которая поддер...

Workers архитектуры Clean Swift Привет, читатель! Ранее мы разобрали как устроен VIP цикл и как совершать переходы между с ценами с передачей данных. Теперь нужно разобраться как разгрузить наш Interactor от переизбытка логики и вынести ее часть для повторного использования другими сценами. И в этом нам ...

Структура DNS пакета Предисловие Решил как то написать снифер DNS, так сказать just for fun. Просто посмотреть какие адреса в моей системе резолвятся. Протокол старый, документации должно быть много. Много. Но все статьи очень не полные и заканчиваются, на самом интересном моменте. Да, есть rf...

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

[Из песочницы] Как я боролся с Shared Element Transition и написал свою первую opensource библиотeку Нет повести печальнее на свете, чем повесть о ViewPager’e и SET’e Хочется предупредить, что автор ‒ новичок андроид, поэтому статья содержит столько технических неточностей, что вас, скорее, нужно предупредить о том, что в статье могут встретиться технически достоверные...

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