Социальные сети Рунета
Суббота, 20 апреля 2024

3. Типовой сценарий внедрения Check Point Maestro В прошлых двух статьях (первая, вторая) мы рассмотрели принцип работы Check Point Maestro, а также технические и экономические преимущества этого решения. Теперь хотелось бы перейти к конкретному примеру и описать возможный сценарий внедрения Check Point Maestro. Я покажу ...

2. Типовые сценарии использования Check Point Maestro Совсем недавно компания Check Point презентовала новую масштабируемую платформу Maestro. Мы уже публиковали целую статью о том, что это такое и как оно работает. Если коротко — позволяет почти линейно увеличивать производительность шлюза безопасности путем объединения неск...

В Банке ВТБ проведено нагрузочное тестирование системы документационного обеспечения на базе ПО CompanyMedia и аппаратного комплекса Huawei Специалисты компании «ИнтерТраст» завершили первый этап нагрузочного тестирования системы документационного обеспечения (СДО) Банка ВТБ в среде, полностью воспроизводящей реальные сценарии использования системы в Банке. Тестирование проводилось ...

Нагрузочное тестирование с locust. Часть 3 Финальная статья об инструменте для нагрузочного тестирования Locust. Сегодня поделюсь наблюдениями, которые накопил в процессе работы. Как всегда, видео прилагается. Часть 1 — тестирование с Locust Часть 2 — продвинутые сценарии Читать дальше →

9 типовых проблем в сети, которые можно обнаружить с помощью анализа NetFlow (на примере Flowmon) Относительно недавно мы публиковали статью “Сетевой мониторинг и выявления аномальной сетевой активности с помощью решений Flowmon Networks”. Там мы кратко рассмотрели возможности этого продукта и процесс установки. Неожиданно для нас, после статьи и вебинара, поступило бо...

Check Point Maestro Hyperscale Network Security — новая масштабируемая security платформа Компания Check Point довольно резво начала 2019 год сделав сразу несколько анонсов. Рассказать обо всем в одной статье не получится, поэтому начнем с самого главного — Check Point Maestro Hyperscale Network Security. Maestro это новая масштабируемая платформа, которая позв...

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

Cisco HyperFlex vs. конкуренты: тестируем производительность Мы продолжаем знакомить вас с гиперконвергентной системой Cisco HyperFlex. В апреле 2019 года компания Cisco в очередной раз проводит серию демонстраций нового гиперконвергентного решения Cisco HyperFlex в регионах России и в Казахстане. Записаться на демонстрацию можно чер...

Достоверный нагрузочный тест с учётом непредвиденных нюансов Мы задумались о построении инфраструктуры больших нагрузочных тестов год назад, когда достигли отметки в 12K онлайн-пользователей, работающих в нашем сервисе одновременно. За 3 месяца мы сделали первую версию теста, которая показала лимиты сервиса. Ирония судьбы в том, что ...

DDoS в помощь: как мы проводим стресс- и нагрузочные тесты Компания Variti разрабатывает защиту от ботов и DDoS-атак, а также проводит стресс- и нагрузочное тестирование. На конференции HighLoad++ 2018 мы рассказывали, как обезопасить ресурсы от различного вида атак. Если коротко: изолируйте части системы, используйте облачные сер...

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

Как не утонуть в рутине, или Наш опыт сравнения AWR-дампов при проведении нагрузочного тестирования Всем привет! Меня зовут Людмила, я занимаюсь нагрузочным тестированием, хочу поделиться тем, как мы выполнили автоматизацию сравнительного анализа регрессионного профиля нагрузочного тестирования системы с БД под СУБД Oracle вместе с одним из наших заказчиков. Целью статьи ...

Как будет работать HPE SimpliVity 380 для VDI: жёсткие нагрузочные тесты Заказчик захотел VDI. Очень присматривался к связке SimpliVity + VDI Citrix Virtual Desktop. Для всех операторов, сотрудников офисов по городам и так далее. Там пять тысяч пользователей только в первой волне миграции, и поэтому они настояли на нагрузочном тестировании. VDI...

[recovery mode] Tcl для Cisco IOS в простых примерах Представим, что вам нужно развернуть «с нуля» десяток однотипных access-коммутаторов Cisco. Типовая конфигурация включает имя хоста и домена, шлюз по-умолчанию, пароли, список пользователей, IP-адреса для SVI, номера VLAN'ов, настройки транков аплинков и т.д. Вводить это каж...

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

Check Point Falcon Acceleration Cards — ускоряем обработку трафика Относительно недавно мы публиковали статью про Check Point Maestro, новую масштабируемую платформу, которая позволяет практически линейно наращивать “мощность” шлюзов Check Point. Однако это не единственная технология увеличения производительности. Еще в 2018 году были ано...

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

Использование werf для выката комплексных Helm-чартов Статья посвящена разработке Helm-чартов для Kubernetes с использованием готовых решений из репозиториев чартов. При таком подходе пользователь применяет рецепты сообщества или свои собственные, обеспечивая своевременное обновление типовых компонентов всех своих проектов и ...

Service Desk в Хоум Кредит. А что внутри?… В каждой компании, где присутствует подразделение ИТ, есть ServiceDesk, но у всех он разный. Где-то это простой helpdesk для приема обращений, где-то anykey, у нас в Хоум Кредите первая линия поддержки — ступень к многоуровневому процессу эксплуатации, а для многих сотрудник...

Мониторинг + нагрузочное тестирование = прогнозирование и отсутствие сбоев IT-департаменту ВТБ несколько раз приходилось сталкиваться с нештатными ситуациями в работе систем, когда нагрузка на них многократно возрастала. Поэтому появилась необходимость разработать и опробовать модель, которая предсказывала бы пиковую нагрузку на критичные системы. ...

[Из песочницы] Порядок в фотоархиве средствами powershell Привет, Хабр! На днях возникла типовая задача — помочь знакомой превратить гору фотографий в упорядоченную иерархию. Всё бы ничего, но гор фотографий не одна, а две — на Mac и на ноуте под Win10. В поисках решения, наткнулся на несколько сценариев для linux, а вот чего-то т...

TDD приложений на Spring Boot: тонкая настройка тестов и работа с контекстом Третья статья в цикле и небольшое ответвление от основной серии — в этот раз я покажу как устроена и как работает библиотека интеграционного тестирования Spring, что происходит при запуске теста и как можно тонко настраивать приложение и его окружения для теста. Читать дальш...

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

Открытые бенчмарки для нагрузочного тестирования серверов и веб-приложений Это — подборка утилит, составленная на основе рекомендаций резидентов Hacker News и GitHub. В список вошли: Locust, Vegeta, Slow_cooker, k6 и Siege. Ими пользуются инженеры из DICE, EA и Buoyant, а также разработчики Kubernetes и Load Impact. Расскажем об этих инструментах. ...

Sigma rules. Поделка или новый стандарт для SOC Я Сергей Рублев, руководитель SOC (Security Operations Center) в компании «Инфосекьюрити». В этой статье подробно рассмотрю амбициозный проект Sigma Rules, девиз которого: «Sigma для логов — это как Snort для трафика и Yara для файлов». Речь пойдет про три аспекта: Пр...

[Из песочницы] Что дает объединение ручного и автоматизированного тестирования: опыт Wrike Читая статьи на тему web-тестирования, вырисовываются условно две темы: 1) ручное тестирование вымирает, автотесты (здесь и далее под автотестами имеются в виду Selenium UI и REST-тесты) – наше все; 2) автоматическое тестирование – не панацея, без ручного тестирования не об...

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

SVG 3D: создание, вращение по оси и анимация Чуть более недели назад, в рамках конкурса от Телеграм, пришлось окунуться в "волшебный мир" svg, математических формул, оптимизации и анимации. Конкурсным заданием было создание достаточно простого чарта на JS, но некоторые нюансы задания и акцент на производительности дел...

«Код безопасности» предложит банкам внедрение типового ИБ-решения при работе с биометрией «Код безопасности» стал авторизованным партнером компании «Ростелеком» по внедрению типового решения …

Улучшение производительности Zabbix + PostgreSQL при помощи партиционирования и индексирования Примерно год назад передо мной и моими коллегами была поставлена задача разобраться с использованием популярной системы мониторинга сетевой инфраструктуры — Zabbix. После изучения документации мы сразу же перешли к нагрузочному тестированию: хотели оценить с каким количество...

Мультимедиа центр «Kodi» и Yocto Project Введение в Yocto Project Yocto Project — это совместный Open Source проект для упрощения разработки дистрибутивов для встраиваемых систем. Yocto содержит большое количество шаблонов, метаданных и инструментальных средств сборки. В Yocto Project вы можете подключить большо...

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

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

«Ростелеком» создал типовое решение для безопасного сбора биометрических данных Компания «Ростелеком» сообщила, что созданный ей системный проект типового решения по информационной безопасности при …

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

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

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

[Перевод] Сценарии использования и производительность Blazor Server в .NET Core 3.0 С момента релиза Blazor Server с .NET Core 3.0 в прошлом месяце многие люди поделились с нами своим восторгом от возможности создания клиентского веб-интерфейса используя только с .NET и C#. В то же время мы также слышали много вопросов о том, что такое Blazor Server, как он...

[Перевод] Миграция с Nginx на Envoy Proxy Привет, Хабр! Предлагаю вашему вниманию перевод поста: Миграция с Nginx на Envoy Proxy. Envoy — это высокопроизводительный распределенный прокси-сервер (написанный на C++), предназначенный для отдельных сервисов и приложений, также это коммуникационная шина и «universal data...

Не забудьте повысить шанс ответа клиенту, используя повторный запрос в L7 балансировке Используя nginx для балансировки HTTP трафика на уровне L7 есть возможность направить запрос клиента на следующий сервер приложений, если целевой не возвращает положительный ответ. Проба механизма пассивной проверки состояния работоспособности сервера приложений показало нео...

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

Типовое внедрение мониторинга. Николай Сивко Расшифровка доклада "Типовое внедрение мониторинга" Николая Сивко. Меня зовут Николай Сивко. Я тоже делаю мониторинг. Okmeter это 5 мониторинг, который я делаю. Я решил что я спасу всех людей от ада мониторинга и мы избавим кого-то от этих страданий. Я всегда в своих презен...

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

Балансировка красно-чёрных деревьев — Три случая Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в дл...

Введение в Bash Shell Всем привет. Это перевод из книги по подготовке к экзамену RedHat RHCE. На мой взгляд очень доступно рассказывается об основах bash. Сценарии оболочки — наука сама по себе. Не вдаваясь в подробности всего, что происходит «под капотом», вы узнаете, как применять базовые элем...

Как проверить доступность вводного предложения в iOS Если в вашем приложении с подписками вы используете вводные предложения (триал, оплата по мере использования или предоплата), то прежде чем показать цену на экране оплаты, вам нужно определить доступность вводного предложения для пользователя. Если пользователь до этого уже ...

OpenVPN, о котором вы так мало знали OpenVPN, как много в этом слове. Мультиплатформенный, гибко настраиваемый, бесплатный VPN сервер с открытым исходным кодом, являющийся фактически стандартом "defacto" для организации доступа к внутренним корпоративным сетям. Большинство администраторов используют его с настр...

Автоматизация сети с помощью Ansible: модуль command Говоря о типовых сценариях автоматизации сети, никак не обойтись без набора модулей command. Благодаря этим модулям, Ansible позволяет запускать команды на сетевом оборудовании так, как будто вы вводите их прямо с консоли. При этом вывод команд не просто проскакивает в окне ...

Балансировка нагрузки в Openstack (Часть 2) В прошлой статье мы рассказали о попытках использовать Watcher и представили отчет испытаний. Такие испытания мы периодически проводим для балансировки и других критических функций большого корпоративного или операторского облака. Высокая сложность решаемой задачи, возможно...

Vivaldi 2.9 — Улучшение улучшений Всем привет! Процесс совершенствования браузера, как и ремонт в квартире, невозможно закончить — его можно только остановить. И в этом контексте у нас есть две новости, одна — хорошая, а другая — плохая. Плохая новость: да, браузер Vivaldi ещё далёк от совершенства. Хорош...

React + Mobx: в чём смысл? Сегодня я хочу рассказать вам о том, как на нашем проекте состоялся переход на Mobx, какие преимущества это даёт. Также будет показан типовой проект и даны пояснения по основным вопросам. Но сначала вводные. Читать дальше →

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 2 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня будут рассмотрены примеры развертывания GitHub webhook, периодических сигналов, а также приведено простейшее приложение для отправки сообщений в Slack. Читать дальше →

