Социальные сети Рунета
Среда, 19 мая 2021

JSON Schema. Быть или не быть? Архитектура: искусство делать излишнее необходимым. Фредерик Кислер Ни для кого давно уже не секрет, что для любого web-сервиса на протоколе SOAP с сообщениями в формате XML верным и проверенным временем решением является предварительная разработка XML Schema (xsd-схемы), ...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

[Из песочницы] Как достичь своих целей? Привет, Хабр! Представляю вашему вниманию перевод ранее опубликованной на Хабре статьи «How to achieve goals?». 5 жизненных советов, которые помогут вам достичь своей желаемой цели. Конечно же, не обязательно выполнять их все в указанном порядке. Но самое важное — не просто...

Хранилище для Веба Доброго времени суток, друзья. Представляю вашему вниманию перевод статьи «Storage for the Web» автора Pete LePage. Существует несколько технологий для хранения данных в браузере. Какая из них лучше? Интернет-соединение может быть плохим или вовсе отсутствовать в опреде...

Как написать правила для Checkmarx и не сойти с ума Привет, Хабр!В своей работе наша компания очень часто имеет дело с различными инструментами статического анализа кода (SAST). Из коробки они все работают средне. Конечно, всё зависит от проекта и используемых в нём технологий, а также, насколько хорошо эти технологии покрыва...

Архитектурные подходы к авторизации в серверных приложениях: Activity-Based Access Control Framework Сегодня поговорим об секьюрити в web (да, наверное, и не только) приложениях. Прежде чем описывать подходы и фреймворки расскажу небольшую предысторию. Предыстория За много лет работы в IT приходилось сталкиваться с проектами в самых разных сферах. У каждого проекта были сво...

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

Самые популярные структуры данных Что такое структура данных? Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в др...

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

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

Как анализатор PVS-Studio стал находить ещё больше ошибок в проектах на Unity Разрабатывая статический анализатор PVS-Studio, мы стараемся развивать его в различных направлениях. Так, наша команда работает над плагинами для IDE (Visual Studio, Rider), улучшением интеграции с CI и т. д. Увеличение эффективности анализа проектов под Unity также являетс...

[Из песочницы] Практическое применение Kotlin в стартапах и энтерпрайзе Disclaimer: Я не имею никакого отношения к JetBrains, не получаю денег от продвижения Kotlin или от написания данной статьи. Весь материал — это лишь отражение моего личного опыта. Выбор того или иного языка (и вообще любого инструмента) как правило продиктован как объективн...

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

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

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

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

[Из песочницы] Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство Введение Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО. Следует отметить, что существует определенная проблема, связанная с невозм...

Оля, тесты и фабрика — путь к красивой архитектуре и чистоте кода В автоматизации тестирования существует много разных подходов, решений и способов. Самый распространенный и незаменимый —  паттерн Page Object (Screen Object). Я столкнулась с двумя подходами при работе с этим паттерном: c фабрикой для своих page object-ов и без нее. В этой ...

Fortinet Security Fabric на практике. Часть 3. FortiAP Всем привет! В нашей прошлой статье мы рассказали об устройстве FortiSwitch и его основных функциональных возможностях. Вторая часть решения от компании Fortinet для обеспечения защищенного доступа - точки доступа FortiAP. Сегодня мы хотим рассказать о них. В планах - расска...

[Из песочницы] Обработка исключений в контроллерах Spring Часто на практике возникает необходимость централизованной обработки исключений в рамках контроллера или даже всего приложения. В данной статье разберём основные возможности, которые предоставляет Spring Framework для решения этой задачи и на простых примерах посмотрим как ...

Использование Intel Processor Trace для трассировки кода System Management Mode Эта статья посвящена тестированию возможности использования технологии Intel Processor Trace (Intel PT) для записи трассы в System Management Mode (SMM) режиме. Работа была выполнена в рамках Summer Of Hack 2019. Автор работы: @sysenter_eip. Большинство использованных инст...

6. NGFW для малого бизнеса. Smart-1 Cloud Приветствую всех, кто продолжает читать цикл о новом поколении NGFW Check Point семейства SMB (1500 cерия). В 5 части мы рассмотрели решение SMP (портал управления для SMB шлюзов). Сегодня же хотелось бы рассказать о портале Smart-1 Cloud, он позиционирует себя как решени...

Ловим баги на клиенте: как мы написали свою систему для сбора клиентских ошибок У нас в Badoo довольно много клиентских приложений. Помимо основных продуктов Badoo и Bumble, у которых есть как веб-версии (десктопная и мобильная), так и клиенты под нативные платформы (Android и iOS), ещё есть с десяток внутренних инструментов со своими UI.  Для сбор...

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

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

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

Головоломка для ИИ Как я обучал агента собирать клетку 2048 в игре “2048”Привет! Меня зовут Ринат Максутов, я работаю в подразделении Intelligent Engineering Services департамента Technology российского офиса компании Accenture, и веду проекты по заказной разработке. За свою многолетнюю карьер...

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

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

[Перевод] Политика общего происхождения и CORS: визуальное руководство Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «CS Visualized: CORS» автора Lydia Hallie. Каждому разработчику приходилось сталкиваться с ошибкой Access to fetched has been blocked by CORS policy. Существует несколько способов быстрого решени...

Juniper: выращивание можжевельника в домашних условиях Привет, Habr! Меня зовут Дмитрий, и я разработчик DCImanager — панели для управления оборудованием от ISPsystem. Довольно продолжительное время в команде я провёл, разрабатывая софт для управления коммутаторами. Вместе мы пережили взлеты и падения: от написания сервисов для...

50/200+ вопросов по JavaScript Доброго времени суток, друзья! Предлагаю Вашему вниманию небольшой интерактив — своего рода викторину по JavaScript, на данный момент состоящую из 50 вопросов. На мой взгляд, решение подобных задач — лучший способ определить свой уровень мастерства. Предисловие Данная ча...

Продуктовая трансформация в Delivery Club Tech Привет, Хабр! Как и обещал в предыдущем посте, продолжаю знакомить вас с Delivery Club Tech. Сегодня поговорим о продуктовой трансформации. Так совпало, что мой приход в DC в октябре 2018-го ознаменовался тотальной перестройкой всех процессов в команде. В тот момент перед...

Детектирование аномалий с помощью автоенкодеров на Python Детектирование аномалий — интересная задача машинного обучения. Не существует какого-то определенного способа ее решения, так как каждый набор данных имеет свои особенности. Но в то же время есть несколько подходов, которые помогают добиться успеха. Я хочу рассказать про оди...

Чему я научился, пока писал свой агрегатор цен на игры Этот пост не реклама моего проекта, а пример того, что дает человеку pet-project. Я попробую рассказать, как, будучи тридцатипятилетним java-разработчиком, имеющим обязательства перед женой, маленьким ребенком и работодателем, сумел выделить время на самообразование и интере...

[Из песочницы] Как мы придумали TableAdapter и упростили работу с UITableView При работе с UITableView хотелось избежать написания шаблонного кода, который еще больше усложняется, если нужно обновлять состояние таблицы анимировано. Apple представила свое решение этой проблемы на WWDC 2019, но оно работает только с iOS 13. А у нас, как у студии разраб...

cGit-UI — web-интерфейс для Git-репозиториев cGit-ui — это web-интерфейс для Git-репозиториев, основу которого предстваляет CGI-скрипт написанный на языке С. cGit-ui поддерживает Markdown-файлы, которые обрабатываются на стороне сервера с помощью библиотеки md4c, зарекомендовавшей себя в проекте KDE Plasma. cGit-ui пр...

[Перевод] Почему Context — это не инструмент «управления состоянием» TL;DR Context и Redux — это одно и тоже? Нет. Это разные инструменты, делающие разные вещи и используемые в разных целях. Является ли контекст инструментом «управления состоянием»? Нет. Контекст — это форма внедрения зависимостей (dependency injection). Это транспортный м...

Диагностируем проблемы в микросервисной архитектуре на Node.js с помощью OpenTracing и Jaeger Всем привет! В современном мире крайне важна возможность масштабировать приложение по щелчку пальцев, ведь нагрузка на приложение может сильно отличаться в разное время. Наплыв клиентов, которые решили воспользоваться вашим сервисом, может принести как большую прибыль так и...

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

checkm8 для Lightning-видеоадаптеров Apple Появление эксплойта checkm8 можно назвать одним из важнейших событий прошедшего года для исследователей продукции Apple. Ранее мы уже опубликовали технический анализ этого эксплойта. Сейчас сообщество активно развивает джейлбрейк checkra1n на основе checkm8, поддерживающий ...

Хватит это верстать, ударим автоматизацией по макетам А Вас не посещала мысль, что вёрстка руками — это долго, дорого, избыточно и устарело? Меня вот постоянно. В данной статье я поверхностно затрону текущее состояние индустрии, проблематики и поделюсь результатами своих исследований. Интересно? Добро пожаловать под кат! Читат...

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

Тотальный JavaScript: изучаем JS с акцентом на практической составляющей Доброго времени суток, друзья! Когда речь заходит об изучении JavaScript, будь то первое знакомство с языком или углубление имеющихся знаний, найти в «интернетах» теоретические материалы не составляет особого труда. Мой топ-5: MDN Web Docs «Современный учебник JavaScri...

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

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

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

[Перевод] Использование API Gateway в качестве единой точки входа для веб-приложений и API Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение Преимущества AWS, такие как высокая доступность, масштабируемость и эластичность, уже доказали свою эффективность для SaaS-провайдеров (Software-as-a-Service). При модернизац...

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

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

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

Разделяй и властвуй. Модульное приложение из монолита на Objective-C и Swift Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club, и застал проект в его монолитном виде. Признаюсь, что приложил руку к тому, борьбе с чем посвящена эта статья, но раскаялся и трансформировал своё сознание вместе с проектом. Я хочу рассказать, как ра...

Сверточная нейронная сеть и ее интеграция в iOS (часть 1) Средства реализации. Различные алгоритмы машинного обучения интегрированы в множество высокоуровневых языков программирования. Наиболее популярным и быстро развивающимся из них является Python. TensorFlow — открытая программная библиотека для машинного обучения, разработа...

Новые подходы автоматизации Wildfly Доброго времени суток хаброжители. Достаточное количество времени назад я писал о первых шагах в автоматизации Wildfly, но прогресс не стоит на месте и пришло время взглянуть на новые подходы. Добро пожаловать под кат Читать дальше →

Meta Gameplay Framework, или бэкенд без серверных разработчиков Привет! Меня зовут Кирилл, я руководитель отдела серверной разработки в Pixonic. Здесь я работаю уже более 5 лет. Долгое время Pixonic была компанией одной игры — War Robots. Но однажды к нам пришло осознание, что так больше продолжаться не может, и мы начали работу над со...

[Перевод] Разработка MQ JMS приложения на Spring Boot Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно исполь...

Очередной Хабро-хак для накрутки рейтинга на сайте Почему «очередной»? Потому что первую мою статью о найденном способе обхода правил Хабра, прилетевшее НЛО принудительно скрыло в черновики, где она остается и по сей день. Но тот способ можно было применять деструктивно, поэтому с таким решением НЛО я полностью согласен. ...

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

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

Отладка Makefile /часть 1/ Отладка makefile - это что-то из черной магии. К несчастью, не существует такой вещи как makefile отладчик, чтобы изучить ход выполнения конкретного правила или как разворачивается переменная. Большую часть отладки можно выполнить с помощью обычных print’ов и проверкой makef...

14 практических советов по использованию Tableau Всем привет, меня зовут Меркурьев Михаил, я продуктовый аналитик в ManyChat. Год назад мы решили использовать Tableau как основной BI инструмент в компании и столкнулись с рядом проблем, касающихся того, что нужно наладить эффективную работу с инструментом для аналитиков, ме...

Немного про устройство современного радио на примере HackRF One Приветствую, Habr! Некоторое время назад в поле моего зрения очень часто попадало множество статей, видеороликов о теме SDR трансиверов. Тема представляет интерес и сегодня. Большой популярностью среди радиолюбителей и других, разного рода, «технарей» пользуются устройства H...

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

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

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms...

