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

Делаем маршрутизацию (роутинг) на OpenStreetMap. Добавляем поддержку односторонних дорог Продолжаем цикл статей про построение систем роутинга со сложными требованиями на основе Open Source базы данных PostgreSQL и расширения PgRouting на карте OpenStreetMap. Сегодня мы поговорим о том, как добавить поддержку односторонних дорог (направлений движения). Зачастую,...

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

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

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

Anycast против Unicast: что лучше выбирать в каждом случае Про Anycast наверняка многие слышали. При этом методе сетевой адресации и маршрутизации один IP-адрес присваивается нескольким серверам в сети. Эти серверы могут находиться даже в удаленных друг от друга ЦОД. Идея Anycast в том, что, в зависимости от местоположения источника...

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

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

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

Из грязи в RPKI-князи-1. Подключаем валидацию маршрутов в ВGP Привет! Я работаю старшим сетевым инженером в компании DataLine, занимаюсь сетями с 2009 года и успел со стороны понаблюдать, как компании подвергались атакам из-за уязвимости протокола маршрутизации BGP. Один BGP Hijacking чего стоит: пару лет назад хакеры с помощью перехва...

IaaS-провайдеры поборются с атаками на BGP-протокол Несколько крупных организаций присоединились к MANRS. Это — инициатива, участники которой стараются предотвращать распространение некорректных данных о маршрутах в сетях провайдеров. Ошибки маршрутизации могут приводить к сбоям. Избежать их особенно важно сейчас, когда мног...

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

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

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

Яндекс добавил в Карты постройку маршрутов для бизнеса Инструмент поможет небольшим компаниям с собственной доставкой составлять и оптимизировать маршруты для водителей.

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

[Перевод] Разработка более быстрых приложений на Vue.js JavaScript — это душа современных веб-приложений. Это — главный ингредиент фронтенд-разработки. Существуют различные JavaScript-фреймворки для создания интерфейсов веб-проектов. Vue.js — это один из таких фреймворков, который можно отнести к довольно популярным решениям. Vu...

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

Математики нашли способ избавиться от пробок Новое исследование учёных базируется на сформулированных в 1952 году английским математиком и транспортным аналитиком Джоном Гленом Вардропом принципах, которые специалисты из Санкт-Петербурга использовали для современной транспортной обстановки в мегаполисах. «В России зада...

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

Рекомендательные системы, основанные на графах Всем привет! Меня зовут Александра Зенченко, я Lead Software Engineer в ЕРАМ. Занимаюсь разработкой решений, которые помогают нашим клиентам повышать эффективность работы и, в основном, включают в себя часть машинного обучения. В последнем проекте я работала над построением ...

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

[Перевод] RICE: Простая приоритезация для Product-менеджеров Перевод статьи подготовлен специально для студентов курса «Product Manager IT-проектов» Проблемой, которая возникает постоянно при построении дорожной карты продукта, является распределение приоритетов. Как вы решаете над чем нужно работать в первую очередь? Если вы вл...

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

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

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

Я попробовал Petal Maps для Android. Хорош ли аналог Google Maps от Huawei Наверное, все уже знают, что, помимо операционной системы Harmony OS, Huawei начала активно развивать собственные сервисы на замену тем, что раньше ей предоставляла Google. Всего за год с небольшим разработчики китайской компании довольно сильно продвинулись в создании фирм...

Как переиспользовать код с бандлами Symfony 5? Часть 3. Интеграция бандла с хостом: шаблоны, стили, JS Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

Maltego Часть 5. Твое лицо тебя сдало Здравствуйте, дорогие друзья. Сегодня поговорим о более тяжелой артиллерии в рамках OSINT, а именно, о применении технологии распознавания лиц от Social Links для Maltego. Если не читали предыдущие статьи цикла о Maltego, то сейчас — самое время: Часть 1 — Что такое Malt...

[Из песочницы] OSCP — мой опыт Что это за четыре буквы и кому это вообще надо? Я не буду описывать курс PWK и OSCP экзамен, простой запрос «OSCP review» выдаст вам кучу обзоров, описание формата, рекомендации и структуру курса. Просто поделюсь своим собственным опытом, как я сделал это и какие решения при...

Дополняя SQL. Часть 1. Сложности парсинга. Истории о доработке ANTLR напильником Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Более пяти лет работаю в компании, что занимается разработкой линейки IDE для работы с базами данных. Начиная работу над этой статьей я и не представлял как много интере...

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

[Перевод] Random Forest, метод главных компонент и оптимизация гиперпараметров: пример решения задачи классификации на Python У специалистов по обработке и анализу данных есть множество средств для создания классификационных моделей. Один из самых популярных и надёжных методов разработки таких моделей заключается в использовании алгоритма «случайный лес» (Random Forest, RF). Для того чтобы попытать...

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

Быстрый роутинг и NAT в Linux По мере исчерпания адресов IPv4, многие операторы связи столкнулись с необходимостью организовывать доступ своих клиентов в сеть с помощью трансляции адресов. В этой статье я расскажу, как можно получить производительность уровня Carrier Grade NAT на commodity серверах. Чита...

[Перевод] Создание карандашного эффекта в SVG Моя игра Dragons Abound создаёт карты в векторном графическом формате SVG. Векторная графика имеет множество особенностей (например, зум без потерь), что удобно для карт. Также векторная графика хороша для создания чётких линий, например, чернильных контуров: С другой стор...

[Перевод] Устранение бага в Factorio: не ошибается тот, кто ничего не делает В недавних примечаниях к патчам была строка «Исправлена ошибка создания земли под игроком при создании земли в другом месте». Подробнее об этом можно прочитать здесь. Некоторых пользователей Reddit заинтересовало, как вообще мог возникнуть такой баг, они попросили объяснить ...

Автоматизация организации воздушного движения – теперь в среде ОС Astra Linux КБ «Панорама» разработан «Комплекс подготовки документов аэронавигационной информации» 7.3 для использования в ГИС «Оператор SE» под управлением ОС Astra Linux Special Edition. Решение предназначено для расчета маршрутов полетов, проверки местности на предмет препятствий, ве...

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

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

Создание отказоустойчивой ИТ инфраструктуры. Часть 3. Организация маршрутизации на роутерах VyOS Основная цель статьи – показать процесс установки и настройки виртуальных маршрутизаторов VyOS на кластере oVirt, для организации связи на уровне L3 между внутренними и внешними сетями. Также в статье будут рассмотрены вопросы, связанные с особенностями настройки выхода в Ин...

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

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

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

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

Криптографическое образование адреса IPv6 в Yggdrasil Абонентский IP – логический адрес пользователя в сети. В малых сетях обычно используются статические адреса, прописанные вручную, а в более массовых – автоматическое назначение через DHCP. За каждый сегмент локальной или глобальной сети отвечает некое лицо или организация, в...

[Перевод] Обзор 14 свежих плагинов для Фигмы, которые помогут повысить производительность пока мы все #сидимдома Сегодня мы поговорим о следующих новых Figma плагинах: AutoGrid — Поддержка сетки для AutoLayout. Tracking – Плагин для создания аннотаций отслеживания. Find and Replace Colors – Организация цветовых стилей в ваших дизайнах Spacing Manager – Плагин для согласованных отст...

Простой rpm репозиторий используя Inotify и webdav В этом посте рассмотрим хранилище rpm артефактов c помощью простого скрипта с inotify + createrepo. Заливка артефактов осуществляется через webdav используя apache httpd. Почему apache httpd будет написано ближе к концу поста. Итак, решение должно отвечать cледующим требован...

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

Проверь себя в Swift: паззлер для любителей головоломок Мы, команда мобильной разработки в SimbirSoft, при создании iOS-приложений широко используем язык Swift – достаточно безопасный, быстрый и выразительный. Для тех, кто знаком со Swift, мы приготовили несколько головоломок–паззлеров. Попробуйте определить результат выполнения ...

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

[Из песочницы] Самый простой алгоритм для создания Филворда (Часть 1) Привет, Хабровцы. В этой статье я хочу поделиться с вами немного своим опытом и показать вам мой простой алгоритм, который я придумал для создания Филворда. Под «Филвордом» я буду иметь ввиду эту многим знакомую игру. В игре есть поле размером обычно NxN заполненное словами...

Простая самодельная VGA видеокарта Насколько мне известно, довольно многим интересно подключить микроконтроллер к обычному монитору и попробовать что-либо вывести на экран. В этой статье пойдёт речь о создании простейшей VGA-видеокарты на базе микроконтроллера atmega168-20. Читать дальше →

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

Xiaomi не потянула разработку фирменных однокристальных систем Источники из Китая сообщают о том, что компания Xiaomi отказалась от идеи создания целой линейки однокристальных систем для своих смартфонов. В 2017 году компания Xiaomi представила однокристальную систему Surge S1, которая дебютировала в недорогом смартфоне Xiaomi Mi ...

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

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

[Перевод] Почему мы перешли с Webpack на Vite Миссия Replit — сделать программирование более доступным. Мы предоставляем людям бесплатные вычисления в облаке, чтобы они могли создавать приложения на любом устройстве. Одним из самых популярных способов создания приложений в Интернете на сегодняшний день является React....

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

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

[Из песочницы] Создание отказоустойчивой ИТ инфраструктуры. Часть 1 — подготовка к развёртыванию кластера oVirt 4.3 Вниманию читателей предлагается ознакомиться с принципами построения отказоустойчивой инфраструктуры небольшого предприятия в рамках одного ЦОДа, которые будут детально рассмотрены в небольшом цикле статей. Читать дальше →

[Из песочницы] Теория графов в машинном обучении для самых маленьких Сложность представления данных для глубокого обучения растет с каждым днем. Нейронные сети на основе данных в виде графа (Graph Neural Network, GNN) стали одним из прорывов последних лет. Но почему именно графы набирают все большую популярность в машинном обучении? Конечной ...

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

Сюхэй Ёсида: PS5 существенно упростит разработку игр По словам бывшего президента PlayStation Сюхэя Ёсиды (Shuhei Yoshida), консоль PS5 вышла на совершенно другой уровень в отношении простоты разработки игр для неё. Наверняка многие слышали о трудностях создания игр для PlayStation 3. Разработчики жаловались на сложный процесс...

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

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

Как настроить SEO для Вашего бизнеса Каждый день в Яндексе и Гугле люди запрашивают более 100 миллиардов запросов по всему миру. Каждый поисковой запрос заставляет поисковую систему искать на него ответ. Для чего нужна оптимизация сайта Чтобы довести Ваш сайт до такого состояния, которое будет соответствовать ...

