Социальные сети Рунета
Четверг, 21 февраля 2019
16 августа 2018   15:00

[Перевод] Докеризация веб-служб на R и Python

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

Подробности на сайте: habr.com

Сборка проектов с dapp. Часть 2: JavaScript (frontend) Этот материал продолжает цикл о сборке Docker-образов для приложений на различных языках программирования с помощью утилиты dapp. Предыдущая статья была о сборке приложений на Java — теперь же поговорим о приложениях на JavaScript. Для начала это будет frontend-приложение,...

Анализ подходов к связыванию модулей в Node.js Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них я в этой статье и расскажу. Будут рассмотрены четыре подхода: Жёсткие завис...

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

[Перевод] Мониторинг приложений с Prometheus Добрый вечер! На этой неделе мы запускаем четвёртый по счёту поток курса «DevOps: практики и инструменты», так что по традиции небольшая интересная статья для вас. Поехали В этом практическом руководстве мы рассмотрим, как интегрировать мониторинг Prometheus в существующ...

Контейнеризация Angular 6 SPA Template ASP .NET Core 2.1 приложения К сожалению готового решения нигде не нашел. Пришлось компилировать из нескольких источников информацию. Чтобы запустить в докере Angular 6/7 приложение в виде проекта на ASP .NET Core. Если мы включим стандартными средствами поддержку докер для проекта с Angular приложение...

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

Сравниваем PHP FPM, PHP PPM, Nginx Unit, React PHP и RoadRunner Тестирование производилось с помощью Yandex Tank. В качестве приложения использовались Symfony 4 и PHP 7.2. Целью являлось сравнение характеристик сервисов при разных нагрузках и нахождение оптимального варианта. Для удобства все собрано в docker-контейнеры и поднимается с...

Как организовать ваши зависимости во Vue-приложении Все, кто знаком с Vue, знают, что у Vue-приложения одна точка входа — файл main.js. Там, помимо создания экземпляра Vue, происходит импорт и своего рода Dependency Injection всех ваших глобальных зависимостей (директив, компонентов, плагинов). Чем больше проект, тем больше с...

Уменьшаем количество слоёв архитектуры с 5 до 2 Работая над несколькими open-source проектами, в один прекрасный день я решил упростить себе жизнь и разработал Upstream-модуль для nginx, который помог мне убрать громоздкие слои многослойной архитектуры. Это был забавный опыт, которым я хочу поделиться в этой статье. Мой ...

Использование Unity3D в нативном iOS/Android приложении для моделирования освещения открытых пространств Unity3D известнейшая платформа для разработки 3D и 2D игр, завоевавшая популярность во всем мире. В то же время ее возможности не ограничены разработкой только игровых приложений, а подходят для применения в любых других областях, требующих создания кроссплатформенных прил...

