Социальные сети Рунета
Пятница, 22 января 2021

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

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

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

Разработка приложения с использованием Python и OpenCV на Android устройстве В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительнос...

[Перевод] DRY CSS: Как использовать каждое объявление только один раз Использование DRY в CSS — это способ максимально избегать повторения в таблицах стилей. Этот подход не панацея, но он достаточно эффективен и является одним из основных методов оптимизации. Поскольку я использовал и изучал его почти 10 лет, в этой статье хочу поделиться сво...

xUnit тестирование в TeamCity Microsoft активно развивает свои проекты с открытым кодом, например, ASP.NET Core или MSBuild. Вместе с этим набирает популярность и тестовый фреймворк xUnit, используемый в них для модульного тестирования. В этой статье мы рассмотрим несколько способов запуска xUnit-тестов ...

Ещё одна статья «Как я сдавал PMP». Online. Лайфхаки Привет! Меня зовут, Дмитрий, и я сдал экзамен PMP в 2020 г., онлайн. В своей статье я хочу поделиться субъективным мнением про методику подготовки к экзамену и тех мелочах, которые я хотел бы знать до начала подготовки. Без воды. Статья не содержит неэтичных способов подго...

Запуск ИТ-продукта и проведение маркетинговой кампании: Курс «Создание программного продукта и управление его развитием» Привет, Хабр! Очередной пост в серии публикаций о продакт-менеджменте от компании Acronis посвящен этапам запуска продукта. В этом материале я расскажу о том, какие команды должны быть задействованы в запуске релиза, какие необходимо пройти этапы, почему вам обязательно нуже...

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

Еще один способ установки и использования Docker в Windows 10 В этой статье мы подготовим окружение для запуска контейнеров в Windows 10 и создадим простое контейнеризированное приложение .NET Читать далее

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

Вместо 100 запусков приложения ― один автотест, или как сэкономить QA-инженеру 20 лет жизни Всем привет, меня зовут Евгений Демиденко. Последние несколько лет я занимаюсь разработкой автоматизированной системы тестирования игр в Pixonic. Сегодня я хотел поделиться нашим опытом разработки, поддержки и использования такой системы на проекте War Robots. Для начала ра...

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

Опыт создания продукта в России, или Как создавался “народный” беспроводной пылесос Всем привет! Андрей – предприниматель, CIO, CEO и кайтер. Несколько лет назад я пошел по пути создания и запуска собственного продукта «с нуля» на отечественном рынке (беспроводной пылесос). В этой статье хочу поделиться своим опытом с начинающими и действующими предпринимат...

DataMatrix или как правильно маркировать обувь С 1 июля 2019 года в России введена обязательная маркировка группы товаров. С 1 марта 2020 года под этот закон должна была попасть обувь. Не все успели подготовиться, и в результате запуск перенесли на 1 июля. Lamoda среди тех, кто успел. Поэтому мы хотим поделиться опытом ...

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

Angular: еще один способ отписываться Подписок в коде компонента следует избегать, перекладывая эту задачу на AsyncPipe, однако не всегда это возможно. Есть разные способы завершать подписки, но все они сводятся к двум — ручная отписка или использование takeUntil. Со временем я все чаще стал использовать свой де...

Магия 2-х строк на Lua или как донести исходные заголовки HTTP Authorization header-авторизации до web-сервиcа Статья будет полезна тем: кому необходимо задействовать несколько видов авторизации в одном запросе к серверу; кто хочет открывать сервисы мира Kubernetes/Docker в общий интернет, не задумываясь о способах защиты конкретного сервиса; думает, что всё уже кем-то сделано, ...

[Перевод] Создание небольшого API на Deno В этом посте я хотел бы рассказать и показать процесс создания небольшого API с помощью Deno. Deno — новейшая среда для запуска Javascript и Typescript, разработанная создателем Node.js — Райаном Далем. Читать дальше →

[Из песочницы] Запуск ОС Андроид с SD-карты для устройств на процессоре Amlogic S912 В статье детально, с приведением исходного кода, описывается работа, проведенная по переносу и запуску с SD-карты программной прошивки с ОС Андроид для устройств на процессоре Amlogic S912. Читать дальше →

Web Vulnerabilities Playground Уже 3 ноября в OTUS пройдет день открытых дверей по курсу "Безопасность веб-приложений", в рамках которого вы сможете подробно узнать о курсе и пообщаться с нашими экспертами. А прямо сейчас хотим поделиться с вами авторской статьёй эксперта OTUS, вирусного аналитика в между...

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

Физическая среда или виртуализация? Продолжение тестов Intel Xeon 6242R В предыдущей статье мы рассказывали о базовой оценке производительности новых серверов в нашем облачном проекте на примере теста Гилёва для 1С и 7zip в физической «нативной» среде. Теперь же, когда мы подготовили серверы для работы в нашем виртуализованном кластере, можем п...

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

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

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

Внедрение Multicast VPN на Cisco IOS (часть 2 — mLDP) В прошлой статье мы познакомились с Вами с исторически первым способом организации построения multicast VPN с помощью технологий PIM и mGRE (Часть 1, Profile 0). На сегодняшний день существуют альтернативы запуску P-PIM в опорной сети. В частности, для организации многоадрес...

[Перевод] Подмена DLL (DLL hijacking) Всем привет. Прямо сейчас в OTUS открыт набор на апрельский запуск обновленного курса «Реверс-инжиниринг». В преддверии старта курса мы традиционно подготовили перевод интересного материала. В операционной системе Windows приложения и службы при запуске ищут DLL, необходим...

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

[Перевод] Улучшение Spring Mock-MVC тестов Spring Mock-MVC может быть отличным способом протестировать Spring Boot REST API. Mock-MVC позволяет нам тестировать обработку запросов Spring-MVC без запуска реального сервера.Я использовал тесты Mock-MVC в различных проектах, и по моему опыту они часто бывают дов...

Переход с OpenVPN на WireGuard для объединения сетей в одну сеть L2 Хотел бы поделиться опытом объединения сетей в трех географически удаленных квартирах, в каждой из которых в качестве шлюза используются роутеры с OpenWRT, в одну общую сеть. При выборе способа объединения сетей между L3 с маршрутизацией подсетей и L2 с бриджингом, когда в...

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

Капля в море: Запуск Drupal в Kubernetes Я работаю в компании Initlab. Мы специализируемся на разработке и поддержке Drupal проектов. У нас есть продукт для быстрого создания Ecommerce решений, основанный на Drupal. В 2019 году мы начали решать задачу построения масштабируемой и отказоустойчивой инфраструктуры для...

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

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

Рабочая станция в Docker контейнере Для чего? Мне постоянно приходят всякие идеи и некоторые из них сразу хочется попробовать, но рабочая станция не всегда под рукой, поэтому я настраивал IDE на всем что попадется под руку. В итоге устройства начали захламляться, а поддерживать и обновлять их стало тяжело. Что...

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

Я 20 лет наслаждаюсь разнообразием архитектур и хочу поделиться мыслями Сначала хотел написать комментарий к статье "Я десять лет страдал от ужасных архитектур в C#...", но понял две вещи: Слишком много мыслей, которыми хочется поделиться. Для такого объёма формат комментария неудобен ни для написания, ни для прочтения. Давно читаю...

[Перевод] 9 полезных трюков HTML Приветствую, Хабр! Представляю вашему вниманию перевод статьи «9 Extremely Useful HTML Tricks» автора Klaus. У HTML есть много практических секретов, которые могут вам пригодиться. Но я хочу убедиться, что сайт работает в Internet Explorer и других браузерах. Я использую ...

[Перевод] «Холодный» запуск Android-приложения Всем приветъ! Давно ничего не писал. Это будет серия постов о процессе «холодного» запуска Android приложения, с момента нажатия на иконку и до создания процесса приложения. Читать дальше →

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

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

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

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

[Перевод] Canary Deployment в Kubernetes #2: Argo Rollouts Мы будем использовать k8s-нативный контроллер развертывания Argo Rollouts и GitlabCI для запуска Canary деплоя в Kubernetes https://unsplash.com/photos/V41PulGL1z0 Статьи этого цикла Canary Deployment в Kubernetes #1: Gitlab CI (Эта статья) Canary Deployment using Istio Ca...

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

[Из песочницы] Запускаем браузерные тесты с Cucumber и Selenoid в Gitlab CI c Allure отчетом Cucumber – это инфраструктура тестирования, позволяющая преодолеть разрыв между разработчиками ПО и бизнес-менеджерами. Тесты пишутся на простом языке управляемой поведением разработки (BDD) в стиле Given, When, Then (условия, операция, результат), которой понятен любому пол...

[Из песочницы] Start Up: Организационные и технические аспекты запуска в крупной IT-компании Выбор методологии разработки новых программных продуктов зависит от ряда следующих факторов: новизна и новаторство концепции; понимание клиента, что он хочет; понимание поставщика программных продуктов, что хочет клиент. Парадокс заключается в том, что и тот и другой ошибают...

Успешный запуск. Групповой Rideshare. Запуски 2020 года: 67 всего, 61 успешный, 4 от Европы Вячеслав Ермолин, 3 сентября 2020 г. Текущая статистика запусков 2020 год Миссия: Rideshare SSMS PoC — групповой запуск микро- и наноспутников на солнечно-синхронную орбиту. Запуск также является возвращением в эксплуатацию ракеты-носителя Vega после прошлогодней аварии. ...

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

Отложенные ретраи силами RabbitMQ Меня зовут Алексей Казаков, я техлид команды Клиентских коммуникаций в ДомКлике. В этой статье я хочу поделиться с вами «рецептом», который позволил нам реализовать отложенные ретраи при использовании брокера сообщений RabbitMQ Читать дальше →

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

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable...

[Из песочницы] Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer. Angular — отличный фреймворк. Мы все его любим <3. Одна из вещей, которая делает Angular успешным и прекрасным в...

Повышаем надёжность HttpClient’а в .NET Core или как ошибиться в 3 строках кода 4 раза За несколько недель до 14 февраля системе Dodo IS немного поплохело под нагрузкой. Одной из причин стало то, что в backend’ах мобильного приложения и сайта не совсем корректно работали политики поверх HttpClient’а (Retry, Circuit Breaker, Timeout). В этой статье я хочу подел...

[Из песочницы] Как уменьшить количество и увеличить читаемость кода в react-redux, redux-saga В этой статье я хотел бы поделиться своим опытом использования связки react-redux и redux-saga, а точнее, какой «велосипед» я использую, для уменьшения количества однотипного кода и упрощению его восприятия. Читать дальше →

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

Тестирование android приложений с использованием selenoid. Поиск location в мобильном приложении с помощью Appium Предисловие из поста: Selenoid — это программа, которая позволяет управлять браузерами и Android-эмуляторами с помощью специальных драйверов. Умеет запускать каждый из них изолированно в Docker-контейнере. Основная идея Selenoid состоит в том, чтобы запускать новый контейнер...

Успешный запуск. Спутники Starlink SpaceX и BlackSky. Запуски 2020 года: 61 всего, 55 успешных, 22 от США Вячеслав Ермолин, 07 августа 2020 г. Текущая статистика запусков 2020 года Миссия: Основная: Запуск 57 коммуникационных спутников Starlink-9. Девятый запуск Starlink v1.0. Для будущей системы низкоорбитального коммерческого интернета StarX. Дополнительная: Rideshare. Запу...

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

Мини плата для разработки и отладки ПО на BLE, Zigbee Thread Приветствую читателей Habr! В этой статье хочу поделиться с сообществом своей новой разработкой, речь пойдет о небольшой Development Board на чипе nRF52840. Плата была спроектированна под недорогие модули E73-2G4M08S1C. Идея ее создания родилась в одном уютном телеграмм чати...

[Перевод] [в закладки] Работа с изображениями в веб Одно из решений, которые приходится принимать фронтенд-разработчику при создании сайта, касается выбора способа включения изображений в состав веб-страниц. Этот способ может заключаться в использовании HTML-тега <img>. Это может быть применение CSS-свойства background ...

Grafana+Zabbix: Визуализация работы производственной линии В этой статья я хочу поделиться опытом использования open source систем Zabbix и Grafana для визуализации работы производственных линий. Информация может быть полезна тем, кто ищет быстрый способ визуального отображения или аналитики собранных данных в проектах промышленной ...

Простой способ редактирования, хранения и передачи параметров между job'ами Jenkins Как и любой здоровый человек — могу назвать себя в меру ленивым. Так, например, мне лень писать длинный pipeline (вообще писать руками pipeline лень). И мне не нравится идея гонять туда — сюда файлик, в который придётся писать параметры, для чего городить огород из лишнего ...

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