Laravel. Локализованный роутинг Привет, Хабр! Хочу рассказать вам о том, как в одном проекте возникла проблема с роутингом и как мы её решали. Сначала наш проект был самым обычным сайтом. Сайт развивался, аудитория расширялась и возникла необходимость поддержки мультиязычности. Проект был на базе фреймвор...

Разработка «простого генератора напряжения» в соответствии с ГОСТ Р МЭК 61508 (IEC 61508) В данной статье будут рассмотрены необходимые шаги для создания устройства, отвечающего общим требованиям функциональной безопасности (ФБ). А также будет предложена архитектура простейшего «безопасного» (safety) генератора напряжения. Так как управляя напряжением, можно уп...

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

[Перевод] Мой ответ тем, кто полагает, что значение TDD преувеличено Однажды я разговорился с разработчиком из компании-клиента о программном обеспечении. Мне стоило бы понять то, что разговор пошёл куда-то не туда, когда собеседник сказал о том, как нам, разработчикам ПО, повезло: «Мы обманом заставляем организации платить нам за, как кажетс...

Как переиспользовать код с бандлами Symfony 5? Часть 6. Тестирование Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

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

[Из песочницы] Тайная жизнь Linux сервера или веерная брутфорс атака на подсистему SSH Сегодня мой внешний IP был заблокирован в сервисе IVI с сообщением Ваш ip-адрес идентифицируется как анонимный. Пожалуйста, обратитесь к своему интернет-провайдеру. IP адрес <IP>. Данные предоставлены maxmind.com Читать дальше →

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

Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов Меня зовут Дмитрий Макаренко, я Mobile QA Engineer в Badoo и Bumble: занимаюсь тестированием новой функциональности в наших приложениях вручную и покрытием её автотестами. За последние два года подход к автоматизации тестирования в нашей компании сильно изменился. Колич...

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

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

Опасно ли держать открытым RDP в Интернете? Нередко я читал мнение, что держать RDP (Remote Desktop Protocol) порт открытым в Интернет — это весьма небезопасно, и делать так не надо. А надо доступ к RDP давать или через VPN, или только с определённых "белых" IP адресов. Я администрирую несколько Windows Serv...

Вертолётный спорт Примерно за 30 тысяч рублей в час вы можете покатать ведро с водой на верёвке на вертолёте. Ведро будет брыкаться и выливаться, но ваша задача — пронести его заданным маршрутом через систему ворот и поставить в круг диаметром 22 сантиметра. Диаметр самого ведра 20 сантимет...

Роутинг в комплексных чат-ботах с Hobot framework Начав разрабатывать боты для Telegram несколько лет назад, я открыл для себя производительность, простоту и гибкость работы с ними как с частным случаем интерфейса командной строки. Эти характеристики, доступные сегодня многим — во многом заслуга популярного фреймворка tel...

Упал Cloudflare: недоступны Discord, серверы Riot Games и сотни других ресурсов Популярный чат Discord, как и другие многочисленные интернет-ресурсы, стали недоступны примерно с 0:25 МСК. Сообщения об этом приходят со всего мира, но некоторые регионы проблема обошла стороной. «В настоящее время у пользователей возникают проблемы с отключением от Discord...

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

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

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

Пользователи ленятся придумывать новые пароли С января по март 2019 года Microsoft проверила более 3 млрд учетных данных, полученных из различных источников, включая общедоступные базы данных. Целью исследования стал поиск скомпрометированных учетных данных в системах Microsoft. Результаты исследования показали, что бол...

Что такое графовые нейронные сети Графовые сети — это способ применения классических моделей нейронных сетей к графовым данным. Графы, не обладая регулярной структурой как изображения (каждый пиксель имеет 8 соседей) или тексты (последовательность слов), долгое время оставались вне поля зрения классических ...

Сниппет, расширение для VSCode и CLI. Часть 1 Доброго времени суток, друзья! В процессе разработки Современного стартового HTML-шаблона я задумался о расширении возможностей его использования. На тот момент варианты его применения ограничивались клонированием репозитория и скачиванием архива. Так появились HTML-снипп...

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

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

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

Сотворение мира: как сделать Солнечную систему своими руками Причин, по которым вам может понадобиться «личная» система планет, несколько. Возможно, вы сами захотите объяснить своему ребёнку что же такое Солнечная система, а может такое задание зададут на дом в школе или каком-нибудь кружке. Как бы то ни было, никаких проблем с тем, ч...

[Перевод] Вызов принят: OpenBSD на ноутбуке Хотелось бы поделиться, может быть и не самым новым, но отчасти познавательным и местами увлекательным, опытом установки на ноутбук операционной системы не из мейнстрима (т.е. не Windows или Linux) для хоть сколько-нибудь полноценной работы в наше (развращённое) время. Начал...

[Из песочницы] Российский SCRUM. Бессмысленный и беспощадный Доброе время суток, уважаемый Хабр! Я программист «старой школы», с опытом работы более 20 лет. Участвовал в разработке многих проектов, большая часть из которых довольно известные и успешные. В некоторых проектах занимал руководящие должности, достиг неплохого уровня зарпл...

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

Наблюдательный пост пессимиста: технические и концептуальные решения в системе мониторинга Lamoda Всем привет! Меня зовут Александр Афенов, я работаю в Lamoda. Эта статья по мотивам моего доклада с HighLoad 2019, запись которого лежит тут. Раньше я был тимлидом, и в моем ведении была пара критикал-сервисов. И если в них что-то шло не так, это останавливало реальные бизн...

Работаем с Cutter — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 3 В данной статье разберемся с декомпиляцией ELF файлов в Cutter на примере легеньких задач. Прошлые части введения в реверс: Часть 1: C, C++ и DotNet decompile — основы реверса Часть 2: Реверсим MIPS и Golang — основы реверса Организационная информ...

RBK.money выпустила первый в мире open-source платежный процессинг — творим будущее вместе Привет! Если вы читали наши предыдущие посты (читали же?), то точно помните, что мы в RBK.money очень сильно за опенсорс. Настолько, что выложили в открытый доступ наш антифрод в виде открытых исходников под лицензией Apache 2.0. Как вы понимаете, нам понравилось. Одного а...

Telegram бот на Firebase В основном, про Firebase рассказывают в контексте создания приложений под IOS или Android. Однако, данный инструмент можно использовать и в других областях разработки, например при создании Telegram ботов. В этой статье хочу рассказать и показать насколько Firebase простой и...

ROS: Застрявшим в Gazebo посвящается… Платформа для робота за 28.000 руб Инструкция по сборке роботизированной платформы для изучения ROS с грузоподъемностью более 30 кг ROS — это мета-операционная система (с открытым исходным кодом) для роботов. Это превратилось в стандарт отрасли. Имея готовый интерфейс обмена сообщениями между различными узлам...

[Перевод] Почему нам нужен DevOps в сфере ML-данных Развертывание машинного обучения (machine learning, ML) в продакшн – задача нелегкая, а по факту, на порядок тяжелее развертывания обычного программного обеспечения. Как итог, большинство ML проектов так никогда и не увидят света — и продакшена — так как большинство органи...

«Объясняю каждую строчку» — разработка видеоигры в прямом эфире Э-ге-гей! Кто хочет узнать, как делаются видеоигры? Ладно, я угораю. Уж где-где, а тут публика должна быть в курсе. Тем не менее, как насчёт увидеть процесс создания игры? Полностью. С первой до последней строчки. ВСЁ. Вообще ВСЁ. Не просто увидеть, даже поучаствовать, если...

Google Dorking или используем Гугл на максимум Вступление Google Dorks или Google Hacking — техника, используемая СМИ, следственными органами, инженерами по безопасности и любыми пользователями для создания запросов в различных поисковых системах для обнаружения скрытой информации и уязвимостях, которые можно обнаружить...

Telegram-бот на Java для самых маленьких — от старта до бесплатного размещения на heroku Для кого написано Если вы ни разу не писали Telegram-ботов на Java и только начинаете разбираться — эта статья для вас. В ней подробно и с пояснениями описано создание реального бота, автоматизирующего одну конкретную функцию. Можно использовать статью как мануал для созда...

STL, allocator, его разделяемая память и её особенности Разделяемая память — самый быстрый способ обмена данными между процессами. Но в отличие от потоковых механизмов (трубы, сокеты всех мастей, файловые очереди ...), здесь у программиста полная свобода действий, в результате пишут кто во что горазд. Так и автор однажды задал...

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

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

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

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

Adobe Premier Pro теперь поддерживает карту Afterburner в ПК Mac Pro Как известно, ПК Mac Pro позволяет в качестве опции установить уникальное решение — карту Afterburner. Сама Apple называет Afterburner картой графического ускорителя для Mac Pro, созданной для оптимизации рабочих процессов Apple ProRes и ProRes RAW для создания пр...

DJI представила портативный дрон DJI Mavic Air 2 Компания DJI представила новую версию портативного дрона – Mavic Air 2, который оснащен улучшенной камерой и новыми интеллектуальными функциями управления. Инженеры компании DJI, при создании Mavic Air 2, уделили много внимания камере дрона. К основным преимуществам но...

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

React, performance и -500 миллисекунд на старте — история наших оптимизаций в цифрах Давайте немного отвлечемся от коронавируса, и поговорим о чем-то техническом. Например, о том, как мы пытались улучшить время холодного старта одного react-приложения и что из этого получилось. Кому интересна тема производительности и быстрого web-а в целом — прошу под кат....

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

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

Как мы делали мобильный банк для «Авроры»: особенности разработки для отечественной мобильной ОС Недавно мы закончили разработку приложения для мобильного интернет-банкинга под ОС «Аврора» — единственную российскую мобильную операционную систему. Всего за пару месяцев мы создали приложение, которое дает доступ ко всем основным услугам банка ВТБ. Через приложение можно о...

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Нов...

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

Свой стек навигации. Лучше чем у ROS? Это вторая статья команды setUP про наш опыт создания автономных роботов для соревнований Eurobot Open и использования для этого ROS. Первая статья про механику и общую архитектуру роботов. Роботы ездят по ровному полю и большинство препятствий заранее известно, однако, ко...

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

Новая функция Bolt: добавляй остановки в свой маршрут поездки Ведущая европейская платформа для заказа поездок Bolt вводит новую функцию. Теперь при составлении маршрута можно указать до трех остановок.