Activity Manager 3.2.0 Activity Manager — лаунчер скрытых приложений и менеджер ярлыков. Показывает список всех установленных приложений, в том числе системных, которые по-умолчанию скрыты из лаунчеров. Для каждого приложения есть возможность посмотреть список всех активностей (в данном конте...

Релиз YouTrack 2018.2: новая страница проектов, Docker-образ YouTrack и многое другое Всем привет! Мы выпустили новую версию системы управления проектами — YouTrack 2018.2 — и спешим поделиться с вами нововведениями. Читать дальше →

На поводу у трендов, или движение навстречу RxJava и LiveData На дворе 2018 год. Всё чаще встречаются слова RxJava и LiveData. Но если вдруг так случилось, что в вашем приложении до сих пор балом правят старомодные решения вроде библиотеки android-priority-jobqueue или AsyncTask (да, бывает и так), то эта статья специально для вас. ...

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

[Из песочницы] Пошаговая инструкция по восстановлению доступа к Linux Amazon EC2 инстансу при потере pem-файла Если при создании Linux-инстанса в AWS не была создана пара ключей (KeyPair) для доступа к нему через SSH либо они утеряны, то необходимо совершить ряд операций для получения доступа к машине. К уже запущенному инстансу добавить ключи через консоль AWS невозможно. Существует...

Надежное хранилище с DRBD9 и Proxmox (Часть 2: iSCSI+LVM) В предыдущей статье я рассмотрел возможность создания отказоустойчивого NFS-сервера с помощью DRBD и Proxmox. Получилось довольно неплохо, но не будем останавливаться на достигнутом и теперь постараемся "выжать все соки" из нашей хранилки. В этой статье я расскажу как подоб...

[Перевод] Flutter для Android-разработчиков. Как создавать UI для Activity, используя Flutter Эта статья написана для Android-разработчиков, которые хотят применить свои существующие знания для создания мобильных приложений с помощью Flutter. В этой статье мы рассмотрим эквивалент Activity во Flutter. Читать дальше →

Полное руководство по CMake. Часть вторая: Система сборки Введение В данной статье рассмотрено использование системы сборки CMake, применяемой в колоссальном количестве проектов на C/C++. Строго рекомендуется прочитать первую часть руководства во избежание непонимания синтаксиса языка CMake, явным образом фигурирующего на протяжен...

Harbor — реестр для Docker-контейнеров с безопасностью «из коробки» 31 июля организация CNCF объявила о принятии в свою «песочницу» (т.е. на самый ранний этап поддержки) нового Open Source-проекта, охарактеризованного как «облачный (cloud native) реестр», — Harbor. На его сайте нам объясняют, что продукт создан для управления образами Docker...

ASP.NET Razor: решение некоторых проблем с архитектурой для модели представления Введение Здравствуйте, коллеги! Сегодня хочу поделиться с вами своим опытом разработки архитектуры View Model в рамках разработки веб-приложений на платформе ASP.NET, используя шаблонизатор Razor. Описываемые в данной статье технические реализации подходят для всех актуальн...

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

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

OpenVPN, о котором вы так мало знали OpenVPN, как много в этом слове. Мультиплатформенный, гибко настраиваемый, бесплатный VPN сервер с открытым исходным кодом, являющийся фактически стандартом "defacto" для организации доступа к внутренним корпоративным сетям. Большинство администраторов используют его с настр...

Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения Часть 2: Решение И снова здравствуйте! Сегодня я продолжу свой рассказ о том, как мы классифицируем большие объёмы данных на Apache Spark, используя произвольные модели машинного обучения. В первой части статьи мы рассмотрели саму постановку задачи, а также основные проблемы...

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

Apple начала борьбу со сторонним ПО для контроля времени использования Компания Apple начала ограничивать присутствие в App Store сторонних приложений для контроля времени использования iPhone и iPad, передает TechCrunch. По данным издания, с появлением функции «Экранное время» в iOS 12 модераторы фирменного магазина ПО стали предъявлять к при...

Самый простой способ создания игры (но это не точно) Привет, Хабр! Сегодня у нас заключительная статья из серии по разработке игры с программированием без написания кода. Кстати, все это на базе платформы Clickteam Fusion 2.5. Рассмотрим реальный проект по созданию платформера и расскажем о публикации в Microsoft Store. Загляд...

Kubernetes кластер за $20 в месяц TL; DR Поднимаем кластер для обслуживания веб-приложений без записи состояния (stateless web applications) вместе с ingress, letsencrypt, не используя средства автоматизации вроде kubespray, kubeadm и любых других. Время на чтение: ~45-60 минут, на воспроизведение действий: ...

Создание приложения на .NET Core и Kubernetes: наш опыт Всем привет! Сегодня расскажем об опыте одного из наших DevOps проектов. Мы решили реализовать новое приложение под Linux с использованием .Net Core на микросервисной архитектуре. Мы рассчитываем, что проект будет активно развиваться, а пользователей будет всё больше и бо...

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

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

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

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

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

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

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

GitLab для Continuous Delivery проекта на технологиях InterSystems: Контейнеры Эта статья — продолжение статьи про организацию процессов Continuous Integration / Continuous Delivery, автоматизирующих сборку, тестирование и доставку приложений применимо к решениям на платформе InterSystems. Рассмотрим такие темы как: Контейнеры 101 Контейнеры на разны...

[Перевод] Использование VS Code для вызова REST API в Azure IoT Hub [+ полезные материалы] Привет, Хабр! Сегодня делимся мини-туториалом по использованию Visual Studio Code для вызова REST API в центре интернета вещей Azure. Рассмотрим все необходимые инструменты, создание HTTP-запроса, генерацию SAS и отправку запроса. Ну а в конце статьи вы найдете 3 полезных ре...

Передача данных через анимированные QR на Gomobile и GopherJS В данной статье я хочу рассказать о небольшом и забавном проекте выходного дня по передаче файлов через анимированные QR коды. Проект написан на Go, с использованием Gomobile и Gopherjs – последний для веб-приложения для автоматического замера скорости передачи данных. Если ...

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

Система управления складом с использованием CQRS и Event Sourcing. Процесс Разработки Данная статья является продолжением ряда статей опубликованных здесь ранее и посвященных этапам: Постановке требований Проектированию Реализации. Service Layer В ней описано каким образом мы организовали процесс разработки привлекая разработчиков из собщества Magento с ...

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

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

Пишем загрузчик ПЛИС в LabVIEW У большинства "нормальных" программистов, мягко говоря, неоднозначное отношение к технологии LabVIEW. Тут спорить можно долго и безрезультатно. Ситуацию усугубляет то, что в сети масса примеров программ на LabVIEW, но все они ориентированы на новичка и сводятся к "ой, смо...

Как адаптировать UX/UI под permissions Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п. Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. ...

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

[Перевод] Kubernetes: сборка образов Docker в кластере Чтобы собирать образы Docker в контейнере и при этом обойтись без Docker, можно использовать kaniko. Давайте узнаем, как запускать kaniko локально и в кластере Kubernetes. Дальше будет многабукаф Читать дальше →

Newman и Continuous Integration на примере Atlassian Bamboo. Изобретение велосипеда Введение В недавней статье наш боевой товарищ actopolus рассказал о том, как мы научились применять Postman для реализации функционального тестирования нашего API проекта. Научившись писать функциональные тесты, и написав их порядка полутора сотен, мы решили, что настало т...

[Перевод] Вся правда об ОСРВ. Статья #18. Группы флагов событий: вспомогательные службы и структуры данных Эта статья продолжает описывать группы флагов событий. Предыдущие статьи серии: Статья #17. Группы флагов событий: введение и базовые службы Статья #16. Сигналы Статья #15. Разделы памяти: службы и структуры данных Статья #14. Разделы памяти: введение и базовые службы ...

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

[Перевод] Angular 6+ полное руководство по внедрению зависимостей.  providedIn vs providers:[] В Angular 6 появился новый улучшенный синтаксис для внедрения зависимостей сервисов в приложение (provideIn). Несмотря на то, что уже вышел Angular 7, эта тема до сих пор остается актуальной. Существует много путаницы в комментариях GitHub, Slack и Stack Overflow, так что ...

Менеджеры зависимостей В этой статье я расскажу, в чем менеджеры зависимостей (package manager) схожи по внутреннему устройству, алгоритму работы, и в чем их принципиальные отличия. Я рассматривал package manager’ы, предназначенные для разработки под iOS/OS X, но содержание статьи с некоторыми д...

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

Интеграция 3CX с 1С: Управление торговлей — метод объединения конфигураций В прошлой статье мы рассмотрели интеграцию 3CX v15.5 с типовой конфигурацией 1С Управление торговлей, редакция 11 (11.4.3.167) для России. Однако некоторые специалисты в комментариях выразили опасение, что отключение режима совместимости платформы 1С с текущей версией конфиг...

Поваренная книга разработчика: DDD-рецепты (3-я часть, Архитектура приложения) Введение В рамках предыдущих статей мы выделили область применения подхода и рассмотрели основные методологические принципы Domain Driven Design. В данной статье я хотел бы обозначить основные современные подходы к построению архитектуры корпоративных систем: Supple, Screami...

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

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

[Из песочницы] Подход к реализации RBAC в ReactJS Вступление Привет, дорогой читатель! Некоторое время (около года) назад столкнулся с необходимостью условной отрисовки компонентов в ReactJS в зависимости от текущих прав пользователя. Первым делом начал искать готовые решения и «лучшие практики». Статья "Role based authori...

Работа с абстрактными синтаксическими деревьями JavaScript  Зачем парсить свой код? Например, для того, чтобы найти забытый console.log перед коммитом. А что делать, если вам надо изменить сигнатуру функции в сотнях вхождений в коде? Справятся ли тут регулярные выражения? В этой статье будет показано, какие возможности перед разработ...

Разработка интерфейсных классов на С++ Оглавление     Введение     1. Специальные функции-члены, создание и удаление объектов         1.1. Специальные функции-члены         1.2. Создание и удаление объектов — основные подробности         1.3. Уровень доступа деструктора         1.4. Создание и удаление в одном мо...

[Из песочницы] Создаем простой API-шлюз в ASP.NET Core Привет, Хабр! Представляю вашему вниманию перевод статьи "Creating a simple API Gateway in ASP.NET Core". Время чтения: ~10 минут В моей предыдущей статье, JWT аутентификация для микросервисов в .NET, я рассмотрел процесс создания микросервиса для аутентификации пользователе...

Пишем торговых роботов с помощью графического фреймворка StockSharp. Часть 1 В нашем блоге мы много пишем о технологиях и полезных инструментах, связанных с биржевой торговлей. Один из них – бесплатная платформа StockSharp, которую можно использовать для профессиональной разработки торговых терминалов и торговых роботов на языке C#. В данной статье...

[Из песочницы] Chisel — (не совсем) новый подход к разработке цифровой логики С развитием микроэлектроники, rtl дизайны становились все больше и больше. Реюзабилити кода на verilog доставляет массу неудобств, даже с использованием generate, макросов и фишек system verilog. Chisel же, дает возможность применить всю мощь объектного и функционального пр...

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

[Перевод] Что нужно ждать о создании стратегий для торговли на бирже: насколько эффективно машинное обучение В нашем блоге на Хабре мы публиковали адаптированные переводы материалов из блога The Financial Hacker, посвященные вопросам создания стратегий для торговли на бирже. Ранее мы обсудили поиск рыночных неэффективностей, создание моделей торговых стратегий, и принципы их прог...

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

[Перевод] Встречайте псевдоконсоль Windows (ConPTY) Статья опубликована 2 августа 2018 года Это вторая статья про командную строку Windows, где мы обсудим новую инфраструктуру и программные интерфейсы псевдоконсоли Windows, то есть Windows Pseudo Console (ConPTY): зачем мы её разработали, для чего она нужна, как работает, ка...

Знакомство с виртуализацией, контейнерами и Kubernetes: 18 материалов о работе в облаке В этой подборке мы объединили статьи и руководства для тех, кто хочет познакомиться с виртуализацией. В материалах под катом — как появилась виртуальная инфраструктура, что такое контейнеризация и чем занимается Cloud DevOps Engineer. Читать дальше →

[recovery mode] Еще один способ использования docker-compose По следам статьи Docker + Laravel = ? хочу рассказать о довольно необычном способе использования утилиты docker-compose. Для начала, для тех кто не знает, зачем нужен docker-compose. Это утилита, которая позволяет запускать на отдельном хосте набор связанных сервисов, запако...

Поэтапная настройка Continues Integration (build, test, deploy) для .NET Core WebApp + GitHub Поэтапная настройка Continuous Integration (build, test, deploy) для .NET Core WebApp + GitHub Всем привет. Continues Integration (CI) давным-давно проник в мир разработки программного обеспечения и для многих является его неотъемлемой частью, которое позволяет создавать б...

[Перевод] Вся правда об ОСРВ. Статья #9. Планировщик: реализация Основные принципы работы планировщиков ОСРВ были рассмотрены в статье «Задачи и планирование». В настоящей статье мы рассмотрим возможности, которые предлагает Nucleus RTOS, а также более подробно те, которые предоставляет Nucleus SE. Читать дальше →

[Из песочницы] Как создать чат-бота для ВКонтакте, используя Python, Django и webhook Зачем ещё одна статья про создание чат-бота? Возможно я плохо искал, но я не смог найти подробного руководства по созданию бота на python с применением фреймворка Django и подхода webhook, работающего на хостинге от российской компании. В большинстве материалов говориться о ...

[Из песочницы] Комбинация кроссплатформенного и нативного подхода в разработке мобильных приложений Выпускать приложения для лишь одной мобильной платформы – не актуально и нужно заботиться о разработке сразу двух версий, для iOS и Android. И здесь можно выбрать два пути: работать на «нативных» языках программирования для каждой операционной системы или использовать кроссп...

[Перевод] Изучаем Docker, часть 1: основы Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнер...

[Из песочницы] Кроссплатформенная разработка с помощью .NET, реактивного программирования, шаблона MVVM и кодогенерации Сегодня платформа .NET является по-настоящему универсальным инструментом – с её помощью можно решать широчайший круг задач, включая разработку прикладных приложений для популярных операционных систем, таких, как Windows, Linux, MacOS, Android и iOS. В настоящей статье рассм...

Android LiveData на Kotlin с использованием Retrofit и coroutines Статья рассказывает об использовании Android Components ViewModel, LifeCycle и LiveData. Эти компоненты позволяют не заботиться о жизненном цикле Activity. Так же рассмотрен пример применения современного Coroutines в связке с репозитарием на Retrofit fun main(args: Array&...

[Из песочницы] Распознавание цвета и уровня освещенности с помощью APDS-9960 Недавно на Habr.com промелькнула статья в которой, среди прочего, сообщалось о датчике освещенности. Некоторое время назад я нашел и приобрел интересную вещь — модуль производства фирмы RobotDyn на основе датчика APDS-9960, который тоже умеет измерять уровень освещенности....

[Из песочницы] Усложняя стандартный пример Стандартная библиотека С++ предлагает не только набор классов, но также определяет способ написания программ. В рамках данной статьи рассматриваются общие требования к реализации программ при помощи STL. Рассмотрим следующую задачу: Считать из файла input.txt массив целых ...

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

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

[Перевод] Вредные советы: как превратить автоматизацию UI-тестов в кошмар Привет! Меня зовут Артём, и я занимаюсь автоматизацией тестирования. Антипаттерны в разработке — довольно популярная тема. Но ведь в тестировании тоже есть свои "плохие советы", и они довольно забавно пересекаются с разработкой. Недавно мне на глаза попалась ироничная стать...

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

Как запустить iOS-приложение через React Native Это перевод оригинальной статьи программистки, ведущей блог под псевдонимом Soujanya PS. Она профессионал своего дела и любит не только разрабатывать приложения и сервисы, но и писать об этом статьи. Вот ее обзор запуска iOS-приложения с использованием фреймворка React N...

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

[Перевод] Медленный софт От переводчика: проблема медленного программного обеспечения стала одной из главных тем обсуждения на Хабре и Hacker News в последние недели. Например, см. статью Никиты Прокопова «Моё разочарование в софте» и 2432 комментария к ней. Мы проводим много времени за компьютером...

Программирование — это материализация идей Основной тезис этой статьи: Разработку программного обеспечения следует рассматривать как материализацию идей посредством трансформации ментальных моделей в программный код. В статье описывается парадигма материализации идей в программной инженерии (engl.: RPSE: Reificatio...

Actions on Google: пишем простое приложение для Google Ассистента на Dialogflow и Cloud Functions for Firebase В конце прошлого месяца состоялся официальный релиз Google Ассистента на русском языке, так что самое время разобраться, как делать свои приложения (экшены) для Ассистента на стандартном технологическом стеке Google. В этой статье мы рассмотрим создание экшена в Actions on G...

[Из песочницы] Использование функций JavaScript для построения 3D-моделей В данной статье рассмотрено применение геометрической библиотеки функций WebGeometry для построения моделей сложных многогранников. Библиотека написана на языке Javascript. Ссылка на GitHub с примером, в котором приведен простейший пример использования библиотеки. Замечани...

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

[Из песочницы] Размышления о Манифесте разработчика умных систем Несколько дней назад я прочитал отличную статью "Манифест разработчика умных систем: 15 принципов" Решил поделиться мыслями про слой ниже, а именно базовые принципы архитектуры, которая бы в основном соответствовала предложенным принципам. Ввиду природы поста, он ...

The New iOS Mobile Enterprise. Часть #1: Кодогенерация для ресурсов Всем привет! Меня зовут Дмитрий. Так получилось, что я являюсь тим лидом в команде из 13 iOS разработчиков уже на протяжении двух лет. И вместе мы трудимся над приложением Тинькофф Бизнес. Хочу поделиться с вами нашим опытом о том, как релизить приложение в неожиданный моме...

[Из песочницы] Особенности настройки коммутаторов ExtremeXOS Данная статья призвана сократить количество времени, необходимое для понимания принципов работы с ExtremeXOS (XOS). Когда я начинал знакомство с XOS мне очень не хватало такой статьи на Хабре. Ниже я расскажу о конфигурации Экстримов и о проблемамах, с которыми я сталкивалс...

Абстрактный CRUD от репозитория до контроллера: что ещё можно сделать при помощи Spring + Generics Совсем недавно на Хабре мелькнула статья коллеги, который описал довольно интересный подход к совмещению Generics и возможностей Spring. Мне она напомнила один подход, который я использую для написания микросервисов, и именно им я решил поделиться с читателями. На выходе ...

[Перевод] 10 тенденций тестирования программного обеспечения, на которые стоит обратить внимание в 2019 году Всем привет! В преддверии запуска курса «QA-специалист», который стартует уже через 10 дней, хотим поделиться материалом, который расскажет о новых подходах в тестировании и будет полезен всем, кто следит за новыми тенденциями и остается в тонусе. С появлением технологий A...

Corona SDK точный таймер Всем привет. В этой краткой статье я расскажу как сделать в вашем приложении на Corona SDK таймер с приемлемым показателем точности отсчета. Так же рассмотрим в чем заключаются проблемы стандартного таймера. В статье будет решаться следующая задача: Сделать приложение кото...

Книга «Head First Agile. Гибкое управление проектами» Всем привет! Самое время переходить на гибкую разработку. Наконец-то найден современный, последовательный подход к решению тех проблем, с которыми сражались целые поколения команд разработчиков. Гибкие команды используют простые понятные практики, эффективность которых в ре...

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

Создание игры «Like Coins» на Godot Engine. Часть 2 Я надеюсь вы заждались второй части статьи затрагивающей аспекты разработки игр при помощи "Godot Engine", на примере игры "Like Coins"? На повестке дня приготовлено много всего "вкусного" и "полезного". Сразу оговорюсь, что в этой статье мы завершим ранее начатую игру, нача...

Docker + Laravel = ❤ В данной статье я расскажу о своём опыте "заворачивания" Laravel-приложения в Docker-контейнер да так, что бы и локально с ним могли работать frontend и backend разработчики, и запуск его на production был максимально прост. Так же CI будет автоматически запускать статическ...

[Из песочницы] Как мы корпоративно от винды убегали Так повелось, что в нашей компании основным языком для backend разработки был выбран C#. Мы, кстати, этим выбором всегда были довольны, а когда MS начали развивать платформу .net Core, стало еще интереснее, так как C# — это хорошо, но C# под Linux — еще лучше. Путь перехода ...

Работа с форматом конфигураций 1С: Предприятие Решил опубликовать исходный код C# для работы с форматом конфигураций 1С: Предприятие. https://github.com/elisy/MdInternals MdInternals понимает формат cf, cfu, epf, erf, распаковывает содержимое в удобочитаемые Xml и текстовые файлы и загружает обратно. Позволяет програм...

Спустя 6 лет вышла новая версия легендарного аварийного дистрибутива Hiren's BootCD После долгого забвения был возобновлен выпуск легендарного загрузочного диска Hiren's BootCD! Hiren's BootCD (также известный как HBCD) представляет собой загрузочный образ с программным обеспечением для записи на CD\DVD\USB-flash, содержащий ряд диагностических утилит, т...

Динамическое программирование или «Разделяй и Властвуй» В этой статье рассматриваются сходства и различия двух подходов к решению алгоритмических задач: динамического программирования (dynamic programing) и принципа «разделяй и властвуй» (divide and conquer). Сравнение будем производить на примере, соответственно, двух алгоритмов...

Руководство по Power Bi: начало работы Microsoft Power BI — это коллекция программных служб, приложений и соединителей, которые взаимодействуют друг с другом, чтобы превратить разрозненные источники данных в согласованные, визуально иммерсивные и интерактивные аналитические сведения. Сегодня мы делимся с вами нач...

Великолепная пятерка: must have инструменты для ускорения разработки От переводчика: этот пост — перевод оригинальной статьи Рейндера де Вриса, опытного программиста, разработавшего собственный курс обучения кодингу. Автор делится мыслями об инструментах, которые могут оказаться полезными разработчикам, позволяя ускорить и оптимизировать п...

Как добавить индекс на нагруженной системе 24/7 без простоя? Друзья, в конце января у нас стартует новый курс под названием «MS SQL Server разработчик». В преддверии его запуска мы попросили преподавателя курса, Кристину Кучерову, подготовить авторскую статью. Эта статья будет вам полезна, если у вас есть очень популярная таблица на ...

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

Разработка и тестирование смарт-контрактов Hyperledger Fabric Hyperledger Fabric (HLF) — платформа с открытым исходным кодом, использующая технологию распределенного реестра (DLT — distributed ledger technology), предназначенная для разработки приложений, работающих в среде бизнес-сетей, созданных и контролируемых консорциумом организа...

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

Huawei: Защита плоскости управления В статье рассматриваются аспекты защиты плоскости управления маршрутизаторов Huawei NE Series. Примеры приведены для NE40e, с программным обеспечением: VRP V800R008. На других типах маршрутизаторов (например NE5k) и с другой версией ПО, конфигурация может несколько отличатьс...

[Перевод] Монстры после каникул: AMD Threadripper 2990WX 32-Core и 2950X 16-Core (часть 3 — тесты) Часть 1 → Часть 2 → Часть 3 → Часть 4 Тесты HEDT: системные тесты В разделе «Системные тесты» основное внимание уделяется тестированию в реальных условиях, с которыми сталкивается потребитель. В этом разделе мы рассмотрим время загрузки приложений, обработку изображений, ...

Новый загрузчик Buhtrap Сегодня мы расскажем вам о новом подходе к рассылке ВПО группировкой Buhtrap. Модуль загрузчика 19 декабря нам стало известно о вредоносной рассылке, содержащей исполняемый файл (md5: faf833a1456e1bb85117d95c23892368). Файл принимал различные названия: «Сверка за декабрь....

Почему биометрическая авторизация нам не грозит По долгу службы я занимаю согласованием технического задания по разработке мобильного приложения с заказчиком. Часто задается вопрос — а можем ли мы авторизоваться в приложении по биометрическим показателям, таким как лицо или отпечаток пальца? Есть несколько различных аргум...

[Перевод] Основы внедрения зависимостей В этой статье я расскажу об основах внедрения зависимостей (англ. Dependency Injection, DI) простым языком, а также расскажу о причинах использования этого подхода. Эта статья предназначена для тех, кто не знает, что такое внедрение зависимостей, или сомневается в необходим...

Приложение Burger King: насмешка над защитой персональных данных. Исправляем? После того, как Хабр буквально за сутки разорвала серия статей про вкусную еду слежку за пользователями от Burger King (раз, два, три), разработчик приложения e-Legion опубликовал на Хабре ответный пост. Да, ажиотаж эта тема вызвала серьезный, на текущий момент суммарно ...

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

[Перевод] Сущности в DDD-стиле с Entity Framework Core Эта статья о том, как применить принципы Domain-Driven Design (DDD) к классам, которые Entity Framework Core (EF Core) использует для отображения на базу данных и почему это может быть полезно. TLDR В DDD-подходе есть множество преимуществ, но главное – DDD переносит код оп...

[Перевод] «Истина в последней инстанции» или зачем нужен Database First Design В этой весьма запоздалой статье я объясню почему, по моему мнению, в большинстве случаев при разработке модели данных приложения необходимо придерживаться подхода "database first". Вместо "Java[любой другой язык] first" подхода, который выведет вас на длинную дорожку, полную...

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

[Из песочницы] Когда использовать var, let и const в Javascript [перевод статьи Tyler’а McGinnis] Привет, Хабр! Представляю вашему вниманию перевод статьи «var vs let vs const in JavaScript» автора Tyler McGinnis. В этой статье вы узнаете 2 новых способа для создания переменных в Javascript (ES6), let и const. На протяжении этой статьи мы рассмотрим разницу между var,...

[Перевод] Создаем читалку eBook с помощью PDFKit на Swift Добрый день! Представляю вашему вниманию продолжение статьи «Скачиваем, сохраняем и просматриваем PDF в Swift», как и обещал автор — немного подробнее рассмотрим PDFKit. PDFKit появился в iOS 11, и в нем есть 3 замечательные функции, о которых бы я хотел рассказать, в проце...

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

[Перевод] Визуализация данных при помощи Angular и D3 D3.js — это JavaScript библотека для манипулирования документами на основе входных данных. Angular — фреймворк, который может похвастаться высокой производительностью привязки данных. Ниже я рассмотрю один хороший подход по использованию всей этой мощи. От симуляций D3 до S...

Как я создала прибыльное Android приложение по распознаванию текста Всем привет. В прошлой статье я рассказывала, как заработать свои первые 100$ в Google Play Market. В этой статье я больше расскажу о разработке и управлении проектом. Предмет статьи — Android приложение по распознаванию текста, которое в маркете 4 месяца и имеет почти 10 0...

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

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

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

Доменные имена с валидным SSL для локальных Docker-контейнеров Использование Docker в процессе разработки стало уже стандартом де-факто. Запускать приложение со всеми его зависимостями, используя всего одну команду — становится всё более и более привычным действием. Если приложение предоставляет доступ используя web-интерфейс или какое...

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

«Современные» обедающие философы на C++ посредством акторов и CSP Некоторое время назад ссылка на статью "Modern dining philosophers" распространилась по ресурсам вроде Reddit и HackerNews. Статья интересная, она показывает несколько решений этой известной задачи, реализованных на современном C++ с использованием task-based подхода. Если к...

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

[Перевод] Больше кофе, меньше кофеина: Intel 9th Gen (часть 2) Часть 1 → Часть 2 → Часть 3 → Часть 4 Системные тесты В разделе «Системные тесты» основное внимание уделяется тестированию в реальных условиях, с которыми сталкивается потребитель, с небольшим уклоном в пропускную способность. В этом разделе мы рассмотрим время загрузки...

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

Особенности оконной фильтрации на ПЛИС Всем привет! В этой статье речь пойдет об одной важной части цифровой обработки сигналов — оконной фильтрации сигналов, в частности на ПЛИС. В статье будут показаны способы проектирования классических окон стандартной длины и «длинных» окон от 64K до 16M+ отсчетов. Основной...

OpenSceneGraph: Основы работы с геометрией сцены Введение OpenGL, являющийся бэкэндом для OpenSceneGraph, использует геометрические примитивы (такие как точки, линии, треугольники и полигональные грани) для построения всех объектов трехмерного мира. Эти примитивы задаются данными об их вершинах, в которые входят коорди...

ЧПУ в хоббийной мастерской (часть 2) → Первая часть В статье рассмотрим стандартное и нестандартное использование CNC-роутера. Для чего кроме вырезания деревянных картинок можно приспособить такой станок. Осторожно, трафик. Читать дальше →

[recovery mode] ReactJS + MobX — опыт использования DI Мне кажется, настало время поделится подходом для написания ReactJS App, я не претендую на уникальность. Первый абзац можно пропустить. Я занимаюсь web разработкой уже давно, но последние четыре года я плотно сижу на ReactJS и меня все устраивает, в моей жизни был redux, но...

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

Опыт внедрения автоматизации в процесс ручного тестирования на примере Android-приложения Совместно с нашими партнёрами мы активно разрабатываем, тестируем и поддерживаем семейство приложений для разных платформ: Android, iOS, Windows. Приложения активно развиваются, вместе с чем увеличивается и объём тестирования, в первую очередь — регрессионного. Мы решили по...

Новый MTProto-прокси сервер от Telegram Прокси-сервер является посредником между клиентом и сервером. Для обхода ограничений прокси-сервер должен быть установлен там, где нет ограничений доступа к требуемой информации, при этом не должно быть таковых ограничений и между клиентом и прокси-сервером. Обновлённая по...

[Перевод] Вся правда об ОСРВ. Статья #15. Разделы памяти: службы и структуры данных В этой статье мы продолжаем рассматривать разделы памяти ОСРВ. Nucleus RTOS имеет три вызова API, предоставляющих служебные функции, связанные с пулами разделов памяти: возвращение информации о пуле разделов, возвращение числа пулов разделов в приложении и возвращение ука...

Используем Node.js для работы с очень, очень большими файлами и наборами raw-данных Этот пост — перевод оригинальной статьи Пейдж Нидринхауз, full-stack software engineer. Ее основная специальность — JavaScript, но Пейдж изучает и другие языки и фреймворки. А полученным опытом делится со своими читателями. К слову, статья будет интересна начинающим разра...

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

[Из песочницы] Конвертирование XLS файлов в Google Spreadsheet с использованием Google Apps Script Меня зовут Александр и я фрилансер, основная моя специализация — это Google Apps Script. Одному из заказчиков потребовалось программно конвертировать файлы Microsoft Excel в Google Spreadsheets. Я раньше с такой задачей не сталкивался, поэтому призвал на помощь Google. Перер...

[Из песочницы] Создание management commands в Django Management commands — команды, выполняемые из командной строки с помощью скрипта manage.py. Наиболее частые сферы применения — это действия, выполняемые разово или периодически, но для которых почему-либо недоступен запуск через планировщик. Например, отправка пользователям...

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

Разработка для Sailfish OS: отображение графиков с использованием D3.js и QML Canvas Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке приложений для мобильной платформы Sailfish OS. На этот раз речь пойдет о работе с графиками в Sailfish-приложении. Мы расскажем о поиске и подключении библиотеки и о том, как мы отображае...

Зачем нужен термоакустический генератор? Рис. 1 Предполагаемый внешний вид домашнего термоакустического газового генератора В одной из предыдущих статей я рассказывал о том, что занимаюсь разработкой термоакустического генератора: «Создание и первый запуск термоакустического двигателя с бегущей волной». В этой ст...

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

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

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

Computer Vision Annotation Tool: универсальный подход к разметке данных Нижегородский офис компании Intel, помимо прочего, занимается разработкой алгоритмов компьютерного зрения на основе глубоких нейронных сетей. Для обучения моделей требуется множество размеченных данных. Теоретически, существует много способов подготовить их, однако наличие с...

[Из песочницы] Прозрачная авторизация для приложения на Oracle Weblogic Server В данной статье расскажу, как мы перешли с NTLM на Kerberos авторизацию для приложений на Oracle Weblogic Server, тем самым упростив пользователям вход, убрав необходимость вводить пароль. Все пользователи, а также сервер приложения находятся в одном домене, так же ранее был...

Терминальный сервер для AutoCAD Терминальный сервер для CAD систем интересовал меня давно и данная статья является результатом изысканий в сети Интернет. В этой статье поговорим конкретно о терминальном сервере для Автокада. Автокад довольно ресурсоёмкое приложение требующее все ресурсы железа: и оператив...

[Из песочницы] CUDA и удалённый GPU CUDA всем хороша, пока под рукой есть видеокарта от Nvidia. Но что делать, когда на любимом ноутбуке нет Nvidia видеокарты? Или нужно вести разработку в виртуальной машине? Я постараюсь рассмотреть в этой статье такое решение, как фреймворк rCUDA (Remote CUDA), который помо...

[Перевод] Навигация в Android-приложении с помощью координаторов За последние несколько лет мы выработали общие подходы создания Android-приложений. Чистая архитектура, архитектурные шаблоны (MVC, MVP, MVVM, MVI), шаблон “репозиторий” и другие. Однако до сих пор нет общепринятых подходов к организации навигации по приложению. Сегодня я хо...

Погружение в разработку на Ethereum. Часть 5: Oraclize Доступ к объемным файлам и различные внешние динамические данные часто являются очень важной частью децентрализованного приложения. При этом в самом по себе Ethereum механизма обращения наружу не предусмотрено — смарт контракты могут читать и писать только в рамках самого бл...

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

Опыт настройки и использования WSL (подсистемы Linux в Windows 10) К написанию данной статьи меня побудил вопрос на Тостере, связанный с WSL. Я, после нескольких лет использования систем на ядре Linux, около полугода назад перешел к использованию Windows 10 на домашнем ПК. Зависимость от терминала и Linux окружения в моей работе практически...

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

[Из песочницы] Что значат метрики для Agile команд? Проходя собеседование на позицию Product Owner я понял, что у меня серьезный пробел по бизнес метрикам в Agile проекте, т.к. работаю в госструктуре. В русском сегменте информация достаточно скудная. В английском сегменте очень понравилась статья Ashwinee Kalkura. Поэтому реш...

[Перевод - recovery mode ] Подборка: 6 открытых фреймворков для создания бэктестеров торговых стратегий на Python В своей статье на ресурсе QuantStart, эксперт по разработке финансовых приложений Фрэнк Смитана (Frank Smietana) рассказал о существующих фреймворках для создания софта для бэктестинга торговых стратегий и дал несколько советов по выбору подобных инструментов. Мы адаптиров...

Как с первого раза попасть в AppStore: пошаговое руководство К запуску курса «Fullstack мобильный разработчик», проводимого совместно с агентством Agima, мы подготовили серию материалов о том, как создавать приложения для мобайла. Будем говорить о кейсах, цифрах, правилах и провалах, но начнем, вместе с Никитой Архиповым из студии A...

Apollo graphql client — разработка приложений на react.js без redux Сразу уточню. Apollo graphql client использует redux под капотом. То есть, никто не собирается отказываться от redux. Просто ничего из того что описано в документации redux для работы с Apollo graphql client не понадобится. То, о чем я хотел бы рассказать в этой статье — это...

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

Язык программирования Zig Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на шину C++, D и Rust. Посмотрел — язык показался симп...

Всё, что вы хотели знать о тестировании адаптеров Wi-Fi, но боялись спросить На днях нашей компании исполнятся 20 лет. Последние 15 лет из этих 20 мы делаем программы для анализа Wi-Fi-сетей. Часть этой работы – разработка драйверов для Wi-Fi-адаптеров, и в этой статье я расскажу, как команда разработчиков тестирует продукты своего труда, и как про...

[Перевод] Разработка React-приложений с использованием ReasonReact Вы применяете React для создания пользовательских интерфейсов? Автор материала, перевод которого мы публикуем, говорит, что он тоже работает с React. Здесь он хочет рассказать о том, почему для написания React-приложений стоит использовать ReasonML. React — это очень хоро...

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

Переустановка предустановленной Windows 8 в конце 2018 Статья о том, как восстановить лицензионную windows 8 на старом ноутбуке, в котором погиб HDD. Очень много можно почерпнуть из статьи 2013 года. Однако время внесло свои коррективы. Пошаговая инструкция (для тех кто, как и я, переставлял винду последний раз лет 10 назад) п...

Новые аксессуары от Samsung для активного образа жизни Сегодня, вместе с серией новеньких флагманов Samsung Galaxy S10, корейский производитель показал еще несколько вещей. Все они ориентированы на спорт, фитнес и здоровый образ жизни. Встречаем: умные часы Samsung Galaxy Watch Active, фитнес-браслеты Galaxy Fit и Fit e, а также...

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

[Перевод] DDD, Hexagonal, Onion, Clean, CQRS… как я собрал всё это вместе Эта статья — часть «Хроники архитектуры программного обеспечения», серии статей об архитектуре ПО. В них я пишу о том, что узнал об архитектуре программного обеспечения, что я думаю об этом и как использую знания. Содержание этой статьи может иметь больше смысла, если вы п...

[Перевод] Как я нашёл баг в GNU Tar Автор статьи — Крис Зибенманн, системный администратор Unix в университете Торонто Время от времени в моей работе происходит нечто странное, что заставляет задуматься, даже если сразу непонятно, какие следуют выводы. Недавно я упомянул, что мы нашли ошибку в GNU Tar, и исто...

Разработка гексапода своими руками с нуля (часть 2) Всем привет! Подошло время для второй части разработки гексапода SKYNET. В данной статье я расскажу как я собрал корпус и об ошибках при его проектировании. Так же будет демонстрация работы конечности и первый самостоятельный подъем с брюха. ALARM: Будет много картинок. ...

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

LibreOffice: страшный сон бухгалтера LibreOffice — мощный офисный пакет, который бесплатен для частного, образовательного и коммерческого использования. Его разработчики делают замечательный продукт, который во многих сферах используется в качестве альтернативы Microsoft Office. Команде PVS-Studio всегда интер...

[Перевод] Вся правда об ОСРВ. Статья #13. Структуры данных задач и неподдерживаемые вызовы API В этой третьей и последней статье о задачах, я рассмотрю структуры данных Nucleus SE и опишу вызовы API RTOS, которые не реализованы в Nucleus SE, а также расскажу о других проблемах совместимости. Читать дальше →

[Перевод] Различия между компиляцией веб-сайта и веб-приложения Существует множество разновидностей модулей ASP.NET на основе различных платформ, таких как Web Forms, Web Pages, Model-View-Controller (MVC) и самой новой — Core. В этой статье я хочу рассмотреть ряд различий между компиляцией веб-сайта ASP.NET и веб-приложения ASP.NET. Ч...

[Перевод] Тренды в дизайне UI и UX 2019 Иллюстрация от J.HUA Год назад мы составили прогноз трендов в дизайне мобильных UI. В этом году мы решили выйти за рамки мобильных интерфейсов, потому что тренд №1 в современном дизайне — это контекст. Больше никаких обобщений — теперь всё завязано на контексте. Кажется, м...

[Из песочницы] Обзор и сравнение квантовых программных платформ гейтового уровня Привет, Хабр! Представляю вашему вниманию перевод статьи "Overview and Comparison of Gate Level Quantum Software Platforms" автора Ryan LaRose. Квантовые компьютеры доступны для использования в облачной инфраструктуре, но в тоже время недавний бурный рост квантовых...

[Перевод] Трюки при линковке и загрузке файлов Mach-O Представляю вашему вниманию перевод моей статьи из блога Проекта Darling. Маленькая справка по используемым понятиям: Darwin – операционная система с открытым исходным кодом, лежащая в основе macOS, iOS и других ОС от Apple; Mach-O – бинарный формат исполняемых файлов и библ...

Работа с API КОМПАС-3D → Урок 9 → Чтение ячеек основной надписи Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, кандидата технических наук, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. Продолжаем разговор об основной на...

[Перевод] Вся правда об ОСРВ. Статья #16. Сигналы В этой статье будут рассмотрены сигналы, которые являются простейшими механизмами взаимодействия между задачами в Nucleus SE. Они предоставляют малозатратный способ передачи простых сообщений между задачами. Читать дальше →

[Перевод] Как собрать досовский COM-файл компилятором GCC Статья опубликована 9 декабря 2014 года Обновление от 2018 года: RenéRebe сделал на базе этой статьи интересное видео (часть 2) В минувшие выходные я участвовал в Ludum Dare #31. Но даже до объявления тем конференции из-за своего недавнего увлечения я хотел сделать олдскул...

Fujitsu создала новую технологию молекулярного моделирования Разработка новых лекарственных препаратов связана с крупными финансовыми вложениями и может длиться не одно десятилетие. Именно поэтому ученые непрестанно занимаются поиском перспективных методов создания лекарств. Одним из таких методов является технология компьютерного мод...

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

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

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

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

Кросс-браузерное веб-расширение для пользовательских скриптов Ч.2 В этой статье я продолжаю цикл публикаций, в котором я хочу рассказать о своём опыте написания веб-расширения для браузеров. У меня уже был опыт создания веб-расширения, которое установили около 100 000 пользователей Chrome, которое работало автономно, но в данном цикле стат...

Кросс-браузерное веб-расширение для пользовательских скриптов Ч.3 В этой статье я продолжаю цикл публикаций, в котором я хочу рассказать о своём опыте написания веб-расширения для браузеров. У меня уже был опыт создания веб-расширения, которое установили около 100 000 пользователей Chrome, которое работало автономно, но в данном цикле стат...

Быстрое создания SELinux-модулей с помощью утилиты sepolicy В пакет policycoreutils-devel входит python-утилита sepolicy, которая сильно облегчает написание модуля. В этой статье мы рассмотрим процесс создания модуля для nmap с помощью этой утилиты. Читать дальше →

Создание бота для участия в AI mini cup. Опыт применения GPU Продолжение статьи1 и статьи 2. Ниже под катом, расскажу об опыте автора по использованию GPU для расчетов, в том числе в рамках создания бота для участия в AI mini cup. Но скорее это эссе на тему GPU. Имя у вас волшебное... Знаете что, Джоэл?.. Волшебство уходит... Читат...

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

Изучаем климат городов России с помощью Python На Python можно работать с данными и визуализировать их. Пользуются этим не только программисты, но и ученые: биологи, физики, социологи. Сегодня мы вместе с shwars, куратором нашего курса Python jumpstart for AI, ненадолго превратимся в метеорологов и изучим климат городов ...

[Перевод] Как обеспечивается высокая доступность в Kubernetes Прим. перев.: Оригинальная статья была написана техническим писателем из Google, работающим над документацией для Kubernetes (Andrew Chen), и директором по software engineering из SAP (Dominik Tornow). Её цель — доступно и наглядно объяснить основы организации и реализации h...

Kotlin: статика, которой нет В этой статье пойдёт речь об использовании статики в Kotlin. Начнём. В Kotlin нет статики! Об этом говорится в официальной документации. И вроде бы на этом можно было бы и закончить статью. Но позвольте, как же так? Ведь если в Android Studio вставить код на Java в фа...

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

[Из песочницы] Распространение приложения под iOS внутри компании (Enterprise Distribute iOS App in-house) Подготовка и распространение приложения IOS внутри компании весьма непростая задача, особенно когда приложение написано на Windows с использованием Visual studio, а большинство туториалов в интернете описывают исключительно MacOS с использованием Xcode. Однако после часов ср...

Синхронизация ШИМ на STM32 Не буду особо вдаваться в теорию, в сети много ресурсов где все очень подробно описано. Но когда дело доходит до практики понимаешь, что все намного сложнее. Используется микроконтроллер stm32l152c-discovery. В статье будет описан процесс запуска ШИМ двух таймеров в одно и т...

[Перевод] Как настроить Apache HTTP с SSL-сертификатом Apache HTTP все еще является лидером на рынке веб-серверов среди миллиона самых нагруженных сайтов. Очевидно, что показатели Nginx постепенно растут, поэтому, если вы администрируете систему/веб-сеть/связующее программное обеспечение, то вы должны одинаково хорошо знать ...

Разработка мультитенантных приложений на SAP Cloud Platform в среде Neo, часть 2: авторизация и аутентификация Во второй статье из цикла про разработку приложений на SAP Cloud Platform в среде Neo мы затронем один из самых важных аспектов — управление авторизацией и аутентификацией пользователей. В этой статье мы покажем, как установить связь между SAP Cloud Platform и провайдером ...

[Перевод] 11 библиотек (наборов компонентов) для React Native, о которых стоит знать в 2018-м В начале года мы опубликовали несколько материалов о популярных наборах компонентов для React, Angular и Vue. Сегодня мы представляем вашему вниманию перевод статьи из той же серии, посвящённой React Native. Учитывая непрекращающийся рост популярности React, и то, что мобиль...

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

Быстрый старт с WPF. Часть 1. Привязка, INotifyPropertyChanged и MVVM Всем привет! По разным причинам большинство из нас использует десктопные приложения, как минимум, браузер :) А у некоторых из нас возникает необходимость в написании своих. В этой статье я хочу пробежаться по процессу разработки несложного десктопного приложения с использова...

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

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

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

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

[Перевод] Как работает JS: классы и наследование, транспиляция в Babel и TypeScript [Советуем почитать] Предыдущие 14 частей циклаЧасть 1: Обзор движка, механизмов времени выполнения, стека вызовов Часть 2: О внутреннем устройстве V8 и оптимизации кода Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними Часть 4: Цикл событий, асинхронност...

Xcode 10.2, macOS Mojave 10.14.4, iOS 12.1 и другие бета-версии Вышли новые беты Xcode, macOS Mojave и iOS — и вот основные моменты, которые я усвоил. Swift 5 для Xcode 10.2 beta Swift Прежде всего, последняя бета-версия Xcode идет в комплекте с новой версией Swift: Apple Swift 5.0 (swiftlang-1001.0.45.7 clang-1001.0.37.7) Target: x8...

Лицензия на вождение болида, или почему приложения должны быть Single-Activity На AppsConf 2018, которая прошла 8-9 октября, я выступил с докладом про создание андроид-приложений целиком в одном Activity. Хотя тема известная, существует много предубеждений относительно такого выбора — переполненный зал и количество вопросов после выступления тому подт...

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

Docker'изация: что нужно знать каждому .Net-разработчику В век победившего DevOps разработчики просто обязаны знать про Docker контейнеры, зачем они нужны и как с ними работать. Это многократно облегчает работу. Причем всю силу контейнеризации могут почувствовать даже те, кто работает с .Net Core в среде разработки Visual Studio 2...

[Перевод] Оптимизация рендеринга сцены из диснеевского мультфильма «Моана». Часть 3 Сегодня мы рассмотрим ещё два места, в которых pbrt тратит много времени при парсинге сцены из диснеевского мультфильма «Моана». Посмотрим, удастся ли и здесь улучшить производительность. На этом мы закончим с тем, что разумно делать в pbrt-v3. Ещё в одном посте я буду разб...

Установка FreeSWITCH 1.8 на Debian 9 (Raspbian Stretch, базовый образ системы «Умного дома» MajorDoMo на Rasbperri Pi) Продолжаю небольшой цикл статей посвященному созданию «Умного дома» и пошаговых инструкций для самостоятельной установки/настройки. Но сейчас речь пойдет в основном про Freeswitch и IP телефонию. В августе разработчик открытой VoIP платформы IP телефонии FreeSWITCH, ком...

Пишем игру на LWJGL Создание игры на LWJGL #1 Написание игры — сложный и интересный процесс, который требует много времени. В данном цикле статей я расскажу, как создать простую 3D игру на Java с использование библиотеки LWJGL. Для создания своей игры необходимо следующее: Умения писать код ...

Интересности и полезности python. Часть 2 В предыдущей статье мы рассмотрели несколько интересных моментов языка python, разумеется, одной статьёй они не исчерпываются, поэтому продолжим. В одном из комментариев рассматривался следующий код: SEX = 'Female', 'Male' sex = SEX[True] # -> Male sex = SEX[False] # -...

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

[Из песочницы] Neutralinojs — альтернатива Electron, потребляющая меньше памяти Neutralinojs — фреймворк с открытым исходным кодом для создания кроссплатформенных приложений на HTML/CSS/JS. Отличие от Electron в том, что для запуска приложения на Neutralinojs не нужно устанавливать nodejs и сотни зависимостей, тянущихся из package.json. Давайте сравним ...

Скончался основоположник движения шифропанков и автор «Манифеста криптоанархиста» Тимоти Мэй Один из отцов-основателей движения шифропанков, в основе которого лежала одноименная электронная почтовая рассылка, и автор знаменитого «Манифеста криптоанархиста«, частично вдохновившего Вэй Дая и Ника Сабо на создание первых прототипов биткоина, Тимоти Мэй сконча...

[Из песочницы] Сравнение C# и JavaScript. Основы Мой более-менее серьезный путь в программировании начался с написания программ на языке C#, иногда я пробовал писать на JavaScript, и то и дело впадал в ступор в таких ситуациях, когда неверно указывал имя переменной и узнавал об этом спустя много много лет час отладки, так...

Манифест Чистого Программиста или краткий конспект книги «Чистый Код» Роберта Мартина Данная статья является конспектом книги "Чистый Код" Роберта Мартина и моим пониманием того, каким Чистый Код должен быть. Тут нет разделов о тестировании, TDD, о том какая должна быть архитектура и т.д. Здесь все только о том, каким должен быть Чистый Код. Читать дальше →

FreeBSD планирует перейти на ZFSonLinux На прошлой неделе один из разработчиков FreeBSD Matt Macy выдвинул предложение об использовании реализации ZFS от проекта ZFSonLinux. Таким образом все требуемые изменения для FreeBSD будут сразу интегрированы в кодовую базу ZFSonLinux. Предложением это не завершилось, уже с...

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

Chain replication: построение эффективного KV-хранилища (часть 1/2) В данной статье рассмотрим архитектуры простых и эффективных KV-хранилищ с использованием цепной репликации (chain replication), которая активно исследуется и успешно применяется в различных системах. Читать дальше →

Работа с callbacks в React За время свой работы, я периодически сталкивался с тем, что разработчики не всегда четко представляют, каким образом работает механизм передачи данных через props, в частности колбеков, и почему их PureComponents обновляется так часто. Поэтому в данной статье мы разберемся,...

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

Книга «Java в облаке. Spring Boot, Spring Cloud, Cloud Foundry» Всем привет! В основном данная книга предназначена для разработчиков Java- и JVM-машин, которые ищут способы создания более качественного ПО в короткие сроки с помощью Spring Boot, Spring Cloud и Cloud Foundry. Она для тех, кто уже слышал шум, поднявшийся вокруг микросервис...

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

Реализация SSD кэширования в СХД QSAN XCubeSAN Технологии повышения производительности, основанные на использовании SSD и широко применяемые в СХД, уже давно изобретены. Прежде всего – это применение SSD в качестве пространства хранения, что на 100% эффективно, но дорого. Поэтому в ход идут технологии тиринга и кэширован...

Делаем 3D конфигуратор без программирования и вёрстки. Часть вторая В нашей предыдущей статье «Делаем 3D конфигуратор без программирования и вёрстки» мы обсудили вопросы создания 3D-магазина ювелирных изделий с использованием пакетов моделирования Blender и 3ds Max. Сегодня мы обновим этот проект и сделаем из него реально работающий магазин...

DevBoy: делаем генератор сигналов Привет, друзья! В прошлых статьях я рассказывал про свой проект и про его программную часть. В этой статье я расскажу как простенький генератор сигналов на 4 канала — два аналоговых канала и два PWM канала. Читать дальше →

Книга «C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов. 3-е издание» Всем привет, мы уже писали про новую книгу Марка Прайса, теперь публикуем отрывок из книги «Разработка мобильных приложений с помощью Xamarin.Forms» Мы создадим мобильное приложение для управления списком клиентов в базе данных Northwind, которое может быть запущено на iOS...

Почти все, что вы хотели знать про плавающую точку в ARM, но боялись спросить Привет, Хабр! В этой статье я хочу рассказать про работу с плавающей точкой для процессоров с архитектурой ARM. Думаю, эта статья будет полезна прежде всего тем, кто портирует свою ОС на ARM-архитектуру и при этом им нужна поддержка аппаратной плавающей точки (что мы и делал...

[Перевод] Реактивное программирование с JAX-RS Всем привет! Последний в этом году курс «Разработчик Java Enterprise» успешно запущен и у нас остался последний материал по данной теме, которым мы хотим поделиться с вами, где разбирается использование асинхронного подхода и стейджинга для разработки отзывчивых реактивных ...

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

[Из песочницы] От API first на OAS до single contract на RAML Привет, %username%! Ты наверняка знаешь, что такое API интерфейсы и то, как много от них зависит в твоем проекте. Более того, я так же полагаю, что ты уже знаком с тем, что такое API first подход и знаешь, что Swagger и его Open API являются одними из самых популярных инс...

Как организовать общее состояние в react-приложениях без использования библиотек (и зачем нужен mobx) Cразу небольшой спойлер — организация состояния в mobx ничем не отличается от организации общего состояния без использования mobx на чистом реакте. Ответ на закономерный вопрос зачем тогда собственно этот mobx нужен вы найдете в конце статьи а пока статья будет посвящена воп...

Гайд: создание бессерверных приложений Сегодня выкладываем гайд по созданию бессерверных приложений. Он включает в себя 3 основных раздела: создание бессерверной логики, настройка триггеров и использование привязок. Присоединяйтесь! Читать дальше →

[Из песочницы] Кто на новенького? Мой первый опыт в разработке игры – от идеи до публикации Всем привет! Меня зовут Алексей, я из Санкт-Петербурга. В этой статье расскажу про свой первый опыт разработки мобильной игры под Android на Unity3d. Если Вам близка идея создания собственной игры или приложения, но Вы находитесь в раздумьях или не уверены в своих силах —...

[Из песочницы] Распознавание образов в эйдетическом искусственном интеллекте "[ Нейронная сеть нуждается] в 300 миллионах изображений кошек, чтобы научиться понимать, что есть кошка, корова или собака. Но интеллект не основывается на больших данных (Big data). Наоборот, он основан на «маленьких данных». Если вы можете смотреть на кошку, извлекат...

[Перевод] Десять вещей, которые можно делать с GraalVM От переводчика: GraalVM — новая, интересная технология, но на Хабре по ней не так много статей, которые бы могли показать примеры возможностей Graal. Статья ниже — это не просто перечисление того, что GraalVM умеет, но ещё и небольшой мастер-класс, аналогичный тому, который...

Как развернуть инфраструктуру для Pivotal СF, или Рецепт слоеного пирога в картинках Год назад в центр компетенций по системам управления ИТ и мониторинга «прилетела» задача: развернуть продукт Pivotal Cloud Foundry (являющийся, фактически, эталонным образцом модели PaaS). В двух словах, Pivotal Cloud Foundry (PCF) – это готовое коммерческое решение для пр...

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

[Перевод] Вся правда об ОСРВ. Статья #22. Почтовые ящики: вспомогательные службы и структуры данных В этой статье продолжается обзор почтовых ящиков, начатый в предыдущей статье серии «Вся правда об ОСРВ». Читать дальше →

Новейшую ОС Fuchsia запустили на Google Pixel 3 XL Операционная система Fuchsia, запуском которой займется один из руководителей проекта macOS, обещает заменить все программные платформы Google, прежде существовавшие на рынке. Новинка сможет обеспечивать работу как носимой электроники, так и более продвинутых устройств врод...

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

[Перевод] Цена TypeScript В 2017-2019 годах можно было наблюдать серьёзный рост TypeScript. Происходило это по вполне понятным причинам. В этом языке есть много хорошего. Почти половина респондентов исследования State of JavaScript 2018 года уже пробовали TypeScript и собираются писать на нём в будущ...

Разбор архитектуры VIPER на примере небольшого iOS приложения на Swift 4 «У каждого свой VIPER». Автор неизвестен В данной статье я хотел бы рассмотреть архитектуру VIPER на небольшом конкретном примере, который в того же время показывал всю мощь этой архитектуры и был написан на последнем Swift 4. Для тех, кто хочет сразу глянуть код, не читая в...

[Перевод - recovery mode ] Асинхронный Python: различные формы конкурентности С появлением Python 3 довольно много шума об “асинхронности” и “параллелизме”, можно полагать, что Python недавно представил эти возможности/концепции. Но это не так. Мы много раз использовали эти операции. Кроме того, новички могут подумать, что asyncio является единственны...

[Из песочницы] Внедряем Angular компоненты в React, Vue и даже JQuery если хотите Если вы нашли крутой компонент в npm, но она с приставкой ng, ngx, angular и так далее, то не стоит расстраиваться по этому поводу. Есть много решений, чтобы этот компонент оказался у вас. В данной статье рассмотрим решение, которое официально поддерживается Angular Team, а ...

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

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

В России состоится масштабный хакатон, в котором примут участие порядка 500 новаторов Ранее анонсировалось, что с 7 по 10 декабря в Москве будет проходить масштабный в России хакатон под названием Urban.Tech Challenge. Правила участия для профессионалов не сложные: за 70 часов необходимо успеть создать инновационную разработку для усовершенствования городской...

Приложения для Tarantool. Часть 3. Тестирование и запуск Приложение для Tarantool — это, по сути, набор хранимых процедур, используемых как API. Данные обрабатываются на стороне хранилища, что позволяет значительно повысить производительность. Однако поддержка хранимых процедур может превратиться в кошмар. Может. Но не сегодня. Се...

Как мы замахнулись на мобильный fast paced шутер: технологии и подходы Год назад у нас в компании был один проект — мобильный шутер War Robots с относительно медленными, но красочными и напряженными боями. Игра продолжает развиваться, у нее десятки миллионов установок и игроков по всему миру, постоянно выходят апдейты. В какой-то момент мы за...

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

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

Управляем стоимостью проекта с Earned Value Management Как измерять и контролировать эффективность исполнения планов проектов — такие вопросы являются постоянной головной болью их руководителей. Подходов к решению этих задач много. В данной статье мы рассмотрим основные элементы техники по управлению освоенным объемом (Earned Va...

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

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

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

Avira Optimizer 1.4 (235) Avira Optimizer — укорение запуска и оптимизация процессов, повышение скорости работы телефона одним нажатием. Какие возможности предлагает решение Avira Android Optimizer? Повышение скорости и производительности. Очистка телефона (для улучшения игрового процесса). Оп...

Continuous integration в Яндексе Поддержка огромной кодовой базы с одновременным обеспечением высокой производительности большого числа разработчиков — это серьезный вызов. В течение последних 5 лет в Яндексе идет разработка особой системы непрерывной интеграции. В данной статье мы расскажем про масштаб код...

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

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

[Из песочницы] Внедрение зависимостей в сервис Apache Ignite.NET Разрабатывая различные приложения, использующие популярную библиотеку Castle Windsor для внедрения зависимостей и Apache Ignite.NET в качестве «ключика», который открывает дверь в «облачные» вычисления, я столкнулся с небольшим неудобством: у меня не было никакой возможности...

Исследование файловой системы HDD видеорегистратора модели QCM-08DL Данная статья посвящена изучению файловой структуры жёсткого диска восьмиканального видеорегистратора с целью массового извлечения файлов с видеозаписями. В конце статьи приводится реализация соответствующей программы на языке С. Читать дальше →

[Из песочницы] Уменьшение размера APK (в разумных пределах) На Habr.com уже была подобная статья, доказывающая, что можно ужать APK файл с 1.5 МБ до 1757 байт и меньше. Цель данной статьи — уменьшить размер приложения до разумного предела, сохранив его функциональность и осветить некоторые тонкости и неявные моменты. Читать дальше &...

Elm. Удобный и неловкий. Http, Task Продолжим говорить о Elm 0.18. Elm. Удобный и неловкий Elm. Удобный и неловкий. Композиция Elm. Удобный и неловкий. Json.Encoder и Json.Decoder В этой статье рассмотрим вопросы взаимодействия с серверной частью. Читать дальше →

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

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

[Перевод] Как использовать HDF5-файлы в Python Всем привет! Приближается запуск курса «Web-разработчик на Python», соответственно, мы всё так же делимся интересными статьями и приглашаем на наши открытые уроки, где можно посмотреть интересный материал, познакомиться с преподавателями и позадавать им вопросы. Поехали! ...

[Из песочницы] Модификация ajax js для ajax Asp .net mvc Многие начинающие программисты C# ASP .NET MVC (далее mvc) сталкиваются с задачей отправки данных с помощью Ajax. Вот только на практике эта задача оказывается не такой легкой. На своей работе я пытаюсь придерживаться определённых принципов разработки программного обеспечен...

Методика D.I.Y. проекта. Часть вводная Данная статья написана радиолюбителем, имеющим опыт руководства проектами по разработке и постановке на производство сложной радиоэлектронной аппаратуры. Цель данной статьи: помочь энтузиастам в организации их проектной деятельности, а также обозначить различия в подходах ...

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

Xiaomi встроит «чистильщик» WhatsApp в новые прошивки Китайская компания Xiaomi объявила о добавлении нового инструмента в фирменную оболочку MIUI 10. Утилита WhatsApp Cleaner позволит очистить место на смартфоне, занятое мультимедийными файлами мессенджера. Утилита WhatsApp Cleaner находится в приложении «Безо...

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

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

[Перевод] Почему в основе каждого нового веб-приложения в PayPal лежит TypeScript? Недавно мы опубликовали материал, в котором Эрик Эллиот критиковал TypeScript. Сегодня мы представляем вашему вниманию перевод статьи Кента Доддса. Тут он рассказывает о том, почему в PayPal перешли с Flow на TypeScript. Читать дальше →

Машинка на Arduino, управляемая Android-устройством по Bluetooth, — код приложения и мк (часть 2) О первый части В первой части я описал физическую часть конструкции и лишь небольшой кусок кода. Теперь рассмотрим программную составляющую — приложение для Android и скетч Arduino. Вначале приведу подробное описание каждого момента, а в конце оставлю ссылки на проекты цел...

Прерывания от внешних устройств в системе x86. Часть 3. Настройка роутинга прерываний в чипсете на примере coreboot Продолжаем рассматривать настройку прерываний от внешних устройств в системе x86. В части 1 (Эволюция контроллеров прерываний) мы рассмотрели теоретические основы контроллеров прерываний и общие термины, в части 2 (Опции загрузки ядра Linux) посмотрели как на практике ОС ос...

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

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

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

[Перевод] Хватит делать сайты с бесконечной прокруткойǃ TL;DR. Хотя бесконечная прокрутка подходит для некоторых случаев, но она может создать проблемы. Бесконечная прокрутка может быть дезориентирующей, неконтролируемой и вызывать стресс у пользователей. В этой статье мы объясним, почему нужно прекратить создание сайтов с бе...

[Перевод] Вся правда об ОСРВ от Колина Уоллса. Статья #3. Задачи и планирование Вся правда об ОСРВ. Статья #3. Задачи и планирование Задачи, потоки и процессы Мы рассмотрели многозадачность, свойство операционной системы выполнять несколько квазинезависимых программ одновременно. Перед тем, как мы более подробно рассмотрим задачи, необходимо разобр...

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

Статистика по типам файлов в облачной песочнице Wildfire Хорошо, мы увидели сколько приложений переносит файлы. А какие это файлы и какие из них вредоносные? Следующая статистика собрана уже по типам файлов. Видно, что большинство файлов, которые идут на проверку — это PDF, однако большинство типов файлов, которые содержат вредон...

Пишем CLI на NodeJS Добрый вечер всем. Возникла задача написать свой immersive CLI на node.js. Ранее для этой цели использовал vorpal. В этот раз захотелось обойтись без лишних зависимостей и, помимо этого, рассматривал возможность по-другому принимать аргументы команд. С vorpal команды писали...

[Перевод] 8 этапов процесса разработки интерфейса мобильного приложения От переводчика: Роман Гапонов — сооснователь компании Django Stars, которая занимается разработкой веб- и мобильных приложений. Основываясь на личном опыте и опыте своей компании, Роман написал статью о процессе разработки пользовательского интерфейса. Изначально она была...

Стабильная MIUI 10 уже доступна для смартфона Xiaomi Mi 6 Xiaomi впервые анонсировала свою фирменную оболочку MIUI 10 во время презентации 31 мая вместе с флагманским смартфоном Mi 8 и фитнес-браслетом Mi Band 3. По сути, Mi 8, а также его модификации — Mi 8 SE и Mi 8 Explorer Edition первыми получили новую версию MIUI, которая в п...

Новые голосовые приложения на C# в 3CX v16 3CX v16 уже на подходе, и у нас есть отличные новости о нашем приложении для разработчиков Call Flow Designer. В новом релизе CFD использует новый скриптовый «движок», интегрированный в ядро сервера 3CX. Благодаря выполнению скриптов в ядре АТС, производительность голосовых ...

[Перевод] Введение в Micronaut Framework 1. Что такое Micronaut Micronaut — это фреймворк на JVM для построения легковесных модульных приложений. Он разработан компанией OCI, той же компанией, что подарила нам Grails. Micronaut это современный фреймворк, призванный сделать создание микросервисных приложений быстр...

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

[Из песочницы] Компактный сервер с настроенной перезагрузкой кода и sql-логами одной maven командой для продуктивной разработки Хотелось бы поделиться опытом использования payara-micro в разработке корпоративных приложений. Надеюсь, что кому-то сэкономлю время, так как такое решение пришло далеко не сразу. Если вы уже используете Payara или Glassfish в качестве промышленного сервера, или только собир...

[Из песочницы] Основы безопасности IoT В этой вводной статье мы рассмотрим основные аспекты безопасности одной из самых популярных тем в последнее время — интернета вещей. Если вы, так или иначе, в курсе новостей в сфере кибербезопасности, то могли заметить, что участились случаи создания ботнетов из ip-камер,...

[Из песочницы] Обзорная статья по A-Frame A-Frame — это веб-фреймворк позволяющий создавать различные приложения, игры, сцены в виртуальной реальности (ВР). Все вышеописанное будет доступно прямо из браузера вашего шлема ВР. Этот инструмент будет полезен как тем кто хочет заниматься разработкой ВР игр в браузере, ...

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

После завершения золотой лихорадки: перспективы технологии блокчейн Отношение общественности к технологии блокчейн (blockchain) кардинальным образом изменилось в прошлом году, когда курс криптовалюты биткойн вырос с $750 в январе до $20 000 в декабре 2017 г. Неудивительно, что в условиях такого ажиотажа люди забыли о рисках, связанных с крип...

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

[] Браузерная симуляция физики В этой статье я хочу дать описание существующих решений для создания приложений с симуляцией физики, сравнить их производительность и предоставляемый инструментарий. Читать дальше →

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

Corona Native для Android — использование произвольного Java кода в игре написанной на Corona Игровой движок Corona позволяет создавать кроссплатформенные приложения и игры. Но иногда предоставляемого им API бывает недостаточно. Для таких случаев есть Corona Native, позволяющий расширять функциональность с использованием родного кода для каждой платформы. В статье по...

Чек-лист по настройкам безопасности Check Point Относительно недавно мы опубликовали в открытый доступ мини-курс "Check Point на максимум". Там мы попытались вкратце и с примерами рассмотреть самые частые ошибки в конфигурации Check Point с точки зрения ИБ. По сути мы рассказали чем плохи настройки по умолчанию и каким ...

Дома ФИАС в среде PostgreSQL Предыдущая статья с описанием адресов ФИАС и функций для работы с ними в среде PostgreSQL вызвала интерес у небольшой части читателей. Поэтому имеет смысл описать аналогичные функции на языке PL/pgSQL для работы со списком домов ФИАС, загруженным в базу данных под управлен...

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

«ОНА»: как мы придумали образы искусственного интеллекта Хабр, привет! Я работаю в команде маркетинга Inventive Retail Group. Мы входим в группу ЛАНИТ. Один из наших активов — сеть монобрендовых магазинов re:Store. Я расскажу вам о том, как интернет-конкурс фотографии вырос в полноценную оффлайн-выставку. Из этой статьи вы узнает...

[Перевод] Удивительная производительность параллельных алгоритмов C++17. Миф или Реальность? Добрый вечер! От нашего курса «Разработчик C++» предлагаем вам небольшое и интересное исследование про параллельные алгоритмы. Поехали. С появлением параллельных алгоритмов в C++17, вы с легкостью можете обновить свой “вычислительный” код и получить выгоду от параллельно...

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

Книга «Руководство разработчика по Azure» Эта электронная книга написана разработчиками для разработчиков. В ней описаны основы платформы Azure, ее возможности для разработчиков и организаций, а также способы их эффективного применения. Во второй половине руководства приведены сценарии, например тур по порталу Azu...

[Перевод] Как встроить С-библиотеку в Swift-фреймворк В 2014 году был представлен Swift, новый язык для разработки приложений экосистемы Apple. Новинка принесла не только новые возможности и функции, но и проблемы — тем, кто хотел пользоваться старыми добрыми C-библиотеками. В этой статье я рассмотрю одну из них — бандлинг C-...

Kotlin DSL: Теория и Практика Разработка тестов приложения — не самое приятное занятие. Этот процесс занимает долгое время, требует большой концентрации и при этом крайне востребован. Язык Kotlin дает набор инструментов, который позволяет довольно легко построить собственный проблемно-ориентированный язы...

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

[Из песочницы] Поле загрузки файлов, которое мы заслужили Все течет, все меняется, но только input[type=file] как портил нервы всем начинающим веб-разработчикам, так и продолжает это делать до сих пор. Вспомните себя N лет назад, когда вы только начинали постигать азы создания веб-сайтов. Молодой и неопытный, вы искренне удивлялись...

Bentley объявила о запуске сервиса iTwin™ Services и создании облачной службы цифровых двойников предприятий PlantSight Bentley Systems Incorporated объявила о предстоящем выпуске сервиса iTwin™ Services и облачной службы цифровых двойников для инфраструктурных проектов PlantSight, которая стала результатом общих разработок Bentley и Siemens на базе дополняющего друг друга программного обеспе...

[Из песочницы] Распознавание экомаркировок с использованием Azure Custom Vision из мобильного приложения В этой статье я хочу рассказать об использовании сервиса Custom Vision, для распознавания фотографий экомаркировок из мобильного приложения. Сервис CustomVision является частью облачного Cognitive Services на платформе Azure. О том, какие технологии пришлось изучить, как раб...

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

[Из песочницы] Google Cloud Storage c PHP: сохранение файлов с публичным доступом В связи с тем, что предыдущий сервис с помощью которого я хранил изображения накрылся медным тазом (скорее всего из-за того, что был не прибыльный), мне пришлось искать другие варианты хранения изображений. Сервера я использую бюджетные и не хотелось бы мне платить приличную...

[Перевод] Современная MVI-архитектура на базе Kotlin. Часть 1 За последние два года Android-разработчики в Badoo прошли длинный тернистый путь от MVP к совершенно иному подходу к архитектуре приложений. Мы с ANublo хотим поделиться переводом статьи нашего коллеги Zsolt Kocsi, описывающую проблемы, с которыми мы столкнулись, и их реше...

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

Основы 3D-моделирования для 3D-печати 3D-модель, которая в дальнейшем  будет распечатана на 3D-принтере отличается от 3D-модели, разработанной для литья или фрезерования. Связано это с техническими особенностями 3D-принтера, из которых нужно либо выжать максимум пользы, либо подстроиться под недостатки печати. ...

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

Intel, Volkswagen и Mobileye запускают службу беспилотных такси На автомобилях Volkswagen будет установлена система автоматического управления компании Mobileye, работающая на процессорах Intel. В Израиле готовится к запуску служба беспилотных такси, создаваемая компаниями Intel, Volkswagen и Mobileye. На автомобилях Volkswagen будет ...

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

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

[Из песочницы] Разработка GLSL шейдеров на Kotlin Всем привет! Наша компания занимается разработкой онлайн игр и сейчас мы работаем над мобильной версией нашего основного проекта. В этой статье хотим поделиться опытом разработки GLSL шейдеров для Android проекта с примерами и исходниками. Читать дальше →

PHP для начинающих. Подключение файлов В продолжении серии «PHP для начинающих», сегодняшняя статья будет посвящена тому, как PHP ищет и подключает файлы. Читать дальше →

[Из песочницы] Docker Compose + Consul + Spring Boot + FeignClient План: Настройка сервисов в Docker Compose Регистрация сервисов в Consul’e и добавление переменных в хранилище Consul’a Makefile Конфигурация БД FeignClient Конец Данная статья показывает пример того, как поднять локальный development environment с использованием Docker Com...

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

[DotNetBook] Span: новый тип данных .NET С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом (уже готово около 200 страниц книги, так что добро пожаловать в конец статьи за ссылками). Как язык, так и платформа существуют уже много лет: и все...

[Из песочницы] Анализ сетевого трафика мобильного приложения на iOS. Часть 1 — прокси Бывают ситуации, когда при разработке или тестировании мобильного приложения возникает необходимость просмотреть сетевой трафик приложения. Все еще просматриваете трафик мобильного приложения, выводя его в консоль вашей IDE? Для этой задачи есть более эффективные инструмент...

Глубокое обучение с использованием R и mxnet. Часть 1. Основы работы Привет, Хабр! Эта статья является первой частью руководства по приготовления нейронных сетей с использованием библиотеки mxnet на языке R. Источником вдохновения послужила онлайн-книга Deep Learning — The Straight Dope, объема которой достаточно для осознанного использова...

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

[Перевод] Обязательный чек-лист разработки UX-дизайна мобильного приложения От переводчика: Эта статья изначально была опубликована сооснователем компании Django Stars Романом Гапоновым в его англоязычном блоге на Medium. Мы сделали перевод этого обзора главных UX-нюансов мобайла и представляем его вашему вниманию. Статья поможет разработчикам,...

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

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

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

Как работает, и работает ли вообще разговорная психотерапия Привет, Хабр! Прошлые мои статьи были посвящены, в основном, вопросам фармакологии, но это не совсем моя тема, я всё-таки клинический психолог (с недавних пор), поэтому сегодня мы поговорим о разговорной терапии во всех её проявлениях. tl;dr: в длинной и нудной статье...

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

Apple купила компанию Spektral. Чего ждать пользователям? Компания Apple объявила о приобретении датского стартапа Spektral, который использует машинное обучение для редактирования изображений и видео. Каким образом Spektral и его разработки с использованием глубоких нейросетей и видеокарт помогут Apple? Точного ответа нет, но ско...

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

[Перевод] OutOfLine – паттерн размещения в памяти для высокопроизводительных приложений на C++ Во время работы в Headlands Technologies мне посчастливилось написать несколько утилит для упрощения создания высокопроизводительного кода на C++. Эта статья предлагает обобщенный обзор одной из этих утилит — OutOfLine. Читать дальше →

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

Расширение PHP и Kotlin Native. Часть третья, наверное финальная В первой части рассказываются совсем базовые вещи про настройку инструментария и общие концепции. Вторая часть про, так сказать, первый подход к снаряду, задумки, наметки, планы. В этой статье будет чуть больше хардкора про интероп Си и K/N, много макросов, боли, безысход...

Простите, я сломал ваш recovery.conf В PostgreSQL начиная с очень давних времён аж версии 8.0 вышедшей в далёком 2005 году для восстановления в определённую точку времени использовался специальный файл конфигурации recovery.conf. Этот же файл впоследствии стал использоваться для режима standby и потоковой репли...

[Перевод] Создание игровых 3D-моделей «для бедных»: путь инди Вы когда-нибудь задумывались о том, как работает небольшая инди-студия, занимающаяся разработкой видеоигр? Создавать игры с очень маленьким бюджетом можно, но для этого необходима смекалка, много труда и ещё больше любви к своему делу. Мы — небольшая команда из Польши. Нас...

Горячая история техподдержки, или Почему AutoCAD удаляет прокси-объекты? ДисклеймерЦелью этой статьи не является дискредитация программного обеспечения. Статья носит исключительно информационный характер и предназначена для защиты конечного пользователя, который может при определенных обстоятельствах потерять свои данные, работая в AutoCAD. Чит...

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

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

Как создавать библиотеки компонентов в Figma, экономя бюджет, на примере онлайн-аукциона В этой статье мы расскажем, как разрабатывали не сферическую в вакууме, а самую настоящую библиотеку компонентов, и как нам удалось игнорируя излишний перфекционизм (не в ущерб проекту) сэкономить 25% от заложенного бюджета. Это первая часть статьи, в которой будет много ...

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

Борьба со старением: cенолитики и заместительная терапия стволовыми клетками В данной статье мы попробуем рассмотреть два механизма старения и подходы к их терапии – сенесцентные клетки (ещё их называют дряхлыми) и их уничтожение; а также стволовые клетки и их восстановление и пополнение. Возможно борьба с дряхлыми клетками и увеличение пула стволовы...

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

Исследование: 22% пользователей Tumblr ходят на сайт для просмотра порно, особенно молодые девушки Распределение по возрасту разных групп производителей и потребителей порноконтента на Tumblr (вверху) и Flickr (внизу). Указан средний возраст, медианный возраст, стандартное отколнение и доля несовершеннолетних пользователей (до 18 лет). Источник: научная статья «Потреблен...

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

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

IBM Watson Build — попробуйте свои силы в конкурсе разработчиков Продолжается прием заявок на участие в IBM WatsonBuild – международном конкурсе для бизнес-партнеров по созданию приложений и сервисов на базе IBM Watson. К участию приглашаются партнеры-разработчики когнитивных решений с применением API-интерфейсов Watson (требуется исполь...

[Из песочницы] Взлет Хелидона Привет, Хабр! Представляю вашему вниманию перевод статьи Дмитрия Корнилова Helidon Takes Flight. Я не являюсь сотрудником Oracle, но мне показалась интересной статья о новом, набирающем популярность, типе фреймворков. Итак, поехали… Сегодня хороший день. Сегодня мы представ...

Ретроспектива автоматизации и изменений в процессах разработки Timeweb 1 ноября 2017 года я стал руководителем рабочей группы разработки в отделе программных разработок Timeweb. А 12 ноября 2018 руководитель отдела спросил, когда же будет готова статья для Хабрахабр, потому что отдел маркетинга спрашивает, добровольцы кончились, а контент-план ...

Создание и первый запуск термоакустического двигателя с бегущей волной Вот в этой статье — «Термоакустический двигатель – двигатель Стирлинга без поршней», я писал о том, как двигатель Стирлинга совершенствовался и дошёл до состояния термоакустического двигателя. В этой статье я расскажу о том как построить и испытать свой собственный термоакус...

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

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

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

Видеоконференции 3CX WebMeeting — полное руководство Для наших клиентов, которые часто пользуются видеоконференциями 3CX WebMeeting, мы подготовили подробное руководство, которое проведет вас от создания конференции и до создания видеоролика вебинара для Youtube. Системные администраторы могут использовать его как шпаргалку, о...

[Перевод] Сетевой код Age of Empires: 1500 лучников на модем 28,8 кбит/с Примечание переводчика: этой статье уже 17 лет, и интересна она только с исторической точки зрения. Любопытно узнать, как удавалось разработчикам добиться плавной сетевой игры в эпоху 28,8k-модемов и первых «Пентиумов». В этой статье рассказывается об архитектуре и реализа...

[Перевод] Создание Android приложения для обнаружения лиц в режиме реального времени с использованием Firebase ML Kit В начале этого года Google представил новый продукт: Firebase Machine Learning Kit. ML Kit позволяет эффективно использовать возможности машинного обучения в Android и iOS приложениях. В этом посте я буду рассказывать о том, как с его помощью создать Android приложение для ...

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

Анализ технологий: с чего начать работу над патентным ландшафтом А рассматривали ли вы развитие технологий интернета вещей, машинного обучения, робототехники и облачных вычислений, сквозь призму приближения четвертой индустриальной революции (Индустрия 4.0)? Уже в конце 2017 года регуляторы в ЕС отмечали рост подачи заявок на технологии...

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

Проектирование типами: Как сделать некорректные состояния невыразимыми на C# Как правило статьи, рассказывающие о проектировании типами, содержат примеры на функциональных языках — Haskell, F# и других. Может показаться, что эта концепция неприменима к объектно-ориентированным языкам, но это не так. В этой статье я переведу примеры из статьи Скотта В...

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

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

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

Билеты ПДД 1.4.3.0 Билеты ПДД — приложение позволяет эффективно подготовиться к сдаче теоретического экзамена на право вождения в ГИБДД. В приложении билеты разбиты по номерам, что позволит прорешать все билеты по-порядку, не пропустив ни одного. Также есть режим «Экзамен» на время, в котором ...

[Перевод] Южная Корея откажется от электрокаров и строительства новых АЭС Южная Корея намеревается в шесть раз увеличить использование водородных автомобилей в стране и таким образом отказаться от машин на электротяге (аккумуляторной батарее – прим. переводчика) и с ДВС. Также страна отказывается от стройки новых АЭС. Читать дальше →

[Из песочницы] Как настроить деплой web-приложения на Go для Gitlab на VDS Предисловие Эта статья является результатом недельного поиска весьма разрозненной информации о том, как же настроить деплой web-сервиса на Go. Не на Heroku, не на Docker, не на Digital Ocean, а просто на старомодный VDS с CentOS 7x64. Почему-то в сети нет этой информации, а...

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

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

Разработка buck-преобразователя на STM32F334: принцип работы, расчеты, макетирование В двух своих последних статьях я рассказал о силовом модуле и плате управления на базе микроконтроллера STM32F334R8T6, которые созданы специально для реализации систем управления силовыми преобразователями и электроприводом. Так же был рассмотрен пример DC/AC преобразователя...

[Перевод] Вредоносное машинное обучение как диагностический метод Привет всем! Продолжая проработку темы глубокого обучения, мы как-то раз хотели поговорить с вами о том, почему нейронным сетям повсюду мерещатся овцы. Эта тема рассмотрена в 9-й главе книги Франсуа Шолле. Таким образом мы вышли на замечательные исследования компании «Po...

[Перевод] Перевод статьи Нила Форда «Микросервисы как эволюционная архитектура» Мы подготовили перевод статьи Нила Форда, системного архитектора и идейного вдохновителя компании ThoughtWorks, которая занимается разработкой программных средств для автоматизации процессов тестирования и развертывания ПО. Нил – признанный эксперт в области разработки прог...

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

Проект по внедрению Single Sign On в SAP Конец года, все потихоньку подводят итоги. Для меня этот год запомнился проектом внедрения Single Sign On (SSO) между SAP и Windows. В этой статье расскажу об опыте внедрения и проектного менеджмента, подводных камнях, находках и выводах. Компания — крупное транспортное п...

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

Мультиподписи в сети Monero Мы открываем цикл публикаций об устройстве различных блокчейнов и начнем исследования с монеро (Monero). Это достаточно известная криптовалюта, в ней реализован ряд интересных алгоритмических и криптографических решений. Несколько месяцев назад в Monero Core была добавлена п...

[Из песочницы] Современная Android разработка на Kotlin. Часть 2 Привет, Хабр! Представляю вашему вниманию перевод статьи "Modern Android development with Kotlin (Part 2)" автора Mladen Rakonjac. Примечание. Данная статья является переводом циклов статей от Mladen Rakonjac, дата статьи: 23.09.2017. GitHub. Начав читать первую ч...

[Из песочницы] Пошаговое создание бандла для Symfony 4 Около года назад наша компания взяла курс на разделение огромного монолита на Magento 1 на микросервисы. Как основу выбрали только вышедшую в релиз Symfony 4. За это время я разработал несколько проектов на этом фреймворке, но особо интересной мне показалась разработка бандл...

Зачем вам нужен Splunk? Аналитика работы приложений Почему мобильное приложение вышло из строя? Можем ли мы выявить проблемы с приложениями до того, как с этим столкнутся конечные пользователи? Является ли последняя версия приложения лучше или хуже, чем предыдущие? В этой статье мы расскажем, как вам может помочь Splunk в п...

Прерывания от внешних устройств в x86 системе. Опции загрузки ядра Linux В предыдущей части мы рассмотрели эволюцию доставки прерываний от устройств в x86 системах (PIC → APIC → MSI), общую теорию и все необходимые термины. В этой практической части мы рассмотрим как откатиться к использованию устаревших методов доставки прерываний в Linux, а и...

Разработка Action-able приложения для Slack От переводчика: публикуем для вас статью Томоми Имуры о том, как разработать приложение, интегрированное со Slack Actions — то, что позволяет пользователям Slack взаимодействовать с вашим приложением при помощи сообщений: сообщить о проблеме с багом, отправить запрос в ...

Пишем модуль ядра Linux: GPIO с поддержкой IRQ Хабр, привет! Данная статья посвящена разработке GPIO (General-Purpose Input/Output) модуля ядра Linux. Как и в предыдущей статье мы реализуем базовую структуру GPIO драйвера с поддержкой прерываний (IRQ: Interrupt Request). Читать дальше →

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

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

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

[Перевод] Так что же такое pod в Kubernetes? Прим. перев.: Эта статья продолжает цикл материалов от технического писателя из Google, работающего над документацией для Kubernetes (Andrew Chen), и директора по software engineering из SAP (Dominik Tornow). Их цель — доступно и наглядно объяснить основы организации Kuberne...

Как проверить, сколько памяти занимают определенные приложения на iPhone и iPad Начиная с iOS 11 (обзор) появилась возможность удалять приложения на iPhone, iPad или iPod touch, сохраняя при этом данные программ. Таким образом при повторной инсталляции приложений пользователям не требуется заново устанавливать настройки. Хотя это довольно полезная функц...

[Перевод] KubeDirector — простой способ запускать сложные stateful-приложения в Kubernetes Прим. перев.: Оригинальная статья написана представителями компании BlueData, основанной выходцами из VMware. Она специализируется на том, чтобы сделать доступнее (проще, быстрее, дешевле) развёртывание решений для Big Data-аналитики и машинного обучения в различных окружени...

[Перевод] Как усилить защищенность веб-приложений при помощи HTTP заголовков Это третья часть серии по веб-безопасности: вторая часть была «Web Security: введение в HTTP», первая "Как работают браузеры — введение в безопасность веб-приложений". Как мы видели в предыдущих частях этой серии, серверы могут отправлять заголовки HTTP, чтобы предоставит...

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

Налог на Гугл: разворот на 180° Google и Apple внесли поправки в договоры с разработчиками программного обеспечения. Кто теперь должен платить НДС с услуг в электронной форме? Ровно год назад мы разместили на Хабре две статьи об особенностях уплаты разработчиками налогов при работе с площадками Google и ...

Искусство шаманства или кастомная прошивка для Olinuxino. UBOOT Часть 2 Все это собиралось из под Ubuntu 16.04. Решение собрать прошивку родилось из за отсутствия в свободном доступе образа для этой платы (Olimex A13-Olinuxino). А производитель предлагал преобрести SD карту с образом и стоило что то около 10 евро на тот момент, что очень не уст...

Google начала взимать плату за свои приложения. Ждем повышения цен на смартфоны Розничные цены на Android-смартфоны в Европе и России в том числе могут вырасти уже в обозримом будущем. Это следует из заявления, которое Хироши Локхаймер, старший вице-президент Google по развитию программных платформ, сделал в своем блоге. Причиной, которая, по его слова...

[Из песочницы] Быстрый старт веб-проекта (BE — Java Spring, FE — React Redux, взаимодействие — Rest, WebSocket) Чтобы разработать современное веб приложение, необходимо иметь навыки как в создании серверной части, так и клиентской. Наиболее часто встречаемое в последнее время сочетание в корпоративной среде — это Java c использованием Spring Framework для сервера и React для клиента...

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

[Из песочницы] SNMP + Java – невозможное возможно: пишем парсер MIB-файлов SNMP – не самый юзер-френдли протокол: MIB-файлы слишком длинные и запутанные, а OID'ы просто невозможно запомнить. А что если возникла необходимость работать с SNMP на Java? Например, написать автотесты для проверки API SNMP-сервера. Путём проб и ошибок при наличии доволь...

[Из песочницы] DNS прокси на Node.JS своими руками Понесло пакет по кочкам в дальний лес за DNS… Л. Каганов "Гамлет на дне"При разработке сетевого приложения иногда возникает необходимость запустить его локально, но обращаться к нему по реальному доменному имени. Стандартное проверенное решение — прописать домен в ...

Altium Designer: что делать если проект стал сложным? Приветствую! Думаю, любой инженер или просто радиолюбитель/DIYщик/мейкер, занимающийся разработкой электроники, старается развивать свои навыки, которые растут вместе со сложностью выполняемых проектов. В какой-то момент человек достигает уровня, когда ему кажется, что проек...

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

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

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

DevCore: программная часть проекта DevBoy Привет, друзья! С вами снова Николай, в прошлой статье "DevBoy — как я создал проект устройства с открытым исходным кодом и запустил проект на Kickstarter" упор делался больше на внешнем виде и железе, сегодня поговорим о том как это сделано "внутри" и разберем программную ...

Все приложения в Google Play станут бесплатными для Android Американская корпорация Google постоянное внедряет какие-то новшества в свое программное обеспечение, пытаясь сделать его таким образом ощутимо лучше, чем раньше. Как удалось выяснить сегодня, 29 октября 2018 года, вскоре все приложения в магазине Google Play Сообщение Все ...

Все приложения в Google Play станут бесплатными для Android Американская корпорация Google постоянное внедряет какие-то новшества в свое программное обеспечение, пытаясь сделать его таким образом ощутимо лучше, чем раньше. Как удалось выяснить сегодня, 29 октября 2018 года, вскоре все приложения в магазине Google Play Сообщение Все ...

AMD странным образом намекает на многопроцессорные конфигурации графики Navi Волнующие анонсы 2019 года могут иметь отношение к этой теме.

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

ConvNets. Создание прототипа проекта с помощью Mask R-CNN Привет, Хабр! Мы, наконец, дождались еще одной части серии материалов от выпускника наших программ “Специалист по большим данным” и “Deep Learning”, Кирилла Данилюка, об использовании популярных на сегодняшний день нейронных сетей Mask R-CNN как части системы для классификац...

[Из песочницы] Изучаем трассировку с помощью eBPF: Руководство и примеры Привет, Хабр! Предлагаю вашему вниманию перевод статьи Брендана Грегга, посвящённой изучению eBPF На конференции Linux Plumbers было как минимум 24 выступления по eBPF. Он быстро стал не просто бесценной технологией, но и востребованным навыком. Возможно, вам хотелось бы пос...

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

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

10 веб-фреймворков Python, с которыми стоит работать в 2018 году От переводчика: сегодня мы предлагаем вам перевод статьи, размещенной на Hackernoon компанией SteelKiwi. Она занимается разработкой программных решений b2b и b2c, а опытом, накопленным в процессе работы, делится с читателями своего блога. Фреймворки облегчают жизнь разр...

Легенда о Фреймворке Всевластия В последнее время набирает популярность тренд «исчезающих фреймворков», локомотивом которого, без сомнения, можно считать SvelteJS — buildtime-фреймворк и компилятор в ванильный javascript. Несмотря на то, что концептуально Svelte весьма прост, а в использовании еще проще,...

Трайбы, гильдии, build train и никаких TDD: как устроена мобильная разработка в Uber, Spotify, «Одноклассниках» и Авито В преддверии AppsCconf 2018 мы опросили специалистов из крупных компаний о том, какие отличительные черты и процессы есть у больших команд, занимающихся разработкой мобильных приложений. Какие подходы к работе применяются, какие подводные камни ждут гребцов, поступающих на...

Как пропатчить cp под FreeBSD? Учим FreeBSD копировать вместе с файлами их расширенные атрибуты Я большой поклонник cp — по изящности и несокрушимости эта утилита, на мой взгляд, уступает только утилите dd. Но под FreeBSD у неё есть один скромный недостаток — при копировании файла cp теряет его расширенны...

Начинаем работу с Azure Machine Learning service Сегодня рассмотрим нашу пятую итерацию по созданию продукта для машинного обучения. Чтобы подойти к этой теме, кратко напомним о предыдущих продуктах и их состоянии на текущий момент. Рассмотрим только полностью интегрированные решения, которые позволяют пройти путь от расче...

Новая оболочка MIUI 11 от компании Xiaomi Компания Xiaomi начала разработку оболочки MIUI 11, которая называется «новой и уникальной ОС», по сравнению с дополнительными обновлениями, которые выходили в последние два года. Компания провела ежегодное собрание по основному опыту Xiaomi MIUI, на котором Лю Мин, руков...

НДС на внутренние покупки Должен ли разработчик платить НДС с покупок внутри условно бесплатного приложения? В предыдущей статье НДС на услуги в электронной форме мы затронули важную тему освобождения от НДС реализации по лицензионным договорам. В связи с этим у разработчиков free-to-play приложен...

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

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

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

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

[Перевод] io_submit: альтернатива epoll, о которой вы никогда не слышали Недавно внимание автора привлекла статья на LWN о новом интерфейсе ядра для опроса (polling). В ней обсуждается новый механизм опроса в Linux AIO API (интерфейс для асинхронной работы с файлами), который добавили в ядро версии 4.18. Идея довольно интересная: автор патча пр...

Разработка смешанной реальности: а вы ставили динамик в виртуальной гостиной? Мы продолжаем цикл статей по Windows Mixed Reality и разрабатываем с нуля приложение со смешанной реальностью на Unity в формате lab work (лабораторной работы). Вы сможете сами, параллельно с публикацией статей, создать такое приложение. В этой части рассмотрим поддержку кон...

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

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

[Из песочницы] BEM'a не должно существовать Здравствуйте. BEM'а не должно существовать. Есть огромное количество причин не использовать эту методологию, но из-за её простоты использования и непонимания работы CSS и HTML, методология широко распространилась среди фронтендеров всего мира, в большинстве случаев среди р...

Анализ Agile. Мифы и действительность I Вступление Будку надо переносить! Сезона не бывает, чтоб пару-тройку не шандарахнуло. То с туалетом путают, то с пляжной кабинкой… (х/ф Особенности национальной рыбалки) Конец года, подведение итогов, заполнение анкет и прочая предпраздничная мишура ИТ функционеров. Мне у...

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

Ktor как HTTP клиент для Android Retrofit2 мне, как Android разработчику, нравится, но как на счет того, чтобы попробовать к качестве HTTP клиента Ktor? На мой взгляд, для Android разработки он не хуже и не лучше, просто один из вариантов, хотя если всё немного обернуть, то может получиться очень неплохо. Я...

Обнаружили более 32 000 умных домов и компаний, которым угрожает утечка данных Протокол MQTT используется для подключения к устройствам умных домов и управления ими через центр управления умным домом. Пользователи настраивают сервер при установке протокола MQTT. Сервер обычно функционирует на компьютере или миникомпьютере пользователя, таком как Raspbe...

«Java-мир больше никогда не будет прежним» — интервью с Александром Белокрыловым и Алексеем Войтыловым из BellSoft Остаются последние дни перед Joker, и очень хотелось принести на Хабр не обычное интервью, а какой-нибудь мощной дичи. В последнее время люди интересуются серверами на Arm, и так получилось, что у нас есть по этой теме реальные специалисты. Александр (alexbel) Белокрылов и ...

[Перевод] Доклад Римского клуба 2018, Глава 1.10 «Повестка 2030: Дьявол кроется в реализации» За три месяца до принятия Парижского климатического соглашения ООН надзирала за принятием другого единодушного соглашения — Повесткой 2030 [94], главным образом состоящей из 17 Целей в области устойчивого развития и 169 определяющих их задач. Рисунок 1.12 включает пиктограмм...

Тестирование приложения на Go как черный ящик при помощи Rspec Хорошо написанные тесты значительно уменьшают риск “поломать” приложение при добавлении новой фитчи или исправлении ошибки. В сложных системах, состоящих из нескольких взаимосвязанных компонентов, наиболее сложным является тестирование их точек соприкосновения. В этой стат...

Знакомство с Spring Data MongoDB Всем доброго дня! Стартовали новенький поток «Разработчик на Spring Framework», «внезапно», этот курс оказался очень востребованным среди, как и новых студентов, так и тех кто уже отучился у нас на «обычной» джаве и энтерпрайзе. Так что, если интересно, то заходите к нам на...

Python-установщик Android-сборок из TeamCity своими руками Аудитория QA-инженеры, тестировщики мобильных приложений, автоматизаторы. Проблема Во время тестирования приложений под Android (не только, но далее речь пойдет только про данную платформу), приходится устанавливать множество сборок тестируемого продукта / продуктов. Этот п...

[Перевод] Создание разрушаемых мешей Часть 1. Знакомство с Marching cubes Как создать меш из любого хаоса В Minecraft мы можем копать в любом направлении, убирая за раз по одному блоку с чётко заданными краями. Но в других играх разработчикам удаётся разрушать рельеф плавно, без кубичности Minecraft. Вот прим...

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

Forbes: Марк Цукерберг стал главным неудачником среди миллиардеров в 2018 году. Он потерял почти $19 млрд Изображение: JD Lasica, CC BY 2.0 Уходящий год оказался непростым для многих инвесторов и руководителей крупных компаний – стабильность рынков подрывали многочисленные события от Брекзита до торговой войны США и Китая. Неудивительно, что все это не лучшим образом сказалос...

Как мы игру «Камень – ножницы – бумага» на блокчейне Ethereum делали. Ч.2 Техническая Учтя комментарии к моей предыдущей статье я решил написать вторую часть, где будут более подробна рассмотрена техническая составляющая игры. Читать дальше →

[Перевод] Запускаем kubernetes внутри LXC В этой статье я расскажу как можно запустить kubernetes master внутри LXC-контейнера. Этод метод работает вполне неплохо с Proxmox и может быть рассмотрен как альтернатива классическому развертыванию kubernetes с несколькими мастерами. Читать дальше →

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

[Из песочницы] Подключение файла подкачки (SWAP) в MAC OS X при использовании внешнего SSD-диска в качестве системного Доброго времени суток, дорогие товарищи! Очень короткое сообщение хочу оставить здесь, для того, чтобы люди, которые имеют проблему, сходную с моей, не тратили слишком много времени на ее решение. Как-то раз, мне пришлось призадуматься над одной небольшой задачкой. Есть ко...

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

Generics + Spring: Да прибудет с вами сила Однажды в одном далёком, далёком банке ... Доброго времени суток, хабр. Сегодня наконец-то вновь дошли руки написать сюда. Но в отличие от предыдущих туториалов — статей сегодня хотелось бы поделиться своим опытом и показать мощь такого механизма как дженерики, который вмест...

Практика тестирования бэкенда на Java + Rest-Assured В предыдущей статье я поделился своим опытом автоматизации на Robot Framework. Теперь же речь пойдет о несколько другом подходе к тестированию API для проекта на Kotlin. Воспользовавшись свободой выбора стека технологий и опираясь на желание попробовать «в бою» что-то новое...

Камеру TrueDepth в новых iPhone приспособили для 3D-моделирования Разработчики студии Standard Cyborg, основанной Джеффом Хубертом и Гарреттом Шпинглем, выпустили приложение Capture для iPhone X, XR, XS и XS Max. С его помощью 3D-моделирование будет доступно всем желающим, не требуя не только соответствующих навыков и познаний в этой обла...

ReactOS 0.4.9: хейтерам придется искать новые аргументы Привет, Хабр! Футбольный карнавал закончился, а праздник жизни под названием «Разработка ReactOS» как ни в чем не бывало продолжается! Мы представляем вашему вниманию очередной релиз нашей операционной системы. В этом выпуске — стабильность, еще раз стабильность и множеств...

Полное руководство по правильному использованию анимации в UX Предлагаю вашему вниманию перевод очень крутой статьи по анимации интерфейса. The ultimate guide to proper use of animation in UX автора Taras Skytskyi. В настоящее время трудно впечатлить или даже удивить анимацией интерфейса. Она показывает взаимодействие между экранами...

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

[Из песочницы] Введение в PHP Reflection API Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to PHP Reflection API" автора Mustafa Magdi. Как в PHP анализировать структуру данных Вступление Когда я начал программировать на PHP, то не знал о возможностях Reflection API. Главная причин...

Анонс Windows 10 Insider Preview Build 18272 (Fast и Skip Ahead) Добрый вечер, друзья! Сегодня компания Microsoft выпустила очередную инсайдерскую сборку Windows 10 19H1 под номером 18272 на каналах Fast и Skip Ahead. Вместе с этим выпущены официальные ISO-образы сборки 18272, чтобы инсайдеры могли воспользоваться ими для «чистой» устано...

Машинное обучение на Python-е с интерактивными Jupyter демонстрациями Здравствуйте, Читатели! Недавно я запустил репозиторий Homemade Machine Learning, который содержит примеры популярных алгоритмов и подходов машинного обучения, таких как линейная регрессия, логистическая регрессия, метод K-средних и нейронная сеть (многослойный перцептрон)....

Корпорация Corel приобретает Parallels Корпорация Corel объявила о приобретении Parallels — глобального лидера в области разработки кросс-платформенных решений. Parallels получила широкую известность благодаря своему самому продаваемому в мире программному обеспечению для запуска приложений Windows на Mac. Теперь...

[Перевод] Трассировка пути на GPU в Unity — часть 2 «Нет ничего хуже чёткого образа размытой концепции». – фотограф Энсел Адамс В первой части статьи мы создали трассировщик лучей Уиттеда, способный трассировать идеальные отражения и резкие тени. Но нам не хватает эффектов нечёткости: рассеянного взаимоотражения, глянцевых о...

UE4 | Инвентарь для Multiplayer #5 | Передача информации между Сервером и Клиентом Список статейUE4 | Инвентарь для Multiplayer #1 | Хранилище данных на DataAsset UE4 | Инвентарь для Multiplayer #2 | Подключение Blueprint к C++ UE4 | Инвентарь для Multiplayer #3 | Структура взаимодействия UE4 | Инвентарь для Multiplayer #4 | Создание и подключение конейнер...

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

Fake Door как часть Customer Development У меня есть нож, есть арбалет, Они служат мне уже тысячу лет. (с) КиШ Предположим, вам надо проверить насколько новая фича будет востребована клиентами. Зачастую, это решается с помощью интервьюирования, опросов, и т.д. У этих замечательных подходов есть свои плюсы/минусы...

В OneDrive для macOS появились «Файлы по запросу». Что это такое и как попробовать? Компания Microsoft объявила о запуске сервиса OneDrive «Файлы по запросу» для операционной системы macOS 10.14 Mojave, релиз которой состоялся 24 сентября. Приложение показывает в Finder все ваши файлы из облачного хранилища OneDrive, но загружает их только тогда, когда вам...

Apple и Logitech показали беспроводное ЗУ для iPhone в формате подставки Компания Logitech представила беспроводное зарядное устройство для iPhone, разработка которого велась при непосредственном участии Apple. Новинка, выполненная в вертикальном форм-факторе уже доступна для покупки на официальном сайте производителя по цене 80 долларов США. В...

«Билайн» будет раздавать мобильный интернет за 10 тысяч шагов в день Таким образом компания хочет привлечь внимание к важности здорового образа жизни

Samsung рассказала о "сетевом образе жизни" Компания показала, каким образом ее инвестиции в ИИ, Интернет вещей и технологии пятого поколения будут основой для развития концепции Connected Living.

Семинар: «Объектное хранилище DataLine: выбор оборудования, возможности и сценарии использования», 31 мая, Москва Привет, Хабр! Давно мы не проводили семинары — исправляемся. 31 мая совместно с Lenovo мы расскажем о новом сервисе DataLine — объектном хранилище. Поговорим о том, как мы выбирали решение и с чем столкнулись в процессе создания сервиса. Рассмотрим основные сценарии испол...

[Из песочницы] Про Flutter, кратко: Основы После доклада Юры Лучанинова, я решил для себя попробовать Flutter. Чтобы мозг размять, и чтобы было о чем похоливарить с мужиками на кухне. Дело пошло. Я начал смотреть, потом читать, потом писать. И вроде все получается, приложения запускаются, и то что объясняют — понятно...

Magento 2: рендерер для ячейки грида Выход версии 2.3.0 приблизил использование PWA на фронте Magento-приложений на расстояние вытянутой руки. И если для фронта видны какие-то подвижки в применяемых технологиях, то с админкой всё гораздо стабильнее — старый добрый лабиринт из различных типов файлов, которые нуж...

[Из песочницы] Шифрование трафика в Direct Connect, ч.1 – Батюшка, а грешно ли скачивать файлы из Интернета? – спросил я. – Ох, не знаю, сыне… – ответил, вздохнув, священник и полез в карман рясы за смартфоном. История Грешить Интернетом я начал с 2004 года, а соблазном на первых порах выступила местная локальная сеть. Точнее, п...

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

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

[Из песочницы] Радость Haxe. Роман с обделенным вниманием языком программирования Привет, Хабр! Представляю вашему вниманию перевод статьи The Joy of Haxe. FontStruct’s love affair with a neglected programming language. Довольно грубая попытка воспроизвести логотип Haxe в редакторе шрифтов FontStruct Недавно мы открыли исходный код наиболее важной част...

Корпорация Corel приобретает Parallels 21 декабря, 2018 г. Сегодня корпорация Corel объявила о приобретении Parallels — глобального лидера в области разработки кросс-платформенных решений. Parallels получила широкую известность благодаря своему самому продаваемому в мире программному обеспечению для запуска прило...

Как опробовать Android 9.0 Pie на любом смартфоне прямо сейчас Несмотря на то что официально обновиться до Android 9.0 Pie пока могут только смартфоны Google Pixel и Essential Phone, владельцам всех остальных аппаратов доступен обходной путь. Для этого достаточно установить обновленную сборку Pixel Launcher. О том, как это сделать, чит...

Реализация программной платформы защищённого NAS В предыдущей статье было описано проектирование программной платформы NAS. Настало время её реализовать. Читать дальше →

[Перевод] Защита ПО от копирования и взлома: основные методы и стратегии По статистике, приведенной в исследовании 2018 BSA Global Software Survey: Нелицензированное (пиратское) ПО составляет 37% от всего объема программного обеспечения, установленного на персональных ПК по всему миру. Стоимость контрафактного ПО оценивается в $46 млрд. Mal...

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

От сисадмина к человеку На DevOps есть по крайней мере два устоявшихся взгляда — со стороны системных администраторов и со стороны разработчиков. Первые обычно хвастаются тем, что используют Chef/Puppet/Ansible/Docker c 200X года, вторые считают, что DevOps либо изжил себя и ведет к NoOps, либо ч...

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

[Из песочницы] Swagger – умная документация вашего RESTful web-API — обзор Junior back-end developer-а для новичков Предисловие Команда, в которой я сделала свои первые шаги на поприще написания промышленного кода, занималась разработкой удобного API к функциональности программного продукта на C# (для удобства назовем его, скажем, буквой E), существовавшего уже много лет и зарекомендов...

[Из песочницы] Нейронная сеть с использованием TensorFlow: классификация изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «Train your first neural network: basic classification». Это руководство по обучению модели нейронной сети для классификации изображений одежды, таких как кроссовки и рубашки. Для создания нейронной сети используем py...

Как я изучаю фреймворк Spring — часть 2 (помощь начинающим — дело рук самих начинающих) Добрый день! Я вдохновился приглашением продолжить публикацию, поэтому продолжаю. В этот раз мы рассмотрим основные варианты внедрения зависимости — через конструктор и через сеттеры. Все исходники искать здесь Читать дальше →

Обновляем Angular до 6-ой версии в проекте без использования CLI В этой статье я расскажу о тернистом пути обновления Angular с кастомным Webpack конфигом, который нашей команде пришлось пройти неделю назад. Возможно, наш опыт будет полезен тем, кто использует Angular со своим Webpack конфигом, а остальным — интересен как иллюстрация того...

Открытый вебинар «Механизмы контейнеризации Linux» Всем привет! Делимся новым открытым уроком, который провёл Александр Румянцев — преподаватель курса «Администратор Linux». На вебинаре разбиралось современное состояние механизмов контейнеризации и контейнеризация cgroups и cgroups-based, как она реализована в ядре, что так...

[Перевод] Как развернуть приложение Ruby on Rails с HAProxy Ingress, unicorn/puma и веб-сокетами После нескольких месяцев тестов мы наконец перенесли приложение Ruby on Rails в продакшен с кластером Kubernetes. В этой статье я расскажу, как настроить маршрутизацию на основе Path для приложения Ruby on Rails в Kubernetes с контроллером HAProxy Ingress. Читать дальше →

App cloner 1.4.15 <pre _ngcontent-c0="" style=«white-space: pre-line; font-family: Roboto, Arial, sans-serif; margin-top: 0px; margin-bottom: 0px; color: rgba(0, 0, 0, 0.870588); font-size: 14px;»> ЧТО НОВОГО В 1.5.14<pre _ngcontent-c0="" style=«white-space: ...

В Adobe Reader и Windows обнаружены уязвимости «нулевого дня» Компания ESET сообщает об обнаружении двух ранее неизвестных «дыр» в программных продуктах Adobe и Microsoft: связка этих уязвимостей позволяет выполнять на компьютере жертвы произвольный вредоносный код. Под ударом злоумышленников оказались Adobe Reader...

Настройка окружения в Docker для yii-framework приложения Для того чтобы быстро поднять рабочее окружение существует много способов. Один из них — поднять все необходимые сервисы в Docker-контейнерах. Чтобы ускорить создание новых проектов на Yii-framework я написал такую небольшую инструкцию, которую используют разработчики в наше...

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

[Перевод] Руководство по Node.js, часть 7: асинхронное программирование Сегодня, в переводе седьмой части руководства по Node.js, мы поговорим об асинхронном программировании, рассмотрим такие вопросы, как использование коллбэков, промисов и конструкции async/await, обсудим работу с событиями. [Советуем почитать] Другие части циклаЧасть 1: Об...

[Перевод] Внедрение зависимостей в Go Недавно я создал небольшой проект на языке Go. После нескольких лет работы с Java я был сильно удивлён тем, как вяло внедрение зависимостей (Dependency Injection, DI) применяется в экосистеме Go. Для своего проекта я решил использовать библиотеку dig от компании Uber, и он...

Как избавиться от ошибок с таблицами Active Object при восстановлении Jira из бэкапа В этой статье поговорим о том, как избавиться от ошибок с таблицами Active Objects при восстановлении Jira из бэкапа и напишем плагин для удаления ненужных таблиц Active Objects из архивного файла бэкапа. Читать дальше →