Как узнать версию iOS на iPhone или iPad: 2 способа Если вы хотите использовать свой iPhone на все сто, вам необходимо знать установленную на нем версию операционной системы. Как правило, ее нужно учитывать при запуске приложений, ведь не все программы одинаково хорошо работают на разных версиях iOS. Как же узнать версию прош...

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

[Перевод] Корутинная эволюция в Kotlin. Чем отличаются Channels, Broadcast channels, Shared flows, State flows Эта публикация — перевод поста Романа Елизарова «Shared flows, broadcast channels». Опубликовано с одобрения автора оригинала. Примечания переводчика выделены курсивом. Давным-давно в Kotlin были представлены корутины, одной из особенностей которых является легковесность (с...

Успешный запуск. 3 спутника на Arian 5. Запуски 2020 года: 62-й общий, 56-й успешный, 3-й от Европы Вячеслав Ермолин, 15 августа 2020 г. Текущая статистика запусков 2020 год Миссия: — Запуск 2-х геостационарных спутников связи. Коммерческие спутники для компаний Intelsat (международная) и BSAT (Япония). — Запуск сервисного спутника MEV-2 для «продления жизни» геостацион...

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

[Перевод] Выжимаем из Gears Tactics максимальную производительность с минимальными артефактами при помощи VRS Gears Tactics — динамичная пошаговая стратегия во вселенной одной из самых известных игровых франшиз — Gears of War. Кроме того, это первая игра, поддерживающая одну из основных функций DirectX 12 Ultimate — Variable Rate Shading (VRS). VRS позволяет Gears Tactics добиться ...

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

Успешный запуск. Спутник ДЗЗ высокого разрешения. Запуски 2020 года: 64-й общий, 58-й успешный, 23-й от Китая Вячеслав Ермолин, 23 августа 2020 г. Текущая статистика запусков Миссия: Запуск гражданского спутника дистанционного зондирования Земли Gaofen-9-05 для государственной программы China High-resolution Earth Observation System (CHEOS). Разрешение менее метра на пиксель. Пят...

Собеседуем кандидата на должность Senior Software Developer Я провел не одну сотню собеседований как с одной стороны, так и с другой. В этой статье я хотел бы поделиться своими опытом, наблюдениями и интересными моментами. Возможно, кого-то это убережет от ошибок, неверных выводов и потерянного времени. Читать дальше →

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

Обрабатываем данные на стороне клиента с помощью WebAssembly WebAssembly (сокр. WASM) — технология запуска предварительно скомпилированного бинарного кода в браузере на стороне клиента. Впервые была представлена в 2015 году и на текущий момент поддерживается большинством современных браузеров. Один из распространенный сценариев исп...

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

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

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

[Перевод] Разрушаем мифы о производительности Android За прошедшие годы возникло немало мифов о производительности Android. Хотя некоторые мифы могут показаться занятными или забавными, пойти по ложному следу при создании эффективных приложений для Android — полная противоположность веселья.В этой статье мы собираемся проверить...

Имитация целенаправленных кибератак, Read Team, Pentest, сканирование уязвимостей. Плюсы и минусы различных методов В данной статье мы попытаемся сделать небольшое сравнение различных способов тестирования безопасности вашей сети и понять, есть ли какие-то преимущества у относительно новых BAS (Breach & Attack Simulations) систем, которые имитируют взлом и кибератаки. Для примера, в...

[Перевод] Linux-контейнеры в паре строчек кода В продолжение прошлой статьи о KVM публикуем новый перевод и разбираемся, как работают контейнеры на примере запуска Docker-образа busybox. Эта статья о контейнерах является продолжением предыдущей статьи о KVM. Я бы хотел показать, как именно работают контейнеры, запустив D...

Атрибут cleanup Цитата из документации GCC [1]: Атрибут cleanup предназначен для запуска функции, когда переменная выходит из области видимости. Этот атрибут может быть применён только к auto-переменным, и не может быть использован с параметрами или с static-переменными. Функция должна прин...

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

[Перевод] Что такое Waypoint и какие возможности дает его использование Пару недель назад я посмотрела демонстрацию Waypoint— нового инструмента, который представила 15 октября 2020 года компания Hashicorp. Инструмента, который предназначен для создания легкого, интуитивного и настраиваемого под пользователя рабочего процесса сборки, развертыва...

[Перевод] SRE: Анализ производительности. Способ настройки с использованием простого вебсервера на Go Анализ производительности и настройка — мощный инструмент проверки соответствия производительности для клиентов. Анализ производительности можно применять для проверки узких мест в программе, применяя научный подход при проверке экспериментов по настройке. Эта статья опреде...

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

Логи в Kubernetes (и не только) сегодня: ожидания и реальность Шёл 2019 год, а у нас всё ещё нет стандартного решения для агрегации логов в Kubernetes. В этой статье мы хотели бы, используя примеры из реальной практики, поделиться своими поисками, встречаемыми проблемами и их решениями. Однако для начала оговорюсь, что разные заказчи...

Полнотекстовый поиск FTS3, FTS4 и FTS5 в Android Полнотекстовый поиск необходим в приложениях для того, чтобы быстро находить совпадения в большом объеме данных. Такая возможность удобна, например, для поиска товаров, фильмов, рецептов, научных статей, а также фрагментов текста в электронных книгах. Хотя зачастую поиск реа...

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

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

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

Стартовал открытый бета-тест Cascadeur Со времени первого анонса Cascadeur в начале 2019 года уже более 18 000 пользователей приняли участие в закрытом бета-тестировании программы. У аниматоров, занимающихся разработкой игр и созданием фильмов, было более 12 месяцев, чтобы испытать в работе наш инструментарий. ...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

Архитектура и дизайн Android приложения (мой опыт) Хабр, привет! Сегодня я хочу рассказать об архитектуре, которой я следую в своих Android приложениях. За основу я беру Clean Architecture, а в качестве инструментов использую Android Architecture Components (ViewModel, LiveData, LiveEvent) + Kotlin Coroutines. К статье прил...

Обзор возможностей PVS-Studio версии 7.07 Цель этой статьи – обзорная демонстрация возможностей статического анализатора PVS-Studio. Самый простой и наглядный способ это сделать – показать работу инструмента на примерах. Будет показана проверка проекта при помощи плагина для Visual Studio, запуск анализатора в опер...

Распознавание объектов на android с помощью TensorFlow: от подготовки данных до запуска на устройстве Обучение нейросети распознаванию образов — долгий и ресурсоемкий процесс. Особенно когда под рукой есть только недорогой ноут, а не компьютер с мощной видеокартой. В этом случае на помощь придёт Google Colaboratory, которая предлагает совершенно бесплатно воспользоваться GPU...

Как мы использовали айтрекер для количественного эксперимента Привет, Хабр. На связи UX-лаборатория Авито. Сегодня хотим рассказать об опыте использования айтрекера для проведения количественного эксперимента. Серьёзных инсайтов и уроков не обещаем, просто поделимся своими мыслями. Расскажем, что вышло из идеи эксп...

[Перевод] Подсчет запросов: Базовое тестирование производительности на Django Всем привет. Мы подготовили перевод еще одного полезного материала для студентов курса «Web-разработчик на Python», который стартовал вчера. Очень часто можно услышать о методах тестирования, таких как TDD, и о том, как тестировать бизнес-логику приложения. Однако тестиро...

[Из песочницы] Вступление в работу с возвратом пользователя: советы для Hooked-модели Всем привет! Я — Сергей, R&D officer в Genesis. В этом тексте хочу поделиться своими знаниями и опытом по созданию привычки использования продукта, рассказать о том, как это влияет на прибыльность бизнеса и почему предпринимателей встречают по возврату. Читать дальше &...

Создание дизайн-системы для игры: детальный разбор подхода Меня зовут Максим Полстяной, я UI/UX Designer в Plarium Kharkiv. В этой статье я поделюсь опытом создания дизайн-системы для нашей браузерной стратегии «Войны Престолов», расскажу с чего все начиналось и какие этапы мы проходили. Читать дальше →

Выбор хорошего инструмента для хранения тест документации и сравнительный анализ 3 выбранных инструментов Ведение документации для тестирования в Google-доках и Google-таблицах — не лучший способ работы с тестовой документацией. Такой подход имеет свои недостатки. В этой статье я расскажу, как мы перешли от хранения тестовой документации с Google docs к специализированным SaaS-р...

PIndastrial shield — модуль питания и интерфейса RS-485 для Raspberry PI Существует множество проектов, где в качестве основы системы используется Raspberry PI, но имеется ряд сложностей с обеспечением питания и взаимодействия с внешними устройствами. Я хотел бы поделиться опытом создания небольшого шилда для миникомпьютера, упрощающего его прим...

Бессерверные вычисления на основе OpenWhisk, часть 4 Эта статья заканчивает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим процесс развертывания OpenWhisk поверх Kubernetes с исправленными командами для работоспособности с актуальными версиями приложений. Также будет описан процесс запуска функ...

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

Есть ли жизнь без Nvidia? Запускаем TensorFlow на Radeon RX 580 На новом рабочем месте меня посадили за ПК, оборудованный процессором Ryzen 2600 и видеокартой Radeon RX 580. Попробовав обучать нейронные сети на процессоре, я понял, что это не дело: уж слишком медленным был процесс. После недолгих поисков я узнал, что существует как миним...

Qualcomm отреагировала на заявление MediaTek о ... Не так давно мастера AnandTech поймали за руку MediaTek в попытках ввести в заблуждение пользователей в части производительности чипов. Как оказалось, процессоры MediaTek способны распознавать запуск программ для тестирования железа и включать «турборежим», ...

[Из песочницы] Apache Kafka и тестирование с Kafka Server Введение Существуют различные способы для написания тестов с использованием Apache Kafka. К примеру, можно использовать TestContainers и EmbeddedKafka. Об этом можно почитать, к примеру, вот здесь: Подводные камни тестирования Kafka Streams. Но существует и вариант для напис...

Онлайн-соревнование для авторов: лучшие «корпоративные» статьи 2020 Привет, Хабр! Хочу поделиться информацией об онлайн-конкурсе для авторов и редакторов, которые занимаются созданием контента для компаний. Главная цель соревнований – показать, что брендированный контент может быть ненавязчивым, интересным и полезным. Читать дальше →

Запуск печати прямо из Fusion 360 - Часть 1 Несмотря на то, что многие скептически относятся к функционалу слайсинга во Fusion 360, я пользуюсь только им с самого релиза (кажется, март 2020). В следующих нескольких статьях я хочу рассказать, что конкретно нужно сделать, чтобы получить G-код своей модельки прямо из фюж...

Собираем логи с Loki Мы в Badoo постоянно мониторим свежие технологии и оцениваем, стоит ли использовать их в нашей системе. Одним из таких исследований и хотим поделиться с сообществом. Оно посвящено Loki — системе агрегирования логов. Loki — это решение для хранения и просмотра логов, также э...

[Перевод] Создание современных процессов CI/CD для бессерверных приложений с Red Hat OpenShift Pipelines и Argo CD. Часть 1 В недавней статье выдвинуто предложение использовать Tekton в качестве фреймворка для облачных пайплайнов CI/CD и Argo CD в качестве идеальной пары для GitOps. Методики GitOps поддерживают непрерывное развертывание в гибридных и мультикластерных средах Kubernetes. В настоящ...

[Перевод] Создаём линзы для SnapChat с использованием pix2pix Почти такой же заголовок носит и моя предыдущая статья, с той лишь разницей, что тогда я создавал линзы для SnapChat алгоритмически, используя dlib и openCV, а сегодня хочу показать, как можно добиться результата, используя машинное обучение. Этот подход позволит не занимать...

Telegram Open Network: теория и практика от валидатора сети В последние несколько месяцев всё внимание мирового блокчейн-сообщества было приковано к запуску одного из самых масштабных криптовалютных проектов — Telegram Open Network (TON). Что на самом деле представляет из себя блокчейн TON? Является ли сеть TON действительно децен...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

[Перевод] Apple M1 предвещает взлет RISC-V Сейчас стало очевидным, что создание чипа Apple M1 — это примечательное событие. Постепенно становятся ясными последствия для всей отрасли. В этой статье я хочу поговорить о связи с микропроцессорами RISC-V.Для начала небольшая предыстория: почему чип Apple M1 такой быстрый?...

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

Final Fantasy VII Remake полностью готов к запуску Представители Square Enix сообщили, что игровой Final Fantasy VII Remake полностью готов к официальному запуску. Напомним, что выход игры запланирован на 10 апреля на платформе PlayStation 4. Задержек запуска не планируется. Разработчики проделали огромную работу над прод...

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

VMware ESXi на Raspberry Pi Ранее мы рассказывали, что VMware ESXi стала доступна для Raspberry Pi. В данной статье мы рассмотрим установку гипервизора и запуск гостевой ОС на Raspberry PI 4 Model B. Читать дальше →

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

[Перевод] Валидация параметров конфигурации Spring Boot при запуске Одним из важных шагов для обеспечения возможности настройки программных приложений является эффективное управление конфигурацией. Современные платформы предоставляют готовые функции для вывода параметров конфигурации. Для некоторых параметров конфигурации имеет смысл не зап...

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

Материальный дизайн. Создание анимаций в Kivy Приветствую всех любителей и знатоков языка программирования Python! В этой статье я покажу, как работать с анимациями в кроссплатформенном фреймворке Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. Мы рассмотрим структуру Kivy проекта, использован...

Инкапсулятор Etherblade.net и импортозамещение сетевых компонентов (часть вторая) В первой статье я хотел показать, что FPGA девелопмент — интереснейшее занятие, а реализация потокового инкапсулятора является достаточно несложным проектом, который вполне мог бы выступить в качестве академического проекта для студентов старших курсов или аспирантуры. Да...

[Перевод] Лучшие практики Kubernetes. Настройка запросов и лимитов ресурсов Лучшие практики Kubernetes. Создание небольших контейнеров Лучшие практики Kubernetes. Организация Kubernetes с пространством имен Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness Для каждого ресурса Kubernetes имеется в...

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

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остано...

[Из песочницы] Различные способы передачи данных в компоненты Angular Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal. В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный...

[Перевод] Способы использования Math.random() в JavaScript Math.random() — это один из API JavaScript. Это — функция, которая возвращает случайные числа. Диапазон возвращаемых чисел представлен значениями от 0 (включая 0, то есть, она может вернуть 0) до 1 (не включая 1, то есть — единицу она вернуть не может). Math.random(); // во...

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

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

Docker и все, все, все TL;DR: обзорная статья-руководство по сравнению сред для запуска приложений в контейнерах. Будут рассмотрены возможности Docker и других схожих систем. Читать дальше →

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

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

[Перевод] Тестирование производительности аналитических запросов в PostgreSQL, ClickHouse и clickhousedb_fdw (PostgreSQL) В этом исследовании я хотел посмотреть, какие улучшения производительности можно получить, используя источник данных ClickHouse, а не PostgreSQL. Я знаю, какие преимущества производительности при использовании ClickHouse я получаю. Будут ли эти преимущества сохранены, если я...

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

[Перевод] Серфинг интернета геймпадом (Javascript) Сидя за столом, вы используете мышку и клавиатуру, сидя на диване — скорей всего тачпад ноутбука или тачскрин планшета. Возможно, вы даже используете Leap Motion и управляете компьютером с помощью жестов. Как вы уже поняли, существует множество способов серфить интернет и у...

Blazor Client Side Интернет Магазин: Часть 6 — Создание заказа и работа с компенсирующими действиями Привет, Хабр! Продолжаю делать интернет магазин и изучать Blazor. В этой части расскажу о том как добавил в него возможность создания заказа, просмотра заказов и работу с последовательностью действий одно из которых может завершиться ошибкой. За подробностями добро пожалов...

ELK, SIEM, Open Distro: Составление отчетов Чтобы защитить вашу корпоративную сеть от угроз и атак, вы всегда должны выполнять тест на уязвимости в своей системе. Для того, чтобы их исправить. Итак, как вы понимаете, работа с отчетами очень важна для любого SOC, потому что она дает обзор уязвимостей, которые могут быт...

[Подборка] 6 no-code инструментов для быстрого запуска продуктов и автоматизации процессов Изображение: Designmodo Еще несколько лет назад запуск любого онлайн-бизнеса был связан с целым рядом сложностей. Нужно было найти разработчиков для запуска сайта – если требовался хоть шаг в сторону от функциональности обычных конструкторов. В том случае, когда требовало...

Закладки и «Избранное» в браузере Safari на Мас: Полное руководство Закладки и «Избранное» в Safari на Мас предлагают легкий способ хранить ссылки на ваши любимые сайты или ресурсы, которые вы хотели бы посетить позднее. В данной статье мы расскажем, как эффективно организовать и управлять закладками и «Избранным» в «яблочном» браузере. ♥ ПО...

Как «готовить» nullable reference types с добавлением appsettings.json В данной статье хочу поделиться своими размышлениями о том, можно ли на современном C# писать код, безопасный от NullReferenceException. Этот зловредный тип исключения не говорит разработчику, в каком конкретно месте у него null. Конечно, от отчаяния можно?.начать?.писать?.о...

Давайте напишем командную оболочку Linux Всем привет! Хочу поделиться своим опытом написания собственной командной оболочки Linux используя Posix API. Усаживайтесь поудобнее.Что должен уметь наша командная оболочка?1. Запуск процессов в foreground и background режиме2. Завершение background процессов3. Поддержка пе...

Электронная книга своими руками на STM32H750 от А до Э В этой статье я хочу поделиться опытом разработки электронной книги с использованием недорогого контроллера STM32H750VB, распространенных дискретных компонентов и относительно недорогого дисплея E-Ink. Статья будет большой, так как приведены будут все процессы от постановки...

2020. Орбитальные запуски. Итоги Вячеслав Ермолин, 31 декабря 2020 года.2020. Орбитальные запуски.Вопреки известным глобальным проблемам пусковая программа 2020 года является одной из лучших за последние 20 лет: 114 попыток орбитального запуска от восьми стран. Впереди двое: США (44 запуска при 4-х авариях)...

Состоялся релиз новой версии Proton 5.13 для запуска Windows-игр в Linux Компания Valve выпустила новую версию проекта Proton 5.13-1, который основан на Wine и предназначен для запуска в Linux-системах игр, созданных для платформы Windows и распространяемых через Steam. Новая версия Proton переведена на Wine 5.13. Разработчики перенесли 256 патче...

Postgresso 24 Жизнь продолжается. А мы продолжаем знакомить вас с самыми интересными новостями PostgreSQL. На этот раз мы решили немного изменить формат Постгрессо: теперь никакого информационного равноправия. Об одних релизах и статьях будем рассказывать подробней, о других — в паре стр...

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

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

[Из песочницы] Установка и настройка RTKRCV (RTKLIB) на Windows 10 с использованием WSL Здравствуйте, в данной статье разбирается процесс установки и запуска приложения RTKRCV из открытой библиотеки RTKLIB, разрабатываемой командой Томоджи Такасу (Япония). RTKLIB — это программный пакет с открытым исходным кодом для стандартного и точного позиционирования с и...

[Перевод] Delta: Платформа синхронизации данных и обогащения В преддверии запуска нового потока по курсу «Data Engineer» подготовили перевод интересного материала. Обзор Мы поговорим о достаточно популярном паттерне, с помощью которого приложения используют несколько хранилищ данных, где каждое хранилище используется под свои цели,...

КОМПАС-3D v18 Home. Мини-курс проектирования под 3D-печать. От основ моделирования к 3D-проектированию сверху вниз Во многих статьях про 3D-печать подробно разбирается работа 3D-принтера и процесс печати, а создание 3D-модели описывается одной фразой, как будто это элементарное действие (что, конечно, совсем не так). Мы сделали мини-курс по 3D-моделированию, который учитывает особенности...

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

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

DINS QA EVENING (online): кейс по тестированию WebRTC-based сервиса и способы избежать запуска flaky-тестов Приглашаем на онлайн-митап DINS QA EVENING, который состоится 21.05 в 19:00. Этим вечером Антон Коршунов из DINS расскажет об опыте тестирования медиа-сервера WebRTC, а Иван Варивода из Wrike покажет, как избежать запуска flaky-тестов с помощью тестового карантина и систем...

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

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

Обзор CMS DRUPAL 9 В этой статье я решил поговорить о создании сайтов на базе CMS Drupal. Работаю я с этой системой давно и считаю ее одной из лучших среди существующих «движков» сайтов. За исключением случаев, когда действительно необходимы какие-то узкоспециализированные решения эту CMS я р...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

Запуск VPN-сервера за провайдерским NAT'ом Статья о том, как мне удалось запустить VPN-сервер за NAT'ом домашнего провайдера (без белого IP-адреса). Сразу оговорюсь: что работоспособность данной реализация напрямую зависит от типа NAT используемого Вашим провайдером, а также роутером. Итак, возникла у меня необходим...

[Перевод] Распределенное обучение с Apache MXNet и Horovod Перевод статьи подготовлен в преддверии старта курса «Промышленный ML на больших данных» Распределенное обучение на нескольких высокопроизводительных вычислительных экземплярах может сократить время обучения современных глубоких нейронных сетей на большом объеме данных с не...

Microsoft прекращает поддержку PHP в Windows, предлагая переходить на Linux Microsoft прекращает поддержку PHP в Windows и объявила дорожную карту этого процесса. В дальнейшем для запуска последней версии PHP в Windows придется использовать WSL или сразу переходить на Linux и производить там запуск PHP. Подробнее об этом читайте на THG.ru.

[Из песочницы] Разбор UI/UX на примере прототипа в Figma и основные принципы Кому адресована статья В данной публикации я хочу помочь начинающим и «не очень» бизнес-аналитикам, менеджерам проектов, владельцам продуктов, желающим сделать свой первый сайт и всем-всем, кому надо сделать макет сайта или приложения, а он не знает с какой стороны подступит...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

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

[Перевод] Аварии космических ракет, связанные с топливом: заправлять до полного? Запуск ракеты «Протон» в 2010 не удался не потому, что ей не хватило топлива, а потому, что его было слишком много Автор статьи – Уэйн Элиазер, проработал в ВВС США 25 лет, был менеджером программы «Тор», директором испытаний ракет семейства «Атлас», главой отдела космичес...

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

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

Запуск «ЭкзоМарса» отложен до следующего пускового окна в 2022 году Запуск был перенесён на август-октябрь 2022 года по ряду причин. Новые сроки прибытия российской посадочной платформы и европейского марсохода на Марс: апрель-июль 2023 года. Читать дальше →

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

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

[Из песочницы] Долгий DNS resolve в Kubernetes Эта статья посвящена проблемам работы DNS в Kubernetes, с которыми столкнулась наша команда. Как оказалось, иногда проблема лежит гораздо глубже, чем кажется изначально. Вступление Всегда наступает момент, когда в уже отлаженную работу вмешиваются обстоятельства, заставляя н...

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

Хабр Q&A 2019: итоги года Подводим итоги на Хабр Q&A: за год вы успели задать более 100 000 вопросов и дать почти 200 000 ответов! В статье вспоминаем самые большие запуски и делимся статистикой. Читать дальше →

Разработка приложения для обработки видео: на что обратить внимание и при чем тут зумеры Привет, Хабр!Меня зовут Алексей Жуков. Более 10 лет вместе с командой разработчиков я занимаюсь созданием и дизайном приложений и интернет-платформ. В статье хочу поделиться своим видением трендов на рынке видеоконтента. Разберемся в том, что будет после пандемии и что учест...

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

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

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

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

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

Играем в DOOM на тесте на беременность. Что? Да А также на микроволновке, валидаторе билетов и многом другом. Ко флэшмобу по переносу DOOM на любые устройства, у которых только есть дисплей, теперь добавился еще и тест на беременность. Программист-энтузиаст и адепт реверс-инжиниринга Foone сумел запустить полнофункцио...

Асинхронный код в Startup ASP.NET Core: 4 способа обхода GetAwaiter().GetResult() С тех пор, как в C# 5.0 завезли механизм async/await, нас постоянно во всех статьях и доках учат, что использовать асинхронный код в синхронном очень плохо. И призывают бояться как огня конструкции GetAwaiter().GetResult(). Однако есть один случай, когда сами программисты Mi...

Украинские специалисты будут готовить к запуску ракету в США Украинские специалисты из ГП «Конструкторское бюро «Южное» имени М.К. Янгеля» и НПП «Хартрон-Аркос» ЛТД полетели в США, где примут участие в работах по подготовке к запуску ракеты-носителя корпорации Northrop Grumman «Антарес». Цель запуска – доставить грузы на Междуна...

[recovery mode] «День Илона Маска». Первый полет астронавтов NASA на корабле Crew Dragon от SpaceX День который давно ждали — пришел! Сегодня должен состояться один из важнейших запусков года — «первый, за почти десять лет, полет американских астронавтов на американском корабле с американской земли». Частный пилотируемый космический корабль Crew Dragon от компании SpaceX ...

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

Используем бесплатные возможности Github Actions для CI/CD на Flutter-проекте GitHub Actions — инструмент для автоматизации рутинных действий с репозиторием и подспорье при создании CI/CD для вашего проекта. Пользователи GitHub’а ежемесячно получают по 2000 минут, чтобы выполнять GitHub Actions на инфраструктуре сервиса. Применим это бесплатное время...

Запускаем Apache Spark на Kubernetes Дорогие читатели, доброго дня. Сегодня поговорим немного про Apache Spark и его перспективы развития. В современном мире Big Data Apache Spark является де факто стандартом при разработке задач пакетной обработки данных. Помимо этого, он также используется для создания стр...

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

[Перевод] Apple Silicon: конец эры Wintel Прим. перев.: автор статьи — Жан-Луи Гассе, предприниматель, менеджер. В конце 1960-х – начале 1970-х руководил в Hewlett-Packard запуском проекта первого настольного научного компьютера. В 1981 году стал директором по европейским операциям в компании Apple Computer. В 198...

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

Автоматизация тестирования при создании игр Введение: Автоматизированное тестирование во всю свою мощь используется многими компаниями. Юнит-тесты, Интеграционные тесты, UI тесты, ручное тестирование и прочие методы. Но почему-то в такой большой области, как GameDev автоматизация тестов сводится к тому, что билды пер...

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

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

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

Запуск PlayStation 5 был назван лучшим в истории Sony Sony поделилась результатами запуска нового поколения консоли. Так, по словам представителей японской компании, именно запуск PlayStation 5 стал самым лучшим в истории Sony.

Запуск космических летательных аппаратов и… погода в регионах 30 лет назад статья с таким заголовком была опубликована в журнале «Изобретатель и рационализатор» №5 за 1990 год в разделе «гипотезы». Предположительно, автор статьи – Рыбников Сергей Игоревич, профессор Московского Авиационного Института, автор более 100 научных работ, в...

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

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

[Перевод] Вставка реальных объектов в Unity с помощью Meshroom Из этой статьи вы узнаете, как использовать фотограмметрию для фотосканирования и вставки объектов реального мира в проекты Unity при помощи Meshroom. В контексте 3d-моделей фотограмметрия — это процесс создания 3D-моделей из отсканированных объектов. Вам нужны реалистичн...

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

[Из песочницы] Конспект по методам классификации данных При изучении Data Science, я решил составить для себя конспект по основным приемам, используемым в анализе данных. В нем отражены названия методов, кратко описана суть и приведен код на Python для быстрого применения. Готовил конспект для себя, но подумал, что кому-то это та...

Опыт Embox как менторской организации в программе GSoC2020 Всем привет! В этом году Embox участвовал в качестве менторской организации в программе GSoC. В статье я бы хотел рассказать об этом, на наш взгляд, очень интересном опыте. Читать дальше →

Я автоматизировал тестирование Dr. Web. А сможете ли вы? Я никогда не пользовался Dr. Web. Я понятия не имею, как он устроен. Но это не помешало мне написать для него ряд автотестов (и лишь лень не позволила мне написать ещё сотню других): Тест на установку Dr. Web; Тест на ограничение доступа к съемным устройствам (флешкам); Те...

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

Open Source синтез речи SOVA Всем привет! Ранее мы выкладывали статью про наше распознавание речи, сегодня мы хотим рассказать вам о нашем опыте по созданию синтеза речи на русском языке, а также поделиться ссылками на репозитории и датасеты для свободного использования в любых целях. Если вам интересн...

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

Как Computer Science Center перевёл обучение в онлайн Когда понадобилось в один день перевести весь CS центр на домашнее обучение, кураторы проделали большую работу по замене живых лекций на равноценные альтернативы, зато всё остальное уже работало. Центр давно использует онлайн-платформы в очном обучении, в том числе свою собс...

Шифрование TLS-трафика по алгоритмам ГОСТ-2012 c Stunnel В этой статье я хочу показать, как настроить Stunnel на использование российских криптографических алгоритмов в протоколе TLS. В качестве бонуса покажу, как шифровать TLS-канал, используя алгоритмы ГОСТ, реализованные в криптоядре Рутокен ЭЦП 2.0. Но для начала давайте вооб...

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

Сериализация в JSON и иммутабельный объект. О пакете built_value для Flutter Иногда JSON от API необходимо конвертировать в объект и желательно в иммутабельное значение. На Dart это возможно, но для этого необходимо много кодить для каждого из объектов. К счастью, существует пакет, который поможет Вам все это выполнить, и в этой статье я Вам расска...

Успешный запуск. Спутники Starlink L10. Запуски 2020 года: 63-й общий, 57-й успешный, 23-й от США Вячеслав Ермолин, 18 августа 2020 г. Миссия: Основная: Запуск 58 коммуникационных спутников Starlink-10. Десятый запуск Starlink v1.0. Для будущей системы низкоорбитального коммерческого интернета StarX. Дополнительная: Rideshare. Запуск трех спутников ДЗЗ SkySat от комп...

Тестирование «переплетением» – в 100 раз быстрее АБ теста А/Б тестирование – один из основных инструментов продакт менеджмента, пока еще не придумали более надежного и дешевого способа достоверно оценить влияние одного конкретного изменения на бизнес-метрики продукта, изолировав его от всех остальных факторов. В этой статье я хочу...

[Перевод] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Symfony Framework». В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентиф...

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

Дорожная карта миграции почты IBM Notes/Domino в Exchange и Office 365 Переход с IBM Notes на Microsoft Exchange или Office 365 дает весомое количество преимуществ для организации, но сам проект миграции выглядит пугающе и не совсем понятно с чего нужно начинать миграцию. Сам Exchange не включает собственные инструменты для полной миграции ил...

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

Интересная форма Хабр, привет. Эта статья не претендует на большую серьезность, я просто хочу поделиться новой формой, которую я открыл. Это такой круг, цвет точек которого равен сумме квадратов координат заданной точки. Другими словами pixel_color=(pixel_x^2+pixel_y^2).toString(16). Читать ...

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

[Перевод] Понимание CSS Grid (2 часть): Grid-линии Приветствую! Представляю вашему вниманию перевод статьи «Understanding CSS Grid: Grid Lines» автора Rachel Andrew В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному эл...

Сравнивали Haskell и C++, а сравнили jump и cmov В статье [ссылка] было заявлено, что производительность Haskell кода превзошла код на С++. Что сразу вызвало интерес, т.к. и то и другое может генерироваться LLVM компилятором, значит либо Наskell может давать больше хинтов компилятору, либо что-то не так с С++ реализацией....

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

Успешный запуск. Марсоход на Марс. Запуски 2020 года: 58-й, 52-й успешный, 21-й от США Вячеслав Ермолин, 30 июля 2020 г. Миссия: Запуск марсохода Mars 2020 Perseverance. Поиск «следов жизни» на Марсе. Первый дрон для полетов в атмосфере. Сбор образцов грунта для возвращения на Землю (в следующих миссиях). Научные и технологические эксперименты. Читать дал...

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

Поиск родственников через тест ДНК. Часть 3 – Сдача теста и отправка по почте Ранее я рассказал о ДНК-тестировании для генеалогии и о том, как выбрать тест. Теперь немного расскажу о том, как сделать тест и как его отправить обратно. Уже потом будут получение результата и его анализ, но сначала надо купить сам тест, сделать забор материала и отправить...

[Из песочницы] NextCloud в качестве сервиса по созданию защищенных ссылок Привет, Хабр! Хочу поделиться немного нетривиальным кейсом по настройке NextCloud в качестве сервиса по созданию защищенных ссылок, для прямого скачивания данных с подключенного сетевого smb\cifs-диска. Опишу решения нюансов, с которыми столкнулся во время настройки. Зачем...

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

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

Интерактивные финансовые данные в 20 строках кода Статьи на финансовые темы появляются на Хабре регулярно. Во многих из них в качестве источника первичных данных используется неофициально открытое API Yahoo finance. В этой статье я покажу три способа добыть данные (включая Yahoo) а также как напилить из них простое вэб-прил...

Google начал запуск обновлённых агентов пользователя для Googlebot В октябре Google сообщил, что обновит агентов пользователя Googlebot, чтобы они отображали актуальную версию браузера Chrome, в декабре. На днях поисковик приступил к запуску этого обновления, но пока в качестве эксперимента – т.е. в ограниченном масштабе. Об этом заявил сот...

Успешный запуск. Два спутника связи. Запуски 2020 года: 59-й, 53-й успешный, 9-й от России Вячеслав Ермолин, 31 июля 2020 г. Текущая статистика запусков Миссия: Запуск двух телекоммуникационных спутников «Экспресс-80» и «Экспресс-103», производства «ИСС» для ФГУП «Космическая связь». Спутники для работы на геостационарной орбите. Читать дальше →

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

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл,...

[Перевод] О структуре параллельных вычислений или доводы против оператора «Go» Каждый язык, поддерживающий параллельные (конкурентные, асинхронные) вычисления, нуждается в способе запуска кода параллельно. Вот примеры из разных API: go myfunc(); // Golang pthread_create(&thread_id, NULL, &myfunc); /* C with POS...

Создание зашифрованного диска с «двойным» дном с помощью Veracrypt VeraCrypt — свободный форк TrueCrypt используемый для сквозного шифрования в Windows, Mac OSX и Linux, и позволяет шифровать системный диск, отдельный внутренний или внешний диск или создавать виртуальные диски с использованием файлов-контейнеров. В этой статье мы рассмот...

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

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

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

Знакомство с Node-RED и потоковое программирование в Yandex IoT Core В этой статье я хочу разобрать один из самых популярных опенсорс-инструментов, Node-RED, с точки зрения создания простых прототипов приложений с минимумом программирования. Проверим гипотезу о простоте и удобстве таких средств, а также рассмотрим взаимодействие Node-RED с о...

SamsPcbLab, часть 1: Запуск сообщества разработчиков печатных плат С прошлой самопиар-публикации прошло почти 2 года, была проделана большая работа, о которой снова хочется рассказать. Руководство по проектированию с того момента пережило 4 релиза, появилось несколько напечатанных экземпляров, и сейчас оно мне уже очень нравится по содержан...

[Перевод] Про SSH Agent Введение SSH-agent является частью OpenSSH. В этом посте я объясню, что такое агент, как его использовать и как он работает, чтобы сохранить ваши ключи в безопасности. Я также опишу переадресацию агента и то, как она работает. Я помогу вам снизить риск при использовании пере...

Мониторинг ошибок и событий в журнале PostgreSQL (grok_exporter) Доброго дня, коллеги и хаброчитатели! Сегодня, хотел бы поделиться с Вами небольшой заметкой о том, как можно организовать оперативный мониторинг ошибок и событий появляющихся в журнале PostgreSQL используя Prometheus и экспортер метрик grok_exporter. Сразу оговорюсь, что э...

Встроенный GPU DG1 процессора Intel Core i7-1185G7 обходит по производительности GeForce GTX 1050 Ti Новый тест флагманского процессора Intel Core i7-1185G7 семейства Tiger Lake позволил сравнить производительность интегрированного в CPU графического ядра с дискретными видеокартами. Получилось, что используемый в Core i7-1185G7 GPU DG1 обходит по производительности GeF...

VPS на Linux с графическим интерфейсом: запускаем сервер VNC на Ubuntu 18.04 Некоторые пользователи арендуют относительно недорогие VPS с Windows для запуска сервиса удаленных рабочих столов. То же самое можно сделать и на Linux без размещения в датацентре собственного железа или аренды выделенного сервера. Кому-то нужна привычная графическая среда ...

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

Освободи свой Android — алаверды О чём это? Данная статья написана в качестве продолжения статьи Освободи свой Android. Зачем? Очень просто — та статья очень подробно и хорошо описывает, как перешить смартфон на LineageOS. Но она просто требует продолжения о том, как потом с этим перешитым смартфоном жить. ...

Есть ли жизнь за МКАДом? Как мы ищем и готовим разработчиков В этой статье мы хотим поделиться опытом команды разработчиков Codeinside из Пензы о том, как в регионе найти и быстро ввести в строй нового сотрудника. Приглашаем в комментариях описать свой опыт. Вероятно, кто-то из читателей, не связанный с IT, недоумевает: разве найти р...

Результаты тестов процессоров AMD Ryzen 7 5800X и Ryzen 9 5950X в CPU-Z показывают, что AMD опережает Intel в однопоточном режиме Накануне запуска новых процессоров AMD, в интернете обнаружилась очередная утечка, раскрывающая сведения об уровне производительности грядущих новинок. На двух независимых форумах были опубликованы результаты тестирования процессоров AMD Ryzen 9 и Ryzen 7 в CPU-Z. Флагмански...

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

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

Что такое MagicString и настолько ли эти строки волшебные? MagicString — это малоизвестная библиотека. Не смотря на это она решает одну из насущных проблем — изменение исходного кода с использованием его структуры (AST — abstract syntax tree). В этой статье мы узнаем, что такое MagicString и такие ли уж эти строки «магические». Это...

[Из песочницы] Географические развлечения Приветствую, Хабр! Мне очень нравятся настолки, и поэтому я не мог пройти мимо статьи о том, как подобные игры пару столетий назад помогали людям узнавать мир. Хочу поделиться с вами переводомистории о географических развлечениях за авторством Валентина Колтона. Уверен, что...

В Швейцарии создан новый тест на коронавирус, работающий в 10 раз быстрее существующих Управление по санитарному надзору за качеством пищевых продуктов и медикаментов (FDA) США одобрило новый тест на коронавирус, который в десять раз ускорит тестирование пациентов по сравнению с тестированием с использованием систем MagNA Pure 24 и LightCycler 480. ...

Эксперимент в распознавании рукописных текстов на кириллице. Часть 2 Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукоп...

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

[Из песочницы] Ты еще не используешь tmux на полную! (Наверное) Привет, Хабр! Представляю вашему вниманию перевод статьи "(たぶん)君はまだtmuxの真の力を引き出せていない". Содержание Что такое tmux Запуск и начало новой сессии Открытие нового окна Переходы между окнами Разделение окон и создание панелей Передвижение между панелями Передвижение ме...

Мониторинг СХД IBM Storwize при помощи Zabbix В данной статье мы немного поговорим о мониторинге СХД IBM Storwize и других СХД, поддерживающих протоколы CIM/WBEM. Необходимость такого мониторинга оставлена за скобками, будем считать это аксиомой. В качестве системы мониторинга будем использовать Zabbix. В последних ве...

[Из песочницы] 1С-Битрикс и попытка его внедрения Привет, друзья! Меня зовут Петр, я представитель малого белорусского бизнеса со штатом чуть более 20 сотрудников. В данной статье хочу поделиться негативным опытом покупки 1С-Битрикс. Читать дальше →

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

Маркетинг на рынке США: как SaaS-стартапу заработать десятки тысяч долларов с помощью AppSumo.com В русскоязычном интернете нет недостатка в статьях по выводу продукта на Product Hunt и другие похожие сервисы, но не так много материалов по использованию ресурса AppSumo. Я решил поделиться своим опытом продвижения продукта на американском рынке с помощью этого сервиса. ...

[Перевод] Импорт react с древнейших времен до наших дней Прежде чем мы начнём разговор о способах импорта в веб-проекты библиотеки React, покажу современные способы выполнения этой операции и использования хука useState: // Глобальный подход window.React.useState() // Использование импорта в стиле CommonJS const React = require...

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

Какие возможности предоставляет Spring для кастомизации своего поведения Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Помимо преподавания, я занимаюсь написанием авторского материала для блога OTUS на хабре и се...

Запуск первой в Восточной Африке сети 5G SA реализовали ZTE и MTN Компания ZTE Corporation (0763.HK/000063.SZ), крупный международный поставщик телекоммуникационных решений, а также корпоративных и потребительских технологий для мобильного Интернета, и MTN Uganda сообщили о совместном запуске первой в Восточной Африке сети 5G SA. Демонстра...

[Из песочницы] Использование GitHub Actions с C++ и CMake Привет, Хабр! Предлагаю вашему вниманию перевод статьи "Using GitHub Actions with C++ and CMake" о сборке проекта на C++ с использованием GitHub Actions и CMake автора Кристиана Адама. Использование GitHub Actions с C++ и CMake В этом посте я хочу показать файл ко...

[Из песочницы] Игровая консоль stm32 Немного шутеров для stm32; как, зачем, что получилось. Предисловие Будучи поклонником «старой» школы шутеров с одной стороны и embedded-разработчиком с другой, я всегда испытывал интерес, как и почему авторам той эпохи удавалось воплощать новый жанр, требующий совершенно ...

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

[Перевод] Решение проблемы N+1 запроса без увеличения потребления памяти в Laravel Одна из основных проблем разработчиков, когда они создают приложение с ORM — это N+1 запрос в их приложениях. Проблема N+1 запроса — это не эффективный способ обращения к базе данных, когда приложение генерирует запрос на каждый вызов объекта. Эта проблема обычно возникает, ...

[Перевод] Иерархический буфер глубин Краткий обзор Иерархический буфер глубин — это многоуровневый буфер глуби (Z-буфер), используемый как ускоряющая структура (acceleration structure) для запросов глубин. Как и в случае mip-цепочек текстур, размеры каждого уровня обычно являются результатами деления на степен...

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

Вызов принят: хочу работать в Spotify В октябре мы рассказали о том, как Александр Любоженко (back-end и data-инженер в Spotify) мечтая о Калифорнии, переехал сначала в Новую Зеландию, а затем в Швецию. Читателям статья понравилась, но многие хотели узнать подроб...

VxLAN фабрика. Часть 3 Привет, Хабр. Заканчиваю цикл статей, посвященных запуску курса "Сетевой инженер" от OTUS, по технологии VxLAN EVPN по маршрутизации внутри фабрики и использовании Firewall для ограничения доступа между внутренними сервисами Читать дальше →

[Перевод] Осваиваем Grid в SwiftUI Салют, хабр. Прежде, чем мы перейдем к статье, хочу абсолютно бесплатно поделиться с вами записью двух очень полезных уроков которые провели наши преподаватели в преддверии старта базового и продвинутого курсов по iOS-разработке: Быстрый старт в iOS-разработку Делаем мно...

Ускоряем кеш проекта в NoVerify (линтер для PHP) в 10 раз Одним вечером, обсуждая с Искандером @quasilyte сложности в разработке линтера для PHP на Go, Искандер упомянул, что тесты как-то долго идут при локальном прогоне (около минуты, и, как мне кажется, для Go это довольно долго). Стали копать, и быстро выяснилось, что в основном...

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

Ставим и тестим RTX Voice на видеокартах Nvidia GTX серии Привет, Хабр, давненько не виделись! Сегодня я бы хотел поделиться с Вами небольшим, да и чего уж там, простым способом установки RTX Voice на Nvidia GTX 10XX и 16XX видеокарты. А заодно и проверить, действительно ли RTX Voice так хорош? Справедливости ради стоит добавить...

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

Разрабы. Новая точка отсчета В мире что-то не так — или это у меня в голове? Невидимые пятна на солнце, какая-то пыль на траве Счастье не греет; оно где-то за стеклянной стеной Иногда мне кажется — тяжелый рок висит надо мной БГ Привет Хабр! Хочется обсудить с вами сериал «Разрабы», так как считаю е...

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

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

Встраиваем геолокацию от Huawei в Android приложение В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. И использовали аналитику от Huawei вместо аналога от Google. В этой статье мы будем встраивать определение геолокации от Huawei. Вот п...

Three.js и геометрия При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривает...

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

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

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

Microsoft говорит, что большинство приложений Win32 будут работать на Windows 10X 11 февраля Microsoft поделилась подробностями о Windows 10X для двухэкранных и различных сторонних складных устройств. По слухам, Windows 10X не будет ограничиваться только приложениями из магазина, а операционная система сможет запускать UWP, PWA, веб-приложения и даже прил...

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

[Из песочницы] Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам. Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представлени...

Подготовка SDL2-проекта для запуска на android Всем привет. Сегодня мы посмотрим как подготовить проект с использованием библиотеки sdl2 для запуска игры на android. Читать дальше →

[Перевод] Сделайте свое приложение масштабируемым, оптимизировав производительность ORM Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP». Привет! Я Валерио, разработчик из Италии и технический директор платформы Inspector.dev. В этой статье я поделюсь набором стратегий оптимизации ORM, которые я использую, разрабатывая серв...

[Перевод] Знакомимся с методом обратного распространения ошибки Всем привет! Новогодние праздники подошли к концу, а это значит, что мы вновь готовы делиться с вами полезным материалом. Перевод данной статьи подготовлен в преддверии запуска нового потока по курсу «Алгоритмы для разработчиков». Поехали! Метод обратного распространени...

[Перевод] Создание шейдерной анимации в Unity Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс. Создание двухсот мешей со скиннингом с анимацией ключевыми кадрами всего для одного спецэффекта — ...

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

[Перевод] ELK, SIEM из OpenSource, Open Distro: Case management В сегодняшней статье мы поставим последний кусочек пазла на его место. Мы собираемся представить вам часть нашего SOC, касающуюся управления делами. Мы использовали две технологии с открытым исходным кодом — TheHive и Cortex. TheHive будет использоваться в качестве платформы...

Момент истины: прототип Starship успешно прошел огневые испытания с тремя двигателями Новый прототип сверхтяжелой ракеты Starship от SpaceX (SN8) успешно прошел огневые испытания сразу с тремя работающими двигателями Raptor. Тесты провели на территории частного космодрома компании в Южном Техасе в Бока-Чика (Boca Chica). Во время предыдущих испытаний на прот...

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

Опыт создания аналитической консалтинг-компании в Северной Америке (не очень успешный) Всем привет, последние 2-3 года у меня было интересное хобби, интересное для меня - предоставление аналитических услуг компаниям в Канаде и США. В этой статья я хочу поделиться опытом по созданию консалтинг-компании в области аналитики. Могу сразу сказать, что идея провалила...

Возможности Vue, о которых не следует забывать Мы в команде Ptah мы решили пойти чуть дальше привычных SPA и попробовали использовать Vue для конструктора лендингов. И теперь хотим поделиться частью нашего опыта. Эта статья, прежде всего, для тех, кто только начал работать с Vue и хочет узнать лучше его особенности и во...

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

Финансовый план и ценообразование для ИТ-продукта: Курс «Создание программного продукта и управление его развитием» Привет, Хабр! Мы продолжаем серию постов о продакт-менеджменте от компании Acronis, и сегодня речь пойдет о финансовом плане и ценообразовании. Мы поговорим о том, почему «план по продажам», как часть финансового плана — это “самая большая ложь”, рассмотрим примеры удачного ...

Перевернутая пирамида как конец вашего проекта В этой статье я хочу поделится небольшим опытом касательно построения команд в ИТ-проектах. Поговорить я хочу о такой не всегда очевидной вещи как «Пирамида зрелости команды». Читать дальше →

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

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

Самые частые причины ручных санкций Google за ссылки — исследование Команда SEMrush поделилась результатами исследования, призванного выяснить, какие факторы чаще всего приводят к ручным санкциям Google за ссылки. Специалисты компании проанализировали 830 ссылочных профилей тех сайтов, которые попали под ручные санкции за неестественные ссыл...

Фоторамка на Flutter своими руками Привет! Меня зовут Игорь, я работаю Frontend-директором в компании Wrike. В этой статье хочу поделиться историей создания моего пет-проекта и рассказать, как я сделал электронную фоторамку и написал для нее софт на Flutter, столкнувшись по пути со всеми возможными сложностям...

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

[Перевод] Шпаргалка по сортировке для Data Science Сортировка данных является основной задачей для ученых и инженеров по обработке данных. Пользователи Python могут выбирать наиболее удобную из ряда библиотек со встроенными, оптимизированными опциями сортировки. Некоторые даже работают параллельно с GPU. На удивление, неко...

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

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

[Перевод] Создание микросервиса на Quarkus, Kotlin и Gradle Введение В предыдущей статье было приведено краткое описание процесса создания микросервиса на современных JVM фреймворках, а также их сравнение. В этой статье будет более детально рассмотрен недавно вышедший Quarkus на примере создания микросервиса с использованием упомяну...

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

«Крупнейший запуск Xbox в истории»: Microsoft поделилась статистикой запуска Series X и S за первые 24 часа Корпорация Microsoft объявила о том, что единовременный старт продаж Xbox Series X и Xbox Series S в 40 странах оказался самым успешным дебютом консолей в истории Xbox. Вместе с тем производитель предоставил интересные данные за первые 24 часа с запуска.

[Перевод] Мифы о useEffect Доброго времени суток, друзья! Представляю вашему вниманию перевод небольшой заметки Kent C. Dodds, в которой он делится своими соображениями относительно правильного использования хука «useEffect». Я обучил React тысячи разработчиков. Как до, так и после релиза хуков. О...

Забудьте про RGB и HEX В CSS существует несколько способов представления цветов. Один из них — система HSL. В этой статье я покажу вам, какие возможности она открывает для верстальщика. Читать дальше →

Новый механизм JSX трансформации в React 17 Release Candidate В React 17 Release Candidate появляется новый способ трансформации JSX. С ним, в бандле, не понадобится сам Реакт, хотя для использования хуков он всё ещё нужен. Это и есть основной бенефит нового механизма. Под катом краткий перевод статьи в блоге ReactJS. Читать дальше &ra...

Запись видео UI автотестов, работающих в headless Chrome Всем привет! В данной статье хочется рассказать о том, как была решена задача записи видео автотестов, работающих в headless Chrome (с записью в не headless режиме проблем быть не должно). Будет рассмотрено несколько разных подходов, рассказано про трудности и пути их реше...

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

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

Как вписать «свободную» PostgreSQL в суровое enterprise окружение Многие знакомы с СУБД PostgreSQL, и она отлично зарекомендовала себя на небольших инсталляциях. Однако тенденция к переходу на Open Source стала все более явной, даже когда речь идет о крупных компаниях и enterprise требованиях. В этой статье мы расскажем, как встроить Postg...

Почему я сделал личный проект учёта трат на Git+JS Здравствуйте, господа, в этой статье я поделюсь опытом создания приложения учёта трат, в частности отвечу на следующие вопросы: Зачем мне приложение учёта трат? Почему это личный проект? Почему проект на Git+JS? 1. Зачем мне приложение учёта трат? Как и многие другие люди...

Автоматизация HotFix в Maven проектах с использованием TeamCity В этом посте будет описана настройка автоматизации HotFix в Maven проектах с использованием Teamcity. Чтобы сделать HotFix обычно делается много ручных действий: 1) Создать бранч для релиза, на который вы хотите выкатывать HotFix 2) Исправить ошибку в релизе 3) Измененить bu...

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и за...