Превращаем EditText в SearchEditText Пробовали ли Вы когда-нибудь настроить внешний вид или поведение стандартного компонента SearchView? Полагаю, да. В этом случае, я думаю что вы согласитесь, что далеко не все его настройки являются достаточно гибкими, для того, чтобы удовлетворить всем бизнес-требованиям о...

Современный стартовый HTML-шаблон Доброго времени суток, друзья! Позвольте представить вам мой новый проект — современный стартовый HTML-шаблон. Данный шаблон является результатом анализа более 100 источников по вопросам, касающимся структуры и содержимого веб-страницы, разделения приложения на компонент...

[Из песочницы] Android Remote Debugger — удаленная отладка Android приложений Отладка является важным этапом разработки программного обеспечения. Поиск и исправление ошибок позволяет разрабатывать качественные продукты. В данной статье я хочу поговорить об отладке только Android приложений. Android Studio предоставляет нам различные инструменты профил...

[Перевод] Собеседования в сфере Data Science и распространённые приёмы работы с датами в SQL Поговорим о распространённых приёмах работы с датами, которые находят применение на Data Science-собеседованиях и в обычной работе. При анализе данных весьма часто возникает необходимость извлечения из полей, хранящих даты, их частей, вроде года, дня или месяца. Нередко тому...

Трудности SMART Наверное, все знакомы с набором критериев SMART, которым должна соответствовать правильно поставленная цель, задача. По моим наблюдениям самая большая проблема на практике у людей возникает с «R». Следует уточнить, что несмотря на то, что нередко под «R» понимают, как и было...

Hello, Word! Разрабатываем браузерное расширение в 2021-м Привет! Меня зовут Саша Коновалов, я разработчик в компании Oxonit и наставник на программе «Мидл фронтенд-разработчик» в Яндекс.Практикуме. На примере разработки расширения «Hello, Word» я расскажу, как разрабатывать кроссбраузерное расширение со знаниями современного фро...

[Перевод] Сравнение скорости генераторов статических сайтов Существует огромное количество генераторов статических сайтов (Static Site Generator, SSG). Очень сложно принять решение о том, какой именно выбрать. Существует множество полезных статей, которые могут помочь сориентироваться в (популярных) SSG. Правда, чтение подобных матер...

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

Частные города в России. Тренд ближайших десятилетий. Часть 1 Всем привет! Несколько лет назад я впервые опубликовал на хабре цикл статей о возможности строительства частного города в России. Статьи собрали в общей сложности 110 тыс. просмотров и 1160 комментариев. Как и принято в рунете, скепсиса было много. Но уже тогда с вашей пом...

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

Создаем процессорный модуль под Ghidra на примере байткода v8 В прошлом году наша команда столкнулась с необходимостью анализа байткода V8. Тогда еще не существовало готовых инструментов, позволявших восстановить такой код и обеспечить удобную навигацию по нему. Было принято решение попробовать написать процессорный модуль под фреймвор...

[Перевод] Восприятие интерфейсов пользователями на примере панелей из Lego Вести океанское исследовательское судно или марсианский исследовательский шаттл – дело серьёзное. Остаётся надеяться, что приборная панель будет высшего качества. Ширина в два шипа, уклон в 45°, распространённая деталь из Lego «2x2 decorated slope» – это интерфейс этого иг...

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

IntelliJ IDEA: Structural Search & Replace Современные IDE — очень мощные инструменты, способные помогать разработчику в самых разных ситуациях. Но обратной стороной этой мощности является то, что большинство функций находится в тени — об их наличии мало кто подозревает. Простой пример одной...

[Перевод] Букварь по F# для любопытствующих C#-разработчиков Предисловие Мой переход на F# в качестве излюбленного языка был слегка усеян препятствиями. Примерно через десять лет почти постоянного использования C# у меня пробудилось любопытство, когда я услышал об этом другом #-языке. Моя первая реакция была той, которую с тех пор вид...

[recovery mode] О стартапах и стартаперах Сейчас очень модно говорить о стартапах и молодых стартаперах, бизнесменах до 30 лет, попавших в поле зрения Форбс. Об инновационных проектах, нацеленных перевернуть мир. Видимо, пришло время и для меня осознать, что такое стартап, что такое собственный проект, и каким мо...

Что такое Deno и заменит ли он Node.js? Доброго времени суток. Представляю вашему вниманию перевод статьи «Deno vs. Node.js — Here are the most Important Differences» автора Louis Petrik. Является ли Deno новым Node.js? Или всего лишь хорошей альтернативой? В этой статье я постараюсь ответить на данные вопросы...

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

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

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

