Социальные сети Рунета
Четверг, 25 апреля 2024

OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным ...

Drag-&-Drop компоненты для слепых пользователей? Вы шутите? Что объединяет Trello, Gmail, Aviasales и Google Keep? В каждом из них есть Drag-&-Drop-компоненты, которые можно перетаскивать мышкой. Использование этих компонентов делает сайты по-настоящему удобными, потому что в реальной жизни мы часто используем этот паттерн. Перед...

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

[Перевод] Взаимодействие между компонентами Angular с использованием RxJS Руководство о том, как использовать Subject RxJS и BehaviourSubject RxJS для связи между компонентами Angular. В этой статье я буду использовать RxJS, чтобы показать как компоненты взаимодействуют, когда они не знают друг друга или не имеют общих родительских / дочерних отн...

[Из песочницы] Angular. Понимание @Input, @Output и EventEmitter Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding @Input, @Output and EventEmitter in Angular» автора foolishneo. Приветствую всех желающих накапливать информацию о тонкостях работы фреймворка Angular. Сегодня посчитал нужным лучше изучить информацию,...

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

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

[Перевод] 9 библиотек веб-компонентов 1. Material components web Обычно заголовок «Material» размещает библиотеку компонентов пользовательского интерфейса прямо наверху рейтингов по количеству звездочек и загрузок. Веб-библиотека Google Material-components — это версия веб-компонента библиотеки Material-UI. По...

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

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

Angulareact У меня есть проблема. Приложение написано на Angular, а библиотека компонентов на React. Делать клон библиотеки слишком дорого. Значит, нужно использовать React-компоненты в Angular-приложении с минимальными затратами. Разбираемся как это делать. Читать дальше →

Как технологии быстрой разработки могут стать источником неприятных уязвимостей Безопасность на реальных примерах всегда более интересна. Как тестировщик на проникновение, люблю, когда приходят проекты, построенные на фреймворках быстрой разработки (Rapid development), подобно Ruby-on-Rails, Django, AdonisJs, Express и так далее. Они позволяют очень бы...

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

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

[Из песочницы] Под капотом у React. Пишем свою реализацию с нуля 


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

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

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

[Перевод] Мой однострочный клиент Dropbox под Linux Хочу рассказать о своей попытке создать простой однострочный клиент Dropbox под Linux, используя только бесплатные компоненты с открытым исходным кодом, в том числе rclone, entr и systemd. Контекст Недавно проприетарный клиент Dropbox под Linux отказался от поддержки всех ф...

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

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

WavesKit — PHP фреймворк для работы с блокчейном Waves Мне нравится PHP за скорость разработки и отличную переносимость. Это очень хорошо, когда в кармане всегда имеется готовый к решению задач инструмент. Было довольно обидно, когда при знакомстве с отечественным блокчейном Waves Platform в его арсенале не оказалось готового SD...

[Перевод] Как была устроена графика NES Выпущенная в 1983 году домашняя консоль Nintendo Entertainment System (NES) была дешёвой, но мощной машиной, достигшей феноменального успеха. При помощи блока обработки изображений (Picture Processing Unit, PPU) система могла создавать достаточно впечатляющую по тем времена...

Компания Mozilla представила платформу WebThings Компания Mozilla после двух лет экспериментов и разработки представила платформу WebThings, в которую вошли ранее развиваемые проекты WebThings Framework и WebThings Gateway, предоставляющие компоненты для обеспечения доступа к различным категориям потребительских устройств ...

[Перевод] Стандартный браузерный API Payment Request Знаете ли вы о том, что во многих современных браузерах имеется встроенный API, который называется Payment Request? Этот API описан в стандарте W3C, который направлен на поддержку работы с платёжной и контактной информацией. Вот обзор стандарта на ресурсе developers.google.c...

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

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

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

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

[Перевод] Создание игры для SEGA Mega Drive/Genesis в 2019 году Даже сегодня люди по-прежнему продолжают создавать новые игры для старых консолей. Мы называем их «homebrew». Иногда это способ реализовать детскую мечту о создании игры для консоли, на которой играл ребёнком. Но кроме того это ещё и интересная задача для любого дизайнера и...

Понимаем UICollectionViewLayout на примере Photos App Здравствуй, Хабр! Меня зовут Никита, я работаю над мобильными SDK в компании ABBYY и в том числе занимаюсь UI-компонентом для сканирования и удобного просмотра многостраничных документов на смартфоне. Этот компонент сокращает время на разработку приложений на базе технологии...

[Из песочницы] О целесообразности Selenium WebDriverWait Чем ближе я знакомлюсь с Selenium WebDriver, тем больше у меня возникает вопросов, почему тот или иной функционал выполнен так, а не иначе. В своем выступлении «Заморочки в Selenium WebDriver» Алексей Баранцев проливает свет на тонкости реализации этого инструмента автоматиз...

[Перевод] Разбираемся с пакетом Context в Golang Пакет context в Go полезен при взаимодействиях с API и медленными процессами, особенно в production-grade системах, которые занимаются веб-запросами. С его помощью можно уведомить горутины о необходимости завершить свою работу. Ниже небольшое руководство, которое поможет ис...

Как мы собирали данные по рекламным кампаниям с интернет-площадок (тернистый путь к продукту) Кажется, что сфера интернет-рекламы должна быть максимально технологичной и автоматизированной. Ещё бы, ведь там работают такие гиганты и эксперты в своём деле, как Яндекс, Mail.Ru, Google и Facebook. Но, как оказалось, нет предела совершенству и всегда есть что автоматизиро...

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