«Внеси свой вклад в экосистему Samsung!» – конкурс идей. Главный приз — Galaxy S10 Многие российские семьи пользуются техникой Samsung. Уже 9 лет подряд Samsung стабильно лидирует в рейтинге «Любимые бренды россиян» за счет высоких мест в категориях бытовой техники, мобильных устройств, ТВ, аудио-, видеотехники и т.д. Мы предлагаем вам задуматься над тем...

Tic Tac Toe, часть 7: pytest и Travis CI Tic Tac Toe: содержание цикла статейВ этой статье рассмотрим Непрерывную Интеграцию/Сontinuous Integration на примере использования Travis CI. Читать дальше →

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. Сертифицированный сетевой специалист Cisco (ССNA). День 4. Межсетевые устройства Сегодня мы узнаем о межсетевых устройствах и рассмотрим все устройства, которые требуются для вашей программы CCNA. У нас в Cisco имеется множество устройств, но для успешной сдачи экзамена вам достаточно будет знать всего о трёх устройствах. В конце этого видеоурока мы расс...

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

Samsung Galaxy S10+ стал новым лучшим смартфоном рейтинга Consumer Reports Consumer Reports — ежемесячный журнал некоммерческой американской организации Consumers Union. Он публикует обзоры и сравнительные тесты потребительских товаров и услуг, при этом в журнала нет рекламы, так что оценка товаров происходит без предвзятости. После пров...

Как настроить PVS-Studio в Travis CI на примере эмулятора игровой приставки PSP Travis CI — распределённый веб-сервис для сборки и тестирования программного обеспечения, использующий GitHub в качестве хостинга исходного кода. Помимо указанных выше сценариев работы, можно добавить собственные, благодаря обширным возможностям для конфигурации. В данной с...

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

Запчасти к УМК "Пионер" (часть 3) Автор статьи: Михеенко В.Я.Должность: методист ГК “Геоскан”Дата: 25 апреля 2019 годаКому будет полезна статья: ожидающим запчастей пользователямЦикл “Запасные части к УМК “Пионер”. Часть 3”“…Чем дальше, тем все легче современная техника превращает вымыслы и домыслы, фантазии...

Как мы мигрировали базу данных из Redis и Riak KV в PostgreSQL. Часть 1: процесс Это первая часть статьи, в которой я расскажу о том, как мы построили процесс работы над большим проектом по миграции БД: про безопасные эксперименты, командное планирование и кросс-командное взаимодействие. В следующих статьях подробней расскажу про технические проблемы, ко...

[Перевод] Настройка кластера HA Kubernetes на «голом железе» с GlusterFS & MetalLB. Часть 2/3 Часть 1/3 тут Привет и с возвращением! Это вторая часть статьи о настройке кластера Kubernetes на «голом железе». Ранее мы настраивали НА-кластер Kubernetes с помощью внешнего etcd, схемы «ведущий-ведущий» и балансировки нагрузки. Ну а теперь пришло время настроить дополнит...

[Перевод] Учебник по JavaFX: расширенные макеты Как организовать и разместить GUI компоненты в приложении JavaFX, используя расширенные макеты. В предыдущей статье мы рассмотрели некоторые основные макеты JavaFX. Теперь пришло время рассмотреть остальные имеющийся макеты. Учебник по JavaFX: начало работы Учебник по Ja...

PVS-Studio идёт в облака: CircleCI Мы продолжаем цикл статей по использованию статического анализатора PVS-Studio в облачных CI-системах. Сегодня рассматриваем очередной сервис — CircleCI. В качестве проекта для анализа в этот раз выступит медиаплеер Kodi, в исходном коде которого постараемся найти интересны...

Влияние Transparent Huge Pages на производительность системы Статья публикуется от имени Ахальцева Иоанна, Jiga Tinkoff.ru сегодня — это не просто банк, это IT-компания. Она предоставляет не только банковские услуги, но ещё выстраивает экосистему вокруг них. Мы в Tinkoff.ru заключаем партнерство с различными сервисами для повышения к...

Эволюция H2 — оконные функции, CTE, JSON/XML во встраиваемой базе данных Есть open source проекты которые стали коммерчески успешным мейнстримом, как например PostgreSQL/Elasticsearch. Другие, к примеру RethinkDB, проиграли на рынке и остановили разработку. А проект H2 database встраиваемой базы данных, написанной на языке java, развивается и здр...

Слухи: в Half-Life 3 у Фримена должен был появиться киберпротез — свежие подробности сюжета игры Поклоннику Half-Life около двух лет назад попала в руки информация о сценарии и разработке Half-Life 3. Всё это время он боялся ею делиться, но теперь всё же решился. В свежем ролике YouTube-канала Valve News Network Тайлер Маквикер (Tyler McVicker) рассказал то, чт...