Управление высокодоступными PostgreSQL кластерами с помощью Patroni. А.Клюкин, А.Кукушкин Расшифровка доклада/tutorial "Управление высокодоступными PostgreSQL кластерами с помощью Patroni". А.Клюкин, А.Кукушкин Patroni — это Python-приложение для создания высокодоступных PostgreSQL кластеров на основе потоковой репликации. Оно используется такими компан...

Минус 20%. Платформа Apple M1, работая через эмулятор Rosetta 2, теряет пятую часть своей производительности Много тестов однокристальной платформы Apple M1 появилось на прошлой неделе – и в них она выступила очень хорошо, превзойдя и сами компьютеры Mac на базе процессоров Intel, и даже флагманские процессоры Intel и AMD для настольных ПК. Но сейчас в Сети появился, пож...

Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок Всем привет, на связи Александр Панов, техлид из Pixonic. В компании я отвечаю за межпроектные решения и околопроектную периферию и сегодня хочу поделиться своим опытом и наработками. Платформы непрерывной разработки и интеграции, или CI/CD, сейчас используются повсеместн...

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

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

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

WebStorm 2020.1: улучшения в интерфейсе, поддержка Vuex и запуск Prettier при сохранении файлов Всем привет! Мы рады представить вам первое крупное обновление WebStorm в этом году. В новой версии вы найдете много новых возможностей и долгожданных улучшений, включая поддержку Vuex и новую опцию для запуска Prettier при сохранении файлов. Скачать 30-дневную пробную ве...

