Социальные сети Рунета
Вторник, 16 апреля 2024

Мониторим базу PostgreSQL — кто виноват, и что делать Я уже рассказывал, как мы «ловим» проблемы PostgreSQL с помощью массового мониторинга логов на сотнях серверов одновременно. Но ведь кроме логов, эта СУБД предоставляет нам еще и множество инструментов для анализа ее состояния — грех ими не воспользоваться. Правда, если про...

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

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

Мониторинг 95+ метрик PostgreSQL с помощью плагина Zabbix Agent 2 В прошлом году популярный сервис мониторинга Zabbix представил Agent 2, призванный сократить число TCP-подключений и обеспечить удобную расширяемость за счёт плагинов на Golang. Меня зовут Даша и я один из разработчиков плагина мониторинга PostgreSQL для Zabbix Agent 2. В эт...

[Перевод] Высокопроизводительный TSDB benchmark VictoriaMetrics vs TimescaleDB vs InfluxDB VictoriaMetrics, TimescaleDB и InfluxDB были сравнены в предыдущей статье по набору данных с миллиардом точек данных, принадлежащих 40K уникальным временным рядам. Несколько лет назад была эпоха Zabbix. Каждый bare metal сервер имел не более нескольких показателей – использ...

[Из песочницы] Postman — Автотестирование метрики в AppMetrica 1. Введение Недавно встала задачка периодически проверять, все ли события в мобильном приложении работают корректно, передаются ли в AppMetrica. Подробности интеграции я опущу, имеется в виду, что она уже есть в МП. Для проверки нашел два варианта: через web интерфейс че...

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

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

Grafana, InfluxDB, два тега и одна сумма. Или как посчитать сумму подгрупп? Всем привет! Занимаюсь тестированием производительности. И очень люблю настраивать мониторинг и любоваться метриками в Grafana. А стандартом для хранения метрик в инструментах для подачи нагрузки является InfluxDB. В InfluxDB можно сохранять метрики из таких популярных инст...

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

Мониторинг БД Oracle с помощью OEM Привет! Меня зовут Александра, я работаю в команде тестирования производительности. В этой статье расскажу базовые сведения об OEM от Oracle. Статья будет полезна для тех, кто только знакомится с платформой, но и не только для них. Основная цель статьи — помочь провести бы...

[Из песочницы] Краткое сравнение архитектуры SDS или поиск подходящей платформы хранения (GlusterVsCephVsVirtuozzoStorage) Данная статья написана для того, чтобы помочь выбрать для себя подходящее решение и понять отличия между такими SDS как Gluster, Ceph и Vstorage (Virtuozzo). В тексте используются ссылки на статьи с более детальным раскрытием тех или иных проблем, поэтому описания будут мак...

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

Настраиваем отказоустойчивость Pi-Hole в связке с Mikrotik В прошлой статье мы внедрили домашний сервер DoH с использованием Pi-Hole, чем не только пофильтровали большое количество рекламы, но и инкапсулировали наши DNS-запросы в HTTPS, что вывело их из поля фильтрации запросов оператором связи.Всем замечательно это решение, но у не...

Про кластер серверов 1С Кластер — это разновидность параллельной или распределённой системы, которая: 1. состоит из нескольких связанных между собой компьютеров; 2. используется как единый, унифицированный компьютерный ресурс Gregory F. Pfister, «In search of clusters». Дано: есть бизнес-прило...

Свой сервер видеоконференций Jitsi. Часть 1 Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему: Свой сервер видеоконференций Jitsi. Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи ...

Масштабирование андроид-тестирования в Одноклассниках Привет! Меня зовут Роман Иваницкий, я работаю в команде автоматизации тестирования Одноклассников. OK — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. П...

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

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

Экономим копеечку на больших объемах в PostgreSQL Продолжая тему записи больших потоков данных, поднятую предыдущей статьей про секционирование, в этой рассмотрим способы, которыми можно уменьшить «физический» размер хранимого в PostgreSQL, и об их влиянии на производительность сервера. Речь пойдет про настройки TOAST и вы...

Microsoft работает над исправлением уязвимости в Internet Explorer В веб-браузере Internet Explorer была обнаружена уязвимость (CVE-2020-0674), которая связана с обработкой объектов в оперативной памяти скриптовым движком. Злоумышленники могут эксплуатировать уязвимость для удалённого запуска вредоносного кода на компьютере жертвы. Для это...

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

DRAMeXchange: видеокарты в 2020 году могут подорожать из-за роста цен на видеопамять Если вы планируете купить видеокарту, то сейчас, возможно, самое время. Всё дело в том, что в следующем году цены на графические ускорители могут вырасти, считают аналитики DRAMeXchange, подразделения компании TrendForce. Связано это будет с ростом стоимости на микросхемы па...

Samsung получила заказы на производство процессоров от Intel Компания Intel в очередной раз сообщила, что она испытывает проблемы с объёмами производства процессоров. Гонка с AMD за количество ядер привела к увеличению физического размера чипов, а значит, уменьшению их числа на одной пластине и дальнейшему росту дефицита.

LEGO Education WeDo 2.0 и Scratch — новая связка для обучения детей робототехнике Привет, Хабр! Несколько лет обучающий набор LEGO Education WeDo 2.0 и детский язык Scratch развивались параллельно, но в начале этого года у Scratch появилась поддержка физических объектов, в том числе и модулей LEGO Education. О том, как можно использовать эту связку для об...

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

Мониторинг PostgreSQL с использованием Zabbix Доклад Дарьи Вилковой для Zabbix Meetup Online Я хочу познакомить вас со средством мониторинга PostgreSQL и операционной системы, которое разрабатывается нашей компанией с использованием Zabbix. Мы выбрали Zabbix в качестве средства мониторинга уже давно, потому что это п...

Новые шаблоны — IPMI, Mikrotik, MSSQL Статья написана на основе доклада Максима Чудинова, инженера-интегратора Zabbix. В этой статье мы расскажем о некоторых новых шаблонах, добавленных в версию Zabbix 5.0. IPMI Шаблон IPMI работает только с пятой версией системы мониторинга Zabbix, потому что построен на новом...

Intel сосредоточится на оптимальном распределении тепла в 10-ядерных Comet Lake-S Компания Intel в своих готовящихся процессорах Comet Lake-S, о которых мы слышим на протяжении года, сосредоточится на показателях тепловыделения, чтобы поддерживать высокие тактовые частоты для как можно большего количества ядер. Об этом сообщает ресурс GamersNexus со ссылк...

Массивно-параллельная база данных Greenplum — короткий ликбез Для Hadoop и Greenplum есть возможность получить готовый SaaS. И если Хадуп — известная штука, то Greenplum (он лежит в основе продукта АrenadataDB, про который далее пойдёт речь) — интересная, но уже менее «на слуху». Arenadata DB — это распределённая СУБД на базе опенс...

Грабли на пути к keep-alive Увеличение активности обмена данными между микросервисами зачастую является проблемой в архитектуре современных IT решений. Выжать максимум и выжить любой ценой — серьёзный вызов для любой разработки. Поэтому поиск оптимальных решений — это не прекращающийся процесс. В стать...

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

Мониторинг бизнес-процессов Camunda Привет, Хабр. Меня зовут Антон и я техлид в компании ДомКлик. Создаю и поддерживаю микросервисы позволяющие обмениваться данными инфраструктуре ДомКлик с внутренними сервисами Сбербанка. Это продолжение цикла статей о нашем опыте использования движка для работы с диаграмм...

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

Коронавирус друг кибермошенников Компания Check Point Software представила результаты исследования, проведенного компанией Dimensional Research. Оно посвящено влиянию пандемии коронавируса на безопасность организаций. Результаты показали, что киберпреступники используют изменения в организации работы боль...

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

Двухрычажные HDD Seagate MACH.2 позволяют удвоить производительность Главной проблемой жёстких дисков является их медленный доступ к данным. И чем больше объём накопителя, тем больше времени требуется, чтобы найти нужные данные и обеспечить к ним доступ. Однако с ростом объёма хранимых данных нужно ускорять доступ к ним.

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

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

[Из песочницы] Нормализация текста в задачах распознавания речи При решении задач, связанных с распознаванием (Speech-To-Text) и генерацией (Text-To-Speech) речи важно, чтобы транскрипт соответствовал тому, что произнёс говорящий — то есть реально устной речи. Это означает, что прежде чем письменная речь станет нашим транскриптом, её нуж...

[recovery mode] Как при помощи большого монитора и консольной утилиты WLSDM смотреть за Oracle WebLogic Server На просторах утилит консольных расширений Oracle WebLogic Server встретилась одна очень полезная — WLSDM, как ее позиционируют сами авторы — утилита мониторинга WebLogic Server с большим набором возможностей. Если пойдете на сайт разработчика, увидите, что рядом лежит еще од...

Эффективное хранение сотен миллионов маленьких файлов. Self-Hosted решение Уважаемое сообщество, эта статья будет посвящена эффективному хранению и выдаче сотен миллионов маленьких файлов. На данном этапе предлагается конечное решение для POSIX совместимых файловых систем, в том числе кластерных, и вроде бы даже уже без костылей. Поэтому для это...

[Из песочницы] Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее. В этой статье я расскажу как установить и настроить: Keycloak — это проект с открытым исходным кодом. Который обес...

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

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

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

Как продакт-менеджеру найти метрику роста и свести Unit-экономику В преддверии старта практического онлайн-курса «Product manager» состоялся открытый урок с Сергеем Колосковым, продакт-менеджером Ozon. Участники научились находить метрики роста и строить аналитику вокруг них, а также считать и сводить unit-экономику. В этой статье мы приво...

Первые шаги с Fiddler Classic Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэто...

Мониторинг многопоточных приложений Node.JS В этой статье мы разберем особенности мониторинга многопоточного Node.JS приложения на примере нашего коллектора для сервиса мониторинга и анализа логов серверов PostgreSQL. Читать дальше →

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

Tele2 внедрила с помощью "Крок" систему управления знаниями Как сообщил ComNews представитель "Крок", в данный момент в KMS Lighthouse заведено более 13 тысяч статей. Базой знаний уже пользуется три тысячи операторов и аналитиков контактного центра, а также восемь тысяч сотрудников салонов связи оператора. Ежедневно сотрудники Tele2 ...

Домашний веб-сервер на солнечных батареях отработал 15 месяцев: аптайм 95,26% Первый прототип солнечного сервера с контроллером заряда. Фото: solar.lowtechmagazine.com В сентябре 2018 году энтузиаст из Low-tech Magazine запустил проект «низкотехнологичного» веб-сервера. Задача была снизить энергопотребление настолько, чтобы домашнему self-hosted сер...

ClickHouse + Graphite: как значительно уменьшить потребляемое место на дисках Приветствую, habr. Если кто-то эксплуатирует систему graphite-web и столкнулся с проблемой производительности хранилища whisper (IO, потребляемое дисковое пространство), то шанс того, что был брошен взгляд на ClickHouse в качестве замены, должен стремиться к единице. Данное...

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

На StatOnline.ru появился рейтинг хостинг-провайдеров по числу VPS и Dedicated-серверов Компания REG.RU представила новую метрику аналитического сервиса StatOnline.ru. Теперь на сайте можно узнать информацию о количестве обслуживаемых VPS и Dedicated-серверов разных хостинг-провайдеров. Новая уникальная метрика позволяет увидеть масштаб серверной инфраструктуры...

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

Метрики — индикаторы здоровья проекта В IT здоровый проект — это система или сервис, который, с одной стороны, качественный, то есть соответствует требованиям и нравится пользователям. С другой стороны, приносит прибыль, потому что бизнес всегда на самом деле хочет зарабатывать деньги. Без связки качества и бизн...

Масштабируем WebSocket соединения на Go Мессенджер Авито – это: 12 m уникальных пользователей в месяц; Версии для всех современных платформ (Web, iOS, Android); Достаточно нагруженное приложение – около 800 тысяч подключений онлайн по WebSocket (основной протокол общения с пользователями). Александр Емелин из ко...

Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем. Иван Пономарёв Предлагаю ознакомиться с расшифровкой доклада Иван Пономарёв "Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем" Рефакторинг кода может быть увлекательным, особенно если это код вашей инфраструктуры. К тому же Ansible-роли почему-то имеют те...

