Социальные сети Рунета
Среда, 19 декабря 2018
16 августа 2018   15:00

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

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

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

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Пошаговая инструкция по восстановлению доступа к 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, а также пользу от его применения. Статья будет интересна читателям, которые увлекаются протоколом Биткоина и другими инновационн...

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

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

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

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

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

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

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

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

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

[recovery mode] Service Workers: прозрачное обновление кэша Service Workes как технология для создания offline приложений очень хорошо подходит для кэширования различных ресурсов. Разнообразные тактики работы в сервис воркере с локальным кэшем подробно описаны в Интернете. Не описано одного — каким образом обновлять файлы в кэше. Ед...

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

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

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

На злобу дня: кроссплатформенный клиент для Telegram на .NET Core и Avalonia В этой статье я расскажу, как реализовать кроссплатформенное приложение на .NET Core и Avalonia. Тема Телеграма очень популярна в последнее время — тем интереснее будет сделать клиентское приложение для него. Статья затрагивает достаточно базовые концепции разработки на Ava...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Руководство по разработке облачных приложений с помощью SAP Cloud Platform и Cloud Foundry Cloud Foundry (CF) является глобальным стандартом разработки облачных приложений, который позволяет разработчикам уделять больше внимания поставленным задачам и облегчает процесс развертывания и управления приложениями. В этой статье мы расскажем о нескольких этапах, которы...

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

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

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Кроссплатформенная разработка с помощью .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 массив целых ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложение 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" подхода, который выведет вас на длинную дорожку, полную...

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

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

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

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

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

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

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

Возможности dapp, которые делают жизнь проще В статье представлен (и продемонстрирован в коротких видеороликах) инструментарий, облегчающий разработку и отладку конфигураций с dapp — Open Source-утилитой, которую мы ежедневно используем при построении и сопровождении процессов CI/CD. Читать дальше →

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ubuntu 18.04 LTS: что нового? Вчера, 26 апреля 2018 года, состоялся релиз очередной версии Ubuntu — 18.04 Bionic Beaver. Её кодовое название можно перевести на русский как “очень сильный бобёр” (да, у слова bionic есть и такое значение). Основатель Canonical Марк Шаттлворт объясняет выбор названия так:...

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

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

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

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

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

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