Про установку и использование LineageOS 16, F-Droid Предлагаю вашему вниманию инструкцию как оптимально(по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS(далее сокращённо LOS) и приложений из F-Droid. Я думаю, что это статья будет вам интересна,...

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

Mesh VS WiFi: что выбрать для беспроводной связи? Когда я еще жил в многоквартирном доме, я сталкивался с проблемой низкой скорости в дальнем от роутера помещении. Ведь у многих роутер стоит в прихожей, куда провайдер дотянул оптику или UTP, и там же был поставлен типовой девайс. Еще хорошо, когда собственник меняет маршр...

Три года автотестов: как повысить скорость и не только Привет, я Алексей, full-stack разработчик платформы Vimbox. Когда я пришел в Skyeng, здесь решали, стоит ли тратить время на систему автотестов и попросили меня поделиться опытом с предыдущей работы. А такой опыт у меня был: к моменту ухода с предыдущего места мы написали н...

Резервное копирование, часть 3: Обзор и тестирование duplicity, duplicaty, deja dup В данной заметке рассмотрены средства резервного копирования, которые выполняют резервное копирование путем создания архивов на резервном сервере. Из тех, которые удовлетворяют требованиям — duplicity (к которому есть приятный интерфейс в виде deja dup) и duplicati. Еще одн...

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

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

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

[recovery mode] Популярные вопросы разработчика о тестировании Эта статья — не теоретическое руководство по написанию тестов и не how-to по использованию инструментария в определенном стеке, а ряд популярных вопросов, иногда даже у многих не сформировавшихся, на которые я постараюсь дать ответы. Источником этих вопросов служат коллеги, ...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 41. DHCP Snooping и Nondefault Native VLAN Сегодня мы рассмотрим две важные темы: DHCP Snooping и «недефолтные» Native VLAN. Перед тем, как перейти к уроку, приглашаю вас посетить другой наш канал YouTube, где вы сможете просмотреть видео о том, как улучшить свою память. Рекомендую вам подписаться на этот канал, так ...

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

20 проектов, 20 языков, срок вчера. Часть 3 Заключительная статья об интеграции Serge+Smartcat. В этой статье я расскажу, как мы масштабируем Serge на всю компанию, рассмотрю 4 нестандартных интеграции и, в качестве бонуса, расскажу о 2 фичах которые могут упростить вам жизнь. Предыдущие статьи: 20 проектов, 20 язык...

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

Обзор RUBETEK RE-3316, RUBETEK RE-3317, RUBETEK RL-3101, RUBETEK RE-3310, RUBETEK RE-3301 Не так давно компания RUBETEK пополнила модельную линейку умных устройств сразу серией интересных решений для широкого круга сценариев. В рамках этого обзора мы рассмотрим RE-3316 (Wi-Fi выключатель одноканальный), RE-3317 (Wi-Fi выключатель двухканальный), RL-3101 (Светодио...

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

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

[Из песочницы] Настройка VSCode для работы с Scala Статья рассчитана на новичков в программировании на Scala, каким я сам и являюсь, и просто на желающих начать писать программный код в VSCode. Так получилось, что единственным гайдом по теме работы со Scalой в Visial Studio Сode оказалось это видео на ютуб-канале DevInside...

База данных KDB+: от финансов до «Формулы 1» KDB+, продукт компании KX — это широко известная в узких кругах, исключительно быстрая, колоночная база данных, предназначенная для хранения временных рядов и аналитических вычислений на их основе. Изначально она пользовалась (и пользуется) большой популярностью в индустрии ...

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

Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи! В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от...

Разбираемся, как 5G будет работать в миллиметровом диапазоне на улице и в помещениях На MWC2019 Qualcomm показала видео с интересными сценариями пользования наружной сетью 5G миллиметрового диапазона, как вне помещений офиса, так и, в отдельных случаях, в помещениях. Рассмотрим их подробнее. На фото выше представлен кампус Qualcomm в Сан-Диего, Калифорни...

[Перевод] Envoy модель потоков (Envoy threading model) Привет, Хабр! Представляю вашему вниманию перевод статьи «Envoy threading model» автора Matt Klein. Данная статься показалась мне достаточно интересной, а так как Envoy чаще всего используется как часть «istio» или просто как «ingress controller» kubernetes, следовательно ...

[Из песочницы] Кастомизируем select на чистом css Как-то вечером я убивал время, читая статьи в интернете, и наткнулся на вот этот хабропост пользователя Cyapa, где расписано, как кастомизировать select на чистом css. В процессе просмотра данного решения нашел несколько весьма неудобных моментов, которые постарался исправит...

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

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

Неопределённая параметризация как универсальный метод построения архитектуры приложения на C++ и Java за минимальн. цену C++ — язык запутанный, и существенным его недостатком является сложность создания изолированных блоков кода. В типовом проекте всё зависит от всего. Эта статья показывает, как писать высокоизолированный код, который минимально зависит от конкретных библиотек (включая стандар...

[recovery mode] ShIoTiny: часы без пружины или реальное время и как с ним работать О чем эта статья Продолжаем цикл статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266. В этот статье рассказано о часах реального времени в контроллере ShIoTiny, синхронизации времени и использовании узлов работы с часами. Сайт проекта ShIoTiny...

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

[Перевод] Вся правда об ОСРВ. Статья #29. Прерывания в Nucleus SE Все современные микропроцессоры и микроконтроллеры содержат какие-либо механизмы прерывания. Эти механизмы необходимы для обеспечения «отзывчивости», требуемой многими приложениями. Безусловно, отзывчивость и предсказуемость являются основной целью при использовании ОСРВ, но...

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

[Перевод] Chaos Engineering: искусство умышленного разрушения. Часть 2 Прим. перев.: Этот материал продолжает замечательный цикл статей от технологического евангелиста из AWS — Adrian Hornsby, — задавшегося целью просто и понятно объяснить важность экспериментов, призванных смягчить последствия сбоев в ИТ-системах. «Если провалил подготовку ...

DevOps LEGO: как мы пайплайн на кубики раскладывали Поставили мы как-то заказчику на один объект систему электронного документооборота. А потом на другой объект. И еще на один. И на четвертый, и на пятый. Увлеклись настолько, что дошли до 10 распределенных объектов. Мощно получилось… особенно когда мы дошли до поставки измене...

В будущее с интеграцией сервисов Jenkins & Oracle APEX В процессе управления большими объемами данных и их визуализацией мы все чаще сталкиваемся с необходимостью внедрения единого инструмента доступа к управлению функционалом в хранилище. Причем этот инструмент должен быть одинаково удобен и понятен всем сотрудникам подразделен...

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

[Перевод] Подготовка к Spring Professional Certification. Вопросы по Spring MVC Приветствую всех. Это уже 5 статья из цикла статей для подготовки с Spring Professional Certification. На Хабре она выходит второй, после части 1. Оглавление Внедрение зависимостей, контейнер, IoC, бины AOP (аспектно-ориентированное программирование) JDBC, транзакции, JPA...

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

[Перевод] Недоступная роскошь от Intel: Core i9-9990XE с 14 ядрами на частоте 5,0 ГГц (2 часть) Недоступная роскошь от Intel: Core i9-9990XE с 14 ядрами на частоте 5,0 ГГц (1 часть) Системные тесты В разделе «Системные тесты» основное внимание уделяется тестированию в реальных условиях, с которыми сталкивается потребитель, с небольшим уклоном в пропускную способность....

Как взять сетевую инфраструктуру под свой контроль. Глава третья. Сетевая безопасность. Часть третья Эта статья является пятой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь. Эта часть будет посвящена Campus (Office) & Remote access VPN сегментам. Может показаться, что дизайн офисной сети...

В macOS 10.15 Apple расширит совместные возможности Apple Watch и Mac Известный разработчик Гильерме Рэмбо продолжает рассказывать о новшествах, которые компания Apple планирует сделать в iOS 13 и macOS 10.15. Согласно последним данным, купертиновцы планируют придумать новые сценарии совместного использования Mac и Apple Watch.Читать дальше......

[Перевод] Гайд: обновление интерфейсов с помощью дефолтных членов в C# 8.0 Начав работу с C# 8.0 на .NET Core 3.0, при создании члена интерфейса вы можете определить его реализацию. Наиболее распространенным сценарием является безопасное добавление членов к интерфейсу, уже выпущенному и используемому бесчисленным количеством клиентов. В этом гайде...

[Перевод] Основы внедрения зависимостей В этой статье я расскажу об основах внедрения зависимостей (англ. Dependency Injection, DI) простым языком, а также расскажу о причинах использования этого подхода. Эта статья предназначена для тех, кто не знает, что такое внедрение зависимостей, или сомневается в необходим...

Работа с API КОМПАС-3D → Урок 16 → Управляющие символы Продолжаем цикл статей по работе с API САПР КОМПАС-3D. Управляющие символы уже несколько раз встречались нам на предыдущих уроках цикла. Тогда каждый раз говорилось, что выводимые строки не должны их содержать, так как КОМПАС обрабатывает их особым образом. Теперь пришло вре...

Граф Скоринг де ля Фер или исследование на тему кредитного скоринга, в рамках расширения кругозора. Ч.2 AntipovSN and MihhaCF Часть вторая, в которой Атосу все норм, а вот Графу де ля Фер чего-то не хватает Вступление от авторов: Добрый день! Сегодня мы продолжаем цикл статей, посвященный скорингу и использованию в оном теории графов. С первой статьей Вы можете ознакомиться зд...

[Из песочницы] Темы, стили и другие Практически все разработчики знают, что в андроиде есть Темы, но применение их обычно ограничивается копированием кусков xml из Stack Overflow или других ресурсов. В интернете есть информация по темам, но это обычно просто рецепт, как добиться определенного результата. В э...

Балансировка нагрузки в Openstack В крупных облачных системах особенно остро стоит вопрос автоматической балансировки или выравнивания нагрузки на вычислительные ресурсы. Озаботились данным вопросом и в Тиониксе (разработчик и оператор облачных услуг, входим в группу компаний Ростелекома). И, поскольку наш...

5 типовых задач на собеседованиях по JavaScript: разбор и решения От переводчика: опубликовали для вас статью Марии Перна (Maria Antonietta Perna), которая рассказывает о типовых задачах по JavaScript, чаще всего предлагаемых соискателям-разработчикам на собеседованиях. Статья будет полезна, в первую очередь, начинающим программистам. ...

Специалисты нашли 36 новых уязвимостей в протоколе 4G LTE Каждый раз переход на всё более новый стандарт сотовой связи означает не только повышение скорости обмена данными, но также позволяет сделать связь более надёжной и защищённой от несанкционированного доступа. Для этого берутся найденные в предыдущих протоколах уязвимости, та...

Никогда такого не было, и вот опять: iPhone 11 Pro Max обошел в тесте на автономность Huawei Mate 30 Pro и Samsung Galaxy Note 10+ iPhone с разбитым экраном и едва ли не постоянно подключенный к зарядке — это классика современной жизни. Но в новом поколении своих смартфонов Apple основательно поработала над автономностью — настолько, что емкость аккумулятора самой крупной модели iPhone ...

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

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

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

Шифрование трафика в Direct Connect, ч.2 – Ты кто??? – Я новый русский. – А я тогда кто?! Предисловие В первой части статьи мы обустраивали ADCs хаб и рассуждали о Direct Connect в целом. Сегодня нам предстоит научиться использовать такой хаб по прямому назначению. Для этого мы рассмотрим совместимые DC клиенты,...

[Из песочницы] Система Управления Тесткейсами QuAck — простые радости тестирования Привет, Хабр! Представляю вашему вниманию перевод статьи «QuAck — the joy of testing» автора Aziz Namazov. Сегодня я затрону непростую тему жизненного цикла программного обеспечения. Тема эта достаточно сложная и многогранна, включающая в себя все этапы, начиная от дизайн...

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

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

Глина → Кирпич → Печь В данной статье я хочу описать свой опыт по работе с глиной, изготовление из неё кирпичей (в формате 1:6) и создание уменьшенной модели типовой отопительной печи ПТО-2300 Читать дальше →

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

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

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


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

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

SamsPcbGuide, часть 9: Гальваническая изоляция, безопасность и печатные платы Данная статья продолжает рассмотрение вопроса, поднятого @olartamonov, а именно, обеспечение безопасности в высоковольтных приложениях. В статье будут рассмотрены физические основы пробоя диэлектриков, а также новый стандарт безопасности. Читать дальше →

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

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

Билайн и OVRPOWER договорились развивать интернет вещей и виртуальную реальность на базе 5G Одним из перспективных направлений сотрудничества является развитие технологий интернета вещей (англ. Internet of Things/IoT) с использованием наиболее современных решений в области визуализации и обучения.В рамках партнерства Билайн предоставит партнеру доступ к одной из...

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

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

REST Assured: что мы узнали за пять лет использования инструмента REST Assured — DSL для тестирования REST-сервисов, который встраивается в тесты на Java. Это решение появилось более девяти лет назад и стало популярным из-за своей простоты и удобного функционала. В DINS мы написали с ним более 17 тысяч тестов и за пять лет использования ст...

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

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

Патенты в дизайне: часть вторая (примеры от Microsoft, Snapchat, Samsung, Netflix, Airbnb, Tinder) Под катом — вторая часть перевода статьи о том, как крупные, известные компании защищают свои дизайн-решения (и какие именно). Примерное представление о том, как происходит процесс оформления прав на тот или иной интерфейс, можно получить в первой части. Читать дальше →

Julia. Генераторы отчётов и документации Одной из актуальных проблем во все времена, является проблема подготовки отчётов. Поскольку Julia — язык, пользователи которого непосредственно связаны с задачами анализа данных, подготовки статей и красивых презентаций с результатами расчётов и отчётов, то эту тему просто ...

ОK, а мне точно нужен Kubernetes? В большой компании часто очень тяжело согласовывать выделение ресурсов под рабочие задачи. Весь Agile с хрустом разбивается о стену трёхнедельного согласования с ИБ новой инфраструктуры. Поэтому к нам часто приходят запросы на перевод инфраструктуры на контейнеры, чтобы вы...

SmartCard I2C Protocol. Обмен APDU командами через I2C интерфейс Введение Некоторое время назад я принимал участие в разработке устройства, в котором было необходимо реализовать российскую криптографию. Так как в дальнейшем предполагалось это решение сертифицировать, то к реализации криптографии выдвигались определенные требования. И как ...

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

Представляем InterSystems API Manager (+ вебинар) Недавно мы выпустили InterSystems API Manager (IAM) — новый компонент InterSystems IRIS Data Platform, обеспечивающий наблюдение, контроль и управление трафиком в/из web API в рамках IT-инфраструктуры. В этой статье я покажу как настраивать IAM и продемонстрирую некоторые из...

Сравнительное тестирование PostgreSQL на FreeBSD, CentOS, Ubuntu Debian и openSUSE Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «PostgreSQL benchmark on FreeBSD, CentOS, Ubuntu Debian and openSUSE» автора Martin Kováčik. В ней рассматриваются тесты СУБД PostgreSQL 10.1 в приближенных к реальным условиям средах на различных unix-сис...

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

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

Блок питания NZXT E850: гибридная система охлаждения, экосистема NZXT Cam Американский производитель NZXT известен в России в первую очередь благодаря компьютерным корпусам и системам охлаждения, но есть в ассортименте компании и блоки питания. Если быть точным, то блоков питания пока три, они объединены в одну серию. В этот раз мы рассмотрели ста...

[Перевод] Использование AD Federation Service для авторизации пользователей на AWS с раздачей прав Вольный перевод статьи Jeff Wierer "Enabling Federation to AWS Using Windows Active Directory, ADFS, and SAML 2.0" с добавлениями и уточнениями. 1. Исходные данные 2. Подготовка 3. Конфигурирование AD 4. Установка ADFS 5. Конфигурирование ADFS 6. Конфигурирование AWS 7. ...

2. Анализ логов Check Point: SmartEvent Здравствуйте, коллеги. В прошлый раз, в статье «1. Анализ логов Check Point: официальное приложение Check Point для Splunk» мы обсуждали разбор логов шлюза безопасности на основе официального приложения в системе логирования Splunk. В заключении пришли к выводу что хоть пр...

Тесты на Си без SMS и регистрации Недавно zerocost написал интересную статью «Тесты на C++ без макросов и динамической памяти», в которой рассматривается минималистический фреймворк для тестирования Си++ кода. Автору (почти) удалось избежать использования макросов для регистрации тестов, однако вместо них в ...

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

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

Xamarin.Forms — простой пример Host-based Card Emulation В этой статье будем реализовывать так называемую Host-based Card Emulation (HCE, Эмуляция банковской карты на телефоне). В сети много подробных описаний этой технологии, здесь я сделал акцент именно на получении работающих приложений эмулятора и ридера и решении ряда практич...

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

Как создать Python wrapper и не сойти с ума Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe...

Складывается и раскладывается. Samsung показала процесс тестирования сгибаемого дисплея смартфона Galaxy Fold Примерно через месяц начнутся продажи складного смартфона Galaxy Fold. Чтобы убедить потенциальных покупателей в надёжности и долговечности сгибаемого дисплея, компания Samsung показала процесс тестирования аппаратов на специальном оборудовании. На таком стенде происходит мн...

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

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

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

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

C/C++ из Python (CFFI, pybind11) Продолжаем тему как вызывать C/C++ из Python3. Теперь используем библиотеки cffi, pybind11. Способ через ctypes был рассмотрен в предыдущей статье. Читать дальше →

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

[Из песочницы] Хороший, плохой, злой — тестирование в проекте новичков Предисловие: в университете было получено задание — собрать scrum команду, выбрать проект и работать над ним в течении семестра. Наша команда выбрала разработку веб-приложения (react + flask). В этой статье я постараюсь рассказать, какими тесты должны были быть, и проанализи...

Как адаптировать UX/UI под permissions Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п. Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. ...

Автоматизируем тестирование redux селекторов в приложении В этой статье я хотел бы поделиться своими идеями того, как можно автоматизировать написание unit-тестов в react/redux приложениях. Идеи эти родились в одной из дискуссий с коллегами, в процессе написания тестов, и, как мне кажется, предложенное решение имеет право на жизнь....

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

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

Foundry: решения типовых задач для BaaS BaaS, то есть Backend-as-a-Service, значительно упростили и удешевили развертывание (своей) собственной серверной инфраструктуры. Foundry идет еще дальше и предлагает готовые пайплайны (конвейеры, скрипты) для типовых задач.

Битва Samsung Galaxy S10+ и OnePlus 7 Pro: определяем лучшего О Samsung Galaxy S10+ и OnePlus 7 Pro мечтают многие. Это укомплектованные по полной программе флагманы, красивые, технологичные, мощные и с хорошими камерами. Но какой из них лучше? Мы сравнили оба смартфона, устроив смотр всего вооружения, и у нас есть ответ на этот сложны...

Криптографические токены PKCS#11. Графическая утилита «с функцией подписания и добавлением метки времени». Часть 1 В комментариях к статье «Использование механизмов криптографических токенов PKCS#11 в скриптовых языках» читатель kovserg написал: «С нетерпением ждём статью с функцией подписания документа и добавлением метки времени». Еще раньше другой участник хабра pas писал о том, что б...

Эксплуатация Microsoft Edge от CVE до RCE на Windows 10 В рамках данной статьи мы достаточно подробно рассмотрим процесс написания эксплоита под уязвимость в Microsoft Edge, с последующим выходом из песочницы. Если вам интересно узнать, как выглядит этот процесс, то welcome под кат! Читать дальше →

Privileged Access Management как приоритетная задача в ИБ (на примере Fudo PAM) Есть довольно интересный документ CIS Controls, который рассматривает Информационную безопасность с применением принципа Парето (80/20). Этот принцип гласит, что 20% защитных мер дают 80% результата с точки зрения защищенности компании. Ознакомившись с этим документом мног...

Как настроить типы задач и не сойти с ума Вводная частьВ предыдущем посте я писал как организовать процесс “грумминга” задач в системе JIra так чтобы “Менеджеру продукта” было удобно осуществлять навигацию по всему Беклогу продукта. Продолжая продуктовую тему напишу о том как я долго шел к пониманию того — что такое...

[Из песочницы] Основы прозрачного проксирования с использованием 3proxy и iptables/netfilter или как «пустить всё через прокси» В данной статье хотелось бы раскрыть возможности прозрачного проксирования, которое позволяет абсолютно незаметно для клиентов перенаправлять весь либо часть трафика через внешние прокси-серверы. Когда я начинал решать данную задачу то столкнулся с тем, что её реализация ...

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

Завершено исследование типового решения по безопасности при обработке биометрических данных На основании отчета после проведения экспертизы будет выдано заключение о соответствии типового решения "Ростелекома" требованиям согласованного ранее с ФСБ России системного проекта программно-аппаратного комплекса для обеспечения информационной безопасности при о...

Хакеры могут удалённо вмешиваться в управление электросамоката Xiaomi M365 По информации, опубликованной группой Zimperium zLabs, занимающейся вопросами безопасности, электрический самокат Xiaomi M365, используемый во многих странах мира для городского проката, имеет уязвимость, позволяющую хакерам получить полный дистанционный контроль над транспо...

[Перевод] Как Java 8 поддерживается в Android Привет, Хабр! Предлагаю вашему вниманию перевод замечательной статьи из цикла статей небезызвестного Джейка Вортона о том, как происходит поддержка Андроидом Java 8. Оригинал статьи лежит тут Читать дальше →

Отказоустойчивая балансировка VoIP-трафика. Переключение нагрузки между дата-центрами в пик-тайм Несколько слов о том, чем мы занимаемся. DINS участвует в разработке и поддержке UCaaS сервиса на международном рынке для корпоративных клиентов. Сервис используют как малые компании и стартапы, так и большой бизнес. Клиенты подключаются через интернет по SIP протоколу повер...

Julia: пользовательские типы В этой статье рассмотрим добавление в программу на Julia пользовательского типа данных и перегрузку стандартных функций для удобной работы с новым типом. Читать дальше →

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 49. Введение в EIGRP Сегодня мы начнем изучение протокола EIGRP, которое наравне с изучением OSPF является важнейшей темой курса CCNA. Позже мы вернемся к разделу 2.5, а сейчас сразу после раздела 2.4 перейдем к разделу 2.6 «Настройка, проверка и устранение неполадок EIGRP по протоколу IPv4 ...

ИТ проекты и внедрение ИТ систем. 13 главных причин неудач и как их избежать? По данным The Standish Group в США и Европе за 2015 год: 31,1% от всех ИТ-проектов остановлены и не завершены; 52,7% от всех ИТ-проектов завершены со срывом сроков, значительным увеличением первоначально запланированного бюджета или кардинальным изменением изначально запла...

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

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

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

Первый тест камеры Xiaomi Mi CC9 Pro, живое фото смартфона содержит новые детали Известный инсайдер под ником Xiaomishka опубликовал видеоролик, в котором Xiaomi впервые демонстрирует возможности зума 108-мегапиксельной камеры своих новых смартфонов. Также была повторно опубликована фотография со внутренностями Xiaomi Mi CC9 Pro, на этот раз в более...

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

[Перевод] Каскадная инвалидация кэша. Часть 1 Вот уже несколько лет, как почти каждая статья о передовых подходах к кэшированию рекомендует пользоваться в продакшне следующими методиками: Добавление в имена файлов информации о версии содержащихся в них данных (обычно — в виде хэша данных, находящихся в файлах). Устано...

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

Запускаем php скриптики через php-fpm без web сервера. Или свой FastCgi клиент (под капотом) Приветствую всех читателей "Хабра". Дисклеймер Статья получилась довольно длинная и тем кто не хочет читать предысторию, а хочет перейти сразу к сути прошу прямиком к главе "Решение" Вступление В данной статье хотелось бы рассказать о решении довольно нестандартной задачи, с...

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

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

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

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

iOS 12.4 увеличивает время автономной работы iPhone Не так давно Apple выпустила финальную сборку iOS 12.4. Мы уже публиковали материал, в котором сравнили быстродействие системы. Пришло время рассказать и о времени автономной работы. Есть ли кардинальные улучшения в сравнении с iOS 12.3.1? Ответ на этот вопрос есть у блогер...

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

In-App Updates: ускоряем процесс обновления приложения на Android Среди многообразия инструментов, анонсированных на Android Dev Summit, особое внимание хочется уделить механизму обновления приложения In-App Updates (IAUs), который помогает разработчикам ускорить добавление новых фич, баг-фиксов и улучшений производительности. Поскольку ...

Росгвардия будет обучать ЧОПовцев В Росгвардии разработали типовую программу подготовки для частных охранников. Лицензионно-разрешительные функции от МВД к Росгвардии перешли ещё в 2016, в связи с чем возникла необходимость обновить нормативно-правовые акты. Такое обновление совсем недавно провели касательн...

Обзор Kubecost для экономии средств на Kubernetes в облаках В настоящее время всё больше компаний переводят свою инфраструктуру с железных серверов и собственных виртуалок в облака. Такое решение легко объяснить: нет необходимости заботиться о железе, кластер легко конфигурируется множеством различных способов… а самое главное — им...

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки. TDD — ну, это все знают, сначала пишем тесты, а потом остальной код. BDD — что-то знакомое, вроде как, тоже тесты, но особенные. TDD — снов...

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

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

PVS-Studio идёт в облака: GitLab CI/CD Эта статья является продолжением цикла публикаций об использовании PVS-Studio в облачных системах. На этот раз мы рассмотрим работу анализатора совместно с GitLab CI — продуктом от GitLab Inc. Интеграция статического анализатора в CI систему позволяет выявить баги сразу пос...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 9. Физический мир свитчей. Часть 2 Итак, мы рассмотрели, как настроить сеть на компьютере. Что же касается свитча, напомню, что он является устройством 2 уровня модели OSI, а мы должны сконфигурировать IP-адрес, который относится к 3-му уровню. Для этого мы используем управление IP-адресом и переходим к интер...

[Перевод] Зачем нужны дженерики? Эта статья о том, что будет означать добавление дженериков в Go, и почему я считаю, что нам это следует сделать. Также я коснусь возможного изменения архитектуры языка ради добавления дженериков. Go вышел 10 ноября 2009-го. Меньше чем через сутки появился первый комментари...

Граф Скоринг де ля Фер или исследование на тему кредитного скоринга, в рамках расширения кругозора. Ч.3 Часть третья, в которой Атос выпал в осадок, а Граф де ля Фер мудрит с алгоритмами. UPD Часть первая здесь UPD Часть вторая здесь AntipovSN and MihhaCF Вступление от авторов: Добрый день! Сегодня мы продолжаем цикл статей, посвященных скорингу и использованию в оном теории г...

Сайты рунета получат единый счетчик учета трафика Роскомнадзор работает над созданием типового счетчика для оценки интернет-аудитории.

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

Как мы вдвое сократили издержки на вводный урок, подсмотрев решение у авиакомпаний Бесплатный вводный урок — фишка школы Skyeng. Потенциальный ученик может на нем познакомиться с платформой, проверить свой уровень английского, наконец, просто развлечься. Для школы же вводный урок — часть воронки продаж, за которой должна последовать первая оплата. Его про...

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

[Из песочницы] Direct routing и балансировка с помощью NFT vs Nginx При разработке высоконагруженых сетевых приложений возникает необходимость в балансировке нагрузки. Популярным инструментом L7 балансировки является Nginx. Он позволяет кешировать ответы, выбирать различные стратегии и даже скриптить на LUA.  Несмотря на все прелести Ngin...

[Из песочницы] UICollectionView всему голова: Изменение представления на лету Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly". В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде...

[Перевод] Визуализация работы PEG парсера В прошлый раз получился простой генератор парсера PEG. Сейчас же я покажу, что на самом деле делает сгенерированный парсер при разборе программы. Я погрузился в ретро-мир ASCII-арта, в частности, библиотеку с именем «curses», которая доступна в стандартной поставке Python дл...

Состоялась презентация «умных» серверов Fusion Server Pro от Huawei В ходе пресс-конференции под названием «+Intelligence, Taking Computingto New Levels» (Интеллект+: новый уровень вычислительных возможностей) бизнес-подразделение интеллектуальных вычислительных систем компании Huawei представило линейку «умных» серверов Fusion Server Pro. Б...

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

Microsoft выпускает Windows 10 19H2 Build 18362.10006 Сегодня Microsoft объявила о выпуске Windows 10 19H2 Build 18362.10006 для некоторых инсайдеров в канале Slow Ring. Windows 10 19H2 Build 18362.10006 активирует функции, первоначально выпущенные в Windows 10 19H2 Build 18362.10005.В этой сборке Microsoft позволила сторонним ...

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

Обновленный AnTuTu выжмет все соки из вашего смартфона Если вы введёте в поиске Google Play термин «benchmark», то в верхней части списка из подобранных приложений обязательно увидите AnTuTu. Этот знаменитый бенчмарк, используемый для измерения производительности мобильных устройств, находится вверху списка потому, что в течени...

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

40 миллионов HTTP запросов/мин на голом Си Введение I/O реактор (однопоточный цикл событий) — это паттерн для написания высоконагруженного ПО, используемый во многих популярных решениях: Node.js Tor Transmission Chromium Memcached ... В данной статье мы рассмотрим подноготную I/O реактора и принцип его работы, нап...

SamsPcbGuide, часть 10: Технологии, пайка бессвинцовых компонентов Данная статья – первая статья о технологиях сборки печатных плат. Последний семинар от PCB SOFT был посвящён проектированию, обеспечивающему технологичность изготовления печатной платы (англ. DFM, design for manufacture). Был поднят вопрос о целесообразности реболлинга бессв...

Поваренная книга разработчика: DDD-рецепты (5-я часть, Процессы) Введение В рамках предыдущих статей мы описали: область применения, методологические основы, пример архитектуры и структуры. В данной статье, я хотел бы рассказать как описывать процессы, о принципах сбора требований, чем отличаются бизнес требования от функциональных, как п...

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 1 Это цикл переводных заметок автора Priti Desai. Поскольку сами заметки довольно короткие, то в одной публикации будет собрано сразу несколько. Будут рассмотрены детали развертывания приложений для OpenWhisk с примерами, а в конце цикла — приведена архитектура и код приложен...

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

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

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

Как строить, развертывать и тестировать Waves RIDE dApp Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки. Схема разработки dApps и обычных приложений почти не отличается: Пишем код Пишем автоматизированное тестирование Запуска...

Router и Data Passing архитектуры Clean Swift Привет, читатель! В предыдущей статье я рассказывал про VIP цикл архитектуры Clean Swift. Теперь мы затронем одну из самых важных тем — переход и передачу данных между сценами.  Читать дальше →

В Москве испытали 5G для городского транспорта В пилотной 5G-зоне на ВДНХ была развернута тестовая площадка «умного города». МТС разработал представленные решения вместе со своими партнерами системным интегратором NVision Group и производителем телекоммуникационного оборудования Huawei. Согласно концепции технологии, бол...

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

«Современные» обедающие философы на C++ посредством акторов и CSP Некоторое время назад ссылка на статью "Modern dining philosophers" распространилась по ресурсам вроде Reddit и HackerNews. Статья интересная, она показывает несколько решений этой известной задачи, реализованных на современном C++ с использованием task-based подхода. Если к...

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

Microsoft открыла код Калькулятора Windows Несколько дней назад корпорация Microsoft приняла решение открыть исходный код известной всем программы — «Калькулятора» из ОС Windows. Это приложение входило во все дистрибутивы ОС от Microsoft начиная с 1985 года, когда свет увидела Windows 1.0. Microsoft использует ли...

Множественные эксперименты: теория и практика В современном мире сложно представить развитие продукта без A/B-тестирования. Чтобы успешно запустить продукт или новую функциональность — надо грамотно спроектировать A/B, рассчитать и интерпретировать его результаты. Иногда нам требуется тестирование более чем для двух гру...

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

Расчёт каннибализации на основе классического A/B-теста и метод bootstrap’а В данной статье рассмотрен метод расчёта каннибализации для мобильного приложения на основе классического A/B-теста. В данном случае рассматриваются и оцениваются целевые действия в рамках процесса реаттрибуции с рекламного источника (Direct, Criteo, AdWords UAC и прочих) по...

Sophos XG Firewall: От классического МЭ до NGFW с автоматической реакцией на ИБ инциденты В настоящее время происходят изменения в архитектуре угроз и резкое увеличение числа и сложности систем безопасности и, конечно, происходит эволюция в разработке средств защиты, в том числе межсетевых экранов. Межсетевые экраны нового поколения (Next-Generation Firewall, NG...

Дискретная математика для WMS: алгоритм сжатия товаров в ячейках (часть 2) В статье мы расскажем, как разрабатывали алгоритм оптимального сжатия остатков товаров в ячейках. Расскажем как выбирали нужную метаэвристику среду «зоопарка» фреймворков: табу-поиск, генетический алгоритм, муравьиная колония и др. Проведем вычислительный эксперимент по ...

Типовой проект для нетиповых решений внедрили в «Росводоканале» По итогам конкурса корпоративной автоматизации на платформе «1С:Предприятие 8» проект «Росводоканала» признан лучшим в номинации «Жилищно-коммунальное хозяйство». Церемония награждения победителей состоялась 11 октября в рамках 6-го Бизнес-форума 1С: ERP в Москве.

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

Безопасный доступ к полям регистров на С++ без ущерба эффективности(на примере CortexM) Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg Всем доброго здравия! В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части про...

Паттерны и анти-паттерны CI/CD. Часть 2 Всех с пятницей, друзья. Сегодня делимся с вами переводом второй части статьи «Паттерны и анти-паттерны CI/CD», первую часть которой можно прочитать здесь. Напомним, даная серия публикаций приурочена к запуску нового потока по курсу «DevOps практики и инструменты». 1.3 Патт...

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

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

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

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

AIOps на практике — что может Huawei FabricInsight В ответ на рост количества работающих приложений и числа сетевых устройств повышается пропускная способность сетей и ужесточаются требования к доставке пакетов. В масштабах критически важных для бизнеса облачных ЦОД традиционный подход к обслуживанию инфраструктуры уже не по...

[Перевод] 26 рекомендаций по использованию типа var в Java The Java Local Variable Type Inference (LVTI) или кратко — тип var (идентификатор var — это не ключевое слово, а зарезервированное имя типа) был добавлен в Java 10 с помощью JEP 286: Local-Variable Type Inference. Являясь 100% функцией компилятора, она не влияет на байт-код...

Veon получил с Ericsson неустойку Ericsson перечислил на счета Veon $350 млн. Об этом говорится в отчетности оператора за девять месяцев 2019 г., опубликованной в начале недели. Напомним, что получению средств предшествовал пересмотр соглашения между Veon и Ericsson по модернизации ИТ-систем оператора в ряд...

[Из песочницы] Подписываемся на Kafka по HTTP или как упростить себе Веб-хуки Существует множество способов обработки сообщений из Pub-Sub систем: использование отдельного сервиса, выделение изолированного процесса, оркестрация пулом процессов/потоков, сложные IPC, Poll-over-Http и многие другие. Сегодня я хочу рассказать о том, как использовать Pub-S...

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

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

Как мы тестировали drag&drop в HTML5 Так или иначе, все сталкивались с ситуациями, когда в банальной обстановке вдруг происходило что-то необычное. Примерно такой случай произошел с нами при тестировании нового приложения на проверенном сто раз окружении. Сюрпризом для нас стало использование некоторых возможно...

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

Тест-драйв nanoCAD СПДС Металлоконструкции 1.2. Часть 3 Продолжаем публиковать тест-драйв по nanoCAD СПДС Металлоконструкции. В первой части тест-драйва мы начали строить каркас производственного. Во второй части мы рассмотрели, как создавать вертикальные связи, распорки, прогоны и размещать их на плане, а также создадим поперечн...

Робозад по имени Грут: Tesla показала специфического робота для тестирования кресел электромобилей Компания Tesla решила показать необычного робота, который используется в производстве её электромобилей. Если точнее, он используется не в производстве, а при тестировании. Собственно, проще посмотреть. Model 3 seat testing 🍑 pic.twitter.com/1JOwpgnV48 — T...

Могут ли автотесты заменить человека в поиске уязвимостей: интервью с Александрой Сватиковой Александра Сватикова работает экспертом по информационной безопасности в Одноклассниках. Более 8 лет назад она перешла от разработки на Java к тестированию безопасности приложений. Мы взяли у неё интервью, где обсудили: сложно ли перейти разработчику в аналитику приложений...

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

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

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

Представлен игровой монитор ViewSonic XG350R-C Компания ViewSonic показала на выставке CES 2018 игровой монитор XG350R-C, который будет представлен под новым брендом ELITE. Новинка характеризуется выгнутой формой (1800R), 35-дюймовой MVA-матрицей, разрешением 3440:1440 пикселей, соотношением сторон 21:9, временем отклика...

Состоялся официальный релиз Windows 10 November 2019 Update (версия 1909) November 2019 Update (версия 1909) должен был стать очередным функциональным обновлением для Windows 10, однако на этот раз перед нами скорее сервис-пак или крупное накопительное обновление, приносящее с собой небольшие незначительные улучшения для операционной системы. Это...

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

[Из песочницы] Настройка автоматического тестирования гибридного приложения В этой статье хочу поделиться опытом решения задачи запуска автоматизированного тестирования мобильного приложения на Android. О чем расскажу: Как запустить среду автоматического тестирования используя Appium (ОС ПК — Windows 10) Как избежать некоторых ошибок которые возн...

Примеры дичи из заказов «приходите спасать» (разбор десятка инцидентов с примерами) Иногда бывает так: — Приезжайте, у нас упало. Если сейчас не поднять — покажут по телевизору. И мы едем. Ночью. На другой край страны. Ситуация, когда не повезло: на графике показан резкий рост нагрузки на СУБД. Очень часто это первое, на что смотрят администраторы систем...

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

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

Дело в шляпе: топ-10 докладов Heisenbug 2018 Moscow Как упростить рефакторинг? Как научить разработчика избегать типовых ошибок в UI? Как вызвать восторг зрителей конференции по тестированию, если сам ты не тестировщик? По традиции, открывая для всех видеозаписи докладов Heisenbug, мы публикуем на Хабре топ-10, составленны...

[Перевод] Новости из мира OpenStreetMap №458 (23.04.2019-29.04.2019) Замки и дворцы Швейцарии, в том числе ближнего зарубежья, Германии, Франции, Италии. Сочетание OpenStreetMap + Wikidata + Wikimedia Commons + Wikipedia 1 | Данные Участники OpenStreetMap, ODbL Карты На конференции «Pacific Visualisation» Йохен Гертлер вместе со своими кол...

Supermicro успешно сотрудничает с инновационной платформой NVIDIA EGX Компания Super Micro Computer, Inc. (SMCI), мировой лидер в сфере корпоративных вычислительных, сетевых решений, хранилищ данных и экологически безопасной обработки данных, представляет готовые для использования вычислительные системы NGC-Ready for Edge. Эти серве...

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

Блок питания Chieftronic PowerPlay 550W: Powered by Chieftec Модель Chieftronic PowerPlay 550W получилась сбалансированной. Она является вполне удачным решением при использовании в игровом системном блоке с одной видеокартой. Технико-эксплуатационные характеристики Chieftronic PowerPlay 550W находятся на хорошем уровне, чему способств...

AMD подтвердила отсутствие поддержки CrossFire у Radeon RX 5700 Несколько лет назад главной мечтой любого геймера была система с несколькими видеокартами. Однако со временем интерес к таким системам заметно снизился, и теперь только типовые модели видеокарт могут собираться в мульти-GPU конфигурации.

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

[Из песочницы] 10 самых распространенных ошибок Spring Framework Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Most Common Spring Framework Mistakes» автора Toni Kukurin. Spring, вероятно, один из самых популярных Java-фреймворков, а также могучий зверь для укрощения. Хотя его базовые концепции довольно легко понять, д...

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

PVS-Studio идёт в облака: Azure DevOps Это вторая статья про использование статического анализатора PVS-Studio в облачных CI-системах, и на этот раз мы рассмотрим платформу Azure DevOps – облачное CI\CD-решение от компании Microsoft. В качестве анализируемого проекта в этот раз рассмотрим ShareX. Читать дальше ...

iPadOS: программная революция для планшетов Apple. Тестируем главные новшества операционной системы Анонс iPadOS — операционной системы для планшетов, отделившейся от iOS — стал едва ли не главной сенсацией июньской презентации в рамках WWDC. Впервые за 9 лет существования планшетов Apple у них появилась собственная ОС. И мы уже можем ее оценить: публичная бета-версия iPad...

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

Qualcomm внедрила 5G-модем Snapdragon X55 в домашние роутеры В то время как некоторые компаний работают над внедрением подключения 5G в смартфоны, Qualcomm разработала уникальное решение, которое добавит возможность использования высокоскоростной связи 5G для множества других устройств, включая телевизоры и ПК. Так, компания Qualcomm ...

Организация UAT-тестирования на бизнес-пользователях в Jira Вводные данные. Наш продукт практически готов к отгрузке, осталось пройти приёмочное тестирование. Тест-план готов и представлен в виде таблицы Excel. Тестировать будут будущие пользователи, то есть, люди, далёкие от QA и IT. Задача. Сделать всем удобно. Пользователи в теор...

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

Shortcut: быстрые действия для Android-приложения Shortcut – простая библиотека для добавления быстрых ссылок для Android-приложения. Эти ссылки отображаются в лаунчере и помогают пользователям быстро выполнять типовые задачи в вашем приложении. Исходники: https://github.com/MehdiKh93/Shortcut  

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

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

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

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

Внедряем OSGI на платформе Karaf OSGI это не сложно Я много раз встречал мнение, что OSGI это сложно. И более того, у самого когда-то такое мнение было. Году в 2009, если быть точным. На тот момент мы собирали проекты при помощи Maven Tycho, и деплоили их в Equinox. И это действительно было сложнее, чем раз...

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

День, когда Dodo IS остановилась. Асинхронный сценарий Привет, Хабр! Каждый SRE в нашей команде когда-то мечтал спокойно спать по ночам. Мечты имеют свойство сбываться. В этой статье я расскажу про это и про то, как мы достигаем производительности и устойчивости своей системы Dodo IS. Читать дальше →

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

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

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

Nixie clock на индикаторах ИН-18 Всем привет. Наверное, многие слышали про часы на газоразрядных индикаторах. В этой статье постараюсь рассказать про процесс изготовления своими руками таких часов. Читать дальше →

2. Анализ зловредов с помощью форензики Check Point. SandBlast Agent Продолжаем наш цикл статей по форензике от Check Point. В предыдущей статье мы рассмотрели новый отчет сетевой песочницы, которая помогает ловить 0-day атаки на периметре сети. К сожалению (для “безопасников”), периметр уже давно потерял четкие границы. Мобильные устройств...

Анализируем тональность текстов с помощью Fast.ai В статье пойдет речь о классификации тональности текстовых сообщений на русском языке (а по сути любой классификации текстов, используя те же технологии). За основу возьмем данную статью, в которой была рассмотрена классификация тональности на архитектуре CNN с использование...

Блок питания Super Flower Leadex Titanium 750W (SF-750F14HT) с гибридным режимом охлаждения: высококачественное решение с отличными потребительскими качествами Блок питания Super Flower Leadex Titanium 750W получился весьма сбалансированным, без явных недостатков. Можно констатировать, что этот БП хорошо приспособлен для работы в домашних системах различной мощности, в том числе в системах с двумя топовыми видеокартами на базе топо...

MVCC-1. Изоляция Привет, Хабр! Этой статьей я начинаю серию циклов (или цикл серий? в общем, задумка грандиозная) о внутреннем устройстве PostgreSQL. Материал будет основан на учебных курсах по администрированию, которые делаем мы с Павлом pluzanov. Смотреть видео не все любят (я точно не л...

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

Как устроено A/B-тестирование в Авито Всем привет. Меня зовут Данила, я работаю в команде, которая развивает аналитическую инфраструктуру в Авито. Центральное место в этой инфраструктуре занимает А/B-тестирование. А/B эксперименты — ключевой инструмент принятия решений в Авито. В нашем цикле продуктовой разработ...

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

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

Пять студентов и три распределённых key-value хранилища Или как мы писали клиентскую C++ библиотеку для ZooKeeper, etcd и Consul KV В мире распределённых систем существует ряд типовых задач: хранение информации о составе кластера, управление конфигурацией узлов, детекция сбойных узлов, выбор лидера и другие. Для решения этих зада...

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

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

Тестирование на iOS 9 и выше: не баги приложений, а фичи платформы Оксана Фадеева, инженер по обеспечению качества Redmadrobot У платформы iOS 9 и выше есть особенности, которые нужно учитывать при тестировании мобильных приложений. Некоторые из них могут ввести в заблуждение и восприниматься как дефект приложения, хотя на самом деле это ...

[Перевод] Что такое сервисная сеть Доброе утро всем! Сегодня мы рады предложить вам перевод статьи, кратко рассказывающей о новом технологическом веянии под названием «Service mesh» (сервисная сеть). Наиболее интересным решением в этой сфере (на наш взгляд) является Istio, но предлагаемая статья интересна, в...

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

[Из песочницы] Выбор системы управления тестированием в 2019 Несмотря на колоссальные возможности современных табличных редакторов, для многих команд разработки рано или поздно встает вопрос о внедрении специализированных инструментов (систем) для управления процессом тестирования в своих проектах. Какой же из них выбрать? Читать д...

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

По сценарию Уильяма Гибсона будет создана аудиокнига – продолжение фильма «Чужие» Автор знаменитого киберпанковского романа «Нейромант», Уильям Гибсон, после выхода на экраны блокбастера Дэвида Кэмерона «Чужие» написал к нему продолжение. Этот сценарий снискал определенную славу среди фанатов, но так и не был воплощен в жизнь – голливудские продюсеры отда...

[Перевод] Подготовка к Spring Professional Certification. Spring REST Сегодняшняя статья рассмотрит основные вопросы про REST в Spring. Она будет особенно полезна для начинающих программистов. Официальный гид от Pivotal, в котором написано про темы для подготовки. Оглавление Внедрение зависимостей, контейнер, IoC, бины AOP (аспектно-ориентир...

[Перевод] Тестирование PostgreSQL с HugePages в Linux Ядро Linux предоставляет широкий спектр параметров конфигурации, которые могут повлиять на производительность. Главное — выбрать правильную конфигурацию для вашего приложения и рабочей нагрузки. Как и любой другой базе данных, PostgreSQL необходима оптимальная настройка ядра...

Сентябрьское накопительное обновление для Windows 10 (1903) исправило проблему с высокой нагрузкой на ЦП Накануне компания Microsoft в рамках «патчевого вторника» выпустила новые накопительные обновления для поддерживаемых версий Windows 10. Как и прежде, эти обновление не приносят с собой каких-либо новшеств, а направлены на исправление обнаруженных ошибок и внедрение обновле...

Получение обычных SMS в мессенджеры Viber и Telegram (с помощью шлюзов GoIP) Во многих компаниях использующих IP-телефонию и применяющих GSM-шлюзы для корпоративной связи часто возникает вопрос приема и отправки СМС со своих номеров. Для китайских моделей GOIP существует неплохое решение GOIP-SMS-Сервер, о котором неоднократно упоминалось на простор...

2. Check Point Getting Started R80.20. Архитектура решения Добро пожаловать на второй урок! На этот раз мы поговорим об архитектурных особенностях решений Check Point. Это очень важный урок, особенно для тех, кто впервые знакомится с «чекпоинтом». В целом, данный урок будет очень похож на одну из наших предыдущих статей "Check Poi...

Эволюция кластерного взаимодействия. Как мы внедряли ActiveMQ и Hazelcast В течение последних 7 лет я вместе с командой занимаюсь поддержкой и развитием ядра продукта RealtimeBoard: клиент-серверным и кластерным взаимодействием, работой с базой данных. У нас Java с разными библиотеками на борту. Запускается всё вне контейнера, через Maven-плагин....

Сравнение времени автономной работы iPhone на iOS 10, iOS 11 и iOS 12 Автор канала iAppleBytes, известным нам по своим сравнениям, решился провести грандиозный эксперимент и узнать, как именно влияют на время автономной работы iPhone различные версии ПО. Для этих целей блогер взял три разных iPhone 6s — с установленными iOS 10.3.3, iOS ...

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

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

Обеспечение надежной работы Zextras Team в сложных корпоративных сетях В прошлой статье мы рассказали вам о Zextras Team — решении, которое позволяет добавить в Zimbra Collaboration Suite Open-Source Edition функциональность корпоративных текстовых и видео-чатов, а также возможность проводить видеоконференции с большим числом участников, без не...

Выпущен первый в мире гребной винт, созданный на 3D-принтере WAAMpeller – первый созданный аддитивным способом гребной винт, получивший типовое одобрение После более чем полугода напряженной работы изготовленный на 3D-принтере WAAMpeller – первый в своем роде корабельный гребной винт, получивший типовое одобрение, – наконец прошел ...

ПМЭФ 2019: МТС и Huawei подписали соглашение о развитии 5G в России В рамках соглашения компании разработали план действий на 2019-2020 годы, предусматривающий внедрение технологий и решений 5G и IoT на действующей инфраструктуре МТС, развитие коммерческой сети LTE оператора до уровня 5G-ready, запуск тестовых зон и пилотных сетей 5G для раз...

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

Разработка Unix подобной OS — Оболочка. Заключение (9) Пришло время написать первую отдельную программу для нашего ядра — оболочку. Она будет храниться отдельным .elf файлом и запускаться init процессом при старте ядра. Это последняя статья из цикла по разработке своей операционной системы. Читать дальше →

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

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

Как изменилась автономность iPhone на iOS 12.2 Чуть меньше недели назад для загрузки стала доступна iOS 12.2. Но многих интересуют вовсе не нововведения или изменения. Большая часть пользователей задаётся лишь одним вопросом: увеличилось ли время автономной работы iPhone после обновления. Ответ на этот вопрос может дать...

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

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

Фотогалерея дня: кредитная карта Apple Card Компания Apple в марте представила кредитную карту Apple Card. Купертинский гигант заявил, что её решение позволит упростить процесс использования подобных карт, а также сможет предложить ряд преимуществ. К примеру, кэшбэк 1% при использовании физической карты, 2% &mda...

[Перевод] Процедурные паттерны, которые можно использовать с тайловыми картами Процедурная генерация используется для повышения вариабельности игр. Среди известных проектов можно упомянуть Minecraft, Enter the Gungeon и Descenders. В этом посте я объясню некоторые из алгоритмов, которые можно применять при работе с системой Tilemap, появившейся как 2D-...

[Перевод] Юнит-тестирование шаблонов C++ и Mock Injection с помощью трейтов (Traits) Еще раз здравствуйте! До старта занятий в группе по курсу «Разработчик С++» остается меньше недели. В связи с этим мы продолжаем делиться полезным материалом переведенным специально для студентов данного курса. Юнит-тестирование вашего кода с шаблонами время от времени на...

Один из методов получения истории блокировок в PostgreSQL Продолжение статьи "Попытка создать аналог ASH для PostgreSQL ". В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_locks. Предупреждение. В связи с новизной темы и незавер...

Moto. Мокаем AWS Тестирование — это неотъемлемая часть процесса разработки. И иногда разработчикам требуется запустить тесты локально, до того момента коммита изменений. Если приложение использует Amazon Web Services, python библиотека moto идеально для этого подходит. Читать дальше →

Тестировать верстку? Легко Статья подготовлена Анной anna-che и Ксенией KseMish. Одной из причин, по которой мы активно взялись за тестирование верстки, стали, как обычно, грабли. Мы с размаху наступили на баг, который стал проявляться после очередного обновления Хрома. Оказалось, что в течение 3-х ...

Полезная функция в Android Q решит раздражающую проблему Если вас раздражает постоянно гаснущий экран смартфона, а сильно завышенное время для выхода в спящий режим съедает слишком много заряда батареи, тогда вам должна понравиться новая функция «Screen attention» – это решение раздражающей проблемы, а при некото...

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

Добавляем Refresh Token В прошлой статье я рассказывал про основы JWT. Если на пальцах, то это просто ключ, с помощью которого мы открываем дверь к приватным ресурсам. А что, если этот ключ украдут (точнее, сделают дубликат). Тогда кто-то еще сможет входить на сервер под вашим именем, причём мы об...

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

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

[Перевод] Назад к микросервисам вместе с Istio. Часть 2 Прим. перев.: Первая часть этого цикла была посвящена знакомству с возможностями Istio и их демонстрации в действии. Теперь же речь пойдёт про более сложные аспекты конфигурации и использования этого service mesh, а в частности — про тонко настраиваемую маршрутизацию и упр...

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

Вредонос Sustes обновился и теперь распространяется через уязвимость в Exim (CVE-2019-10149) Вредонос Sustes обновился и теперь распространяется через уязвимость в Exim (CVE-2019-10149). Новая волна криптомайнера Sustes теперь использует для заражений июньскую уязвимость в почтовом сервере Exim. Начиная с 11 августа наши сетевые сенсоры PT Network Attack Discover...

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

Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal Здравствуйте уважаемые читатели Хабра! Этой публикацией я хочу начать цикл статей про развертывание полноценной среды оркестрации контейнерами Kubernetes, которая будет готова к эксплуатации и запуску приложений. Я хочу рассказать не просто про то, как развернуть кластер Ku...

QEMU.js: теперь по-серьёзному и с WASM Когда-то давно я смеха ради решил доказать обратимость процесса и научиться генерировать JavaScript (а точнее, Asm.js) из машинного кода. Для эксперимента был выбран QEMU, некоторое время спустя была написана статья на Хабр. В комментариях мне посоветовали переделать проект ...

[Перевод] 7 ключевых индикаторов риска Active Directory на панели мониторинга Varonis Все, что нужно злоумышленнику, – это время и мотивация для проникновения в вашу сеть. Но наша с вами работа состоит в том, чтобы не дать ему этого сделать или, по крайней мере, максимально усложнить эту задачу. Нужно начать с определения слабых мест в Active Directory (дал...

Процесс разработки и тестирования с Docker и Gitlab CI Предлагаю ознакомиться с расшифровкой доклада Александра Сигачева из Inventos "Процесс разработки и тестирования с Docker + Gitlab CI" Те, кто только начинает внедрять процесс разработки и тестирования на базе Docker + Gitlab CI часто спрашивают базовые вопросы. С чего начат...

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

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

Как взять сетевую инфраструктуру под свой контроль. Часть третья. Сетевая безопасность. Продолжение Это вторая часть главы «Сетевая безопасность» (которая в свою очередь является третьей частью цикла статей «Как взять сетевую инфраструктуру под свой контроль»). В первой части этой главы мы рассмотрели некоторые аспекты сетевой безопасности сегмента «Data Center». Эта глава...

Инфраструктура сборки проекта с docker На Хабре уже есть материалы про то, как настроить docker-контейнер для компиляции проекта. Например, Использование Docker для сборки и запуска проекта на C++. В этой статье, как и в предыдущей будет рассмотрен вопрос сборки проекта, но здесь я бы хотел выйти за рамки туториа...

[Из песочницы] Domain Driven Design: Value Objects и Entity Framework Core на практике На Хабре и не только написано приличное количество статей про Domain Driven Design — как в общем про архитектуру, так и с примерами на .Net. Но при этом зачастую слабо упоминается такая важнейшая часть этой архитектуры, как Value Objects. В этой статье я постараюсь раскрыт...

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

[Из песочницы] Технологии Яндекс Турбо-страницы и Google AMP для e-commerce Введение Веб разработка давно двинулась в сторону мобильного контента. Тренд последних нескольких лет в пользу трафика с мобильных устройств вместо десктопа, привёл к тому что поисковики сначала стали требовать от сайтов адаптивности и быстрой скорости загрузки, а с 1 июля 2...

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

Книга «Vue.js в действии» Привет, Хаброжители! Цель этой книги — дать вам знания, с помощью которых вы без колебаний присоединитесь к любому проекту, использующему эту библиотеку. Книга предназначена для всех, кто заинтересован в изучении Vue.js и имеет опыт работы с JavaScript, HTML и CSS. От вас не...

В шлюзе ENET IPSec VPN ПО с открытым кодом Libreswan работает на высокопроизводительной аппаратной платформе на FPGA Компания Ethernity Networks, называющая себя «ведущим новатором в области технологий и продуктов сетевой обработки», представила шлюз VPN, позволяющий объединять несколько туннелей VPN. Программируемый шлюз ENET IPSec VPN полностью высвобождает хост от функц...

[Перевод] F#4: Let / Use / Do В этом посте мы рассмотрим привязки в F#, в частности мы рассмотрим Let / Use / Do. Теперь вы, возможно, спрашиваете себя, что такое привязки, и, поскольку мы еще не рассмотрели их, сейчас самое время поговорить об этом. Проще говоря, привязка связывает идентификатор со зна...

[Из песочницы] Принцип работы протокола VRRP FHRP (First Hop Redundancy Protocol) — семейство протоколов, предназначенных для создания избыточности шлюза по умолчанию. Общей идеей для данных протоколов является объединение нескольких маршрутизаторов в один виртуальный маршрутизатор с общим IP адресом. Этот IP адрес буд...

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

Первая реальная фотография Galaxy S10 уже здесь. Дизайн приятно удивляет О новом поколении флагманов Samsung известно многое. Например, в конце декабря источник поделился информацией о диагоналях дисплеев устройств. Поколение Galaxy S10 будет состоять из четырёх смартфонов: S10 Lite, S10, увеличенного S10+ и специального S10 с поддержкой сетей 5...

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

[Из песочницы] IPSec VPN-соединение между MikroTik и Kerio Control Начальные параметры: Головной офис предприятия с двумя пограничными прокси Kerio Control v.9.2.9 build 3171 (за Kerio расположен свич Cisco 3550, определяющий конфигурацию локальной сети офиса). На каждом Kerio организовано по два канала с балансировкой нагрузки до ISP (...

AirTest IDE и Image Recognition — автоматизация тестирования мобильных игр на основе распознавания изображений В предыдущей статье мы познакомились с AirTest IDE, но, на всякий случай, давайте повторим: AirTest IDE разработан компанией NetEase и предназначен для "hard-to-automate" приложений, таких как, например, игр. Собственно на них и делается основной упор разработчиками, хотя эт...

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

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

Видео дня: виртуальный клон-переводчик, созданный силами гарнитуры Microsoft HoloLens В начале года Microsoft представила гарнитуру дополненной реальности HoloLens 2. Несмотря на ожидания и слухи, новая модель не превратилась в потребительское устройство. Напротив, став ещё дороже, а за новинку просят 3500 долларов, HoloLens 2 стала ещё чуть дальше от об...

Кластер системы видеоконференцсвязи на базе Yealink Meeting Server Эта статья является продолжением цикла публикаций, посвященного комплексному решению ВКС Yealink Meeting Server (YMS). В прошлой статье Yealink Meeting Server 2.0 — новые возможности видеоконференцсвязи мы описали существенный прорыв в функционале решения: добавился собст...

Группировка Fin7 возобновила фишинговые атаки Эксперты Flashpoint обнаружили новые атаки группировки Fin7, которая вернулась к активным действиям после ареста нескольких ее участников. Злоумышленники используют два новых зловреда и панель администратора, которые помогают им красть ценные данные, практически не оставляя ...

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

От Skype до WebRTC: как мы организовали видеосвязь через веб Видеосвязь — основной способ общения преподавателя и студента на платформе Vimbox. Мы давно отказались от Skype, перепробовали несколько сторонних решений и в итоге остановились на связке WebRTC — Janus-gateway. Некоторое время нас все устраивало, но все же некоторые негати...

Добавляем ZigBee устройства в Homebridge используя CC2531 На Хабре уже встречались статьи о том, как подружить ZigBee устройства различных производителей с системами управления умным домом, без использования фирменных хабов, вроде Xiaomi Gateway. Однако, инструкции для homebridge, я не нашел не только на Хабре, но и на других прост...

Как мы учились эксплуатировать Java в Docker Под капотом hh.ru — большое количество Java-сервисов, запущенных в докер-контейнерах. За время их эксплуатации мы столкнулись с большим количеством нетривиальных проблем. Во многих случаях чтобы докопаться до решения приходилось долго гуглить, читать исходники OpenJDK и даже...

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

[Перевод] Как Голливуд тайно использует AI для принятия ключевых решений о съемке фильмов В мире кино полно удивительных «что, если». Что, если в «Матрице» снялся бы не Киану Ривз, а Уилл Смит, которому предлагали роль в первую очередь? Что, если бы Николас Кейдж всё-таки смог сыграть Супермена в фильме Тима Бёртона? Были бы эти фильмы успешными, стали бы они ч...

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

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

ок.tech на HighLoad++ 2019 Highload++ очень близко! 7-8 ноября в Сколково в тринадцатый раз соберутся более 3000 разработчиков высоконагруженных систем. Мероприятие направлено на обмен знаниями о технологиях, позволяющих одновременно обслуживать многие тысячи и миллионы пользователей. Программа охва...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 5 ← Часть 4. Программирование периферийных устройств и обработка прерываний Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 5. Проектирование многопоточных приложений В предыдущих частях статьи мы подробно останавливались на основах программирования с ...

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

Квест с iobroker для игр “Квесты в реальности” Всем привет, на хабре уже есть несколько статей про автоматизацию игр типа «квесты в реальности» (раз, два, три, четыре, пять...), я хотел бы тоже поделиться своим опытом участия в подобном проекте. В далеком 2015 году мои друзья решили организовать квест типа escape-room ...

Google выпустила бюджетный новый Nexus дешевле 30 000 рублей С тех самых пор, как компания Google отказалась от использования бренда Nexus, перейдя на Pixel, ее продукция стала гораздо дороже. Теперь она выпускает только флагманские модели, а происходит это вот уже как более трех лет. Сообщение Google выпустила бюджетный новый Nexus ...

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

(Дополнено) Обзор и тестирование NVIDIA GeForce RTX 2080 Super: все супер? Расширенный обзор новинки NVIDIA – теперь с добавлением результатов GeForce RTX 2080 Ti и тестов с поддержкой трассировки лучей.

Внедрение СЭД по методологии Agile в сети ювелирных магазинов 585 Gold Проект по внедрению СЭД ТЕЗИС в ювелирной сети 585 Gold примечателен во многих отношениях. Он предполагал замену устаревшего иностранного решения, ряд уникальных модификаций, а также реализацию по методологии Agile. После запуска в эксплуатацию решение продолжает развиваться...

Устанавливаем GUI на Windows Server Core В прошлом нашем посте мы рассказали как готовим стандартные клиентские виртуальные машины и показали на примере нашего нового тарифа Ultralight за 120 рублей, как мы создавали стандартный образ Windows Server 2019 Core. В службу поддержки стали поступать заявки как работать...

В iOS 13 нашли новое упоминание Apple Tag Ресурс MacRumors продолжает делиться информацией о пока неанонсированном яблочном трекере. Сегодня авторы сайта опубликовали несколько скриншотов, на которых можно увидеть процесс добавления некоего устройства под кодовым названием B389 в приложение «Локатор».Читать дальше.....

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

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

Анализ цен криптовалют: следующая возможная остановка для биткоина — $7030 О дальнейших возможных сценариях движения цены биткоина и нескольких популярных альткоинов рассказывает ведущий аналитик RoboForex Дмитрий Гурковский. Рынок продолжил движение в рамках негативного сценария и на данный момент лучшее, что может произойти — это коррекция ...

Adam-3600 — многофункциональный промышленный контроллер Контроллер Adam-3600 — универсальное устройство для дистанционного управления промышленными объектами, сбора данных, мониторинга и автоматизации процессов. Одновременно может выступать как устройство связи с объектом (УСО), устройство сбора и передачи данных (УСПД) и прогр...

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

Последний рубеж обороны QA: автоматическое обнаружение ошибок Привет! Меня зовут Асхат Нурыев, я ведущий инженер по автоматизации в компании DINS. Я работаю в Dino Systems последние 7 лет. За это время пришлось заниматься разными задачами: от написания автоматических функциональных тестов до тестирования производительности и высокой...

[Перевод] Не потерял ли GraphQL актуальности в эпоху HTTP/2? Недавно Фил Стерджен опубликовал твит, который сильно задел любителей GraphQL. В этом твите речь шла о том, что GraphQL — это, по определению, технология, которая противоречит сущности HTTP/2. О том, что уже вышел стандарт HTTP/3, и о том, что автор твита не очень понимает т...

[Из песочницы] Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilat...

Разработчик «The Last of Us» раскритиковал «Red Dead Redemption 2» за линейный сюжет Брюс Стрейли указал на отсутствие влияния игроков на геймплей в «Red Dead Redemption 2». Брюс Стрейли является известным разработчиком в игровой сфере. В свое время он принял участие в создании The Last of Us и Uncharted 4: A Thief's End. В своей недавней публикации в ...

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования Привет! Недавно сделали подборку бесплатных сервисов для изучения программирования с нуля. В комментариях получили много заинтересовавших нас платформ. Из них составили отдельный список таких, которые подойдут профессиональным программистам. CheckiO Проект из Украины «Чекио»...

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

Тест-драйв nanoCAD СПДС Стройплощадка 8. Часть 2 Тест-драйв nanoCAD СПДС Стройплощадка 8 Мы продолжаем публикацию тест-драйва по nanoCAD СПДС Стройплощадка. В первой части тест-драйва мы разобрали работу со специальным инструментом Менеджер проектов, его основные функции и способы построения элементов стройгенплана. Во вто...

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

[Перевод] GitLab 11.10 GitLab 11.10 с пайплайнами на панели управления, пайплайнами для объединенных результатов и предложениями по нескольким строкам в мердж-реквестах. Удобные сведения о работоспособности пайплайнов в разных проектах GitLab продолжает увеличивать прозрачность жизненного цикла D...

Байт-машина для форта (и не только) по-индейски (часть 4) И снова я несколько переоценил объем статьи! Планировал, что это будет заключительная статья, где сделаем компилятор и выполним тестирование. Но объем оказался велик, и я решил разбить статью на две. В этой статье мы сделаем практически все основные функции компилятора. ...

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

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

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

[Перевод] Семь неожиданных переменных Bash Продолжая серию заметок о менее известных функциях bash, покажу вам семь переменных, о которых вы могли не знать. 1) PROMPT_COMMAND Возможно, вы уже в курсе, как манипулировать приглашением prompt, чтобы показать различную полезную информацию, но не все знают, что каждый ра...

R-Style Softlab интегрировала решение по регистрации граждан в ЕБС с решением по ИБ от «Ростелеком» R-Style Softlab интегрировала модули линейки RS-Connect для работы с Единой биометрической системой c типовым решением по информационной безопасности, созданным компанией «Ростелеком». Проект решения утвержден ФСБ и отвечает всем ...

Линейку серверов х86 Fusion Server Pro представила Huawei В ходе пресс-конференции под названием «+Intelligence, Taking Computingto New Levels» (Интеллект+: новый уровень вычислительных возможностей) бизнес-подразделение интеллектуальных вычислительных систем компании Huawei представило линейку «умных» серверов Fusion Server Pro. Б...

Решение задания с pwnable.kr 11-coin1, 12-blackjack, 13-lotto. Ошибки в логике приложений В данной статье рассмотрим решения 3-х заданий с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях: ...

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

[Перевод] Пишем операционную систему на Rust. Реализация страничной памяти (новый вариант) В этой статье разберёмся, как реализовать поддержку страничной памяти в нашем ядре. Сначала изучим различные методы, чтобы фреймы физической таблицы страниц стали доступны ядру, и обсудим их преимущества и недостатки. Затем реализуем функцию преобразования адресов и функцию ...

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

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

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

[Перевод] Python Testing с pytest. Начало работы с pytest, Глава 1 Вернуться Дальше Я обнаружил, что Python Testing с pytest является чрезвычайно полезным вводным руководством к среде тестирования pytest. Это уже приносит мне дивиденды в моей компании. Chris Shaver VP of Product, Uprising Technology Читать дальше →

Приложения для электронных книг на операционной системе Android. Часть 4. Игры В сегодняшней, четвёртой (предпоследней), части статьи о приложениях для электронных книг на операционной системе Android будет рассмотрена только одна, но обширная тема: игры. Краткое содержание предыдущих трёх частей статьиВ 1-ой части были подробно рассмотрены причины, п...

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

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

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

Как настроить Continuous Deployment для своего проекта: личный опыт Перевели для вас статью Юлиуса Минмо о настройке непрерывной интеграции (Continuous Deployment) для своего проекта. Автоматизация позволяет сэкономить кучу времени и сил. Статья будет полезна, в первую очередь, начинающим программистам. Непрерывная интеграция — отличная ...

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

BGP hijacking с помощью добавления AS жертвы в AS-SET атакующего Статья поделена на три части части. В первой содержится общая информация о том что такое BGP hijacking и его традиционный вариант. Для тех кто знаком с этим явлением, рекомендуется перейти сразу ко второй части. Во второй части будет описан метод анонсирования чужих префиксо...

Industry Foundation Classes. Краткое введение Введение В связи с политикой Партии и Правительства, происходит активное изменение законодательства в целях внедрения технологии BIM — Информационное моделирование Зданий. В продолжении линии Партии рассмотрим открытый формат представления BIM — IFC (Industry Foundation Clas...

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

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

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

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

Введение в контекстно-ориентированное программирование на Kotlin Это перевод статьи An introduction to context-oriented programming in Kotlin В этой статье я постараюсь описать новое явление, которое возникло как побочный результат стремительного развития языка Kotlin. Речь идет о новом подходе к проектированию архитектуры приложений и б...

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

Hengtong получила несколько наград на выставке PT Expo China 2019 Компания Hengtong приняла участие в выставке PT Expo China 2019, проходившей недавно в Пекине. Разработчик представил на мероприятии интеллектуальные сценарии прикладного применения технологий 5G, решения в сфере больших данных и безопасности, энергетического, промышленного ...

В КБХА внедрена PLM-система В КБХА внедрение PLM-системы происходит в рамках проекта "Цифровые технологии проектирования и производства". Координацию работ осуществляет Управляющий комитет проекта под руководством генерального директора НПО Энергомаш (входит в Госкорпорацию "Роскосмос&qu...

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

[Из песочницы] Как я поступал в 18 университетов США Всем привет. Меня зовут Даниил, и в этой статье я хочу поделиться с вами своей историей поступления в бакалавриат 18 университетов США. В интернете достаточно много рассказов о том, как можно учиться в магистратуре или аспирантуре совершенно бесплатно, но мало кто знает, что...

Анонс Windows 10 Insider Preview Build 18362.10019 (19H2) Доброй ночи, друзья! Microsoft выпустила новую инсайдерскую сборку Windows 10 19H2 под номером 18362.10019 для всех участников программы Windows Insider, использующих канал «Поздний доступ» (Slow Ring). Если вы используете сборку 19H2 под номером 18362.10014 с отключёнными ...

Технический Mарафон по Microsoft Dynamics 365 Приглашаем вас принять участие в Техническом Mарафоне по Microsoft Dynamics 365, где вы и ваши коллеги на практике познакомитесь с ключевыми сценариями использования платформы. Мероприятие состоится 3 декабря 2019г. в Технологическом центре Microsoft (ул. Лесная, дом 9). Ч...

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

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

7. Check Point Getting Started R80.20. Access Control Добро пожаловать на 7-й урок, где мы уже начнем работу с политиками безопасности. Сегодня мы первый раз установим политику на наш шлюз, т.е. наконец сделаем «install policy». После этого через шлюз уже сможет ходить трафик! Вообще, политики, с точки зрения Check Point, д...

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

Миграция на инфраструктуру async-await в Rust img source На прошлой неделе для Rust комьюнити случилось огромное событие — вышла версия компилятора 1.39, а в месте с ней и стабилизация async-await фичи. В этом посте я постараюсь резюмировать все релевантные изменения в компиляторе и экосистеме, а также предоставить инс...

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

Вебинар Павла Алферова «Типовые риски проектов. Как не наступать на одни и те же грабли» На вебинаре вы Разберетесь, как модель «галстук-бабочка», которая, к слову, входит в ГОСТ, поможет вам в проектном управлении; Получите реестр проектных рисков, который был составлен на основе опыта целых 650 проблемных проектов! Рассмот...

ACCA: более половины финансистов по всем миру готовы использовать машинное обучение 60% опрошенных уверены, что в ближайшие три года использование интернет-технологий станет привычным для большинства финансовых департаментов. Ассоциация специалистов в области финансов, учета и аудита АССА провела исследование «Машинное обучение: наука, а не вым...

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

[Перевод] Метаморфическое тестирование: почему об этой перспективной методике почти никто не знает Должен признаться: я читаю ACM Magazine. Это делает меня «ботаником» даже по меркам программистов. Среди прочего, я узнал из этого журнала о «метаморфическом тестировании». Раньше я никогда о нём не слышал, как и все люди, которых я спрашивал. Но научная литература по этой ...

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

Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации У нас в True Engineering на одном проекте назрела необходимость в смене версии PostgreSQL с 9.6 на 11.1. Зачем? База данных на проекте уже объемом 1,5 Tb и растет. Перформанс – одно из основных требований к системе. А сама структура данных эволюционирует: добавляются новые...

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

NVIDIA расширит ассортимент недорогих видеокарт за счёт GeForce GTX 1660 SUPER и GTX 1650 Ti Мы уже сообщали о том, что в скором времени в семействе NVIDIA Turing должен появиться новый недорогой представитель — GeForce GTX 1650 Ti. Теперь же китайские источники сообщают, что на самом деле плотность предложений NVIDIA в ценовом диапазоне от $150 до $280 увеличится с...

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

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

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

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

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

Почему в ITIL 4 процессы ITIL больше не главное? Если до 2019 года вы успели поучиться ITIL, то, несомненно,  успели заметить, насколько важная роль в нём отведена процессам. Однако если посмотреть на ITIL 4 Foundation, то становится очевидно, что фокус сместился от процессов в пользу практик, потоков создания ценности и р...

Samsung Galaxy A60 впервые показался на живых фотографиях. Результаты тестов На сайте Slashleaks, который специализируется на всевозможных утечках, опубликовали реальные фотографии нового Samsung Galaxy A60. Смартфон получил дисплей Samsung Infinity-O с круглым отверстием под фронтальную камеру, которое располагается в левом верхнем углу экрана...

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

Моя система домашней автоматики. Создание образа операционной системы Вводная часть Установка системы на Raspberry Pi 2,3 Я опишу самый простой, на мой взгляд, способ для начинающих. Всё действие будет происходить в Ubuntu 18.04 для справки по командам служит команда «man» + нужная команда. man ls Или нужная команда с ключём --help ls --help...

GPU Bound. Как перенести на видеокарту все и немножко больше. Анимации Когда-то давно, было огромным событием появления на GPU блока мультитекстурирования или hardware transformation & lighting (T&L). Настройка Fixed Function Pipeline была магическим шаманством. А те кто умел включать и использовать расширенные возможности конкретных чи...

[Перевод] AWS показал Open Source средний палец От переводчика: мне кажется, заголовок слегка неточный и на самом деле средний палец показали ребятам из MongoDB, которая теперь не очень то и Open Source. Сегодня, Amazon AWS запустил продукт DocumentDB — новую базу данных, совместимую с API MongoDB. Компания описывает Doc...

Функциональное тестирование навыков Яндекс Алисы на Node.js Прошел почти год с того момента, как появилась возможность создавать свои навыки для Алисы — голосового помощника от Яндекса. В каталог ежедневно прибывают новые навыки, а их общее число составляет несколько сотен. К сожалению, общение с некоторыми навыками мягко говоря "не...

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

[Из песочницы] Применение Go в производственных системах. Валидаторы Добрый день, Хабр! Я довольно часто начинаю утро с просмотра хабра и наконец решил внести свой вклад в данный процесс изучения интересного. Если всё сложится, то это первая моя статься из цикла применения языка GO на производственных системах. Я хочу рассказать некоторые т...

[Перевод] Вышел Orleans 3.0 Это гостевой пост от команды Orleans. Orleans — это кроссплатформенный фреймворк для создания распределенных приложений с использованием .NET. Для получения дополнительной информации см. https://github.com/dotnet/orleans. Мы рады объявить о выпуске Orleans 3.0. По сравнению...

Раскрыты ключевые характеристики смартфона Samsung Galaxy A51 В начале этого года компания Samsung выпустила смартфон Galaxy A50. В августе появилась обновлённая версия Galaxy A50s. Теперь же компания готова перейти к использованию следующего номера в названии модели. В базе данных Geekbench зафиксированы результаты тестирования смартф...

[Перевод] PowerShell в роли инструмента для пентеста: скрипты и примеры от Varonis Хакеры любят использовать PowerShell для запуска «fileless malware» — бестелесных вредоносных программ, которые не являются традиционными бинарными файлами с компилированным вредоносным кодом, и по этой причине подчас не могут быть обнаружены антивирусными решениями. Powe...

Как улучшить защиту периметра сети? Практические рекомендации для Check Point и не только Мы продолжаем цикл статей, посвященных оптимизации security настроек средств защиты периметра сети (NGFW). Хочу сразу заметить, что приведенные рекомендации подходят не только для владельцев Check Point. По сути, если разобраться, угрозы одинаковы для всех, просто каждый N...

[Перевод] Подготовка к Spring Professional Certification. Часть 1: «Контейнер, IoC, бины» Доброго времени суток, Хабр. Сегодня я решил представить вам перевод цикла статей для подготовки к Spring Professional Certification. Это перевод только первой статьи, если он зайдет аудитории, я продолжу выпуск переводов.   Зачем я это делаю, ведь уже есть куча профильных...

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

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

[Из песочницы] Разработка многозадачной микроядерной ОС — Планировщик После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика. Честно говоря я долго думал стоит ли начинать писать статьи ...

Первые шаги RPA в энергетике: опыт Schneider Electric Корпорация Schneider Electric, мировой эксперт в управлении энергией и промышленной автоматизации, приступила к роботизации бизнес-процессов (robotic process automation, RPA), создав группу для рассмотрения сценариев ее применения. Использование RPA ...

Cамые мощные смартфоны сентября 2019 года по тестам AnTuTu: Vivo NEX 3 5G, Vivo iQOO Pro 5G и другие Интернет-ресурс AnTuTu, занимающийся тестированием устройств, опубликовал список самых высокопроизводительных Android-смартфонов сентября 2019 года. Два аппарата Vivo заняли лидирующие позиции. Vivo NEX 3 и Vivo iQOO Pro 5G показали на бенчмарке первый и второй результат — 4...

Yealink Meeting Server 2.0 — новые возможности видеоконференцсвязи В прошлой статье: Yealink Meeting Server — комплексное решение для видеоконференцсвязи мы описали функционал первой версии Yealink Meeting Server (далее YMS), её возможности и структуру. В результате, мы получили от Вас множество запросов на тестирование этого продукта, част...

EVGA SuperNOVA G5: блоки питания мощностью от 650 до 1000 Вт Компания EVGA анонсировала блоки питания SuperNOVA G5, подходящие для использования в игровых системах и высокопроизводительных настольных компьютерах. Новинки имеют сертификацию 80 PLUS Gold. Заявленная эффективность при типовых нагрузках составляет не менее 91 %. В констру...

AeroCool выпустила в России сразу семь новых систем воздушного охлаждения Компания AeroCool Advanced Technologies вывела на российский рынок сразу семь моделей воздушного охлаждения. Часть из них относится к уже известному семейству AeroCool Frost, но есть и абсолютно новые модели для самых разных сценариев охлаждения. Подробнее об этом читайте на...

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

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

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

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

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

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

Azure Search Если какой-то из ваших проектов использует данные хранящиеся в Ажуровской базе, то вполне возможно, что у вас есть возможность задействовать поиск по данным с помощью Azure search. Совершать поиск можно не только по базам (Azure Cosmos DB, Azure SQL Database, SQL Server hos...

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

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

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

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

Планирование проектов в организации (часть 4) Я продолжаю цикл публикаций о Pulse Management — Управление проектной организацией (Метод Пульса). В этой статье я расскажу о самой «вкусной» части: Планирование проектов. Планирование — это самая простая и самая сложная часть любого проекта основанного целью которого являет...

Elasticsearch сделала бесплатными проблемные security-функции, ранее выведенные в open source На днях в блоге Elastic появилась запись, в которой сообщается о том, что основные security-функции Elasticsearch, выведенные в open source-пространство более года назад, теперь являются бесплатными для пользователей. В официальной блогозаписи содержатся «правильные» слова ...

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

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

Яндекс приглашает на вебинар про Эксперименты в Директе Вебинар про А/В-тесты в Директе пройдет уже завтра, 12 марта в 12:00. Сергей Полевич, руководитель сервиса экспериментов, наглядно покажет, как работать с новым инструментом при разных сценариях. А еще на примере кейса разберет, как анализировать результаты. В ходе вебинара ...

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

Технология 5G трансформирует образование в Японии Компания Samsung Electronics и японская телекоммуникационная компания KDDI объявили об успешной демонстрации работы скоростной связи 5G в ходе проведенного вместе с Международным институтом перспективных телекоммуникаций (ATR) тестирования в начальной школе Маэхара в Токио. ...

«Как управлять интеллектуалами. Я, нерды и гики» (бесплатная эл. версия книги) Привет, Хаброжители! Мы решили, что правильно не только продавать книги, но и делиться с ними. Обзор самой книг был здесь. В самом посте отрывок «Синдром дефицита внимания у Гиков» и сама книга. Основная идея книги «Оружие Юга» предельно проста и при этом очень странна. Чт...

Компьютеры Mac перейдут на процессоры ARM в 2020 году Как известно, в будущем Apple откажется от использования процессоров х86 в компьютерах собственного производства. Но примечательно то, что переход на архитектуру ARM не заставит себя ждать — Apple намерена перейти на новые чипы уже в следующем году. Об этом сообщает и...

PVS-Studio ROI Время от времени нам задают вопрос, какую пользу в денежном эквиваленте получит компания от использования анализатора PVS-Studio. Мы решили оформить ответ в виде статьи и привести таблицы, которые покажут, насколько анализатор может быть полезен. Мы не можем в статье доказа...

Обзор программы С++ Russia 2019 Piter: асинхронность, модули, библиотеки… и такси Что общего у этих людей, помимо того, что все они известны в мире C++? Sean Parent Eric Niebler Marshall Clow Bryce Adelstein Lelbach Антон Полухин Андрей Давыдов Ответ: все они приедут на C++ Russia. Теперь, когда лето кончилось и все вернулись из отпусков, п...

[Перевод] Пишем кастомный трансформер AST на TypeScript Команда TestMace снова с вами. На этот раз мы публикуем перевод статьи о преобразовании кода TypeScript, используя возможности компилятора. Приятного чтения! Введение Это мой первый пост, и в нём мне бы хотелось показать решение одной задачи с помощью API компилятора TypeScr...

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