«Новые Былины». Для dev, ops и любознательных людей В этой статье я буду настраивать рабочее окружение для разработки игры "Былины", а также выполню разбиение самой игры на части, пригодные для использования в OpenFaaS. Все манипуляции буду делать на Linux, Kubernetes буду разворачивать в minikube с использованием VirtualBox...

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

[Перевод] Понимаем пробы Kubernetes: типы, настройка и лучшие практики Источник В этой статье — о настройке проб готовности, работоспособности и запуска для обнаружения и работы с нездоровыми модулями в переводе команды Kubernetes aaS. Читать дальше →

Простой UDP hole punching на примере IPIP-туннеля Доброе время суток! В этой статье хочу рассказать как я реализовал (еще один) скрипт на Bash для соединения двух компьютеров, находящимися за NAT, с использованием технологии UDP hole punching на примере ОС Ubuntu/Debian. Читать дальше →

Создайте ваш первый тест на Cypress Всем привет! Меня зовут Роман Мостафин. Я тестировщик-автоматизатор в компании Clover, и обычно пишу автотесты на pytest + selenium. Недавно для написания тестов на UI на проекте «Умный Локомотив» для автоматизации регрессионного тестирования наша команда фронтенд-разработчи...

Google завершает запуск новых агентов пользователя Googlebot Сотрудник Google Мартин Сплитт ответил в Twitter на вопросы, связанные с обновлением агентов пользователя Googlebot. Так, в декабре Google планировал запустить новые user-agents, которые должны отображать актуальную версию Chrome (в старой версии указан Chrome 41). Как извес...