[Из песочницы] Перевод: Стандарт IEEE 802.15.4z. Что нас ждет в будущем? Привет, Хабр! Представляю вашему вниманию перевод статьи «IEEE P802.15. Wireless Personal Area Networks». Перевод статьи: mentor.ieee.org/802.15/documents?is_dcn=coexistence%20document&is_group=004z Файл: 09-Apr-2019 ET Coexistence Document 15.4z Benjamin A. Rolfe (BCA...

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

CES 2019: интерьерные решения для робомобилей будущего в представлении Toyota Производитель автомобильных компонентов Toyota Boshoku, входящий в группу Toyota, впервые примет участие в предстоящей выставке электроники CES 2019 (8–11 января, Лас-Вегас, Невада, США). Компания поделится своим видением того, каким может быть интерьер самоуп...

Госуслуги проапгрейдят по методологии SCRUM, чиновников заменят на софт Минкомсвязь подготовила материалы по разработке 25 цифровых «суперсервисов» для взаимодействия граждан РФ с государством. По плану, к 2021 году это взаимодействие будет происходит в основном в цифровом виде. Поставлена задача довести долю цифрового взаимодействия граждан и б...

KOST: что входит в новый стек технологий для разработки облачных приложений Рассказываем о его компонентах и перспективах. / фото Gozha Net Unsplash Почему появился новый стек Существует множество стеков для разработки программного обеспечения. Один из наиболее известных — LAMP (Linux, Apache HTTP server, MySQL, PHP). На нем построен сайт «Википед...

Mail.ru Group и «Россети Центр» будут сотрудничать в сфере внедрения цифровых технологий Согласно достигнутым договоренностям, стороны будут взаимодействовать в реализации проектов по внедрению в корпоративные и бизнес-процессы "Россети Центр" цифровых технологий, включая большие данные, промышленный интернет, искусственный интеллект, компоненты робото...

5 вещей, которые чаще всего не понимают новички в JavaScript Всем привет! В конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий хотим поделиться с вами авторской статьей, подготовленной специально для студентов курса. Автор статьи: Павел Якупов Превью. Хочу сразу отмети...

[Перевод] Руководство по аннотациям TestNG для Selenium WebDriver Мир, труд, май, хабровчане! Для тех, кто также как и мы ворвался в межпраздничную рабочую неделю, мы подготовили перевод, который хотим приурочить к старту набора на курс «Java QA Engineer», запуск которого запланирован на 28 мая. TestNG — это тестовый фреймворк, созданн...

[Из песочницы] За что я ненавижу Eloquent ORM Всем привет. Хочу перед вами исповедаться и рассказать немного о том, что я чувствую, когда разрабатываю на Laravel. Нет, не подумайте, я обожаю этот фреймворк и безумно благодарен команде, которая его создала и поддерживает, они делают крайне крутое дело и, на мой взгляд, ...

[Из песочницы] Создание Google пользователей из PowerShell через API Привет! В этой статье будет описана реализация взаимодействия PowerShell с Google API для проведения манипуляций с пользователями G Suite. В организации мы используем несколько внутренних и облачных сервисов. По большей части авторизация в них сводится к Google или Active ...

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

У дизайнера новая идея? Что может быть проще Привет, хабровчанин! Дизайнеры люди идейные, а заказчики с их бизнес-требованиями, тем более. Представь, что ты сваял свой самый лучший UIkit на свете на самом крутом %вставить свое% JS фреймворке. Казалось бы, там есть все, что нужно проекту. Теперь-то ты сможешь пить коф...

[Из песочницы] Управление состоянием и событиями между компонентами в GameObject Управление состоянием и событиями между компонентами в GameObject Ссылка на проект Как известно всем, более или менее знакомых с платформой Unity, каждый игровой объект GameObject состоит из компонентов (встроенных или пользовательских, который обычно называют «скрипт»). Ко...

FreePBX. Настройка Asterisk для e-mail уведомлений о пропущенных входящих вызовах в очереди IP ATC Asterisk — это мощный комбайн в области IP-телефонии. А web-интерфейс FreePBX, созданный для Asterisk, значительно упрощает настройку и снижает порог вхождения в систему. Если вы можете придумать какую-либо задачу, связанную с IP-телефонией, то почти наверняка это мо...

[Перевод] Организовываем эффективный рабочий процесс веб-разработчиков: Confluence, Airtable и другие инструменты Я работаю фронтенд-разработчиком около двух лет, участвовал в создании самых разных проектов. Один из выученных мной уроков: взаимодействие между разными группами разработчиков, объединенных одной целью, но имеющих различные задачи и степень ответственности, — дело непрос...

[Перевод] Почему я не использую веб-компоненты Я пишу это в основном для себя в будущем, чтобы у меня было куда сослаться, когда кто-нибудь спросит меня, почему я скептичен в отношении веб-компонентов и почему Svelte не компилируется в веб-компоненты по умолчанию. (Тем не менее, он может компилироваться в веб-компоненты,...

[Из песочницы] Реализация свободного перемещения частиц на ReactJS Приветствую! Хочу вам показать один из способов, как реализовать свободное перемещение частиц в указанном диапазоне. Для выполнения этой задачи я буду использовать ReactJS. Но сам алгоритм все равно будет общим, и вы можете его использовать где угодно. Читать далее

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

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

Делаем мессенджер*, который работает даже в лифте *на самом деле мы напишем только прототип протокола. Возможно, вы встречались с подобной ситуацией – сидите в любимом мессенджере, переписываетесь с друзьями, заходите в лифт/тоннель/вагон, и интернет вроде ещё ловит, но отправить ничего не получается? Или иногда ваш прова...

Мысленный эксперимент: Flutter на Go Совсем недавно я открыл для себя Flutter – новый фреймворк от Google для разработки кроссплатформенных мобильных приложений – и даже имел возможность показать основы Flutter человеку, который никогда не программировал до этого. Сам Flutter написан на Dart – языке, родившимся...

Яндекс внедряет RPKI Привет, меня зовут Александр Азимов. В Яндексе я занимаюсь разработкой различных систем мониторинга, а также транспортной сетевой архитектурой. Но сегодня разговор пойдет о протоколе BGP. Неделю назад Яндекс включил ROV (Route Origin Validation) на стыках со всеми пиринг-...

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

[Из песочницы] Использование Context API в React для создания глобальной темы приложения Привет, это мой первый пост на Хабр. Надеюсь, Вам будет интересно. Итак, я хочу начать серию постов, напрямую или косвенно касающихся создания ui-kit. Задача данного поста: Найти решение контроля темы приложения, компоненты которого выполнены в React.js. Будем использова...

Что нужно знать о Red Hat OpenShift Service Mesh Переход на Kubernetes и Linux-инфраструктуры при цифровой трансформации организаций приводит к тому, что приложения все чаще начинают строиться на основе микросервисной архитектуры и, как следствие, очень часто обрастают сложными схемами маршрутизации запросов между сервисам...

[Перевод] Моки, стабы и шпионы в Spock Framework Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy. Довольно часто коду, который нужно протестировать, требуется взаимодействовать с внешними модулями, называющимися зависимостями (в оригинальной статье используется т...

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

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

[Перевод] Насколько хорошо вы знаете CSS? (+ мини-тест) Отличие между успешным использованием CSS и мучительными попытками справиться с ним, зачастую зависит от мелких деталей. На самом деле, в CSS очень много нюансов. Одна из наиболее часто встречающихся областей, где я часто замечаю такую борьбу — это стилизация макетов. Личн...

ARM прекращает сотрудничество с Huawei Стало известно, что компания ARM также прекращает сотрудничество с Huawei, в связи с чем китайская компания может лишиться возможности создавать свои собственные чипы. Как сообщает BBC News, сотрудникам ARM поручено отказаться от «всех действующих контрактов, права на получ...

PHP Xdebug proxy: когда стандартных возможностей Xdebug не хватает Для отладки PHP-программ часто используют Xdebug. Однако стандартных возможностей IDE и Xdebug не всегда достаточно. Часть проблем можно решить с помощью Xdebug proxy — pydbgpproxy, но всё же не все. Поэтому я реализовал PHP Xdebug proxy на базе асинхронного фреймворка amph...

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

Интеграция Kubernetes Dashboard и пользователей GitLab Kubernetes Dashboard — простой в работе инструмент для получения актуальных сведений о работающем кластере и минимального управления им. Начинаешь его ценить ещё больше, когда доступ к этим возможностям нужен не только администраторам/DevOps-инженерам, но и тем, кто меньше...

[Из песочницы] Заставляем работать MacBook Pro 2018 T2 c ArchLinux (dualboot) Достаточно много было шумихи по поводу того, что из-за нового чипа T2 невозможно установить linux на новые MacBook 2018 года с тачбаром. Шло время, и под конец 2019 года стронними разработчиками был реализован ряд драйверов и патчей ядра для взаимодействия с чипом T2. Основн...

Активное обучение ранжированию Этим постом я открываю серию, где мы с коллегами расскажем, как используется ML у нас в Поиске Mail.ru. Сегодня я объясню, как устроено ранжирование и как мы используем информацию о взаимодействии пользователей с нашей поисковой системой, чтобы сделать поисковик лучше. Зад...

Как сократить time-to-market: история про автоматизацию тестирования в «М.Видео» Быстрая и эффективная разработка ПО сегодня немыслима без отточенных рабочих процессов: каждый компонент передается на сборку к моменту установки, изделие не простаивает в ожидании. Еще два года назад мы совместно с «М.Видео» начали внедрять такой подход в процесс разработ...

Huawei создала подразделение по разработке решений для смарт-каров Новая бизнес-структура займется комплексными решениями для подключенных к интернету "умных" автомобилей, в том числе ИКТ-компонентами и системами для автопроизводителей.

Интеграция с SAP ERP. Реализация мобильного прайс-чекера в магазине В рассматриваемом нами примере интеграции SAP ERP со сторонним ПО, мы будем использовать SAP Connector for Microsoft .NET для получения данных из SAP. Программное обеспечение для терминала сбора данных (ТСД) будет взаимодействовать с Microsoft Internet Information Server (II...

Cоздание визуальных компонентов в Unity UI. Система частиц Привет! Эта статья о создании собственных визуальных компонентов в UI на примере компонента для визуализации системы частиц в Canvas’e. Данная информация будет полезна для реализации различных эффектов в пользовательском интерфейсе, а также может использоваться для генераци...

Безопасность Helm Эмоджи классные, с их помощью можно даже отразить всю суть рассказа о самом популярном пакетном менеджере для Kubernetes: коробка — это Helm (это самое подходящее, что есть в последнем релизе Emoji); замок — безопасность; человечек — решение проблемы. Конечно, построить...

Представлены спецификации OpenXR 1.0 В последние годы Microsoft активно ведёт разработку платформы Windows Mixed Reality и шлема HoloLens 2. Но ещё в 2017 году компания присоединилась к Khronos Group. Эта группа разработала стандарт OpenXR для улучшения взаимодействия между различными приложениями и аппаратными...

Уточняем описание функций системы с помощью диаграммы Sequence Уточняем описание функций системы с помощью диаграммы Sequence (продолжение "Белки") В данной статье рассмотрим, как можно детализировать (уточнить) описание автоматизируемой функции с помощью UML Sequence Diagram — диаграммы последовательности. В данном примере я использую ...

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

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

[Перевод] Учебный курс по React, часть 24: второе занятие по работе с формами Сегодня мы продолжим разговор об использовании форм в React. В прошлый раз мы рассматривали особенности взаимодействия компонентов и текстовых полей. Здесь же мы обсудим работу с другими элементами форм. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX →...

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

PowerShell, дамп моего опыта Введение Эта статья адресована тем, кто уже познакомился с основами PowerShell, запускал какие-то скрипты со stackexchange и, вероятно, имеет свой текстовый файл с теми или иными сниппетами облегчающими повседневную работу. Целью её написания есть уменьшение энтропии, увелич...

[Перевод] Rust в Microsoft (или cоздание Security Daemon Azure IoT Edge) Примечание от переводчика: Rust относительно молодой язык программирования, и на этом этапе развития всегда интересные опыты практического применения. Известно, что Intel, DropBox, Amazon, Facebook и другие используют Rust для своих проектах. Про применение Rust в проекте ...

Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov Лаборатория нейронных систем и глубокого обучения МФТИ вот уже больше года делает DeepPavlov — открытую библиотеку для создания диалоговых систем. Она содержит набор претренированных компонент для анализа языка, с помощью которых можно эффективно решать задачи бизнеса. Напр...

Tic Tac Toe, часть 1 В статье "Сравнение: Svelte и React" я попробовал повторить разработку игры Tic Tac Toe. Там я выполнил только первую часть исходного туториала для React'а без поддержки истории ходов. В этой статье мы начнем разработку этой игры с применением фреймворка Svelte с поддержкой ...

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

[Перевод] Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенУ нас есть компонент переключатель...

Создание React-ивного хука usePosition() для получения и отслеживания координат браузера Если вкратце В этой статье мы создадим React-ивный хук usePosition() для отслеживания геолокации браузера. Под капотом этот хук будет использовать методы getCurrentPosition() и watchPosition() нативного браузерного объекта navigator.geolocation. Финальную версию хука я опуб...

[Перевод] Операции сравнения в C++20 Встреча в Кёльне прошла, стандарт C++20 приведён к более или менее законченному виду (по крайней мере до появления особых примечаний), и я хотел бы рассказать об одном из грядущих нововведений. Речь пойдёт о механизме, который обычно называют operator<=> (стандарт опре...

MSI GT75 9SG Titan стоит 4400 долларов В последнее время игровые ноутбуки становятся все мощнее и мощнее. Когда-то давно мы с уверенностью говорили о том, что ноутбуки никогда не догонят стационарные компьютеры в плане производительности, а сейчас MSI GT75 9SG Titan легко уделает большинство компьютеров. Например...

CUBA 7: что нового? Три года назад мы объявили о выходе CUBA 6. Та версия стала революционной: вместо закрытой проприетарной лицензии мы стали распространять фреймворк свободно, по лицензии Apache 2.0. В то время мы не могли даже и близко представить, насколько это отразится на развитии фреймв...

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

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

Пишем Reverse socks5 proxy на powershell.Часть 2 История об исследовании и разработке в 3-х частях. Часть 2 — разработческая. Буков много — пользы еще больше. В первой части статьи мы познакомились с некоторым инструментарием по организации обратных туннелей, посмотрели на их преимущества и недостатки, изучили механизм ра...

Deepcool Gammaxx L240 V2 с защитой от протечек Достаточно часто при покупке системы жидкостного охлаждения пользователи боятся, что где-то у них протечет жидкость и повредится начинка компьютера. На самом деле внутри СЖО не вода, а специальная жидкость, которая не повредит ваши компоненты от попадания на ту же материнску...

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

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

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

[Перевод] Проект «Прометей»: поиск пожаров с помощью ИИ Перевод Project Prometheus — An AI-powered fire finding solution Мы с коллегами работаем в проекте Prometheus («Прометей») — это решение для раннего обнаружения пожаров, в котором объединены ИИ, компьютерное зрение, автоматические дроны и сервисы прогноза погоды. Этот ком...

[Перевод] Руководство по аутентификации в Node.js без passport.js и сторонних сервисов Автор статьи, перевод которой мы сегодня публикуем, говорит, что сейчас можно наблюдать рост популярности таких сервисов аутентификации, как Google Firebase Authentication, AWS Cognito и Auth0. Индустриальным стандартом стали универсальные решения наподобие passport.js. Но, ...

[Из песочницы] Разработка под Docker. Локальное окружение. Часть 1 Возможно, одна из самых основных причин почему мне нравится докер это то, что он позволяет избавиться от необходимости установки на компьютер различных сервисов. К их числу можно отнести и сам веб-сервер Apache или Nginx, базы данных и прочие компоненты инфраструктуры прилож...

Реализация паттерна Page Object на Python + pytest Когда я начинал изучать автоматизацию тестирования, не мог понять — “что такое Page Object и как его реализовать на Python + pytest?”. Штудируя интернет, нашел реализацию на других языках и фреймворках: обучающие статьи, которые были непонятны для меня. Поэтому решил написат...

На базе КАМАЗ создали беспилотный тягач Для реализации проекта КАМАЗ предоставил один из новых популярных автомобилей в спектре продукции компании - КАМАЗ-5490 NEO. На первом этапе проекта сотрудники компании "ВИСТ Групп", отвечающие за роботизированные системы, частично переоборудовали автомобиль и подг...

Audi с компонентами Samsung. В основе информационно-развлекательной системы в обновлённой Audi A4 будет лежать SoC Exynos Auto 8890 Компания Samsung Electronics сегодня объявила о том, что её однокристальная система Exynos Auto 8890 будет использована автомобильным гигантом Audi в его будущих машинах. Если точнее, Exynos Auto 8890 ляжет в основу информационно-развлекательной системы MIB трет...

Системы на основе очередей задач Привет, Хаброжители! Мы решили поделиться переводом главы «Системы на основе очередей задач» Из готовящейся к выходу новинки «Распределенные системы. Паттерны проектирования» (уже в типографии). Простейшая форма пакетной обработки — очередь задач. В системе с очередью за...

Что делать, если протухли сертификаты и кластер превратился в тыкву? Если в ответ на команду kubectl get pod вы получаете: Unable to connect to the server: x509: certificate has expired or is not yet valid то, скорее всего, прошел год, у сертификатов вашего kubernetes закончился срок действия, компоненты кластера перестали их использовать, в...

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

VueJs + VueRouter + modal. Очередной велосипед Добрый день. В этой статье я разберу способ, который позволяет при смене адреса показывать модальное окно для наших нужд. Я знаю, что есть собственное решение для компонента «modal» на официальном сайте. Вдобавок к этому на Хабре есть много других статей, посвященных теме мо...

Гиперконвергентное решение AERODISK vAIR. Основа — файловая система ARDFS Привет, читатели Хабра. Этой статьей мы открываем цикл, который будет рассказывать о разработанной нами гиперконвергентной системе AERODISK vAIR. Изначально мы хотели первой же статьей рассказать всё обо всём, но система довольно сложная, поэтому будем есть слона по частям....

[Перевод] Заложники COBOL и математика. Часть 1 Посмотрим правде в глаза: никто не любит дробные числа — даже компьютеры. Когда речь заходит о языке программирования COBOL — первый вопрос, который всплывает у всех в голове, всегда выглядит так: «Почему человечество всё ещё использует этот язык во множестве жизненно важны...

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

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

Один день из жизни модели ресторана Данная статья описывает новые компоненты фреймворка для имитационного моделирования, ранее представленного в статье «Простая система имитационного моделирования на Go». По мере расширения фреймворка появилась возможность моделировать более сложные системы, например, провест...

Lazarus — пишем компонент для анимации спрайтов Вместо предисловия В одесской школе ученики 8-го класса на уроках информатики используют бесплатную кроссплатформенную среду разработки Lazarus (официальный сайт: www.lazarus-ide.org), внешне и внутренне очень напоминающую любимый многими Delphi, использующую версию Object P...

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

MPPT контроллер заряда на STM32F334C8T6 В комментариях под моими предыдущими статьями неоднократно возникал вполне резонный вопрос: "Зачем делать dc/dc преобразователи на микроконтроллере, когда есть готовые?" и я в качестве ответа постоянно упоминал, как наиболее яркий пример, контроллер заряда с алгоритмом MPPT....

[Перевод] Как стать хорошим менеджером? 4 способа восполнить пробел в навыках управления Перевод статьи подготовлен специально для студентов курса «Team Lead 2.0». Как стать хорошим менеджером и восполнить пробелы в навыках управления бизнесом? На сегодняшний день многие недооценивают необходимость грамотного менеджмента в бизнесе. Менеджмент – это сложно. Н...

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

[Из песочницы] Создание REST API с Node.js и базой данных Oracle Привет, Хабр! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics». Часть 1. Создание REST API: основы веб-сервера Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав нескольк...

Галерея дня: Samsung создала складной смартфон Galaxy Note со стилусом На момент дебюта складных смартфонов Samsung Galaxy Fold и Huawei Mate X уже ходили слухи о разработке Galaxy Note с гибким экраном. Теперь, судя по всему, они подтвердились.  Компания Samsung оформила патент во Всемирной организации интеллектуальной собственности...

Чем опасны хакерские атаки на IoT-устройства: реальные истории Инфраструктура современного мегаполиса строится на устройствах интернета вещей: от видеокамер на дорогах до крупных ГЭС и больниц. Хакеры в состоянии сделать любое подключенное устройство ботом и использовать дальше для совершения DDoS-атак. Мотивы могут быть самыми разными...

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

В Android исправили критические RCE-уязвимости Компания Google выпустила два комплекта обновлений для операционной системы Android. Наборы патчей, появившиеся 1 и 5 ноября 2019 года, содержат 38 заплаток, устраняющих баги в базовом фреймворке, ядре, библиотеках и других частях ОС. Разработчики также включили в ноябрьский...

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

Так все-таки RAML или OAS (Swagger)? В динамичном мире микросервисов измениться может все что угодно — любой компонент можно переписать на другом языке, используя иные фреймворки и архитектуру. Неизменными должны оставаться лишь контракты, для того, чтобы с микросервисом можно было взаимодействовать извне на не...

Hitachi Vantara представила новинки для управления данными Интернета вещей Решения Lumada Data Services, Data Lake и Edge Intelligence призваны помочь заказчикам преодолеть разрозненность массивов данных и стимулировать инновации, используя методологию DataOps. На конференции NEXT 2019 компания Hitachi Vantara объявила о расширении комплекса реш...

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

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

Kotlin DSL, Fixtures и элегантные UI тесты в Android Когда познакомился с Kotlin DSL, подумал: отличная штука, жалко в продуктовой разработке она не пригодится. Однако, я был неправ: он нам помог сделать очень лаконичный и элегантный способ написанная End-to-end UI тестов в Android. Читать дальше →

Хостинг: варианты, сравнения, пользовательская статистика Удивительно, но из обилия статей на тему хостинга в Интернете едва ли найдётся десяток, где тема раскрыта доступным для всех языком. Часто даже профессионалы и опытные пользователи отмечают, что в большинстве описаний «чёрт ногу сломит», особенно на сайтах компаний, предлага...

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

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

Разрушение Silo через адаптацию VeriSM™ подхода Силосная культура – бич современного бизнеса любого уровня. Главный признак ее возникновения – замкнутость подразделений внутри своих бизнес-процессов, что непременно ведет к смещению фокуса с глобальных задач компании на удовлетворение собственных. Силос по своей сути это б...

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

[Перевод] Асинхронное программирование – производительность async: понять расходы на async и await Это статья достаточно древняя, но не потерявшая актуальности. Когда разговор заходит об async/await, как правило, появляется ссылка на неё. Перевода на русский найти не смог, решил помочь кто не fluent. Асинхронное программирование долгое время было царством самых опытных р...

JSON API – работаем по спецификации В последнее время веб-разработка разделилась. Теперь мы все не full-stack программисты — мы фронтендеры и бэкендеры. А самое сложное в этом, как и везде, это проблема взаимодействия и интеграции. Фронтенд с бэкендом взаимодействуют через API. И от того, какой это API, наско...

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

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

[Из песочницы] Angular schematics, или как я писал свой шаблон для angular cli Здравствуйте, меня зовут Максим. Уже несколько лет я занимаюсь front-end разработкой. Мне часто приходится иметь дело с версткой различных html шаблонов. В своей повседневной работе я обычно пользуюсь сборщиком webpack c настроенным шаблонизатором pug, а также использую мето...

[Перевод] Создание приложения с использованием Styled-Components в Vue.js Привет, Хабр! На днях наткнулся на одну очень интересную статью на португальском. К счастью, удалось найти её английскую версию. Предлагаю вашему вниманию перевод на русский. Другие мои переводы вы можете найти на мой странице на хабре. Ссылка на оригинал: португальский, ан...

Поднимаем производительность SSD c колен, куда нажимать и зачем На самом деле, речь сегодня пойдёт не только о бывших в использование какое-либо время накопителях, ведь проблема низкого быстродействия может затронуть даже только что принесённый из магазина SSD. Конечно, физику не обманешь – со временем все твердотельные накопители будут ...

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

Универсальный способ настройки внешнего вида WinForms приложения (на примере FAQ.Net) Введение После размещения первой статьи о своем приложении FAQ.Net (программа заметок под Windows), появились первые пользователи, для которых хочется дальше развивать свою программу для заметок. Чтобы повысить интерес у пользователей, возникла идея повысить его привлекател...

[Из песочницы] DDS Синтезатор на Verilog В этом посте я поделюсь тем, как разбирался с написанием DDS синтезатора на Verilog. Он будет использован для генерации синусоидального колебания, частоту и начальную фазу которого можно регулировать и рассчитан для использования с 8-битным однополярным ЦАП. О том, как рабо...

WG Contract API: zoo of services С ростом количества компонентов в программной системе, обычно растёт и количество людей принимающих участие в её разработке. Как следствие, для сохранения темпов разработки и простоты сопровождения, подходы к организации API должны стать предметом особого внимания. Если х...

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

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

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

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

[Из песочницы] Generic Recycler View или как не писать шаблонный код Все мы пишем приложения и у всех нас есть списки. И самое очевидное решение это RecyclerView. Сама по себе реализация не сложна и писать гайд по RecyclerView уже не актуально. Но есть одно но. Каждый раз когда нам нужен список мы создаем класс, в нем прописываем шаблонный ме...

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

[Из песочницы] Организация reducer'а через стандартный класс Приветствую, сегодня я собираюсь поговорить с вами о способе организации Reducer'a. И рассказать с чего я начал и к чему пришел. Итак, есть некий стандарт по организации Reducer и выглядит он следующим образом: export default function someReducer(state = initialState, action...

Async/await в C#: концепция, внутреннее устройство, полезные приемы Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использов...

Как мы в QIWI пришли к единому стилю взаимодействия между View и ViewModel в рамках MVVM Изначально весь проект был написан на Objective-C и использовал ReactiveCocoa версии 2.0 Взаимодействие между View и ViewModel осуществлялось посредствам биндингов свойств вью модели, и все бы ничего, за исключением того, что отладкой такого кода заниматься было очень сложно...

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

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

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

OWASP API Security Top 10 RC Этот проект предназначен для постоянно растущего числа организаций, которые внедряют потенциально чувствительные API в рамках своих программных решений. API используются для внутренних задач и для взаимодействия со сторонними сервисами. К сожалению, многие API не проходят т...

«Ростелеком» покупает долю в «Национальных технологиях» Одной из основных задач СП будет совершенствование оборудования для сбора информации и систем хранения данных для исполнения требований ФЗ-374 "О противодействии терроризму". В "Ростехе" считают, что уже по состоянию на 2019 год отечественные разработки в...

«Диасофт» поддерживает требования ИБ в решении для работы с ЕБС Компания «Диасофт» реализует комплекс мер для подтверждения соответствия специализированного решения по взаимодействию с Единой биометрической системой –FLEXTERA«Взаимодействие с ЕБС» – требованиям информационной безопасности. В ближайший...

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

Бессерверный REST API «на коленке за 5 минут» Привет, Хабр! Сегодня продолжим разговор о возможностях, которые предоставляет нам Amazon Web Services и о том, как эти возможности использовать в решении прикладных задач. На простом примере рассмотрим создание буквально за несколько минут собственного бессерверного автом...

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

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

Общие компоненты силами разных команд. Доклад Яндекса Создание и сопровождение общих компонентов — процесс, в котором должны быть заняты множество команд. Руководитель службы общих компонентов Яндекса Владимир Гриненко tadatuta объяснил, как их разработка переросла выделенную команду «Лего», как мы сделали монорепозиторий на ба...

[Перевод] Пишем API для React компонентов, часть 5: просто используйте композицию Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Делаем свой Google Call Screening на основе Voximplant и Dialogflow Возможно, вы слышали или читали про функцию Call Screening, которую Google выкатил для своих телефонов Pixel в США. Идея отличная – когда вам поступает входящий звонок, то виртуальный ассистент начинает общаться, в то время как вы видите этот разговор в виде чата и в любой ...

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

[Из песочницы] Взаимодействие с Asterisk сервером из Java-приложения Взаимодействие с сервером Asterisk из java-приложения через Asterisk Managment Interface (AMI) Если вы только начинаете исследования в этой области, то взаимодействие с данным сервером может показаться вам несколько запутанным, как когда-то показалось мне. Чтобы не искать ...

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

[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...

[Из песочницы] 2 минуты с Webpack tree-shaking и re-export Вступление Позвольте мне начать. У нас был монолитный фронтэнд с большим наследием. Сервисы жили в одних файлах с компонентами. Всё было вперемешку и с лозунгом на фасаде: “Пусть всё будет под рукой – так легче найти, что надо". И не важно, что длина файла 200+, 300+, 5...

[Перевод] Использование Golang для создания микросервисов в The Economist: ретроспектива Всем привет! Уже 28 мая мы запускаем первую группу по крусу «Разработчик Golang». И сегодня делимся с вами первой публикацией приуроченной к запуску этого курсу. Поехали. Ключевые выдержки The Economist требовалось больше гибкости для распространения контента на все бол...

[Из песочницы] PHPDump — Отладка в консоли Google Chrome и взаимодействие с CMS MODX Сразу к делу Есть собственный продукт который успешно мне помогает в отладке и назвал его PhpDump. В свое время CMS MODX побудил меня написать свой отладчик. Конечно же есть var_dump, phpConsole, xDebug в PHP. Но тут я со своим PhpDump. Скажу что решение не идеальное, но о...

«Ростех» строит базу данных радиоэлектроники на «1С-Битрикс» и PostgreSQL По сведениям CNews, каталог будет представлять собой автоматизированную информсистему, реализованную в виде веб-портала. В ней будет предусмотрена возможность создания мобильных приложений для iOS и Android. Это следует из техзадания соответствующего тендера, оформленного в ...

[Из песочницы] Telegram в качестве хранилища данных для IT проектов Добрый день, сегодня я хотел бы поделится с Вами проблемами и их необычными решениями, которые встретились при написании небольших IT проектов. Сразу скажу, что статья для тех, кто хоть немного разбирается в разработке телеграмм ботов, баз данных, SQL и в языке программирова...

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

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

Если у Вас нет Питона, но есть Керас-модель и Джава Всем привет! В построении ML-моделей Python сегодня занимает лидирующее положение и пользуется широкой популярностью сообщества Data Science специалистов [1]. Также, как и большинство разработчиков, Python привлекает нас своей простотой и лаконичным синтаксисом. Мы использу...

Создан альянс, продвигающий конкурента архитектуры x86 Эти и другие компании, присоединившиеся к организации, будут поддерживать открытую спецификацию архитектуры набора команд RISC-V, основанного на принципах сокращенного набора инструкций (RISC, Reduced Instruction Set Computer).Атака на Intel. RISC-V конкурирует с архитектуро...

[Перевод] Основы движков JavaScript: общие формы и Inline кэширование. Часть 2 Всем привет! Курс «Безопасность информационных систем» стартует уже через 2 недели, поэтому сегодня мы хотим опубликовать вторую часть статьи, публикация которой приурочена к его запуску. Прочитать первую часть можно тут. Итак, начнем. Inline Caches (ICs) Основной идеей, к...

Создание и обновление списков рассылки в Zimbra Collaboration OSE на основе групп и пользователей Active Directory 1. Пара слов от автора В комментариях к прошлой статье мне задали интересный вопрос об автоматическом формировании списков рассылки на основе групп безопасности AD. Есть задача – есть решение. Правда, оговорюсь сразу, решение несколько костыльное (почему – читать далее), но ...

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

Ростех развивает сотрудничество с Китаем в сфере радиоэлектронного оборудования Делегацию Ростеха возглавил заместитель генерального директора Корпорации Николай Волобуев, делегацию CЕТC - заместитель генерального директора Хуан Синдун. Стороны обменялись информацией о статусе и перспективах совместных проектов по авионике, электронной компонентной базе...

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

Qualcomm Quick Charge станет стандартом качества для беспроводной зарядки Qi В Барселоне на MWC 2019 компания Qualcomm объявила, что её хорошо зарекомендовавшая себя технология Quick Charge распространит свои уникальные функции, предназначенные для минимизации потерь энергии и нагрева устройства для продления срока службы батареи, в область беспровод...

iPhone 11 Pro Max уступил китайским смартфонам по качеству фото Камера iPhone 11 Pro Max хороша, но не настолько, как у китайских смартфонов Несмотря на то что многие пользователи Android уверяют, что их смартфон лучше, чем iPhone, на самом деле часть из них втайне мечтает вырваться из оков «зелёного робота» и пересесть на iOS. Ведь како...

Кто использует протокол аутентификации SAML 2.0 У себя в блоге мы часто затрагиваем вопросы защиты данных и авторизации. Например, мы рассказывали о новом стандарте для беспарольной авторизации WebAuthn и даже брали интервью у одного из его разработчиков. Также обсуждали технологию DANE для аутентификации доменных имен по...

Мотивация, делегирование и автоматизация: рецепт создания суперкоманды Знакомьтесь, это Дима. Он тимлид и отвечает за техдолг и код-ревью, за планирование и технические процессы, за выполнение разработчиками задач в срок — мотивирует, нанимает и, если надо, увольняет. Дима хочет работать только над важными задачами, но работает над миллионом са...

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

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

[Из песочницы] На одной асимптотике далеко не уедешь… Любители посоревноваться в алгоритмах часто говорят об асимптотике того или иного решения задачи. При этом нередко можно встретить высказывания, что, мол, «вот этот» алгоритм работает за O(n), а «вон тот»  – за O(n·log(n)), значит первый однозначно быстрее и, следовательно,...

[Перевод] Лучшие продукты отталкиваются от настоящих проблем: Intercom про Jobs-to-be-Done. Часть 1 Jobs-to-be-Done — это подход к созданию продукта на основе анализа работы, которую стремится выполнить клиент с помощью продукта. Появился в 90-х годах и был адаптирован Intercom для IT-продуктов. Подход состоит из теории, почему «вечные» работы, для выполнения которых «на...

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

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

Ускорение программы для синтезированного процессора комплекса Redd без оптимизации: замена тактового генератора До сих пор мы рассматривали тему, как повысить быстродействие системы, применяя какие-то интенсивные методы. Но на самом деле, есть методы и экстенсивные. Сейчас мы работаем на тактовой частоте 50 МГц, что связано с использованием компонента из набора для университетской про...

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

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

Как быстро делать прототипы устройств и почему это важно. Доклад Яндекс.Такси Любой технически сложный hardware-проект — всегда уравнение с множеством неизвестных: платформа, компоненты, технологии, производство, функциональность, реализуемость. «Пощупать», что получается, можно, когда пройдены дорогостоящие этапы: R&D, выбор комплектующих, разраб...

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

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

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

Последние изменения в IO-стеке Linux с точки зрения DBA Главные вопросы работы с базой данных связаны с особенностями устройства операционной системы, на которой работает база. Сейчас Linux — основная операционная система для баз данных. Solaris, Microsoft и даже HPUX все еще применяются в энтерпрайзе, но первое место им больше н...

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

[Перевод] Обзор новых функций NestJS 6 Мы в TestMace активно используем NestJS для разработки наших сервисов. Сегодня вашему вниманию представляется перевод статьи, посвященной обзору фич новой мажорной версии NestJS. Сегодня я рад представить официальный релиз Nest 6 — прогрессивного Node.js фреймворка для со...

[Перевод] Распознавание эмоций с помощью сверточной нейронной сети Распознавание эмоций всегда было захватывающей задачей для ученых. В последнее время я работаю над экспериментальным SER-проектом (Speech Emotion Recognition), чтобы понять потенциал этой технологии – для этого я отобрал наиболее популярные репозитории на Github и сделал их...

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

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

Terraformer — Infrastructure To Code Хотел бы рассказать про новый CLI tool который я написал для решения одной старой проблемы. Проблема Terraform уже давно стал стандартом в Devops/Cloud/IT сообществе. Вещь очень удобная и полезная чтоб заниматся infrastructure as code. Есть много прелестей в Terraform а т...

[Из песочницы] Функциональные компоненты с React Hooks. Чем они лучше? Относительно недавно вышла версия React.js 16.8, с которой нам стали доступны хуки. Концепция хуков позволяет писать полноценные функциональные компоненты, используя все возможности React, и позволяет делать это во многом более удобно, чем мы это делали с помощью классов. М...

Аппаратные компоненты бортовой МПС унифицированного ударного истребителя F-35 Приоритеты современной военной авиации сосредоточены на качественной ситуационной осведомлённости, поэтому современный истребитель представляет собой летающий рой высокотехнологичных сенсоров. Сбор информации с этих сенсоров, её обработку и представление пользователю осущест...

Xbox Scarlett будет в 4 раза мощнее Xbox One X Microsoft наконец-то анонсировала Xbox Scarlett на E3 2019: самую мощную консоль из когда-либо созданных… снова.Xbox Scarlett создается точно такой же командой, что и Xbox One X. В партнерстве с AMD Scarlett использует современный SoC, созданный с нуля для консоли. Основанна...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

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

К вопросу о преобразованиях и прочих операциях Синяя Гусеница: А ну нас-то не собьешь. Мы себе сидим, знаем: ждут нас превращения. А что? А ничего! Сидим, курим, ждем… Алиса- кукла: Чего? Синяя Гусеница: Чего, чего! Превращений. Дом — в дым, дым- в даму, а дама — в маму. Вот так-то. Не мешайте, не заскакивайте вперед, а ...

Kaspresso: фреймворк для автотестирования, который вы ждали Все, кто занимался или занимается автотестами под Android, знают, какая это боль. От объема задач и проблем устаешь так, что даже отпуск не помогает. Люди даже увольняются из-за автотестов. Боль, страдания и мучения неизбежно приводят к появлению чего-то нового и прекрасног...

Как соотносятся роли Service Owner и Service Level Manager Думаю, следует сразу уточнить, что рассматривать соотнесение ролей будем в контексте ITIL V3. В ITIL4 Foundation детального описания ролей, участвующих в практиках, нет, так что ждём. Мысль рассмотреть эти две роли, что называется, в связке, возникла не просто так. На неё н...

Что нужно знать об интернете вещей: фундаментальный ликбез Об IoT говорят сегодня чуть ли не из каждого («умного») утюга. При этом в таких разговорах обычно пропускают базовые вещи: что такое интернет вещей, из чего он состоит, и кто может отвечать на эти вопросы на правах «уполномоченного органа». А между тем, вопросы эти весьма ...

Этот ваш хаскель (не) только для факториалов и годен Когда речь заходит о любимых языках, я обычно говорю, что при прочих равных предпочитаю C++ для числодробилок и хаскель для всего остального. Полезно периодически проверять, насколько такое деление обосновано, а тут ещё недавно возник один праздный и очень простой вопрос: ка...

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

Мы agile или аджайл нас? Какая главная проблема в разработке программного обеспечения (а может и вообще в любой работе)? Когда я задавал вопрос коллегам, получал разные ответы: изменения требований, несоответствия ожиданий, качество кода, взаимодействие с другими командами… суммируя для себя — комму...

Git это круто! Ваш кэп Это, пожалуй, будет самая короткая моя статья. Более того, сама идея, изложенная в ней, очевидная. Часто в WEB проектах возникают задачи по доставке статики на прод вне релизов. Например, нужно выложить файлы для SPA со всякой маркетинговой лабудой, типа актуальных комиссий...

ChipWhisperer: атака по энергопотреблению на Магму Автор статьи: rakf В рамках Summer of Hack 2019 в Digital Security я разбирался с атакой по энергопотреблению и работал с ChipWhisperer. Что это? Анализ энергопотребления — это один из видов атак по сторонним каналам. То есть атак, использующих информацию, которая появляетс...

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

[Перевод] SVG или canvas? SVG и canvas — это технологии, которые можно использовать для рисования чего-либо на веб-страницах. Поэтому их стоит сравнить и разобраться в том, когда стоит применять SVG, а когда — canvas. Даже весьма поверхностное понимание сути этих технологий позволяет сделать вполне...

Октябрьский апдейт Android устраняет критические RCE-баги Компания Google выпустила заплатки для трех критических уязвимостей в библиотеках мультимедиа ОС Android (Media framework). Их эксплуатация позволяет злоумышленнику удаленно выполнить свой код. Совокупно октябрьский набор патчей для Android закрывает почти три десятка уязвим...

pg_stat_statements + pg_stat_activity + loq_query = pg_ash? В качестве короткого дополнения к статье Попытка создать аналог ASH для PostgreSQL. Задача Необходимо связать историю представлений pg_stat_statemenets, pg_stat_activity. В результате, используя историю планов выполнения из сервисной таблицы log_query, можно получить очень ...

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

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

Повторное использование форм на React Привет! У нас в БКС есть админка и множество форм, но в React-сообществе нет общепринятого метода — как их проектировать для переиспользования. В официальном гайде Facebook’a нет подробной информации о том, как работать с формами в реальных условиях, где нужна валидация и п...

Протокол SPBm как основа Extreme Automated Campus Решения компании Extreme Networks «Extreme Automated Campus» обеспечивают возможность одновременного использования множества путей передачи и быстрого восстановления в случае аварии. Сеть, состоящая из множества физических коммутаторов, представляет собой один распределённый...

[Перевод] Бесстрашная защита. Безопасность памяти в Rust В прошлом году Mozilla выпустила Quantum CSS для Firefox, который стал кульминацией восьми лет разработки Rust — безопасного для памяти языка системного программирования. Потребовалось более года, чтобы переписать основной компонент браузера на Rust. До сих пор все основны...

[Из песочницы] Случайные перестановки и случайные разбиения Я много лет читаю курсы по комбинаторике и графам для студентов-математиков и computer scientists (как это по-русски, компьютерных научников?), раньше в Академическом университете, а теперь в СПбГУ. Программа у нас построена так, что эти темы проходят как часть «теоретическо...

[Перевод] Пишем API для React компонентов, часть 6: создаем связь между компонентами Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Оптимальная схема для взаимодействия с вендорами, партнёрами и подрядчиками. Анализ вариантов Любой сложный «продукт» — будь то услуга или материальный объект — ориентирован на долгосрочное удовлетворение потребностей и запросов клиента. Соответственно, неотъемлемой частью работы с «продуктом» является получение обратной связи от потребителя и поддержание «продукта» ...

Элементы, основа для разработки Работа и разработка идут хорошо когда есть: От чего отталкиваться(основа). К чему стремиться(идея, проект и т.д.) Одной из основ я хочу поделиться с Вами в данной публикации. Читать дальше →

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

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

Удалите это Android-приложение. Оно распространяет вирусы Вирусы для Android — везде, даже в Google Play Думаю, не ошибусь, если предположу, что большинство наших читателей используют для загрузки приложений только Google Play. Самый распространённый довод в пользу фирменного каталога Google – это безопасность. Многим кажется...

[Из песочницы] Статический анализ «BIOS/UEFI» или как получить Dependency Graph «Я вчера закончил ковку, Я два плана залудил…» … V.S. Vysotsky song... Уже почти 3 года назад (в начале 2016) в issue проекта UEFITool на GitHub появилось пожелание пользователей: построить «Dependency Graph» для исполняемых модулей, входящих в BIOS/UEFI. Завязалось да...

Композитный «datasource»-объект и элементы функционального подхода Как-то раз я (ну ладно, даже не я) столкнулся с задачей добавить в UICollectionView с определенным типом ячеек одну ячейку совершенно другого типа, причем делать это лишь в особенном случае, который обрабатывается «выше» и никак не зависит от UICollectionView напрямую. Задач...

Как распилить монолит на сервисы и сохранить производительность In-memory кэшей без потери консистентности Всем привет. Меня зовут Александр, я Java-разработчик в группе компаний Tinkoff. В данной статье хочу поделиться опытом решения проблем, связанных с синхронизацией состояния кэшей в распределенных системах. Мы столкнулись с ними, разбивая наше монолитное приложение на микр...

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

[Перевод] Agile: крупнейшая идеологическая проблема в IT В 2001 году группа технологов и программистов, разделявших небанальные теории о том, как следует управлять разработкой ПО, встретились на горнолыжном курорте Сноубёрд, чтобы письменно изложить некоторые из этих концепций. Так родился «манифест Agile» — обманчиво простой до...

[Перевод] Полное руководство по useEffect Вы написали несколько компонентов с использованием хуков. Возможно — даже создали небольшое приложение. В целом результат вас вполне устраивает. Вы привыкли к API и в процессе работы обнаружили несколько неочевидных полезных приёмов. Вы даже создали несколько собственных хук...

Java REPL вам не ScriptEngine Привет, Хабр! Меня зовут Дима, я разработчик в команде “Архитектура” в hh.ru. Среди прочего, я занимаюсь тем, что делаю разработку проще для коллег. Выполнение кода в продакшене является типовой задачей. Поэтому когда я услышал, что с этим есть проблемы, я решил заняться и...

Себестоимость iPhone 11 Pro Max составляет $490 Компания TechInsights подсчитала стоимость компонентов в новом iPhone 11 Pro Max и сравнила её с iPhone XS Max. Таким образом, компоненты iPhone 11 Pro Max обходятся в $490,5, тогда как себестоимость его предшественника составляла $443. Самым дорогим компонентом «Промаха»…

На самом деле вот так будет выглядеть iPhone 11 Помните пару лет назад Тим Кук обещал, что компания начнёт ещё более строго относиться к моментам секретности касаемо своих разработок и продуктов? Возможно, в Apple в этом направлении действительно что-то поменялось. Однако сдержать все утечки по новым моделям iPhone всё ...

[Из песочницы] Знакомство с простейшей нейронной сетью и ее пошаговая реализация Как-то раз я наткнулся на книгу под названием «Создай свою нейросеть», автор которой -Тарик Рашид и после прочтения остался доволен, в отличие от многих других методичек по нейронным сетям, которые по-своему, несомненно, хороши, в этой книге все подавалось простым языком c д...

[Перевод] Решения задач из статьи об идеальной случайности Существует ли объективная, идеальная случайность, или она является следствием нашего неведения? В сентябре было опубликовано несколько задачек, с помощью которых мы изучали случайные процессы в повседневных объектах – замках для велосипеда или головоломках. Давайте теперь ...

[Из песочницы] CSS-переход свойства height от 0px до auto Здравствуй, Хабр! Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto. Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в ...

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

Лексическое окружение (LexicalEnvironment) и Замыкание (Closures) в EcmaScript Привет, Хабр! Давно ничего не писал, большая загруженность на проекте крайние несколько недель, но сейчас появилось свободное время, поэтому решил представить вашему вниманию новую статью. Сегодня мы продолжим разбирать ключевые концепции EcmaScript, поговорим о Лексическо...

[Из песочницы] Делим Laravel на компоненты Привет, Хабр. Недавно получил в руки интересный проект, который, несмотря на свою простоту требовал не использовать какой-либо фреймворк. О пакетах речи не шло, поэтому было принято решение использовать привычные компоненты Laravel. Если есть необходимость в использовании оч...

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

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

[Перевод] ZIO & Cats Effect: удачный союз Cats Effect стал своего рода «Reactive Streams» для функционального Scala-мира, позволив объединить всю разнообразную экосистему библиотек вместе. Многие отличные библиотеки: http4s, fs2, doobie — реализуются только на базе тайп классов из Cats Effect. А библиотеки типа ZIO...

«1С» создаст систему управления для «Вертолетов России» Документ подписали в рамках Петербургского международного экономического форума ПМЭФ-2019 заместитель генерального директора по финансам и инвестициям "Вертолетов России" Эрвин Илизиров и директор фирмы "1С" Борис Нуралиев.Холдинг и его дочерние компании ...

Таблицы в Figma. Дизайн Data Grid одним компонентом Строительство таблицы из компонентов — задача, которая рано или поздно возникает перед каждым разработчиком дизайн-систем в Figma. Существует три подхода к дизайну таблиц, чтобы создать data grid с гибкой архитектурой. В каждом из случаев используется либо row-компонент, ...

Как решать NP-трудные задачи с помощью параметризованных алгоритмов Научно-исследовательская работа, пожалуй, самая интересная часть нашего обучения. Идея в том, чтобы ещё в университете попробовать себя в выбранном направлении. Например, студенты с направлений Software Engineering и Machine Learning часто идут делать НИРы в компании (в осно...

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

Обзор Lenovo Ideapad 330-15ARR. Ноутбук на все случаи жизни Согласитесь, большинство людей, выбирая между ПК или ноутбуком, останавливают свой выбор на последнем. Однако, когда речь заходит о приобретении, всегда появляется один и тот же вопрос – а какую модель купить? Сегодня у нас на тестах ноутбук Lenovo Ideapad 330-15ARR, работаю...

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

[Перевод] Учебный курс по React, часть 13: компоненты, основанные на классах Сегодня мы публикуем перевод очередного занятия учебного курса по React. Оно посвящено компонентам, основанным на классах. Такие компоненты создают с использованием ключевого слова class. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функци...

Реализация физически корректных объемных облаков как в игре Horizon Zero Dawn Раньше облака в играх рисовались обычными 2D спрайтами, которые всегда повернуты в направлении камеры, но последние годы новые модели видеокарт позволяют рисовать физически корректные облака без заметных потерь в производительности. Считается, что объемные облака в игры прин...

Sberbank AI Journey. Как мы учили нейросеть сдавать экзамен Если вы закончили школу уже во времена ЕГЭ, то вам известно, что все задания в нём имеют набор стандартных формулировок и упорядочены по типам. С одной стороны, это облегчает подготовку к экзамену: школьник уже знает, что нужно делать в задании, даже не читая его условия. С ...

[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 2 Всем привет. Сегодня делимся с вами заключительной частью статьи «Тестирование инфраструктуры как код с помощью Pulumi», перевод которой подготовлен специально для студентов курса «DevOps практики и инструменты». Тестирование развертывания Рассмотренный стиль тестирования —...

[Из песочницы] Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA. Создаем пустой Gradle проект Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки би...

[Из песочницы] Consumer Driven Contracts или Gitlab CI глазами QA test automation Цели данной публикации: Краткое введение в Consumer Driven Contracts (CDC) Настройка CI pipeline на основе CDC Consumer Driven Contracts В этой части мы пройдемся по основным моментам CDC. Данная статья не является исчерпывающей на тему контрактного тестирования. Существуе...

Конечные React Компоненты Чем мне нравится экосистема React, так это тем, что за многими решениями сидит ИДЕЯ. Различные авторы пишут различные статьи в поддержку существующего порядка и обьясняют почему все "правильно", так что всем понятно — партия держит правильный курс. Через некоторые время ИДЕЯ...

Huawei Enjoy 10 Plus выйдет 5 сентября Линейка Huawei Enjoy (за пределами Китая она известна под названием Huawei Y) скоро получит большое обновление. Huawei Enjoy 10 Plus анонсируют в этот четверг, 5 сентября. На промо-видео смартфон выглядит потрясающе — учитывая, что это устройство среднего уровня. Ви...

OMower c ROS, первые шаги Первоначально, OMower разрабатывался под простые интерфейсы управления pfodApp и Modbus. Первый — это текстовый протокол высокого уровня, в котором передаются менюшки и управляющие команды, а второй — известная, но не слишком удобная в данном применении вещь, так как требует...

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

NASA собирается обогнать Россию и Китай, высадив человека на Луну в 2028 году В ноябре прошлого года аэрокосмическое агентство NASA отобрало 9 частных аэрокосмических компаний, которые смогут побороться за право разработки и доставки роботизированных космических аппаратов, научного оборудования и прочих инструментов на Луну в рамках новой программы C...

Разбираемся с латинскими сокращениями и фразами в английском языке Полтора года назад, читая работы про уязвимости Meltdown и Spectre, я поймал себя на том, что не очень понимаю разницу между сокращениями i.e. и e.g. Т.е. по контексту вроде бы понятно, но потом вроде бы как-то и не совсем то. В результате я тогда сделал себе небольшую шпар...

[Перевод] ИИ от Amazon облегчает борьбу с непристойным контентом, загружаемым пользователями Тысячи компаний используют cервис машинного зрения Rekognition от Amazon для поиска непристойных изображений и видеороликов, загружаемых пользователями Противоречивая технология Rekognition от Amazon уже используется для удаления изображений половых членов с сайтов, посвящ...

Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но,...

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

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

ViewPager 2 — новый функционал в старой обертке ViewPager — один из самых известных и широко используемых компонентов Android Support Library. Все простейшие карусели, онбординги и слайдеры выполнены именно на нем. В феврале 2019 года команда разработки AndroidX выпустила ViewPager2. Давайте разберемся, какие у этого были...

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

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

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

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

[Из песочницы] Fish Redux — новая Redux библиотека для Flutter В конце 2018 года Google, не без помощи Open-Source сообщества, сделал большой подарок для мобильных разработчиков, выпустив первую стабильную версию кросс-платформенного фреймворка для мобильной разработки Flutter. Однако, при разработке крупных приложений, немного больших,...

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

Mozilla, Intel, Red Hat и Fastly будут вместе создавать стандарт интернет-приложений Компании Mozilla, Intel, Red Hat и Fastly объявили о создании Bytecode Alliance. Он будет представлять собой группу по разработке ПО с открытым исходным кодом, предназначенное «для создания новых софтварных организаций, построенных по таким стандартам как WebAssembly и ...

Инструменты Метода управления проектной организацией (часть 2) Продолжаю серию публикаций об управлении проектной организацией в условиях когда много нужно выполнять все обязательства в срок и в полном объеме и есть ограничение по ресурсам. В прошлый раз я рассказал о концепции Pulse Management (Метода Пульса, далее «Метод»), а сейчас з...

Внимание! Опасный баг в реализации C++ std::map::merge в Visual Studio 2017 Если Вы используете стандарт C++17 в MS Visual Studio 2017 — будьте осторожны: текущая реализация содержит критический баг в реализации std::map::merge и std::set::merge. Подробности — под катом. Читать дальше →

[Перевод] Опасности конструкторов Привет, Хабр! Представляю вашему вниманию перевод статьи "Perils of Constructors" автора Aleksey Kladov. Один из моих любимых постов из блогов о Rust — Things Rust Shipped Without авторства Graydon Hoare. Для меня отсутствие в языке любой фичи, способной выстрелить в ногу, о...

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

Пробуем preload (PHP 7.4) и RoadRunner Привет, Хабр!  Мы часто пишем и говорим о производительности PHP: как мы ей занимаемся в целом, как мы сэкономили 1 млн долларов при переходе на PHP 7.0, а также переводим разные материалы на эту тему. Это вызвано тем, что аудитория наших продуктов растёт, а масштабирован...

В Diablo теперь можно поиграть через браузер В далеком 1996 году для того, чтобы гонять чертей по подземельям Собора в Тристраме, нужен был мощный компьютер. В те годы эта игра заложила основы жанра изометрических ARPG и стала объектом народного обожания, пока спустя пару лет ее не затмила легендарная Diablo 2. Теперь ...

Мобильная разработка hh.ru и где она обитает В далеком 2000 году, когда hh.ru был совсем маленьким и ласково назывался “National Job Club”, а доступ к интернету получили всего 3% россиян, у нас, разумеется, не было никакой мобильной разработки. Тогда и смартфоны, в нынешнем их виде, были лишь далекой мечтой. Шли годы, ...

Стратегия продукта и стратегия организации — как они связаны между собой Иван Подобед, Director of Game Platform в Awem, рассказал о стратегии с точки зрения системной инженерии. Будет полезно всем, кто хочет разобраться в базовых понятиях построения стратегии продукта и организации. Я часто сталкивался с понятием «стратегия» во время карьеры ар...

Что случилось? iPhone 11 получит дисплей от Galaxy S10 Apple часто ругают за то, что она ничего не производит самостоятельно, а только заказывает необходимые комплектующие у партнеров. Эти люди всерьез думают, что компания, по сути, просто отбирает у сторонних производителей лучшие компоненты и собирает из них собственные устро...

Автоматизация Для Самых Маленьких. Часть первая (которая после нулевой). Виртуализация сети В предыдущем выпуске я описал фреймворк сетевой автоматизации. По отзывам у некоторых людей даже этот первый подход к проблеме уже разложил некоторые вопросы по полочкам. И это очень меня радует, потому что наша цель в цикле — не обмазать питоновскими скриптами анзибль, а вы...

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

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

Резервное копирование, часть 4: Обзор и тестирование zbackup, restic, borgbackup В данной статье будут рассматриваться программные средства для резервного копирования, которые путем разбиения потока данных на отдельные компоненты (chunks), формируют репозиторий. Компоненты репозитория могут дополнительно сжиматься и шифроваться, а самое главное — при по...

[Из песочницы] Знакомимся с микросервисным фреймворком Moleculer Привет, %habrauser%! Сегодня я хочу рассказать тебе об одном отличном, на мой взгляд, микросервисном фреймворке Moleculer. Изначально этот фреймворк был написан на Node.js, но в последствии у него появились порты и на других языках таких как Java, Go, Python и .NET и, ск...

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

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

[Перевод] Так много JDK… Какой использовать и чем это грозит? От переводчика: Решение перевести эту статью пришло не само собой — скорее это вынужденная мера :). К нам, как к вендорам фреймворка CUBA, обращаются с этим вопросом с завидной регулярностью. Безусловно, для нас это тоже крайне важная тема, и в ответ на последние изменения м...

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

[Перевод] Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения Оригинал перевода в моём блоге Пара видео о Wolfram Language Почему вы до сих пор не используете технологии Wolfram? Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технология...

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

За всё ответишь! Consumer Driven Contracts глазами разработчика В этой статье мы расскажем про проблемы, которые решает Consumer Driven Contracts, покажем как это применять на примере Pact с Node.js и Spring Boot. И расскажем про ограничения этого подхода. Проблематика При тестировании продуктов часто используют сценарные тесты, в кот...

А компетентен ли советчик? Проблемы рекомендации «не изобретай велосипед» Довольно часто приходится встречать рекомендацию "не изобретать велоcипед". Иногда с ярко выраженным пренебрежением и самоутверждением, иногда, якобы, как дельный совет. Однако, пусть и призванная быть советом, данным из благих побуждений, в ряде контекстов она лишь показыва...

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

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

[Перевод] Ментальные модели продакт менеджмента для всех Ментальные модели — это простые выражения сложных процессов или отношений. Эти модели можно собирать и использовать для принятия более быстрых и качественных решений. Вот пример: принцип Парето гласит, что около 80% всех результатов приходится на 20% усилий. В контексте упр...

Как создать крутых боссов. Опыт разработчиков Shadow Fight 3 Где искать вдохновение, как построить процесс между командами, какую механику выбрать и как добиться WOW-эффекта — рассказывает геймдизайнер Banzai Games Дмитрий Аборилов. Вы сталкивались с задачей сделать финального босса игры? Такого, чтобы он надолго запомнился много...

Astra Linux 1.6 (Смоленск). Готова ли система к работе с простыми пользователями? Примеры костылей Нейтрализация пользователя и процесс установки новой ОС Привет, Хабр. Сегодня хотим поделиться опытом миграции одной организации (далее – Заказчик) на отечественную ОС в рамках выполнения требований по импортозамещению. Сразу нужно обозначить, что Заказчик выбрал и закупил...

[Из песочницы] Как я делал действительно адаптивный слайдер (карусель) Доброго времени суток, уважаемые читатели и писатели! Сегодня я расскажу, как в проекте передо мной возникла задача по изготовлению адаптивного слайдера и что из этого получилось О статье и для кого она Данную статью я пишу не столько потому, что желаю получить отклик сообще...

Будущее без браузеров: как Project Catalyst изменит нашу работу с Mac Когда Стив Джобс представлял первый iPhone, особое внимание он уделил возможностям веб-серфинга. Он восхищался тем, насколько удобным было взаимодействие с сайтами на мультитач-дисплее. Однако на самом деле ни о каком удобстве не шло и речи, учитывая, насколько маленькими б...

В популярных системах удалённого доступа VNC обнаружены уязвимости Система VNC предназначена для предоставления одному устройству удалённого доступа к экрану другого. При этом спецификация протокола не ограничивает выбор ОС и позволяет кроссплатформенные реализации, что делает систему одной из самых распространённых. Точное количество инста...

[Перевод] HTML — это и есть веб Что нынче с HTML во фронтенде? В последнее время я разговаривал со многими разработчиками. Похоже, что некоторые даже не разбираются в HTML. В смысле, кое-что они понимают. Они понимают, что такое div и что такое span, и когда всё выглядит хорошо и работает по щелчку, им это...

Разновидности координат используемые в GUI Unity3d Почему разновидности и сколько их? Часто сталкиваюсь с тем, что люди просто не понимают как подвинуть объект в UI на какое то значение, и удивляются что результат зачастую непредсказуем. Или допустим как получить правильные координаты объекта в UI. Если мы через дебагер выве...

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

Как вести сложные технические проекты, не нанимая PMщиков: опыт DataLine DataLine начинала с традиционных colocation и телекома. Потом к ним добавились облачные вычисления. Сейчас мы администрируем инфраструктуру, базы данных, сервисы информационной безопасности, приложения и целые веб-проекты. Вместе с числом услуг выросло и наше производство – ...

[Перевод] Создание динамических PDF-файлов с использованием React и Node.js Материал, перевод которого мы сегодня публикуем, посвящён созданию динамических PDF-файлов с использованием HTML-кода в качестве шаблона. А именно, речь пойдёт о том, как сформировать простой счёт на оплату неких товаров или услуг, динамические данные, включённые в который, ...

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

[Из песочницы] Разработка визуальных тестов на базе Gemini и Storybook Привет, Хабр! В этой статье я хочу поделиться опытом разработки визуальных тестов в нашей команде. Так получилось, что о тестировании верстки мы задумались не сразу. Ну съедет какая-нибудь рамка на пару пикселей, ну поправим. В конце концов, есть же тестировщики — мимо них ...

[recovery mode] Создание игр и видео на YouTube. Мой эксперимент взаимодействия и доход от этого Привет всем, кто ещё не спит Возможно ты меня не помнишь, но где-то год назад я писал статью на Хабре, как я использовал свой Ютуб канал с 8К подписчиками и бюджет в 0 рублей, чтобы получить продажи моей с ПК игры. Не скажу, что эксперимент вышел удачный, но некий результат...

[Перевод] Дженерики в TypeScript: разбираемся вместе Всем привет! Команда TestMace публикует очередной перевод статьи из мира web-разработки. На этот раз для новичков! Приятного чтения. Развеем пелену таинственности и недопонимания над синтаксисом <T> и наконец подружимся с ним Наверное, только матёрые разработчики Java...

Hongmeng — имя мобильной операционной системы Huawei, разрабатывающейся на замену Android Еще до обострения торговой войны между Китаем и США и блокировки доступа к американским технологиям и компонентам глава китайского производителя Huawei Ричард Ю говорил, что в случае необходимости компания сможет отказаться от Android в пользу мобильной платформы собственной...

[Из песочницы] Современные методы описания функциональных требований к системам. Алистер Кобёрн. Отзыв по книге и дополнения В книге описан один метод написания части постановки задачи, а именно метод use case. Что это такое? Это описание сценария взаимодействия пользователя с системой (или с бизнесом). Система при этом выступает как черный ящик (и это дает возможность разделить сложную задачу пр...

[Из песочницы] Альтернативный подход к подписке на события, или а так ли нужен EventObject Резюме Целью этой статьи является попытка посмотреть, с иной точки зрения, на описание систем распространения событий.   На момент написания этой статьи большинство ведущих фреймворков на php реализуют систему событий, в основе которой лежит описание объекта события EventObj...

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

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

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

[Перевод] Разновидности SIMD Во время разработки meshoptimizer частенько возникает вопрос: «А может этому алгоритму использовать SIMD?» Библиотека ориентирована на производительность, но SIMD не всегда обеспечивает значительные преимущества по скорости. К сожалению, SIMD может сделать код менее перено...

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

Импортозамещение на практике. Часть 1. Варианты Введение В связи с тем, что близится 2020 год и «час хэ», когда нужно будет отчитаться об исполнении приказа Минкомсвязи о переходе на отечественное ПО (в рамках импортозамещения), да не простое, а из реестра Минкомсвязи, мне прилетела задача о разработке плана, собственно...

Что будет, если Google откажется от поддержки наших смартфонов? Ничего хорошего Когда Google решила запретить доступ Huawei к своим сервисам, казалось, что ничего особенно страшного не случилось. В конце концов, китайцы всегда смогли бы взять Android Open Source Project и «слепить» на его основе некое подобие собственной операционки, установив необходи...

Топ-5 трендов в ITSM на 2020 год Под конец года, как это водится, начинается пора предсказаний, прогнозов, обозначений трендов. Портал ITSM Tools не остался в стороне и недавно опубликовал своё видение того, какие направления будут главенствовать в ITSM в следующем, 2020 году. Управление ИТ-услугами (ITSM)...

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

Трансляция проектов и библиотек из Altium Designer в PADS Professional Часто у инженеров возникает необходимость транслировать проекты из одной САПР в другую. На предприятиях не редко бывает такая ситуация, когда разные отделы проектируют в разных САПРах. Также трансляция проектов может потребоваться, когда ваша система проектирования уже не с...

Браузерные мобильные игры бросают тебе вызов Вы когда-нибудь слышали о браузерных онлайн играх? Теперь представьте такие же, но для бюджетных телефонов – без графики и анимации. Да, такие игры тоже существуют, и имеют большую популярность в определенных кругах. Читать дальше →

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

Создание таблиц в дизайн системе Figma и реализация в Storybook (React) В предыдущей статье на тему дизайна таблиц в Фигме мы выяснили, что базовый элемент создания любого data grid — это компонент ячейки, внутри которого спрятано все необходимое для того, чтобы оставаться в одном экземпляре и строить таблицы ячейка-за-ячейкой. Теперь поговори...

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

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

Как развивается умение общаться (с самого-самого начала) и что с ним делают игры на сторителлинг Одна из самых распространенных тем запросов, с которыми приходят к детским специалистам, это речь. Самая очевидная проблема — это когда ребенок не говорит. Вот ему год, а он молчит. Вот ему уже три, а он все равно молчит. А вот уже пять… Тут понятно, что что-то пошло не так....

Как снизить вес компонента самолета на треть S-образный кронштейн – компонент исполнительного механизма системы увеличения подъемной силы самолета Проект оптимизации и аддитивного производства структурного авиационного компонента, осуществленный компаниями ASCO Industries и SLM Solutions, в очередной раз доказал эффе...

[Из песочницы] Вступление в архитектуру React Fiber Привет, Хабр! Предлагаю вашему вниманию перевод статьи "React Fiber Architecture" автора Andrew Clark. Вступление React Fiber — прогрессивная реализация ключевого алгоритма React. Это кульминационное достижение двухгодичных исследований команды разработчиков React. Цель Fibe...

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

Существенно ускоряем выполнение задач на примере дополнительной настройки обновленной памяти HyperX FURY DDR4 Выбор оперативной памяти для рабочего или игрового ПК – головная боль для тех, кто хочет одновременно получить максимум производительности и не опустошить свой кошелёк. Нет, сегодня мы не будем в очередной раз говорить «такая-то память стоит столько и является оптимальным вы...

[Перевод] Создаём собственный игровой контроллер Источник вдохновения На игровых выставках разработчики Objects in Space показывали демо своей игры с контроллером на кокпите огромного космического корабля. Он был дополнен загорающимися кнопками, аналоговыми приборами, световыми индикаторами состояния, переключателями и т.д...

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

Лучшие программы для взлома Wi-Fi сетей Android-смартфон способен на многое. В том числе и на то, чтобы взломать беспроводную сеть В одном из наших предыдущих материалов мы уже рассказывали вам о лучших хакерских приложениях. Чтобы не пропускать такие материалы — подпишитесь на наш канал в Телеграм, если эта...

SberCloud представил корпоративных клиентов в «Виртуальный ЦОД» Как полагают в Сбербанке, новое решение позволит сократить финансовые затраты на ИТ-инфраструктуру, а также время развертывания ИТ-проектов. Облачная платформа SberCloud представила &laquo;Виртуальный ЦОД&raquo; &mdash; инфраструктурное решение, состоящее из к...

[Перевод] Будущее внедрения зависимостей в Android Предлагаю вашему вниманию перевод оригинальной статьи от Jamie Sanson Создание Activity до Android 9 Pie Внедрение зависимостей (DI) — это общая модель, по ряду причин используемая во всех формах разработки. Благодаря проекту Dagger, он взят в качестве шаблона, используемог...

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

Signpost: когда брейкпоинтов недостаточно В предыдущей статье мы узнали о причинах нестабильности unit-тестов и способах борьбы с этим. Теперь мы хотим рассмотреть один из новых инструментов Apple для отладки и профилирования кода. Речь о представленном на WWDC 2018 фреймворке для логирования os_log, который был рас...

Реализация пользовательского интерфейса OpenStack LBaaS При реализации пользовательского интерфейса балансировщика нагрузки для виртуального приватного облака мне пришлось столкнуться с существенными трудностями. Это привело меня к размышлениям о роли фронтенда, чем хочу поделиться в первую очередь. А далее обосновать свои разм...

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

Установка Chrome-софтфона 3CX через Gsuite и миграция записей с Google Drive Централизованная установка расширения 3CX для Chrome через GSuite В 3CX V16 Update 4 Alpha появилось новое расширение для Chrome, позволяющее звонить без открытия веб-клиента. Вы можете работать с любым настольным приложением, но при поступлении входящего вызова в нижнем пра...

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

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

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

Telegram-бот для изучения иностранных языков: от зубрежки слов к говорению Не так давно я писал уже о своем боте для изучения иностранных языков. Точнее — для расширения словарного запаса (aka зубрежки слов). В той же статье я написал, что изучение слов без контекста малопродуктивно и что лучше изучать тексты, чем просто пытаться вбить себе в голо...

[Из песочницы] Бэкэнд в однофайловых компонентах VueJS Однажды, читая документацию по Vue Loader, наткнулся на интересное нововведение в 15 версии. Речь идет о кастомных блоках, которые можно внедрить в однофайловые компоненты Vue. В примере показано, как можно получить доступ к содержанию этого блока непосредственно в компонент...

Полная блокировка рекламы в Google Chrome появится уже в июле Наконец-то надоедливая реклама исчезнет. Сегодня ребята из команды разработчиков браузера объявили, что функция полной блокировки рекламы будет доступна пользователям Chrome по всему миру начиная с 9 июля. Это объявление было опубликовано после выпуска группой Collation о ...

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

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

Alienware M15: компактный игровой ноутбук c широкими возможностями для апгрейда Игровые ноутбуки Alienware всегда выделялась своими мощными корпусами. Это не только делало их облик узнаваемым и запоминающимся, но и позволяло использовать прочные материалы и серьёзные системы охлаждения. Однако время идёт, и теперь в тренде мобильные решения, в том числе...

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

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

[Перевод] Тестирование многопоточного и асинхронного кода Привет! На неделе встала задача написать интеграционный тест для Spring Boot приложения, использующего асинхронное взаимодействие с внешними системами. Освежил много материала про отладку многопоточного кода. Привлекла внимание статья «Testing Multi-Threaded and Asynchronous...

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

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

Создана полная микроэлектромеханическая версия легендарного микропроцессора Intel 4004 Группа ученых, в которую входили Ральф Меркл (Ralph Merkle) и Роберт Фреитас (Robert Freitas), продемонстрировала, что при помощи нескольких базовых мироэлектромеханических компонентов может быть создана полноценная тьюринговая вычислительная система. Используя 2-микронную M...

Работа с API КОМПАС-3D → Урок 15 → Составные строки на основе параграфа В уроке 12 мы познакомились с составными строками и рассмотрели недокументированный способ их создания. В уроке 13 были представлены параграфы. Сегодня мы рассмотрим, как их использовать для создания составных строк. Для начала возьмем строки, включающие в свой состав отклон...

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

[Перевод] Веб-компоненты: 9 проектов, о которых стоит знать в 2019 году Автор материала, перевод которого мы сегодня публикуем, полагает, что если вы собираетесь использовать при проектировании интерфейсов своих приложений веб-компоненты и подыскиваете подходящую библиотеку, независимую от UI-фреймворков, вам стоит взглянуть на те проекты, о кот...

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

Концепция взаимодействия рекламных каналов и ее применение на практике Осмысленность отчетов о рекламных кампаниях(РК) значительно упрощает людям жиз… оптимизацию расходов. В процессе повышения уровня этой осмысленности, мы нашли один очень эффективный способ максимизировать рентабельность, принимая во внимание то, что мы назвали «взаимодействи...

[Из песочницы] Что ты такое, замыкания в JavaScript? В этой статье я постараюсь разобрать механизм реализации замыканий в JavaScript. Для этого я буду использовать браузер Chrome. Начнем с определения: Замыкания  - это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыка...

Google решила добавить в Chrome отдельный раздел с играми. Зачем? Динозавр Дино из Google Chrome Помните игру про чёрно-белого динозаврика, бегущего через препятствия, которая появляется в Chrome при отсутствии подключения к интернету? Практика показывает, что многие не прочь позалипать в этом раннере даже при наличии соединения, но не име...

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

[Из песочницы] Не учите паттерны, учите концепции Добрый день (или вечер, или утро, в зависимости от того, когда выйдет этот пост). Я хочу высказаться о элитарной части программирования, и донести, в общем-то, очевидную мысль до начинающих в back-end(и не только) разработке, попутно используя попытку начать писать на Хабре...

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

[Перевод] Создание игры «Крестики-нолики» при помощи TypeScript, React и Mocha Представляем вам перевод статьи Josh Kuttler, опубликованной на blog.bitsrc.io. Узнайте, как создать приложение «Крестики-нолики», используя React и TypeScript. Простая игра в крестики-нолики создана по модульному принципу и загружена на сайт Bit. Вы можете изменять компо...

[Перевод] Python как предельный случай C++. Часть 1/2 От переводчикаБрендон Роудс − весьма скромный человек, представляющий себя в твиттере как «Python-программиста, возвращающего долг сообществу в форме докладов или эссе». Число этих «докладов и эссе» впечатляет, равно как и число свободных проектов, контрибьютором которых Бре...

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

[Перевод] Jupyter Notebook в Netflix В последнее время Jupyter Notebook стал очень популярен среди специалистов Data Science, став де-факто стандартом для быстрого прототипирования и анализа данных. В Netflix, стараемся раздвинуть границы его возможностей еще дальше, переосмысливая то, чем может быть Notebook, ...

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

[Из песочницы] Как начать программировать в Adobe Illustrator. Скрипт Expand Clipping Mask. Часть первая Сразу хочу предупредить, что эта серия постов не для матёрых программистов и даже не для программистов вообще. Понимаю, что это звучит крайне вызывающе, учитывая IT-тематику ресурса, и все же позвольте объяснить… В качестве аудитории, я вижу обычных дизайнеров, которые хотел...

Системы ИБП для дата-центра: новости от Fuji Electric и Vertiv Достижения и рост в сферах облачных вычислений и виртуализации, а также развитие других передовых технологий стимулируют спрос на услуги ЦОД, что, в свою очередь, ведет к повышению востребованности источников бесперебойного питания (ИБП) для вновь возводимых или расширяемых ...

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

Робот с человеческим лицом С 2015 года компания "Промобот" презентовала четыре версии Промобота. Новый робот не продолжил существующую линейку, а открыл новую. Его разработка заняла полтора года. До 2021 года компания планирует инвестировать в производство нового робота 2,5 млн. долларов.&qu...

Издатель Tencent выпустил в Китае браузерную игру Game of Thrones: Winter Is Coming Теперь, когда HBO объявили дату релиза финального сезона сериала «Игра престолов», все, у кого есть лицензия, наверняка попытаются сыграть на хайпе. У Tencent, например, есть эксклюзивные права на показ сериала в Китае. Но, разумеется, одним только показом компания решила не...

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

AI 2019: Как создать бот, который решит все проблемы клиентов Чат-бот, разработанный МТС для того, чтобы автоматизировать работу со звонками в службу поддержки, способен «подтягивать» информацию из любых источников. Телеком-операторы традиционно одними из первых внедряют инновации. Не исключение &mdash; технологии искусственного...

Алгоритм взаимодействия сотен тысяч уникальных частиц на GPU, в GLES3 и WebGL2 Описание алгоритма логики, и разбор рабочего примера в виде техно-демки-игры WebGL2 версия этой демки https://danilw.itch.io/flat-maze-web остальные ссылки смотрите в статье. Статья разбита на две части, сначала про логику, и вторая часть про применение в игре, первая часть...

Организация системы эвентов в Unity — глазами геймдизайнера Всем привет! Заранее извиняюсь за дилетантизм, но я почитал статью о том, как человек пытался бороться с чрезмерной связностью сущностей в Unity, и подумал, что было бы интересно рассказать о своём велосипеде, который я сколотил для создания игровых прототипов как геймдизай...

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

[Из песочницы] Создаем монорепозиторий с помощью lerna & yarn workspaces За последние несколько лет концепция монорепозиториев успешно зарекомендовала себя, так как позволяет значительно упростить процесс разработки модульных программных проектов, таких как инфраструктуры на основе микросервисов. Основные преимущества такого архитектурного подх...

[Перевод] Чем функциональные компоненты React отличаются от компонентов, основанных на классах? Чем функциональные компоненты React отличаются от компонентов, основанных на классах? Уже довольно давно традиционный ответ на этот вопрос звучит так: «Применение классов позволяет пользоваться большим количеством возможностей компонентов, например — состоянием». Теперь, с п...

50 советов по UX в виртуальной реальности Этот список был собран на основе нескольких моих статей и заметок, посвященных созданию пользовательского опыта в VR. Материал создавался как своеобразный набор дополнительных рекомендаций для новых специалистов Modum Lab, которые занимаются созданием систем взаимодействия...

Швейцарские учёные показали робота-кукольника: путь от марионеток до упаковки мягких товаров Группа учёных из Швейцарской высшей технической школы Цюриха представила робота и фреймворк для автономного управления роботов марионетками. Целью разработки не является разыгрывание театральных представлений на публику. Технология может помочь в будущем создать роботов для ...

Найден новый претендент на звание самого далекого объекта Солнечной системы Molar Candanosa / Carnegie Institution for Science В конце прошлого года группа ученых во главе с Скоттом Шеппардом (Scott Sheppard) из Института Карнеги нашла объект, который можно было считать самым далеким из известных в нашей Солнечной системе. Он получил название 2...

[Перевод] Настройка НА-кластера Kubernetes на «голом железе» с kubeadm. Часть 1/3 Всем привет! В этой статье я хочу упорядочить информацию и поделиться опытом создания и использования внутреннего кластера Kubernetes. За последние несколько лет эта технология оркестровки контейнеров сделала большой шаг вперед и стала своего рода корпоративным стандартом дл...

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

За два месяца число ИБ-проектов в некредитных финансовых организациях выросло в несколько раз Самыми активными оказались страховые компании - от них поступает порядка 50% от всех заявок на проведение аудита.ГОСТ Р 57580.1−2017 - это новый стандарт информационной безопасности для кредитно-финансового сектора, который вступил в силу с 1 января 2018 года. В соотве...

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

Контроль качества товаров на биржевых торгах международного уровня Российским подразделением Группы SGS «СЖС Восток Лимитед» было подписано соглашение о взаимодействии с АО Биржей «Санкт-Петербург» для усовершенствования процесса проведения торгов. Представители SGS в соответствии с соглашением будут осуществлять контроль качества...

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

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

WebFPGA — разработка на Verilog в браузере Думаю, многие программисты, начиная от питонистов-датасайентистов и заканчивая суровыми разработчиками драйверов, временами возводят очи горе и мечтательно вздыхают: «Эх, пoжёcтчe бы чего, похардкорнее...». Мы, конечно, говорим про Verilog, язык описания и моделирования элек...

Напиши свою песню за 10 минут (модуль textgenrnn Python3) Сегодня попробуем обучить свою собственную нейронную сеть, чтобы писала текст для песен. Обучающей выборкой будут тексты группы "Руки Вверх". Ничто не мешает чтобы поменять данные на тексты своих любимых групп. Для извлечения данных с веб-сайтов используем Python3 (модуль B...

Пульт управления Хабром на базе HMI от Advantech Your browser does not support HTML5 video. Видео: админский пульт управления Хабром. Позволяет регулировать карму, рейтинг, и банить пользователей. TL;DR: в статье я попробую создать шуточный пульт управления Хабром, используя среду разработки промышленных интерфейсов Webac...

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

[Из песочницы] Мой подход к реализации делегатов в C++: вызов функции с неизвестными параметрами во время выполнения Предыстория Мне нравится язык C++. Я бы даже сказал, что это мой любимый язык. Кроме того, для своих разработок я использую технологии .NET, и многие идеи в нём, по моему мнению, просто восхитительны. Однажды мне пришла в голову идея – как реализовать некоторые средства рефл...

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

Supermicro анонсировала решения на базе платформы Red Hat Enterprise Linux 8 Компания Super Micro Computer, Inc. (SMCI), мировой лидер в сфере корпоративных решений для вычислений, хранения данных, сетевого взаимодействия и экологически безопасной обработки данных, представила решения для открытого частного облака на базе ведущей мировой к...

«Управление данными 2019»: узкие места больших данных и как их обойти Руководитель бизнес-направления Big Data Solutions компании «Неофлекс» о том, что позволит уменьшить стоимость и упростить современные проекты больших данных. В России пока не так много предприятий, которые имеют достаточный опыт в реализации проектов больших данных, поэ...

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

Security Week 38: слежка за мобильными устройствами через SIM-карту Когда мы говорим об уязвимостях в мобильных устройствах, речь идет обычно о проблемах в Android или iOS. Но не стоит забывать о радиомодуле и SIM-карте, которые являются по сути отдельными вычислительными устройствами со своим софтом и большими привилегиями. Последние пять л...

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

Мой способ создания мастер-компонентов в Фигме Заметил, что многие продуктовые дизайнеры задаются вопросом «Как организовывать разные состояния компонентов?». Весь дизайнерский мир делится на 2 части. Первые делают один компонент, в котором несколько папок для всех состояний. Вторые делают для каждого состояния элемента ...

Уязвимость Slack позволяла красть данные из списка загрузок Исследователь Дэвид Уэллс (David Wells) из Tenable обнаружил в Slack 3.3.7 уязвимость, которая позволяла получить доступ к скачанным на устройство файлам. Проблема затронула десктопное приложение для Windows. Эксперт сообщил разработчикам о найденном баге, и они уже исправил...

Пссс, хотите немного ужасных IT-историй? Боитесь ли вы темноты? Может быть, зомби-апокалипсиса или чудовища под кроватью? Мы знаем, что нет. У нас, айтишников, свои источники ужаса: криворукие пользователи, далёкие от IT начальники, упавшие сервера, пропавшие или не сделанные бэкапы, легаси код и Agile-митинги, ког...

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

Samsung получила сертификат безопасности на полупроводниковые компоненты для автомобилей Samsung Electronics объявила о получении сертификата ISO 26262, подтверждающего функциональную безопасность полупроводниковых компонентов для автомобилей. Он был выдан концерном TÜV Rheinland Group, предоставляющим услуги по тестированию устройств на предмет безопасности и с...

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

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

[Перевод] Как Artifact стал самым крупным провалом Valve Artifact представляет собой печальное зрелище. На момент написания статьи онлайн есть только 101 игрок, а максимум за 24 часа ненамного больше — 124 игрока. От Valve не было никаких новостей об игре с 29 мая, когда компания объявила, что разработчики «вместо выпуска обновле...

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

Figma компонент и организация экземпляров на примере Userpic Качественная дизайн-система в Фигме всегда учитывает возможные состояния определенных компонентов. Если до появления Global Styles вариант был лишь один — всегда создавать новый компонент для каждого состояния (например текстовое поле может быть default, а может быть focus...

ДА вздрогнет FAANG* или [практическое руководство] по поиску работы в США/Европе для айтишника *FAANG — акроним 5 крупнейших tech компаний (Facebook, Apple, Amazon, Netflix and Google), предоставляющих одни из самых хороших возможностей для разработчиков, которые мечтают/планируют/хотят приобщиться к волне IT-эмиграции. Причиной написания этого руководство послужила ...

Новые GSM шлюзы от OpenVox Asterisk — потрясающий конструктор. Хотите построить небольшую АТС для бизнеса? Берем Raspberry PI, накатываем готовый образ на флешку, 10 минут, и вы уже вбиваете логин с паролем на ваш SIP телефон и делаете первый звонок. Хотите нечто большее? Ставим бесплатный и навороч...

Microsoft создала VR-контроллер, который позволяет чувствовать виртуальные объекты Корпорация Microsoft намерена добавить больше ощущений в виртуальную реальность. Добиться этого удастся благодаря новому контроллеру Touch Rigid Controller (TORC), который был анонсирован разработчиком. Он позволяет имитировать ощущения объёмных объектов за счёт тактильного ...

[Из песочницы] Тестирование смарт-контрактов Ethereum на Go: прощай, JavaScript Я хочу поблагодарить коллег: Сергея Немеша, Михаила Попсуева, Евгения Бабича и Игоря Титаренко за консультации, отзывы и тестирование. Я также хочу сказать спасибо команде PolySwarm за разработку оригинальной версии Perigord. Это перевод моей статьи, опубликованной впервые...

[Из песочницы] Довериться Кодду или своим объектам? Хранимые объекты без головной боли: простой пример работы с объектами Caché на языках ObjectScript и Python Замок Нойшванштайн В июне 2020 года ровно 50 лет табличным хранилищам данных или говоря формально — реляционной модели данных. Вот официальный документ – та самая зн...

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

Байки из склепа (из 40 лет работы программиста) С ЭВМ (слово компьютер тогда не было в ходу) я столкнулся в году 1977, просто курс такой был на мехмате. Fortran IV, коды М-20, Algol-60, PL/1, сразу после универа попал в программисты (системные программисты!), и пошло-поехало… А несколько лет назад я активно кодировать воо...

Тarantool Cartridge: шардирование Lua-бекенда в три строчки У нас в Mail.Ru есть Tarantool — это такой сервер приложений на Lua, который по совместительству ещё и база данных (или наоборот?). Он быстрый и классный, но возможности одного сервера всё равно не безграничны. Вертикальное масштабирование тоже не панацея, поэтому в Tarant...

Как обнаружить атаки на Windows-инфраструктуру: изучаем инструментарий хакеров С каждым годом растет количество атак в корпоративном секторе: например в 2017 году зафиксировали на 13% больше уникальных инцидентов чем в 2016 г., а по итогам 2018 — на 27% больше инцидентов, чем в предыдущем периоде. В том числе и тех, где основным рабочим инструментом ...

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

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

Все смартфоны Xiaomi 2020 года дороже 18 200 рублей будут иметь 5G-модуль Следующий год должен стать важным годом для распространения 5G. У Qualcomm и MediaTek уже есть 5G-чипы, предназначенные для телефонов среднего класса — это означает, что скоро у нас появится возможность приобрести телефон с 5G менее чем за 400 долларов. Генеральный ди...

Quarkus — сверхзвуковая субатомная Java. Краткий обзор фреймворка Введение Седьмого марта компания RedHat (вскоре — IBM) представила новый фреймворк — Quarkus. По словам разработчиков, этот фреймворк базируется на GraalVM и OpenJDK HotSpot и предназначен для Kubernetes. Стек Quarkus включает в себя: JPA/Hibernate, JAX-RS/RESTEasy, Eclipse...

RESTinio — это асинхронный HTTP-сервер. Асинхронный Пару лет назад мы опубликовали RESTinio — свой небольшой OpenSource C++фреймворк для встраивания HTTP-сервера в C++ приложения. Мегапопулярным за это время RESTinio не стал, но и не потерялся. Кто-то выбирает его за "родную" поддержку Windows, кто-то за какие-то отдельные фи...

[Из песочницы] Изготовление печатных плат ЛУТ'ом от А до Я Доброго времени суток! Среди моих знакомых бытует мнение, что самостоятельно изготавливать печатные платы (ПП) бесполезно. Учитывая, что современные компоненты далеко ушли от DIP корпусов, то кустарно травить платы под них даже и не стоит пытаться. Тем не менее необходимость...

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

[Перевод] Редактирование текста тоже вас ненавидит Опубликованная месяц назад статья Алексис Бингесснер «Рендеринг текста вас ненавидит» очень мне близка. В далёком 2017 году я разрабатывал интерактивный текстовый редактор в браузере. Неудовлетворённый существующими библиотеками на ContentEditable, я подумал: «Эй, да просто...

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

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

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

По мнению TrendForce, рынок 3D-сенсоров для смартфонов вступает в стадию роста Аналитики TrendForce , соглашаясь с прогнозами, что поставки смартфонов в этом году сократятся, отмечают, что производители готовятся к соревнованию в оснащенности флагманских моделей во втором полугодии. Важным компонентом в этом состязании станут 3D-сенсоры. Это дает ...

Книга «Классические задачи Computer Science на языке Python» Многие задачи в области Computer Science, которые на первый взгляд кажутся новыми или уникальными, на самом деле уходят корнями в классические алгоритмы, методы кодирования и принципы разработки. И устоявшиеся техники по-прежнему остаются лучшим способом решения таких задач...

Первый созданный компьютером геном может стать основой для синтетической жизни Группа исследователей из Швейцарской высшей технической школы Цюриха сделала шаг к созданию первого синтетического живого организма. По словам ученых, им удалось создать первый компьютерный геном живого организма, который получил название Caulobacter ethensis-2.0. Он был со...

Что такое логическое программирование и зачем оно нам нужно У того, кто в детстве не писал на Прологе — нет сердца, а у того, кто пишет на нём сегодня — нет мозгов. (оригинал) Если вас всегда терзали мучительные сомнения — что за фигня это Логическое Программирование (ЛП) и вообще зачем оно нужно? То это статья для вас. Можно по-раз...

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

Слон в посудной лавке. Клиентское обслуживание и ITSM ИТ-специалисты любят своё оборудование и системы и едва справляются с «биологическим фактором», т.е. людьми, которые в конечном счёте системы используют. Жизнь была бы намного проще, если бы не было конечных пользователей. С этого «наблюдения» н...

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

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

Самый дорогой смартфон Samsung будет еще дороже, чем мы думали Вопреки слухам о том, что Samsung Electronics изначально не планировала оснащать складной Galaxy Fold поддержкой 5G, чтобы иметь возможность не завышать его и без того высокую цену, выяснилось, что в преддверии презентации новинки компания передумала и приняла прямо противо...

[Из песочницы] Простой вариант реализации многопоточности на PHP Многопоточность в PHP отсутствует «из коробки», поэтому вариантов её реализации было придумано великое множество, включая расширения pthreads, AzaThread (CThread), и даже несколько собственных наработок PHP программистов. Основным минусом для меня стало слишком больше колич...

Eaton предоставит свои новейшие технологии для разработки "грузовика будущего" Компания-поставщик решений по управлению энергией Eaton объявила сегодня о том, что предоставит компоненты для производства грузовиков, которые участвуют в программе SuperTruck II.

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

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

[Перевод] Y Combinator: Как закрыть компанию Вполне обосновано то, что основатели и инвесторы тратят так много времени на разговоры о вещах, которые идут хорошо. Если бы мы тратили всё свое время, вникая в суть компаний, которые потерпели неудачу, у нас бы не хватало его на многое другое. Когда люди говорят о провал...

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

Ansible для управления конфигурацией Windows. История успеха На одной из встреч питерского сообщества .Net разработчиков SpbDotNet Community мы пошли на эксперимент и решили рассказать о том, как можно применять подходы, давно ставшие стандартом в мире Linux, для автоматизации Windows-инфраструктур. Но дабы не доводить всё до голослов...

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

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

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

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

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

Реализация пула соединений в WCF для .Net Core с использованием HttpClientFactory Наш продукт разрабатывается на платформе .Net Core 2.2 с использованием WCF 4.5 для взаимодействия с SOAP сервисом клиента. В процессе работы сервиса разработчики шины данных заметили высокую нагрузку на сервер. Далее стали появляться проблемы с доступом к сервису. В результ...

Сотрудники Google обнаружили, что работа над версией поисковика для Китая продолжается На Хабре публиковалось несколько новостей и статей о том, что Google планировал запустить версию своего поисковика для Китая в полном соответствии с нормами и законами этой страны. То есть это должна была быть «исправленная» версия поискового сервиса c цензурой. После того...

JS-битва: как я написал свой eval() Вы можете помнить Александра Коротаева по браузерной версии «Героев Меча и Магии»: расшифровка его доклада о ней собрала на Хабре громадное количество просмотров. А теперь он сделал игру, ориентированную на программистов: играть в неё надо JS-кодом. В этот раз на разработку...

ФСО потратит 1,44 миллиарда на особый интернет для властей В числе прочего в 2019 г. на эти цели уйдет 550 млн руб., в 2020 г. и в 2021 г. - по 440 млн руб. В эти мероприятия входит и обеспечение взаимодействия информационных систем и информационно-телекоммуникационных сетей федеральных органов государственной власти и органов власт...

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

6 занимательных системных багов при эксплуатации Kubernetes [и их решение] За годы эксплуатации Kubernetes в production у нас накопилось немало занимательных историй, как баги в различных системных компонентах приводили к неприятным и/или непонятным последствиям, влияющим на работу контейнеров и pod'ов. В этой статье мы сделали подборку некоторых...

Что такое Zen Mode на OnePlus 7 Pro и почему он должен быть в каждом смартфоне Смартфоны вызывают привыкание, и хотя зависимость от современных мобильных гаджетов — это не то, что можно лечить с медицинской точки зрения, уже давно стало понятно, что человечество достигло точки, когда смартфоны (и технологии в целом) настолько укоренились в нашей...

[Перевод] Хранилище LINSTOR и его интеграция с OpenNebula Не так давно ребята из LINBIT представили свое новое SDS-решение — Linstor. Это полностью свободное хранилище в основе которого используются проверенные технологии: DRBD, LVM, ZFS. Linstor сочетает в себе простоту и хорошо проработанную архитектуру, что позволяет добиться с...

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

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

[Перевод] Почему люди не используют формальные методы? На Software Engineering Stack Exchange я увидел такой вопрос: «Что мешает широкому внедрению формальных методов?» Вопрос был закрыт как предвзятый, а большинство ответов представляли собой комментарии типа «Слишком дорого!!!» или «Сайт — это не самолёт!!!» В каком-то смысле ...

Просто и на C++. Основы Userver — фреймворка для написания асинхронных микросервисов В Яндекс.Такси придерживаются микросервисной архитектуры. С ростом количества микросервисов мы заметили, что разработчики много времени тратят на boilerplate и типичные проблемы, при этом решения не всегда получаются оптимальные. Мы решили сделать свой фреймворк, с C++17 и ...

[Перевод] Создаём портативную платформенную игру на микроконтроллере Cortex M0+ Введение (Ссылки на исходный код и проект KiCAD приведены в конце статьи.) Хотя мы родились в 8-битную эпоху, нашим первым компьютером был Amiga 500. Это великолепная 16-битная машина, обладавшая потрясающими графикой и звуком, благодаря чему она отлично подходила для игр....

Боль и слёзы в Svelte 3 Вместо предисловия Статья будет полезна тем, кто так-же как и Мы решил попробовать Svelte в живом проекте. В нашу небольшую компанию пришёл заказ на разработку веб-админки для сервиса с бекэндом на Mongodb Stitch. В последние пару лет frontend Мы пишем на React или Vue (в за...

[Из песочницы] BotMan знакомство Хочу рассказать о PHP фреймворке для создания ботов BotMan (Сайт). Botman можно использовать и как библиотеку, и как расширение Laravel (BotMan Studio). Читать дальше →

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

[Перевод] О декораторах в Python Всем привет! Перевод статьи подготовлен для студентов курса «Web-разработчик на Python». Интересно развиваться в данном направлении? Запишитесь на День Открытых Дверей курса и пообщайтесь вживую с преподавателем: онлайн-трансляция 23 июля в 20:00 по мск.! Когда вы упражняли...

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

Тим Кук: iPhone на самом деле уже собирается в США А вы знали, что iPhone уже частично собирается в США? 20 ноября Apple объявила о строительстве своего нового кампуса за 1 миллиард долларов в Остине, штат Техас. В связи с этим генеральный директор компании Тим Кук дал небольшое интервью, в котором решил поговорить об инвест...

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

Как составить карту путешествия пользователей для службы поддержки и улучшить пользовательский опыт В последнее время подход клиентских путешествий (customer journey) значительно расширил свой охват. Главная цель его применения — улучшение качества обслуживания клиентов, что является чрезвычайно важной инициативой для многих организаций.Обеспечение качественного...

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

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

Раскрыта уязвимость 0-day в Android Участники Google-проекта Zero Day Initiative (ZDI) опубликовали подробности уязвимости нулевого дня, позволяющей локально повысить привилегии в Android. Согласно описанию в блоге ZDI, опасная уязвимость присутствует в драйвере v4l2 (Video4Linux 2), который обеспечивает возмо...

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

«Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience) В последнее время мне все чаще на глаза попадается информация о фреймворке для машинного обучения Ml.NET. Количество упоминаний о нем переросло в качество, и я решил хотя бы одним глазком глянуть, что же это за зверь такой. Ранее мы с вами уже пробовали решить простейшую з...

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

Разрабатываем утилиту на GraalVM Постановка задачи Периодически у меня возникает задача поделиться файлами по локальной сети, например, с коллегой по проекту. Решений для этого может быть очень много — Samba / FTP / scp. Можно просто залить файл в общедоступное публичное место типа Google Drive, приложить к...

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