[Из песочницы] Программирование stm32f103 с самых основ В статье я хотел бы описать шаги на пути к написанию прошивки для микроконтроллеров stm32 без использования специальных сред разработки типа keil, eclipse и тому подобных. Я опишу подготовку прошивки с самых основ, начиная с написания загрузчика на ассемблере, скрипта для ли...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NumPy в Python. Часть 2 Предисловие переводчика Продолжаем перевод статьи о numpy в python. Для тех кто не читал первую часть, сюда: Часть 1. А всем остальным — приятного чтения. Другие пути создания массивов Функция arange аналогична функции range, но возвращает массив: >>> np.arange(5,...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Эффективная онлайн-оценка качества при разработке веб-сервисов. Лекция Яндекса Разработка сервисов сейчас базируется на оценке их качества. Чтобы оценить взаимодействие пользователей с продуктом, проводятся онлайн-эксперименты, и только потом принимаются решения о запусках и обновлениях. Например, в 2015 году Google ежедневно проводил до 1000 подобных ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Скачать образы Windows 10 April Update MSDN Долгожданный релиз Windows 10 April Update наконец-таки состоялся. В Сети уже появились официальные ISO-образы апрельского обновления. Скачать вы их можете по ссылке ниже.AU предлагает новые функции и взаимодействие с ПК на новом уровне. Функция TimeLine позволит вам просмот...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Роскомнадзор: блокировка Telegram затронула 400 ресурсов На днях пресс-служба Роскомнадзора заявила, что в результате выполнения действий по блокировке мессенджера Telegram была выявлена нештатная работа около 400 сайтов. Сейчас ведомство проводит работу с компаниями, которым принадлежат ресурсы. На «горячую линию» поступили обр...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ScadaPy Creator для python Ускорение процесса создания modbus.py Очередной раз хочется поделиться своим опытом и результатами экспериментов в области промышленной автоматизации. В настоящий момент мы немного поменяли концепцию построения системы опроса устройств с использованием языка python. Больш...

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

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

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

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

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

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

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

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

[Перевод] Вся правда об ОСРВ. Статья #19. Семафоры: введение и базовые службы Семафоры были упомянуты в одной из предыдущих статей (#5). Их основная задача – управление доступом к ресурсам. Читать дальше →

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

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

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

Как построить IIoT архитектуру своими руками. Часть 2: «Вещи» В предыдущей статье мы достаточно кратко рассмотрели организацию и процессинг IoT данных с помощью проекта Apache NiFi. Этой статьей мы открываем серию, в которой детально расскажем о каждом этапе, начиная от самих устройств и заканчивая DataLake платформой аналитикой, машин...

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

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

[Из песочницы] LEMP стек c PHP 7 на CentOS 7 + Let's Encrypt в Google Cloud для развертывания приложения Symfony 4 Добрый день, уважаемый Хабр! В данном посте я приведу конкретные шаги по установке и настройке связки Nginx + MySQL + PHP7 на CentOS 7. Стоит отметить, что в данной статье будет рассказано про настройку системы для одного домена. В качестве площадки будет использоваться инст...

[Перевод] Руководство по Node.js, часть 10: стандартные модули, потоки, базы данных, NODE_ENV Этот материал завершает серию переводов руководства по Node.js. Сегодня мы поговорим о модулях os, events и http, обсудим работу с потоками и базами данных, затронем вопрос использования Node.js при разработке приложений и в продакшне. [Советуем почитать] Другие части цик...

Intel Datacenter SSD. Большие объемы и новые имена Появилась информация о новой линейке SSD Intel для датацентров, в том числе на базе памяти QLC 3D NAND, позволяющей создать носители невиданной прежде емкости – у топовой модели заявлен объем ни много ни мало 32 Тб. Начинается все с моделей поменьше, хотя и 8 Тб SSD – звуч...

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

Volvo и Baidu будут разрабатывать беспилотные автомобили вместе Компании Volvo и Baidu подписали договор о совместной работе по созданию беспилотных автомобилей. У партнеров есть четко ограниченный круг обязанностей: Volvo отвечает, собственно, за автомобили и установку оборудования, а Baidu разрабатывает программное обеспечение робомо...

[Перевод] Создание эмулятора аркадного автомата. Часть 3 Части первая и вторая. Эмулятор процессора 8080 Оболочка эмулятора Теперь у вас должны быть все необходимые знания, чтобы приступить к созданию эмулятора процессора 8080. Я постараюсь, чтобы мой код был как можно более понятным, каждый опкод реализован отдельно. Когда вы ...

Валидация электронных подписей на C# с использованием КРИПТО ПРО Продолжая разговор на тему электронных подписей (далее ЭП), надо сказать о проверке. В предыдущей стать я разбирал более сложную часть задачи — создание подписи. В этой статье всё несколько проще. Большая часть кода это адаптация примеров из КРИПТО ПРО .NET SDK. Проверять бу...

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

Использование камеры Fish eye на Raspberry Pi 3 с ROS — часть 1 Добрый день уважаемые читатели Хабра. Несколько лет назад я писал об использовании камеры Raspberry Pi Camera Board на Raspberry Pi в связке с ROS. В этой и следующей статьях я бы хотел рассказать об использовании широкоугольной камеры типа fish eye на Raspberry Pi 3 с устан...

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

[Перевод] NL2API: создание естественно-языковых интерфейсов для Web API Привет, Хабр! Совсем недавно мы кратко рассказывали о Natural Language Interfaces (Естественно-Языковых Интерфейсах). Ну а сегодня у нас не кратко. Под катом вы найдете полноценный рассказ о создании NL2API для Web-API. Наши коллеги из подразделения Research опробовали уника...

«Lock-free, or not lock-free, that is the question» или «Здоровый сон хуже горькой редьки» На написание данной статьи меня подвигли комментарии к статье "Как правильно и неправильно спать". Речь в данной статье пойдёт о разработке многопоточных приложений, применимости lock-free к некоторым кейсам возникшим в процессе работы над LAppS, о функции nanosleep и насил...

[Перевод] Стрелочные функции в JavaScript: зачем они нужны, как с ними обращаться, когда ими стоит пользоваться, а когда — нет Одной из самых заметных новшеств современного JavaScript стало появление стрелочных функций (arrow function), которые иногда называют «толстыми» стрелочными функциями (fat arrow function). При объявлении таких функций используют особую комбинацию символов — =>. У стрелоч...

«Flutter начинает нравиться сообществу, но пока что не заказчикам»: интервью с Paulina Szklarska Если попробовать представить себе Android-разработчика (где живёт, как выглядит, какие технологии использует), то вряд ли в голову придут польский город Вроцлав и гугловский проект Flutter, а кроме того, возникший образ почти наверняка будет мужским. И доля Flutter в Andro...

Приглашаем на конференцию Azov Developers Meetup 2018 — 13 октября в Таганроге 13 октября в Таганроге пройдёт очередная, уже четвертая, ежегодная конференция Azov Developers Meetup 2018. Приглашаем всех желающих, регистрация бесплатна! Начнем в 9 утра в конгресс-отеле «Таганрог» на ул. Дзержинского, 161 с традиционного приветственного кофе и регистр...

Как быстро установить оболочку Samsung Experience 10 в стиле Android 9 Pie На прошлой неделе AndroidInsider.ru опубликовал инструкцию по установке ранней сборки Android 9 Pie для Galaxy S9+ на базе процессора Snapdragon 845. Описанный нами способ не получил должного распространения, поскольку оказался не только сложным с точки зрения выполнения вс...

Xiaomi и OPPO тоже трудятся над сгибаемым смартфоном Некоторые западные источники сегодня сообщают, что не только Samsung трудится над разработкой складного смартфона, который можно будет каким-то образом сгибать. Якобы Xiaomi и OPPO тоже зарядили свои отделы разработки задачей спроектировать подобные гаджеты. Сложно сказать...

[recovery mode] CRM-интеграция 3CX с Google Contacts В прошлой статье мы обсуждали интеграцию бесплатной редакции IP-АТС 3CX с Microsoft Outlook. А в этой статье поговорим об аналогичной интеграции с сервисом Gmail / Google Apps (G Suite). Например, имея общий доступ к аккаунту Gmail, несколько сотрудников компании могут работ...

Enterprise DevОps: как в большой компании собирают микросервисы Всем привет! Компания Netсracker уже много лет разрабатывает и поставляет enterprise-приложения для мирового рынка операторов связи. Разработка таких решений достаточно сложна: в проектах участвуют сотни людей, а количество активных проектов исчисляется десятками. Раньше про...

Анонс Windows Server 2019 Insider Build 17709 Сегодня компания Microsoft выпустила на тестирование новую предварительную сборку Windows Server 2019 под номером 17709, которая включает в себя несколько новых функций и некоторое количество ошибок, с которыми необходимо ознакомиться перед установкой новой сборки системы. ...

Создание Android приложения для распознавания текста за 10 Минут. Mobile Vision CodeLab Видео версия туториала Оптическое распознавание символов (англ. Optical Character Recognition, сокр. OCR) дает компьютеру возможность читать текст на изображении, позволяя приложениям понимать знаки, статьи, листовки, страницы текста, меню или что угодно в виде текста. Mob...

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

Продвижение на Reddit. Как получить трафик? Reddit.com – это американская социальная сеть, которая может стать отличным источником трафика из США. Для того чтобы понять, каким образом это можно осуществить, стоит разобраться в особенностях платформы. Читать дальше →

Не устанавливайте приложения на карту памяти. Это опаснее, чем вы думали Исследователи компании Check Point узнали о распространении эксплойта для устройств под управлением Android под названием man-in-the-disk. Он полагается на недостаточную защищенность приложений, устанавливаемых на карту памяти, и получает таким образом возможность манипулир...

Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 2 Представляем вашему вниманию вторую часть статьи о реверс-инжиниринге прошивки устройства «Мигающий носорог» по мотивам мастер-класса на конференции SMARTRHINO-2018. В первой части статьи прошивка устройства была загружена в дизассемблер IDA и выполнен первичный анализ ко...

Бэкап для Linux, или как создать снапшот Всем привет! Я работаю в Veeam над проектом Veeam Agent for Linux. С помощью этого продукта можно бэкапить машину с ОС Linux. «Agent» в названии означает, что программа позволяет бэкапить физические машины. Виртуалки тоже бэкапит, но располагается при этом на гостевой ОС. В...

[Перевод] Проектирование типами: Как сделать некорректные состояния невыразимыми Представляю вашему вниманию перевод статьи Scott Wlaschin "Designing with types: Making illegal states unrepresentable". В этой статье мы рассмотрим ключевое преимущество F# — возможность "сделать некорректные состояния невыразимыми" при помощи системы типов (фраза заимствов...

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

Gemini PDA теперь официально поддерживает Sailfish OS На выставке MWC 2018 компания Jolla вместе с анонсом третьего поколения мобильной ОС Sailfish объявила о поддержке новых устройств, среди которых оказался карманный компьютер Gemini PDA. Вчера Jolla выпустила сборку Sailfish OS 2.1 Community Edition специально для данного га...

Настраиваем Web Push Notifications использованием pywebpush шаг за шагом Зачем еще одно руководство? Когда передо мной поставили задачу сделать черновой вариант push notifications, быстрый поиск показал, что на хабре уже есть много статей по настройке push notifications. Вот наиболее, на мой взгляд, годные: Как работает JS: веб push-уведомления ...

[Из песочницы] Плагин «Rainbow CSV» как альтернатива Excel Привет, Хабр! Эта статья про плагин Rainbow CSV, который я написал для 5 текстовых редакторов: VS Code, Vim, Sublime Text 3, Atom, Gedit Думаю, что многие читатели этой статьи периодически сталкиваются с CSV (comma-separated), ТSV (tab-separated) и подобными файлами. Если п...

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

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

[Перевод] Известные проблемы, ошибки и исправления в обновлениях Windows 10 на октябрь 2018 Прошло почти две недели с момента выпуска компанией Microsoft обновлений для Windows 10 в рамках October 2018 Patch Tuesday – и это были долгие две недели. Этот набор патчей можно назвать худшим вторником патчей от Microsoft за очень долгое время, поскольку в нём обнаружил...

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

Официальное заявление Huawei относительно результатов тестирования ее смартфонов в 3DMark Пресс-служба Huawei опубликовала официальное заявление, которое касается достигнутого в ходе разносторонней дискуссии с компанией UL (авторами 3DMark) согласия относительно дальнейшей совместной работы. В ходе дискуссии специалисты из Huawei объяснили, что смартфоны Hu...

[Перевод] Grafana как еще один инструмент для технического мониторинга создаваемых нами программных продуктов Очередная статья в серии «Инструменты мониторинга Logicify» рассказывает о Grafana. Это программное средство мы используем для визуализации и анализа данных как внутренних, так и внешних проектов. Статья может быть полезна техническим директорам, разработчикам, DevOps, систе...

WZor: Microsoft переиздадут ISO-образы Windows 10 October 2018 Update Октябрьское обновление Windows 10 все больше и больше шума вызывает в СМИ, и не без причин. Связано это в первую очередь удалением личный файлов после обновления. Microsoft официально рекомендует пользователям, которые потеряли личные файлы вообще перестать пользоваться ПК.....

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

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

[Из песочницы] Быстрое рабочее окружение для web-разработчиков (Vagrant и PHPStorm) Как быстро создать рабочее окружение для web-разработчиков или настраиваем окружение разработки для работы или изучения HTML, CSS, PHP в Windows. (статья опубликована на Linkedin) Это мой перевод статьи от автора книг по Ассемблеру и Реверсингу программ. Сейчас он в основно...

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

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

Локализация игр и приложений в Unity. Быстро и удобно Привет! В этой статье я поделюсь своим опытом локализации игр и приложений в Unity, а также расскажу о своем плагине Simple Localization, который доступен в Asse Store. Уровень статьи — Easy. Кода не будет вообще, он вам не пригодится. Читать дальше →

[Перевод] Где Agile ужасен, особенно Scrum Гибкость — без сомнения хорошая вещь, и в манифесте Agile есть смысл. По сравнению с хрупкой практикой под названием «водопад», Agile заметно лучше. Тем не менее, на практике гибкие подходы часто наносят глубокий вред, и в действительности вряд ли здесь уместна дихотомия Agi...

[Перевод] Гонка по отправке роботов на добычу ископаемых с океанского дна Maersk Launcher в походе в районе зоны Кларион-Клиппертон в Тихом океане Когда рано утром в понедельник 300-футовый Maersk Launcher пришвартовался в Сан-Диего, с него разгрузили улов, состоящий из твёрдых чёрных комков, собранных со дна океана. Эти комки – не камни, а есте...

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

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

MW share2save 1.00.07 MW share2save — это небольшая программа, которая сохраняет полученный текст в файл (в папке Загрузки телефона) через кнопку Поделиться (share). Без рекламы. Пригодится тем, кто хочет собрать выбранные фрагменты текста в отдельный файл в несколько нажатий. Напр...

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

Памятка для тех, кто планирует впервые набрать стажеров Структурированный личный опыт небольшой IT-компании: где искать, чем загружать, каким образом отбирать, как относиться и как не обзавестись стажером-дементором. Для тех, кому многобукав – в конце есть краткие выводы. Читать дальше →

Установка Archlinux c полным шифрованием системы и LVM на LUKS В данном посте вы прочитаете немного о моих странных изыскания во время вынужденного отпуска по болезни. Речь пойдёт сразу о нескольких вещах, которые не являются «best practice», но так же тоже можно! Итак, здесь будет туториал о том, как установить Archlinux(мой любимый ди...

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

Устройства с macOS можно заразить при начальной настройке Уязвимость в системе управления компьютерами Apple обнаружили специалисты по информационной безопасности из компаний Fleetsmith и  Dropbox. Брешь позволяет устанавливать на Mac произвольный набор программ во время первоначальной настройки устройства с использованием MDM-серв...

Устройства с macOS можно заразить при начальной настройке Уязвимость в системе управления компьютерами Apple обнаружили специалисты по информационной безопасности из компаний Fleetsmith и  Dropbox. Брешь позволяет устанавливать на Mac произвольный набор программ во время первоначальной настройки устройства с использованием MDM-серв...

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

[Перевод] Вышел GitLab 11.2: предпросмотр в Web IDE и импорт проектов под Android Мы с воодушевлением представляем вам новые возможности версии 11.2, которые помогут вам быстрее стартовать и выпускать новые версии. В этот раз мы запускаем улучшения для Web IDE, поддержку импорта манифестов Андроид-проектов и настраиваемые шаблоны проектов. Читать дальше ...

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

Elm. Удобный и неловкий. Json.Encoder и Json.Decoder Продолжим говорить о Elm 0.18. Elm. Удобный и неловкий Elm. Удобный и неловкий. Композиция В этой статье рассмотрим вопросы энкодеров/декодеров. Декодеры/энкодеры используются для: преобразование ответов от сторонних ресурсов (Http, WebSocket и прочее); взаимодействия через...

[Из песочницы] Разбираем протокол чайника Redmond G200S и подключаем его к HomeAssistant Вступление На Гиктаймс уже была статья, посвященная разбору протокола чайника Redmond SkyKettle. Однако там речь шла о модели RK-M171S, здесь же речь пойдет о более функциональном G200S. В данной модели изменился протокол взаимодействия, из за чего подход автора предыдущей с...

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

Новая функция YouTube расскажет, сколько времени пользователи тратят на просмотр видео Опция уже доступна для владельцев гаджетов на базе ОС iOS и Android. Она работает на основе данных истории просмотров. Издание Мashable проинформировало, что в YouTube появилась новая функция. Теперь каждый пользователь сможет узнать, как много времени он проводит за просмо...

GeekBrains научит языку программирования С++ Наш образовательный портал объявляет о запуске курса обучения С++. Студент-«крестоносец» будет востребован в любой отрасли IT: от проектирования и разработки программного обеспечения до гейм-девелопмента. C++ отлично подходит для решения сложных задач, на нем пишутся все вы...

Компанию Apple покинул последний из создателей Siri Том Грубер (Tom Gruber) возглавлял отдел разработки персонального помощника Siri в компании Apple, которую он недавно покинул, как сообщает издание The Information. Том Грубер был одним из трех создателей Siri вместе с Дагом Киттлаусом (Dag Kittlaus) и Адамом Чейер...

Компания Valve хочет обеспечить запуск всех Windows-игр на Linux Компания Valve представила проект Proton — запуск Windows-игр на Linux. Иллюстрация wccftech.com Valve решила не останавливаться на выпуске SteamOS, своей игровой версии Linux, и объявила о выходе бета-версии сервиса Steam Play с модифицированной версией Wine, под кодовым...

eslint-scope v3.7.2 ворует NPM-токены Коллеги, просьба обратить внимание, что если вы сегодня обновляли пакеты nodejs, а именно eslint-scope до версии 3.7.2, то вам нужно срочно поменять NPM-токены и проверить последние коммиты в ваши пакеты. Сводная информация об инцидента по ссылке: github.com/eslint/eslint-s...

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

Знакомимся с миром и лором грядущей Dragalia Lost от Nintendo Dragalia Lost – очень амбициозный проект, ведь вместе со студией-разработчиком Cygames за его создание отвечает Nintendo. Это будет полностью оригинальная RPG в привычном для японских игр стиле. Ее релиз состоится в странах первой волны уже в этом месяце, а недавно компания ...

Как мы делали БелАЗ. Часть 3 – Пусконаладка на разрезе Это третья статья из цикла о самосвале (первая, вторая). Теперь мы едем на карьер, устанавливать электрооборудование на машину и выезжать в первый рейс! Но, конечно же, так просто, с наскоку, ничего не ездит, и я расскажу про множество проблем с которыми мы столкнулись во в...

[Перевод] Замедляем Windows, часть 2: создание процессов Windows давно упрекают за медлительность файловых операций и создания процессов. А вы когда-нибудь пробовали сделать их ещё медленнее? Эта статья покажет технику, как постепенно замедлять создание процессов в Windows (до бесконечности) незаметно для большинства пользовател...

Google обновила Wear OS. Что стало работать быстрее? Вместе с выходом Android P Developer Preview 5, незначительные нововведения которой описаны здесь, апдейт добрался и до приложения Wear OS. Обновление улучшит работу умных часов, ускорит запуск программ и сделает использование более удобным. Всего журналисты выделили три н...

Re: «Сравнение JS-фреймворков: React, Vue и Hyperapp» Это небольшая ответная статья на публикацию «Сравнение JS-фреймворков: React, Vue и Hyperapp». Вообще я не большой фанат подобных сравнений. Однако раз уж речь зашла о таком маргинальном фреймворке, как Hyperapp, в сравнении с мастодонтами, типа React и Vue, я подумал, почем...

Facebook в партнерстве с RED создает профессиональную VR-камеру за много тысяч долларов Вместе с запуском продаж VR-шлема Oculus Go, компания Facebook анонсировала разработку собственной VR-камеры для профессионалов. Устройство создается в партнерстве с известным производителем цифровых кинокамер RED Digital Cinema и операторами Голливуда.

[Из песочницы] Введение в WSGI-серверы: Часть первая Данная статья является переводом статьи Кевина Голдберга «An Introduction to Python WSGI Servers: Part 1» blog.appdynamics.com/engineering/an-introduction-to-python-wsgi-servers-part-1 с небольшими дополнениями от переводчика Краткая история серверов WSGI Python WSGI-серв...

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

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

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

AR — Дополненная Реальность (статья плюс ролик) По-настоящему широкая публика столкнулась с ней, когда Гугл захотел повесить нам на нос свои умные очки. После пришла эпоха смешных масок, которые делали из нас котиков, зайчиков и Леонардо Ди Каприо. Затем покемоны захватили обе реальности и заставили наматывать километры...

Обновление базы данных и zero-downtime deployment Про обновление систем «на лету» без их остановки (zero-downtime deployment) написано немало статей и многие аспекты этого подхода является достаточно очевидными. На мой взгляд, наиболее сложная часть деплоймента в этом случае — обновление хранилищ данных, в случае если их ко...

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

Samsung запустила программу бета-тестирования Android 9 Pie для Galaxy Note 9 Samsung Electronics объявила о старте программы бета-тестирования Android 9 Pie для Galaxy Note 9. Об этом сообщает SamMobile со ссылкой на пользователей, получивших ранний доступ к предварительной сборке обновления. На момент выхода публикации бета доступна только пользова...

[Перевод] Imba: JavaScript-совместимый язык для быстрой работы с DOM Imba — это опенсорсный язык программирования, созданный компанией Scrimba специально для разработки веб-приложений. Он компилируется в JavaScript и способен работать внутри существующей JS-экосистемы. Речь идёт, например, о Node.js, об npm, о Webpack. Основная сильная сторо...

Опыт использования WebRTC. Лекция Яндекса Что лучше использовать при разработке софта — нативные или веб-технологии? Холивар по этому поводу закончится ещё не скоро, но мало кто станет спорить, что нативные функции полезно продублировать для использования в браузерах или WebView. И если когда-то приложения для звонк...

Opera вышла на биржу 27 июля 2018 года компания Opera Ltd., разработчик одноимённого браузера, провела публичное размещение акций на бирже Nasdaq. Размещение прошло удачно. В первые часы торгов стоимость акций выросла на 30% от цены предложения $12, достигнув максимума в $15,62. Всего в первый...

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

[Из песочницы] Codable для API запросов и как навести в коде порядок Привет, Хабр! Начиная со Swift 4 нам доступен новый протокол Codable, который позволяет легко кодировать/декодировать модели. В моих проектах очень много кода для API вызовов, и за последний год я проделал большую работу по оптимизации этого огромного массива кода во что-то...

Разработка КРОК изнутри: люди, утки и много работы Привет, Хабр! Разработка в интеграторе обычно довольно сильно отличается от работы в стартапе или студии разработки программного обеспечения. Из плюсов – куда более глобальные задачи, над решением некоторых из них работают сотни специалистов одновременно, так что заскучать ...

Как подготовиться к собеседованию в Google и не пройти его. Дважды Заголовок статьи звучит как epic fail, но на самом деле все не так однозначно. Да и в общем и целом эта история закончилась весьма позитивно, хоть и не в Google. Но это уже тема для другой статьи. В этой же статье я расскажу о трех вещах: каким образом проходил мой процесс...

[Перевод] Пример работы с методом ICE от менеджера продуктов Google и Microsoft Работа с приоритетами — задача, требующая подготовки, опыта и рассмотрения множества технологий, научных подходов, а также авторских методов. Эта статья – перевод материала с сайта Hackernoon.com. Ее автор предлагает применение собственного инструмента оценки приоритетов в ...

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

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