[Перевод] Всё, что нужно знать о Progressive Web App (PWA) PWA — прогрессивные веб-приложения. Предупреждение. Эта статья не проспонсирована PWA. Все взгляды и мнения в статье принадлежат только её автору. Progressive Web App или PWA — лучший способ для разработчиков заставить свои веб-приложения загружаться быстрее и быть более...

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

Успешный запуск. Гражданский спутник ДЗЗ высокого разрешения. Запуски 2020 года: 60, 54 успешных, 22 от Китая Вячеслав Ермолин, 06 августа 2020 г. Текущая статистика запусков Миссия: Запуск гражданского спутника дистанционного зондирования Земли Gaofen-9-04 для государственной программы China High-resolution Earth Observation System (CHEOS). Разрешение менее метра на пиксель. Чет...

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

Анимация схем в SCADA При создании HMI довольно часто встречается задача построить отображение сложной схемы связанных элементов. Это могут быть разветвленные трубопроводные схемы, электроснабжение и т.п. Можно, конечно, ограничиться только отображением ключевых элементов (задвижек, автоматическ...

Появились официальные тесты видеокарты GeForce RTX 3060 Ti — она обходит GeForce RTX 2080 Super Веб-ресурс VideoCardz опубликовал результаты тестов производительности видеокарты GeForce RTX 3060 Ti, чей выход ожидается 2 декабря. Сообщается, что сама NVIDIA поделилась слайдом из грядущей презентации с прессой. Как можно видеть на слайде ниже, производительность новинки...

[Перевод] Автоматизация тестирования. Да или нет? Перевод статьи подготовлен в преддверии старта курса «Python QA Engineer». Прежде чем спрашивать: «Что автоматизировать?», нужно ответить на такой вопрос: «Рационально ли вообще автоматизировать что-либо в рамках текущего проекта?». Если ответ положительный (что означает...

[Из песочницы] Angular: понятное введение в NGRX Цель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода. Вот список тем, которые мы будем обсуждать в этой статье: Что такое ngrx Преимущес...

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

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

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

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

[Из песочницы] Как использовать консоль JavaScript: выход за пределы console.log () Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal. Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов,...

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

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

Sony выпустила PlayStation 5 и PlayStation 5 Pro, и вот чем они отличаются Каждая компания, которая занимается созданием игровых приставок, вынуждена выпускать свои консоли приблизительно за один год до их запуска в продажу, чтобы такие не только в полной мере протестировать, ведь иначе все может закончиться провалом, но Сообщение Sony выпустила P...

Интернет вещей в Яндекс.Облаке: как устроены сервисы Yandex IoT Core и Yandex Cloud Functions В октябре прошлого года состоялась первая облачная конференция Яндекса Yandex Scale. На ней было объявлено о запуске множества новых сервисов, в том числе Yandex IoT Core, который позволяет обмениваться данными с миллионами устройств Интернета вещей. В этой статье я расск...

9 советов по повышению производительности Vue В этой статье собрано девять советов о том как повысить производительность вашего приложения на Vue, увеличить скорость отображения и уменьшить размер бандла. Читать дальше →

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

Таймер чистки зубов Доброго времени суток, Хабр! Эта статья для тех, у кого не все щетки в ванной имеют таймер, и кто не хочет использовать песочные часы. Читать дальше →

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

[Перевод] Использование asyncio для создания асинхронных драйверов устройств на MicroPython v.1.12 Изученая возможности MicroPython для своих целей натолкнулся на одну из реализаций библиотеки asyncio и, после недолгой переписки с Piter Hinch — автором библиотеки, понял, что мне необходимо глубже разобраться с принципами, базовыми понятиями и типичными ошибками использова...

Что общего между LVM и матрешкой? Доброго времени суток. Хочу поделиться с сообществом практическим опытом построения системы хранения данных для KVM с использованием md RAID + LVM. В программе будет: Сборка md RAID 1 из NVMe SSD. Сборка md RAID 6 из SATA SSD и обычных дисков. Особенности работы TRIM/DI...

Насколько современные Линуксы отличаются друг от друга Более 15 лет я работаю в компании Fast Reports и по роду своей деятельности мне часто приходится иметь дело с Linux, ведя поддержку одного из продуктов. С Linux я знаком несколько дольше — впервые установил Slackware в 1997 году. Соответственно, обладая некоторым опытом, хоч...

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

[Из песочницы] Быстрое ознакомление с SwiftUI SwiftUI — это новый удобный способ для создания пользовательских интерфейсов на Xcode. Если хотите быстрое ознакомление с SwiftUI, тогда этот блог пост для вас. Для начала давайте создадим проект с поддержкой SwiftUI. Минимально необходимые для этого требования системы — эт...

[recovery mode] Успешный запуск. 44-й в 2020 году. 15-й от Китая. Навигационный спутник BeiDou Вячеслав Ермолин, 23 июня 2020 г. Миссия Запуск навигационного спутника третьего поколения BeiDou-3 для китайской навигационной системы. Запуск завершает формирование штатной численности навигационной системы BeiDou (BDS). Спутник выведен на геопереходную орбиту ракетой-н...

DANYCOM сможет заменить симку в любой точке России Виртуальный оператор DANYCOM.Mobile объявил о запуске бесплатной услуги, которая позволит заменить SIM-карту на территории РФ без привязки к региональной локации абонента. Для создания новой симки, если старая была утрачена, необходимо зайти в личный кабинет на сайте опер...

[Из песочницы] Геокодирование. Как привязать 250 тысяч адресов к координатам за 10 минут? Привет, Хабр! В этой статье я хотел бы поделиться опытом решения маленькой проблемы с большим количеством адресов. Если вы когда-либо работали с API геокодирования или пользовались онлайн инструментами, то думаю вы разделяете мою боль ожидания результата в течение несколь...

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

Подготовка к старту SpaceX DM-2 вышла на финишную прямую Несмотря на пандемию, подготовка к старту первой пилотируемой миссии Crew Dragon идет полным ходом, необходимые испытания и подготовительные операции проводятся успешно, и вполне вероятно, что запуск состоится по плану, 27 мая. Под катом рассказ об испытаниях, краткая информ...

Реализация автодополнения кода в Ace Editor Ace (Ajax.org Cloud9 Editor) — популярный редактор кода для веб-приложений. У него есть как плюсы, так и минусы. Одно из больших преимуществ библиотеки — возможность использования пользовательских сниппетов и подсказок. Однако, это не самая тривиальная задача, к тому же не ...

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

[Перевод] Создаем план действий с помощью AWS Cloud Adoption Framework Перевод статьи подготовлен специально для студентов курса «Cloud Solution Architecture». Источник Скачать руководство Планы действий AWS CAF помогут вам подготовиться к переходу на облачный стек технологий. Путешествие начинается с того, что ваша команда руководителей...

Хакатоны. Как выжать максимум и выжить Доброго всем времени суток! Меня зовут Александр Михалин — я .NET разработчик в компании “Рексофт”. За моей спиной 7 хакатонов, причем один в качестве члена жюри. Я не спал 8 ночей, выпил 52 чашки кофе, 15 банок редбулла, со мной в команде побывали 24 человека. Сегодня я х...

В Швейцарии создан новый тест на коронавирус, работающий в 10 раз быстрее существующих Управление по санитарному надзору за качеством пищевых продуктов и медикаментов (FDA) США одобрило новый тест на коронавирус, который в десять раз ускорит тестирование пациентов по сравнению с тестированием с использованием систем MagNA Pure 24 и LightCycler 480. Тест ...

Система под контролем: как автоматизировать интеграционные тесты Привет! Меня зовут Ксения Якиль. Я пишу core-сервисы на C и Go в бэкенд-отделе Badoo и Bumble. Наш бэкенд — это высоконагруженная распределённая система, обслуживающая пользователей по всему миру. Она оперирует большими массивами данных и делает всю ту магию, благодаря котор...

[Перевод] Как QA-команда GitLab использует GitLab Performance Tool Перевод статьи подготовлен в преддверии старта курса «DevOps практики и инструменты». Мы запустили ряд инициатив по улучшению производительности GitLab и нам нужен был новый инструмент для бенчмарков. Тестирование производительности — это сложный процесс, отличающийся от...

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

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

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

Как мы отказались от использования Styled-System для создания компонентов и изобрели собственный велосипед Всем привет! Меня зовут Саша, я сооснователь и по совместительству главный разработчик в Quarkly. В этой заметке я хочу рассказать о том, как концепция атомарного CSS, которой мы придерживаемся, вкупе с недостатками функционала Styled-System (и Rebass, как частного случая ис...

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

Как начать использовать USB Type-C в своих разработках В современных embedded-устройствах используется огромное количество различных разъемов, таких как USB Type-B, miniUSB, microUSB и так далее. Все они отличаются форм-фактором, максимальной пропускной способностью и другими различными характеристиками. Самым верным решением ...

Xiaomi Gateway (eu version) Hacked Xiaomi Zigbee Gateway Hack В этой статье я хочу поделится с Вами своими наработками и достигнутыми успехами в разборе Xiaomi шлюза (Версия с евровилкой с беру.ру). Расскажу как установить на него альтернативное ПО, как восстанавливать шлюз с затертым софтом и даже оживлять ш...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

[Перевод] Как использовать grok exporter для создания метрик prometheus из неструктурированных журналов Здесь будет перевод 2 постов про grok exporter. Первый перевод: Как использовать grok exporter для создания метрик prometheus из неструктурированных журналов Поговорим о grok exporter. В этой статье я объясню, как можно использовать grok exporter для создания метрик promethe...

Полное руководство по сезонной депрессии (SAD). 7 видов светотерапии Я проделал большую работу по исследованию англоязычной литературы на тему «рекуррентное депрессивное расстройство (F33) с сезонным паттерном». В этой статье я системно изложу всю найденную информацию. Почему эта статья важна: Лучшая книга по сезонной депрессии (Winter ...

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

[Из песочницы] Интеграция Gitlab, Jira и Confluence на Python для автоматизации сборки релизов Недавно на стендапе коллега внес рацпредложение: автоматизировать сборку релизов, взяв за основу готовые уже наработки по взаимодействию с Jira, написанные на Python. Процесс деплоя у нас следующий: когда накапливается достаточное количество задач, прошедших тестирование и...

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

Windows Subsystem for Linux 2 (WSL 2) теперь доступен для Windows 10 версий 1903 и 1909 Операционная система Windows 10 May 2020 Update (версия 2004) больше не является требуемой версией для использования Windows Subsystem for Linux 2 (WSL 2). Microsoft услышала пользователей, и в течение нескольких месяцев инженеры работали над тем, чтобы перенести WSL 2 на W...

[Из песочницы] Создание тайлов из растровых карт Как-то я озадачился вопросом создания карт, пригодных для использования в OsmAnd и OpenLayers. О ГИС я тогда вообще не имел ни малейшего понятия, поэтому разбирался со всем с нуля. В статье расскажу о результатах своих «исследований», составим алгоритм преобразования произв...

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

Kubernetes в духе пиратства: наш путь к микросервисам и готовый шаблон для внедрения Привет, я Юрий Буйлов, занимаюсь разработкой в CarPrice, а также внедряю практики DevOps, микросервисы и Kubernetes. Хочу рассказать про Kubernetes в духе пиратства — только не про управление большим красивым кораблем на парусах, а, скорее, про флот маленьких неприглядных ...

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

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

[Перевод] Ремастеринг сериала «Звёздный путь: Глубокий космос 9» до максимального качества Я сделал по этому проекту уже достаточно, чтобы начать говорить о нём, как о готовом к выходу, а не просто как о задумке, движущейся по бесконечной дороге к туманному и неопределённому «улучшению качества». Большинство историй начинаются не с конца, но эту определённо сто...

Управление уязвимостями (Vulnerability Management) — чего больше: управления или уязвимостей? В этой статье мы хотим поделиться с вами случаями, которые происходили у наших заказчиков, и рассказать/показать/ответить на вопрос, почему управление уязвимостями – это почти всегда не про уязвимости, и простого — «мы за вас отфильтруем из 1 000 000 уязвимостей до реально...

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

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

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

Запускаем свой RTMP сервер для стриминга Иногда YouTube или Twitch не подходят как стриминговая платформа — скажем, если вы пилите портал с вебинарами или контентом 18+, нарушаете авторские права или хотите максимально отгородить свою трансляцию от остального интернета. У них есть много альтернатив как в виде сер...

Проверено 3DMark. Производительность дискретной графики Intel Iris XE Max — на уровне Nvidia GeForce MX450 Первые тесты дискретной графики Intel Iris XE Max появились в Сети еще вчера — практически сразу после ее официального анонса. Сейчас — еще один тест. Но сначала — скриншот GPU-Z. Как видно, утилита правильно распознала GPU, но кое-какие параметры опр...

[Из песочницы] Круглосуточная трансляции своих видео на YouTube Последнее время в качестве хобби снимаю на видео лекции знакомого психолога. Отснятый материал монтирую и публикую на своём сайте. Месяц назад я загорелся идеей организовать круглосуточную трансляцию этих лекций на YouTube в режиме 24/7. Этакий тематический «телеканал», посв...

[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular) Общение между микро-приложениями Работа с git (deploy, обновления) Оглавление Общая час...

Полезные команды WSL для PowerShell Подсистема Windows для Linux имеет определённую степень кроссплатформенной совместимости с PowerShell и управляется из оболочки Windows. Давайте рассмотрим важные команды, которые могут вам пригодиться. Подсистема Windows для Linux (WSL) представляет собой мощный инструмент....

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

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

Тестовый запуск тяжелой ракеты. Запуски года: 106 всего, 15 от России Вячеслав Ермолин, 14 декабря 2020 г. Читать далее

[Перевод] Метрики, которые отслеживают великие Product-менеджеры Перевод статьи подготовлен в преддверии старта курса «Product Manager IT-проектов» Важность Product-менеджеров, которые руководствуются данными Если у вас нет опыта в Data Science, управление данными в качестве Product-менеджера может показаться непростой задачей. Однак...

Fozzy Group повышает производительность складов на 20% с помощью Zebra Technologies Комплекс решений для мобильной работы на базе Android обеспечивает максимальную окупаемость инвестиций и качество обслуживания клиентов Zebra Technologies Corporation (NASDAQ: ZBRA) объявила, что одна из крупнейших розничных компаний Украины Fozzy Group воспользовалась решен...

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

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

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

[Из песочницы] Как определить функционал MVP и влюбить клиента в пилотную версию продукта Итак, MVP. Достаточно заезженная тема, на мой взгляд. Каждый, кто хоть как-то связывал себя с разработкой программного обеспечения за последние 5 лет, с 99% вероятностью слышал эти 3 буквы. Но даже несмотря на обилие информации, народ все равно наступает на грабли «идеальног...

Размещаем сайт на домашнем роутере Мне давно хотелось «потрогать руками» интернет-сервисы, настроив веб-сервер с нуля и выпустив его в Интернет. В этой статье хочу поделиться полученным опытом превращения домашнего роутера из узкофункционального устройства в практически полноценный сервер. Читать дальше &rarr...

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

[Перевод] Мягкие частицы в WebGL и OpenGL ES Системы частиц это одни из самых простых способов сделать 3D сцену визуально богаче. В одном из наших Android приложений 3D Buddha Live Wallpaper достаточно простая сцена, которой было бы неплохо добавить чуть больше деталей. И когда мы думали как добавить разнообразия изобр...

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

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

[Из песочницы] Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания) Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar. Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успех...

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

Импорт ЕГРЮЛ ФНС средствами Apache NiFi. Шаг 2 — преобразование XML в JSON В одном из проектов возникла необходимость перевести процессы импорта данных сторонних систем на микросервисную архитектуру. В качестве инструмента выбран Apache NiFi. В качестве первого подопытного выбран импорт ЕГРЮЛ ФНС. В предыдущей статье было описано, как получить файл...

Найден простой способ ускорить систему Windows Эксперты обнаружили способ, позволяющий сделать более быстрой работу операционной системы Windows 10. Функция локального поиска среди приложений и файлов на компьютере может ускориться, если отключить использование онлайновой поисковой системы Bing.Опция отказа от использова...

B2B торговые площадки: как запуститься, преуспеть и заработать больше? Рецепт от AGORA и Brandquad Переводить ли свои B2B продажи в онлайн? В 2020 году этот вопрос звучит актуально как никогда. По прогнозу iBe TSE, продажи на онлайн-маркетплейсах к 2024 году превысят $7 трлн. Сопоставимо взлетел спрос и на создание собствен...

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

Поднимаем свой инстанс Webogram с проксированием через nginx Привет, Хабр! Недавно я попал в ситуацию, в которой необходимо было работать внутри корпоративной сети с неполным доступом к интернету и как вы можете догадаться по заголовку — Telegram в ней был заблокирован. Уверен, что данная ситуация знакома многим. Я вполне могу обход...

Сравнение скорости работы Xiaomi Mi 10 Pro и iPhone 11 Pro Max Китайская компания Xiaomi позиционирует свои новые флагманы в качестве конкурентов ключевым флагманам на рынке, в том числе и последним iPhone.Команда Tech/NickBrazer опубликовала в YouTube видео, в котором провела ручное сравнение скорости работы флагманов Xiaomi Mi 10 Pro ...

[Из песочницы] A* pathfinding на C#: двоичные кучи и борьба с аллокациями Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат. Сначала кратко ознакомимся с методами обхода графов, напишем собственно поиск пути, а затем перейдём к самому вкусному: оптимизации быстродействия...

Как мы загружали банковскую карту из iPhone в брелок С каждым годом всё больше компаний проявляют интерес к проектам, связанным с интернетом вещей (Internet of Things, IoT).  В статье я расскажу о созданной нами IoT платформе, о способах загрузки банковских карт в носимые устройства, об исследовании возможностей фреймворка C...

gRPC в качестве протокола межсервисного взаимодействия. Доклад Яндекса gRPC — опенсорсный фреймворк для удаленного вызова процедур. В Яндекс.Маркете gRPC используется как более удобная альтернатива REST. Сергей Федосеенков, который руководит службой разработки инструментов для партнеров Маркета, поделился опытом использования gRPC в качестве пр...

ГЛОНАСС-К. Запуски года: 83 всего, 75 успешных, 12 от России Вячеслав Ермолин, 25 октября 2020 г.Миссия:Запуск навигационного спутника нового поколения ГЛОНАСС-К. Читать далее

Вспомнить все: самые крутые запуски в аналитических сервисах Яндекса за 2019 год Команда аналитических сервисов Яндекса рассказала о самых крутых запусках в Метрике, AppMetrica и Радаре за 2019 год. А также привела некоторые статистические данные, касающиеся этих запусков. Так например, с момента запуска новых крэш-отчетов в AppMetrica было зафиксировано...

Microsoft отозвал обновление безопасности для Windows 10 Microsoft откатил запуск одного из последних обновлений безопасности для Windows 10 после жалоб пользователей. Так, обновление KB4524244 было отозвано спустя четыре дня после запуска из-за сообщений о том, что оно вызывает сбои и зависания во всех доступных версиях Windows 1...

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

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

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

Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2 В данной статье узнаем про функцию crypt, узнаем как подбирать пароли к ZIP архиву с незашифрованными именами файлов, познакомимся с утилитой xortool, а так же разберемся с генератором псевдослучайных чисел. Предыдущие статьи на эту тему: Часть 1 — Кодировки, шифр сдвига,...

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

Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 2 В процессе первых пяти шагов, описанных в статье Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 1 мы объединили виртуальной сетью три географически удалённых друг от друга узла. Один из которых расположен в физической сети, два других...

Тесты CPU-Z: Rocket Lake-S дает ~12% прирост производительности над Comet Lake-S Тесты CPU-Z: Rocket Lake-S дает ~12% прирост производительности над Comet Lake-S. Результаты проведенного теста указывают на то, что с переходом на Intel Core 11-го поколения «Rocket Lake-S» производительность в геймерских приложениях (однопоточные вычисления) растет. Подроб...

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

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

Настройка окружения в CLI. WSL / Windows Terminal Есть люди, которые большинство рабочего времени проводят в консоли, есть те, кто пользуются терминалом при необходимости, запуская что-то по инструкциям. Но я думаю, что каждый айтишник, будь он разработчиком, сисадмином, сетевым инженером, или даже senior yaml developer`ом,...

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

Фичи JavaScript. Часть 1 Доброго времени суток, друзья! В этой статье я хочу поделиться с Вами некоторыми находками, сделанными мной в процессе изучения JavaScript. Возможно, Вы найдете для себя что-то интересное. Данная часть серии будет посвящена, преимущественно, работе с DOM. Рекомендую прим...

[Из песочницы] Свои Custom Controls в Angular Пролог Поговорим о реактивных формах в angular, узнаем за кастомные контролы, как их создавать, использовать и валидировать. Статья предполагает что вы уже знакомы с фреймворком angular, но хотите больше погрузиться в её специфику. Хорошее желание, начнем. Читать дальше &ra...

Как тестировать код, содержащий setTimeout/setInterval под капотом Мы, разработчики, очень любим юнит-тесты, полезность которых очевидна. И чтобы эти тесты действительно были полезными, а не приносили боль, необходимо обеспечивать их стабильность. Наша компания разрабатывает интерфейсный фреймворк "Wasaby" и продает построенные на...

Андрей Зинин прокомментировал запуск в столице образовательного проекта «Героика» Директор ГМЦ* Андрей Зинин прокомментировал информацию о запуске в российской столице образовательного проекта «Героика». Сообщается, что проект был разработан образовательным ведомством города Москвы для того чтобы мотивировать обучающихся к изучению героических страниц ист...

Производительность Apple iPhone 12 и iPhone 12 Pro в тестах AnTuTu не впечатляет Оценки производительности Apple iPhone 12 и iPhone 12 Pro появились в базе AnTuTu, но они не впечатляют. По результатам синтетических тестов новые смартфоны уступают нынешним флагманам на базе Snapdragon 865. Подробнее об этом читайте на THG.ru.

Как Kafka стала былью Привет, Хабр! Я работаю в команде Tinkoff, которая занимается разработкой собственного центра нотификаций. По большей части я разрабатываю на Java с использованием Spring boot и решаю разные технические проблемы, возникающие в проекте. Большинство наших микросервисов асинхр...

[Перевод] 6 уроков, извлечённых из опыта оптимизации производительности Node.js-сервиса В компании Klarna прилагают большие усилия к тому, чтобы помочь разработчикам в создании высококачественных и безопасных сервисов. Один из инструментов, который предназначен для разработчиков, представляет собой платформу для выполнения A/B-тестов. Важнейшим компонентом этой...

КОМПАС-3D v18 Home. Создание модели переходника с маски для снорклинга на фильтр ИВЛ. + Бонус на период пандемии. В уроке показан один из простых способов создания гладкого переходника с маски для снорклинга на фильтр от ИВЛ. Важно! На период борьбы с COVID-19 мы (АСКОН) изменили лицензионное соглашение: теперь вы можете использовать Home-версию и для коммерческой деятельности по разраб...

Ведение разработки БД. Шаблоны создания/изменения объектов MSSQL При постоянной работе с MSSQL необходимо создавать различные объекты БД: таблицы, представления, триггеры и т.д. В статье приведу шаблоны SQL запросов, которые помогут, и, возможно, стандартизируют подход создания кода на языке T-SQL. Кроме этого, опишу о том, как я веду ре...

Как создавали беруши, у которых громкость можно менять Для меня всегда было загадкой, как люди делают хардверные стартапы. С программированием понятно, жмешь одни кнопки, рисуешь другие. А как там с реальным продуктом? Как находят форму? Как подбирают технологию? Как делают устройства удобным? Где искать производителей? Мне пов...

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

Слухи: Huawei планирует выпустить настольный ПК на базе процессоров AMD Ryzen 4000 AMD готовится к запуску своей серии настольных процессоров Ryzen 4000 Но еще один долгожданный запуск - это Renoir APUs, который наконец-то представляет собой архитектуру Team Red Zen 2. Вокруг выхода этих чипов витает множество слухов и один из них - это решение Huawei выпу...

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

Компания SpaceX успешно провела пятый запуск спутников Starlink, но ракета-носитель не села на плавучую платформу Вчера компания SpaceX вывела в космос пятую партию интернет-спутников Starlink. Этот старт был интересен тем, что для используемого экземпляра первой ступени ракеты-носителя Falcon с номером B1056 он был уже четвертым, и на подготовку к повторному запуску было потрачено...

Компания SpaceX успешно провела пятый запуск спутников Starlink, но ракета-носитель не села на плавучую платформу Вчера компания SpaceX вывела в космос пятую партию интернет-спутников Starlink. Этот старт был интересен тем, что для используемого экземпляра первой ступени ракеты-носителя Falcon с номером B1056 он был уже четвертым, и на подготовку к повторному запуску было потрачено...

[Перевод] Сравнение стоимости на Managed Kubernetes (2020) Прим. перев.: Американский DevOps-инженер Sid Palas, пользуясь недавним анонсом Google Cloud как инфоповодом, провёл сравнение стоимости услуги Managed Kubernetes (в разных конфигурациях) от ведущих мировых облачных провайдеров. Дополнительным плюсом его работы стала публика...

Гибкие процессы в IT команде Всем привет, меня зовут Алексей Федоров, я тимлид команды финансов в Ситимобил. В этой статье я хочу поделиться тем, как устроен процесс гибкой разработки в нашей команде. Читать дальше →

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

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

[Перевод] Почему Discord переходит с Go на Rust Rust становится первоклассным языком в самых разных областях. Мы в Discord успешно используем его и на серверной, и на клиентской стороне. Например, на стороне клиента в конвейере кодирования видео для Go Live, а на стороне сервера для функций Elixir NIF (Native Implemente...

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

Ускоряем загрузку больших объёмов в PostgreSQL, используя COPY from STDIN binary ...К сожалению Qt драйвер для постгреса не поддерживает функционал, необходимый для быстрой загрузки. Поэтому я написал свою библиотеку на С++ для этого, а теперь хочу с Вами поделиться этим прекрасным методом добавления и самой библиотекой. Читать далее

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

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

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

SpaceX готовит запуск астронавтов в апреле-июне Компания SpaceX продолжает быть главным ньюсмейкером. Crew Dragon успешно прошёл первые тесты и поэтому стоит ожидать пилотируемого полёта, причём совсем скоро. Илон Маск на конференции после теста заявил, что пилотируемую миссию стоит ожидать уже во втором квартале 2020 го...

Pinebook Pro: уже не Chromebook Иногда создается впечатление, что Chromebook'и в основном покупают для того, что бы поставить на них Linux. Навскидку статьи на хабре: одная, вторая, третья, четвертая, ... Поэтому компания PINE Microsystems Inc. и сообщество PINE64 решили, что рынку помимо Chromebook-полуфа...

Maxonrow привлекла к запуску нового сервиса токенизации активов KYC-Chain Компания Maxonrow  сообщила о запуске нового сервиса токенизации активов – True AssetIssuing (TAI).  Как технологическая компания, стремящаяся содействовать государственному и частному сектору в вопросах повышения безопасности и эффективности цифровых процессо...

Знакомство с pg_probackup. Первая часть Привет, я Александр Никитин, главный системный администратор компании «БАРС Груп». В этой статье я хочу познакомить вас с инструментом pg_probackup. Pg_probackup — разработка компании Postgres Professional, которая помогает делать резервные копии СУБД PostgreSQL. В отличи...

[Перевод] Какую кибердеку я бы хотел сделать для себя Перевод статьи из блога AbcLinuxu В 2016 году я создал сабреддит /r/cyberDeck. Отчасти потому, что меня вдохновила статья о создании кибердеки, а отчасти из-за нескольких обсуждений в IRC, в которых я принимал участие, и поскольку мне кажется, что эта идея – нечто большее, ...

Цифровой коронавирус — комбинация Ransomware и Infostealer В сети продолжают появляться различные угрозы, использующие тематику коронавируса. И сегодня мы хотим поделиться информацией об одном интересном экземпляре, который наглядно демонстрирует стремление злоумышленников максимизировать свою прибыль. Угроза из категории “2-в-1” та...

[recovery mode] Расчеты по банковским картам в торговле — создание открытого датасета и инфографики в Google Data Studio Это моя первая публикация на Хабре. Я интересуюсь и отчасти практикую дата-журналистику и хотел бы поделится с вами инфографикой, иллюстрирующую расчеты по банковским картам в торговле. А также расшарить открытый датасет в Data.World, и рассказать о создании этого проекта. ...

Property-based тестирование для JavaScript и UI: необычный подход к автоматизированным тестам Falcon Heavy Demo Mission Писать тесты скучно. А то, что скучно делать, постоянно откладывается. Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions, и в этой статье покажу вам другой, немного странный подход к автоматизированному тестированию. Чи...

[Из песочницы] Создание Discord-бота на Python. Часть 1 Версии, которые стоят у автора Версия Python: 3.8.2 Версия discord.py: 1.3.3 Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощь...

[Перевод] Как создаётся изображение формата RAW? Рис. 1: фото на Nikon D610 с объективом AF-S 24-120mm f/4 и параметрами 24mm f/8 ISO100 Каковы базовые шаги создания изображения формата RAW на низком уровне? В данной статье я опишу, что происходит «под капотом» цифровой камеры, где необработанные данные превращаются в пр...

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

[recovery mode] Установка Windows 98 на современный ПК Решил поделиться своим рецептом, как я установил Windows 98SE на относительно современный ПК. На Интернет форумах много сообщений, что Windows 98SE не устанавливается на современные ПК, не запускается на PCI-e видеокартах и т.п., поэтому статья может быть полезна тем, кто хо...

[Перевод] Стек технологий Shiro Games Наш игровой движок Heaps.io и набор инструментов и технологий, на котором он основан, являются результатом опыта, накопленного за двадцать лет, посвященных созданию игр: сначала в компании Motion-Twin (создатели Dead Cells), а с 2012 года в Shiro Games (Evoland, Northgard и ...

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

Тест влияние гипертрейдинга в играх на примере процессора e5 2689 Запуск теста процессора в играх с одинаковыми настройками в 2560*1440 и в 1280*720, тест проводился в 4-х играх (dayz, 7 days to die, the forest, green hell)

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

Запуск первой в Восточной Африке сети 5G SA реализовали ZTE и MTN Компания ZTE Corporation (0763.HK/000063.SZ), крупный международный поставщик телекоммуникационных решений, а также корпоративных и потребительских технологий для мобильного Интернета, и MTN Uganda сообщили о совместном запуске первой в Восточной Африке сети 5G SA. Демонстра...

Как Youtube и Instagram: интернационализация и локализация приложения на Python Язык Python лежит в основе всемирно известных приложений, таких как Youtube, Instagram и Pinterest. Для продвижения на мировом рынке приложению необходима локализация, то есть адаптация к особенностям той или иной страны, и интернационализация – перевод контента. В статье мы...

[Перевод] Лёгкий способ сделать крохотный USB-хаб для Raspberry Pi Перевод статьи с сайта самодельщика Retrocution Бывало у вас такое, что вам не хватает USB-портов при создании проекта на Raspberry Pi Zero? Притом внешние USB-хабы или HATS не подходили из-за ограничений по размеру? Если да, или если вы просто ищете себе интересный проек...

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

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

[Перевод] Запуск Camunda BPM в Kubernetes Используете Kubernetes? Готовы переместить свои экземпляры Camunda BPM с виртуальных машин, а может просто попробовать запустить их на Kubernetes? Давайте рассмотрим некоторые распространенные конфигурации и отдельные элементы, которые можно адаптировать к вашим конкретным ...

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

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

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

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

[Из песочницы] Организовываем взаимодействие между ПК и ЦАП/АЦП при помощи ПЛИС В современном цифровом мире необходимость ЦАП/АЦП (цифро-аналоговых преобразователей/аналого-цифровых преобразователей) не подвергается сомнению: они используются для обработки сигналов разнообразных датчиков, в звуковой аппаратуре, ТВ-тюнерах, платах видеовхода, видеокамера...