SD-WAN и DNA в помощь админу: особенности архитектур и практика Стенд, который можно пощупать у нас в лабе, если хочется. SD-WAN и SD-Access — два разных новых проприетарных подхода к построению сетей. В будущем они должны слиться в одну оверлейную сеть, но пока только приближаются. Логика такая: берём сеть образца 1990-х и накатываем...

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

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

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

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

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

[Из песочницы] Быстрая разработка Web приложения на Vaadin и Spring Boot Целью данной статьи является систематизация процесса разработки веб приложения на Vaadin 14 с использованием Spring Boot. Перед прочтением данной статьи, рекомендую прочитать следующий материал: Введение в Spring Boot Spring Data JPA Lombok возвращает величие Java Vaadin F...

Powershell настоящий язык программирования. Скрипт оптимизации рутины в техподдержке Работая в компании IT-аутсорса в качестве руководителя 3 линии поддержки, задумался, как автоматизировать подключение сотрудников по RDP, через VPN к серверам десятков клиентов.Таблички с адресами, паролями и прочими настройками серверов, конечно, хорошо, но поиск клиента и ...

Электромобиль Lucid Air проехал 640 км без подзарядки Американский автопроизводитель Lucid Motors, который готовится к официальной премьере своей первой серийной модели — седана Lucid Air — рассказал об испытаниях прототипа в условиях реального трафика. В путешествии по США новинка смогла проехать более 640 км на одном заряде б...

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

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

Разгоняем портал ДО на основе Moodle (решение проблем узких мест) В последнее время все острее встает вопрос об обучении онлайн, во время пандемии, так и в связи с переходом в онлайн всего и вся. На сайте Хабр есть материалы по установке базовой системы на основе moodle. В данной заметке хотелось бы поделиться некоторым опытом настройки с...

[Перевод] Радужные раскраски — лучшие друзья математиков Недавно радужные раскраски помогли провести новое доказательство. И они уже не в первый раз оказываются полезными. Your browser does not support HTML5 video. Цветовое кодирование латинского квадрата и его графа может многое о них рассказать Недавно мы рассказывали о новом ...

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

Почему 100-километровая дорога майя считается инженерным чудом? За всю историю на нашей планете существовало огромное множество цивилизаций, но самой интересной из них считается Майя. В то время как многие другие народы исчезли из-за природных катаклизмов, тайна гибели цивилизации Майя до сих пор остается неизвестной. Тем не менее учены...

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

[Перевод] Типовые ситуации при непрерывной интеграции Вы изучили команды Git но хотите представлять, как непрерывная интеграция (Continuous Integration, CI) происходит в реальности? Или может вы хотите оптимизировать свои ежедневные действия? Этот курс даст вам практические навыки непрерывной интеграции с использованием репозит...

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

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

Белые методы в SEO, которые работают в 2020 На нашем рынке основные поисковые системы — Яндекс и Google. Мы должны оптимизировать наш сайт так, чтобы именно он находился по интересующим нас запросам на первых местах. Это и называют находиться в топе в поисковиках. ...

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

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

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

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

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

Настройка IPsec GRE туннель между FortiOS 6.4.5 и RouterOS 6.48.1 Стояла задача объединить филиалы с головным офисом предприятия, где находилась серверная. Fortigate 60E организовывал доступ в интернет и выполнял роль межсетевого экрана в головном офисе, в филиалах выполняли роль доступа в интернет Микротик разных моделей. Также было необх...

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

Orange и Telxius будут сотрудничать в рамках проекта Google Dunant Французский телекоммуникационный оператор Orange объявил о заключении соглашения о сотрудничестве с Telxius, дочерним предприятием испанского телеком-оператора Telefónica, с целью создания транспортной сети связи в рамках проекта Google Dunant. mobileeurope.co.uk Google Duna...

[Из песочницы] Пример SPA «Простые заметки» на Mithril.js Mithril.js — непопулярный инструмент для создания клиентских веб приложений. На Хабре практически нет публикаций по этой теме. В этой заметке я хочу показать, как можно сделать небольшое приложение на Mithril. Приложение будем делать по мотивам вот этой публикации (перевод)...

[Перевод] Алгоритм Беллмана-Форда В преддверии старта курса «Алгоритмы для разработчиков» подготовили очередной перевод интересной статьи. Задача: Дан граф и начальная вершина src в графе, необходимо найти кратчайшие пути от src до всех вершин в данном графе. В графе могут присутствовать ребра с отрицатель...

Google Ассистент научится открывать приложения и управлять ими Голосовой помощник от Google становится еще лучше Трудно спорить с тем фактом, что Google Ассистент является одним из самых продвинутых голосовых помощников на сегодняшний день. Но это не значит, что он идеален во всех отношениях и его нельзя сделать лучше. Скажем, не так да...

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

[Перевод] Bluetooth Low Energy: подробный гайд для начинающих Создание кастомного сервиса и тем более клиента Bluetooth Low Energy – прогулка по граблям с завязанными глазами. По крайне мере так было для меня 4 года назад, когда я только начинал работать с BLE-устройствами. Сейчас почти каждый мой проект предусматривает использование э...

Tableau в рознице, реально? Время отчётности в Excel стремительно уходит — тренд на удобные инструменты представления и анализа информации виден во всех сферах. Мы давно обсуждали внутри цифровизацию построения отчётности и выбрали систему визуализации и self-service аналитики Tableau. Александр Безугл...

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

Господдержку проекта квантового компьютера Росатома урезать не будут Об этом сообщили РИА Новости в департаменте коммуникаций Росатома."Дорожная карта развития высокотехнологичной области "Квантовые вычисления" ранее прошла экспертные обсуждения и получила все необходимые согласования Минкомсвязи России и других ответственных ф...

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

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

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

[Перевод] Почему нужна инструментальная поддержка пагинации на ключах Всем привет! Я бэкэнд-разработчик, пишу микросервисы на Java + Spring. Работаю в одной из команд разработки внутренних продуктов в компании Тинькофф. У нас в команде часто встает вопрос оптимизации запросов в СУБД. Всегда хочется еще чуть-чуть быстрее, но не всегда можно об...

Насколько важен порядок свойств в объектах JavaScript? В случае JavaScript-движка V8 — очень даже. В этой статье я привожу результаты своего маленького исследования эффективности одной из внутренних оптимизаций V8. Читать дальше →

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

Делаем страницу на React с базой сотрудников при помощи Airtable и Quarkly Слышали про такой инструмент, как Airtable, но не знали, с чего начать? Тогда приглашаем в мир визуального программирования построения БД! Этим постом мы начинаем цикл обучающих статей, в которых будем давать практические примеры работы с нашим инструментом Quarkly. В этом у...

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

Нидерланды завершили испытание первого водородного поезда Французская «водородная электричка» Alstom Coradia iLint не является новинкой и уже несколько лет колесит под дорогам Германии. С 2018 года эта водородная версия проверенного временем пригородного и городского пассажирского поезда Lint курсирует по маршруту в Нижней Саксонии...

Создание полноценного Viberbot на Django 2 и Viber REST API. Часть первая — Webhook Установка Webhook для работы bot на viber и отправка первого POST запроса к backend мессенджера Опираясь на свой опыт разработки под Viber и множество неоднозначных мнений, публикую цикл статей по созданию и запуску viberbot. Для понимая полной картины в целом, будем работат...

[Из песочницы] Как организована работа в Amazon Как и во многих других американских компаниях, организация рабочих процессов в Amazon построена на базовых принципах, основная цель которых – помочь сотрудникам принять правильное решение, основываясь на ценностях компании. Мы поговорили с продукт-менеджером в Amazon, которы...

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

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

PlayStation 5 уничтожена, Xbox Series X посрамлена. Представлена игровая приставка KFConsole с поддержкой VR, трассировкой лучей и функцией приготовления крылышек Все думали, что игровая приставка KFC — сети известных ресторанов быстрого питания — это всего лишь шутка на волне общего интереса пользователей к игровым консолям, и только в самой KFC знали, что речь идет о реальном устройстве. Сейчас KFConsole п...

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

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

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

Настроили мониторинг. Что дальше? Всем привет! Меня зовут Мазеин Михаил, я занимаюсь бекенд-разработкой в ManyChat. Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недо...

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

Борьба за миллисекунды. Как выбрать сервер с наименьшим пингом Для многих задач задержки между клиентом и сервером критически важны, например в онлайн играх, видео/голосовых конференциях, IP телефонии, VPN и т.д. Если сервер будет слишком удален от клиента на уровне IP-сети, то задержки (в народе «пинг», «лаг») будут мешать работе. Ге...

[Перевод] Product Discovery 101 для Product-менеджера Перевод статьи подготовлен в преддверии старта новой группы по курсу "Product Manager IT-проектов". Так что же такое Product Discovery? Product Discovery – это процесс выяснения того, что же в конечном итоге предстоит создать. Он отражает ваше видение, дает бол...

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

Ростелеком обвинили в “угоне” трафика Google и Amazon Инцидент затронул более 8 800 маршрутов интернет-трафика из более чем 200 сетей и продолжался около часа. Затронутые компании — это одни из ключевых игроков на рынке облачных технологий и CDN, включая такие громкие имена, как Google, Amazon, Facebook, Akamai, Cloudflare, GoD...

Создаем структуру простого мультиплатформенного бота Регистрация пользователей на мероприятия, автоматический поиск ответов в базе, общение с техподдержкой, обмен контактами — все это часть функций нашего бота Leader-ID. Он «живет» на трёх платформах: VK, Facebook Messenger и Telegram, при этом логика его работы пишется один р...

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

Linux Kernel Library: ядро Linux в форм-факторе so или dll Когда-то читал статью о выборе файловых систем «чтоб везде-везде работало». В ней в очередной раз увидел жалобы, что Ext4 замечательная файловая система, но на Windows есть только кривые неточные проприетарные драйверы. Но отмотаем ленту ещё на пару лет назад: тогда на Хабре...

[Перевод] Создание Minecraft за одну неделю на C++ и Vulkan Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движке на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, и...