[Перевод] Как разобрать URL в JavaScript? Доброго времени суток, друзья! Представляю Вашему вниманию перевод заметки «How to Parse URL in JavaScript: hostname, pathname, query, hash» автора Dmitri Pavlutin. Унифицированный указатель ресурса или, сокращенно, URL — это ссылка на веб-ресурс (веб-страницу, изображ...

Как бесплатно добавить новые шрифты на iOS Официальная поддержка пользовательских шрифтов появилась на iPhone и iPad с выходом iOS 13 и iPadOS 13, однако не все знают, как добавить на айфон сторонние шрифты без покупки дополнительных приложений или оформления платной подписки Adobe Creative Cloud. Совсем недавно в A...

[Из песочницы] Сохранение значений в .Net приложение на этапе сборки Появилась у меня необходимость при сборке приложения передать внутрь набор констант для использования их на рантайме. Например, мы хотим «зашить» в приложение некое строковое значение которое будет известно в момент сборки. В мире C++ я решал подобные штуки очень просто с и...

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

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

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

[Перевод] Как помочь pandas в обработке больших объёмов данных? Библиотека pandas — это один из лучших инструментов для разведочного анализа данных. Но это не означает, что pandas — это универсальное средство, подходящее для решения любых задач. В частности, речь идёт об обработке больших объемов данных. Мне довелось провести очень и оче...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

Обзор k9s — продвинутого терминального интерфейса для Kubernetes K9s предоставляет пользовательский интерфейс терминала для взаимодействия с кластерами Kubernetes. Цель этого Open Source-проекта — облегчить удобную навигацию по приложениям в K8s, наблюдение за ними и управление ими. K9s постоянно следит за изменениями в Kubernetes и пре...

Так как же не страдать от функциональных тестов? На написание этой статьи меня подтолкнуло обсуждение докладов с Heisenbug 2021 в нашем корпоративном чате. Причиной является тот факт, что достаточно много внимания уделяется «правильному» написанию тестов. В кавычках — потому что на бумаге все действительно логично и аргуме...

Сгореть и вернуться из пепла или люди-фениксы История о том как “сгорают” в распределенных командах. Мы, в ProtocoleOne, пишем разные проекты и почти все они Open Source. И так уж сложилось, что крутые специалисты живут в разных городах и даже странах и не только в столицах. Один из таких проектов — PaySuper. Проект дл...

Как я правил баг в Angular Всем привет. Сегодня я расскажу, как мой пулл-реквест замерджили в Angular. Вы узнаете про контрибьют в open source проект такого масштаба и как там проходит код ревью. Всем заинтересованным, добро пожаловать под кат. Подробнее

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

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

[Перевод] Хакаем WhatsApp, часть 2 – разбор Whatsapp VOIP протокола В это статье я хочу рассказать как я вскрыл несколько частей WhatsApp VoIP протокола с помощью джейлбрейкнутого iOS устройства и набора разных программ для анализа. В последнее время Whatsapp привлекает к себе большое внимание из за найденных уязвимостей и возможностей дл...

Интересное о Serverless: хабрастатьи о применении, инструментах, кейсах и инструкциях для первого свидания Привет, Хабр! Меня зовут Антон. Примерно год назад я начал работать с Serverless — и был покорён этим подходом к разработке приложений. Несмотря на определённые недостатки и ограничения, потенциал бессерверных вычислений огромен, за ними большое будущее. Очень приятно, что ч...

[Перевод] Настраиваем окружение Python с помощью pyenv, virtualenvwrapper, tox и pip-compile Эти инструменты упростят настройку и позволит автоматизировать рутинные операции. Они избавят разработчика от многих сложностей, которые мешают сосредоточиться на решении задач и комфортном написании кода. Есть много способов настройки окружения Python. В этом материале о...

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

Настольные процессоры AMD Ryzen 3000 получат недорогие системные платы на новых чипсетах в этом полугодии Несмотря на то, что настольные процессоры Ryzen 3000 продаются уже более полугода, для этих CPU пока существует лишь один чипсет нового поколения — X570. Системные платы на этом чипсете достаточно дороги. Но проблемой это не является, так как с новейшими CPU Ryze...

Обзор GameLisp: нового языка для написания игр на Rust Программист, подписывающийся псевдонимом Fleabit, уже полгода разрабатывает свой язык программирования. Сразу же возникает вопрос: ещё один язык? Зачем? Вот его аргументы: Разработка движка игры и разработка игры на этом движке – две очень разные задачи, и для них удобно...

Новогодний контакт-центр 2020: No-Code Edition Примерно 5 лет назад мы написали статью о том, как можно быстро создать простой новогодний кол-центр с Дедами Морозами и Снегурочками в качестве операторов, используя Voximplant. Несмотря на широкий доступный инструментарий, предлагаемый платформой (Web SDK, Server...

Ушла эпоха. Знаковое изменение в Microsoft Word Компания Microsoft внесла в свой фирменный текстовый редактор Word небольшое, но знаковое изменение, которое должно подвести черту под многолетней «священной войной».  Всё дело в том, что многие пользователи при наборе текста на ПК после точки ставят д...

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

Apple показала то, что мы не ждали, но это 2021 год! Вчера американский телеканал CBS заявил, что Apple сделает «больше заявление». Новый Mac или AirPods — подумали многие, но позже было объявлено, что это будет НЕ новое устройство. Какой-то новый сервис? Обновление правил App Store? Официальный запуск новой программы ремонта...

[Из песочницы] Программируй себя. Как найти работу в IT Я работаю Software Engineer в Farmers Insurance. Мой отдел занимается внедрением чат-бота в структуры бизнеса и его усовершенствованием для уменьшения нагрузки на службу поддержки компании. Сейчас один из моих проектов — анализ сообщений от клиентов и предсказание интента ...

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

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

[Перевод] Необычный способ использования встроенных команд оболочки для выяснения того, какие директории существуют в системе В давние времена многоархитектурных Unix-окружений разработчики дистрибутивов не могли прийти к единому мнению о том, что должно быть в $PATH. Базовые вещи, вроде /bin и /usr/bin, были везде одинаковыми, но у каждого дистрибутива был собственный набор дополнительных директор...

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

Восемь важных аспектов интегрированного управления поставщиками В статье, опубликованной на ресурсе itsm.tools, автор делится своим опытом внедрения мульти-вендорных операционных моделей для департаментов ИТ, предлагая рекомендации в отношении восьми ключевых аспектов интегрированного управления поставщиками (Service Integration and Man...

Повторная проверка Newton Game Dynamics статическим анализатором PVS-Studio Недавно на просторах интернета мной был обнаружен физический движок Newton Game Dynamics. Зная, что в таких проектах обычно большой объём сложного кода, я подумал, что будет интересно проверить его статическим анализатором PVS-Studio. Мой энтузиазм ещё больше подстегнуло то...

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

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

2. Fortinet Getting Started v 6.0. Архитектура решения Приветствую! Добро пожаловать на второй урок курса Fortinet Getting Started. Если вы еще не знакомы с курсом, советую посмотреть первый урок — в нем разъясняются основные цели и структура курса. Данный урок является чисто теоретическим, но в нем содержится множество полезн...

OAuth 2.0 -> OAuth 2.1. Что дальше? Архитекторы ничего не выдумывают. Они трансформируют реальность. Алваро Сиза Виэйра Много всего уже сказано и написано про фреймворк авторизации OAuth 2.0 с 2012 года. И, казалось бы, все давно его знают, используют, все должно работать надежно и безопасно. Но, как обычн...

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

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

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

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

[Перевод] Рекомендации по REST API — примеры проектирования веб-сервисов на Java и Spring В последней статье этой серии вы познакомитесь с рекомендациями по REST API и с примерами разработки из Java и Spring Web Services. При разработке хорошего REST API важно иметь хорошие микросервисы. Как вы разрабатываете свой REST API? Каковы лучшие практики? Читать дальше...

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

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

[Перевод] Автоматические скриншоты iOS с помощью XCTestplan и XCode 11 В Райффайзенбанке несколько мобильных приложений, которые должны работать на самых разных девайсах и операционных системах, поэтому мы стараемся автоматизировать рутинные процессы в тестировании. Эта статья показалась нам полезной, и мы решили ее перевести. foto source: u...

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

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

[Перевод] Использование HAProxy в качестве Data Plane Service Mesh в архитектуре микросервисов Использование HAProxy в качестве Data Plane Service Mesh в архитектуре микросервисов HAProxy Data Plane API – это программа, которая работает вместе с HAProxy, чтобы вы могли полностью настроить балансировщик нагрузки HAProxy во время выполнения. Эта функция позволяет исполь...

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

Технологии для проверки «Тотального диктанта»: что можно улучшить? Я состою в жюри World AI & Data Challenge. Это такой международный конкурс для разработчиков технологий для решения разных социальных задач, таких как борьба с бедностью, помощь людям с ограничениями слуха и зрения, улучшение обратной связи между человеком и государствен...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)". 1.1 Что такое Decision Tree? 1.1.1 Пример Decision Tree Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В ...

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

Шаблоны GRASP: Controller (контроллер) Привет, Хабр! Меня зовут Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Специально к старту нового набора на курс «Архитектура и шаблоны проектирования» я продолж...

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

[Из песочницы] Как работают реляционные базы данных (Часть 1) Привет, Хабр! Представляю вашему вниманию перевод статьи "How does a relational database work". Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшог...

REACT + JEST = TDD ❤️ Привет, Хабр! Меня зовут Андрей Хижняк, я фронтенд-разработчик в команде, разрабатывающей App Store внутри ManyChat. Как и моим коллегам, мне нравится пробовать новые подходы, методологии и практики, заниматься повышением качества и скорости разработки. В начале этого года ...

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

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

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

Собственные метрики JFR и их анализ Недавно я описывал как осуществлять запуск и управление Java Flight Recorder (JFR). Теперь решил затронуть тему записи в JFR метрик, специфичных для приложения, а так же способов их анализа в Java Mission Control (JMC). Это позволяет расширить понимание происходящего с прило...

Android + Redux = <3 Привет! Меня зовут Виталий Сулимов, я Android-разработчик в компании Wheely, и сегодня я бы хотел поговорить с вами об архитектуре мобильных приложений. А именно о том, как мы в компании применили Redux-архитектуру к двум нашим приложениям и что из этого вышло. Дисклеймер #1...

Так вот, зачем это было нужно! В App Store появится больше рекламы после выхода iOS 14.5 Вчера, после 2,5 месяцев тестирования, Apple запустила iOS 14.5. Несмотря на большое количество нововведений, ключевой функцией обновления стала функция запрета отслеживания в приложениях. Её цель состоит в том, чтобы заставить разработчиков запрашивать у пользователей разр...

Сжатие данных в Apache Ignite. Опыт Сбера При работе с большими объемами данных иногда может остро встать проблема нехватки места на дисках. Одним из способов решения данной проблемы является сжатие, благодаря которому, на том же оборудовании, можно себе позволить увеличить объемы хранения. В данной статье мы расс...

[Перевод] Основы работы с Shader Graph в Unity Шейдер — это небольшая программа, содержащая инструкции для GPU. Она описывает способ вычисления экранного цвета для определённого материала. Хотя у Unity есть Standard Shader, иногда требуется реализовать эффект, на который не способен стандартный шейдер. Раньше для этог...

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

Project Reunion призван упростить разработку UWP и Win32-приложений для Windows 10 В рамках конференции Build 2020 компания Microsoft анонсировала проект Project Reunion, призванный сократить разрыв между разработкой Win32 и UWP-приложений путём объединения Windows API и UWP API. Этот шаг позволит разработчикам модернизировать и создавать приложения, рабо...

Linux exploits Операционная система Linux доказала миру всю силу Open Source проектов — благодаря ей у нас сегодня есть возможность заглянуть в исходный код рабочей ОС и на его основе собрать свою собственную систему для решения тех или иных задач. По причине своей открытости Linux до...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

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

Как снизить стоимость владения SIEM-системой и зачем нужен Central Log Management (CLM) Не так давно, Splunk добавил ещё одну модель лицензирования — лицензирование на основе инфраструктуры (теперь их три). Они считают количество ядер CPU под серверами со Splunk. Очень напоминает лицензирование Elastic Stack, там считают количество нод Elasticsearch. SIEM-систе...

Исследование возможных заимствований и нарушений условий лицензирования в Java-коде на GitHub Меня зовут Ярослав Голубев, я работаю в JetBrains Research, в лаборатории методов машинного обучения в программной инженерии. Некоторые мои коллеги уже писали здесь о своих проектах (например, о подсказках для онлайн-курсов). Общая цель нашей группы — сделать работу программ...

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

ILUШA vs Dynamixel. Выбор сервопривода с обратной связью Сервопривод отечественного производства Илюша. Мы разрабатываем робот для сбора мячей для гольфа. Для открытия люка сброса мячей нам требуется сервопривод. Мы опробовали огромное количество и сегодня хотим рассказать Вам об очень интересном аналоге Dynamixel который более...

Мобильный экшен Cyber Fighters от Zitga доступен на iOS и Android Студия Zitga выпускает уже не первый свой проект: за плечами у неё уже есть опыт разработки мобильных игр. Их можно найти как на Android, так и на iOS. Но вот одна игра не особо спешила на iOS. Её название — Cyber Fighters. Возможно это произошло из-за жёстких правил Apple к...

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

[Из песочницы] Разработка бренда в среде lean startup. Часть 1 Очень часто владельцы малого бизнеса или основатели стартапов сталкиваются с проблемой разработки бренда своей компании и отстройки от конкурентов в условиях ограниченных ресурсов. Особенно актуально это сейчас, когда в мире бушует пандемия Covid-19. Запустив несколько ста...

Добавляем modbus в Embox RTOS и используем на STM32 и не только Нас часто спрашивают, чем Embox отличается от других ОС для микроконтроллеров, например, FreeRTOS? Сравнивать проекты между собой, конечно, правильно. Но параметры, по которым порой предлагают сравнение, лично меня повергают в легкое недоумение. Например, сколько нужно памя...

[Из песочницы] Практичные способы маппинга данных в Kotlin Маппинг данных – один из способов для разделения кода приложения на слои. Маппинг широко используется в Android приложениях. Популярный пример архитектуры мобильного приложения Android-CleanArchitecture использует маппинг как в оригинальной версии (пример маппера из CleanArc...

Создание бизнес-плана IT cтартапа: пошаговая детальная структура Для разработки своего IT стартапа (рекрутинговая веб-платформа) по крупицам создал детальную структуру бизнес-плана. Далее, проработав каждый пункт, получил ясную и понятную картину будущего Бизнеса. Структура охватывает все важные направления как для создателя, так и для ин...

HighLoad++, Анастасия Цымбалюк, Станислав Целовальников (Сбербанк): как мы стали MDA Следующая конференция HighLoad++ пройдет 6 и 7 апреля 2020 года в Санкт-Петербурге Подробности и билеты по ссылке. HighLoad++ Siberia 2019. Зал «Красноярск». 25 июня, 14:00. Тезисы и презентация. Разработать промышленную систему управления и распространения данных с нуля — ...

Примеры использования наблюдателей в JavaScript Наблюдатель (observer) — это объект, который следит за состоянием определенного элемента и регистрирует происходящие в нем изменения. Элемент, который находится под наблюдением (чуть не написал «за которым организована слежка»), называется целевым. Наблюдатель может следит...

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

Пишем шеллкод под Windows на ассемблере В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферо...

Ушла эпоха. Знаковое изменение в Microsoft Word Компания Microsoft внесла в свой фирменный текстовый редактор Word небольшое, но знаковое изменение, которое должно подвести черту под многолетней «священной войной».  Всё дело в том, что многие пользователи при наборе текста на ПК после точки с...

[Перевод] Генерирование псевдослучайных чисел с помощью клеточного автомата: Правило 30 Генераторы псевдослучайных чисел выдают числа детерминировано, но обычно такие числа выглядят непериодическими (случайными). По крайней мере, в большинстве случаев применения подобных чисел так обычно и происходит. Генератор принимает начальное значение (в идеале — истинное ...

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

Книга «Паттерны Kubernetes: Шаблоны разработки собственных облачных приложений» Привет, Хаброжители! С развитием микросервисов и контейнеров изменились подходы к проектированию, созданию и запуску программного обеспечения. Познакомьтесь с новыми паттернами и принципами разработки, которые нужны для реализации облачных приложений в Kubernetes. Эта книг...

[Перевод] Julia готова для прода Сейчас мне хочется поделиться своими выводами сделанными после нескольких бесед, в которых я участвовал на JuliaCon 2020. Я потратил уже 20 лет на развертывание в корпоративных средах проектов связанных с наукой о данных (тогда она так еще не называлась, но мы уже обучали н...

Как устроены DPU, сопроцессоры для обработки данных Специализированные процессоры ASIC для конкретных областей — один из способов «перезапустить» закон Мура и преодолеть ограничения универсальных CPU общего назначения. Сейчас это очень перспективная область развития микроэлектроники. Собственные проекты есть у Google, Amazon...

Все побежали и я побежал… Футбольная команда, с бегающими по полю игроками у меня всегда вызывала вопрос: это пример сотрудничества (Collaboration) или взаимодействия (Cooperation)? Каждый игрок: будь то нападающий, защитник, вратарь имеет в игре специфические задачи, а значит и особые способности и ...

История IT. Когда компьютеры были большими… Некоторое время назад меня попросили рассказать или дать ссылки на историю развития IT-разработки, в которой была бы видна внутренняя логика развития, а не просто факты и события. Казалось бы, об этом должны быть книги или обзорные курсы, ведь логика развития IT-разработки в...

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

[Перевод] Семь практических советов по массовой загрузке данных в PostgreSQL Вольный перевод статьи «7 Best Practice Tips for PostgreSQL Bulk Data Loading» Иногда возникает необходимость в несколько простых шагов загрузить в БД PostgreSQL большой объём данных. Данная практика обычно называется массовым импортом, когда в качестве источника данных служ...

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

[Перевод] Компилируем Spring Boot-приложение в нативное с помощью GraalVM Перевод статьи подготовлен в преддверии старта курса «Разработчик на Spring Framework». Привет, любители Spring’а! Добро пожаловать в очередной выпуск Spring Tips. Сегодня мы поговорим о недавно реализованной поддержке компиляции Spring Boot-приложений в GraalVM. Мы уже ...

Nvidia подготовила набор Reviewer Toolkit for Graphics Performance для правильного тестирования новых видеокарт Компания Nvidia вместе с видеокартами Ampere решила представить и новый инструмент для оценки производительности этих самых видеокарт. Речь идёт о наборе Reviewer Toolkit for Graphics Performance. Это набор аппаратных и программных инструментов, призванный помочь специ...

[Перевод] Loki — сбор логов, используя подход Prometheus Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала. Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов ил...

[Перевод] Нововведения CSS – Июль 2020 (Gap, Aspect ratio, Masonry, Subgrid) Приветствую. Представляю вашему вниманию перевод статьи «CSS News July 2020», опубликованной 7 июля 2020 года автором Rachel Andrew В последнее время скорость внедрения новых возможностей технологий веб-разработки существенно увеличилась по сравнению с тем, как это было ран...

Do you speak English? Лучшие приложения для изучения английского Чтобы с гордостью отвечать «Yes, I do!», стоит обратить внимание на мобильные приложения, которые помогут вам освоить иностранный язык. Мы проанализировали лучшие из них. ...

Как установить файл конфигурации в .Net Core Console app для нескольких сред разработки при запуске Docker-контейнера Наша команда разрабатывала сервис обработки сообщений из Kafka. Он представлял собой консольное приложение .Net Core, которое подписывалось на топики, и при появлении сообщения в каждом из них выполняло определённый алгоритм обработки. На первых итерациях разработки нашего с...

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

Унифицируем арсенал Gatling Тестирование производительности — это непрерывный процесс оптимизации, контроля быстродействия систем и подтверждения их отказоустойчивости как на стадии моделирования и проектирования, так и на каждой итерации внесения изменений. Сейчас в Тинькофф мы активно занимаемся разв...

Прикручиваем ИИ: оптимизация работы банкоматов Всем привет! Это небольшой рассказ про то, как команда Центра компетенции больших данных и искусственного интеллекта в ЛАНИТ оптимизировала работу банкоматной сети. Упор в статье сделан не на описание подбора параметров и выбор лучшего алгоритма прогнозирования, а на рассмот...

Илья Якямсев: Эффективность не работает С точки зрения проект-менеджера и с точки зрения управления людьми, люди в депрессии — идеальные работники. Привет, Хабр. Недавно посмотрела выступление одного scrum-мастера и stand up комика по совместительству. Выступление оказалось эмоциональное, с большим количеством н...

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

[Перевод] Детальное сравнение WordPress и October CMS Меня зовут Павел Ловцевич, я сооснователь и CTO веб-студии LOVATA. Одной из основных платформ, на которой мы разрабатываем проекты для наших заказчиков, является October CMS, с которой мы работаем уже почти 6 лет. Эта CMS несколько опередила свое время и не сразу снискала з...

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

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

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

[Перевод] Headlamp — новый GUI для работы с Kubernetes Прим. перев.: месяц назад компания Kinvolk выпустила свой интерфейс для управления Kubernetes-кластерами. Новый Open Source-проект, пополнив уже немалочисленные ряды подобных решений, сочетает в себе классический подход к дизайну интерфейсов, возможность запуска локально и в...

6. Check Point SandBlast Agent Management Platform. FAQ. Бесплатное тестирование Добро пожаловать на шестую статью, завершающую цикл материалов о решении Check Point SandBlast Agent Management Platform. В рамках цикла мы рассмотрели основные аспекты разворачивания и администрирования SandBlast Agent с помощью Management Platform. В данной статье мы пос...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

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

API Style Guide, или не заставляйте пользователей думать Привет! Меня зовут Лёша Руцкой, и я — продуктовый менеджер в компании Wrike. До этого работал в Adform и PandaDoc. Последние пять лет я занимаюсь всем, что связано с интеграциями и API. Wrike — это SaaS продукт для совместной работы и управления проектами. Мы хотим, чтоб...

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

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

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

1. Fortinet Getting Started v 6.0. Введение Добро пожаловать на новый видеокурс, посвященный решениям компании Fortinet — Fortinet Getting Started. По ходу данного курса я расскажу об основных решениях компании в рамках концепции Fortinet Security Fabric, а также на практике покажу работу с двумя основными решениями...

[Перевод] Подробности об использовании CSS-функции minmax() в Grid-макетах Существует множество руководств, в которых рассматриваются общие вопросы работы с CSS Grid, с механизмом, позволяющим создавать сеточные макеты. Я и сам немало об этом писал. Но я обратил внимание на то, что у многих разработчиков возникают сложности с использованием CSS-фун...

Росатом разработал "умную" систему для увеличения пропускной способности автодорог Об этом сообщила ТАСС руководитель проекта "Русатом Инфраструктурные решения" Елена Лекомцева в кулуарах форума.Цифровой продукт "Интеллектуальная транспортная система", построенная на базе платформы "Умный город", представляет собой комплексное...

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

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

Microsoft объединяет разработку Win32 и UWP в Windows 10 Для Microsoft будущее касается не только UWA (универсального приложения для Windows), поскольку Win32 также важен для платформы. Во время выступления на конференции разработчиков Build 2020 компания Micorosft объявила о проекте Project Reunion, который, по словам компании, я...

JIRA: правила своевременного приготовления вкусного ПО. TLDR 2: управление требованиями Ранее в статье «JIRA: правила своевременного приготовления вкусного ПО. TLDR 1: границы возможностей» была  предпринята попытка унификации общих требований по применению JIRA в случае управления несколькими проектами по разработке заказного программного обеспечения в одном и...

4. Check Point SandBlast Agent Management Platform. Политика Data Protection. Deployment и Global Policy Settings Добро пожаловать на четвёртую статью цикла о решении Check Point SandBlast Agent Management Platform. В предыдущих статьях (первая, вторая, третья) мы детально описали интерфейс и возможности веб-консоли управления, а также рассмотрели политику Threat Prevention и протести...

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

[Перевод] Разница между фальшивыми и истинными смещениями в 3D-графике Bump maps (рельефные текстуры), Normal maps (карты нормалей), Displacement и Vector Displacement — вероятно, вы уже сталкивались хотя бы с одним из этих терминов. Несмотря на то, что о них уже есть много информации, похоже, многие путают их различия и последствия использова...

Обзор TP-LINK Deco X20. Домашняя Mesh система с Wi-Fi 6 Классический сценарий установки роутеров в квартире предполагает его размещение в коридоре, он хорош, когда площадь помещения небольшая и общее качество покрытие по всей площади не ставится приоритетом. В частных домах или многокомнатных квартирах один роутер, даже флагманск...

[Из песочницы] Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1 Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm...

Организация типовых модулей во Vuex Vuex — это официальная библиотека для управления состоянием приложений, разработанная специально для фреймворка Vue.js. Vuex реализует паттерн управления состоянием, который служит централизованным хранилищем данных для всех компонентов приложения. По мере роста приложения ...

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

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

Практические истории из наших SRE-будней. Часть 3 Рады продолжить цикл статей с подборками из недавних вызовов, случившихся в нашей повседневной практике эксплуатации. Для этого мы описываем свои мысли и действия, которые привели к их успешному преодолению. Новый выпуск посвящён опыту с неожиданно затянувшейся миграцией ...

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

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

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.2 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech». В предыдущей статье я рассказывала про один из способов реализации многопоточности в приложении Kotlin Multiplatform. Сегодня мы рассмотрим альтернативную ситуацию, когда м...

Эксплуатируем уязвимость Foxit Reader и обходим цифровую подпись на примере задания NeoQUEST-2020 Сегодня мы расскажем о самом сложном задании NeoQUEST- 2019 2020. Да-да, то самое, с цифровыми подписями и эксплуатацией уязвимости Foxit Reader. Да-да, все верно, существуют две версии этого задания, и в этой статье мы наконец как следует его разберем. Добро пожаловать под...

Обязательно ли назначать на должность Тимлида Старшего разработчика? Введение. В данной статье был проведен анализ рынка тимлидов и он показывает, что 63% компании закрывают позицию на должность тимлида внутренними сотрудниками, а 23% компании закрывают как внутренними, так и внешними сотрудниками. Часто встречал такую картину, когда старшего...

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

Власти США разрешили Amazon создать свою спутниковую систему связи Об этом говорится в распространенном в четверг заявлении ведомства.Сеть Kuiper, названная в честь голландского и американского астронома Джерарда Койпера (1905-1973), по замыслу Amazon, будет состоять из 3 236 спутников, размещенных на околоземной орбите. Отмечается, что на ...

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

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

Что должен уметь специалист по Data Science? Будущее за наукой о данных За последние несколько лет технологии интегрировались с многими бизнесами, что сформировало новые профессии, которые стали очень востребованными на рынке. Одним из таких направлений стало Data Science: специалисты в этой области сейчас нарасхват, и...

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

Краткий обзор COBIT 2019 Люди в наши дни хотят иметь возможность быстро усваивать важную информацию. Если вы хотите узнать больше о том, что такое COBIT 2019, надеюсь, эта статья поможет вам усвоить все важные моменты как можно быстрее. Всё благодаря эффективности списков («буллетов»). ...

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

31 марта – международный день резервного копирования (World Backup Day) По мере развития решений для защиты от кибератак не стоят на месте и способы, которые киберпреступники используют для нанесения вреда организациям.Что советуют делать специалисты Infinidat? Чтобы защитить информацию от угроз, которые постоянно меняются, необходимо применять ...

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

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

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

[Из песочницы] Ищем утечки памяти с помощью Eclipse MAT Пожалуй, все java-разработчики, участвующие в коммерческих проектах рано или поздно сталкиваются с проблемой утечки памяти, влекущей за собой медленную работу приложения и почти неизбежно приводящую в итоге к известной OutOfMemoryError. В данной статье будет рассмотрен реаль...

В США коммерческим дронам разрешат летать над людьми и в ночное время Федеральное управление гражданской авиации США (FAA) продолжает работу над сводом правил, касающихся регулирования использования дронов в коммерческих целях.  Как стало известно, одно из нововведений будет касаться полётов над людьми. В частности, малым дронам раз...

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

[Перевод] Практика по Котлину: Создание веб приложений на React и Kotlin/JS От переводчика. Привет! Про Kotlin есть стереотип, будто бы это язык для разработки только под Android. На самом деле, это совсем не так: язык официально поддерживает несколько платформ (JVM, JS, Native), а также умеет работать с библиотеками для этих платформ, написанных на...

[Перевод] Как автоматизировать развертывание баз данных с помощью Liquibase? Liquibase — это инструмент управления изменениями в базе данных. С его помощью вы можете отслеживать изменения в базе данных, сделанные с помощью SQL (или XML) скриптов. Эти скрипты могут быть добавлены в системы контроля версий, такие как git.В данной статье мы рассмотрим, ...

Panasonic представил комплексное решение TOUGHBOOK Omnia для ускоренной разработки бизнес-приложений Компания Panasonic представила комплексное решение TOUGHBOOK Omnia на базе языка программирования MCL для ускоренной разработки программного обеспечения. Решение позволяет пользователям Panasonic TOUGHBOOK эффективно управлять проектами цифровой трансформации и сократить вр...

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

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

Пишем свой dependency free WebSocket сервер на Node.js Node.js — это популярный инструмент для построения клиент-серверных приложений. При правильном использовании, Node.js способен обрабатывать большое количество сетевых запросов, используя всего один поток. Несомненно, сетевой ввод — вывод является одной из сильнейших сторон ...

[Перевод] Создавайте игры из виртуальных блоков LEGOⓇ в LEGO Microgame Последний шаблон серии Microgames предназначен для новых пользователей: они смогут поделиться своей первой 3D-игрой, на разработку и настройку которой уйдет не больше часа.Мы уверены, что чем больше среди нас творческих людей, тем лучше становится мир. Наша цель — сдела...

[Перевод] Учимся писать информативные комментарии к GIT-коммитам используя общепринятую семантику Когда я только знакомился с системами контроля версий (особенно с git), я рассматривал их только как приложения, которые помогают мне хранить историю изменений моего кода. Т.е. когда случается что-то нехорошее, я могу просмотреть историю коммитов и вернуться к последнему «хо...

Работа с базами данных глазами разработчика Когда вы разрабатываете новый функционал с использованием базы данных, цикл разработки обычно включает следующие этапы (но не ограничивается ими): Написание SQL миграции → написание кода → тестирование → релиз → мониторинг. В этой статье я хочу поделиться некоторыми практ...

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

[Перевод] Эмуляция компьютера: интерпретатор CHIP-8 Меня, по ряду причин, всегда завораживала эмуляция. Программа, которая выполняет другую программу… Мне эта идея кажется невероятно привлекательной. И у меня такое ощущение, что тот, кто напишет подобную программу, не пожалеет ни об одной минуте потраченного на это времени....

Что установлено на моём iPhone в 2020 году Что установлено на моём iPhone? Всем интересно, какие приложения используют другие владельцы смартфонов. И именно поэтому я решился на написание данного материала. По правде говоря, с недавнего времени я решил существенно сократить использование телефона по одной простой при...

Google запустила альтернативу VPN для бизнеса SaaS-решение, основанное на подходе с нулевым доверием (Zero Trust), применяется внутри Google в течение последних десяти лет, а его компоненты испытаны тысячами сторонних клиентов Google Cloud. Об этом компания сообщила в своем блоге.Пандемия коронавирурсной инфекции COVID-...

Практика создания единого шаблона проектов на базе Azure DevOps (TFS) В одной из прошлых статей мы писали, как всей компанией перешли на единый трекер на базе Azure DevOps (TFS). Это позволило нам создать единый свод правил для ведения проектов. Рассказываем, как наш проектный офис разработал логику, по которой сейчас работают все наши команды...

Ищем цепочку событий в потоке данных с помощью FlinkCEP В данной статье речь пойдет об использовании открытой платформы Apache Flink для обнаружения цепочки последовательности событий. Статья подойдет как для начинающих разработчиков в области обработки потоковых данных, так и для тех, кто желает познакомиться с Apache Flink. Н...

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

[recovery mode] Развитие осознанного лидерства для управления командой *На фотографии моя голограмма из моего приложения. Эта статья про меня, про мои знания и опыт. В ней я расскажу, как мне помогает осознанное лидерство. Я больше 12 лет изучаю менеджмент. За последние 3 года я сильно поменял свое отношение к управлению людьми. Осознанное л...

Nuke: настраиваем сборку и публикацию .NET-проекта В настоящее время существует множество систем CI/CD. У всех есть определенные достоинства и недостатки и каждый выбирает себе наиболее подходящую под проект. Цель данной статьи - познакомить с Nuke на примере web-проекта, использующего уходящий на покой .NET-Framework с приц...

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

Семь руководящих принципов ITIL 4 Год назад компания Axelos представила четвёртую версию ITIL, библиотеки лучших практик управления ИТ-услугами. Один из ключевых её разделов посвящён руководящим принципам ITIL 4 (The ITIL guiding principles). Вместе с потоками создания ценностей и практиками, которые приш...

[Перевод] Структурные шаблоны проектирования в ES6+ на примере Игры престолов Доброго времени суток, друзья! Структурные шаблоны проектирования используются для построения больших систем отношений между объектами с целью сохранения гибкости и эффективности. Давайте рассмотрим некоторые из них с отсылками на Игру престолов. В разработке программног...

Проверка макросов XLM во время выполнения теперь доступна в Microsoft Excel Excel 4.0 (XLM) — это старый язык макросов, который Microsoft выпустила для Excel еще в 1992 году. Хотя это устаревший язык, и большинство организаций с тех пор перешли на Visual Basic for Applications (VBA), некоторые продолжают использовать XLM из-за его функциональных воз...

[recovery mode] Все ли вы знаете о React key? Привет, Хабр! Я время от времени провожу собеседования, и когда вопрос касается React key, чаще всего я вижу недоумевающий взгляд, намекающий “Да, там и спрашивать вроде нечего?”. Если Вам кажется React key понятным и простым, тогда давайте проведем мини собеседование (данна...

Process Mining как эволюция «научного управления» — и наша открытая библиотека для анализа Process Mining – это мост между Data Mining и Process Management. Это подход к извлечению, анализу и оптимизации процессов на основе данных из журналов событий (event logs), доступных в информационных системах. Мы разработали и открыли библиотеку, позволяющую быстро и достат...

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

Отчет DORA за 2019 год: как повысить эффективность DevOps Несколько лет назад многие организации рассматривали DevOps как перспективный эксперимент, а не основной подход к разработке программного обеспечения. Сейчас DevOps — проверенный и мощный набор практик и инструментов разработки и развертывания, позволяющий ускорить релизы ...

Apple заменит «Сообщения» на Mac новым приложением из iOS 14 На днях мы писали о том, что в этом году некоторые хакеры и блогеры могли получить доступ к ранней сборке iOS 14. Этим обуславливается большое количество утечек, скриншотов и другой информации о новой версии мобильной операционной системы Apple. Особо находчивые начали взаи...

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

Бонусная программа казино Адмирал X Азартные игры издавна являются одним из самых популярных развлечений людей. С каждым столетием игры меняли свой вид и становились более увлекательными и функциональными. Главной особенностью азартных игр является возможность играть на деньги и в случае выигрыша получать сраз...

Руководители AMD рассказали о Zen 4 и RDNA 3 Издания AnandTech и The Street опубликовали интервью с высшими руководителями AMD, которые пролили свет на планы компании, касающиеся разработки процессорного ядра Zen 4 и графический архитектуры RDNA 3. Начиная с Zen 4, AMD планирует перейти на платформу AM5, добавив ...

[Перевод] Современные решения старых CSS-задач (1 часть): Удержание футера внизу страницы Приветствую. Представляю вашему вниманию перевод статьи «Keep the Footer at the Bottom: Flexbox vs. Grid», опубликованной 8 апреля 2020 года автором Stephanie Eckles Это первая статья из серии, посвящённой ознакомлению с современными способами решения CSS-проблем, с которы...

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

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

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

Решение нескольких задач от Amazon на примере JavaScript Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang. В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений. После ознакомления с ...

Что выбрать в качестве библиотеки компонентов для React-проекта Меня зовут Ксюша Луговая. В СберКорусе я занимаюсь поддержкой библиотеки React-компонентов Korus-UI. С проблемой выбора библиотеки рано или поздно сталкивается почти каждый разработчик, и порой решение может быть нетривиальным. Возникают вопросы: чем руководствоват...

(Не)очередной MQTT телеграм бот для IoT Всем привет! Сегодня хочу поделиться опытом разработки универсального телеграм бота для получения информации и управления IoT устройствами посредством протокола MQTT. Почему (не)очередной? Потому что это не просто бот с двумя захардкоженными кнопками для управление лампочк...

Мой топ полезных инструментов для Unity разработчика Всем привет! Меня зовут Григорий Дядиченко, и я всё ещё разрабатываю проекты на Unity под ключ. Сегодня хочется поговорить про полезный инструментарий для Unity разработчика. У меня давно на эту тему есть свой топ ассетов или софта, которые используются почти в каждом проект...

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

Инвалидной коляской научились управлять движениями глаз Движения глаз смогут в прямом смысле стать движением благодаря разработке российских студентов, создавших новый нейроинтерфейс. Студенты Политехнического института (ПИ) ДВФУ Сергей Стабров, Никита Смадыч, Владимир Мурсалимов и Денис Штакин из команды «Панки британской импери...

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

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

[Перевод] Чистые тесты на PHP и PHPUnit В экосистеме PHP существует много инструментов, обеспечивающих удобное тестирование на PHP. Одним из самых известных является PHPUnit, это почти синоним тестирования на этом языке. Однако о хороших методиках тестирования пишут не так много. Есть много вариантов, для чего и ...

Google хочет сделать из Android и хромбуков альтернативу iPhone и Mac Что такое экосистема Apple, о которой принято говорить с придыханием? По сути, ничего сакрального в ней нет. Это всего лишь несколько устройств, которые просто могут работать в паре друг с другом. Например, Apple Watch могут разблокировать Mac, а iPhone позволяет продолжить...

Nothing At Stake: компромиссы с совестью Очень коротко о себе. Как-то давно на Хабре обо мне писали в этой статье, однако часть аудитории, интересующаяся блокчейн технологиями, почти наверняка знакома с моей работой через проект Monero, у которого оригинальная кодовая база(CryptoNote) была разработана в основном м...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

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

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

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

(Spring) State in the (Spring) Shell: не продакшном единым Эй, как насчет интерактивной командной оболочки с автодополнением, помощью и прочим? И без заморочек да еще и на JVM? Головной болью на работе для меня стал Postman. Хотя на словах мы все TDD и по красному огоньку Cucumber видим, что именно сломалось, но на практике приходи...

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

Как настроить родительский контроль на Android Family Link — лучшее приложение родительского контроля на Android Несмотря на то что Digital Wellbeing принято считать аналогом «Экранного времени» для Android, на самом деле у них есть одно весьма ощутимое отличие. Если ограничительный режим в исполнении Apple позволя...

Небольшой гайд по выбору 3D-принтера для начинающих Поводом для написания данной статьи послужила статья “Я хотел купить недорогой 3D-принтер, но посмотрел YouTube и расхотел”, в конце которой автор просит ответить на несколько вопросов. Попробую ответить с точки зрения своего семилетнего опыта 3D-моделера и 3D-печатника. Для...

HandsAppMVP: iOS-архитектура для студии аутсорс разработки Хороший код начинается с архитектуры, и iOS-приложения не исключение. Есть много стандартных паттернов, но цель этой статьи рассказать не о них, а об опыте адаптации одного из них и выработке собственного. Мы назвали эту адаптацию HandsAppMVP. Читать дальше →

Онлайн-интенсив «Service mesh» 19—21 марта Для тех, кто работает на проектах с развитой или развивающейся микросервисной архитектурой, мы в «Слёрме» готовим трехдневный интенсив по service mesh, он пройдет с 19 по 21 марта. Внедрение service mesh на самом низком уровне радикально меняет инфраструктуру, поэтому любые...

[Из песочницы] Кодогенерация в Go на примере создания клиента к БД В данной статье хотелось бы рассмотреть вопросы кодогенерации в Golang. Заметил, что часто в комментариях к статьям по Go упоминают кодогенерацию и рефлексию, что вызывает бурные споры. При этом на хабре статей по кодогенерации мало, хотя она применяется довольно много где в...

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

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

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

Современные всплывающие окна в Windows 10 Windows 10 является более открытой платформой, чем ее конкуренты, и существует множество приложений, которые могут изменить вашу систему. Сегодня мы собираемся более подробно рассмотреть новое приложение под названием «ModernFlyouts», в котором особое внимание уделяется изме...

Вы решили присоединиться к разработке open source продукта. К чему готовиться? Здравствуйте, написать эту статью меня побудил мой опыт участия в open-source проекте Apache Cloudstack, куда я периодически отправляю фичи и багфиксы. Меня нельзя назвать активным контрибьютором, поскольку я вношу вклад лишь время от времени, когда мне что-то требуется от п...

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

CI/CD на AWS, Azure и Gitlab. Новый курс от OTUS Внимание! Данная статья не является инженерной и предназначается читателям, которые интересуются образованием в области CI/CD. Вероятнее всего, если Вы не заинтересованы в обучении, данный материал не будет Вам интересен. Если вы разработчик или администратор, отвечающий ...

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

Отпилит ли Cisco SD-WAN сук, на котором сидит DMVPN? С августа 2017 года, когда компания Cisco приобрела компанию Viptela, основной предлагаемой технологией организации распределенных корпоративных сетей стала Cisco SD-WAN. За прошедшие 3 года SD-WAN технология прошла множество изменений, как качественного, так и количественно...

Обзор Veeam Backup & Replication v11 Версии Veeam Backup & Replication перевалили на второй десяток — и сегодня вашему вниманию предлагается уже Veeam Backup and Replication v11. Что же его разработчики подготовили на этот раз? Уместить в одной статье описание всех новых и обновленных фич, конечно, нереальн...

Поддержка геймпада для эмулятора Omega Red Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 1, PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Новый PS1 графический рендерер для эмулятора Omega Red Omega Red + PS1 эмулятор = Кодзима гений PS2/PSP эмулятор + game p...

Microsoft разрабатывает возможность запуска Android приложений в Windows Предполагается, что Microsoft разрабатывает новую программную среду, которая позволит легко и быстро преобразовать приложения Android в пакет приложений MSIX, который без проблем работает в Windows. Если проект окажется успешным, некоторые из самых популярных приложений для ...

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

[Из песочницы] Краткий обзор системы Apache NlpCraft В данной статье я бы хотел познакомить читателей с одним из проектов Apache Software Foundation сообщества — NlpCraft. NlpCraft — библиотека с открытым исходным кодом, предназначенная для интеграции языкового интерфейса в пользовательские приложения. Цель проекта — тотальн...

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

Базы данных в IIoT-платформе: как Mail.ru Cloud Solutions работают с петабайтами данных от множества устройств Привет, я Андрей Сергеев, руководитель группы разработки IoT-решений в Mail.ru Cloud Solutions. Известно, что универсальной базы данных не существует. Особенно когда нужно построить платформу интернета вещей, способную обрабатывать миллионы событий от датчиков в секунду в р...

Оффер в Лондон за один день: как его получить и чем заняться после переезда Привет, Хабр! На 2020 год у нас большие планы. Мы намерены активно развивать Badoo и Bumble, поэтому серьёзно расширяем техническую команду. И сегодня мы объявляем о масштабном найме PHP-разработчиков в наш лондонский офис.  В 2017 году мы попробовали новый формат поиска —...

Зачем (не)нужны геттеры? Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместн...

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

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

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

[Перевод] Пишем интерпретатор BASIC в стиле 80-х В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным ...

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

[Из песочницы] Финансовый нюанс в проектном соглашении IT-проекта Очень много написано и сказано про сломанные копья при первоначальном привлечении финансирования на нулевой стадии IT-проекта. При этом основной интерес представляет именно рассмотрение процесса взаимодействия и урегулирования конфликтов среди основных участников проекта в х...

Качество данных: как перестать его повышать и начать им управлять? На конференции «Качество данных 2020» Алексей Незнанов рассмотрит типичные ошибки в области управления качеством данных. &laquo;Грязные&raquo; данные грозят похоронить любой проект, основанный на аналитике. Но в подавляющем большинстве проектов управлению качество...

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

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

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

[Перевод] Vue 3 Composition API: Ref или Reactive Сейчас, когда я пишу эту статью, мы все ближе к релизу Vue 3. На мой взгляд самое интересное наблюдать как воспримут и будут применять его другие разработчики. У меня была возможность поиграть с Vue 3 в последние несколько месяцев, но я знаю есть те, у кого такой возможнос...

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

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

Windows 10 LTSC 2021: дата выхода, поддержка устройств и ОС Microsoft на днях анонсировала Office 2021, и компания использовала эту возможность, чтобы также представить новую политику обновления не только для пакета повышения производительности, но и для своей операционной системы Windows 10. Office LTSC и Windows 10 LTSC получат под...

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

Релиз ruleguard v0.3.0 А что, если я скажу вам, что линтеры для Go можно создавать вот таким декларативным способом? func alwaysTrue(m dsl.Matcher) { m.Match(`strings.Count($_, $_) >= 0`).Report(`always evaluates to true`) m.Match(`bytes.Count($_, $_) >= 0`).Report(`always evaluates ...

[Перевод] О реализации структуры данных Map в V8 В стандарте ECMAScript 2015, известном как ES6, появилось много новых JavaScript-коллекций, таких, как Map, Set, WeakMap и WeakSet. Они, судя по всему, стали отличным дополнением к стандартным возможностям JavaScript. Они получили широкое применение в различных библиотеках,...

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

FreeBSD. Трансляции, тэги и якоря в PF Файрвол PF в ОС FreeBSD FreeBSD. Фильтрация трафика PF FreeBSD. Трансляции, тэги и якоря в PF <- Вы здесь Введение В прошлых статьях мы разобрали, что такое PF вообще, общие принципы построения правил. Узнали о таблицах и способах фильтрации трафика PF. И создали конфиг...

Они вам не мимими. Научный взгляд на мемы с котиками и наш новый стикерпак для «ТехноТекста» Как говорится, «ничего не предвещало». Мы просто решили создать забавный стикерпак с нашим мемом-маскотом Хабраслизнем в поддержку конкурса «ТехноТекст-2020».  Потом поняли, что нужно как-то представить его публике — и кому-то пришла в голову идея разобраться в том, что...

[Перевод] Итерируемые объекты и итераторы: углублённое руководство по JavaScript Эта статья представляет собой углублённое введение в итерируемые объекты (iterables) и итераторы (iterators) в JavaScript. Моя главная мотивация к её написанию заключалась в подготовке к изучению генераторов. По сути, я планировал позднее поэкспериментировать с комбинирован...

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

Приложение Google Phone может добавить поддержку функции записи звонков Код, добавленный в последнюю версию приложения Google Phone, предполагает, что в будущем оно сможет поддерживать встроенную запись вызовов. Разработчики XDA первыми обнаружили код, который появился в приложении, загруженном в Pixel 4. Приложение для набора номера несет в себ...

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

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

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

Конвертируем doc в docx и xml на C# Продолжаю свой цикл статей, посвященный конвертации различных текстовых файлов с помощью решений, реализованных на языке C#. С момента моей последней публикации «Конвертация xls в xlsx и xml на C#» прошло более полугода, за которые я успел сменить как работодателя, так и пер...

Приложение Google Телефон получит поддержку функции записи звонков Код, добавленный в последнюю версию приложения Google Phone, предполагает, что в будущем оно сможет поддерживать встроенную запись вызовов. Разработчики XDA первыми обнаружили код, который появился в приложении, загруженном в Pixel 4. Приложение для набора номера несет в себ...

Приложение Google Телефон получит поддержку функции записи звонков Код, добавленный в последнюю версию приложения Google Телефон, предполагает, что в будущем оно сможет поддерживать встроенную запись вызовов. Разработчики XDA первыми обнаружили код, который появился в приложении, загруженном в Pixel 4. Приложение для набора номера несет в с...

[Перевод] Топ-10 книг для разработчика Совершенствоваться в сфере разработки — это не только писать хороший код, но и читать о том, как его писать. Привет, хабр! Продолжаю делиться полезными подборками. Совсем недавно я опубликовал 2 поста с перечнем Github репозиториев: Часть1 и Часть2. На этот раз предлагаю в...

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

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

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

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

Провайдер логирования для Telegram (.NET 5 / .NET Core) Не секрет, что Telegram является на данный момент одним из самых популярных мессенджеров. Особенно в среде ИТ-специалистов. Он удобен, в нем нет встроенной рекламы и работает весьма стабильно. Довольно большую часть времени я общаюсь как по работе, так и по личным вопросам и...

Пользователи iPhone 11 пожаловались на проблемы с GPS iPhone 11 страдают от проблем с работой GPS, но не у всех К хорошему привыкаешь быстро. Именно поэтому никто даже внимания не обратил на то, что запуск iPhone 11 прошёл относительно гладко. Если сравнивать его с iPhone XS, который из-за сбоя в программном обеспечении из коро...

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

Адаптивный дизайн в iOS с UIStackView UIStackView - мой выбор, когда дело касается упаковки View в Auto layout. Хорошо в UIStackView то, что с его помощью можно просто сделать адаптивный дизайн. В этой статье я расскажу о том, как адаптировать UIStackView к разным размерам экрана.

[Перевод] Эффективная конструкция агрегатов. Моделирование одиночного агрегата Эта статья является конспектом материала Effective Aggregate Design Part I: Modeling a Single Aggregate.Объединение сущностей (entities) и объектов значений (value objects) в агрегат с тщательно продуманными границами согласованности может показаться простым, но из всех такт...

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

МТС выводит SD-WAN Новая услуга "Управляемый VPN" позволяет логически объединять несколько каналов связи в один, автоматически в режиме реального времени перераспределять нагрузку между каналами для обеспечения бесперебойной работы и осуществлять настройку оборудования клиента во всех филиалах...

[Перевод] Приложение отвечает: как мы уменьшили количество ANR-ошибок в шесть раз. Часть 1, про сбор данных Пожалуй, одна из худших проблем, которая может случиться с вашим приложением, — ошибка ANR (Application Not Responding), когда приложение не отвечает. Если таких ошибок много, они могут негативно влиять не только на пользовательский опыт, но и на позицию в выдаче Google Play...

В России платформу Digital Workplace запустила Kissflow Компания Kissflow, являющаяся лидером в области разработки программных средств для управления рабочими и бизнес-процессами, используемых организациями более чем 160 стран, запустила в России свою платформу Digital Workplace, которая полностью доступна на русском языке. D...

[Перевод] Пишем загрузчик на Ассемблере и C. Часть 1 Эта статья представляет собой ознакомительный материал о написании загрузчика на С и Ассемблере. Сразу скажу, что здесь я не буду вдаваться в сравнение производительности итогового кода, созданного на этих языках. В этой работе я просто вкратце изложу процесс создания загр...

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

Взаимодействие SwiftUI с Redux Всем привет. В данной статье мы будем говорить о фреймворке SwiftUI в связке с Redux, эта связка позволяет нам быстро и просто создавать приложения. SwiftUI служит для создания пользовательского интерфейса в декларативном стиле в отличии от UIKit. В свою очередь Redux служ...

Какое отношение ITIL имеет к DevOps? Гораздо большее, чем вы думаете Прошло около десяти лет с тех пор, как DevOps впервые ворвался в мир технологий, обещая свежим сильным ветром перемен разрушить организационные колодцы и прежние способы работы, которые душили способности компаний к инновациям. Многие приверженцы DevOps восприняли его как пр...

[Из песочницы] База данных на ScriptableObject c системой сейва/загрузки Введение В каждой игре есть данные, с которыми работают гейм-дизайнеры. В рпг — это база данных айтемов, в матч-3 — стоимость в кристаллах инструментов из магазина, в экшенах — количество хп, на которое лечит аптечка. Для хранения таких данных существует много способов — кт...

[Перевод] Магические сигнатуры методов в C# Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK. Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. ...

[Перевод] Скрам умер. Да здравствует канбан Я пользовался методом управления проектами Scrum (скрам) с самого начала карьеры. Я изучал скрам в колледже. Тогда он считался лучшим методом управления разработкой программного обеспечения. Когда я начал работать, мне нравилось всё, что имеет отношение к скраму: ежедневные ...

Сервис на языке Dart: введение, инфраструктура бэкэнд Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL. 2.3. Серверное приложение на Dart. … 3. Web 3.1. Заглушка «Under construction» … 4. Mobile … Введение Меня, Flutter-разработч...

Погружение в Threat Intelligence: кому и зачем нужны данные киберразведки Привет! Меня зовут Антон, я владелец продукта R-Vision Threat Intelligence Platform (TIP). От создания первых прототипов решения до реализации пилотных проектов по его внедрению прошло уже более трех лет, и мне захотелось поделиться накопленным опытом и набитыми шишками с со...

Microsoft делает еще один шаг к преодолению разрыва между Win32 и UWP в Windows 10 Как вы, возможно, знаете, Project Reunion – это последний проект Microsoft, призванный упростить разработку приложений для Windows 10. Project Reunion разрабатывается для преодоления разрыва между двумя важными платформами приложений (API) для Windows 10 – Win32 (настольный ...

Правила своевременного приготовления вкусного программного обеспечения. Часть 1: границы возможностей Ранее в статье «JIRA как средство от бессонницы и нервных срывов» был предложен вариант применения JIRA для управления проектом по разработке программного обеспечения в интересах крупного государственного заказчика. Однако неосторожное обращение со средствами автоматизации у...

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

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы. В качестве линтера я решил использов...

Российские пасхалки в мобильных приложениях. Какие они? Привет, Хабр! Уже завтра День программиста (12.09.2020), и специально к нашему профессиональному празднику я написал не хардкорно-технический пост, а лайтовую статью о маленьких, не всегда очевидных фичах, которые хоть и не часто, но встречаются в мобильных приложениях и не ...

Использование TSDuck для мониторинга IP(TS)-потоков На сегодняшний день существуют готовые (проприетарные) решения для мониторинга IP(TS)-потоков, например VB и iQ, они обладают достаточно богатым набором функций и обычно подобные решения имеются у крупных операторов, имеющих дело с ТВ-сервисами. В этой статье описывается реш...

[Из песочницы] Особенности проектирования модели данных для NoSQL Введение «Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!» (с) Алиса в стране чудес Некоторое время назад меня попросили прочитать лекцию аналитикам нашей компании на тему проектирования моделей дан...

Microsoft разрабатывает новое приложение Outlook для Windows и Mac По сообщениям сетевых источников, компания Microsoft разрабатывает новый универсальный клиент Outlook для платформ Windows и Mac, который в будущем заменит приложения Почта и Календарь в Windows 10. Приложение разрабатывается под кодовым именем Monarch, а его основой стала в...

[Из песочницы] IOptions и его друзья Во время разработки часто возникает потребность для вынесения параметров в конфигурационные файлы. Да и вообще — хранить разные конфигурационный константы в коде является признаком дурного тона. Один из вариантов хранения настроек — использования конфигурационных файлов. .Ne...

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

[Перевод] Блеск и нищета модельно ориентированного проектирования по авиационным стандартам DO-331 В предыдущих статьях про модельно-ориентированное проектирование Как не повторить Чернобыль, Электропривод с бесколлекторным двигателем постоянного тока, и Создание достоверной модели, на примере авиационного теплообменника, я показал на примерах, что не все методики модельн...

Почему сотрудники компаний так любят технику Apple (и как это использовать) Большинство сотрудников выбирают технику Apple. И на то есть свои причины Почему многие выбирают технику Apple? Пожалуй, ответ на этот вопрос вряд ли можно уместить в одну статью. С точки зрения обычного пользователя все более или менее очевидно: те же компьютеры Mac гораздо...

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

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

Эффективен ли TDD? Во время интересной дискуссии, один очень уважаемый человек «козырнул» «неубиваемым» аргументом:Есть полно исследований, демонстрирующих эффективность TDD Действительно. Если зайти на Google Scholar, забить ключевые слова «TDD» и «Эффективность» — будет много научных статей,...

ITIL®4 Specialist CDS: внутренняя культура и коммуникации Внутренняя культура организации является одним из наиболее важных компонентов управления услугами, но в большинстве случаев разговоры о ней  ограничиваются словами о «мягких навыках» (soft skills). Поскольку успешность изменений очень сильно зависит от внутренне...

Простой service discovery в Prometheus через Consul Закон Парето (принцип Парето, принцип 80/20) — «20 % усилий дают 80 % результата, а остальные 80 % усилий — лишь 20 % результата». WikipediaПриветствую тебя, дорогой читатель! Моя первая статья на Хабр посвящена простому и, надеюсь, полезному решению, сделавшим для меня сбор...

Разработка плагинов для Zabbix Agent 2 На последнем Zabbix Summit 2019 вместе с выходом Zabbix 4.4 был анонсирован новый Zabbix Agent 2, ключевая фишка которого — возможность написания плагинов к нему на языке Go. И многие сразу стали спрашивать: а как же, собственно, эти плагины писать, как они устроены? Где взя...

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

Создание сайтов с BX master Ведение бизнеса в современном мире требует много знаний и быстрой адаптации к новым тенденциям и направлениям. Сегодня сложно представить себе развитие бизнеса без привлечения интернет сетей. Наличие собственного сайта позволяет заявить о себе и о своей продукции на площадка...

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

Ещё один велосипед: храним юникодные строки на 30-60% компактнее, чем UTF-8 Если вы разработчик и перед вами стоит задача выбора кодировки, то почти всегда правильным решением будет Юникод. Конкретный способ представления зависит от контекста, но чаще всего тут тоже есть универсальный ответ — UTF-8. Он хорош тем, что позволяет использовать все сим...

Как мы решали проблему трех монолитов В стратегиях большинства компаний все чаще упоминается цифровизация: одни компании пытаются внедрять современные технологии (например, Big Data, IoT, AI, blockchain), другие — повсеместно автоматизируют свои внутренние процессы. Несмотря на растущие усилия и инвестиции во вн...

Go, локдаун и новый MPD-клиент — встречайте Ymuse Уже лет десять моим основным медиаплеером на компьютере является MPD, Music Player Daemon — фоновый сервис, воспроизводящий музыку. Чтобы с этим сервисом как-то взаимодействовать, нужна программа-клиент. Таких программ существует не один десяток, но до недавнего времени я ни...

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

Модель управления IT в одной продуктовой компании Если ты стал руководителем в IT, то у тебя большие проблемы – достаточно сложно найти описанные модели организации производства и набора KPI's для CTO и CIO. Задача любого управленца любой отрасли – следить за конкурентами, «state of the art»- примерами и приносить лучшие пр...

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

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

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

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

[Из песочницы] Анимация в KAPIA. «Лучше один день потерять, чтобы потом за пять минут долететь» Анимация в KAPIA Добрый день! Меня зовут Павел. Я являюсь программистом и аниматором маленькой семейной команды по разработке игр. Я и моя жена делаем 3Д адвенчуру в постапокалиптическом мире. За время разработки мы изобрели свои технические “велосипеды” с которыми я хотел...

[Перевод] Создаем разрушаемые объекты в Unreal Engine 4 и Blender Современные игры становятся все реалистичнее, и один из способов этого добиться — создать разрушаемое окружение. К тому же, крушить мебель, растения, стены, здания и целые города просто весело. Наиболее яркими примерами игр с хорошей разрушаемостью можно назвать Red Fract...

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

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

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

Apple запретит установку некоторых iOS-приложений на Mac с M1. Что дальше? Меня всегда удивлял кардинальный разный подход Apple к обеспечению пользователей iOS и macOS доступом к приложениям. Если на Маках они всегда были вольны загружать любой софт откуда угодно без каких-либо ограничений, то на айфонах единственным источником стороннего ПО для н...

Как весь мир пытался создать альтернативу Android, но не смог Были ли альтернативы Андроиду? Android-смартфоны сегодня доминируют на рынке телефонов. Многие даже не знают, что когда-либо существовали альтернативы не в виде iOS, которой уж очень тяжело тягаться с Android за счет того, что это закрытая операционная система, привязанная к...

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

Синхронизация продуктовых команд в Sportmaster Lab (часть 1) Привет! Меня зовут Петр Александров, я много лет работал руководителем проектов и живо интересовался вопросами календарного планирования, достижения дедлайнов и координации работ во времени. Сейчас я лидер продукта «Портал метрик продуктовых команд» в SM Lab и работаю с прод...

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

[Перевод] Лучшие практики bash-скриптов: краткое руководство по надежным и производительным скриптам bash Shell wallpaper by manapi Отладка сценариев bash — это как поиск иголки в стоге сена, тем более, когда новые дополнения появляются в существующей кодовой базе без своевременного рассмотрения вопросов структуры, логирования и надежности. В таких ситуациях можно оказаться ка...

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

[Перевод] Использование «глобального» await в JavaScript Новая возможность, которая может изменить наш подход к написанию кода JavaScript — очень гибкий и мощный язык, который определяет развитие современного веба. Одна из основных причин главенства JavaScript в сфере веб-разработки заключается в его стермительном развитии и по...

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

Отечественный микроконтроллер К1986ВК025 на базе процессорного ядра RISC-V для приборов учета электроэнергии Добро пожаловать в эпоху RISC-V! Решения на базе открытого стандарта системы команд RISC-V всё чаще появляются на рынке. Уже в серийном производстве микроконтроллеры от китайских коллег, интересные решения предлагает Microchip с FPGA на борту. Растет экосистема ПО и средст...

DataGovernance своими силами Привет, Хабр! Данные — это ценнейший актив компании. Об этом заявляет чуть ли не каждая компания с цифровым уклоном. С этим сложно спорить: без обсуждения подходов управления, хранения и обработки данных сейчас не проходит ни одна крупная IT-конференция. Данные к нам посту...

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

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

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

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

Много свободной RAM, NVMe Intel P4500 и все люто тормозит — история о неудачном добавлении раздела подкачки В данной статье я расскажу о ситуации, которая недавно произошла с одним из серверов нашего облака VPS, поставив меня в тупик на несколько часов. Я около 15 лет занимаюсь конфигурированием и траблшутингом серверов Linux, но данный случай совершенно не укладывается в мою прак...

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

[Из песочницы] Как собирать проекты в Jenkins, если нужно много разных окружений На Хабре много статей о Jenkins, но мало где описывается пример работы Jenkins и докер агентов. Все популярные инструменты сборки проектов типа Drone.io, Bitbucket Pipeline, GitLab, GitHub actions и другие, могут собирать все в контейнерах. Но как же Jenkins? На сегодняшний...

Просто о нелинейном анализе методом конечных элементов. На примере кронштейна Привет, Хабр! Цель написания этой статьи – как можно более понятно представить приемы конечно-элементного моделирования на примере такой непростой темы, как нелинейный анализ. Я более семи лет проработал в отделе динамической прочности АО «ВПК «НПО машиностроения», где заним...

Почему в мире стало рождаться больше близнецов? Близнецы из проекта фотографа Питера Зелевски По данным научного журнала Human Reproduction, сегодня в мире рождается больше близнецов, чем когда-либо раньше. По расчетам исследователей, ежегодно на нашей планете на свет появляется около 1,6 миллиона двойняшек, и близнецом я...

[Перевод] Настраиваем DRBD для репликации хранилища на два CentOS 7 сервера Перевод статьи подготовлен в преддверии старта курса «Администратор Linux. Виртуализация и кластеризация». DRBD (Distributed Replicated Block Device — распределённое реплицируемое блочное устройство) представляет собой распределенное, гибкое и универсально реплицируемое р...

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

Создаем веб-приложение на Haskell с использованием Reflex. Часть 1 Введение Всем привет! Меня зовут Никита, и мы в Typeable для разработки фронтенда для части проектов используем FRP-подход, а конкретно его реализацию на Haskell – веб-фреймоворк reflex. На русскоязычных ресурсах отсутствуют какие-либо руководства по данному фреймворку (да и...

[Из песочницы] Использование Enum + Associated Values при навигации и передаче данных между экранами в IOS приложениях В этом посте мне бы хотелось затронуть извечный вопрос об организации навигации и передачи данных между экранами в IOS приложениях. В первую очередь, я хотел бы донести концепт своего подхода, а не убедить вас использовать его как волшебную таблетку. Тут не будут рассматрива...

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

В MacBook появится «профессиональный режим»: но как насчет режима энергосбережения? Базовая версия MacBook Pro 16 стоит примерно 200 000 рублей. Компьютерам Mac зачастую не хватает мощности, а топовые конфигурации, как правило, стоят очень дорого, поэтому многие предпочитают значительно сэкономить и самостоятельно собрать компьютер из тех же комплектующих. ...

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

Мобильные геймеры потратили более $2 млрд в Roblox, США в топе Вы можете любить или ненавидеть Roblox, но это приложение для создания всевозможного контента сейчас точно находится на пике своей популярности, потому что геймеры успели потратить более $2 млрд на неё. И это касается только мобильной версии — в мае 2020 года эта цифра уже д...

Декларативная фильтрация данных на фронте. JS/TS Часто ли вам приходилось писать обработчики фильтрации для ваших данных? Это могут быть массивы для отрисовки таблиц, карточек, списков — чего угодно. Когда фильтрация статическая, то тут все просто. Стандартных функций map, filter и reduce вполне достаточно. Но что делать,...

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

[Из песочницы] Функциональные опции на стероидах Привет, Хабр! Представляю вашему вниманию перевод статьи Functional options on steroids от автора Márk Sági-Kazár. Функциональные опции — это парадигма в Go для чистых и расширяемых API. Она популяризирована Дейвом Чейни и Робом Пайком. Этот пост о практиках, которые появ...

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

Разработка источника питания от трёхфазной сети 380В Рассказываю про разработку источника питания. Эта разработка – концепт-дизайн для проверки на первом этапе функционирования устройства мониторинга, питающегося от трёхфазной сети. Нет особых требований по конструктивному исполнению, а также таргетов по цене. Это всё заказчик...

Еще одна причина установить iOS 13.3 В iOS 13 был серьезный баг с AirDrop Вчера Apple выпустила iOS 13.3. Обновление включает возможность ограничить время общения по сотовой связи, FaceTime или Сообщениям с помощью «Экранного времени», исправление ошибок в «Почте», которые могли препятствовать загрузке новых со...

Умный дом: Строим графики потребления воды и электричества в Home Assistant Каждый раз получая платежку за электричество и воду я удивляюсь — неужели моя семья стооооолько потребляет? Ну да, в ванной установлен теплый пол и бойлер, но ведь они же не кочегарят постоянно. Воду тоже вроде экономим (хотя поплескаться в ванной тоже любим). Несколько ле...

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

АНБ запустила лабораторию для развития квантовых вычислений Проект, получивший название LPS Qubit Collaboratory (LQC), объединит ученых и инженеров из различных отраслей с целью изучения возможностей квантовых технологий. Особое внимание будет уделено разработке кубитов - базовых элементов квантовых процессоров. Среди других задач - ...

Старт работы с Excel на C# В современном мире разработки приложений не редко встает необходимость работы с Excel документами. Чаще всего это разного рода отчеты, но иногда xls/x файлы используются в качестве хранилища данных. Например, если пользователь должен иметь возможность загрузить данные в прил...

[Из песочницы] Легенды и мифы о Customer Development Легенды и мифы о Customer Development Внимание: это “колючая” статья и кому-то не понравится. Не растекаться мыслью, удаляет лапшу, которую многочисленные эксперты, появившиеся в последнее время, развешивают на уши. Сразу скажу, будем рыться в деталях и тонких материях, если...

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

Как быстро получить много данных от Битрикс24 через REST API Нередко при работе с Bitrix24 REST API возникает необходимость быстро получить содержимое определенных полей всех элементов какого-то списка (например, лидов). Традиционный способ для этого - обращение к серверу через метод *.list (например, crm.lead.list для лидов) с параме...

«Листая скучные ГОСТы…» или анализ требований при разработке LED-драйвера Должен признаться – мне нравится разрабатывать LED-драйверы. Видимо есть что-то особенное в том, чтобы создавать свет, какая-то магия. Пусть продолжаются споры про вредность так называемого «синего пика», пускай в магазине мы всё ещё можем купить ужасные светодиодные лампочк...

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

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

Германия, или Туда и Обратно — 1 Почти два года назад, под Новый год, у меня зазвонил телефон. После пары дежурных фраз «как сам, как дети» меня позвали работать в Германию. Я крепко призадумался. С одной стороны, никогда не рассматривал работу за рубежом как что-то реальное. С другой — приглашение ...

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

Как работает округление чисел в Эксель: принципы и настройки Чтобы упростить расчеты, можно самостоятельно настроить формат чисел в Excel: для этого существует целых 3 основных способа и множество разных вариантов получения округленных чисел.

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

Обзор технологий трекинга: AR Маски Всем привет. Меня зовут Дядиченко Григорий, и я люблю трекинг. За последние годы технологии трекинга развивались семимильными шагами и становились всё более и более демократичными. Появилось много технологий самого разного плана. Мне повезло поработать с огромным количеством...

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

Как работает курсор в iPadOS и чем он отличается от компьютерного Вчера Apple обновила iPad Pro и выпустила новую клавиатуру Magic Keyboard для iPad со встроенным трекпадом. Вместе с этим компания анонсировала поддержку полноценного курсора — почти как в MacBook или вашем компьютере на Windows. Было не совсем понятно, каким образом это бу...

[Перевод] USA: Компания PG&E будет строить накопители на Li-Ion от Tesla, NorthWestern делает ставку на газ Здравствуйте, друзья! В статье «Литий-ионные ИБП: какой тип батарей выбрать, LMO или LFP?» мы касались вопроса Li-Ion решений (накопителей, аккумуляторов) для энергосистем частного и промышленного сектора. Предлагаю перевод сводки свежих коротких новостей из США от 3 март...

Калифорния разрешила вывести беспилотные грузовики на дороги общего пользования Законопроект касается полностью беспилотных транспортных средств весом до 4,5 т, которые будут передвигаться по дорогам общего пользования, то есть включает и небольших роботов-доставщиков, способных ездить по автомобильным дорогам. Он может помочь так называемым "телео...

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

[Перевод] Резервирование констант и Git hooks на C# Позвольте мне рассказать вам историю. Жили-были два разработчика: Сэм и Боб. Они вместе работали над проектом, в котором была база данных. Когда разработчик хотел внести в неё изменения, он обязан был создать файл stepNNN.sql, где NNN — некоторое число. Чтобы избежать конфли...

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

Я стал думать над мелочами в коде, и уничтожил все желание программмировать На моей последней проектной работе мне предложили создать решение на .net/c# с нуля. Заложить архитектуру, стандартные либы, практики, и т.д. Приложение планировалось большое, я получил море бюджета на исследование и продумывание всего. В процессе я принял много решений. ...

Apple отклонила 1 млн приложений для App Store в 2020 году и назвала основные причины отказов На этой неделе Apple объявила, что за 2020 год компания отказала в публикации в App Store почти 1 млн приложений. Также были озвучены основные причины, на основании которых разработчики получают отказ в размещении продуктов в фирменном магазине производителя iPhone. Согласно...

[Перевод] 5 возможностей Python, о которых я не знал — а зря Python можно без сомнений называть языком, испытавшим в последнее десятилетие значительный рост, языком, который доказал свою мощь. Я создал множество Python-приложений — от интерактивных карт до блокчейнов. Python обладает огромным количеством возможностей. Начинающим очень...

Распределённая команда и тимлид на удалёнке Привет, меня зовут Григорий. Я работаю тимлидом распределённой команды в Positive Technologies. Это мой рассказ, как я стал лидом распределённой команды, с какими проблемами сталкивался, как их решал и какой опыт получил. Мотивами к написанию статьи стали два факта: во-первы...

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

[Из песочницы] Сквозь тернии к звездам: делаем утройство для наведения лазерной указки на любой небесный объект Привет, Хабр! Решил показать свою небольшую самоделку, которая работает примерно так: Если КДПВ сделала свое дело — тогда добро пожаловать под кат :) Небольшой спойлер Я старался писать так, чтобы было максимально понятно...

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

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

Обзор 3D принтера Anycubic Photon Zero и устройства 2в1 Anycubic Wash&Cure Добро пожаловать в Цветной мир!Сегодня мы расскажем Вам про две интересные новинки от Anycubic.Компания Anycubic существует с 2015 года, но за эти 5 лет уже успела зарекомендовать себя, как производитель 3д-принтеров с очень достойным качеством и вполне приемлемыми ценами. Т...

Ари Партинен, инженер по камерам Nokia Lumia, присоединился к команде Microsoft Surface Складной смартфон Surface Duo, представленный в прошлом году, действительно является инновационным устройством, которое, впрочем, имеет ряд недостатков, среди которых качество камер. Впрочем, вскоре ситуация может измениться. Стало известно, что Ари Партинен присоединился к...

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

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

Этюд по реализация бизнес-логики на уровне хранимых функций PostgreSQL Побудительным мотивом к написанию этюда послужила статья «В карантин нагрузка выросла в 5 раз, но мы были готовы». Как Lingualeo переехал на PostgreSQL с 23 млн юзеров. Показалось интересным то, что одна и та же мысль-"реализовать бизнес-логику в БД". пришла в ...

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

Переезжаем на ClickHouse: 3 года спустя Три года назад Виктор Тарнавский и Алексей Миловидов из Яндекса на сцене HighLoad++ рассказывали, какой ClickHouse хороший, и как он не тормозит. А на соседней сцене был Александр Зайцев с докладом о переезде на ClickHouse с другой аналитической СУБД и с выводом, что ClickHo...

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

3 лучших приложения для отслеживания сна на iPhone и Apple Watch Если вы спите в Apple Watch, попробуйте отследить свой сон Отслеживание сна с помощью Apple Watch — отличный способ со временем получить представление о том, сколько вы на самом деле проводите во сне. Apple наверняка работает над собственными функциями отслеживания сна...

Как найти ошибки в C# проекте, работая под Linux и macOS PVS-Studio – известный статический анализатор кода, позволяющий найти множество каверзных ошибок, скрытых в исходниках. Недавно завершился бета-тест новой версии, в которой появилась возможность анализа C# проектов под Linux и macOS. Кроме того, теперь анализатор можно инте...

[Перевод] Создаем высокопроизводительные микросервисы с помощью gRPC, Ballerina и Go В рамках современной микросервисной архитектуры мы можем разделить микросервисы на две основные группы в зависимости от их взаимосвязи и взаимодействия. Первая группа представляет из себя внешние микросервисы, которые напрямую доступны пользователям. В основном это API на ос...

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

Анализ возможности блокировки приложения для удаленного управления компьютером по сети, на примере AnyDesk Когда в один прекрасный день начальник поднимает вопрос: «Почему у некоторых есть удаленный доступ к раб.компьютеру, без получения дополнительных разрешений на использование?», возникает задача «прикрыть» лазейку. Читать дальше →

Blue-Green Deployment на минималках В этой статье мы с помощью bash, ssh, docker и nginx организуем бесшовную выкладку веб-приложения. Blue-green deployment — это техника, позволяющая мгновенно обновлять приложение, не отклоняя ни одного запроса. Она является одной из стратегий zero downtime deployment и лучше...

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

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

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

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

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

Видеокарты Nvidia оказались немного «надёжнее» адаптеров AMD, при этом чаще всего из строя выходя GeForce RTX 2080 Ti Статистика крупнейшего немецкого онлайн-магазина Mindfactory обычно касается продаж процессоров, изредка — видеокарт. Новые же данные для многих будут намного более полезными. Дело в том, что в Сеть попала статистка, позволяющая в определённой степени оценить надё...

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

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

[Из песочницы] Как трекать людей в масках или универсальный подход к трекингу объектов произвольной природы Введение С тех пор, как нейронные сети начали набирать популярность, большинство инженеров стали решать многие из задач ПО в области Public Safety методами deep learning. Несмотря на то что у нейросетей нет конкурентов в вопросах обнаружения (detection) и распознавания (iden...

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

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

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

Преимущества и подводные камни Azure Cosmos DB Немало баз данных на сегодняшний день стремятся сделать всё, чтобы обеспечить высокую производительность, масштабируемость и доступность, при этом минимизируя сложность и стоимость поддержки. Azure Cosmos DB — отличный пример СУБД, которая легко может обеспечить эти ка...

Увидеть истинное лицо продукта и выжить. Данные о пользовательских переходах как повод написать пару новых сервисов В интернете сотни статей о том, какую пользу приносит анализ поведения клиентов. Чаще всего это касается сферы ритейла. От анализа продуктовых корзин, ABC и XYZ анализа до retention-маркетинга и персональных предложений. Различные методики используются уже десятилетиями, ал...

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

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

Спасти рядового датасайнтиста. Как работать над компьютерным зрением, чтобы сделать проект и не потерять себя Меня зовут Александра Царева. Я и мои коллеги работаем над проектами в сфере компьютерного зрения в Центре машинного обучения компании «Инфосистемы Джет». Мне хочется поделиться нашим опытом разработки и внедрения проектов в сфере компьютерного зрения. В этом материале я р...

[Из песочницы] Urban Bot или как писать чат-ботов для Telegram, Slack, Facebook… на React.js В этой статье я хочу познакомить с новой библиотекой Urban Bot, которая адаптирует React для написания чат-ботов. Ниже я расскажу, зачем эта библиотека появилась на свет, какие дает преимущества и как написать вашего первого чат-бота. Чат-бот — это чаще всего отдельный чат ...

Адаптивный или отзывчивый? Разбираем структуру React-компонентов В этой статье мы разберёмся, в чем сложность написания адаптивных компонентов, поговорим о code-splitting-е, рассмотрим несколько способов организации структуры кода, оценим их достоинства и недостатки и попытаемся выбрать лучший из них (но это не точно). Читать дальше &ra...

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

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...