Компьютерная игра Last Oasis испытывает проблемы с перегруженности сервера Разработчик Donkey Crew принял решение отключить серверы игры Last Oasis. Представители обещали вернуть средства пользователям независимо от количества сыгранных часов. Проблема возникла в результате перегруженности серверов. Они не были рассчитаны на большое количест...

Новые возможности postgres_exporter для мониторинга PostgreSQL Добрый день, читатели habr! В первой заметке о posgres_exporter, я рассмотрел достаточно частный случай, при работе с новой, на тот момент фитчей, а именно возможностью мониторинга одним экспортером набора экземпляров и/или баз данных. И описал тот "букет" проблем с которыми...

GeForce RTX 3080 20GB и RTX 3070 16GB выдут в декабре, GeForce RTX 3070 Ti отменена Источник поделился новыми подробностями о многострадальных 3D-картах Nvidia линейки RTX 30. Новости тут и хорошие, и не очень. Но начнем с первых. Со ссылкой на свои источники, знакомые с ситуацией, сообщается, что «старые новые» модели линейки выйдут в дека...

Интеграция в стиле BPM Привет, Хабр! Наша компания специализируется на разработке программных решений класса ERP, в составе которых львиную долю занимают транзакционные системы с огромным объемом бизнес-логики и документооборотом а-ля СЭД. Современные версии наших продуктов базируются на техноло...

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

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