[Перевод] Дэвид О’Брайен (Xirus): Метрики! Метрики! Метрики! Часть 2 Недавно Дэвид О’Брайен открыл свою собственную компанию Xirus (https://xirus.com.au), сосредоточившись на облачных продуктах Microsoft Azure Stack. Они предназначены для согласованного создания и запуска гибридных приложений в центрах обработки данных, в пограничных располож...

DeepPavlov: «Keras» для обработки естественного языка помогает отвечать на вопросы про COVID-2019 В такой области глубокого обучения, как обработка изображений, библиотека Keras играет ключевую роль, радикально упрощая обучение transfer learning и использование предварительно обученных моделей. В области обработки естественного языка (NLP) для решения достаточно сложных ...

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

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

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

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

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

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

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

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

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

Как надо исправлять утечки маршрутов Стоит оговориться, что нижеследующая история во многом уникальна. И вот как она начиналась. В течение примерно одного часа, начиная с 19.28 UTC вчера, 1 апреля 2020 года, крупнейший российский интернет-провайдер — Ростелеком (AS12389) — начал анонсировать сетевые префиксы к...

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

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

[Перевод] Оптимизация времени сборки проекта Там, где я работаю (в стартапе Spot.IM, размер которого находится где-то между малым и средним), Webpack используется для сборки различных проектов. После 4 лет работы над нашим основным продуктом, когда в его код внесло вклад столько народа, что и не сосчитать, время его пе...

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

В Intel готова новая нейроморфная система Pohoiki Springs В Intel сообщили о готовности облачной нейроморфной исследовательской системы Pohoiki Springs. Она способна похвастаться впечатляющей производительностью, а потребляемая мощность устройства не превышает 500 Вт. Pohoiki Springs является специализированным решением для нейром...

[Перевод] Это норма — 2: как запекаются карты нормалей Это вторая часть серии туториалов о картах нормалей. Первая часть находится здесь, но для понимания второй части читать её не обязательно. Общий принцип запекания карты нормалей относительно прост: у нас есть lowpoly-модель с UV-координатами и highpoly-модель; мы переносим...

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

Huawei запустил в Украине специализированный сайт FusionSolar о фирменных решениях в сфере солнечной энергетики, включая умные станции Smart PV Компания Huawei Ukraine объявила о запуске в Украине официального сайта по направлению FusionSolar. Данное подразделение занимается производством оборудования для умных солнечных электростанций Smart PV и разработкой решений в сфере солнечной энергетики. В компании отметили,...

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

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

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

#видео | Ученые создали подробную 3D карту мозга плодовой мушки Плодовые мушки — частые участники самых разных научных исследований Яркая и красивая карта мозга крохотной плодовой мушки дает возможность увидеть 20 миллионов синапсов, которые связывают 25 миллионов нейронов. На 3D карте можно увидеть только четверть мозга плодовой м...

Наш опыт с разработкой под CSI: релиз драйвера хранилища для Яндекс.Облака Рады объявить, что компания «Флант» пополняет свой вклад в Open Source-инструменты для Kubernetes, выпустив альфа-версию драйвера CSI (Container Storage Interface) для Яндекс.Облака. Но перед тем, как перейти к деталям реализации, ответим на вопрос, зачем это вообще нужно...

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

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

Как научиться XR-разработке и получить оффер за пять месяцев Привет, Хабр! XR-разработкой я занимаюсь около семи лет: проделал путь от младшего специалиста до директора бизнес-юнита КРОК Иммерсивные технологии. Моя команда уже более пяти лет создает XR-продукты для промышленности. За это время наш небольшой отдел превратился в целое н...

SQL Server Plan Guide и другие не самые лучшие практики Обычно посты об оптимизации запросов рассказывают о том, как делать правильные вещи, чтобы помочь оптимизатору запросов выбрать оптимальный план выполнения: использовать SARGable-выражения в WHERE, доставать только те столбцы, которые нужны, использовать правильнопостроенные...

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

Логистика. Часть 1. Оптимизация авиасообщения по направлениям и формирование расписания Наверняка каждому доводилось летать в полупустом самолете или встречаться с переносом рейса, возможно вы задумывались об оптимальности затрат и эффективности такого рейса. Сколько потенциальной прибыли недополучает авиакомпания? Действительно, рейсы бывают малоприбыльными, а...

Переход с Mercurial на GIT в Atlassian Bitbucket с сохранением файлов в кириллице Предыстория Ещё летом в официальном блоге BitBucket опубликовали запись, в которой сообщили об окончании поддержки репозиториев Mercurial. Прекращение поддержки Mercurial будет проходить в два этапа: С 1 февраля 2020 года пользователи больше не смогут создавать новые репоз...

Эффективное и недорогое решение для освещения участков дорог от Sun Shines Чуть более года назад компания Sun Shines реализовала проект по автономной системе освещения на основе ветрогенераторов. Она была установлена в Саратовской области, на участке 98-112 км автомобильной дороги Р 228 Сызрань – Саратов – Волгоград. Система хорошо показывала себя ...

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

[Из песочницы] Наука о пользовательском опыте. Использование когнитивных искажений в разработке качественных продуктов Содержание Введение. О чем эта статья Цели и дисклеймеры Часть 1. Хороший продукт Часть 2. Пользовательский опыт (UX). Что это? Часть 3. Архитектура выбора Часть 4. Архитектор выбора Часть 5. Когнитивные искажения и Пользовательский опыт Ссылка на полную версию UX CORE (105...

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

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

История IT. ООП Мою предыдущую статью «История IT. Когда компьютеры были большими…» мы завершили концом 80-х, когда произошло два знаменательных события. Во-первых, появился ООП и объектный язык C++. А во-вторых, появились персоналки, и это принципиально изменило задачи, стоящие перед IT-ра...

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

[Из песочницы] Плоды изоляции: интерактивная карта COVID-19 с историческими графиками и миграционными ограничениям Три недели назад мы с командой в Routitude переключились с наших привычных задач на создание сервиса для мониторинга распространения вируса COVID-19. За это время мы реализовали: дашборд с регулярно обновляющимися данными для всех стран (а также административных субъектов ...

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

Разработка сайтов на Тильде Разработка сайтов на Тильде пользуется спросом среди заказчиков. Заказать такую услугу можно на сайте https://komarovaeee.com/. Все работы выполняет профессионал с большим опытом. Здесь можно заказать разработку лендинг страницы, сайта интернет магазина и других проектов. Ка...

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

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

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

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

[Перевод] О реализации библиотеки для глубокого обучения на Python Технологии глубокого обучения за короткий срок прошли большой путь развития — от простых нейронных сетей до достаточно сложных архитектур. Для поддержки быстрого распространения этих технологий были разработаны различные библиотеки и платформы глубокого обучения. Одна из осн...

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

15 лет Картам Google: новый логотип и приложение В феврале 2005 года компания Google запустила первую версию своих Карт, которые в эпоху бумажных карт позволяли пользователям проложить маршрут в интернете и… распечатать его на принтере. Но спустя 15 лет, Карты Google стали неотъемлемой частью жизни не только путешественник...

Опыт создания «умного дома» своими руками в гостиничном бизнесе Мы не часто пишем о том, как та или иная компания смогла внедрить у себя определённые технологии. Тем не менее после выхода материала «Умный дом своими руками: полтора года спустя», к нам обратился наш читатель Владимир Безлюдный с довольно интересным кейсом по созданию «умн...

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

Comet — PHP-фреймворк для быстрых REST API Два года я писал микросервисы на Go, используя генераторы кода на базе Swagger. Получались довольно компактные и очень быстрые решения. Сейчас использую PHP, поэтому решил найти средства для решения тех же самых задач в экосистеме языка. Знаю и люблю Laravel и Symfony, но т...

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

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

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

[Перевод] Это норма — 3: типы карт нормалей Часть 1: что такое карты нормалей и как они работают Часть 2: как запекаются карты нормалей Как и многие другие вещи в нашей отрасли, за многие годы карты нормалей эволюционировали, и сегодня существует несколько их типов, которые могут выглядеть по-разному. В статье я пер...

Бесполезный REPL. Доклад Яндекса REPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также т...

Telegram заменит TOR и даркнет: новый функционал TON Sites Те сайты, что мы видим открывая ссылку в браузере являются частью Сети. Она работает на основе стека (группы) протоколов TCP/IP. Среди них наиболее важными являются Transmission Control Protocol (протокол управления передачей, TCP), Internet Protocol (протокол интернета или ...

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

Учения по «суверенному Рунету» отложили из-за коронавируса Как сообщает РБК, сегодня, 20 марта 2020 должны были состояться учения по обеспечению целостности и устойчивости рунета, однако запланированное мероприятие было перенесено не более поздний срок. Решение о том, чтобы отложить плановые учения, было принято Министерством ...

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

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

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

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

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

Эпоха возрождения Усилия компании HCL Technologies вернут былую популярность Notes и Domino В последние годы легендарные продукты Notes и Domino, первые популярные решения для организации коллективной работы и обмена сообщениями, стали уходить в тень. Однако, как считает Леонид Алтухов, пр...

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

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

Внедрение CI/CD & DevOps в Enterprise (Ростелеком) — часть 2 Платформа Цифровых Продуктов Ростелеком. Как это устроеноДатой создания Платформы Цифровых Продуктов (ПЦП) можно считать лето 2017. Старое название - Digital Sandbox, или просто Песочница.В основе инфраструктуры лежат два тенанта на базе виртуализации OpenStack-KVM, размещен...

Apple, подвинься: Google смогла сильно улучшить дополненную реальность Одно время в мире была очень популярна виртуальная реальность. Люди буквально грезили ей, находя решения всех проблем. В итоге выяснилось, что технология не может заменить все без исключения, а ее заменителем ”на каждый день” является дополненная реальность. Многие компании...

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

Radeon RX 5500 XT — первая видеокарта, которой действительно нужен PCIe 4.0 Процессоры AMD Ryzen 3000 стали первыми, получившими поддержку PCIe 4.0. Поддержку этого же интерфейса имеют и видеокарты линеек Radeon RX 5700 и RX 5500. Ещё летом мы убедились в том, что этот интерфейс ожидаемо не даёт никакого преимущества Radeon RX 5700. Однако све...

Умный солнцезащитный козырек от Bosch. Тест прототипа Компания Bosch разработала устройство Virtual Visor, прототип «умного» солнцезащитного козырька. Это панель с прозрачным LCD-дисплеем, разделенным на шестигранные ячейки (соты). Система самостоятельно определяет, какие поля нужно затемнить, чтобы защитить глаза водителя от...

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

Как проверить IPS? Infection Monkey vs Check Point Три года назад мы публиковали статью “Online инструменты для простейшего Pentest-а”. Там мы рассказали про доступные и быстрые способы проверки защиты вашего периметра сети с помощью таких инструментов как Check Point CheckMe, Fortinet Test Your Metal и т.д. Но иногда треб...

Asciidoc для подготовки сложной документации В заголовке использовано слово сложной, под которым можно понимать все, что угодно. Утверждение о том, что 2 * 2 = 4, если вдуматься, тоже очень не просто. Но в данном случае всё банальнее. Речь идёт о ЕСКД, ГОСТ, ОСТ и тому подобных скучных терминах, отягчаемых бюрократиче...

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

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

Ростех отправили на пересдачу Остальные пять из семи "дорожных карт" по сквозным цифровым технологиям успешно прошли стресс-тесты. Об этом сообщил вице-премьер Максим Акимов (на фото) на пресс-брифинге по итогам форума "Глобальное технологическое лидерство" в Сочи. "Мы завершили работу по детальному ан...

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

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

Развитие интернет-технологий в России предложено отдать под контроль государства Об этом пишет “КоммерсантЪ ” со ссылкой на источник, знакомый с текстом документа. Разработку документа подтвердил еще один собеседник на IT-рынке. В "дорожной карте" поясняется, что подобные технологии могут существенно влиять на экономическое развитие...

В чём Galaxy S10 Lite превосходит обычный Galaxy S10 Galaxy S10 Lite во многом будет круче Galaxy S10 Samsung одной из первых начала выпускать упрощённые версии флагманских смартфонов, стараясь делать их максимально дешёвыми. Правда, на поверку оказывалось, что от флагманов в них нет ничего, кроме названия, к которому просто д...

2-х факторная аутентификация пользователей VPN посредством MikroTik и SMS Здравствуйте коллеги! Сегодня, когда накал страстей вокруг «удалёнки» немного спал, большинство админов победило задачу удаленного доступа сотрудников к корпоративной сети, пришло время поделиться моей давней наработкой по повышению безопасности VPN. В этой статье не будет м...

Toyota планирует построить город будущего. Каким он будет и кто в нем будет жить? Город Toyota будет расположен у горы Фудзияма По данным за 2019 год, на территории России существует 38 закрытых городов, внутри которых производится оружие и находятся всевозможные военные объекты. Жители этих городов живут вполне обычной жизнью, однако обязаны подписывать ...

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

Быстрее, чем C++; медленнее, чем PHP Привет, Хабр. У меня тут случайно код на хаскеле получился быстрее аналогичного кода на C++. Иногда — на 40%. (время работы, меньше — лучше, C++ снизу) Что самое смешное — я собирал хаскель-код через LLVM-бекенд, но при этом сравнивал с GCC. Если сравнивать с clang (что вро...

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

Оптимизация C++: совмещаем скорость и высокий уровень. Доклад Яндекса Что влияет на скорость работы программ на C++ и как её добиться при высоком уровне кода? Ведущий разработчик библиотеки CatBoost Евгений Петров ответил на эти вопросы на примерах и иллюстрациях из опыта работы над CatBoost для x86_64. Видео доклада ...

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

Правила, которые я выработал по результатам тысяч code review Во время работы в LinkedIn большая часть моей работы состояла из проверки кода, code review. Были определенные ситуации, которые постоянно возникали снова и снова, поэтому я решил составить список, которым и поделился с командой. Вот мои 3 (+1 бонус) наиболее распространенны...

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

2 года в IT, что происходит со джуном веб-разработчиком Зачастую статьи личного опыта имеют три категории от двух типов людей: история успеха / провала от новичков; крутые статьи про сложные штуки от крутых ребят; истории про разочарование от тех же крутых ребят (но это не точно *). Гораздо реже можно встретить истории разрабо...

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

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

Книга «Head First. Изучаем Go» Привет. Хаброжители! Go упрощает построение простых, надежных и эффективных программ. А эта книга сделает его доступным для обычных программистов. Основная задача Go — эффективная работа с сетевыми коммуникациями и многопроцессорной обработкой, но код на этом языке пишется ...

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

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

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

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

TCP BBR: быстрый и простой способ ускорения загрузки страниц. Доклад Яндекса Современные протоколы прикладного уровня используют для ускорения передачи данных мультиплексирование, которое повышает требования к надёжности канала. На конференции YaTalks Александр Грянко phasma рассказал, как мы ускоряем загрузку страниц на каналах с большими потерями п...

[Из песочницы] Flask-DJ: Django (mvc) структура для проекта на flask Всем привет! Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта. Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сде...

[Из песочницы] ToolKit на базе Eclipse и GTK+, для «Toradex Colibri T20 (Linux)» Эта статья рассчитана прежде всего на то, чтобы сэкономить время при создании тулкита, но при этом я постараюсь рассказать все достаточно объемно. Содержание Скачать все необходимое Установка SDK Проверка SDK Установка Eclipse Подключение GTK к Eclipse Настройка прое...

[Перевод] Опенсорс и эксперименты с виртуальным конструктором LEGO Моё детство примерно на 20% состояло из Dungeons & Dragons (D&D) и на 80% — из LEGO. Эти два занятия очень сильно пересекались. Мне, по разным причинам, не разрешали всё время играть в D&D. Но я, привлекая на помощь воображение, и достигнув в этом деле успехов, д...

Беспилотные «КАМАЗы» проходят проверку в карьерах Кузбасса Беспилотный грузовик КАМАЗ запущен на шахте "Листвяжная" в рамках реализации инновационного проекта "Цифровое горное предприятие". Его итогом должно стать создание целой системы беспилотной перевозки угля в Кузбассе к декабрю 2020-го. "Я проехал в ка...

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

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

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

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 2/2 Создание пайплайнов CI с помощью Tekton (Часть 2/2) В этой статье мы собираемся продолжить создание пайплайна CI с Tekton. В первой части мы установили Tekton на локальный кластер kind и определили нашу первую задачу, которая клонирует репозиторий GitHub и запускает тесты пр...

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

Новый Mac Pro «проиграл» устройству, которое дешевле в 250 раз Бенчмарки для слабаков, вот истинные тесты! О позорном поражении Mac Pro от этого прибора – читайте ниже. В пятницу прошлой недели, неожиданно, некоторые из заказавших Mac Pro и Apple Pro Display XDR получили их. Без пресс-релизов, без уведомлений – пресс-служба Apple сфокус...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

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

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

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

Граф сообщества «Что? Где? Когда?» (ЧГК) или сколько рукопожатий до Друзя? Привет, Хабр! Новогодние праздники — отличное время, чтобы отдохнуть от IT использовать профессиональные навыки в любимом хобби. Ковыряясь на сайте рейтинга спортивного ЧГК, я обнаружил отличный API, позволяющий получить данные о всех играх всех турниров. Так у меня появила...

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

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

1.Elastic stack: анализ security логов. Введение В связи окончанием продаж в России системы логирования и аналитики Splunk, возник вопрос, чем это решение можно заменить? Потратив время на ознакомление с разными решениями, я остановился на решении для настоящего мужика — «ELK stack». Эта система требует времени на ее нас...

MKS DLP - эпопея продолжается. Часть 5. Уже пару месяцев занимаюсь прошивкой для платы MKS DLP (плата для фотополимерного LCD-принтера). И вот наконец-то довел ее до состояния, минимально необходимого чтобы начать на ней печатать :)Слои из файла читаются и выводятся на 2к-дисплей, их уменьшенное изображение отрисо...

R Markdown. Как сделать отчет в условиях неопределенности? Маленький рецепт, который будет полезен при создании динамических отчетов. Достаточно часто встречается ситуация, когда размер и содержание отчетной формы будет зависеть от состава переданных на вход данных. Речь идет именно о story-telling отчете, а не о простом выводе таб...

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

Когда мы получим транспорт будущего Hyperloop и с какой скоростью он сможет перемещаться? Первоначально разработанный главой SpaceX Илоном Маском, Hyperloop (гиперпетля) – это новый вид наземного транспорта, который позволит пассажирам перемещаться между локациями со скоростью свыше 1100 км в час. Если подумать, то футуристическая концепция Hyperloop – если буде...

[Перевод] Дэвид О’Брайен (Xirus): метрики, метрики, метрики… Недавно Дэвид О’Брайен открыл свою собственную компанию Xirus (https://xirus.com.au), сосредоточившись на облачных продуктах Microsoft Azure Stack. Они предназначены для согласованного создания и запуска гибридных приложений в центрах обработки данных, в пограничных располож...

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

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

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

Разрабатываем чат на React с использованием Socket.IO Доброго времени суток, друзья! Хочу поделиться с вами опытом разработки простого чата на React с помощью библиотеки «Socket.IO». Предполагается, что вы знакомы с названной библиотекой. Если не знакомы, то вот соответствующее руководство с примерами создания «тудушки» и ч...

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

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

Суперкомпьютер IBM будет использоваться для создания новых компьютеров Производительность AiMOS составляет 8 петафлопс (квадриллион вычислений в секунду), что делает этот суперкомпьютер самым мощным среди всех, установленных когда-либо в частном университете. Также он занял 24-е место в мировом рейтинге Top 500, который обновляется дважды в год...

Выравнивание стола принтера средствами прошивки Marlin В случае, если у вас принтер с маленьким столом (100х100 мм или близко к этому) нет особого смысла в использовании разных вариантов автовыравнивания с построением карты высот поверхности стола. Достаточно будет аккуратно выровнять стол, откалибровав зазоры стол-сопло по его ...

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

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

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

Xbox Series X растоптал PlayStation 5 в игровом плане Компания Sony раскрыла подробности о том, как будет работать на консоли следующего поколения PlayStation 5 обратная совместимость с играми, которые вышли на предыдущих приставках семейства. Вчера в заметке, которая была посвящена характеристикам PlayStation 5, мы ...

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

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

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

Мой опыт стажировки в Microsoft Redmond и получения офера перепечатка статьи "«Каждый год Microsoft получает 2 млн резюме». Разработчик из Минска — о 7-летнем пути в компанию (+Рекомендации и список книг)" с сайта dev.by. Андрей Артемьев — Software Development Engineer в американском офисе Microsoft в Сиэтле, работает н...

Разбираемся с eSIM (+ интервью с экспертом) Поговорим о eSIM (полное название embeddedSIM — то есть, встроенная SIM) — впаянных в гаджет (в отличие от привычных съёмных «симок») SIM-картах. Разберём, чем они лучше обычных SIM-карт и почему мобильные операторы противодействуют внедрению новой технологии. Читать дальше...

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

Строим ролевую модель управления доступом. Часть вторая, «строительная» Пост, который вы сейчас читаете, – продолжение статьи о том, как правильно выстроить в крупной компании ролевую модель управления доступом пользователей к различным системам. Напомним: построение ролевой модели – это скорее процесс, чем результат, и первую часть нашей дилоги...

В туннеле под Лас-Вегасом хотят использовать электромобили на базе Tesla Model X В проекте компании Илона Маска Boring Company по прокладке подземного туннеля для подземной транспортной системы в районе конференц-центра Las Vegas Convention Center (LVCC) преодолён важный рубеж. Буровая машина пробила бетонную стену, завершая проходку первого из двух тунн...

Jinja2 в мире C++, часть третья. «Теперь ты в конане» С момента публикации предыдущей части прошло больше полутора лет, была реализована большая куча фичей, сделано несколько релизов, но не об этом пойдёт речь. Пару дней назад в жизни библиотеки произошло важное событие: она была добавлена в основной репозиторий conan'а (conan...

Пишем тренажер слепой печати на чистом JavaScript. Часть 1 Здравствуйте! В преддверии старта курса «Fullstack разработчик JavaScript» один из наших авторов решил поделиться своим опытом создания тренажера для слепой печати. А мы же, в свою очередь, хотим показать вам данный материал. Всем привет! Сегодня я решил показать, как нап...

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

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

Светодиодный костюм Это первая часть моей публикации, в которой я постараюсь кратко и лаконично изложить технологию построения современного светодиодного костюма. Уже более 4-х лет на рынке доступны цифровые светодиодные ленты на базе IC LED чипов (смарт пикселей). Суть таких пикселей доволь...

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

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

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

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

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

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

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

Здоровье индексов в PostgreSQL глазами Java-разработчика Привет. Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным. За последнее время я привёл в порядок несколько баз данных в наших микрос...

Повторная обработка событий, полученных из Kafka Привет, Хабр. Недавно я поделился опытом о том, какие параметры мы в команде чаще всего используем для Kafka Producer и Consumer, чтобы приблизиться к гарантированной доставке. В этой статье хочу рассказать, как мы организовали повторную обработку события, полученного из Ka...

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

midi-bluetooth клавиатура на esp32 Несколько лет тому назад ко мне в руки попала компактная драм-машина от небезызвестных teenage engineering. Тогда меня очень поразила идея — использовать печатную плату как часть корпуса и элемент дизайна устройства. С тех пор мне хотелось тоже собрать аналогичное по стилис...

Клин клином: использование вируса PIV5 для создания вакцины против MERS-CoV и, возможно, против SARS-CoV-2 Учитывая сложившиеся обстоятельства, вовсе неудивительно, что научное сообщество сконцентрировало все свои силы на поиск и разработку методик и инструментов для борьбы с распространяющимся вирусом. Сегодня мы рассмотрим исследование, в котором ученые из Американского общес...

[Перевод] Введение в GitHub Actions В этой статье Senior App Dev Manager Джейсон Джордано (Jason Giordano) покажет нам, как использовать GitHub Actions для создания очень простого CI/CD решения. GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие пр...

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

Сканирующее окно по массивам NumPy CoLab блокнот с примерами Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам...

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

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

Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 2/2 В данной статье мы продолжим создавать трехмерную браузерную игру лабиринт на чистом html, css и javascript. В предыдущей части мы сделали простой 3-мерный мир, реализовали движение, управление, столкновения игрока со статическими объектами. В этой части мы будем добавлять г...

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

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

Как построить “Умный дом" и не сойти с ума Умная мебель, которая сама заботится о порядке в доме, — must-have почти любой футуристической картины. На самом деле саморегулирующееся климат, автоматическое включение и выключение света и голосовое управление бытовой техникой — всё это можно настроить уже сейчас. Но пон...

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

Сравнение 6 популярных “Drag&Drop” тем на WordPress WordPress является одним из самых популярных инструментов, когда речь заходит о необходимости в легком управлении контентом и простой веб-разработке. Он успешно завоевал рынок инструментов для создания веб-сайтов, предоставляя своим пользователям быстрые, надежные и простые ...

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

(S)SDLC, или Как сделать разработку безопаснее. Часть 1 С каждым годом культура разработки растет, появляются новые инструменты для обеспечения качества кода и новые идеи, как эти инструменты использовать. Мы уже писали про устройство статического анализа, про то, на какие аспекты анализаторов нужно обращать внимание, и, наконе...

Samsung представила свой аналог AirDrop. Чем он лучше оригинала Apple не знает себе равных в создании по-настоящему полезных решений. Touch ID, Face ID, iMessage, AirDrop – все они в той или иной степени повлияли на наш опыт использования техники бренда. Ведь если можно защитить смартфон биометрией, зачем каждый раз вводить пароль? Или,...

Apple трудится над созданием собственных антенн для iPhone 5G Apple занялась разработкой собственных антенн 5G для моделей iPhone следующего поколения. Источник, осведомленный о планах Apple, рассказал, что компании не понравилась конструкция антенны Qualcomm QTM 525, поскольку она не вписывается в изящные требования дизайна iPhone 5G....

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

GitHub закрыл репозитории проекта Popcorn Time по запросу Американской ассоциации кинокомпаний GitHub закрыл два репозитория, принадлежащих пиратскому стриминговому сервису Popcorn Time, после получения уведомления о нарушении закона о защите авторских прав в цифровую эпоху (DMCA) от Американской ассоциации кинокомпаний.Popcorn Time представляет собой сервис потоковог...

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

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

Про перевод «теории» и производных от неё Теория (+её производные) — ещё одно слово, на котором у меня включается творческий тупик: в голову ничего кроме theory/theoretical/theoretically не лезет. Поэтому его мы тоже с коллегами решили покрутить и так, и этак — посмотреть, как обыгрывают эту концепцию носители. Сре...

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

[Перевод] Разработчик игры VVVVVV в честь её десятилетия сделал исходный код открытым Сегодня — десятилетняя годовщина релиза VVVVVV! Хотя, возможно, и завтра — строго говоря, впервые игра стала доступной 3 часа утра по GMT 11 января 2010 года, спустя очень долгий день устранения каждого найденного мной бага, создания сборок последней минуты и попыток медле...

HUAWEI FreeBuds 3: Вкладыши с шумодавом вместо AirPods Pro У меня на тесте появился бомбический девайс. Это беспроводные наушкники: вкладыши, а не затычки. Да ещё и с шумоподавлением. И стоит это все — 11 тысяч рублей. AirPods, AirPods Pro — до свидания! Это FreeBuds 3 от HUAWEI. Я попользовался ими две недели и мне есть...

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

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

Мой набор для автономного выживания во время карантина Эта статья посвящена подготовке к автономному выживанию в течение периода карантина. Судя по опыту ЕС и Китая, Украины и Беларуси, не за горами введение карантина из-за пандемии коронавируса Covid-19 и в РФ. Многие это уже поняли и начали заранее запасаться продуктами, средс...

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

Это эпическое обновление Mac Pro стоит 500 тысяч рублей — в 5 раз дешевле, чем у Apple Главное — правильное охлаждение Mac Pro, относительно недорого, можно превратить в настоящего монстра. Об этом можно было догадаться, но нашелся естествоиспытатель, который сделал это, засняв процесс на камеру. 384 Гигабайта оперативной памяти и 25 Терабайт SSD обошлис...

Как менялся рынок BI и почему мы решили создать свою BI платформу Я работаю в «Инфосистемы Джет» около 7 лет, большую часть из которых проектировал и внедрял BI-решения и системы, на них построенные: ситуационные центры, информационно-аналитические системы и всё, что создано, чтобы собирать и анализировать данные. За это время у меня нак...

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

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

Инфраструктура как код в Авито: уроки, которые мы извлекли Привет, Хабр! Меня зовут Саша Козлов, я занимаюсь разработкой инфраструктуры и системным администрированием в Авито последние три с половиной года. Я расскажу, как мы масштабировали и модернизировали со временем нашу работу с инфраструктурным кодом и выве...

Huawei P40 Pro может получить супербыстрый Wi-Fi Ещё в конце 2018 года организация Wi-Fi Alliance изменила принципы именования стандартов Wi-Fi, так что 802.11ax «превратился» в Wi-Fi 6. И в этом году на рынок начали выходить смартфоны с поддержкой Wi-Fi 6. Однако в Huawei считают, что этого недостаточно....

[Перевод] Разработка WebGPU-приложений WebGPU — это один из современных API, предназначенных для работы с компьютерной графикой. Среди других подобных API можно отметить Vulkan, DirectX 12 и Metal. То, что в сфере веб-графики появляются подобные решения, даёт пользователям веб-приложений те же возможности, которы...

Действительно простая графика в R для науки и публицистики R — очень мощный инструмент для работы со статистикой: от предварительной обработки до построения моделей любой сложности и соответствующей графики. Простой гугл-запрос выдаст большое количество литературы по тому, как «легко и быстро» использовать R. Здесь будут и огромные...

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

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

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

Systemd, интерактивные скрипты и таймеры Введение При разработке под linux возникают задачи создания интерактивных скриптов, выполняемых при включении или завершении работы системы. В system V это делалось легко, но с systemd вносит коррективы. Зато оно умеет свои таймеры. Читать дальше →

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

[Перевод] 6 рекомендаций по разработке безопасных Go-приложений В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопаснос...

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

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

«Бабушкофон» с кнопками — слишком современно? Тогда можно заказать мобильный телефон 4G с дисковым набором История этого гаджета началась как личный проект Жюстин Хаупт (Justine Haupt), инженера Брукхейвенской национальной лаборатории в Нью-Йорке. Год назад информация о создании сотового мобильного телефона без экрана и кнопок разлетелась в сети и стала весьма популярной.&nb...

Huawei представила собственную кредитную карту Компания Huawei в конце марта представила в Китае флагманские смартфоны серии P40, но, как стало известно, она также анонсировала свою собственную кредитную карту Huawei Card, которая выпущена по примеру Apple Card.Подробностей об этом продукте на данный момент практически н...

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

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

[Из песочницы] Кодовая база. Расширяем RecyclerView Всем привет! Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки. Хочу поделиться способами расширения RecyclerView, на...

Cassandra. Как не умереть, если знаешь только Oracle Привет, Хабр. Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Or...

Touch slider на JavaScript Когда я начинал изучать JavaScript, мне очень хотелось понять как работают и делаются слайдеры, которые можно перелистывать свайпами или мышью, но материалов с хорошим объяснением именно того, что мне надо, я не нашел. Через какое-то время мне удалось сделать нечто подобное....

Wrike: 5 лет с OKR Тема OKR (Objectives and Key Results) сейчас становится все более популярной в бизнесе. Во многих компаниях рассматривают возможность внедрить у себя эту методологию. Мы в Wrike перешли на OKR в 2015 году, и на тот момент это была достаточно новая и малоизученная тема, по кр...

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

Охладить скоростной SSD радиатором с Aliexpress: реально ли это? В прошлый раз мы рассказывали об опыте применения купленного на Aliexpress якобы медного радиатора для SSD. Мнения читателей разделились, насколько можно доверять подобным покупкам с китайской торговой интернет-площадки, да и вообще оправдано ли существование подобных про...

[Перевод] Trusted Types — новый способ защиты кода веб-приложений от XSS-атак Компания Google разработала API, которое позволяет современным веб-приложениям защитить свой фронтенд от XSS-атак, а конкретнее — от JavaScript инъекций в DOM (DOM-Based Cross Site Scripting). Межсайтовый скриптинг (XSS) — наиболее распространённый тип атак, связанных с уяз...

Network automation. Случай из жизни Привет, Хабр! В данной статье мы бы хотели поговорить про автоматизацию сетевой инфраструктуры. Будет представлена рабочая схема сети, которая функционирует в одной маленькой, но очень гордой компании. Все совпадения с реальным сетевым оборудованием являются случайными. Мы ...

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

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

Используем трейты для полиморфных связей в Laravel Введение Поговорим о возможном применении трейтов вместе с полиморфными отношениями в Laravel. Содержание статьи: Описание предметной области Создание приложения Возможные структуры БД Создание сущностей Использование трейта Написание тестов Продолжение под катом

ABBYY NeoML: как мы делали библиотеку машинного обучения и зачем она нужна Привет, Хабр! Меня зовут Стас, и я отвечаю за направление Common Libraries в компании ABBYY. Недавно мы выложили на GitHub созданную нами библиотеку для машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ...

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

[Перевод] Выпуск Rust 1.41.1: корректирующий выпуск Команда Rust опубликовала новый корректирующий выпуск Rust, 1.41.1. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.41.1...

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

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

Знакомство с ANYCUBIC Mega Zero Здравствуйте, решил поделиться своим радостным событием, мне привезли 3d принтер, и так как это мой первый обзор (ранее я вообще ничего не выкладывал в интернет) не судите строго, доставили его из Москвы до Красноярска мне за 10 дней, купил я его у официалов, коротко про при...

Простейшая интернет радио колонка «Kodi» или спасение «Малинового» кирпича Основные предпосылки: Есть старая неиспользуемая плата Raspberry Pi первого поколения; Плата лежит на шкафу мертвым грузом и не используется — плата «Кирпич»; Что хотелось бы получить: В определенный момент времени (например по настроению) плата перестает быть «...

QR-код рубль бережет: ритейлеры готовы делать скидки при оплате по СБП Ритейлеры просят ЦБ разрешить им подключаться к Системе быстрых платежей (СБП) напрямую, а не через банки. Взамен они готовы активно развивать сервис оплаты по QR-коду и делать скидки покупателям. Об этом сказано в письме Торгово-промышленной палаты РФ в адрес регулятора (ес...

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

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

Google представила новые анимации для Android Помните презентацию Android Lollipop, на которой нам показывали Material Design со множеством крутых анимаций? С тех пор, конечно, интерфейсы приложений действительно стали «материальными», но вот с анимациями как-то не задалось. Ситуацию может изменить новая moti...

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

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

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

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

Опыт построения умного дома на Raspberry Pi и открытой платформе OpenHAB. Часть 1 Два года назад у нас появился загородный дом. Только сейчас, во время пандемии, мы поняли, что это была инвестиция, а не трата бабла повышение уровня жизни. Изначально планировали жить на два дома — квартира в городе и дом за городом. Поэтому появилось желание автоматизирова...

Евросоюз строит экосистему для развития искусственного интеллекта Представленный в феврале 2020-го Еврокомиссией документ не является первым, где излагается стратегия и видение развития ИИ в Европе. В 2018 году в ЕС была представлена стратегия развития ИИ и позже - основанный на ней скоординированный план действий, рассчитанный на срок до ...

SPECIA QA Meetup SPECIA приглашает на митап по тестированию — поговорим о том, как проводить тесты без тестировщика, почему тестирование вообще необходимо и почему лучше не заниматься самотестированием, а также как устроено тестирование в веб-проектах. Программа «Философия тестирования» ...

Учёные научились генерировать мощные короткие ультрафиолетовые вихри Международная группа учёных, включая специалистов российского Сколковского института науки и технологий (Сколтех), китайского Шанхайского института оптики и точной механики и немецкого Института Гельмгольца в Йене, отыскала простой способ генерации мощных коротких импульсов ...

Беспроводной DIY датчик тепрературы и влажности с e-paper дисплеем Всем привет! Сегодня хочу рассказать читателям о своем DIY проекте датчика температуры и влажности с e-ink дисплеем. Это будет некая обзорная статья об этапах создания устройства, будет много картинок. Идея этого проекта родилась около двух лет назад, примерно тогда я увлекс...

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

Обзор USB-концентратора Canyon 12-в-1 USB Type C (CNS-HDS09DG) Доводилось ли вам сталкиваться с проблемой, когда нужно подключить к ПК или тем более ноутбуку очередное устройство через порт USB, а все они уже заняты? Приходится что-то из работающего отключать, что в данный момент нужно менее других гаджетов, но вообще-то всё равно при...

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

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

Держатели для инструмента на DIN-рейку. Приветствую всех участников портала 3Dtoday!Хочу поделиться своей идеей по размещению инструмента за рабочим столом. Со временем у любого мастера и любителя самоделок накапливается большое количество инструмента. Всегда встает вопрос о его удобном размещении. В этой ситуации...

178 Тбит/с — новый мировой рекорд скорости интернета Установлен новый рекорд скорости передачи данных в интернете, который составляет 178 терабит в секунду (Тбит/с). Сразу стоит добавить, что в обозримом будущем такая скорость не будет доступна рядовым пользователям. В данный момент самая быстрая доступная скорость для по...

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

Солнечногорск расширяет сотрудничество с АО «ГЛОНАСС» Результаты совместной деятельности, направленной на стимулирование развития экономики региона, были представлены сторонами на совещании, состоявшемся 13 марта в офисе АО "ГЛОНАСС".В числе реализуемых проектов - многофункциональный информационно-навигационный портал...

Большой анонс Google о платформах Android Auto и Android Automotive OS Компания Google анонсировала обновления для платформы Android Auto и автомобильной операционной системы Android Automotive OS.  Для Android Auto основным новшеством стало простое приложение календаря, который позволяет парой нажатий выстроить маршрут или позвонить...

Как установить Гугл Камеру почти на любой смартфон Google Camera — одно из главных программных чудес для Android-устройств. Для смартфонов серии Google Pixel это и вовсе ”Святой Грааль”, которым компания не спешит делиться со всеми. Правда, многие пользователи все равно устанавливали себе GCam и пользовались ей вместо...

Меняйся легче! Компания ELMA презентовала low-code платформу ELMA4 В Москве прошла конференция ELMA DAY 2020. В ее рамках компания ELMA провела презентацию новой версии BPM-системы ELMA4 и конструктора интерфейсов для быстрого создания бизнес-приложений и решения партнеров ELMA, а также предоставила возможность своим партнерам и клиентам по...

Почему не стоит покупать Xiaomi Redmi K30 Почему не стоит покупать Redmi K30 Redmi K20 можно назвать самым интересным устройством компании за последние несколько лет. Его глобальная версия Mi 9T также пользуется большой популярностью среди российских потребителей, но я не уверен, что тоже самое ждет Redmi K30. Мне у...

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

Собираем команду для стартапа с “0” – пошаговая инструкция для самых маленьких Возможно, кому-то из коллег пригодится мой опыт создания команды с нуля. Это аттракцион интересный, но чрезвычайно энерго- и деньгоемкий, поэтому лучше чтоб получилось с первого раза – на вторую попытку ресурсов может и не хватить. Есть такая грузинская сказка, как человек...

Эмулятор RFID на Arduino Многие читали мой пост "Эмулятор RFID", где я в деталях рассказывал об устройстве EM Marine, о том как намотать антенну, и как сделать RFID-эмулятор из трёх деталей. Но, будем честны, несмотря на гениальную простоту того устройства, оно достаточно сложно для повт...

[Перевод] Делаем своими руками: KVM Over IP при помощи Raspberry Pi На Хабре вряд ли стоит рассказывать о программах удаленного доступа к ПК, вроде TeamViewer. Но все это работает лишь в среде операционной системы. А вот доступа к BIOS, возможности установки, переустановки и прочих операций с операционной системой нет. Для всего этого есть ...

[Перевод] 10 практических рекомендаций по безопасности образов Docker. Часть 2 Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». Читать первую часть 5. Не оставляйте чувствительные данные в образах Docker Иногда при создании приложения внутри образа Docker вам нужны такие секретные данные, как приватный SSH-ключ для извл...

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

[Перевод] Как написать игру за месяц, не отвлекаясь от основной работы MoonGun — игра в жанре экшен/стратегия о защите лунной базы от астероидов. Игра была создана Ивенсом Серпой — автором множества статей о геймдизайне — в рамках Github Game Off Game Jam в ноябре 2020 года. Занимался он ей в одиночку в свободное от работы время. Игра получил...

1. Group-IB. Комплексная защита сети. Архитектура TDS Добрый день, коллеги! Сегодня начинаем новый цикл статей, посвященный решениям информационной безопасности от компании Group-IB. Компания работает на рынке информационной безопасности уже более 17 лет, и за это время обросла весьма существенными компетенциями, выполняя про...

Стас Афанасьев. Juno. Pipelines на базе io.Reader/io.Writer. Часть 1 В докладе поговорим про концепцию io.Reader/io.Writer, для чего они нужны, как их правильно реализовывать и какие в связи с этим существуют подводные камни, а также про построение pipelines на базе стандартных и кастомных реализаций io.Reader/io.Writer. Читать дальше &rarr...

Стас Афанасьев. Juno. Pipelines на базе io.Reader/io.Writer. Часть 2 В докладе поговорим про концепцию io.Reader/io.Writer, для чего они нужны, как их правильно реализовывать и какие в связи с этим существуют подводные камни, а также про построение pipelines на базе стандартных и кастомных реализаций io.Reader/io.Writer. Читать дальше &rarr...

Microsoft пока не согласилась адаптировать Windows для Mac с ARM Думаю, все уже слышали про Apple Silicon. Это новая инициатива Apple по переводу всей линейки Mac на мобильные процессоры собственного производства. В Купертино решили, что их фирменные чипы уже достаточно производительны, чтобы ими можно было снабдить даже самые мощные маш...

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

Разработка hexapod с нуля (часть 6) — переход на 3D печать и новая электроника Всем привет! Разработка гексапода активно продолжается и пришло время показать кардинальные изменения в конструкции и планы по прошивке. Появилась большая пауза в выходе новых статей в результате длительного проектирования новой электроники и корпуса. В принципе об этом и б...

Симуляционное моделирование механической системы средствами визуального программирования Scilab\Xcos Вместо предисловия. Эта небольшая по объему работа была экстренно выполнена с учебными и демонстрационными целями около года назад на базе уже разработанной ранее модели струны. Как водится, потом полежав энное время без дела, недавно она попалась мне на глаза. Что такое S...

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

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

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

[кейс Locomizer] Как за два с половиной года ускорить расчёт тепловой карты в 20 000 раз Данная статья является продолжением серии «Кейс Locomizer», см. также Какие знания можно на самом деле извлечь из анонимизированного датасета с координатами пользователей Открываем One Ring — инструментарий для гибкой конфигурации сложных процессов обработки данных на Spar...

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

CrowdSec — современная альтернатива Fail2Ban и коллективный иммунитет для Интернета CrowdSec Инструмент Fail2Ban хорошо известен админам. Программа анализирует логи на сервере и подсчитывает количество попыток доступа с конкретных IP-адресов по указанным протоколам. В случае нарушения правила данный IP-адрес блокируется на заданный отрезок времени. Наприм...

История создания облачного сервиса, приправленная киберпанком С ростом стажа работы в IT начинаешь замечать, что системы имеют свой характер. Они могут быть покладистыми, молчаливыми, взбалмошными, суровыми. Могут располагать к себе или отталкивать. Так или иначе, приходится «договариваться» с ними, лавировать между «подводными камням...

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

Эльбрус VS Intel. Сравниваем производительность систем хранения Аэродиск Восток и Engine Всем привет. Мы продолжаем знакомить вас с системой хранения данных Аэродиск ВОСТОК, выполненной на базе российского процессора Эльбрус 8C. В этой статье мы (как и обещали) детально разберем одну из популярнейших и интереснейших тем, связанной с Эльбрусами, а именно – прои...

Как оценить ёмкость сервиса и не упасть под нагрузкой Рано или поздно любому растущему сервису приходится оценивать свои технические возможности. Сколько посетителей мы в силах обслужить? Какова ёмкость (она же capacity) системы? Не добрались ли мы до предела и не упадём ли, если привлечём ещё несколько тысяч пользователей? С...

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

Изготовление спинального импланта с использованием 3D-принтера по металлу EP-M250 По мере того как продолжают развиваться технологии аддитивного производства, увеличиваются их сферы применения и доступность. Несмотря на то, что быстрое создание прототипов и инструментов всегда выходило на передний план, конечной целью была возможность применения 3D-печати...

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

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

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

[Из песочницы] Распределенный реестр для колесных пар: опыт с Hyperledger Fabric Привет, я работаю в команде проекта РРД КП (распределенный реестр данных для контроля жизненного цикла колесных пар). Здесь я хочу поделиться опытом нашей команды в разработке корпоративного блокчейна для данного проекта в условиях ограничений, накладываемых технологией. По ...

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

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

Terraform 12 и Terragrunt и как это можно применять для Multi-Cloud-инфраструктуры. Александр Довнар Что такое Terraform 12 и Terragrunt, и как это можно применять для Multi-Cloud инфраструктуры. Мы поговорим про IaC (Инфраструктура как код) влияние на современный мир и о том, как Terraform помогает работать с гетерогенных окружениях.Я хочу обсудить немного сам Terraform, ...

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

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

«Швабе» и МФТИ готовят проекты в сфере искусственного интеллекта Профильные лаборатории МФТИ работают по трем направлениям - медицинская техника, оптоэлектроника и искусственный интеллект (ИИ). На их базе планируется создать целый ряд продуктов: навигационные системы, оптические устройства, робототехнику, системы поддержки принятия врачеб...

[Из песочницы] Как поднять свой сервер на RaspberryPI на основе docker Сказ о том, как я настраивал сервисы в docker на Raspberry PI и почему это, возможно, не лучшая идея. Введение (или как всё начиналось) Началось всё очень давно пару лет назад. Так уж вышло, что я оказался в Китае и надо было как-то связываться с внешним миром. Сторонним VPN...

[Перевод] Новости из мира OpenStreetMap № 497 (21.01.2020-27.01.2020) Fernão de Magalhães’ Маршрут кругосветного путешествия в честь 500-летия с момента совершения кругосветного путешествия Фернаном Магелланом на карте OSM 1 | CMETOC | map data OpenStreetMap contributors Картографирование Европейский проект по водным ресурсам — это совместн...

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

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

Повышение привилегий в Windows клиенте EA Origin (CVE-2019-19247 и CVE-2019-19248) Приветствую всех, кто решил прочитать мою новую статью с разбором уязвимостей. В прошлый раз небольшим циклом из трех статей я рассказал об уязвимостях в Steam (1, 2 и 3). В данной статье я расскажу об уязвимостях похожего продукта — Origin, который тоже является лаунчером д...

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

Китайский iPhone SE 2020 получился урезанным Новый смартфон Apple iPhone SE, который будет продаваться в Китае, получил одно существенное отличие по сравнению с версиями, предназначенными для продажи в России, США и других странах мира. Разница заключается в отсутствии поддержки встроенной SIM-карты (eSIM). На офи...

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

Делаем "Правильный" mks tft Wi-Fi +SD. Без программатора и создания печатных плат! Привет всем.Уже около года, как я пользуюсь системой собранной на MKS Sbase+ KMS TFT под управлением SmoothieНекоторое время назад я, наверное как и многие тут, добавил Wi-Fi модуль. Просто под руку попался в магазине. Решил что лишним не будет.Но удовольствия от покупки я н...

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

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

Создание SDK под Android в стиле Single-Activity Single activity подходом при создании конечного приложения под Android никого не удивишь. Но мы пошли дальше и использовали No-Activity при разработке SDK. Сейчас разберемся для чего это понадобилось, возникшие сложности и как их решали. Читать далее

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

Солнце, ветер и вода Сезон первый Переживем кризис вместе… — на яхте. (С) мой друг Статья о выборе минимально необходимого двигателя на яхту. Шаг первый — с чего все началось Примерно в середине 2014 года, когда стало понятно, что кризис будет весьма затяжной, снова пришло время верстать собств...

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран ...

Как мы построили динамические отчеты на SSRS 2014 Мы уже рассказывали, как помогли одной производственной компании трансформировать процессы корпоративного обучения и развития персонала. Сотрудники заказчика, которые тонули в бумажных документах и Excel-таблицах, получили удобное iPad-приложение и веб-портал. Одна из самых ...

Мягкий робот с физиологией гепарда двигается в 3 раза быстрее обычных Робототехника продолжает активно развиваться, и при создании наиболее прогрессивных роботов разработчики все чаще вдохновляются животными.На просторах интернета появилось видео, в котором показана скорость движения новых «мягких» роботов. За их основу была взята ...

Возможно ли собрать строительный 3D-принтер за 50 тысяч рублей? 
Ответ – да. На сегодняшний день применение 3D-принтеров в строительстве не только активно практикуется, но и само оборудование постоянно модернизируется. Модернизация требует исследования, а исследование невозможно без экспериментов. Именно поэтому я задумал этот проект, который, как мн...

Моя первая печать миниатюр Приветствую уважаемого читателя!Настало время похвастать своими первыми шагами в 3d-печати. Собственно для миниатюр, прежде всего, я принтер и взял.Довольно простой мне показалась печатать тушек космодесанта с крылатым черепом на груди, её и выбрал для начала. МодельPhoton w...

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

Orchestrator и VIP как HA-решение для кластера MySQL В Ситимобил мы используем базу данных MySQL в качестве основного хранилища постоянных данных. У нас есть несколько кластеров баз данных под различные сервисы и цели. Постоянная доступность мастера является критическим показателем работоспособности всей системы и ее отдельны...

[Из песочницы] Unity3D: Автоматический агрегатор скриптов-менеджеров Вступление В этой статье речь пойдет об одном виде организации взаимодействия между скриптами-менеджерами (синглтонами именуемыми), а конкретно — использование отдельного класса-агрегатора, в котором содержаться ссылки на все instance менеджеров. Идея создать класс-агрегатор...

Спутниковые снимки Google Maps охватывают районы проживания 98% населения мира Компания Google постоянно совершенствует Google Maps и связанные сервисы. На этой неделе интернет-гигант поделился некоторыми статистическими данными, характеризующими масштабы этой работы, и рассказал о методах, которые он использует. По подсчетам Google, снимк...

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

Apple представила обновление Apple Maps в США. В Европе — в 2020 году Apple начала обновление Apple Maps в США ещё в 2018 году, но закончила его только сейчас Несмотря на то что несколько лет с момента своего запуска Apple Maps оставались не просто посредственным, а даже опасным сервисом, который запросто мог завести людей не туда, куда им был...

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

Робокары Waymo (Google) начинают развозить посылки в Фениксе, США Компания Waymo продолжает развивать свои робокары. Определенный прогресс есть, несмотря на все сложности. Так, сейчас роботизированные автомобили этой компании будут доставлять посылки для UPS в Фениксе, США. Изначальный маршрут будет не слишком длинным — автомобили Chrys...

По данным JPR, процессоры AMD служат основой 41% игровых ПК В октябре прошлого года компании Jon Peddie Research (JPR), Antikythera Intelligence and Research и Wccftech провели опрос геймеров из числа посетителей сайта Wccftech, в ходе которого было получено в общей сложности 143 264 ответа на 26 вопросов. Вчера компания JPR опу...

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

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