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

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

[Перевод] Порождение событий, CQRS и Laravel Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel» ________________________ Введение Эта статья посвящена основам создания событийных CQRS-систем на языке PHP и в фреймворке Laravel. Предполагается, что вы знакомы со схемой разработки с ...

[Перевод] Добавление Quartz в Spring Boot И снова здравствуйте. Специально для студентов курса «Разработчик на Spring Framework» подготовили перевод интересной статьи. В моей статье «Specifications to the Rescue» я показал как можно использовать JPA Specification в Spring Boot для реализации фильтрации в RESTful ...

[Перевод] Что нового в Spring Boot 2.2? Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». 16 октября 2019 года был выпущен Spring Boot 2.2 ! В этом посте вы узнаете о многих новых плюшках, которые предлагает вам версия 2.2. Читать дальше →

[Перевод] Перестаньте использовать DateTime Специально для студентов курса «Backend разработчик на PHP» подготовили перевод интересной статьи о сайд-эффекте популярного инструмента. Работа с датами и временем в PHP порой раздражает, поскольку приводит к неожиданным багам в коде: $startedAt = new DateTime('2019...

[Перевод] Введение в Redis с использованием Spring Boot Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis. Мы создадим приложение, которое демонстрирует, как выполнять CR...

[Перевод] Введение в детерминированные сборки на С/С++. Часть 1 Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Что такое детерминированная сборка? Детерминированная сборка — это процесс сборки одного и того же исходного кода с одной и той же средой и инструкциями сборки, при котором создаются одни и те же...

[Перевод] Как работают методы persist, merge из JPA и методы save, update, saveOrUpdate из Hibernate Добрый день, друзья. Перевод статьи подготовлен специально для студентов курса "Разработчик Java". Введение В этой статье я собираюсь показать вам, как работают методы persist, merge из JPA и сравнить их с методами save, update, saveOrUpdate из Hibernate. Хотя лучше испол...

[Перевод] Введение в детерминированные сборки на С/С++. Часть 2 Перевод статьи подготовлен специально для студентов курса «Разработчик С++». → Читать первую часть Читать дальше →

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

[Перевод] Подготовка приложения к Android Q. Часть 1 Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Базовый курс». Также напоминаем о том, что мы продолжаем набор на расширенный курс «Специализация Android-разработчик» Мы находимся на 10-м году разработки Android (Android Q должен быть верс...

[Перевод] AlphaFold: Использование ИИ для научных открытий И снова здравствуйте! Делимся публикацией, перевод которой подготовлен специально для студентов курса «Нейронные сети на Python». Сегодня мы расскажем о первом важном событии в истории развития DeepMind, чтобы показать, как исследования с помощью искусственного интеллекта м...

[Перевод] Лямбды: от C++11 до C++20. Часть 1 Добрый день, друзья. Сегодня мы подготовили для вас перевод первой части статьи «Лямбды: от C++11 до C++20». Публикация данного материала приурочена к запуску курса «Разработчик C++», который стартует уже завтра. Лямбда-выражения являются одним из наиболее мощных дополнений...

[Перевод] Мониторинг и проверка состояния SSD в Linux И снова здравствуйте. Перевод следующей статьи подготовлен специально для студентов курса «Администратор Linux». Поехали! Что такое S.M.A.R.T.? S.M.A.R.T. (расшифровывается как Self-Monitoring, Analysis, and Reporting Technology) – это технология, вшитая в накопители, та...

[Перевод] Уровень Android API, обратная и прямая совместимость Добрый вечер, друзья. Мы подготовили полезный перевод для будущих студентов курса «Android-разработчик. Продвинутый курс». С радостью делимся с вами данным материалом. Если вы читаете эту статью, значит вас могут интересовать такие вещи, как: Что означает уровень API? К...

[Перевод] Microsoft Edge – Универсальный XSS Перевод статьи подготовлен специально для студентов курса «Реверс-инжиниринг». Универсальный XSS (uXSS) – это баг браузера, который дает возможность выполнять код на JavaScript на любом сайте. Кажется, будто XSS есть на всех сайтах и выглядит это очень интересно. Что е...

[Перевод] Внутренности JVM, Часть 1 — Загрузчик классов Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В этой серии статей я расскажу о том, как работает Java Virtual Machine. Сегодня мы рассмотрим механизм загрузки классов в JVM. Читать дальше →

[Перевод] Создаем конвейер потоковой обработки данных. Часть 2 Всем привет. Делимся переводом заключительной части статьи, подготовленной специально для студентов курса «Data Engineer». С первой частью можно ознакомиться тут. Apache Beam и DataFlow для конвейеров реального времени Настройка Google Cloud Примечание: Для запуска конве...

[Перевод] Преимущества и недостатки HugePages Перевод статьи подготовлен для студентов курса «Администратор Linux». Ранее я рассказал о том, как проверить и включить использование Hugepages в Linux. Эта статья будет полезна, только если у вас действительно есть, где использовать Hugepages. Я встречал множество людей, ...

[Перевод] Как использовать systemd-nspawn для восстановления Linux-системы Перевод статьи подготовлен специально для студентов курса «Администратор Linux». Разбираемся со способностью systemd запускать контейнеры для восстановления корневой файловой системы поврежденной системы. До тех пор пока будут существовать системы GNU/Linux, системным ...

[Перевод] Подготовка приложения к Android Q. Часть 2 Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Базовый курс». Также напоминаем о том, что мы продолжаем набор на расширенный курс «Специализация Android-разработчик» О конфиденциальности и безопасности можно прочитать в первой части статьи...

Книга «Kafka Streams в действии. Приложения и микросервисы для работы в реальном времени» Привет, Хаброжители! Эта книга подойдет для любого разработчика, который хочет разобраться в потоковой обработке. Понимание распределенного программирования поможет лучше изучить Kafka и Kafka Streams. Было бы неплохо знать и сам фреймворк Kafka, но это не обязательно: я ра...

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

[Перевод] Представьте себе ваши данные перед тем, как вы их соберете Перевод подготовлен для студентов курса «Прикладная аналитика на R». Нам, как исследователям данных (data scientist), часто дают набор данных и просят использовать его для получения информации. Мы используем R для обработки, визуализации, моделирования, подготовки таблиц и...

[Перевод] Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик» Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопрос...

[Перевод] Сила дженериков в Swift. Часть 2 Добрый день, друзья. Специально для студентов курса «iOS Разработчик. Продвинутый курс» мы подготовили перевод второй части статьи «Сила дженериков в Swift». Связанные типы, условия where, сабскрипты и прочее… В статье «Сила дженериков в Swift. Часть 1» описывались gene...

[Перевод] Как полиморфизм реализован внутри JVM Перевод данной статьи подготовлен специально для студентов курса «Разработчик Java». В моей предыдущей статье Everything About Method Overloading vs Method Overriding (“Все о перегрузке и переопределении методов”) были рассмотрены правила и различия перегрузки и переопре...

[Перевод] Топ 20 навигационных фич в IntelliJ IDEA Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам Продолжая серию статей, в которых я освещаю основные фичи IntelliJ...

[Перевод] Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам Первая часть тут Читать дальше →

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

[Перевод] Чеклист готовности к продакшну Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты», который стартует уже сегодня! Вы когда-нибудь выпускали новый сервис в продакшн? Или может занимались сопровождением таких сервисов? Если да, то чем вы руководствовались? Что для п...

[Перевод] Laravel Event Projector и концепция порождения событий Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel» Фрек ван дер Хертен (Freek Van der Herten) и команда Spatie долго трудились над Laravel Event Projector, пакетом, позволяющим применять концепцию порождения событий (Event Sourcing) во фре...

[Перевод] Реализация анимации в React Native Перевод статьи подготовлен специально для студентов курса «ReactJS/React Native-разработчик». Трудно себе представить мобильное приложение, в котором нет анимации. В вебе анимации обычно простые, если они есть вообще (максимум – одна страница сменяет другую). Анимации же...

[Перевод] Понимаем Property Wrappers в SwiftUI Перевод статьи подготовлен специально для студентов курса «iOS Разработчик. Продвинутый курс v 2.0.» На прошлой неделе мы начали новую серию постов о фреймворке SwiftUI. Сегодня я хочу продолжить эту тему, рассказав о Property Wrappers в SwiftUI. SwiftUI предоставляет нам...

[Перевод] Мертв ли Hadoop? Часть 2 Перевод статьи подготовлен специально для студентов курса «Data Engineer». Читать первую часть Никому не нужна Big Data Когда вы услышите «Никому не нужна Big Data», посмотрите на резюме докладчика. Африканский телекоммуникационный оператор, переживающий удивительные уро...

[Перевод] Полное руководство по массивам и срезам в Golang Перевод статьи подготовлен специально для студентов курса «Разработчик Golang», занятия по которому начинаются уже сегодня! Поначалу легко воспринимать массивы и срезы как одно и то же, но с разными названиями: и то и другое является структурой данных для представления ко...

[Перевод] Оборачиваем последовательности в Swift Всем привет. Сегодня хотим поделиться переводом подготовленным в преддверии запуска курса «iOS Разработчик. Продвинутый курс». Поехали! Одним из основных преимуществ протокольно-ориентированного дизайна Swift является то, что он позволяет нам писать общий код, который совме...

[Перевод] Пошаговое руководство по настройке DNS-сервера BIND в chroot среде для Red Hat (RHEL / CentOS) 7 Перевод статьи подготовлен для студентов курса «Безопасность Linux». Интересно развиваться в данном направлении? Смотрите запись трансляции мастер-класса Ивана Пискунова «Безопасность в Linux в сравнении с Windows и MacOS» В этой статье я расскажу о шагах по настройке DNS-с...

[Перевод] GCP: Разбор вычислительного стека Google Cloud Platform Перевод статьи подготовлен специально для студентов курса «Облачные сервисы». Интересно развиваться в данном направлении? Смотрите запись профессионального мастер-класса «AWS EC2 сервис», который провёл Егор Зуев — TeamLead в компании InBit и автор образовательной программы...

[Перевод] Создаем конвейер потоковой обработки данных. Часть 1 Всем привет. Друзья, делимся с вами переводом статьи, подготовленным специально для студентов курса «Data Engineer». Поехали! Apache Beam и DataFlow для конвейеров реального времени Сегодняшний пост основан на задаче, которой я недавно занимался на работе. Я был действитель...

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

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

[Перевод] Как мы изменили состояние «всегда на связи», чтобы предотвратить профессиональное выгорание Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты». Миссия Intercom заключается в том, чтобы сделать бизнес в интернете персонализированным. Но персонализировать продукт невозможно, когда он не работает как надо. Работоспособность к...

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

[Из песочницы] Создание Redux-подобного глобального хранилища, используя React Hooks Привет, Хабр! Представляю вашему вниманию перевод статьи "Build a Redux-like Global Store Using React Hooks" автора Ramsay. Давайте представим, что я написал интересное предисловие к этой статье и теперь мы сразу можем перейти к по-настоящему интересным вещам. Если...

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

[Перевод] React Native: Создание анимированного поля ввода с помощью Animated API Всем привет! Сегодня делимся с вами познавательным материалом, перевод которого подготовлен специально для студентов курса «ReactJS/React Native-разработчик». Итак, начнем. Все мы видели такие поля для ввода: Надпись большая и выглядит как плейсхолдер, пока вы не наве...

[Перевод] Бессерверная архитектура и микросервисы: идеальная пара? Перевод статьи подготовлен для студентов курса «DevOps практики и инструменты» в образовательном проекте OTUS. Когда в 2015 году начали появляться первые туториалы с использованием AWS Lambda и API Gateway, было неудивительно, что они в основном были сосредоточены на копир...

[Перевод] Погружение в Jetpack Compose Всем привет. Перед уходом на выходные спешим поделиться с вами еще одним переводом, подготовленным специально для студентов курса «Android-разработчик. Продвинутый курс». Пробуем новый UI-фреймворк для Android-приложений В течение последних нескольких лет, участвуя во мн...

[Перевод] PSR-14 — главное событие в PHP В прошлом году PHP-FIG — Группа концепций совместимости PHP, выпустила несколько новых спецификаций. Последняя из них — PSR-14, посвящена диспетчеризации событий. Как и другие PSR, это локальная спецификация, но имеет большое влияние на многие аспекты стандартизации. От пер...

[Перевод] Понимаем теорему Байеса Перевод статьи подготовлен специально для студентов базового и продвинутого курсов «Математика для Data Science». Теорема Байеса – одна из самых известных теорем в статистике и теории вероятности. Даже если вы не работаете с расчетами количественных показателей, вероятно,...

[Перевод] Разбираемся в основах Blockchain: Задача Византийских Генералов. Часть 1 Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок», который стартует уже в этом месяце. Блокчейн – это децентрализованная система, состоящая из различных субъектов, которые действуют в зависимости от своих стимулов и имеющейся у них ин...

[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Всем привет, уже через несколько недель мы запускаем новый поток по курсу «Разработчик С++». Этому событию и будет посвящен наш сегодняшний материал Что такое strict aliasing? Сначала мы опишем, ...

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

[Перевод] Выделенная память подов и вмешательство OOM Killer И снова здравствуйте! Перевод следующей статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes», который запускается уже в этом месяце Начнем. В последние дни некоторые из моих подов постоянно аварийно завершали работу, оставляя...

[Перевод] Лямбды: от C++11 до C++20. Часть 2 Привет, хабровчане. В связи со стартом набора в новую группу по курсу «Разработчик C++», делимся с вами переводом второй части статьи «Лямбды: от C++11 до C++20». Первую часть можно прочитать тут. В первой части серии мы рассмотрели лямбды с точки зрения C++03, C++11 и C+...

[Перевод] Детальный разбор AWS Lambda Перевод статьи подготовлен специально для студентов курса «Облачные сервисы». Интересно развиваться в данном направлении? Смотрите мастер-класс Егора Зуева (TeamLead в компании InBit) «AWS EC2 сервис» и присоединяйтесь к ближайшей группе курса: старт 26 сентября. Все больш...

[Перевод] Рекомендации по созданию приложений на React Native. Часть 1 Добрый день, хабровчане. Сегодня делимся с вами переводом статьи, перевод которой был подготовлен специально для первого запуска курса «ReactJS/React Native-разработчик». Приятного прочтения. Если вы новичок в мире React Native, то вы знаете, что в нем есть некоторые по...

[Перевод] Service mesh для микросервисов. Часть III. Более глубокий взгляд на Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Это третья статья из серии публикаций, посвященных  Kubernetes и технологии service mesh (также известной как «сеть микросервисов» и «mesh-сеть микросервисов»). В ...

[Перевод] Пирамидальная сортировка (HeapSort) Перевод статьи подготовлен специально для студентов курса «Алгоритмы для разработчиков». Пирамидальная сортировка (или сортировка кучей, HeapSort) — это метод сортировки сравнением, основанный на такой структуре данных как двоичная куча. Она похожа на сортировку выбором, г...

[Перевод] Часто задаваемые вопросы по SELinux (FAQ) Всем привет! Специально для студентов курса "Безопасность Linux" мы подготовили перевод официального FAQ проекта SELinux. Нам кажется, что данный перевод может быть полезен не только студентам, поэтому делимся им с вами. Мы попытались ответить на некоторые наиболее часто за...

[Перевод] Как сделать SFINAE изящным и надежным И снова здравствуйте. Делимся с вами интересной статьёй, перевод которой подготовлен специально для студентов курса «Разработчик C++». Сегодня у нас гостевой пост Адама Балаша (Ádám Balázs). Адам является инженером-программистом в Verizon Smart Communities Hungary и зани...

[Перевод] 5 чрезвычайно простых способов ощутимо повысить скорость вашего VueJS-приложения Здравствуйте. Перевод данной статьи подготовлен специально для студентов курса «Разработчик JavaScript», который стартует уже на следующей неделе. Голос Чуи Немного обо мне — меня зовут Вайбхав, я из Five2One. Я вовлечен во VueJS уже целых 2 года (с момента выхода 1.0) и...

[Перевод] Про «Open» Distros, Open Source, и создание компании Elastic В контексте событий про Open Distro, открытие исходников X-Pack, а также статьи «The Cloud and Open Source Powder Keg» — перевод поста Шейя Бэнона (основатель и CEO Elastic). Читать дальше →

[Перевод] 1.1 миллиард поездок на такси: 108-ядерный кластер ClickHouse Перевод статьи подготовлен специально для студентов курса «Data Engineer». ClickHouse — это колоночная база данных с открытым исходным кодом. Это великолепная среда, где сотни аналитиков могут быстро запрашивать развернутые данные, даже когда вводятся десятки миллиардов но...

А какая разница какой Collation выбрать? Статья подготовлена для студентов курса «MS SQL Server разработчик» Хочу поделиться историей из одного из предыдущих проектов, которая иллюстрирует, что Collation нужно выбирать очень вдумчиво. И о том, что бывает, если этот параметр все-таки выбрали неверно, и какие вариант...

[Перевод] Python 3.8: Что нового и как этим пользоваться? Следующий перевод подготовлен специально для «питонистов», которым интересно наверняка интересно почитать о новых функциях Python 3.8. В преддверии запуска нового потока по курсу «Разработчик Python» мы не смогли пройти мимо этой темы. В этой статье мы поговорим про новые ф...

[Перевод] Визуализируем и разбираемся с Hash Match Join Этот пост является третьей частью серии, посвященной операторам соединения (обязательно прочитайте часть 1 — nested loops joins, и часть 2 — merge joins). Перевод статьи подготовлен специально для студентов курса «MS SQL Server разработчик». Hash Match Joins — это надежные ...

[Перевод] В двух словах о привилегиях Linux (capabilities) Перевод статьи подготовлен специально для студентов курса «Администратор Linux». Привилегии (capabilities) используются всё больше и больше во многом благодаря SystemD, Docker и оркестраторам, таким как Kubernetes. Но, как мне кажется, документация немного сложна для понима...

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

[Перевод] Предварительная загрузка в PHP 7.4 Перевод данной статьи подготовлен специально для студентов курса «Backend разработчик на PHP». В PHP 7.4 добавлена предварительная загрузка — возможность, которая позволяет значительно повысить производительность кода. О предзагрузке в двух словах. Для предварительной...

[Из песочницы] NeoBook: среда программирования для непрограммистов NeoBook: среда программирования для непрограммистов Для кого эта статья Статья написана, в первую очередь, для тех, кто не является профессиональным программистом, но хочет уметь создавать свои собственные компьютерные программы для компьютеров с Windows. Программирование ...

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

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

[Перевод] Service mesh для микросервисов. Часть II, основы работы с Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Настройка базового микросервиса в Kubernetes обманчиво проста. В одной из последних статей мы рассказали, как легко начать работать с контейнерами. Мы скомпоновали п...

[Перевод] Как выглядит ваш текст? Друзья, отличной всем пятницы. Хотим поделиться с вами переводом статьи, подготовленным специально для студентов курса «Android-разработчик. Продвинутый курс». Приятного прочтения. Как декларативно стилизовать текст на Android. Иллюстрация Вирджинии Полтрэк TextView в ...

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

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

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

[Перевод] Примеры C++ кода до и после Ranges Снова здравствуйте. Перевод следующего материала подготовлен специально для студентов курса «Разработчик C++», занятия по которому стартуют уже 27 июня. Библиотека Ranges была принята в C++20 на совещании стандартного комитета в Сан-Диего в ноябре прошлого года. Библиотек...

[Из песочницы] Мы забыли про делегирование в JavaScript. Event delegation in React Всем привет. Статья о делегирование событий в JavaScript и реализация его в react.js. О чем собственно речь? Зачем и почему? Для начала давайте кратко обсудим: что есть событие; как происходит распространение; обработка DOM Level 2 с примером на JavaScript; И в конце: поч...

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

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

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

Представляем shell-operator: создавать операторы для Kubernetes теперь совсем просто В нашем блоге уже были статьи, рассказывающие про возможности операторов в Kubernetes и о том, как написать простой оператор самому. На этот раз хотим представить вашему вниманию наше Open Source-решение, которое выводит создание операторов на суперлёгкий уровень, — познаком...

[Из песочницы] Как подключить Raspberry PI к Azure IoT: пошаговая инструкция Привет, Хабр! Представляю вашему вниманию перевод статьи Connecting Raspberry PI via Azure IoT: Step-By-Step Tutorial. В этом посте мы расскажем, как подключить Raspberry Pi как периферийное устройство для передачи сигналов к светодиодной панели, использовав модуль Azure Io...

Как в программе Numbers на Mac создавать таблицы с функциями и формулами, как в Excel Вы используете Numbers на своем Mac для слежения за данными, их регистрацией, изменениями и анализом? Может быть вы и не знаете, но это приложение предлагает несколько встроенных инструментов, которые помогут лучше обрабатывать данные. С Numbers вы можете окончательно отказа...

[Перевод] Полное руководство по switch-выражениям в Java 12 Старый добрый switch был в Java с первого дня. Мы все используем его и привыкли к нему — особенно к его причудам. (Кого-нибудь еще раздражает break?) Но теперь все начинает меняться: в Java 12 switch вместо оператора стал выражением: boolean result = switch(ternaryBool) { ...

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

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

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

[Перевод] Полезные инструменты Python Друзья, добрый вечер! У нас отличные новости, открыт набор в новую группу по курсу «Разработчик Python». Группа стартует уже в начале июля, а прямо сейчас, по устоявшейся традиции, мы делимся полезным переводом подготовленным для студентов данного курса. Когда вы только н...

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

[Перевод] Smem – Отчеты о распределении памяти между процессами и пользователями в Linux И снова здравствуйте. Друзья, хотим поделиться с вами переводом полезного материала о мониторинге использования памяти в Linux. Данный материал подготовлен специально для студентов курса «Администратор Linux». Управление памятью в вопросах мониторинга ее использования – о...

Исполнительный директор Huawei: если Arm откажет в лицензии, мы сделаем свой процессор В Сети продолжают появляться подробности встречи исполнительного директора Huawei Юй Чэндуня (Yu Chengdong) со СМИ в рамках выставки IFA 2019, которая в эти дни проходит в Германии. Топ-менеджера уже спрашивали о дальнейшем развитии событий в том случае, если Google не ...

[Перевод] Зачем использовать python -m pip И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога. Мариатта — разработчик из Канады, спросила в Тви...

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

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

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

[Перевод] Как посчитать ROI от автоматизации тестирования с Selenium? Перевод статьи подготовлен специально для студентов курса «Python QA Engineer» Кроссбраузерное тестирование – это именно тот тип тестирования, который требует большого количества сил и времени. Тестирование веб-приложения в различных браузерах, на различных операционных си...

Игра в прятки с оптимизатором. Гейм овер, это CTE PostgreSQL 12 Эта статья — продолжение рассказа о новом в PostgreSQL 12. Мы уже разобрали SQL/JSON (патч JSONPath) в статье «Что заморозили на feature freeze 2019. Часть I. JSONPath», теперь очередь CTE. CTE CTE это Common Table Expression — общие табличные выражения, их еще называют к...

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

Как прикрепить документы (файлы) к событию в календаре на iPhone или iPad Вы можете использовать свой «Календарь» на iPhone и iPad еще и для работы, в дополнение к личным событиям. Таким образом, возможность прикреплять документы к календарным событиям может быть очень полезной, особенно для бизнеса. ПО ТЕМЕ: Оптимизированная зарядка, или как iOS ...

[Перевод] Оценка влияния искусственного интеллекта на оффшорную нефть и газ Перевод статьи подготовлен специально для студентов базового и продвинутого курсов «Математика для Data Science». Интересно развиваться в данном направлении? Смотрите записи мастер-классов «Линейная алгебра: матрицы и их практическое применение» и «Математика для Data Scienc...

Конгресс США vs Цукерберг: какие претензии предъявляют регуляторы стейблкойну Libra от Facebook В современных реалиях практически любой человек может запустить собственную криптовалюту. В этом нет ничего сверхъестественного, и на подобные события редко обращают свое внимание финансовые регуляторы. Но, как известно, в каждом правиле есть свои исключения, и непростая с...

[Из песочницы] Краткое введение в рекурсию. JavaScript Перевод: Привет, Хабр! Представляю вашему вниманию перевод статьи "A Quick Intro to Recursion in Javascript" Yazeed Bzadough. Примечание. Рекурсия не единожды обсуждалась на хабре, но данная статья даёт базовое понимание рекурсии. Это будет полезно начинающим разр...

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

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

Пишем собственный CLI для React Если вы делаете Ctrl+C каждый раз при создании нового компонента в реакте, то эта статья точно для вас! У реакта нет своего CLI, и понятно почему. Не существует определенных правил, как именно должна выглядеть структура компонента, есть только общие рекомендации в документа...

[Перевод] ServiceLoader: встроенный DI-фреймворк, о котором вы, возможно, никогда не слышали Салют, друзья. Уже в эту пятницу пройдет первое занятие в новой группе курса «Разработчик Java». Именно этому курсу и будет посвящена текущая публикация. Многие из java-разработчиков для внедрения зависимостей используют Spring. Некоторые, возможно, пробовали Google Guice...

[Перевод] Руководство для начинающих по SELinux Перевод статьи подготовлен для студентов курса «Безопасность Linux» SELinux или Security Enhanced Linux — это улучшенный механизм управления доступом, разработанный Агентством национальной безопасности США (АНБ США) для предотвращения злонамеренных вторжений. Он реализует ...

[Перевод] Windows Subsystem for Linux (WSL) версии 2: как это будет? (FAQ) Под катом расположен перевод опубликованного FAQ'а о деталях будущей WSL второй версии (автор — Craig Loewen). Затронутые вопросы: WSL 2 использует Hyper-V? Будет ли WSL 2 доступна на Windows 10 Home? Что будет с WSL 1? Она будет заброшена? Будет ли возможность одновремен...

Как мы в IntelliJ IDEA ищем лямбда-выражения Важной возможностью любой IDE является поиск и навигация по коду. Один из часто используемых вариантов поиска на языке Java — поиск всех реализаций данного интерфейса. Часто такая функция называется иерархией типов (Type Hierarchy) и выглядит как на картинке справа. Перебира...

Курс по C++ в CS центре, первая часть Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса. Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Scienc...

Как поморгать 4 светодиодами на CortexM используя С++17, tuple и извращенное воображение Всем доброго здравия! При обучении студентов разработке встроенного программного обеспечения для микроконтроллеров в университете я использую С++ и иногда даю особо интересующимся студентам всякие задачки на определения особо больных на голову одаренных учеников. В очеред...

5 причин начать использовать Google Keep прямо сейчас Google Keep — очень удобный инструмент для самоорганизации Google Keep — это приложение для создания заметок. Но так кажется лишь на первый взгляд. На самом деле — это настоящий «медиакомбайн», который может не хило упростить вам жизнь и дать возм...

[Перевод] Идеальный баг: Использование Путаницы Типов в Flash. Часть 1 И снова здравствуйте! Уже завтра у нас стартуют занятия в новой группе по курсу «Реверс-инжиниринг». Традиционно делимся с вами переводом полезного материала по теме. Поехали! Некоторым злоумышленникам важно, чтобы эксплойт был чрезвычайно надежным. Он всегда должен приводи...

[Из песочницы] Крибле Карбле Gradle: магия автоматической сборки Разработчики облегчают жизнь людям, а Gradle — разработчикам. Если вы пишете на Android, эта статья для вас. Читайте о том, что за зверь этот Gradle (спойлер: он слон), а также — как с ним работать. Gradle — система автоматической сборки, которую используют для упрощения раб...

Игроки в Fortnite пропустили крупный ивент из‑за бага Часть пользователей Fortnite не смогла поучаствовать в событии «Долгожданное возвращение», которое состоялось 4 мая. Разработчики сообщили, что подготовят запись ивента, чтобы игроки могли посмотреть его, а также подарят всем пострадавшим дельтаплан «Иллюзорные крылья». ...

[Из песочницы] Как хакеры используют Microsoft Excel против самого себя Привет, Хабр! представляю вашему вниманию перевод статьи «How Hackers Turn Microsoft Excel's Own Features Against It» автора Лили Хэй Ньюман. Elena Lacey, getty images Наверняка для многих из нас Microsoft Excel – программа скучная. Она много чего умеет, но всё-таки это н...

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

Сервис онлайн-курсов Coursera разрешил любым университетам использовать курсы с платформы в своих программах Также в сервисе Coursera for Campus университеты могут создавать собственные курсы для внутреннего использования.

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

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

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

[Перевод] Крошечные компоненты: что может пойти не так? Используем принцип единственной ответственности Представляем вашему вниманию перевод статьи Scott Domes, которая была опубликована на blog.bitsrc.io. Узнайте под катом, почему компоненты должны быть как можно меньше и как принцип единственной ответственности влияет на качество приложений. Фото Austin Kirk с Unsplash Чит...

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

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

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

[Перевод] Эффекты фильтрации SVG. Часть 4. Двухцветные изображения при помощи feComponentTransfer Эта четвертая статья серии об SVG-фильтрах, в которой Sara Soueidan покажет вам, как использовать feComponentTransfer для создания эффекта двухтонового фильтра. Предлагаемая серия статей "Эффекты фильтрации SVG" Sara Soueidan, внештатного разработчика UI/UX интерфейса и авт...

[Перевод] Подготовка к Spring Professional Certification. Spring Security Эта статья является переводом статьи по подготовке к Spring Professional Certification. В ней будет рассмотрена тема Spring Security и основные вопросы по ней. Ее также можно использовать для подготовки к собеседованию. ↓ Остальные статьи доступны по ссылкам в оглавлении ↓ ...

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

[Перевод] Что есть и чего нет в Go. Часть 2 Всем привет! Cегодня делимся заключительной частью перевода статьи «Что есть и чего нет в Go». Напоминаем, в первой части речь шла о элементах, которые есть в Go, сегодня же поговорим о том, чего в Go нет. Перевод данного материала подготовлен в преддверии старта нового пот...

Битва L2TP, RRAS vs SoftEther «Украденная с запада картинка для привлечения внимания» В прошлых наших статьях мы рассказали, как работать с VDS на Windows Server Core 2019 на нашем новом тарифе UltraLight за 99 рублей в месяц. Предлагаем еще один способ использования данного тарифа. На этот раз речь по...

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

Ход конём по битам. Шахматный Bitboard Добрый день. Эту статью я написал специально для студентов курса «Алгоритмы для разработчиков» в OTUS и сегодня хочу поделиться ею со всеми читателями нашего блога. Шахматный конь стоит на шахматной доске и задумчиво смотрит в шахматную даль. Сколько разных ходов он может с...

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

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

Xiaomi выпустила Mint Keyboard с искусственным интеллектом Смартфоны Xiaomi и Redmi поставляются с фирменной оболочкой MIUI, которая устанавливается поверх Android и имеет собственное приложение-клавиатуру. Но Xiaomi решила предложить больше вариантов набора текста и выпустила приложение Mint Keyboard с искусственным интеллектом. Но...

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

Microsoft выпустила предварительную версию Windows Vision Skills Компания Microsoft объявила о выпуске первой предварительной версии Windows Vision Skills. Этот набор NuGet-пакетов позволяет разработчикам «решать сложные проблемы компьютерного зрения, используя простой набор API». Windows Vision Skills уже включает в себя набор API-интер...

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

Спутниковый интернет — новая космическая «гонка»? Disclaimer. Cтатья является дополненым, исправленым и актуализированным переводом публикации Натана Хёрста. Также была использована некоторая информация из статьи о наноспутниках при построении конечного материала. Существует теория (или, возможно, предостерегающая сказка) с...

Xiaomi выпустила клавиатуру Mint с искусственным интеллектом Смартфоны Xiaomi и Redmi поставляются с фирменной оболочкой MIUI, которая устанавливается поверх Android и имеет собственное приложение-клавиатуру. Но Xiaomi решила предложить больше вариантов набора текста и выпустила приложение Mint Keyboard с искусственным интеллектом. Но...

[Перевод] Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 2 — Инструменты и библиотеки, AutoML, RL, этика в AI Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся т...

[Перевод] Оптимизация стратегии игры в Блэкджек методом Монте-Карло Перевод статьи подготовлен специально для студентов курса «Machine learning». Обучение с подкреплением штурмом взяло мир Искусственного Интеллекта. Начиная от AlphaGo и AlphaStar, все большее число видов деятельности, в которых раньше доминировал человек, теперь завоевано...

Виды контекста в JavaScript И снова здраствуйте! Мы уже писали о том, что в конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий продолжаем делиться с вами авторскими статьями, подготовленными специально для студентов курса. Сегодня разберем в...

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

[Из песочницы] Как создать идеальное техническое портфолио Привет, Хабр! представляю вашему вниманию перевод статьи «How To Build A Great Technical Portfolio» автора Emma Wedekind. Портфолио — это отображение вашей личности, обычно первое впечатление о вас и вашей работе складывается именно благодаря портфолио. Таким образом, крайн...

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

Ещё один способ отстрелить себе ногу, используя std::thread Стандарт C++11 принёс в язык стандартный механизм поддержки тредов (их часто называют потоками, но это создаёт путаницу с термином streams, так что я буду использовать оригинальный англоязычный термин в русской транскрипции). Однако, как и любой механизм в C++, этот несёт в ...

[Из песочницы] Почему Swift может стать большим событием в глубинном обучении Здравствуй, Хабр! Представляю вашему вниманию перевод заинтересовавшей меня статьи «Why Swift May Be the Next Big Thing in Deep Learning» автора Max Pechyonkin, в которой автор рассуждает о языке на котором будет осуществляться глубокое обучение в ближайшие годы. Читать дал...

[Перевод] Процедурные дороги в Houdini и Unity Для моей постапокалиптической игры Frameshift мне нужно было заполнить очень большой открытый мир разнообразными городами. В нашей команде всего 3 человека, поэтому я, разумеется, воспользовался процедурной мощью Houdini! Раньше, когда не знал о Houdini, я писал на C# соб...

F#3: Форматирование текста При работе с любым языком вам, скорее всего, нужно будет отформатировать текст, и F# ничем не отличается. Поскольку F# является языком .NET, мы всегда можем использовать Console.WriteLine (..) и String.Format (..), где мы можем использовать любой из обычных форматеров, кото...

[Из песочницы] Создание минимального Docker-контейнера для Go-приложений Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications». Время чтения: 6 минут Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для разл...

Мониторинг производительности запросов PostgreSQL. Часть 1 — репортинг Инженер — в переводе с латыни — вдохновенный. Инженер может всё. (с) Р.Дизель. Эпиграфы. Или история о том, зачем администратору баз данных вспоминать свое программистское прошлое. Предисловие Все имена изменены. Совпадения случайны. Материал представляет собой исключител...

[Перевод] Храним SSH-ключи безопасно Хочу рассказать как безопасно хранить SSH-ключи на локальной машине, не боясь за то, что какое-то приложение может украсть или расшифровать их. Статья будет полезна тем, кто так и не нашел элегантного решения после паранои в 2018 и продолжает хранить ключи в $HOME/.ssh. Для...

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

[Перевод] Грамматика английского. Who vs. Whom – как понять, какое слово использовать Разобраться в хитростях английской грамматики может быть довольно непросто. Классический пример здесь – выбор между who и whom. Даже носители языка не всегда корректно используют нужное слово, что уж говорить о тех, кто только изучает английского. В блоге одного из сервис...

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

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

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

[Из песочницы] Пользовательские параметры в Google Analytics, которые не раз нас спасали При настройке аналитики через Google Analytics (GA) нередко без внимания остаются Пользовательские параметры или CD (Custom Dimensions). Это происходит из-за сложности с пониманием их области применения: неясно, как именно CD могут помочь в сборе и анализе данных и каким обр...

Перевод «Подготовьте ваши приложения к 64-бит требованиям» Перевод статьи Get your apps ready for the 64-bit requirement блога «Android Developers Blog». Современные 64-бит процессоры увеличивают скорость и обогащают опыт ваших пользователей. Добавление 64-бит версии приложения даёт улучшение производительности, открывает пути для...

iPhone получат модем 5G в 2020 году По словам аналитика Apple Минг-Чи Куо, iPhone получат 5G только в 2020 году. Предположительно они используют модем Qualcomm, так как собственный модем от Apple еще не закончен. Частоты, используемые 5G, можно разделить на две категории. Для значительно более высокой скорос...

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

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

[Из песочницы] Дружим часы реального времени PCF8563 с Arduino по I2C Привет, Хабр. Довелось мне использовать RTC на микросхеме PCF 8563 по I2C.Так как нормальных функции для более удобной работы с Arduino я не нашел, пришлось работать напрямую через I2C. В Англоязычном интернете нашел толковый туториал с подробным описанием процесса. Данная с...

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

CorelDRAW Graphics Suite 2019: новый пакет для работы на macOS и новое веб-приложение CorelDRAW Была существенно расширена линейка продукции CorelDRAW Graphics Suite. В частности, вышел новый графический пакет, разработанный специально для macOS. С помощью CorelDRAW Graphics Suite пользователи могут создавать высокоточные графические материалы, используя удобную для с...

[Перевод] Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen. В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество сто...

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

[Перевод] Интеграционные тесты баз данных с помощью Spring Boot и Testcontainers 1. Обзор С помощью Spring Data JPA можно легко создавать запросы к БД и тестировать их с помощью встроенной базы данных H2. Но иногда тестирование на реальной базе данных намного более полезно, особенно если мы используем запросы, привязанные к конкретной реализации БД. В эт...

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

[Перевод] Новое в Hadoop: познакомимся с различными форматами файлов в Hadoop Всем привет! Публикуем перевод статьи, подготовленный для студентов новой группы курса «Data Engineer». Если интересно узнать, как построить эффективную и масштабируемую систему обработки данных с минимальными затратами, посмотрите запись мастер-класса Егора Матешука! Неско...

[Перевод] Разбор: как на самом деле правильно использовать Present Perfect в английском Из всех используемых в английском языке времен, именно Present perfect зачастую оказывается одним из самых трудных для понимания не-носителями. Аналоги этого времени существуют во множестве языков, но в использовании есть едва уловимые отличия. В итоге английская версия pr...

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

Xavier Noria о Rails 6, консалтинге и не только Уже в эту субботу встречаемся со всеми рубистами на главной конференции, посвященной этой технологии — RubyRussia 2019. 28 сентября совсем близко, а в этом интервью вопросы для Xavier Noria подготовил разработчик компании Evrone Павел Аргентов, а помогли ему студенты и препо...

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

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

[Перевод] Создаем инфраструктуру как код с GitLab и Ansible Вся мощь GitLab CI в демонстрации плейбуков Ansible при подходе «инфраструктура как код». GitLab CI — это эффективный инструмент для самых разных сценариев, включая инфраструктуру как код. GitLab можно использовать с разными инструментами, но в этой демонстрации мы возьмем ...

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

[Перевод] Dart 2. Асинхронное программирование: потоки данных Асинхронное программирование: потоки данных Содержание Получение событий потока События с ошибкой Работа с потоками Типы потоков Потоки-подписки Широковещательные потоки Методы, обрабатывающие поток Методы, изменяющие поток Функция transform() Чтение и декодирование файл...

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

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

[Из песочницы] Агрегатор событий для Unity3d (Event Aggregator) Идея написать свой расширенный агрегатор событий для Unity3d назрела давно. Прочитав несколько статей на эту тему, я понял что нет достаточно «правильного» (в рамках Unity3d) и нужного для меня агрегатора, все решения урезаны и не обладают нужным функционалом.  Необходимый ...

[Перевод] Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен Вашему вниманию предлагается перевод поста Гергелия Ороса, занимающего должность Engineering Manager в Uber. В нем он делится своим взглядом на проектирование крупномасштабных систем, основанном на собственном практическом опыте работы в Uber и Microsoft. В сочетании с ком...

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

Univention Corporate Server (UCS) — установка простого и удобного LDAP сервера с web-панелью и его связка с Nextcloud Рано или поздно на любом маленьком или среднем предприятии возникает задача по созданию единого центра авторизации пользователей в многочисленных сервисах и порталах компании. Среди кандидатов на такой центр авторизации сразу приходит в голову Microsoft Active Directory ил...

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

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

Создание voice & tone вашего продукта В статье была затронута тема тональности и голоса продукта. Понятие в наших краях не слишком-то и обсуждаемо, практически не используется осознанно. И, если быть честными, голос и тон обычно входят в брендбуки и аналогичные документы, либо прописываются в неявном виде в реда...

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

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

[Перевод] Котлин против Свифта: Android и iOS движутся к созданию универсального языка? Друзья, всем привет. На связи Дмитрий Кожевин — преподаватель базового курса «Android-разработчик» в OTUS. Специально для читателей нашего блога я подготовил перевод вот такой отчасти провокационной статьи. Очень интересно ваше мнение, поэтому после прочтения приглашаю все...

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

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

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

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

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

[Перевод] Машинное обучение агентов в Unity Эта статья об агентах машинного обучения в Unity написана Майклом Лэнхемом — техническим новатором, активным разработчиком под Unity, консультантом, менеджером и автором многих игр на движке Unity, графических проектов и книг. Разработчики Unity внедрили поддержку машинног...

[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay. Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели ...

Лучшие программы для создания сторис в Instagram Если вы используете Instagram не первый день, то наверняка в курсе существования такой функции, как «истории». Это небольшие фото или видеоролики, которые хранятся 24 часа и доступны в специальном разделе. Однако если вы подписаны на топовых блогеров, то наверняка...

8 причин, по которым вы обязательно захотите использовать Azure Notebooks Если Вы data scientist, или занимаетесь машинным обучением, как я — наверняка Вы пишете большую часть кода в Jupyter Notebooks. Для всех остальных поясню: Jupyter — это замечательная система, позволяющая Вам сочетать исполняемый программный код и текстовые фрагменты на основ...

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

[Из песочницы] Не переусложняйте ваш CI/CD и пользуйтесь Docker'ом осмысленно Я работал в разных компаниях, которые используют микросервисы. И они запускали их в docker контейнерах. Сейчас я работаю с проектом, который хоть и монолит, но его все равно удобнее запустить в контейнере. С одной стороны, Docker очень универсальный инструмент, его можно л...

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

JS. Proxy. Подводный камень, о котором нужно знать Эта статья будет интересна тем кто использует Proxy, для реактивности или рефлексии. Поведение JS методов, нам хорошо знакома если мы просто используем их в рамках объекта. Если метод передается через свойство другому объект, то он работает с тем this, который определен в р...

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

Google готовится запустить новый банковский сервис на основе Google Pay Google хочет выйти на рынок финансовых услуг. Потому что почему бы и нет Apple, Google, Facebook – все они, хоть и разными способами, но смогли добиться успеха, став лучшими в своём деле. Однако времена, когда можно было выезжать только на одном продукте, давно прошли, и теп...

Генерация документов с помощью ONLYOFFICE DocumentBuilder Привет, Хабр. Я хочу рассказать об утилите под названием DocumentBuilder, которая позволяет генерировать документы, таблицы и презентации, а также показать, как можно его использовать для решения ваших задач, на примере создания резюме из шаблонов. Работает билдер следующи...

Adobe готовит приложение камеры на основе ИИ. На что оно будет способно? Adobe готовит что-то интересное Adobe совсем недавно анонсировала свое новое приложение Photoshop Camera. Это программа для смартфонов, которая будет работать базе искусственного интеллекта. Приложение выйдет как на Android, так и на iOS, и даст пользователям возможность ...

Задачи, которые решают программные роботы (RPA) в банковском секторе В настоящий момент финансовый сектор лидирует в использовании RPA. Наши партнеры подготовили перевод статьи о том, как банки используют эту технологию в своих процессах. По данным консалтинговой компании Gartner, выручка от программного обеспечения RPA в 2018 году выросла н...

[Перевод] Автоматический перенос приложений iOS (ARM) на macOS (x86) с помощью Bitcode Когда Apple представила технологию Bitcode и сделала её обязательной для watchOS и tvOS, компания словно отмахнулись от вопросов, зачем она вообще нужна. Лишь туманно сказала, что она помогает настраивать двоичные файлы и использует последние улучшения компилятора. С тех по...

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

Дайджест событий для HR-специалистов в сфере IT на август 2019 Близится конец лета, а вместе с ним и всеобщее возвращение из отпусков, старт нового учебного года и дела, которые откладывались «до осени». Успейте заняться прокачкой своих IT-HR навыков пока вас не завалило новыми задачами и запросами! А чтобы вы могли сориентироваться в...

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

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

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

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

[Перевод] Svelte 3: Переосмысление реактивности Буквально на днях произошло большое событие в сообществе SvelteJS, да и вообще, как мне кажется, для всего современного фронтенда — долгожданный релиз Svelte 3! Посему, под катом перевод статьи автора Svelte и прекрасное видео с его доклада на YGLF 2019. Читать дальше →

Связный список на Python: Коты в коробках И снова здравствуйте! В преддверии старта курса «Разработчик Python» подготовили для вас небольшой авторский материал о связных списках на Python. Python очень удобный и многогранный язык, но по умолчанию не имеет такой структуры данных как связный список или LinkedList. ...

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

[Перевод] Учебник по JavaFX: основные макеты Перевод статьи «JavaFX Tutorial: Basic layouts» автора Vojtech Ruzicka. Как организовать и разместить GUI компоненты в приложении JavaFX. Это четвертая статья в серии о JavaFX. В предыдущей статье я описал, как использовать FXML и SceneBuilder для создания вашего пользоват...

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

Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...

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

Пример Model-View-Update архитектуры на F# Кому-то не нравился Redux в React из-за его имплементации на JS? Мне он не нравился корявыми switch-case в reducer'ах, есть языки с более удобным pattern matching, и типы лучше моделирующие события и модель. Например, F#. Эта статья — разъяснение устройства обмена сообщения...

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

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

[Перевод] Как заблокировать работу Microsoft Edge в фоне под Windows 10 Работая на устройстве под управлением ОС Windows 10, вы могли заметить в Task Manager среди запущенных процессов Microsoft Edge, даже если вы не пользуетесь этим браузером. Эти процессы, MicrosoftEdge.exe, MicrosoftEdgeCP.exe и MicrosoftEdgeSH.exe, отображаются там как прио...

Дайджест событий для HR-специалистов в сфере IT на январь 2019 Каникулы закончились, праздники остались позади и уже нужно строить планы на наступивший 2019 год. Мы подобрали мероприятия, которые помогут вам войти в рабочий график, пока их мало, но ещё анонсированы не все события января! Следите за обновлениями поста, анонсы событий ...

[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов Нет ничего проще, чем добавить иконку в проект: нужно всего лишь написать дизайнеру, он экспортирует её из Sketch и пришлет вам нужный вариант, а вы используете ее у себя в коде. Если же у вас с десяток проектов, несколько платформ и множество А/Б-тестов на дизайн, то дост...

Свистать всех на Linux, гром и молния Привет, Хабр! Сегодня я хочу рассказать о собственном опыте перевода рабочего места на Linux. Статья не претендует на 100% охват всех проблем и их решений, но кое-какие рецепты, позволяющие сделать жизнь лучше, тут все же будут. Также в статье будет некоторое количество флеш...

[Перевод] Как писать Go-пакеты Пакет Go состоит из Go-файлов, расположенных в одной и той же директории, в начале которых имеется одинаковое выражение package. Пакеты, подключаемые к программам, позволяют расширять их возможности. Некоторые пакеты входят в состав стандартной библиотеки Go. А это значит, ч...

Виртуальные файловые системы в Linux: зачем они нужны и как они работают? Часть 1 Всем привет! Мы продолжаем запуски новых потоков по уже полюбившимся вам курсам и сейчас спешим сообщить о том, что у нас стартует новый набор по курсу «Администратор Linux», который запустится в конце апреля. К этому событию и будет приурочена новая публикация. С оригиналом...

Блокчейн: что нам стоит PoC построить? Глаза боятся, а руки чешутся! В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализаци...

[Из песочницы] Как продублировать цели из Яндекс.Метрики в Google Analytics Что делать, если вы настроили большое количество целей в Яндекс.Метрике через Google Tag Manager (GTM), и нужно срочно перенести эти цели в качестве событий в Google Analytics (GA)? Конечно, можно перенастроить каждый тег на параллельную отправку событий в GA и в Метрику, но...

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

Все инструменты, которые мы использовали для создания популярной HTML5-игры Curious Expedition В этой статье представлен полный список всех инструментов и платформ, которые мы использовали при разработке Curious Expedition, а также вывод о том, буду ли я использовать их снова или нет.

[Перевод] Цикл уроков по SDL 2.0: урок 4 — Обработка событий От переводчика: Это продолжение серии переводов туториалов от Twinklebear, в оригинале доступных тут. Перевод отчасти вольный и может содержать незначительные поправки или дополнения от переводчика. Перевод первых двух уроков — за авторством InvalidPointer. Читать дальше ...

Внедряем Sign in with Apple — систему авторизации от Apple Привет, Хабр! Этим летом на конференции WWDC 2019 Apple представила собственную систему авторизации Sign in with Apple  и сделала ее обязательной для всех приложений в App Store, которые используют вход через соцсети. Исключение составляют образовательные, корпоративные, пр...

Бесплатный вебинар «Что такое квизы в чат-боте и почему они круто обеспечивают лидогенерацию?» Спикеры: Владимир Богдан, Роман Белый, сооснователи IQBI.Agency. От спикеров Вебинар будет посвящен крутому маркетинговому инструменту — квизам в месенджерах через чат-бота. Мы разберем возможности которые раскрывает этот инструмент, чем квизы с ч...

Как съездить на стажировку в крупную IT-компанию Если вы давно хотели поехать на зарубежную стажировку, но совершенно не знаете, как к этому подступиться, то эта статья для вас. Фёдор Киташов (kitashov), студент 4 курса ФРКТ МФТИ, рассказал что нужно сделать, чтобы съездить на стажировку с полным покрытием, поработать на...

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

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

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

[Перевод] Новый кодек AV1: ускоряем загрузку видео в браузере В этом руководстве мы научимся использовать видео в Вебе, как это принято в 2019. Chrome и Firefox начали поддерживать новый кодек AV1 — для них видео можно сделать в два раза меньше. Отдельно поговорим, как заменить GIF на видео в AV1 и H.264 — тогда его размер упадёт в 20...

Garbage Collector. Полный курс + перевод из BOTR В данной статье вы встретите сразу два источника информации: Полный курс по работе Garbage Collector на русском языке: CLRium #6 (текущий семинар здесь) Перевод статьи из BOTR "Устройство сборщика мусора" от Маони Стевенс. Читать дальше →

[Перевод] Новости из мира OpenStreetMap № 485 (29.10.2019-04.11.2019) Навигационная система Теслы и система OSM 1 | Teslamotorsclub – Map data OpenStreetMap contributors Картографирование Пользователь SelfishSeahorse предлагает отмечать в OSM полосы на дорогах, которые специально отведены для пешеходов. StreetCred — компания, основанная Рэ...

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

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

[Перевод] С++, определен ли тип: предварительное декларирование нужных объектов В прошлый раз, мы использовали SFINAE, чтобы понять, есть ли у типа определение, и мы использовали это в сочетании с if constexpr и универсальными лямбда-выражениями, чтобы код мог использовать тип, если он определен, при этом все еще принимаясь компилятором (и отбрасываясь)...

Бенчмарк как основание для принятия решения об изменении кода Билл Кеннеди в одной из лекций своего замечательного курса Ultimate Go programming сказал: Многие разработчики стремятся оптимизировать свой код. Они берут строчку и переписывают ее, говоря, что так станет быстрее. Нужно остановиться. Говорить, что тот или иной код быстрее, ...

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

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

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

[Перевод] Как я сдал сертификационный экзамен Google Cloud Professional Data Engineer Без рекомендуемого 3-х летнего практического опыта В преддверии старта занятий по курсу «Data Engineer», хотим поделиться с Вами переводом одной очень интересной истории, которая наверняка будет полезна будущим дата инженерам. Поехали! Худи от Google: надето. Серьезное раб...

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

Как мы учим французов экологии и собираем бутылки Студенты из Университета Париж-Сакле (Франция) стали участниками практикума по переработке пластика, который проходит с 1 по 13 июля 2019 года в ФабЛабе НИТУ «МИСиС». Курс посвящен работе c машинами Precious Plastic. Открытый проект голландца Дэйва Хаккенса Precious Plasti...

[Не] используйте CDN Практически в любой статье или инструменте для оптимизации скорости сайтов есть скромный пункт «используйте CDN». Вообще, CDN – это content delivery network или сеть доставки контента. Мы в компании «Метод Лаб» часто встречаемся с вопросами клиентов по этой теме, некоторые с...

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

PVS-Studio для Visual Studio Многие наши статьи посвящаются чему угодно, но только не самому инструменту PVS-Studio. А ведь мы очень много делаем, чтобы разработчикам было удобно пользоваться нашим инструментом. Но как раз это часто оказывается за кадром. Решил исправить эту ситуацию и рассказать об пл...

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

[Из песочницы] Комплексный подход к визуализации событий безопасности и измерению её эффективности Привет, Хабр! Представляем вашему вниманию перевод статьи "A Full-Scale Security Visualization Effectiveness Measurement and Presentation Approach". От автора перевода Визуализация оказывает неоценимую помощь экспертам в получении выводов и знаний об объекте исследований,...

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

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

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

Хватит использовать RSA Привет, %username%! RSA — первый широко используемый алгоритм асимметричной криптографии, который до сих пор популярен в индустрии. Он относительно прост, на первый взгляд. Шифрование и подпись RSA можно посчитать на листке бумаги, чем часто занимаются студенты на лаборат...

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

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

[Из песочницы] Бесконечный и нелепый список того, что вам нужно знать, чтобы безопасно использовать публичные сети Wi-Fi Привет, Хабр! Представляю вашему вниманию перевод статьи «The Complete, Endless, Ridiculous List of Everything You Need to Be Safe on Public Wi-Fi» автора Patrick F. Wilbur. Wi-Fi сети, вебсайты, протоколы, которые мы используем, не обеспечивают нам необходимой безопасност...

[Перевод] Реализация шаблона проектирования Command в Unity Вы задавались когда-нибудь вопросом, как в играх наподобие Super Meat Boy реализована функция реплея? Один из способов её реализации — выполнять ввод точно так же, как это делал игрок, что, в свою очередь, означает, что ввод нужно как-то хранить. Для этого и многого другого...

[Перевод] Модуль dis в Python и свертка констант Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Web-разработчик на Python». Поехали! Недавно я очень удивился, когда обнаружил, что >>> pow(3,89) работает медленнее, чем >>> 3**89 Читать дальше →

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

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

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

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

Что-что случится 1 февраля? Не то что бы, конечно, это было первое обсуждение вопроса на Хабре. Однако до сего момента в основном обсуждались последствия, в то время как, на наш взгляд, куда интереснее первопричины. Итак, на 1 февраля запланирован DNS Flag Day. Эффекты этого события будут наступать по...

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

Завершающий курс специализации по Python от Mail.ru Group Python — простой и гибкий язык, применяемый во многих областях современной разработки. На нём создают веб-приложения, пишут игры, анализируют данные и выполняют многие другие задачи. Mail.ru Group запустила на платформе Coursera специализацию «Программирование на Python», ...

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

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

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

Google следит за здоровьем американцев Об этом сообщает "КоммерсантЪ" со ссылкой на данные The Wall Street Journal (WSJ). В компании подтвердили существование сделки под кодовым названием "Проект Соловей" и заявили, что она не нарушает законодательства.По данным WSJ, проект был запущен в 2018 ...

[Перевод] Комбинирование Signed Distance Fields в 2D В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки ...

[Из песочницы] Делаем простой Circuit Breaker на базе кеша в Spring Эта статья для тех, кто использует в своем приложении эффективный кеш и хочет простым добавлением 1 класса в проект добавить стабильности не только приложению, но и всему окружению. Если вы узнали себя, читайте дальше. Что такое Circuit Breaker Читать дальше →

Telegram для iOS получил знаковое обновление Разработчики Telegram выпустили обновление одноименного мессенджера для iOS. Выход апдейта за номером 5.5, несмотря на минимальное количество нововведений, стал знаковым событием для пользователей Telegram. Теперь они могут быть спокойны не только за сохранность личной пере...

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

[Перевод] Что нужно знать о массивах JavaScript Представляем вам перевод статьи автора Thomas Lombart, которая была опубликована на сайте medium.freecodecamp.org. Перевод публикуется с разрешения автора. Пример использования метода reduce для сокращения массива Позвольте мне сделать смелое заявление: циклы часто бывают...

5 советов о Design Leadership. Часть 1 Всем привет. Уже в этом месяце мы запускаем курс «Team Lead 2.0», который подготовлен специально для старших разработчиков, TeamLead’ов, SCRUM мастеров и специалистов, желающих повысить свой профессиональный уровень и получить уникальный опыт, необходимый для эффективного уп...

[Перевод] Пространственные манипуляции в 2D с помощью Signed Distance Fields При работе с полигональными ассетами можно отрисовывать только по одному объекту за раз (если не учитывать такие приёмы, как batching и instancing), но если использовать поля расстояний со знаком (signed distance fields, SDF), то мы не этим не ограничены. Если две позиции им...

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

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

Бэтмен и Готэм-Сити уже в Fortnite в честь 80-летия супергероя После нескольких внутриигровых событий совместно с Marvel, Epic Games объявляет о появлении Бэтмена в королевской битве Fortnite. Один из известнейших супергероев в истории появится в игре к собственному 80-летию. Событие будет проходить до 6 октября. А до 1 октября предлож...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 23. Передовые технологии маршрутизации Сегодня мы более основательно рассмотрим некоторые аспекты маршрутизации. Прежде чем начать, я хочу ответить на вопрос студентов о моих страничках в социальных сетях. Слева я поместил ссылки на странички нашей компании, а справа – на мои персональные странички. Замечу, что я...

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

[Перевод] Иерархическая кластеризация категориальных данных в R Перевод подготовлен для студентов курса «Прикладная аналитика на R». Это была моя первая попытка выполнить кластеризацию клиентов на основе реальных данных, и она дала мне ценный опыт. В Интернете есть множество статей о кластеризации с использованием численных переменны...

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

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

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

История одного проекта: когда в команде нет senior developer От переводчика: публикуем для вас статью разработчика Джека Финлея. Джек рассказывает о собственном кейсе — попытке организовать работу командой джуниоров, где все равны и нет технического руководителя. Статья будет полезна для начинающих программистов. Некоторые проект...

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

[Перевод] Unreal Engine4 — PostProcess эффект сканирования В эти выходные у меня появилось немного свободного времени между занятиями (прим. автор на момент статьи получал степень магистра наук), и я решил вернуться к созданию шейдеров, придумав этот postprocess эффект сканирования. Я представил, что он используется в игре как сво...

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

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

[Перевод] Новый курс по Python от Microsoft [на английском] Вероятно, самое большое препятствие при изучении любого нового языка программирования — просто знать, с чего начать. Что важно? Что нужно знать, чтобы стать профи? Трудно исследовать документы, когда даже нет уверенности, что читаешь то, что нужно. Возможно, вы присматривае...

10++ способов работать с аппаратными регистрами на С++ (на примере IAR и Cortex M) Рис. И. Кийко Всем доброго здравия! Помните наверное бородатый анекдот, а может быть и правдивую историю про то, как студента спрашивали о способе измерить высоту здания с помощью барометра. Студент привел, по-моему около 20 или 30 способов, при этом не назвав прямого(ч...

[Перевод] Двустороннее связывание Angular, чуть больше понимания От переводчикаОт переводчика: два года назад я начал свой первый проект на Angular(2+), имея большой и успешный бэкграунд AngularJS. Переход потребовал заметного форматирования мышления, поскольку слишком много на A1 и A2+ делается «чуть-чуть по другому». Болезненность перех...

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

Новое приложение от Microsoft помогает учить язык, используя камеру вашего смартфона Восемь стажеров из Microsoft разработали новый инструмент для изучения языка, который призван помочь людям разных возрастов выучить на нужном языке названия предметов из окружающего мира. Чтобы при помощи приложения, получившего название Read My World, выучить более 1500 сл...

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

Обзор главных событий 2018 года. Процессоры и платформы В 2017 году компания AMD вывела на рынок долгожданные процессоры на архитектуре Zen, выставив Intel в роли догоняющей и заставив её в спешке подготовить ответ. Отголоски этого события можно было наблюдать и в...

[Перевод] Вышли обновления ML.NET и Model Builder: что нового Мы рады сообщить о выходе обновлений Model Builder и ML.NET. ML.NET — это кроссплатформенная среда машинного обучения с открытым исходным кодом (Windows, Linux, macOS) для разработчиков .NET. ML.NET предлагает Model Builder (простой инструмент пользовательского интерфейса)...

[Перевод] Что такое Strict Aliasing и почему нас должно это волновать? Часть 2 (ИЛИ каламбур типизации, неопределенное поведение и выравнивание, о мой Бог!) Друзья, до запуска нового потока по курсу «Разработчик С++», остается совсем немного времени. Пришло время опубликовать перевод второй части материала, в которой рассказывается о том, что такое ка...

[Перевод] «Алгебраические эффекты» человеческим языком Комментарий от переводчика: Это перевод замечательной статьи Дэна Абрамова (Dan Abramov), являющегося контрибутором React. Его примеры написаны для JS, но будут одинаково понятны разработчикам на любом языке. Идея общая для всех. Вы слышали об алгебраических эффектах? Мои п...

[Из песочницы] Arduino и прерывания таймера Привет, Хабр! Представляю вашему вниманию перевод статьи "Timer interrupts" автора Предисловие Плата Arduino позволяет быстро и минимальными средствами решить самые разные задачи. Но там где нужны произвольные интервалы времени (периодический опрос датчиков, высок...

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

AWS Lambda — теория, знакомство Краткий экскурс в AWS Lambda Что это? AWS Lambda: это вычислительный сервис, который позволяет запускать код практически для любого типа приложения или серверной службы — и все это без необходимости администрирования. AWS Lambda выполняет все администрирование за вас, включа...

Apple выпустит MacBook c 5G в 2020 году? Компания Apple может представить новые MacBook с поддержкой сетей пятого поколения уже в 2020 году. Такое предположение выдвинули журналисты издания DigiTimes. Если эта информация соответствует действительноcти, это будут первые ноутбуки Apple со встроенным модулем сотовой ...

[Перевод] Авария Boeing 737 Max глазами разработчика ПО Представляю вашему вниманию перевод статьи «How the Boeing 737 Max Disaster Looks to a Software Developer» Грега Трэвиса. Речь пойдет о том, как желание Боинга сэкономить и «срезать углы» для коммерческой выгоды, а также культура «некомпетентности и неэтичности» в сообществе...

[Перевод] Введение в Spring Boot Actuator Салют, хабровчане! Уже через неделю стартуют занятия в новой группе курса «Разработчик на Spring Framework». В связи с этим делимся с вами полезным материалом в котором рассказано о том, что такое Spring Actuator и чем он может быть полезен. Что такое Spring Actuator? К...

[Из песочницы] Ограничения машинного обучения Привет, Хабр! Представляю вашему вниманию перевод статьи “The Limitations of Machine Learning“ автора Matthew Stewart. Большинство людей, читающих эту статью, вероятно, знакомы с машинным обучением и соответствующими алгоритмами, используемыми для классификации или прогнози...

Установка и настройка Nexus Sonatype используя подход infrastructure as code Sonatype Nexus – интегрированная платформа, с помощью которой разработчики могут проксировать, хранить и управлять зависимостями Java (Maven), образами Docker, Python, Ruby, NPM, Bower, RPM-пакетами, gitlfs, Apt, Go, Nuget, а также распространять свое программное обеспечение...

[recovery mode] Как я свою онлайн игру создавал. Часть 1: Работа с сетью Привет всем! У меня недавно был отпуск, и появилось время спокойно попрограммировать свои домашние проекты. Захотел я, значит, свою простенькую онлайн игру сделать на Rust. Точнее, простенькую 2D стрелялку. Решил сначала сделать сетевую часть, а там уже видно будет, что да...

Техносфере пять лет Сегодня проект Техносфера празднует своё пятилетие. Вот наши достижения за эти годы: Обучение завершили 330 выпускников. На курсе обучается 120 студентов. Занятия ведут 30 преподавателей. В учебной программе 250 занятий по 16 дисциплинам. Ученики выполняют 71 ДЗ. 8000 по...

Тёмный режим — новый тренд? Тёмный тема – вещь довольно полезная, она станет трендовой в 2019 году. Хотя даже сейчас прослеживается стремление компаний внедрять её в свои сервисы. Конечно, пока проблема заключается в разработчиках сайтов, которые используют лишь один светлый шаблон, однако в будущем, ...

[Перевод] Панели Grafana для администрирования Kubernetes Всем привет! Сегодня мы продолжаем делиться материалом, переведенным специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Приятного прочтения. Читать дальше →

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

KubeCon Europe 2019: Как мы впервые посетили главное событие по Kubernetes На прошлой неделе, 19—23 мая, в Барселоне проходила главная европейская конференция по Kubernetes и связанным технологиям, одно из крупнейших Open Source-событий в мире — KubeCon + CloudNativeCon Europe 2019. Мы впервые приняли участие в ней, став серебряным спонсором меропр...

Черное Зеркало своими руками — обучаем бота на базе своей истории чатов В "Черном Зеркале" была серия (S2E1), в которой создавали роботов, похожих на умерших людей, используя для обучения историю переписок в социальных сетях. Я хочу рассказать, как я попробовал сделать что-то подобное и что из этого получилось. Теории не будет, только практика. ...

[Перевод] Управляем асинхронностью в PHP: от промисов к корутинам Что такое асинхронность? Если кратко, то асинхронность означает выполнение нескольких задач в течение определенного промежутка времени. PHP выполняется в одном потоке, что означает, что в любой момент времени может выполняться только один фрагмент PHP-кода. Это может показа...

Разработка цифровых продуктов с помощью ментальных моделей Привет, Хабр! Предлагаю вашему вниманию перевод статьи Designing Digital Products with Mental Models автора дизайнера Тима Шеинера. Лучший способ добиться взаимопонимания в проектной команде. Перевод — это сложно Когда-то, путешествуя по Индии, я купил недорогую книжку — ...

Исполнительный директор Huawei: если сервисы Google не будут доступны из-за санкций, то в Huawei P40 будет использоваться HarmonyOS Google не может запретить использовать Huawei ОС Android, так как та распространяется в рамках Android Open Source Project, однако сервисы Google — предмет другого рода. Как раз их Huawei может лишиться: поговаривают, что Mate 30, дебютирующие 19 сентября, не полу...

Выпущено новое накопительное обновление для Windows 10 May 2019 Update (18362.145) Компания Microsoft выпустила новое накопительное обновление для Windows 10 May 2019 Update (версия 1903) для участников программы Windows Insider, использующих каналы Slow и Release Preview. Обновление распространяется под кодом KB4497935 и изменяет номер сборки системы на ...

[Перевод] Почему, зачем и когда нужно использовать ValueTask Этот перевод появился благодаря хорошему комментарию 0x1000000. В .NET Framework 4 появилось пространство System.Threading.Tasks, а с ним и класс Task. Этот тип и порождённый от него Task<TResult> долго дожидались, пока их признают стандартами в .NET в роли ключевых а...

[Перевод] Обновления ML.NET Model Builder ML.NET -- это кроссплатформенный фреймворк машинного обучения для .NET-разработчиков. А Model Builder -- это инструмент пользовательского интерфейса в Visual Studio, который использует Automated Machine Learning (AutoML), чтобы легко обучать и использовать пользовательские м...

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

[Из песочницы] Тестирование пользовательского функционала вебсайта с помощью Capybara page objects Page Objects могут быть использованы как мощный метод абстракции (изоляции) ваших тестов от технической реализации. Важно помнить, их (Page Objects) можно использовать для увеличения стабильности тестов и поддержания принципа DRY (do not repeat yourself) — посредством инкапс...

VMmanager 6: представляем коробку и сравниваем с предыдущим поколением 8 октября вышла коробочная версия VMmanager 6 — новой панели управления виртуализацией. Теперь её можно установить на сервер и использовать для продажи виртуальных машин или управления собственной инфраструктурой. В этой статье сравним новое поколение с предыдущим — VMmana...

PHP-библиотеки для e-commerce: работа с АТОЛ и Payture, парсинг кодов GS1 и другие задачи Привет, меня зовут Павел Савельев, я руководитель отдела автоматизации бизнес-процессов в Lamoda. Мы работаем с очень разными задачами, и стараемся подобрать для каждой наиболее удобный инструментарий. Соответственно, мы используем разные языки — в наших системах можно встре...

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

[Перевод] Доступное объяснение алгоритма коллапса волновой функции Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные. (Источник) Чаще всего он используется для создания изображений, но ...

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

[Из песочницы] Лицензия для проектов с открытым исходным кодом, которая обязывает пользователей «не причинять вред» Привет, Хабр! Представляю вашему вниманию перевод статьи «An Open Source License That Requires Users to Do No Harm» автора Klint Finley. Китай использует технологии распознавания лиц, чтобы вычислять уйгурских мусульман. Военные США используют дроны для убийства подозрева...

Платформа для создания игр HiberWorld теперь доступна на устройствах с сенсорным экраном Игры, в которых можно создавать свои собственные игры, — довольно популярный жанр. Та же Roblox летом 2019 года обогнала Minecraft по количеству активных пользователей в месяц с показателем 100 млн. HiberWorld — не столь популярная платформа, но она позволяет перенести проц...

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

[Перевод] Лучшая архитектура для MVP: монолит, SOA, микросервисы или бессерверная?.. Часть 1 В ноябре OTUS запускает новую образовательную программу «Архитектор ПО», в связи с этим подготовили серию публикаций для будущих студентов курса и читателей нашего блога. Создание нового продукта всегда связано с риском. И выбор правильной архитектуры — важный шаг на пути...

[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0 Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee. Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают ...

Часть 4. Модель вычисления логических функций по графу для асинхронных параллельных процессов Перейдем к вычислению логических функций по графу для более широкого класса поведений. Будем рассматривать циклические автономные поведения, не содержащие кратных сигналов (или по другому: не содержащие индексированных событий). Еще одно ограничение: для удобства не будем ра...

Автоматизируем переход на React Hooks React 16.18 — первый стабильный релиз с поддержкой react hooks. Теперь хуки можно использовать не опасаясь, что API изменится кардинальным образом. И хотя команда разработчиков react советует использовать новую технологию лишь для новых компонентов, многим, в том числе и мне...

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

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

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

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

[Перевод] Что не так с A/B тестированием Мы подготовили для читателей Хабры перевод статьи Майкла Камински, бывшего директора по аналитике в Harry’s. Он рассуждает о том, что не так с A/B тестированием. Комментирует материал Глеб Сологуб, директор по аналитике Skyeng. Понятие A/B-тестирования основано на в корне ...

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

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

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

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

[Перевод] JDK 9/JEP 280: конкатенация строк никогда больше не будет прежней И снова здравствуйте. Как мы уже писали, на следующей неделе стартует новая группа обучения по курсу «Разработчик Java», по устоявшейся традиции делимся с вами переводом интересного материала по теме. Начиная с JDK 9 конкатенация строк претерпела значительные изменения. JE...

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

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

Нужен ли вашей команде Data Engineer? Мы часто находим классные англоязычные статьи, которые кажутся полезными нашей команде, и решили, что было бы здорово делиться с читателями Хабры их переводом. Сегодня мы подготовили перевод статьи Тристана Хэнди, основателя компании Fishtown Analytics. Читать дальше →

Как работает «Войти с Apple» в iOS 13 В рамках презентации iOS 13 Apple показала еще одну функцию — «Войти с помощью Apple». Это специальная кнопка, которая позволяет пользователю iOS 13 авторизоваться в приложении по аналогии с аккаунтом Google, Twitter или Facebook. Другими словами, войти в то или иное ...

Представляем Tartiflette: реализацию GraphQL с открытым исходным кодом для Python 3.6+ Друзья, в преддверии майских праздников мы решили не заваливать вас сложными техническими статьями, поэтому нашли довольно интересный, а главное, легкий в прочтении материал, переводом которого с радостью делимся с вами. Данный материал мы хотим приурочить к запуску курса «W...

Автостопом по доступности: Ссылки для пропуска навигации и секции Привет, Хабр. Предлагаю вашему вниманию перевод статьи «The Hitchhiker’s Guide to Accessibility: Skiplinks and Landmarks» автора Attila Vágó о паре незаменимых инструментов UI и их особенностях. Ссылки для пропуска навигации (далее skiplinks) — невоспетые герои каждого уважа...

Amazon добавила возможность компаниям создавать голосовые команды Amazon запустила Alexa for Business, и теперь позволяет бизнес компаниям создавать голосовые команды для использования их в офисе. Участники могут использовать один из десятков шаблонов для создания своих собственных голосовых команд в Alexa без необходимости писать код....

Заворачиваем весь трафик ОС в Tor Все описанное в статье реализовано в виде инструмента Toroxy, доступного на GitHub В последнее время анонимность в сети является предметом горячих споров. Ни для кого не секрет, что данные о посещениях Интернет-ресурсов с локального устройства могут собираться на разных у...

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

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

Прикручиваем ngx-translate в Angular приложение. Практическое пошаговое руководство Практическая пошаговая инструкция как прикрутить динамическую локализацию (возможность выбора языков) в веб приложении на Angular 4+ используя @ngx-translate/core. В принципе можно найти публикации на подобную тему, может быть достаточно самой документации этой библиотеки, н...

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

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

Синглтон размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4) В предыдущей статье Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора), был разобран вопрос о том, как расположить константные объекты в ROM. Теперь же я хочу рассказать, как можно использовать порождающий шаблон одиночка для создания ...

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

Для связи контроллеру Google Stadia к смартфону все еще нужен кабель Сервис Google Stadia будет запущен 19 ноября и вам понадобится USB-кабель, если вы хотите играть на своем телефоне, Chromebook или компьютере. Это означает, что переключение между устройствами во время игры будет не таким гладким, как предполагалось. Отличительной черт...

[Перевод] Руководство по логированию в Node.js Первая задача, с которой чаще всего сталкиваются разработчики, начинающие программировать на JavaScript, – как регистрировать события в журнале консоли с помощью метода console.log. В поисках информации по отладке кода на JavaScript вы найдёте сотни статей в блогах, а также...

[Перевод] Повышаем производительность разработки на примере Vue — часть 2 Если вы не читали Часть 1, вы можете исправить сиё недоразумение здесь. Переиспользование конфигураций Новая библиотека vue-cli-3 избавила от необходимости поддерживать сложные шаблоны сборки и конфигураций. Вместо этого она позволяет разработчику сосредоточиться на создании...

[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?». Таким был и...

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

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

Переходите к безопасной 2FA на блокчейне СМС-сообщения — популярнейший способ двухфакторной аутентификации (2FA). Ее используют банки, электронные и крипто-кошельки, почтовые ящики и всяческие сервисы; число пользователей метода приближается к 100%. У меня такой расклад событий вызывает негодование, ведь этот мето...

[Перевод] Как обучать детей правильно пользоваться технологиями, если в вашем детстве такого не было? Привет, Хабр! Предлагаю вашему вниманию перевод статьи "Children's Exposure to Digital Technology Causes Parental Anxiet" от Kim Flaherty и Kate Moran. Читать дальше →

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

Google Pixel Watch. Все, что известно на данный момент Какими будут Google Pixel Watch? В последнее время Google вплотную занялась улучшением своей операционной системы для мобильной электроники Wear OS. Значит ли это, что поисковый гигант работает над долгожданными смарт-часами, которым пророчат название Google Pixel Watch? Впо...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 2 Продолжаем разговор про 3Д шутер за выходные. Если что, то напоминаю, что это вторая половина: Часть первая: отрисовка стен Часть вторая: населяем наш мир + оконный интерфейс Как я и говорил, я всеми силами поддерживаю желание в студентах делать что-то своими руками. В ча...

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

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

PhpStorm 2019.3: поддержка PHP 7.4, PSR-12, WSL, MongoDB и многое другое Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году! Обзор релиза можно посмотреть на странице “What’s new”. А под катом — подробный разбор всех заметных изменений и новых возможностей. Осторожно — очень много картинок. Скачать новую версию мож...

Что ты такое, Event Loop? Или как устроен цикл событий в браузере Chrome Как думаете, что произойдет, если запустить в консоле браузера этот фрагмент кода? function foo() { setTimeout(foo, 0); } foo(); А этот? function foo() { Promise.resolve().then(foo); } foo(); Если вы также как и я, прочитали кучу статей про Event Loop, Main Thread,...

[Из песочницы] Prometheus + Grafana + Node Exporter + Docker в Azure c уведомлениями в Telegram Для начала подготовим виртуальную машину, для этого напишем небольшой скрипт, который разворачивает и автоматизирует некоторые рутинные операции, скрипт использует Azure Cli: project.sh#!/bin/bash echo "AZURE VM Create" echo "Azure Account:" echo "Az...

[Из песочницы] Выпуск Rust 1.34 Привет, Хабр! Представляю вашему вниманию перевод статьи "The Rust Release Team "Announcing Rust 1.34.0". Команда разработчиков Rust рада сообщить о выпуске новой версии Rust, 1.34.0. Rust — это язык программирования, который даёт возможность каждому создавать...

Конструирующий XPath? Алгоритмический XPath? Ничего, кроме XPath Здравствуйте, уважаемые читатели. В этой публикации речь пойдет о немного нестандартных применениях такого хорошо известного формализма как XPath. Все знают, что он очень удобен для извлечения информации из XML- или HTML- или еще каких-нибудь *ML-документов (как простых текс...

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

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

Онлайн-курс «Проджект менеджмент 101» Бесплатный онлайн-курс по управлению проектами для начинающих. Программа курса «Проджект менеджмент 101» 1. Проект и ограничения проекта: Что следует называть проектом? Почему проект и продукт это рядом, но разное? Что такое ограничения проекта и...

Хорошее не бывает дешёвым. Но бывает бесплатным В этой статье я хочу рассказать о Rolling Scopes School – бесплатном курсе по JavaScript / фронтенду, который прошла, и который мне очень понравился. Узнала я об этом курсе случайно, информации в сети о нём, на мой взгляд, немного, а курс отличный и заслуживает внимания. Дум...

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

Предлагаемые изменения в Chromium нарушат работу uBlock Origin Разработчик uBlock Origin заявил, что его расширение для блокировки рекламы не сможет работать, если будут приняты изменения в Chromium. Речь идёт о внедрении declarativeNetRequest API, которые лишают возможности использовать webRequest API. Google считает, что изменения нео...

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

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

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

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

Используем статические ссылки на свойства объектов при помощи лямбд Так уж исторически сложилось, что в Java для свойств объектов (properties) не предусмотрено никакой физической сущности. Свойства в Java — это некоторые соглашения в именовании полей и методов доступа к ним (аксессоров). И, хотя наличие физических свойств в языке упростило б...

Что в черном ящике. Обзор методов тестирования биллинга Проверка платных сервисов — один из ключевых инженерных вопросов в тестировании Badoo. Наше приложение интегрировано с 70 платёжными провайдерами в 250 странах мира, и баг хотя бы в одном из них может привести к непредсказуемым последствиям.  В этой статье я расскажу о мето...

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

Террасофт приглашает на крупнейшее и самое эффектное онлайн-событие в истории компании Террасофт, разработчик ПО для управления бизнес-процессами и CRM, меняет название платформы и приглашает на эффектную презентацию обновлений. 30 октября зрителей ждет захватывающее экстремальное шоу — специально для этого события 160 сотрудников компании стали скайдайверами!...

Коллаборация Samsung и Tesla. Корейский гигант может выпустить смартфон Galaxy Note10 Tesla Edition Производители смартфонов порой используют именитые автомобильные бренды для продвижения своих устройств. Никакого отношения к созданию смартфонов, конечно, автогиганты не имеют, но некоторым пользователям просто нравятся такие довольно редкие версии привычных флагманов....

Авторский курс по обучению Ардуино для собственного сына Здравствуйте! Прошлой зимой я рассказывал на страницах Хабра о создании робота-«охотника» на Ардуино. Я занимался этим проектом со своим сыном, хотя, по сути, 95% всей разработки осталось за мной. Робота мы доделали (и уже, кстати, разобрали), но после этого возникла новая ...

МТС и HackerU подготовят специалистов Big Data Обучающая программа ориентирована на студентов старших курсов IT-факультетов, системных администраторов, backend-разработчиков, системных аналитиков и IT-специалистов, имеющих знания в области математики и алгоритмизации. Основная цель курса - подготовить специалистов по одн...

[Из песочницы] Как одно изменение конфигурации PostgreSQL улучшило производительность медленных запросов в 50 раз Здравсвуйте, хабровчане! Предлагаю вашему вниманию перевод статьи «How a single PostgreSQL config change improved slow query performance by 50x» автора Pavan Patibandla. Она очень сильно мне помогла улучшить производительность PostgreSQL. В Amplitude наша цель — предоставит...

Google занялась разработкой собственного процессора Компания Google занимается разработкой не только софта, но и аппаратного обеспечения. Так, Google предлагает потребителям смартфоны линейки Pixel, ноутбуки на Chrome OS, устройство для трансляции фильмов Chromecast, продукты умного дома и так далее. Но вот чего действительн...

Windows 10 + Python = VS Code + WSL Microsoft… Технологических локомотивов нашего времени. Ни для кого не секрет что они крутые, а также, что они поглощают все больше и больше… Всего. К счастью последнее время они только радуют меня своим потенциалом. А после выступления Satya Nadella, где он рассказал миру о...

[Из песочницы] События на базе LiveData Android LiveData – это отличный инструмент для связывания состояния ваших данных и объектов с жизненным циклом (LifecycleOwner, обычно это Fragment или Activity). Обычно LiveData помещаются во ViewModel и используются для обновления состояния вашего UI. Часто ViewModel может пережи...

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

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

Беспроводная настройка Raspberry PI 3 B+ Привет, несколько месяцев назад, приобрел себе малинку, с целью попрактиковатся в embedded-типа разработке. Я уверен, много людей знакомых из Raspberry полагают, что для первоначального запуска микрокомпьютера нужен как минимум RJ45 или монитор, клавиатура и мышь (что лучше...

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

Cisco Connect 2019. Цифровизация во главе угла На днях в Москве в ЦВК «Экспоцентр» прошла очередная ежегодная конференция Cisco Connect – 2019. В ходе мероприятия, состоявшего из пленарного заседания и целого ряда технологических секций, состоялся обстоятельный диалог между представителями компаний – разработчиков и прои...

[Перевод] Синхронный Запрос-Ответ с использованием Apache Kafka Архитектуры, управляемые событиями (Event Driven Architecture), в целом, и Apache Kafka, в частности, привлекли в последнее время большое внимание. Для реализации всех преимуществ архитектуры, управляемой событиями, механизм делегирования событий должен быть по своей сути ас...

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

Причины бросить Mac OS и выбрать Linux Если вы выбираете между Mac OS и Linux, то этот пост будет для вас. Подробно расписал — продолжать использовать Linux или переключиться на Mac OS. И Linux, и Mac OS являются Unix-подобными ОС и предоставляют доступ к командам Unix, а также к оболочкам bash и прочим. В срав...

Искусственный интеллект подготовит школьников к ЕГЭ Робот-репетитор будет вести курсы ЕГЭ, используя результаты своих исследований о взаимодействии людей и машин. Алантим составит программу занятий с учетом распространенных ошибок на экзаменах. "Учебный план будет гибким, но акцент сделаю на самых сложных темах, - расск...

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

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

[Из песочницы] Celery taskcls: новый декоратор, новые возможности Привет, Хабр! Я расскажу тебе историю своего профессионального подгорания. Так вышло, что я терпеть не могу рутинных однообразных действий. У меня за плечами несколько проектов, использующих Celery. Каждый раз, когда задача становится сложнее вывода 2 + 2 = 5, шаблон решения...

Видеокарта Nvidia GeForce GTX 1650 выйдет в марте, получит 4 ГБ памяти и GPU частотой 1485 МГц Завтра Nvidia должна официально представить видеокарту GeForce GTX 1660 Ti, ну а пока до этого события еще остается кое-какое время, источник предлагает внимательнее присмотреться к модели GeForce GTX 1650, которая выйдет в следующем месяце. Согласно новым данным, GeFo...

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

[Перевод] Mozilla собирается использовать WASI для всех устройств, компьютеров и операционных систем Всем привет! На связи TestMace и мы продолжаем знакомить вас с самыми горячими новостями из мира JavaScript. На очереди перевод статьи о WASI — технологии, которая позволит использовать WebAssembly вне браузеров Один формат, чтоб править всеми Компания Mozilla на этой недел...

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

[Перевод] Конференция DEFCON 19. Три поколения DoS-атак (с участием аудитории в качестве жертв). Часть 1 Меня зовут Сэм Боун, я здесь, чтобы поговорить с вами о DoS-атаках, и вы мне в этом поможете. Мы немного поговорим о хактивистах, которые использовали такие атаки, потому что я нахожу их интересными. Они наглядно показывают, сколько вреда вы можете нанести различными видами ...

[Перевод] Java Challengers #4: Сравнение объектов с equals() и hashCode() Java Challengers #4: Сравнение объектов с equals() и hashCode() В преддверии запуска нового потока по курсу "Разработчик Java" мы продолжаем перевод серии статей Java Challengers, предыдущие части которых можно прочитать по ссылкам ниже: Перегрузка методов в JVM Сравнение с...

[Перевод] Профессии будущего: «Кем вы будете работать на Марсе?» «Пилот реактивного ранца» — это «профессия прошлого», ей 60 лет. «Разработчик реактивных ранцев» — 100 лет. «Инструктор школьного курса по конструированию реактивных ранце»в — профессия настоящего, делаем сейчас. А какая профессия будущего? Тампер? Археопрограммист? Диза...

Дайджест событий для HR-специалистов в сфере IT на сентябрь 2019 Вот и подошло к концу яркое, жаркое и наполненное впечатлениями лето, впереди сентябрь — пора back to school и back to work. И вот уже появились грустные мысли о том, что прошло очередное лето и что его не вернуть… Ну и не надо! Не оглядывайтесь назад, смело идите вперёд, ...

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

В macOS Catalina можно подписывать документы с помощью iPhone и iPad Подпись цифровых документов — дело достаточно муторное. Как правило, чтобы подписать PDF-файл, его нужно сначала распечатать, а уже потом, подписанный, отсканировать. Apple заметно упростила эту процедуру на Mac, но раньше для подписи документов в «Просмотре» был нуже...

[Перевод] Ищем утечки памяти в приложениях на Python Ola! мы продолжаем серию публикаций приуроченных к запуску курса «Web-разработчик на Python» и прямо сейчас делимся с вами переводом еще одной интересной статьи. В Zendesk мы используем Python для создания продуктов с машинным обучением. В приложениях с использованием машин...

[Перевод] Пользователи и авторизация RBAC в Kubernetes Прим. перев.: Продолжая недавно затронутую нами тему безопасности Kubernetes в целом и RBAC — в частности, публикуем перевод этого материала от французского консультанта из международной компании Big Data-компании Adaltas. Автор в деталях показывает, как создавать пользовате...

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

[Перевод] Вышел ML.NET 1.0 RC. Что нового? ML.NET — это кроссплатформенная среда машинного обучения с открытым исходным кодом (Windows, Linux, macOS) для разработчиков .NET. Работая с ML.NET, разработчики могут использовать существующие инструменты и навыки для разработки и внедрения AI в свои приложения, создавая по...

Запускаем инспекции IntelliJ IDEA на Jenkins IntelliJ IDEA на сегодня обладает наиболее продвинутым статическим анализатором кода Java, по своим возможностям оставившим далеко позади таких «ветеранов», как Checkstyle и Spotbugs. Её многочисленные «инспекции» проверяют код в различных аспектах, от стиля кодирования до х...

Смартфон iPhone XI Max может получить экран OLED производства LG Компания Apple использует в своих смартфонах iPhone X/XS экраны Samsung. Только что мы говорили о том, что Apple не выкупила у партнёра необходимое количество экранов, из-за чего ей грозит крупный штраф. Как сообщают источники, в новом поколении iPhone могут использова...

Как создавать мемы на Android Создавать мемы на смартфоне — легко! Знаете ли вы, что мемы, которые так популярны в социальных сетях, по одной из теорий, были созданы Гарри Фрисом в 1970-х годах? Он любил фотографировать своих кошек, а затем придумывал к фотографиям забавные надписи и создавал таким...

Нормализация данных в распределенной БД, микросервисах и ERP Привет, Хабр! Эта маленькая заметка родилась в процессе обсуждения статьи «Распределенные монолиты...», а поскольку тема требует дальнейшего раздумья — я решил зафиксировать ее у себя в блоге. Автор статьи фактически описывает распределенную базу данных, доказывая, что един...

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

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

PHP Composer: фиксим зависимости без боли Многие из вас наверняка сталкивались с ситуацией, когда в библиотеке или фреймворке, который вы используете, есть баг или нет необходимой функциональности. Предположим, вы даже не поленились и сформировали pull request. Но примут его далеко не сразу, а следующий релиз продук...

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

[Из песочницы] Получаем Spring Bean из сторонних Application Context правильно Добрый день, хабровчане! В данной статье предлагаю обсудить одну из проблем, с которой нередко сталкиваются в проектах, использующих фреймворк Spring ввиду неверно составленных spring-конфигураций. Не нужно стараться, чтобы такую ошибку допустить, и поэтому данная ошибка яв...

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

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

ОС Фантом: оконная подсистема — делаем контролы Сегодня речь пойдёт о том, как устроен графический UI Фантома. (Что такое ОС Фантом можно узнать, прочитав вот эти статьи.) Точнее — как этот графический UI появился на свет. Ибо долгое время у Фантома был только графический вывод — донести системе что-либо с помощью мышки...

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

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

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

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

Нейронные сети предпочитают текстуры и как с этим бороться В последнее время вышло несколько статей с критикой ImageNet, пожалуй самого известного набора изображений, использующегося для обучения нейронных сетей. В первой статье Approximating CNNs with bag-of-local features models works surprisingly well on ImageNet авторы берут м...

Калькулятор TI-89 Titanium и его программирование на C Не так давно на Хабре была статья про графический калькулятор TI-83, и, поскольку я являюсь обладателем TI-89 Titanium — калькулятором следующего поколения от Texas Instruments, под катом я решил рассказать про него, и показать, как для этого калькулятора можно создавать сво...

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

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

[Из песочницы] Создание сторис для Instagram из PHP Вступление В последнее время люди более охотно смотрят в социальных сетяx видео, нежели просматривают фотографии. Сторис в инстаграм набирает в 3-4 раза больше просмотров, чем просто выложенная фотография. Ну и конечно же, не перестаём забывать, что социальные сети это не т...

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

[Перевод] Postgres в ретроспективе Предлагаем вашему вниманию перевод статьи Джозефа Хеллерштейна «Looking Back at Postgres», опубликованной в соответствии с международной лицензией Creative Commons «С указанием авторства» версии 4.0 (CC-BY 4.0). Авторы оставляют за собой право распространять эту работу на ли...

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

[Перевод] 5 продвинутых техник тестирования на Go Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали! Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишите на Go, то вы уже это знаете. В этой статье мы поговори...

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

Почему мы используем GraphQL в 8base Друзья, всем привет! Эта статья в первую очередь будет интересна фронтенд-разработчикам, особенно тем кому актуальна тема GraphQL, но в то же время я надеюсь, что она будет полезна и бэкенд-разработчикам и поможет им понять преимущества GraphQL глазами фронтендера. Читать...

[Из песочницы] Быстрый Яндекс словарь Наверное все знают что у Яндекс есть замечательный бесплатный сервис Яндекс.Словарь где можно посмотреть перевод нужного вам слова, но для лично меня он не удобен тем что постоянно нужно было переключаться на Chrome, вручную вводить текст или вставлять из буфера обмена, даже...

[Из песочницы] JavaScript в 3D: введение в Three.js Привет, Хабр! Представляю Вашему вниманию перевод статьи «JavaScript in 3D: an Introduction to Three.js» автора Брета Кемерона (Bret Cameron). Введение Three.js это мощный инструмент. Он помогает использовать 3D дизайн в браузере с приемлемой производительностью. По нач...

Замена Action URL & URI в SIP-телефонах или управление via websockets? SIP-телефоны. Компьютеры с трубкой. По идее с ними очень многое можно что делать, а их используют только для звонков :-) Недавно был на конференции АстерКонф, и там вендоры рассказывали о своих телефонах, не будем никого выделять, все хороши, где-то лучше, где-то дешевле, п...

Создаём библиотеку по последнему слову техники Привет, Хабр. Это статья о том как написать Hello world по последнему слову техники. В конце мы получим hello world библиотеку которая: Использует typescript Заботится о codestyle Генерирует доку Проводит тесты Читать дальше →

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

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

[recovery mode] Опыт разработки и внедрения систем объектовой видеоаналитики на СХД СХД – это системы хранения данных, сервера или иные устройства с большим количеством установленных дисков и системами быстрого доступа к ним с гарантией сохранности информации (например, аппаратные или программные RAID-контроллеры). Если речь идёт про хранение видео с нескол...

ФТС подготовила предложения по регулированию странами интернет-торговли Например, Россия предлагает пересмотреть подходы к оценке эффективности работы таможен, используемые сейчас при составлении рейтинга Doing Business. Федеральная таможенная служба подготовила предложения по регулированию странами интернет-торговли, сообщает &laquo;Комм...

Основы движков JavaScript: общие формы и Inline кэширование. Часть 1 Привет, друзья. В конце апреля мы запускаем новый курс «Безопасность информационных систем». И уже сейчас хотим поделиться с вами переводом статьи, которая непременно будет очень полезной для курса. В статье описаны ключевые основы, они являются общими для всех движков Jav...

Студент создает сложные электронные протезы из Lego Используя псевдоним HandSolo на Youtube, Агилар проектирует для себя протезы с 9 лет. Будучи студентом Международного университета Каталонии в Испании, гражданину Андорры не нужно постоянно полагаться на протезы. Но, как показывает его канал на YouTube, иногда протез — это е...

В Hearthstone стартует событие «Страх и прах»: три недели, полные интересных занятий Весь сентябрь мы рассказывали об одиночном приключении «Гробницы ужаса» в карточной игре Hearthstone. Но разработчики на этом не останавливаются и предлагают новый контент для игроков. Уже в 20:00 8 октября вы сможете спуститься в проклятую гробницу в рамках испытания «Стра...

[Из песочницы] Умная лампа Привет, Хабр! Предлагаю вашему вниманию перевод статьи «DIY Smart Lamp» автора Maciej Matuszewski. Пошаговое руководство по переходу от придуманной идеи к работающему продукту. Ожидание против реальности Вы когда-нибудь задавали себе следующие вопросы? Может ли горяч...

Samsung отказывается от разработки собственных ядер для мобильных платформ, Exynos 9830 уже никогда не догонит Snapdragon 865 Samsung наравне с Qualcomm модифицировала ядра Arm для своих мобильных платформ, в основном – топовых. Однако теперь эта практика завершается: компания полностью переходит на использование лицензионных ядер Arm, а научно-исследовательский центр, в котором над зада...

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

[Перевод] Как исследователи в Uber применяют и масштабируют знания о поведении человека Мы подготовили для читателей Хабры перевод статьи команды Uber Labs. Коллеги из Uber описывают процесс работы аналитиков узкоспециализированного типа (в области науки о поведении) в рамках огромной корпорации, как устроено их взаимодействие с аналитиками других типов (UX-и...

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

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

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

Zero Bug Policy. Нет багов — нет проблем? Кто про что, а я про баги. В прошлом году я рассказывала вам про Багодельню — мероприятие, проводимое у нас в компании для чистки бэклога багов. Событие хорошее и полезное, но решающее проблему с багами разово. Мы провели уже шесть Багоделен, но количество участников постепе...

Стоит ли ждать мобильную Destiny теперь, когда Bungie «свободна»? Самым громким событием прошлой недели в игровой индустрии стало отделение разработчика Bungie от издателя Activision. Первый при этом оставляет за собой права на франшизу Destiny. На фоне этих новостей стоит вспомнить события прошлого июня, когда небезызвестная NetEase, дел...

Безопасность контейнеров в CI/CD На дворе наступила осень, во всю бушует техноутопия. Технологии стремительно рвутся вперед. Мы носим в кармане компьютер, вычислительная мощность которого в сотни миллионов раз больше мощности компьютеров, управляющих полетами на Луну. С помощью Youtube VR мы можем плавать в...

Изучение английского — непопулярное мнение Всем привет. Очередная статья от «курсов изучения английского» сподвигла меня написать свои заметки. Этой статьёй я надеюсь ответить на некоторые вопросы изучающих язык и отговорить от глупых советов «запомнить вот эти 10/15/20 слов/конструкций», которые подаются как некие ...

[Перевод] Дизайн низкополигональных персонажей Персонаж — это личность. Без истории нет индивидуальности. Каждый хороший персонаж начинается с истории, а дизайн персонажа должен рассказать эту историю. В своей предыдущей статье How To Make Low Poly Look Good я говорил, что главная цель низкополигонального (low poly) ди...

Разговорный BERT — учим нейросеть языку соцсетей Одним из главных событий в области компьютерной лингвистики и машинного обучения в 2018 году был выпуск BERT от Google AI, который признан лучшим докладом года по мнению североамериканского отделения Ассоциации компьютерной лингвистики (NACL). В этой статье мы расскажем об э...

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

GitHub запускает свои щупальца в CI/CD и менеджмент артефактов В мае 2019 года GitHub анонсировала выход сервиса Package Registry. Вслед за этим, уже в августе, была анонсирована поддержка CI/CD в Actions. В статье я расскажу, что это за сервисы и как это можно использовать на примере небольшого пет-проекта на GitHub. Читать дальше →

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

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

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

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

Как сделать свой 3D-аватар на любом Android-смартфоне Если у вас смартфон на Android и при этом вы смотрите с завистью на владельцев iPhone из-за того, что они могут создавать свои 3D-аватарки, сейчас же прекратите. У обладателей смартфона на популярнейшей в мире мобильной ОС тоже есть возможность создать свой собственный вирт...

Web scraping на R, часть 2. Ускорение процесса с помощью параллельных вычислений и использование пакета Rcrawler В прошлой статье я с помощью скрэпинга-парсинга собрал с сайтов IMDB и Кинопоиск оценки фильмов и сравнил их. Репозиторий на Github. Код неплохо справился со своей задачей, однако скрэпинг часто используют для "соскабливания" не пары-тройки страниц, а пары-тройки тысяч и д...

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