[Перевод] Мониторинг Kubernetes с помощью Prometheus и Thanos Поздравляем! Вам удалось убедить ваше начальство в миграции приложений на микросервисную архитектуру с использованием контейнеров и Kubernetes.Вы очень довольны и все идет по плану. Вы создаете свой первый кластер Kubernetes (у всех основных облачных провайдеров: Azure, AWS ...

[Перевод] Сервер Prometheus и TLS Prometheus теперь поддерживает TLS и базовую аутентификацию для HTTP эндпоинтов. Скрейпинг таргетов через HTTPS вместо HTTP поддерживается уже давно. Метрики можно собирать с поддержкой HTTPS, аутентификации по клиентским сертификатам и базовой аутентификации. В прошлом год...

Как Быстро разморозить холодильник? Правильные СОВЕТЫ от Nadomu.kiev В некоторых семьях холодильники безотказно работают еще с прошлого века и наверняка проработают еще немало времени. Но, чтобы добиться такого результата, необходимо правильно эксплуатировать бытовую технику. Многие владельцы, как современных, так и более старых моделей убеди...

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04 В предыдущей статье мы разобрали запуск сервера VNC на виртуальной машине любого типа. У этого варианта масса недостатков, основным из которых являются высокие требования к пропускной способности каналов передачи данных. Сегодня мы попробуем подключиться к графическому рабо...

Серверы Lenovo ThinkSystem удерживают лидерство в отрасли по производительности и ценности для потребителей *пресс-релизКомпания Lenovo объявила, что серверы Lenovo ThinkSystem получили 154 мировых рекорда производительности. Среди них 86 рекордных показателей были достигнуты на системах с процессорами Intel Scalable второго поколения, 43 – с использованием процессоров Xeon Scalab...

База данных на SharedPreferences — Android Kotlin Для хранения большого количества информации в Android используется DataBase (SQLite, FireBase и т. п.), а для простого хранения настроек SharedPreferences. Вопрос, можно ли использовать SharedPreferences как своего рода Базу Данных и как это сделать? Статья написана об учеб...

БД мессенджера (ч.2): секционируем «наживую» Мы удачно спроектировали структуру нашей PostgreSQL-базы для хранения переписки, прошел год, пользователи активно ее наполняют, вот в ней уже миллионы записей, и… что-то все начало подтормаживать. Часть 1: проектируем каркас базы Часть 2: секционируем «наживую» Дело в то...

Трюки для обработки метрик в Kapacitor Скорее всего, сегодня уже ни у кого не возникает вопрос, зачем нужно собирать метрики сервисов. Следующий логичный шаг – настроить алертинг на собираемые метрики, который будет оповещать о любых отклонениях в данных в удобные вам каналы (почту, Slack, Telegram). В сервисе он...

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

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

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

Применение Flowmon Networks для контроля производительности распределенных приложений и баз данных Статью подготовил Dmitriy Andrichenko | Sales Executive, Russia & CIS | Flowmon Networks Приветствуем Вас на странице нашей новой статьи, посвященной решению задач контроля производительности распределенных сетевых приложений и баз данных. Данная статья является продо...

Haproxy — программирование и конфигурирование средствами Lua Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это впо...

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

[Из песочницы] Простой Telegram-бот на Flask с информированием о погоде Всем привет, в этой статье я расскажу как сделать простейшего телеграмм бота на Python для отправки текущей погоды в Москве. Статья расчитана на новичков в Python, которые бы хотели узнать больше о том, как взаимодействовать с внешними сервисами по API. Технологии и API: Py...

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

В базе данных SiSoft замечен процессор Intel на новой архитектуре База данных теста SiSoft послужила источником сведений о процессоре Intel, который, на первый взгляд, похож на выпускаемые сейчас 14-нанометровые модели, но имеет важное отличие. Процессор имеет шесть ядер и может исполнять двенадцать потоков, работая на частоте 3 ГГц....

Новое на StatOnline: рейтинг хостеров по числу VPS и Dedicated Хостинг-провайдер и регистратор доменов REG.RU запустил новую метрику на аналитическом сервисе StatOnline.ru. Теперь на сайте можно узнать информацию о количестве обслуживаемых VPS и Dedicated-серверов разных хостинг-провайдеров.

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

Оптимизация сервера Minecraft В нашем блоге мы уже рассказывали, как создать свой сервер Minecraft, однако с тех пор прошло 5 лет и многое поменялось. Делимся с вами актуальными способами создания и оптимизации серверной части столь популярной игры. За свою 9-летнюю историю (если считать от даты релиза...

Накопитель Kingston DC1000B с поддержкой NVMe предназначен для дата-центров Компания Kingston Technology объявила о выпуске твердотельного накопителя DC1000B, оптимизированного для работы в качестве загрузочного диска в серверах центров обработки данных. Накопитель Kingston DC1000B типоразмера M.2 2280 оснащен интерфейсом PCIe Gen 3.0 x 4 и под...

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

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

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

Huawei переводит серверы серии FusionServer Pro на процессоры Intel Cascade Lake Refresh Компания Huawei завершила тестирование серверов серии FusionServer Pro на процессорах Intel Cascade Lake. Список моделей, переведенных на новые процессоры, включает стоечные серверы 1288H V5, 2288H V5, 2298 V5 и 5288 V5, сервер с высокой плотностью компоновки X6000 V5 и...

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

Определение объёма кластера Elasticsearch и тестирование производительности в Rally В этой статье мы разберёмся с основными подходами к сайзингу Elasticsearch, покажем сравнения бенчмарков кластера при загрузке логов и метрик. А разница там заметная. Надеемся, вам это поможет с определением объёма кластера Elasticsearch и расшифровкой того самого «it depend...

Мониторинг показателей linux сервера в Home Assistant через mqtt Возникла необходимость поставить дома еще один сервер, и я задался целью мониторить его показатели в домашнем умном доме, в качестве которого используется Home Assistant. Быстрое и потом вдумчивое гугление не дало устраивающих меня универсальных решений, поэтому построил сво...

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

[Из песочницы] Двухфакторая аутентификация VPN/Mikrotik – просто и масштабируемо Здравствуйте! На написание данной статьи меня побудило прочтение аналогичного содержания статьи пользователя nkusnetsov. По количеству просмотров видно, что сообществу интересна данная тема. Поэтому я решил поделиться с вами собственным решением, которое было ранее реализо...

Названы основные мишени хакеров в 2019 году В 2019 году аналитики Solar JSOC впервые выделяют резкий рост (на 40%) атак, направленных на получение контроля над инфраструктурой, на фоне 15% снижения числа атак, направленных на кражу денежных средств. В предыдущие годы картина была прямо противоположной: количество атак...

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

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

[Перевод] Учебник по Spring Boot Admin Контролируйте и управляйте своими приложениями Spring Boot с помощью приятного пользовательского интерфейса поверх конечных точек Spring Boot Actuator. Spring Boot Actuator Actuator — это модуль Spring Boot, который добавляет конечные точки (endpoint) REST / JMX в ваше пр...

HighLoad++, Михаил Макуров, Максим Чернецов (Интерсвязь): Zabbix, 100kNVPS на одном сервере Следующая конференция HighLoad++ пройдет 6 и 7 апреля 2020 года в Санкт-Петербурге Подробности и билеты по ссылке. HighLoad++ Moscow 2018. Зал «Москва». 9 ноября, 15:00. Тезисы и презентация. * Мониторинг — онлайн и аналитика. * Основные ограничения платформы ZABBIX. * Ре...

Что будет, если соединить в связку Radeon RX 5600 XT и RX 5700 XT? Жив ли CrossFire в 2020 году? В своё время и AMD, и Nvidia активно продвигали технологии, позволяющие соединить две и более видеокарт в связку для повышения производительности. Однако уже несколько лет обе компании фактически забыли об этих технологиях, заявив, что в современных реалиях это неактуал...

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

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

[Из песочницы] Пакетная обработка в JDBC и HIBERNATE Здравствуйте! В этой статье, я кратко расскажу о пакетной обработке SQL (DML) операторов: INSERT, UPDATE, DELETE, как одной из возможностей достижения увеличения производительности. Преимущества В отличии от последовательного выполнения каждого SQL запроса, пакетная обрабо...

Microsoft наконец-то признала проблемы с поиском в Windows 10 Проблема на стороне сервера сделала полностью нерабочим поиск в Windows 10 еще вчера, в окне поиска не было вообще результатов поиска. Эта проблема широко освещалась пользователями Windows 10 в социальных сетях, и Microsoft наконец-то подтвердила эти проблемы. 5 февраля мног...

SD-WAN — тенденции последнего времени и прогноз на 2020 Любая компания, крупная или мелкая, использует в своей работе связь. Это может быть сотовый телефон, интернет, сеть для связи с региональными подразделениями, спутник и т.п. Если компания достаточно крупная, а ее подразделения находятся в разных регионах одной страны или ...

IDC: количество 5G-подключений превысит 1 млрд в 2023 году Компания International Data Corporation (IDC) обнародовала свой первый прогноз по мировому рынку сетей мобильной связи пятого поколения (5G). Фотографии Reuters Согласно предварительным оценкам, по итогам текущего года количество 5G-подключений по всему миру составит приблиз...

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

Postgresso 18 После паузы (отпуск), продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Не будем придерживаться здесь строго отображения всех релизов и событий, произошедших после последнего, еще октябрьского выпуска Postgresso #17, но важнейшее, произошедшее ещё в ко...

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

Развертывание в Docker и Kubernetes образа StatsD+Grafana В начале моего изучения Docker и Kubernetes мне нехватало простого и понятного примера, с которым можно было бы «поиграться», изучая особенности этой среды. Этой статьей хотелось бы закрыть этот пробел. Здесь я расскажу об интеграции .NET Core приложения с Telegraf и Grafana...

[Из песочницы] Синхронизация пользователей Zimbra Collaboration OSE на основе Active Directory 1. Предпосылки Настраивая сервер zimbra столкнулся с проблемой синхронизации пользователей по группе в Active Directory (AD). Если мы создаем нового пользователя в AD, то он нормально добавлялся, но если мы делаем доступ к почтовому серверу по группе, то первый раз все польз...

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

Как я решил протестировать нагрузочную способность web сервера В одно прекрасное утро вдруг пришла "гениальная" мысль – а не протестировать ли мне что ни будь? Посмотрев по сторонам, на глаза мне попался он - герой этой статьи.Это была вступительная минутка юмора, а если серьёзно то вопрос о тестировании web сервера стоял уже давно....

Пишем в PostgreSQL на субсветовой: 1 host, 1 day, 1TB Недавно я рассказал, как с помощью типовых рецептов увеличить производительность SQL-запросов «на чтение» из PostgreSQL-базы. Сегодня же речь пойдет о том, как можно сделать более эффективной запись в БД без использования каких-либо «крутилок» в конфиге — просто правильно ор...

[Перевод] Введение в графовые базы данных SQL Server 2017 В преддверии старта курса «MS SQL Server Developer» подготовили для вас еще один полезный перевод. Графовые базы данных — это важная технология для специалистов по базам данных. Я стараюсь следить за инновациями и новыми технологиями в этой области и, после работы с реляци...

Чем Mac mini лучше любого PC Моим первым Mac был Mac mini середины 2011 года — в то время двухъядерный процессор Intel Core i5 2,5 ГГц, 4 ГБ оперативной памяти и жесткий диск на 500 ГБ казались очень даже неплохим предложением. Учитывая, что мне не надо было выполнять на этом компьютере какие-то серьез...

[Перевод] Для edge-серверов десятого поколения Cloudflare выбирает процессоры от AMD Ежедневно через сеть Cloudflare Network проходит более миллиарда уникальных IP-адресов; она обслуживает более 11 млн HTTP-запросов в секунду; она находится на расстоянии не более 100 мс от 95% интернет-населения. Наша сеть раскинулась на 200 городов в более чем 90 странах,...

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

Чиним сериализацию объектов в Kotlin раз и навсегда Недавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve к каждому объекту, который наследуется от java.io.Serializable. Этот способ выглядит абсолютно правильным, однако его поддержка может о...

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

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

/proc/meminfo + gawk = удобный JSON для discovery метрик в zabbix В работе над одной задачей понадобилось добавить в мониторинг все счетчики памяти находящиеся в /proc/meminfoПосле создания шаблона, создавать руками каждую метрику и настроить опрос ее с хоста мне показалось полным отстоем, так как сейчас можно делать один запрос к хосту по...

Вышла неожиданная версия Android 11. План выпуска ОС поменяли Ранее в этом году Google представила свой план выпуска Android 11, включая версии для разработчиков и бета-версии. После выпуска трех предварительных версий для разработчиков компания решила выпустить еще одну Developer Preview-версию (DP4). После выхода DP1, DP2 и DP3 ...

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

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

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

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

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

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

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

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

Infortrend анонсировала новые модели в линейке NAS EonStor CS Компания Infortrend® Technology, Inc. (код TWSE: 2495), разработчик передовых корпоративных систем хранения данных, недавно представила новые модели в линейке горизонтально масштабируемых устройств NAS EonStor CS на базе Flash-накопителей. Использова...

[Перевод] Смотрим на Chapel, D, Julia на задаче вычисления ядра матрицы Введение Кажется, стоит вам отвернуться, и появляется новый язык программирования, нацеленный на решение некоторого специфического набора задач. Увеличение количества языков программирования и данных глубоко взаимосвязано, и растущий спрос на вычисления в области «Data Scien...

Автоматизируем работу с коммутаторами SNR при помощи ANSIBLE Тема автоматизации управления сетевым оборудованием активно развивается последние несколько лет в связи с ростом количества устройств и предоставляемых сервисов. Мы решили не обходить эту тему стороной и рассказать о том, как можно автоматизировать управление коммутаторами S...

Вжух, и прогоны автотестов оптимизированы. Intellij IDEA плагины на службе QA Automation Привет, Хабр. Я работаю QA Automation инженером в компании Wrike и хотел бы поговорить о том, как нам удалось оптимизировать процесс код-ревью для репозитория с 30 000+ автотестов при помощи IntelliJ IDEA плагина. Я расскажу о внутреннем устройстве плагина и о том, какие п...

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

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

В МойОфис появилось более 200 новых функций Хабр, привет, это МойОфис. 2019 год стал для нас знаковым. Нам доверяет всё большее число пользователей. Объемы проданных лицензий измеряются сотнями тысяч, более 1 млн бесплатных лицензий было передано в систему образования. Стремительный рост числа клиентов не позволяет...

В Германии и Франции стартовало тестирование Project xCloud Как и было объявлено несколько недель назад, Microsoft начинает тестирование сервиса потоковой передачи игр Project xCloud в Западной Европе. В настоящее время доступ к Project xCloud открыт пользователям из Франции и Германии, но вскоре опробовать сервис смогут и жители др...

[Перевод] «Kubernetes увеличил задержку в 10 раз»: кто же в этом виноват? Прим. перев.: Эта статья, написанная Galo Navarro, что занимает должность Principal Software Engineer в европейской компании Adevinta, — увлекательное и поучительное «расследование» в области эксплуатации инфраструктуры. Её оригинальное название было немного дополнено в пере...

VolgoBot A4 PRO с подогревом камеры ТЕРМОКАМЕРА - зачем она нужна?Итак, начнем с того, что такое термокамера и зачем она. Все кто хоть мало мальски сталкивался с FFF/FDM технологией и пробовал печатать большие детали, например, из АБС, знают, что это бывает не так просто: либо модель начинает отклеиваться, либ...

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

IDC прогнозирует, что в 2023 году количество подключений 5G в мире превысит миллиард Компания IDC подготовила свой первый общемировой прогноз, касающийся внедрения сетей 5G. По мнению аналитиков, число подключений 5G, в этом году оцениваемое примерно в 10,0 млн, в 2023 году достигнет 1,01 млрд. Эти значения соответствуют совокупному годовому темпу роста...

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

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

Как работать из дома. Чек-лист удаленщика В интернете огромное количество заметок на тему удаленной работы, с лаконичным обзором минусов, плюсов и известными советами, как вытащить себя из рутины, начиная с «Первым делом снимите пижаму». В блоге Surf мы уже затрагивали эту тему в статье моей коллеги, которая поделил...

Intel Core i9-10900K оказался производительнее, чем Core i9-9900K, на 30 % в Geekbench 5 Чем меньше времени остаётся до момента выхода на рынок десктопных процессоров Intel Comet Lake-S, тем больше в сети появляется предварительных данных, раскрывающих подробности об их производительности. Одна из последних утечек опубликована пользователем Tum_Apisak, который н...

[Из песочницы] Моя реализация кольцевого буфера в NOR flash Предыстория Есть торговые автоматы собственной разработки. Внутри Raspberry Pi и немного обвязки на отдельной плате. Подключены монетоприёмник, купюроприёмник, банковский терминал… Управляет всем самописная программа. Вся история работы пишется в журнал на флешке (MicroSD), ...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

[Из песочницы] Как мигрировать Zabbix с MySQL на PostgreSQL с минимальным downtime В свете того, что Zabbix с некоторых пор поддерживает TimescaleDB, а тут еще и вышел новый LTS релиз Zabbix, то наверняка многие заинтересовались, как осуществить миграцию с MySQL на PostgreSQL. Несмотря на текст на картинке, вполне можно просто так взять и мигрировать Zabb...

Как мы рекомендуем новинки каталога в онлайн-кинотеатре ivi (+ код на Python) В блоге онлайн-кинотеатра ivi накопилось достаточно статей про архитектуру рекомендательной системы Hydra. Однако рекомендации — это не только внешний API, но и алгоритмы, которые живут «под капотом» и реализуют достаточно сложную бизнес-логику. В этой статье я расскажу о п...

DAG’и без напрягов: наш опыт использования метаданных при работе с Apache Airflow Apache Airflow – простой и удобный batch-ориентированный инструмент для построения, планирования и мониторинга дата-пайплайнов. Ключевой его особенностью является то, что, используя Python-код и встроенные функциональные блоки, можно соединить множество различных технологий,...

[Перевод] Canary деплой с Jenkins-X, Istio и Flagger Доброго времени суток, читатель! Вот мы и подошли к заключительной части цикла статей о Канареечных релизах в Kubernetes и методах их реализации. Желаю приятного чтения и надеюсь, что данный цикл был для вас полезным. Использование решения Jenkins X для выполнения Canary де...

HMI на основе Node-red и Scadavis.io В настоящее время в связи с ростом популярности концепции IoT и развитем сопутствующих технологий многие производители программного обеспечения для промышленной автоматизации используют это в своих продуктах. Доступ к SCADA-системам через web-интерефейс — идея и реализация н...

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

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

Злоумышленники эксплуатируют уязвимость корпоративных VPN Аналитики «Лаборатории Касперского» сообщили о серии атак на финансовые и телекоммуникационные компании Восточной Европы и Средней Азии. Преступники использовали уязвимость корпоративных VPN-сервисов, чтобы украсть учетные данные для доступа к финансовой информации...

Использование journalctl для просмотра и анализа логов: подробный гайд Journalctl — отличный инструмент для анализа логов, обычно один из первых с которым знакомятся начинающие администраторы linux систем. Встроенные возможности ротации, богатые возможности фильтрации и возможность просматривать логи всех systemd unit-сервисов одним инструмен...

pgSCV — экспортер метрик для PostgreSQL Всем привет. В этом посте я расскажу про pgSCV - новый экспортер метрик для PostgreSQL (и не только), чем он так хорош и какие проблемы решает. Читать далее

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

Беги, муравей. Беги В данной статье рассматривается процесс создания имитационной модели поведения муравьиной колонии (можно почитать в википедии ) в среде имитационного моделирования «AnyLogic». Данная статься носит практический характер. В ней будет рассмотрен вопрос применения муравьиного ал...

Я иду искать: геопозиционирование хоста по IP-адресу в глобальной сети Интернет на примере криптобиржи Binance В статье рассмотрены методы геопозиционирования сетевых интерфейсов по IP-адресу на примере API-сервиса криптобиржи Binance. Геопозиционирование основано на дистанционно-временных моделях пересчета времени кругового обхода (RTT) в дистанцию и определения примерного местопо...

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

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

[Перевод] Как мы оптимизировали наш DNS-сервер с помощью инструментов GO В преддверии старта нового потока по курсу «Разработчик Golang» подготовили перевод интересного материала. Наш авторитетный DNS-сервер используют десятки тысяч веб-сайтов. Мы ежедневно отвечаем на миллионы запросов. В наши дни DNS-атаки становятся все более и более распрос...

Как сделать работу с Microsoft Remote Desktop лучше Хочу поделиться несколькими советами по настройке удаленного подключения к рабочим местам по RDP. Расскажу как проапгрейдить древний RPC-HTTP до UDP, похвалю и поругаю Windows 10 и AVC, разберу решение нескольких типичных проблем. Считаем, что для подключения используется...

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

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

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

[Из песочницы] Расширенная настройка web сервера (Apache2 + Nginx) В этом руководстве мы рассмотрим процедуру установки и настройки работы двух web-серверов с целью использования преимуществ каждого из них, руководство подразумевает как отдельное настраивание, так и взаимное. В этой статье будет идти речь о настройки сервера с использование...

App Annie: россияне увеличили время использования шопинг-приложений на 35% Компания App Annie, платформа, анализирующая мобильные данные, изучила предпочтения россиян во время покупок в праздничный период с 8 февраля по 8 марта 2020 года.  По сравнению с прошлым годом россияне провели в шопинг-приложениях на 35% больше времени, что обуславлива...

IP-телефония. Виды VoIP устройств, обзор плюсов-минусов. Что выбрать? По данным исследований DISCOVERY Research Group среднегодовой темп роста IP-телефонии в России составляет 30%. Предположительно рынок IP-телефонии в России к 2021 году вырастет до 14,2 млрд. Как видите, рост довольно серьезный. С развитием услуг IP-телефонии растет и рынок V...

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

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

Создание самодокументирующегося сервера на Node.JS В этой статье описан рецепт по настройке самодокументирующегося сервера на joi, swagger и typescript. Бонусом приведен Gulp-скрипт, который на основе Joi-объектов будет генерировать нам интерфейсы. Читать далее

Трансформация цвета: поиски в прореженном столе Это обзор функциональности, появившейся в Pillow 5.4: применение трехмерных таблиц поиска (3D lookup tables, 3D LUT) для трансформации цвета. Эта техника широко распространена в обработке видео и 3D-играх, однако мало графических библиотек могли похвастаться их поддержкой до...

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

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

Массовая оптимизация запросов PostgreSQL. Кирилл Боровиков (Тензор) В докладе представлены некоторые подходы, которые позволяют следить за производительностью SQL-запросов, когда их миллионы в сутки, а контролируемых серверов PostgreSQL — сотни. Какие технические решения позволяют нам эффективно обрабатывать такой объем информации, и как эт...

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

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

История системы доменных имен: первые DNS-серверы В прошлый раз мы начали рассказывать историю DNS — вспомнили, с чего стартовал проект, и какие проблемы был призван решить в сети ARPANET. Сегодня поговорим о первом DNS-сервере BIND. Читать дальше →

[Из песочницы] Проблемы использования Doctrine ODM в процессах-демонах Хочу рассказать о своем опыте использования Doctrine ODM в относительно небольшом PHP проекте, в котором основная кодовая база сосредоточена в процессах-демонах. И вообще как мы к Yii2 прикрутили Doctrine ODM. Сразу предупреждаю — рассказ будет очень нудным и скорее всего ин...

SSD-накопитель Intel 660p емкостью 2 ТБ: размер имеет значение не только сам по себе Твердотельные накопители на базе QLC-памяти массово поставляются уже более года, однако многие покупатели до сих пор относятся к ним насторожено. Современная QLC всегда хуже (в житейском понимании) современной же TLC — но и дешевле. Поэтому ее используют в самых дешевых SSD ...

Entity Framework Core Привет, друзья. В этот чудесный майский день мы продолжаем трудиться и сегодня хотим рассказать о том, что в мае OTUS запускает полюбившийся всем курс «Разработчик С#», а также отдельный курс по С# ASP. NET Core. Традиционно, в преддверии старта курсов начинаем публиковать п...

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

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

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

Эта маленькая правка не может убить сервер Вначале был сервер. И на этом сервере жил сайт, допустим, example.com. Шло время, сайт рос, одного сервера ему стало мало, да ещё и ребрендинга захотелось. И оставил сисадмин его бакендом, и создал для него фронтенд, допустим, example2.com. Так и появилась типичная схема н...

Понижаем барьеры на вход в распознавание речи Автоматическое распознавание речи (STT или ASR) прошло долгий путь совершенствования и имеет довольно обширную историю. Расхожим мнением является то, что лишь огромные корпорации способны на создание более-менее работающих "общих" решений, которые будут показывать...

[Из песочницы] Home видео для Selenium aka WebDriver. Или чем записать экран, если у вас есть java, поломанные тесты и немного времени Решили мы на работе автоматизировать тесты для нескольких своих веб приложений. И кроме информации, когда упали тесты, захотелось еще и увидеть, как выглядела страница на этот печальный момент. Я уже давно не брал в руки шашки и Selenium, поэтому пришлось немного покопатьс...

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

[Перевод] Thanos — масштабируемый Prometheus Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты». Фабиан Рейнарц (Fabian Reinartz) — разработчик программного обеспечения, фанат Go и любитель решать сложные задачи. Также он мэйнтейнер Prometheus и соучредитель Kubernetes SIG instr...

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

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

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

5 причин использовать SSD-накопитель Ultrastar DC SN640 в дата-центре Устройство изготавливается с использованием передового техпроцесса. Оно комплектуется 96-слойной флэш-памятью 3D TLC. Продукт разработан специально для использования в центрах обработки данных. Он обеспечивает высокую производительность и гибкость в отношении срока службы. ...

VPS на Linux с графическим интерфейсом: запускаем сервер X2Go на Ubuntu 18.04 Настройку VNC и RDP на виртуальном сервере мы уже освоили, осталось изучить еще один вариант подключения к виртуальному рабочему столу Linux. Возможности созданного компанией NoMachine протокола NX достаточно интересны, к тому же он хорошо работает через медленные каналы. Ф...

Пользователи Windows 10 столкнулись со сбоями в работе панели Xbox Game Bar Панель Xbox Game Bar в Windows 10 является удобным инструментом, который имеет немало полезных функций, в том числе средства мониторинга ресурсов системы. Однако недавнее обновление на стороне сервера привело к тому, что у некоторых пользователей панель перестала работать, а...

Ежедневно Skype используют 40 миллионов человек В рамках презентации, посвящённой анонсу потребительской версии Microsoft 365, Teams и новых функций Edge, компания Microsoft также поделилась новыми статистическими данными об использовании сервиса Skype. Из-за продолжающейся пандемии коронавируса многие люди вынуждены раб...

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

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

SQL HowTo: решаем головоломку «Небоскрёбы» почти без перебора Многие знают правила этой головоломки (Skyscrapers):"Перед вами вид сверху на городской квартал. В каждой клетке стоит "небоскреб" высотой, равной числу в этой клетке. Числа с боков сетки означают количество "небоскребов", видимых из соответствующей строки или столбца, если ...

Sentry удаленный мониторинг багов в фронтенд приложениях React Мы изучаем использование Sentry с React. Эта статья является частью серии, начинающейся с сообщения об ошибках Sentry на примере: Часть 1. Читать дальше →

Redux Toolkit больше не нужен? Проблема огромного количества boilerplate-кода при использовании Redux известна всем, каждый ее решает как может. И мы на разных проектах использовали разные костыли и велосипеды, не теряя при этом надежду найти что-то стандартизированное и удобное. Чуть больше года назад мы...

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

Мини тест Intel Pentium G4500 в связке с GeForce GTX 1650 Super В данной статье я решил протестировать старенький системный блок на базе процессора Pentium G4500 и новой видеокарты начального уровня GeForce GTX 1650 Super.

Какими будут новые процессоры AMD? Архитектура Zen 3 принесёт прирост IPC на 10-15%, а Zen 4 — переход на новый сокет Летом прошлого года на рынок вышли настольные процессоры AMD Ryzen 3000, которые оказались крайне успешными. Переход на семинанометровый техпроцесс, новая архитектура и большое количество ядер поставили эти CPU вне конкуренции во многих режимах. И хотя Intel до сих пор ...

Смартфоны Xiaomi стали быстрее разряжаться из-за MIUI 12 У смартфонов POCO F1, Redmi Note 8 Pro и Xiaomi Mi 9 проблемы с разрядкой батареи, связанные с установкой обновления MIUI 12. Пользователи устройств Xiaomi продолжают сообщать об этом. Сначала проблема упоминалась в социальных сетях только в связи с такими устройствами, как ...

DDoS-атака через социальную инженерию TL;DR Атакующий подменяет source ip на адрес вашего сервера и триггерит автоматические абузы. В результате клиента на хостинге за вредоносную активность, которой не было. Комментарий от vdsina.ru: Эта статья написана нашим клиентом, который перешёл к нам от крупного хосте...

SSO на микросервисной архитектуре. Используем Keycloak. Часть №1 В любой крупной компании, и X5 Retail Group не исключение, по мере развития возрастает количество проектов, где требуется авторизация пользователей. С течением времени требуется бесшовный переход пользователей из одного приложения в другой и тогда возникает необходимость исп...

[Из песочницы] Как подружить Electron и Webix Введение Доброе время суток! Хотелось поделиться с Вами личным опытом создания десктопного приложения на JavaScript с использованием связки Electron и Webix. Такая связка позволяет ускорить процесс верстки интерфейса, особо не тратя время на разметку и прочие web штуки, кото...

AIOps в управлении ИТ-инфраструктурой Традиционные методы ИТ-администрирования и управления ИТ-инфраструктурой активно пересматриваются и постепенно реформируются. Использование искусственного интеллекта (ИИ) в управлениии ИТ-инфраструктурой рисует интереснейшие перспективы. Термин AIOps (Artificial Intelligence...

Увеличение чувствительности A/Б-тестов с помощью Cuped. Доклад в Яндексе CUPED (Controlled-experiment Using Pre-Experiment Data) — сравнительно новая техника A/Б-экспериментов. Она позволяет увеличить чувствительность метрик за счёт использования данных, полученных ранее. Чем больше чувствительность, тем более слабые изменения можно замечать и уч...

Прозрачная аутентификация в ASP.Net Core на Linux Аутентификация в ASP.Net (Core) — тема довольно избитая, казалось бы, о чем тут еще можно писать. Но по какой-то причине за бортом остается небольшой кусочек — сквозная доменная аутентификация (ntlm, kerberos). Да, когда мы свое приложение хостим на IIS, все понятно — он за...

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

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

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

[Из песочницы] Стилизация Select-Option (почти) без JavaScript Стилизация некоторых стандартных элементов — довольно нетривиальная задача. Разумеется, хороший специалист может стилизовать что угодно, однако всё упирается в сложность этого действия. Для стилизации радиокнопок и чекбоксов потребуется совсем немного времени — идея стилиз...

Планы команды IntelliJ Platform на 2020 год Сегодня мы хотели бы рассказать о некоторых из текущих проектов команды IntelliJ Platform, которые затронут IntelliJ IDEA и другие IDE на базе нашей платформы. Результаты этих проектов будут выпускаться в течение следующего года; некоторые из них попадут уже в релиз 2020.1, ...

Я больше никогда не откажусь от MacBook в пользу других ноутбуков Около 4 лет использования MacBook Pro 2009 года сделали все, чтобы я больше никогда не мог пользоваться ноутбуками на Windows и Linux. Все началось с того, как в один прекрасный день на Avito в 2016 году я купил старенький MacBook 2009 года за 16 тысяч рублей. Бедный студен...

Chromebook: заметки реального пользователя Два года назад моим вторым портативным компьютером стал Chromebook. В этой статье я расскажу о личном опыте использования устройства на базе ChromeOS. Мне приходилось знакомиться с операционными системами, как вполне привычными (Windows, Linux, MacOS), так и с экзотикой (O...

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

[Перевод] Какую нагрузку на серверы создают сетевые механизмы? Когда анализируют работу сетевой подсистемы серверов, внимание обычно обращают на такие показатели, как время задержки (latency), пропускная способность системы (throughput), количество пакетов, которое можно обработать за секунду (PPS, Packets Per Second). Эти показатели пр...

Unity + git = дружба: часть 1 джентльменский набор Система контроля версий git уже давно стала стандартом де-факто в мире разработки, но для большинства разработчиков на Unity не секрет, что существует ряд трудностей связанных с особенностями Unity, которые мешают эффективно использовать ее совместно с git. Вот список типи...

Почему мой NVMe медленнее SSD? В данной статье мы рассмотрим некоторые нюансы подсистемы ввода-вывода и их влияние на производительность. Пару недель назад я столкнулся с вопросом, почему NVMe на одном сервере медленнее, чем SATA на другом. Посмотрел в характеристики серверов и понял, что это был вопрос...

Navigation Component-дзюцу, vol. 1 — BottomNavigationView Два года назад на Google I/O Android-разработчикам представили новое решение для навигации в приложениях — библиотеку Jetpack Navigation Component. Про маленькие приложения уже было сказано достаточно, а вот о том, с какими проблемами можно столкнуться при переводе большого...

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

[Перевод] «Ваша устаревшая база данных перерастает сама себя». Опыт chess.com Прим. перев.: в этой статье сербский «инженер по масштабируемости» нагруженного онлайн-проекта в подробностях рассказывает о своем опыте оптимизации большой БД на базе MySQL. Проведена она была для того, чтобы выдержать резкий рост трафика на сайт, случившийся из-за пандемии...

Автоматизируем ведение большого количества пользователей в AD Автоматизируем ведение большого количества пользователей в AD: Добрый день! В этой статье я бы хотел описать применённое мной практическое решение по автоматизации одной рутинной задачи второй линии технической поддержки одного крупного предприятия. Имеем два территориаль...

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

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

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

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

[Из песочницы] Docker-образ для раздачи Single Page Application Single-page Application (SPA) – это набор статических JavaScript и HTML файлов, а так же картинок и других ресурсов. Поскольку они не изменяются динамически, опубликовать их в интернете очень просто. Для этого существует большое количество дешёвых и даже бесплатных сервисов,...

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

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

Sony не успевает делать камеры для iPhone 11 Pro Произошла довольно интересная ситуация, которая показала, что рост количества камер в смартфонах может погубить рынок смартфонов. Дело в том, что компания Sony выпускает датчики изображения практически для всех современных флагманов, однако увеличение количества их камер тре...

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

Почему игровые мониторы имеют частоту обновления 144 Гц? Почему в мониторах используется частота 144 герц? В последнее время всё чаще можно встретить на прилавках магазинов мониторы с частотой обновления картинки 144 герц. Что же такое «частота обновления»? Это то, сколько раз дисплей обновляет картинку за одну секунду. ...

[Перевод] Дешёвый подлый трюк, подаривший цветную графику первым домашним компьютерам Пионер видеоигр Алан Элкорн рассказывает о том, как показал Стиву Возняку хак, позволивший компьютеру Apple II работать с цветами, и откуда взялся знаменитый звук «блип» в игре Pong Домашняя консоль Atari Pong, поступившая в продажу в магазины The Sears под брендом Tele-Gam...

Мониторинг в ЦОДе: как мы меняли старую BMS на новую. Часть 2 В первой части мы рассказали о том, почему решили поменять старую BMS-систему в наших ЦОДах на новую.  И не просто поменять, а разработать с нуля под свои требования. Во второй части рассказываем, как мы это делали. Читать дальше →

[Перевод] Unison: настройка и автоматизация двусторонней синхронизации каталогов на двух серверах Getty Images/iStockphoto Проблему синхронизации каталогов на двух серверах с операционными системами семейства Linux на борту можно решить проще, если использовать специализированные инструменты. Давайте посмотрим, как это можно сделать с помощью Unison. Читать дальше &rar...

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

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

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

Опыт работы с карт-принтерами, часть 1 Данная статья будет полезна тем, кто начинает работу с карт-принтерами(Evolis Primacy и Smart-51) и кодировкой NFC карт типа Mifare Classic и Mifare DESFire EV2. В первой части мы опишем общее впечатление от работы с карт-принтерами, а также проблемы с которыми нам пришлось ...

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

Микрофронтенды: разделяй и властвуй Всем привет! Меня зовут Аня, я фронтенд-разработчик в Delivery Club. Хочу рассказать про использование микрофронтендов. Поговорим о том, что же это за зверь такой — микрофронтенд, почему мы решили использовать этот подход в своих проектах и с какими проблемами столкнулись ...

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

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

Softline создала RPA-решение для обработки заявок в CRM-системе Компания Softline создала RPA-решение, позволяющее автоматизировать процесс первичной обработки заявок в CRM-системе. Робот анализирует запросы на приобретение программного обеспечения, определяет продукт и его количество, выявляет специальные условия, составляет спец...

WebRTC на Android: как включить аппаратное кодирование на множестве устройств Для видеозвонков в Badoo мы используем стандарт WebRTC и кодек H.264. Если верить документации, этот кодек должен без проблем работать на любых устройствах Android начиная с Android 5.0. Но на практике всё оказалось не совсем так. В этой статье я расскажу про особенности реа...

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

Apple и Google будут отслеживать заболевших коронавирусом с помощью bluetooth. Это угрожает моей приватности? Технологические корпорации Apple и Google разработают API-решение для отслеживания контактов заболевших коронавирусом и информирования потенциальных переносчиков о необходимости самоизоляции. Оно будет использоваться в связке с приложениями от неназываемых служб здравоохране...

Архитектура AMD Zen 3 обеспечит 17% прирост показателя IPC Компания AMD вовсю работает над новыми процессорами Ryzen 4000 и EPYC Milan, которые будут представлены в течение 2020 года. Новинки будут построены на совершенно новой процессорной архитектуре Zen 3, способной обеспечить значительный прирост показателя IPC (операций за так...

[Из песочницы] Как я взломал мошенников, или просто внутренности фишинг-панелей INTRO Недавно столкнулся с обычной для интернета ситуацией — классической просьбой от родственника отдать свой голос за него в каком-то голосовании. Оказалось, человека "взломали" мошенники, а ссылки на голосование вели на фишинговые ресурсы. Я увлекаюсь безопаснос...

[Из песочницы] Взаимодействие с NIDD через SCEF с использованием утилиты Postman. Краткий экскурс в SCEF и его возможности Данная статья позволит тем, кто еще только начинает свою разработку или уже применяет технологию NB-IoT, составить представление о том, как можно удаленно взаимодействовать с NB-IoT устройством. Краткий обзор NB-IoT легко наступает на пятки 2G и зарекомендовал себя как эн...

Эта машина не для нас? Стоит ли покупать в России гибридный Mitsubishi Outlander Автомобиль имеет «козырь», но наделен уязвимостью, о которой придется считаться. Машины с комбинированной силовой установкой – нечастое явление для РФ, однако на дорогах страны можно встретить гибридный, подзаряжаемый от розетки Mitsubishi Outlander 2016 года. Стоит ли в Ро...

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

Snapdragon 7c и Snapdragon 8c – новые платформы Qualcomm для ноутбуков Вслед за однокристальными платформами Snapdragon 865 и 765/765G для смартфонов компания Qualcomm анонсировала и новые SoC для портативных компьютеров – Snapdragon 7c и Snapdragon 8c. Это решения, предназначенные для пользовательских устройств, но есть еще и Snapdr...

[Перевод] Обнаружена новая вспышка H2Miner червей, которые эксплуатируют Redis RCE День назад один из серверов моего проекта был атакован подобным червем. В поисках ответа на вопрос «что же это было такое?» я нашел замечательную статью команды Alibaba Cloud Security. Поскольку я не нашел этот статьи на хабре, то решил перевести ее специально для вас <3 ...

«Нюансы» использования TeamCity Всем привет. Статья написана в простом стиле "DevOps для домохозяек" от таких же домохозяек. В ней будет описано с какими неожиданностями можно столкнуться при настройке проекта в TeamCity. Также приведу рекомендации как эти проблемы можно обойти. Нижеописанное ос...

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

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

Stm32 + USB на шаблонах C++. Продолжение. Делаем CDC Продолжаю разработку полностью шаблонной библиотеки под микроконтроллеры Stm32, в прошлой статье рассказал об успешной (почти) реализации HID устройства. Еще одним популярным классом USB является виртуальный COM-порт (VCP) из класса CDC. Популярность объясняется тем, что обм...

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

[Перевод] О 30-кратном увеличении параллелизма в Node.js Каков наилучший способ беспроблемного увеличения параллелизма в Node.js-сервисе, который используется в продакшне? Это — вопрос, на который моей команде понадобилось ответить пару месяцев назад. У нас запущено 4000 контейнеров Node (или «воркеров»), обеспечивающих работу на...

Служба по доставке дронами Alphabet Wing пользуется успехом в Вирджинии на фоне карантина Экспериментальный сервис по доставке дронами от компании Wing быстро наращивает обороты. Компания сообщила, что объёмы поставок увеличились более чем в два раза с момента начала обслуживания 18 октября. Wing не раскрыла общее количество поставок, но рост является положительн...

[Из песочницы] Как построить ЦОД Tier IV по схеме N + 1 Системы ИБП с изолированно-параллельной шиной (IP-Bus) – ответ разработчиков на рост мощностей дата-центров. В мире уже построено много ЦОДов с IP-Bus, в том числе с сертификатом Tier IV Uptime Institute. К таким решениям присматриваются и российские заказчики. В практике ...

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

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

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

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

Распаковка Huawei TaiShan 2280v2 Серверы с процессорами на архитектуре arm64 старательно входят в нашу жизнь. В этой статье мы покажем распаковку, установку и небольшой тест нового сервера TaiShan 2280v2. Читать дальше →

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

Сравнение процессоров Байкал-М и Эльбрус-8СВ Сравнение процессоров Байкал-М и Эльбрус-8СВ Недавно у меня по работе появился компьютер на базе процессора Байкал-М (BE-M1000), а также у меня есть удалённый доступ к компьютерам на процессорах Эльбрус, поэтому я решил сравнить их производительность в различных тестах. Чит...

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

Безопасность REST API от А до ПИ Введение Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответстви...

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

Первый флагман с Android 12 демонстрирует уникальный дизайн. Опубликованы рендеры Google Pixel 6 и Pixel 6 Pro Известный инсайдер Джон Проссер (Jon Prosser) опубликовал рендеры перспективных флагманов Google Pixel 6 и Pixel 6 Pro. Эти модели выйдут еще не скоро – в сентябре или октябре, но другой известный информатор, Макс Вайнбах (Max Weinbach), уже подтвердил точное...

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

Настройка Minio чтобы юзер мог работать только со своим bucket Minio это простое, быстрое и совместимое с AWS S3 хранилище объектов. Minio создан для размещения неструктурированных данных, таких как фотографии, видеозаписи, файлы журналов, резервные копии. В minio также поддерживается распределенный режим (distributed mode), который пре...

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT Собираем простейшую ZigBee-сеть, программируем под MBed, общаемся через MQTT Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. Стек XBee реализует ZigBee-стандарт и подходит для задач...

[Перевод] Настраиваем простой VPN с WireGuard и Raspberry Pi в качестве сервера Поскольку WireGuard станет частью будущего ядра Linux 5.6, я решил посмотреть, как лучше всего интегрировать этот VPN с моим LTE-маршрутизатором/точкой доступа на Raspberry Pi. Оборудование Raspberry Pi 3 с модулем LTE и публичным IP-адресом. Здесь будет VPN-сервер (далее ...

Австралийские ученые создают 3D-печатные стенты из никелида титана Специалисты инновационного центра аддитивных технологий Lab22, входящего в состав Государственного объединения научных и прикладных исследований Австралии (SCIRO) разработали методику 3D-печати саморасширяющихся хирургических стентов из нитинола (никелида титана) — интермета...

Видео с облачным детектором объектов на Raspberry Pi Пролог По сети сейчас гуляет видео — как автопилот Теслы видит дорогу. У меня давно чесались руки транслировать видео, обогащенное детектором, да и в реальном времени. Проблема в том, что транслировать видео я хочу с Raspberry, а производительность нейросетевого детектора...

Мониторинг как процесс управления событиями Привет, Хабр! Сегодня мы хотим поделиться с вами статьей по выступлению руководителя технической поддержки ИТ-ГРАД Алика Фахрутдинова, в которой расскажем о том, как мы строили новую систему мониторинга в рамках коллаборации с ПАО «МТС». На сей раз опустим технические детали...

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

Прямой VPN между компьютерами за NAT провайдеров без VPS Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-т...

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

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

Больше функций для своей системы: интеграция телефонии и CRM/ERP/Helpdesk. Что, как и почему? Любая компания стремится к росту — менеджеры к новым клиентам и большим доходам, а разработчики систем автоматизации — к увеличению важных и полезных функций сервисов. И их цели связаны между собой. Как минимум тем, что большинство подобных разработок помогают зарабатывать...

GitHub: шаблон Zabbix для мониторинга задач сбора данных в MaxPatrol SIEM Сегодня SIEM – это главный помощник при анализе событий ИБ: трудно представить, сколько бы потребовалось времени, чтобы вручную просматривать логи с множества источников. При этом прекращение сбора данных с источника – достаточно распространенная проблема SIEM. И далеко не...

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

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

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

StealthWatch: интеграция с Cisco ISE. Часть 4 В более ранних статьях было рассмотрено несколько обширных тем касательно решения по мониторингу Cisco StealthWatch. Напомню, что StealthWatch — решение по мониторингу трафика в сети на предмет инцидентов безопасности и легитимности сетевого взаимодействия. В основе работы...

Неотъемлемые помощники в деле разведки наиболее эффективной в мире спецслужбы (часть 2) Часть 1 Даже имея доступ к конфиденциальным и секретным документам польза будет равна почти нулю, если у шпиона не будет возможности сделать их копии. Можно положиться на память и запомнить материал, потом записать с помощью блокнота и ручки, зарисовать. Довольно-таки неэффе...

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

Переходя на удаленку, компании открывают хакерам доступ к своим серверам RDP - протокол, разработанный Microsoft для удаленного управления ОС Windows - на сегодня самый популярный способ подключения к рабочему окружению. Однако по умолчанию RDP использует порт 3389 и, если ИТ-служба компании не уделяет должного внимания безопасности удаленного до...

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

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

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

Тестирование в 7 играх на интегрированных GPU процессоров AMD Ryzen 3 Pro 4350G, Ryzen 5 Pro 4650G и Ryzen 7 Pro 4750G: небольшой, но шаг вперед, расширяющий ассортимент игр для «правильного» компьютера без дискретной видеокарты Интегрированная графика — не для самых тяжелых игровых проектов своего времени. Так было, есть и будет всегда, пока на рынке останутся представлены дискретные видеокарты. А исчезать им не с чего, поскольку «впихнуть» их в центральные процессоры не получится: они давно уже и ...

Клиентоориентированный Data Lake в игровой компании Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расс...

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

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

Перенос всех баз данных MS SQL Server на другую машину Недавно возникла необходимость переноса всех БД (>50 на одном экземпляре SQL Server) из dev-окружения на другой экземпляр SQL Server, который располагался на другом железе. Хотелось минимизировать ручной труд и сделать всё как можно быстрее. Disclaimer Скрипты написаны д...

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

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

Прогноз развития рынков RPA, AI и автоматизации на 2020 год 7 предположений о том, что ждёт рынки RPA, искусственного интеллекта (AI) и индустрию автоматизации в целом в 2020 году от Гая Кирквуда, главного визионера UiPath. В 2018 он сделал 6 аналогичных прогнозов и 5 из них стали реальностью (про шестой в целом можно сказать то ...

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

Известны системные требования и время старта серверов Genshin Impact Издатель miHoYo недавно поделился системными требованиями и временем старта серверов для своей предстоящей ролевой игры под названием Genshin Impact. Что касается поддерживаемых устройств, то планка там достаточно высокая. Из этого можно сделать вывод, что разработчики вряд ...

Создание инкрементального сервера для iOS Team Бесплатная книга После пяти лет наступаний на одни и те же грабли, и полугода поисков DevOps-а, который знает что-такое Provision Profile и как от него зависит развертывание приложения, было принято решение составить пошаговую инструкцию, в картинках, о том, настраивать р...

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

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

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

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

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

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

[Перевод] Интерактивная визуализация данных при помощи Plotly: строим красивые графики с Express и Cufflinks Если Вы все еще используете Matplotlib для создания графиков в Python, самое время взглянуть на мир с высоты альтернативной библиотеки интерактивной визуализации. Plotly позволяет создавать красивые, интерактивные, экспортируемые графики с помощью всего нескольких строк к...

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

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

Snapdragon XR2 — первая платформа расширенной реальности с поддержкой 5G На технологическом саммите Snapdragon в Гавайях компания Qualcomm представила Snapdragon XR2 — первую платформу расширенной реальности с поддержкой сетей 5G. Новинка построена на базе флагманского Snapdragon 865 и обеспечивает двукратное увеличение производительности по сра...

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

iPad Pro получил мощный процессор Буквально вчера компания Apple официально представила свой новый планшет iPad Pro, который обзавелся довольно интересной камерой на тыльной панели. Она очень стильно смотрится, при этом снимает шикарные кадры и в целом является лучшим решением на рынке. Однако вместе с этим ...

Слух: Google Pixel 4a выйдет только в стандартном ... Для любителей больших смартфонов в этом году Google приготовил не самый приятный сюрприз. Судя по всему, компания оставит столько компактный вариант преемника прошлогоднего Pixel 3a. Об этом рассказал на своем канале техно-блогер Дэйв Ли (Dave Lee).     Ли не явля...

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

[Перевод] Prometheus: мониторинг HTTP через Blackbox экспортер Всем привет. В мае OTUS запускает практикум по мониторингу и логированию, как инфраструктуры так и приложений с помощью Zabbix, Prometheus, Grafana и ELK. В связи с этим традиционно делимся полезным материалом по теме. Blackbox экспортер для Prometheus позволяет реализоват...

Битва WEB-серверов. Часть 1 – оторванный от реальности HTTP: В этой статье мы попробуем себя в реверс-инжиниринге, можно сказать. Мы заглянем своими грязными руками под капот каждого из веб-серверов, эксплуатируя их так, как никто бы никогда не эксплуатировал. Этот тест – замер сферического коня в вакууме, не более чем данные, которы...

Краткая история Chaosnet Мы решили совершить еще один вояж в прошлое сетевых технологий. На сей раз мы поговорим о Chaosnet, специфическом сетевом протоколе, который использовался в 1970-х годах в Lisp-машинах. Исходным материалом для статьи послужила заметка на TwoBitHistory, которую мы расширили и...

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

Почему следует избегать использования JPA/Hibernate в продакшене JPA безусловно самая распространённая технология работы с базами данных на платформе Java. Но она же и наименее пригодна для разработки быстрых и поддерживаемых систем. В этой статье я расскажу почему JPA лучше не использовать в продакшене и что можно использовать вместо неё...

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

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

[Из песочницы] Как поменять сертификаты для связки VMware Vcenter Server, Replication Server и Site Recovery Manager Всем привет! Все кто используют продукты vmware, знают или не знаю, что проблема с сертификатами может принести много боли и страдания. Поэтому чтобы нам не наступить на эти грабли я покажу как сделать и поменять сертификаты для таких продуктов как: VMware Vcenter Server ...

Создаем и запускаем в облаке мощный и главное бесплатный сервер Minecraft Пару месяцев назад, когда Oracle представила в своем публичном облаке двухсокетные серверы с 80-ядерными ARM-процессорами, в англоязычном блоге Тодда Шарпа появилась статья о том, как запустить сервер Minecraft в облаке. Теперь, когда Oracle добавил эти процессоры в Always F...

[Перевод] Введение в gRPC на Rust В статье будет показано как создать gRPC сервер и клиент на Rust. Для большей наглядности клиент будет также Telegram ботом. В итоге будет получена следующая архитектура: Статья является не всеобъемлющим руководством по gRPC в Rust, а скорее практическим гайдом, демонстриру...

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

Владимир Ефимов рассказал об увеличении объемов финансирования из бюджета Москвы на объекты капитального строительства в 2020 году Адресная инвестиционная программа Москвы в 2020 году будет увеличена на 20% – до 663,9 млрд рублей. Об этом рассказал заместитель мэра Москвы по вопросам экономической политики и имущественно-земельных отношений Владимир Ефимов. Вице-мэр отметил, что для важных городских ст...

Механики ловушек и интерактивных объектов в Godot Engine. Часть 2 Приветствую вас во второй части механик ловушек и интерактивных объектов в Godot Engine. Я решил пока-что выпустить эту часть, чтобы выпустить эту часть, чтобы показать механики, которые отвечают за направление уровня в играх. Я имею в виду двери, ключи и движущиеся платфор...

Как просканировать весь интернет Весь диапазон IPv4 адресов — это 4-миллиарда IP-адресов. Это кажется огромной цифрой, но весь IPv4 интернет можно полностью просканировать на предмет одного TCP-порта за 40 минут, например найти все веб-серверы в мире или все открытые SSH-порты. При этом достаточно одного ...

[Из песочницы] STM32 + CMSIS + STM32CubeIDE Здесь я расскажу как создать минимальный проект на CMSIS с использованием «родной» IDE для микроконтроллеров STM – STM32CubeIDE. Возможно STM32CubeIDE и обладает рядом недостатков, но у нее, на мой взгляд, есть несколько преимуществ – таких как проприетарность и бесплатнос...

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

Пользователи покупают всё больше подержанных смартфонов и не собираются останавливаться Аналитическая копания IDC подвела итоги вторичного рынка смартфонов за 2019 год и сделала прогноз по его развитию до 2023 года.  Международный рынок подержанных смартфонов вырос в 2019 году на 17,6% по сравнению с 2018 годом, достигнув уровня 206,7 млн штук. По мн...

Наш опыт с графовой базой данных Dgraph в Kubernetes Недавно перед нами встала задача развернуть Dgraph в кластере Kubernetes. В этой статье я поделюсь полученным опытом: с чем мы столкнулись во время деплоя и последующего использования этого приложения в различных окружениях, от dev до production. Что вообще такое Dgraph? ...

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

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

OpenID Connect: авторизация внутренних приложений от самописных к стандарту Несколько месяцев назад я занимался реализацией OpenID Connect сервера для управления доступом сотен наших внутренних приложений. От собственных наработок, удобных на меньших масштабах, мы перешли к общепринятому стандарту. Доступ через центральный сервис значительно упрощае...

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

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

[Из песочницы] Разбор настройки ELK 7.5 для анализа логов Mikrotik Давно была мысль посмотреть, что можно делать с ELK и подручными источниками логов и статистики. На страницах хабра планирую показать практический пример, как с помощью домашнего мини-сервера можно сделать, например, honeypot с системой анализа логов на основе ELK стека. В э...

Как с помощью хакатона столкнуть математиков и ML–щиков, и кто тогда победит Введение Эта статья о том, как мы совместно с роснефтёвой «дочкой» «Самаранефтехимпроект» и Казанским Федеральным Университетом в сентябре 2020 года провели «Хакатон трёх городов», на котором предложили студентам решить классическую задачу сейсмической корреляции отражающих ...

Фотоотчет: иммерсионное охлаждение серверов на выставке Supercomputing 2019 Одной из общих черт целого ряда недавних ежегодных сверхпопулярных IT-выставок вроде Supercomputing, Computex и Mobile World Congress стало стремление некоторых вендоров продемонстрировать свои наработки в области иммерсионного охлаждения электроники. Речь об охлаждении путе...

[Перевод] Переход с reCAPTCHA на hCaptcha в Cloudflare Компания Cloudflare сообщила о том, что она недавно перешла с использования сервиса reCAPTCHA, предоставляемого Google, на сервис hCaptcha, который поддерживает компания Intuition Machines. В Cloudflare очень рады тому, что им удалось совершить этот переход, так как он спо...

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

В первом квартале количество радиоэлектронных средств операторов «большой четверки» выросло на 4% Больше всего РЭС остается у ПАО "МегаФон" (328 342) и у ПАО "МТС" (322 450). У ПАО "ВымпелКом" ‒ 253 554 РЭС, а у ООО "Т2 Мобайл" ‒ 246 471 РЭС. При этом наибольшие темпы роста в первом квартале демонстрировал оператор связ...

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

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

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

Inspur называет серверы NF5468M6 и NF5468A5 «серверами искусственного интеллекта» Компания Inspur, называющая себя «ведущим поставщиком центров обработки данных и решений для полного стека ИИ», в ходе мероприятия ISC High Performance 2020 представила серверы NF5468M6 и NF5468A5, поддерживающие ускорители Nvidia A100. Inspur называет NF546...

[Из песочницы] Web2Text: глубокое структурированное извлечение содержимого web-страницы Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof. Веб-страницы являются ценным источником информации для многих задач обработки естествен...

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

Сборка приложения среды arduino средствами CI github Немного имея по работе дело с CI/CD (gitlab ce), не так давно на github наткнулся на actions, и решил попробовать, что же это за зверь такой. Собирать JS или какие то другие решения не очень интересно было, поэтому решил протестировать сборку Arduino скетча для esp8266, ...

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

[Перевод] 10 интересных репозиториев на GitHub, полезных любому разработчику Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО. Фото с ресурса Unsplash. Автор: Vishnu R Nair GitHub — это лучшая платформа для обме...

Настройка балансировки нагрузки на InfoWatch Traffic Monitor Что делать, если мощности одного сервера не хватает для обработки всех запросов, а производителем ПО не предусмотрена балансировка нагрузки? Есть много вариантов – от покупки балансировщика нагрузки до ограничения числа запросов. Какой из них правильный, нужно смотреть по ...

Давайте сделаем переиспользуемый компонент tree view в Angular Я разрабатываю несколько Angular-библиотек, поэтому люблю делать простые и легко переиспользуемые решения для разработчиков. Недавно один из подписчиков в Твиттере спросил меня, как сделать компонент, который выводил бы его данные в виде иерархического дерева — tree view.&nb...

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

С помощью сервиса Домосед каждый сможет открыть свой бизнес В этом году каждый четвертый интернет-пользователь в РФ заказывал доставку продуктов на дом, при этом половина из них приступила к использованию такой услуги по причине пандемии коронавируса. Сервис сборки и доставки продуктов и товаров на дом «Домосед» провел собственное и...

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

[Перевод] Zork и Z-Machine: как разработчики перенесли игру с мейнфреймов на 8-битные домашние компьютеры Компьютерные игры существуют почти столько же, сколько и сами компьютеры. Хотя в это трудно поверить, текстовая адвенчура Zork была Fortnite-ом своего времени. Но Zork был ещё и чем-то большим. Ради портируемости и экономии пространства сам Zork был написан на Zork Implemen...

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

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

Fiddler = удобный сниффер + прокси сервер Привет. В данной статье расскажу как и зачем можно изменять HTTP пакеты при отправке на сервер и при получении ответов от сервера.В статье много практических примеров. Читать далее

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

Коронавирус пройдёт, а спрос останется Компания J’son & Partners Consulting представила результаты исследования российского рынка платного телевидения по итогам 2019 г. и прогнозы его развития до 2024 г. Согласно отчету на конец 2019 г. услугами платного ТВ в России пользовалось 44,2 млн. абонентов, что на 2...

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

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

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

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

Java-дайджест за 21 апреля Выпущен монитор системных ресурсов, работающий на Raspberry Pi и 7-дюймовом экране. Зонд жрет всего 30 мегабайт оперативки без использования GraalVM (но как?). И зонд, и дисплей-сервер для Raspberry Pi используют JavaFX. В качестве платформы для мониторинга пока доступна т...

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

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

Компания Innodisk представила передовые решения для хранения данных Будущее вычислений «живет» на периферии. На пороге эпохи 5G и по мере стремительного роста числа сетевых устройств все больше данных генерируется и обрабатывается на границах сети. Чтобы помочь бизнесу справляться со столь массивными объемами информации и извлекать...

Блокируем заливку приватных ключей, архивов, больших файлов и не только в Gitlab CE Git hooks – инструмент, помогающий держать в порядке ваш репозиторий. Можно настроить автоматические правила оформления ваших коммитов. Все вы наверное знаете про pre-commit — проверку вашего кода перед коммитом. Но ведь не все можно проверить перед коммитом. Некоторые огра...

Что влияет на выдачу кредита. Обзор соревнования Home Credit Default Risk Рассмотрим, как работают алгоритмы в банковском скоринге, какие метрики используются и какие параметры заемщика влияют на то, выдадут кредит или нет. В статье описывается прошедший конкурс с kaggle по предсказанию вероятности дефолта и приводятся влияющие на риск дефолта пар...

Project xCloud станет доступен на Windows 10 on ARM в следующем году Одной из проблем устройств на базе Windows 10 on ARM является практически полное отсутствие игр. Существует всего несколько нативных игр для архитектуры ARM64. Конечно, некоторые игры можно запустить благодаря эмуляции, но в таком варианте работают они весьма скверно, тогда...

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

Как работает Object Tracking на YOLO и DeepSort Object Tracking — очень интересное направление, которое изучается и эволюционирует не первый десяток лет. Сейчас многие разработки в этой области построены на глубоком обучении, которое имеет преимущество над стандартными алгоритмами, так как нейронные сети могут аппроксимир...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

[Из песочницы] Мое решение — лучшее Привет, Хабр! Предлагаю Вашему вниманию перевод статьи «My solution is the best!» автора John Hotterbeekx. Недавно я смотрел выступление одного докладчика об архитектуре. Беседа вышла увлекательной, концепция и идея определенно имели смысл, но выступающий не понравился. Чт...

23 приложения для преобразования файлов на iOS оказались небезопасны Компания Wandera, специализирующаяся на кибербезопасности, сообщила в своем отчете, что как минимум 23 приложения для конвертации файлов iOS (перевода в другие форматы), которыми пользуются три миллиона человек, не используют какое-либо шифрование, что может подвергнуть рис...

Делаем Windows Server безопаснее В этой статье автор хотел бы дать пару хороших советов по администрированию серверов на Windows, которые по какой-то причине не нашел в интернете. Следуя этим принципам вы сильно обезопасите свои серверы под управлением Windows как в локальных средах, так и в публичных. Ч...

[Из песочницы] Кому на Руси жить хорошо? Как мы искали самый “зеленый” город с помощью OpenStreetMap и Overpass API У каждой карты есть легенда: именно она говорит читателю о том, что и каким образом на ней обозначено. Домам соответствуют многоугольники серого цвета, дорогам — отрезки и кривые, территории парков и скверов заливаются светло-зеленым и украшаются пиктограммой дерева. А к нек...

Microsoft подтвердила проблемы в играх при установке последних обновлений для Windows 10. Но решение уже на подходе Почти десять дней тому назад пользователи начали отмечать неадекватную работу ПК после установки обновления KB5001330 в Windows 10 . Проблемы возникли с доступом к пользовательским папкам Изображения и Мои документы; в играх регистрируется снижение к...

Microsoft знает о критической ошибке в Windows 10 [KB4532693] В Windows 10 возникли серьезные проблемы из-за проблемного обновления «KB4532693», которое было выпущено 11 февраля с исправлениями для различных уязвимостей безопасности. Как и каждый выпуск Patch Tuesday, KB4532693 должен был стать важным накопительным обновлением, однако ...

Имитируем сетевые проблемы в Linux Всем привет, меня зовут Саша, я руковожу тестированием бэкенда в FunCorp. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость ...

[Из песочницы] Автоматическая публикация записей из сообщества ВКонтакте в Discord Предыстория Я являюсь создателем, среднего по количеству участников, Discord сервера ~2000 участников. В один день мне понадобилось публиковать записи из группы ВКонтакте с последними новостями игры, ВКонтакте не умеет работать с WebHooks, поэтому пришлось идти в Google и и...

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

За десять лет прибыль от применения ИИ может составить до 16 триллионов долларов США Такие данные опубликованы в третьем ежегодном исследовании PwC "Прогнозы развития технологии ИИ на 2020 год " представлена оценка инвестиций американских компаний в технологию ИИ и последствий более широкого развития и интеграции этой технологии в экономику.Согласн...

Горизонтальный блог Всё больше новостные сайты и блоги превращаются в длинную портянку которую от статьи к статье надо долго мотать по вертикали. Чтобы облегчить прокрутку одни сайты скрывают часть статьи под спойлером. Другие сайты отображают часть статьи в ленте а для прочтения её заставляют...

Два моих любимых кейса использования ZeroTier: работа и стрельба в зомби У вас есть сервер под кроватью, умный дом на даче, а еще IP-камера в гараже. Как их всех объединить в одну сеть чтобы иметь доступ ко всем устройствам? В таких ситуациях принято использовать VPN, но есть решение эффективнее — ZeroTier. Он создает одноранговую (P2P) сеть ме...

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

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

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

YOLOv4 – самая точная real-time нейронная сеть на датасете Microsoft COCO Эта же статья на medium: medium Код: github.com/AlexeyAB/darknet Статья: arxiv.org/abs/2004.10934 Мы покажем некоторые нюансы сравнения и использования нейронных сетей для обнаружения объектов. Нашей целью было разработать алгоритм обнаружения объектов для использования в...

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

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

Внедрение зависимостей – проще, чем кажется? Привет, Хабр! У нас готовится к выходу второе издание легендарной книги Марка Симана, «Внедрение зависимостей в .NET» Поэтому сегодня мы решили кратко освежить тему внедрения зависимостей для специалистов по .NET и C# и предлагаем перевод статьи Грэма Даунса, где эта пар...

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

Серверы в дата-центре Microsoft проработали двое суток на водороде Microsoft объявила о первом в мире крупномасштабном эксперименте по использованию водородных топливных ячеек для энергопитания серверов в дата-центре. Установку 250 кВт произвела компания Power Innovations. В будущем подобная 3-мегаваттная установка заменит традиционные д...

Темная Вселенная. Часть 2 И вновь доброго времени суток! Данная статья является продолжением ранее опубликованной статьи о нашей «темной» Вселенной. В данной части мы продолжим рассмотрение различных интересных особенностей в космологии, над объяснением которых бьются множество ученых. В целом я пос...

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

Исследование: плотность мощности IT-оборудования в стойках ЦОД растет До недавнего времени средняя мощность IT-оборудования в ЦОД составляла 5 кВт на стойку. Теперь ситуация иная. Сорок пять процентов участников опроса 451 Research, который охватил в общей сложности 750 респондентов, заявили, что ожидают выхода на среднюю плотность в 11 кВт н...

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики Введение Здравствуйте дорогие Хабровчане. Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть. Для начала вкратце повторю постановку задачи: Имеется бол...

Эффективное использование ClickHouse. Алексей Миловидов (Яндекс) Так как ClickHouse является специализированной системой, при его использовании важно учитывать особенности его архитектуры. В этом докладе Алексей расскажет о примерах типичных ошибок при использовании ClickHouse, которые могут привести к неэффективной работе. На примерах и...

Встраиваемые системы машинного обучения на базе Nvidia Jetson Аппаратные платформы для машинного обучения быстро развиваются и дешевеют. Модули Nvidia Jetson позволяют создавать эффективные и доступные решения для Edge Computing. Сегодня стало возможным уместить высокопроизводительную систему с 256 графическими ядрами Nvidia Cuda в к...

[Из песочницы] Flutter. Как прокачать ваш BLoC Реализующих BLoC паттерн библиотек много. Но та, о которой я расскажу, необычная, и называется isolate_bloc. Как можно понять из названия — это какой-то необычный блок, а особенность его в том, что он работает в отдельном Isolate (далее изолят) и не тормозит ваш UI. В че...

Организация удаленного доступа средствами Fortinet В нынешних условиях все больше компаний задумываются, как перевести сотрудников на удаленную работу. В свою очередь мы решили им помочь и написали подробные инструкции по настройке удаленного доступа на базе решения FortiGate: Удаленный доступ с помощью IPsec VPN Удаленн...

Релиз новой версии плагина DevOpsProdigy KubeGraf Друзья, всем привет! В прошедшие выходные состоялся долгожданный (а принятие PR шло больше месяца) релиз новой версии нашего плагина для мониторинга kubernetes-приложений DevOpsProdigy KubeGraf v1.2.0! Хочу рассказать вам о его новых фишках. Читать дальше →

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

Huawei продаст 100 млн 5G-смартфонов за год только в Китае и возглавит новый рынок Шойчи Тосака (Shoichi Tosaka), генеральный директор японского производителя конденсаторов Taiyo Yuden, заявил вчера, что спрос на компоненты компании будет стремительно расти в следующем году, так как Китай активно осваивает технологии 5G. Он сообщил, что они получили б...

[Перевод] Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 42 и 43 предыдущие главы 42. Еще про несоответствие данных Предположим, вы разработали систему распознавания речи, которая очень хорошо работает на обучающей выборке и на «выборке для валидации обучающей». Однако у нее низкое качество на валидационной выборке: очевидно, вы имеете де...

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

Обнажённая электроника — бесплатные фото без СМС и регистрации Привет, Интернет. В процессе работы над проектом Nude Electronics Art я сделал достаточно качественные фотографии электронных плат и решил поделиться ими со всеми. Вы можете скачать их бесплатно на сайте Pixabay, в том числе для коммерческих целей. Коллекция будет потихонь...

Версионирование API или единая кодовая база для всех версий За 21 год существования в SuperJob разработали три версии реализации API для интеграций с бэкендом. Во время разработки последней они решили пересмотреть подход к версионированию. Сейчас в актуальной реализации порядка 379 эндпойнтов, более 900 моделей сущностей и 11 поддерж...

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

Компания ADVA первой в Европе развернула 5G на железной дороге Компания ADVA объявила, что успешно продемонстрировала первое в Европе развертывание 5G на железной дороге. Комбинированное решение с использованием оптоволоконного и микроволнового каналов обеспечило возможность подключения со скоростью несколько Гбит/с в поездах, движ...

Мониторим основные сервисы в AWS с Prometheus и exporter’ами для CloudWatch Если вы используете в облачных провайдерах managed-инсталляции серверных служб вроде RDS или ElastiCache от AWS, то несомненно задавались темой мониторинга инфраструктуры, а главное — оповещений по произошедшим инцидентам. При реализации возникают понятные вопросы: Как можно...

В Сеть слили данные более 20 млн пользователей популярных VPN-сервисов Как сообщает «Коммерсантъ», злоумышленники выставили на продажи базу данных 21 млн пользователей бесплатных VPN-сервисов GeckoVPN, SuperVPN и ChatVPN для операционной системы Android. В базе данных оказались адреса электронной почты, пароли и логины пользова...

Go vs Python. Виталий Левченко Предлагаю ознакомиться с расшифровкой доклада Виталия Левченко Go vs Python Go — волшебное слово, решение всех проблем продакшна разом и одновременно негодная технология без эксепшнов. Истина посередине, поэтому поговорим о конкретных примерах: asyncio vs горутины; производ...

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

Выбираем хранилище данных для Prometheus: Thanos vs VictoriaMetrics Всем привет. Ниже представлена расшифровка доклада с Big Monitoring Meetup 4. Prometheus – система мониторинга различных систем и сервисов, с помощью которой системные администраторы могут собирать информацию о текущих параметрах систем и настраивать оповещения для получения...

Лемматизируй это быстрее (PyMorphy2, PyMystem3 и немного магии) Я работаю программистом, и в том числе занимаюсь машинным обучением применительно к анализу текстов. При обработке естественного языка требуется предварительная подготовка документов, и одним из способов является лемматизация – приведение всех слов текста к их нормальным фор...

Java-дайджест за 30 апреля Марк Рейнхольд (Chief Architect of the Java Platform Group at Oracle) рассказал о новом проекте: Project Leyden. Проект должен решить проблему долгого запуска, медленного достижения пиковой производительности и лютого пожирания оперативной памяти… нет, не с помощью GraalVM...

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

[Из песочницы] Ранжирование округов Москвы по стоимости аренды с Python Сейчас программирование все глубже и глубже проникает во все сферы жизни. А возможно это стало благодаря очень популярному сейчас python’у. Если еще лет 5 назад для анализа данных приходилось использовать целый пакет различных инструментов: C# для выгрузки (или ручки), Excel...

[Перевод] Взлом Wi-Fi-сетей, защищённых WPA и WPA2 Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2. Статья написана исключительно в ознакомительных целях Читать дальше →

[Перевод] Стоит ли переходить с Python на Nim ради производительности? Nim — это сочетание синтаксиса Python и производительности C Несколько недель назад я бродил по GitHub и наткнулся на любопытный репозиторий: проект был полностью написан на языке Nim. До этого я с ним не сталкивался, и в этот раз решил разобраться, что это за зверь. Сна...

Snort или Suricata. Часть 3: защищаем офисную сеть В предыдущей статье мы рассказали, как запустить стабильную версию Suricata в Ubuntu 18.04 LTS. Настроить IDS на одном узле и подключить бесплатные наборы правил довольно несложно. Сегодня мы разберемся, как с помощью установленной на виртуальном сервере Suricata защитить ко...

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

Пользователи Redmi Note 9 недовольны производительностью после обновления до MIUI 12 Второй этап графика распространения обновлений MIUI 12 уже запущен. Redmi Note 9 также был во второй группе устройств, и несколько его вариантов получили новейший пользовательский скин. Это глобальный, европейский и индийский варианты Redmi Note 9. Ранее сообщалось, что Redm...

Российские BIM-технологии: комплексное проектирование на базе Model Studio CS Этой статьей мы открываем серию материалов, посвященных технологиям информационного моделирования в промышленном и гражданском строительстве.Мы покажем, как организовать среду общих данных, информационного моделирования и комплексного проектирования на основе единой линейки ...

Зрители заполнили онлайн-кинотеатры Опрошенные “Коммерсантом ” онлайн-кинотеатры заявили о резком росте аудитории за последнюю неделю. Дневная аудитория, смотрящая "Кинопоиск HD" (принадлежит "Яндексу"), в последние дни выросла более чем на 50%, сообщила директор по контенту сер...

Vivo показала X50 Pro Некоторое время назад компания Vivo рассказала о своей уникальной камере, которая обладает специальной системой стабилизации. По заявлению производителя, это самое современное и продвинутое решение на рынке. Теперь производитель решил показать облик смартфона Vivo X50 Pro, к...

[Из песочницы] Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 1/2 Современная вычислительная техника позволяет создавать классные компьютерные игры! И сейчас, достаточно популярны игры с 3d-графикой, так как, играя в них, ты окунаешься в вымышленный мир и теряешь всякую связь с реальностью. Развитие интернета и браузерных технологий сделал...

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

Рамблер решил присвоить веб-сервер nginx Сегодня произошли громкие события, связанные с компанией Рамблер и разработчиком веб-сервера nginx. Игорь Сысоев в начале нулевых работал в Рамблере и в свободное от основных дел время занимался созданием nginx, который сегодня используется на 38% самых популярных сайто...

Анимация в Android: плавные переходы фрагментов внутри Bottom Sheet Написано огромное количество документации и статей о важной визуальной составляющей приложений — анимации. Несмотря на это мы смогли вляпаться в проблемы столкнулись с загвоздками при её реализации. Данная статья о проблеме и анализе вариантов её решения. Я не дам вам сере...

Microsoft представила Surface Book 3 на базе новейших процессоров от Intel Как и ожидалось, Microsoft представила Surface Book 3 — новый мощный ноутбук от компании из Редмонда, который может предложить на 50% больше производительности по сравнению в предшественником, выпущенным более двух лет назад. Внешний вид устройства практически не изменился,...

Город и данные: анализ пешеходной доступности объектов в Праге с помощью data science Несколько лет назад компания Veeam открыла R&D центр в Праге. Изначально у нас был небольшой офис примерно на 40 человек, но компания активно растет, и сейчас, в новом просторном офисе Rustonka нас уже больше двухсот. Veeam нанимает сотрудников не только из Чехии и Евро...

Публичное облако, ставшее частным Облачные провайдеры давно предлагают услуги по модели dedicated, в рамках которых клиент арендует целиком выделенные для него вычислительные мощности в дата-центре провайдера для создания частной облачной или bare metal-инфраструктуры. Например, компания Selectel предлагает ...

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

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

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

[Перевод] Тактика Red Team: продвинутые методы мониторинга процессов в наступательных операциях И снова здравствуйте. В преддверии старта курса «Пентест. Практика тестирования на проникновение» перевели для вас еще один интересный материал. В этой статье мы собираемся разобраться в возможностях широко известных утилит мониторинга процессов и продемонстрировать, как ...

Xiaomi оснастила телевизоры серии Mi TV P1 пультами с массой кнопок Большая часть современных Android-телевизоров имеют схожие пульты, за исключением минимальных отличий, но на этом фоне решила выделиться Xiaomi.Китайская компания комплектовала телевизоры серии Mi TV P1 совершенно новым пультом. Он не только длиннее предшественников, но и им...

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

Настраиваем отказоустойчивый Keycloak с Infinispan в Kubernetes В этой статье мы поделимся опытом развертывания в кластере Kubernetes устойчивой и масштабируемой инсталляции популярного решения для обеспечения «единого входа» (SSO) — Keycloak в связке с Infinispan (для кэширования пользовательских метаданных). Читать далее

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

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

Observability система для микросервисов на примере Instana, часть 1 В данном техническом обзоре мы детально познакомимся с продуктом Instana – инструментом для автоматического мониторинга производительности микросервисной инфраструктуры, Kubernetes и пользовательского опыта, который использует наша компания в проектах на протяжении последнег...

Скоро PGConf.Russia 2020 PGConf.Russia 2020 в этом году, как и в прошлом, пройдет в начале февраля, а именно – 3 февраля – мастер-классы, 4го и 5го – доклады. Это первый раз, когда нам не пришлось отодвигать дедлайн по приему заявок на доклады — то ли люди стали более самоорганизованными, то ли появ...

Поднимаем Mercurial на Windows-сервере (с Nginx) Недавно случайно узнал, что BitBucket, где лежат мои Mercurial-репозитории, прекращает поддержку Mercurial: новые репозитории создавать уже нельзя, а существующие будут удалелы с 1.06.2020. Возможные варианты действий: перейти на Git, выбрать один из других сервисов, или нас...

MEGANews. Самые важные события в мире инфосека за апрель Для подписчиковВ этом месяце: НАСА, SpaceX и Google отказались от использования Zoom, искать малварь и сливы данных в Pastebin больше не получится, 0day-уязвимость в iOS могли эксплуатировать хакеры, в Сеть утекли исходные коды TF2 и CS:GO — и еще много интересного!

Обзор твердотельного накопителя Seagate FireCuda 520 1 Тбайт Наконец-то все желающие могут оценить пользу от интерфейса PCIe Gen4, который компания AMD активно популяризирует (на платах с чипсетом X570 он используется по умолчанию). Помогают в этом деле профильные твердотельные накопители, появляющиеся в продаже. Seagate FireCuda 520...

Android 11 принесла на Xiaomi Mi 10 новые проблемы Компания Xiaomi еще в прошлом месяце объявила о том, что операционную систему Android 11 еще до ее выхода можно будет опробовать на флагманских смартфонах Xiaomi Mi 10 и Mi 10 Pro. Теперь же пользователи подтверждают, что они начали получать бета-версию MIUI 12 на базе ...

Дружим STM32 с LCD дисплеем 1604 по I2C шине (библиотека HAL) Привет, Хабр! В этой статье я хотел бы рассказать о своем опыте подключения LCD дисплеев к микроконтроллеру STM32 с использованием библиотеки HAL по I2C шине. Подключать буду дисплей 1602 и 2004. Они оба имеют припаянный I2C адаптер на основе чипа PCF8574T. Отладочной пл...

[recovery mode] Как мы обеспечивали рост Ситимобила Меня зовут Иван, я руководитель серверной разработки в Ситимобил. Сегодня я расскажу о том, что собой представляет эта самая серверная разработка, с какими проблемами мы сталкивались и как планируем развиваться. Читать дальше →

OSINT в Telegram Протокол Telegram известен своей доступностью и открытостью. У него есть множество публичных реализаций: tdlib/td, rubenlagus/TelegramApi, vysheng/tg, LonamiWebs/Telethon и другие. Однако, даже имея в распоряжении столь богатый инструментарий и объемную документацию (https...

Рекомендательные системы: проблемы и методы решения. Часть 1 Привет! Я хочу рассказать вам о рекомендательных алгоритмах. Мы в Prequel создаем фильтры и эффекты для редактирования фото и видео. Создаем давно, и постепенно этих эффектов стало очень много. А с ними и пользовательского контента. Мы захотели помочь с выбором из этого мног...

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

Пользователи Mac с чипом M1 жалуются на быстрый износ SSD. В чём дело? Компьютеры Mac на M1 получились очень мощными и производительными (не говоря уже о времени автономной работы), но, как и в случае с любым новым устройством, без «болячек» здесь не обошлось. И если большинство проблем Apple уже исправила с помощью обновлений macOS, то с ново...

Опыт внедрения Service Mesh на Nomad и Consul В этой статье мы расскажем, как развернули Service Mesh, решили часть проблем микросервисной архитектуры и уменьшили нагрузку на разработчиков и инженеров инфраструктуры. Читать дальше →

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

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

Zabbix 5.0, или Что нового нас ждет с шаблоном Template Server by IPMI Нужно поставить оборудование на мониторинг, а в любимой системе Zabbix нет готового шаблона под этот тип оборудования. Знакомая ситуация? Каждый выкручивается из нее по-своему. Один администратор ищет решение на просторах интернета. Второй — разрабатывает свое. А некоторые...

Новый 2U Ultra SuperServer уменьшенной глубины представила Supermicro Компания Super Micro Computer , Inc. (код NASDAQ: SMCI), мировой лидер в сфере корпоративных вычислительных решений, а также экологически безопасных технологий для хранения данных и сетевого взаимодействия, представила новый 2U Ultra SuperServer уменьшенной глубин...

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

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

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

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

Почему в Apple TV+ есть только эксклюзивные фильмы и сериалы Съёмка эксклюзивов в долгосрочной перспективе окажется более выгодной, чем аренда Несмотря на то что Apple относительно недавно основательно взялась за развитие собственных сервисов, они уже успели стать для неё одной из ключевых статей дохода. Больше всего денег, конечно, п...

Apple пошла в разнос. Аккумулятор iPhone 12 будет ещё больше, чем у iPhone 11 iPhone 12 получит аккумулятор ещё большей ёмкости, чем iPhone 11 Долгое время iPhone, несмотря на свою инновационность, оставался довольно компромиссным смартфоном. Сказывалось большое количество функциональных ограничений, накладываемых самой Apple, — от запрета на съ...

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

Графические процессоры NVIDIA следующего поколения будут до 75 % производительнее Volta Следующее поколение графических процессоров NVIDIA, которое скорее всего будет называться Ampere, предложит значительный прирост производительности по сравнению с актуальными решениями, сообщает The Next Platform. Правда, речь идёт о графических процессорах, используемых в у...

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

Обзор Transcend ESD250C – быстрый внешний SSD-накопитель размером чуть больше флешки Еще не так давно обыкновенные USB-флешки с лихвой удовлетворяли требованиям рядового пользователя, когда речь заходила о временном хранении относительно небольших объемов данных. Однако современные проблемы требуют современных решений, для работы с информацией уже необходимы...

Xiaomi: мы не хотим конкурировать с Google Play Пару дней назад появилась заметка о том, что Xiaomi, Huawei, Oppo и Vivo решили объединили усилия для создания новой платформы Global Developer Service Alliance (GDSA), при помощи которой эти компания собираются бросить вызов доминированию Google Play. Однако Xiaomi пос...

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

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

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

Работа с dbt на базе Google BigQuery На днях смотрел вебинар OWOX, где Андрей Осипов (веб-аналитик, автор блога web-analytics.me и лектор Школы веб-аналитики Андрея Осипова) рассказал о своем опыте использования dbt. Говорил о том, кому будет полезен инструмент и какие проблемы решает, а самое главное — как не ...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

[Из песочницы] Сборка тонкого клиента RDP на базе Raspberry Pi С ростом популярности мини-ПК типа Raspberry Pi, и подобных ему клонов, возникла масса кейсов по их использованию в ИТ-инфраструктуре предприятия, умном доме / даче / гараже, и в других применениях. Одним из удобных и желаемых кейсов является использование RPi как тонкого к...

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