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

Разработка, сборка, деплой и мониторинг сервисов: от общего к частному и обратно Привет, Хабр! Меня зовут Андрей Перепелкин. Я руководитель группы бэкенд-разработчиков, вошел в IT более 15 лет назад, 10 лет занимаюсь Java и около 4 плотно работаю с микросервисами. В этой статье я расскажу, как:— мы организовали разработку микросервисов так, чтобы вы...

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Теория и подготовка Привет, Хабр! Если вы работаете с микросервисами, то знаете, что они имеют свойство образовывать некоторую связанность. Хорошо, когда связи между микросервисами однонаправленные, но всё становится сложнее, если возникают циклические зависимости.Такие зависимости приводят к с...

Микросервис головного мозга. Пилим всё, что движется Это история о том, как увеличить скорость выкатки фич, но сохранить качество продукта. О болевых точках, которые замедляют разработку, и новой «болезни» — микросервисе головного мозга, которую диагностировал Михаил Трифонов, техлид фронтов в SberСloud. Он утверждает, что она...

Security микросервисов с помощью Spring, OAuth2, JWT и Service Account Не так давно я начинал свой первый проект с микросервисами и не знал как реализовать security. Сейчас информации по этому вопросу уже больше однако она не всегда актуальна и как правило не раскрывает проблему security межсервисного взаимодействия. Поэтому я решил написать ка...

Go-контексты и микросервисы. Как решить проблему с соединениями к базе при помощи контекстов Всем привет! В статье расскажу:— Как и почему у нас возникла необычная проблема, вызвавшая поток 400-ых ошибок. — Как реализовали полноценную поддержку отмены операций в микросервисе.— Как реализовали свой пул подключений к базе для переиспользования подключений к базе ...

Behave test recorder. Запись сценариев автотестов Привет! Меня зовут Степан Лущий, я – тимлид команды тестирования компании «БАРС Груп». Мы занимаемся созданием автоматизированных тестов (автотест), инструментов для их написания, а также развитием инфраструктуры автотестирования. В этой статье я расскажу, как мы разработали...

Как настроить «Планфикс» с нуля и почему именно он Статья будет интересна бизнес-аналитикам, project-менеджерам, тимлидам, CEO начинающих студий по разработке и всем причастным и интересующимся. Hola, Amigos!Меня зовут Артем, и я TeamLead компании Amiga. Сегодня расскажу, как мы настроили процессы взаимодействия с коман...

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

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

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

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Практика Снова привет, Хабр! В первой части статьи мы разбирали, что такое изоляция микросервисов, как в этом помогают переключатели функциональности, и как создать простое ASP.NET приложение в с поддержкой feature toggles, которое будет показывать прогноз погоды. В этой части з...

[Перевод] Распутывание микросервисов или балансировка сложности в распределенных системах Эта статья является переводом материала «Untangling Microservices, or Balancing Complexity in Distributed Systems».Расцвет микросервисов закончился. Uber преобразовывает тысячи микросервисов в более управляемое решение [1]; Келси Хайтауэр предсказывает, что будущее за моноли...

Визуализация данных с помощью веб-фреймворка Dash (часть 2) В предыдущей части статьи мы разбирали, что такое dash в общем, и создавали одностраничный дэшборд, взяв за основу датасет драгоценных камней с kaggle.Но! Задачи, которые падают на нас ,не всегда просты и не всегда возможно ограничить себя  одной страницей на Дашборде. ...

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

Из Java в Kotlin: туда и обратно В статье рассмотрены проблемы и решения, которые возникли при добавлении Kotlin в небольшой существующий микросервис на Spring Boot, написанный на Java. В рамках статьи не будут рассматриваться плюсы и минусы того или иного языка - здесь и так сломано много копий. В рамках п...

Где работать в ИТ в 2022: Wallarm Наша рубрика «Где работать в ИТ» — это интервью с интересными айти-компаниями, в которых они делятся подробностями о процессах своей работы. Сотрудники компании рассказывают о найме, условиях, командах и технологиях. Участник этого выпуска — компания Wallarm (...

Синтезируем SystemVerilog код в OpenSource среде Yosys/NextPNR В предыдущей статье я поделился опытом работы с ПЛИС фирмы Lattice через инструменты с открытым исходным кодом Yosys и NextPNR. Как я отмечал, освоить их меня заставило не столько любопытство, сколько требования Заказчика. В том проекте у меня просто не было выбора. И та ста...

Руководство разработкой: beginner's survival guide Привет! Меня зовут Наташа, я руковожу разработкой бэкенда страницы yandex.ru. Сейчас у нас в команде больше двадцати человек, которые входят в отдельные группы разработки. Три года назад я впервые стала «тимлидом» маленькой группы из четырёх человек, накопив к этому времени...

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

Прячем секреты в репозитории с помощью helm-secrets, sops, vault и envsubst Привет, Хабр! Меня зовут Евгений Симигин, я занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. А еще я – куратор практикумов docker и kubernetes на платформе rebrainme.com. Практика показывает, что далеко не все ...

Автоматизируем iOS-сборку c помощью Jenkins Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю в проекте WASD.TV. В этой статье я расскажу о своем способе автоматизации iOS-сборки в TestFlight через Jenkins. С помощью такого метода можно настроить автоматизацию как локально, так и на удаленной м...

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

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 1 Как добиться необходимого контроля, удобства и даже скорости при подготовке тестовых данных для микросервисов и тестов производительности? В каких случаях лучше не генерировать XML и JSON файлы с помощью конкатенации строк? Зачем анализировать статистику по SQL запросам?Меня...

Как мы создавали Data Management Platform: архитектура, проблемы, выводы Для таргетинга мы в Ozon используем сегменты, в которые группируем пользователей по интересам. Интересы могут быть определены через систему трекинга событий. Последние в свою очередь формируются в процессе взаимодействия пользователя с маркетплейсом Ozon. На основе сегментов...

Как создать эффективный продукт и не продать рыбе зонтик. Проектируем ценностное предложение Всем привет, меня зовут Александр Гришин и я работаю продакт-менеджером в ISPsystem. Уже больше двух лет занимаюсь развитием продукта VMmanager — платформы серверной виртуализации.В этой серии статей я расскажу, как создать работающий продукт, нужный рынку и приносящий прибы...

Справочники в iOS: храним, обновляем, используем Всем привет! Меня зовут Саша, и я iOS-разработчик в hh.ru. Страны, города, профобласти, языки, валюты – всё это названия справочников внутри нашего мобильного приложения. Они очень редко меняются, но используются повсюду, а поэтому обязаны быть актуальными и не должны т...

Доводим распределённые действия до конца с использованием простейшего паттерна Saga Привет! Меня зовут Иван, я занимаюсь бэкенд-разработкой в Ozon: пишу микросервисы на Go для личного кабинета продавца. В прошлом году мы запустили новый процесс регистрации продавцов, в котором задействовано сразу несколько микросервисов. В нём стало больше шагов, при этом к...

ALD Pro. Почему мы решили сделать свое решение для централизованного управления доменом на ОС Astra Linux Это моя первая статья на «Хабре», и для начала я бы хотел представиться. Меня зовут Евгений Паутов. С сентября 2020 года я работаю менеджером продукта ALD Pro в ГК «Астра». Если говорить о компании, то ее основное направление — это разработка отечественной операционной систе...

ElasticSearch — как мы делали свою речевую аналитику Привет! Меня зовут Аркадий. Последние пару лет я в основном занимаюсь развитием поиска по тексту в команде TQM (Tinkoff Quality Management) в банке Тинькофф. Наш продукт — это речевая аналитика по звонкам, чатам и другим активностям, контроль качества, анализ и прочее. Более...

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

Python — серьезный язык для разработки backend Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчико...

Как мы сделали хакатоны great again Привет, Хабр! Меня зовут Леонид Тощев и я отвечаю за направление разработки в команде контента Учи.ру. С 2020 года мы регулярно проводим внутренние хакатоны и очень довольны результатами. И для нас это реально работающие штуки, где мы тестируем новые идеи и технологии. Вот к...

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

Простой backend на C++: это возможно? Была у меня мечта - писать backend на C++. А вот разбираться в unix socket'ах, TCP, многопоточной/асинхронной обработке запросов и во многом другом совсем не хотелось. Не верил я, что до сих пор нет каких-то минималистичных фреймворков. И сегодня я вам расскажу, как можно пр...

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

Микросервисный фреймворк Flogo — собираем систему из кирпичиков Для создания микросервисной архитектуры на Go может использоваться фреймворк Flogo, основанный на идеях потока сообщений/данных между микросервисами и реакции на события. В этой статье мы рассмотрим его возможности на примере простой задачи обработки данных телеметрии. Читат...

Как работать с Tanzu — опыт Sportmaster Lab Tanzu от VMware — это набор полезных продуктов для тех, кто работает с микросервисами. В Sportmaster Lab мы тоже начали его использовать, и в этом посте расскажем, как именно. Помогут нам в этом Павел Бацев, старший администратор сервисов Спортмастера, и Алексей Гришутин, ко...

Микросервисы, Apache Kafka и Domain-Driven Design Почему Apache Kafka стала стандартом и основой архитектуры микросервисов. Как Kafka не только заменяет другое промежуточное ПО, но и позволяет создавать сами микросервисы с помощью DDD и нативных API Kafka: Kafka Streams, ksqlDB и Kafka Connect. Читать далее

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

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

«Kiss the cook» или еще пара рецептов для XWiki Свободного времени становится всё меньше и меньше, поэтому в этот раз перейду сразу к делу. В прошлых статьях я обещал поделиться еще парой приёмов по настройке XWiki, которую я использую как портал для технической документации.Лучше поздно чем никогда, поэтому сегодня мы:- ...

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

gRPC в .NET — рецепты счастья Массовый переход от монолитов к микросервисам решает ряд проблем:— раздельный деплой и рефакторинг;— удобное масштабирование частей системы;— прозрачное разграничение ответственности команд;— снижение бласт-радиуса;— снижение когнитивной нагрузки на разработчика.При этом соз...

Gatling. Тестирование JDBC Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Этот текст — часть цикла статей, посвященных тестированию производительности с помощью инструмента Gatling. В предыдущей статье мы с командой рассказали о работе Gatling с HTTP. Еще м...

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

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

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

Как выложить свою первую библиотеку в open source Привет. Меня зовут Роман Аймалетдинов, я разрабатываю под Android в inDriver. Сегодня я решил поделиться своим небольшим знанием о том, как выложить в open source свой проект. Приятного чтения! Читать далее

Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM) Привет, Хабр!Меня зовут Кирилл Васильев, и я хотел бы рассказать, как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM). КММ — это технология кроссплатформенной разработки, позволяющая писать общий код под основные платформы за исключением UI-слоя. Все продукты со вр...

[Перевод] 10 эвристик юзабилити, которые должен знать каждый дизайнер 25 лет назад Якоб Нильсен описал 10 основных принципов проектирования взаимодействия. Эти принципы были разработаны на основе многолетнего опыта в области юзабилити-инженерии и стали правилами для взаимодействия человека и компьютера.Сегодня эти принципы так же актуальны, ка...

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

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

Как внедрить что-то своё в CoordinatorLayout и не умереть: путь Android-самурая Привет! Меня зовут Андрей Шоколов, я Android-разработчик KODE. К нам обратилась компания Forward Leasing с запросом разработать мобильное приложение по готовому дизайну. Прототип содержал дугу, которая по задумке должна была сжиматься в одну линию при скролле. За основу реши...

Как устроен вывод Generic-типов в Java Добрый день! Меня зовут Владислав Верминский, я отвечаю за развитие профессии JVM-разработчика в Райффайзенбанке. В этой статье я расскажу про неоднозначность вывода типов в Java. На первый взгляд с ним всё очевидно, но когда сталкиваешься со странным поведением, возникают в...

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

Flink для самых маленьких Привет! Меня зовут Юля, я работаю в дирекции больших данных Билайн, недавно я познакомилась с фреймворком Flink и хочу рассказать о своих впечатлениях на примере простой с первого взгляда задачи.Итак, что же такое Flink? Apache Flink – это фреймворк и движок для statefu...

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

Хранители данных: как устроена работа с DWH в Lamoda Всем привет! Меня зовут Юлия Скогорева, я системный аналитик в команде Center of excellence в Lamoda, которая входит в дирекцию данных и аналитики.Если бизнесу нужны какие-то данные для принятия важных решений, то на помощь приходит наша команда. Мы тщательно изучаем множест...

Как я тестировал Android-приложения с помощью Samsung Remote Test Lab Меня зовут Игорь. В прошлом году, параллельно с учебой в 11 классе, я проходил обучение в “IT-Школе Samsung” на базе томского IT-Куба. В конце курса обучения я одержал победу во Всероссийском конкурсе компании Samsung по разработке мобильных приложений «IT Школа выбирает сил...

[Перевод] Как работают браузеры. Часть 1 Браузеры — это программное обеспечение, установленное у нас на устройствах и позволяющее получать доступ к Интернету. Как они работают, и что происходит от момента ввода адреса до тех пор, пока нужная страница не отобразится на экране?Если максимально упростить, то всё проис...

Для мониторинга CronJob в Kubernetes нужен простой советский… Привет, Олимпийский Хабр! Меня зовут Аня, я работаю в Ozon: строю и развиваю инфраструктуру мониторинга в Observability-платформе. Моя команда помогает разработчикам следить за своими сервисами и своевременно получать алерты, если что-то идёт не так. На Хабре довольно много ...

Как работает создание и управление маркетинговыми кампаниями Спортмастера и причём здесь Oracle Приветствую! Меня зовут Михаил, я разработчик Oracle в ClubPro (Клубная программа, программа лояльности Спортмастера). В команде разработки моё основное направление связано с развитием Campaign Management. Campaign Management (далее для краткости Campaign) предназначен ...

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

Интеграция CrowdSec в Kubernetes Архитектура микросервисов — самая серьёзная угроза безопасности в кластере Kubernetes (K8s), так как каждое развёртываемое приложение открывает для злоумышленников новый потенциальный вектор атаки. При этом, развёрнутые приложения генерируют логи, а наша платформа CrowdSec м...

[Перевод] Data-Oriented архитектура В архитектуре программного обеспечения существует один малоизвестный паттерн, заслуживающий большего внимания. Архитектура, ориентированная на данные, (data-oriented architecture, DOA) была впервые описана Радживом Джоши в отчете RTI 2007 года, а затем в 2017 году Кристианом...

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

Как работает React: подробное руководство Привет, друзья! В этой статье я покажу вам, с чего начинается React. Что это означает? Это означает, что мы разработаем мини-версию React, которая сможет выполнять следующий код: import '../style.scss' import MyReact from './my-react' const buttonStyles = { border: 'none...

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

Как я стал программистом, потом тимлидом и сейчас ращу тимлидов Всем привет, меня зовут Дима, и последние 9 лет я работаю в компании Veeam. Начав простым C# разработчиком, я вырос в тимлида маленькой, но дружной команды из семи человек. Как так получилось, а также о том, что начинается там, где заканчиваются статьи с историями успеха – о...

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

Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие Всем привет :) Меня зовут Голов Николай, я строю платформу данных на основе Snowflake и Anchor Modeling в ManyChat.В этой статье я уже подробно рассказывал, как решал аналогичную задачу  в Авито, используя Vertica и методологию Anchor Modeling. В комментариях ...

Как разработчикам начать вести Телеграм-канал Меня зовут Александр, я руковожу backend-разработкой в КТS. Мы разрабатываем сложные высоконагруженные сервисы для крупных корпораций и рекламные спецпроекты.У нас есть Телеграм-канал «Программисты делают бизнес». Мы ведем его недавно — первый пост вышел в декабре 2020 года....

Это была хорошая охота: 13 лет CTO от прихода до ухода У нас в Туту в марте уходит CTO Вадим Мельников, который за 13 лет успел перевезти компанию из подвала с дошираком в мир высоких технологий. Не один, конечно, но Вадим был очень крутым CTO, и я хочу рассказать, как он поменял всё за это время. В общем, никто не рассказыв...

Service Mesh на стероидах: как построить управляемое взаимодействие между сотнями микросервисов Сталкивались ли вы с задачей построить Enterprise-grade-приложение из десятков приложений, слабо связанных друг с другом, разрабатываемых разными командами, с разными моделями релиза? Мы хотим поделиться опытом, как решили эту задачу в Netcracker. Как в этом помогла концепци...

Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция Привет! Меня зовут Сергей Курочкин, я руковожу Android-разработкой в СберМаркете. Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс ...

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

Как мы сделали фильтр «бабушкин ремонт» Найти и выбрать квартиру в современном мире — что может быть проще? Берёшь смартфон, скачиваешь приложение и находишь подходящий вариант. Так же просто разместить объявление о продаже или аренде недвижимости. Пользователи смотрят десятки квартир в поисках подходящей — качест...

Распределенные Workflow на PHP. Часть 1 Мы занимаемся разработкой огромного количества сложного ПО для автоматизации и энтерпрайза и Workflow для нас — это большая и больная проблема. Если для вас тоже — я расскажу, как писать и оркестрировать очень сложные процессы на масштабах, и как убедиться, что они не падают...

Новая глава. Как AGIMA меняет подход к кадрам Привет! Меня зовут Александр Богданов, я основатель компании AGIMA. Эта статья очень важна для меня, всей нашей команды и IT-специалистов, которые сейчас оказались на распутье. Санкции против России существенно повлияли на весь бизнес в стране и, конечно же, на рынок IT. А п...

10 вещей, которые можно делать в верстке с помощью псевдоэлементов before и after Привет, Хабр! Меня зовут Максим Васянович, я спикер курса “Веб-верстка” в Skillbox. Сегодня поговорим о верстке, а точнее - о нюансах работы с псевдоэлементами before и after. Статья будет полезна, прежде всего, начинающим верстальщикам. Но, возможно, и профи будет интересно...

С 2 лет до 6 месяцев: как мы ускорили “доставку” почтового ПО в 4 раза Всем привет! Меня зовут Антон, я системный архитектор отдела разработки курьерских сервисов в Почтатехе. Мы разрабатываем сложные цифровые продукты Почты России. Помогаем ей стать удобнее, быстрее, качественнее и технологичнее для вас. Команда нашего отдела создаёт и ра...

CSS и XPath для QA: чтобы разобраться с локаторами, нужно всего лишь… Привет! Меня зовут Иван, я руковожу горизонталью автоматизации тестирования в Skyeng. Часть моей работы — обучать ручных тестировщиков ремеслу автоматизации. И тема с поиском локаторов, по моему опыту, самая тяжкая для изучения. Здесь куча нюансов, которые надо учитывать, но...

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

Собираем генератор данных на Blender. Часть 1: Объекты Привет, Хабр! Меня зовут Глеб. Я работаю в компании Friflex над проектами по оцифровке спорта. Работая над idChess (приложением для распознавания и аналитики шахматных партий), мы расширяем наш датасет синтетическими данными. В качестве движка используем Blender. В этой ста...

Что такое ECS и с чем его компилят Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев ...

Безопасность Kubernetes — это просто Привет, Хабр!Эта статья - расшифровка доклада с QIWI Server PartyМногие знают, что такое микросервисы и как их оркестрировать. А вот как обеспечить их безопасность, это отдельный вопрос, достойный обсуждения. Потому что если достаточно глубоко не разобраться в том, что и как...

Если гипотеза Римана не верна… Как известно, в военное время значение косинуса может достигать трех. К счастью, это не касается простоты чисел - как ни бейся лбом об стену, число 17 простое и ни на что не делится, кроме себя и 1. Или нет? Что если мы грубо пошуруем ломиком в святая святых математики и под...

OAuth в мобильных приложениях Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используют...

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

Этапы развития продакт-менеджера. От разработки фич до выхода на новый рынок Меня зовут Наталья Царёва, вот уже 4 года я работаю в компании ISPsystem на должности product manager. Сейчас я полностью отвечаю за DCImanager —  это платформа для управления оборудованием. Как CEO, только не компании, а продукта. Но такой уровень ответственности и спи...

Решаем проблемы REST с помощью Redux Toolkit Query В приложениях с REST архитектурой существует ряд проблем:• повторяющийся код при работе с состоянием приложения;• костыли и велосипеды при обработке результатов и состояний запросов;• отсутствие стандартного механизма кеширования полученных на клиенте данных; • одновременные...

Окрашивание изображений Статья про окрашивание изображений на основе работы Color2Embed: Fast Exemplar-Based Image Colorization using Color Embeddings. Рассмотрим, как переносить цвет с одной картинки на другую с помощью смеси из U-Net и StyleGAN v2. Читать далее

Репликация с нуля за 5 простых шагов (невозможна) Меня зовут Сергей Петренко, я работаю в команде кластерных технологий Tarantool. В прошлом году я рассказывал о том, как в Tarantool появилась синхронная репликация и поддержка автоматических выборов лидера на основе Raft. Теперь предлагаю погрузиться во «внутренности» репли...

Стабильность develop в Android Всем привет! Меня зовут Костя, я тимлид платформенной мобильной команды в hh.ru. Мы уже рассказывали о практиках, которые помогают нам выпускать еженедельные релизы мобильных приложений: автоматизация тестирования, Release Train, GitHub Flow, Continuous Integration. И нам ст...

CSS в Oxygen XML для гуманитариев Всем привет!Меня зовут Татьяна и я старший технический писатель в компании Orion Innovation. В нашей уже немаленькой команде мы используем довольно обширный стэк инструментов и технологий, но наиболее востребованы и удобны в работе - XML-редакторы с поддержкой DITA архитекту...

Actions: как в GitHub, но в GitLab Привет! Меня зовут Артемий Окулов, я lead центра компетенций CI/CD в X5 Group.То, чем мы с командой занимаемся, можно отнести к области под названием Developer Experience. В какой-то момент ИТ в компании достигает такой зрелости, что появляются tools team, enabling team и ин...

[Перевод] Вы используете ненадежный код В декабре прошлого года Log4Shell сократил ночи многих людей в мире JVM. Хуже того, используя аналогию с землетрясением, после первоначального землетрясения возникло множество афтершоков.Я сразу установил связь между Log4Shell и Security Manager. Сначала я не хотел...

Инструкция: Как построить процесс доставки приложения в Kubernetes, используя gitlab ci и gitlab runner Привет, Хабр! Меня зовут Егор Комаров, я тестировщик в команде #CloudMTS. Сегодня я расскажу, как настроить процесс развертывания и обновления микросервисного приложения от разработчика до облака в две команды. Когда в приложении появляется новый функционал (например, из...

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

Золотое правило системного администрирования Я занимался разработкой систем последние 12 лет своей жизни. У меня в руках побывало всё. Я видел системы, работающие на COM портах, для передачи данных между терминалами. У меня есть сертификат NEC, подтверждающий тот факт, что я могу программировать их зубодробительные с...

Автоматизация процесса релиза Всем привет! Меня зовут Даниил Хейфец, и я QA Lead мобильного направления в hh.ru. В этой статье я расскажу, как мы автоматизировали flow релиза мобильных приложений, как разбили его разработку на этапы, какие инструменты использовали и с какими проблемами столкнулись. ...

Как мы переносили аналитику из PostgreSQL в ClickHouse Привет, Хабр! Меня зовут Кирилл, одной из задач, которой я занимаюсь в Just AI, является пользовательская аналитика. В этой статье я хочу рассказать о нашем опыте миграции этой аналитики на новую СУБД ClickHouse. О том, с какими нюансами пришлось столкнуться и как мы их реша...

Коммьюнити руководителей проектов: подход к развитию Привет, Хабр!Меня зовут Дмитрий Лушин, я являюсь руководителем направления по развитию проектной деятельности в ООО «Почтовые технологии», которое занимается разработкой сложных цифровых продуктов для АО «Почта России».Сегодня я расскажу о принципах и подходах, которые мы ис...

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

Как снова начать читать книги, а не ленту. Часть 1 За последние полгода я прочитала около 20 книг и перечитала ещё десяток старых и любимых. Это не то чтобы очень много, но в пять раз больше, чем я прочитала за полгода перед этим.Зачем вообще читать книги, а не ленту, лонгриды или смотреть сторисы? Сейчас даже довольно сложн...

Устройство отслеживания замены картриджей в фильтре питьевой воды на STM32 Привет, меня зовут Евгений Кузнецов, я много лет работаю в сфере автоматизации предприятий. В качестве хобби занимаюсь поделками в сфере электроники для «малой автоматизации» дома.  Сегодня хочу описать одно из устройств такой автоматизации – счетчик литража для фильтра...

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

Как за час построить CI/CD для высоконагруженного проекта в облаке SberCloud.Advanced Привет, Хабр! Меня зовут Кирилл Шеховцов, и я технический лидер в SberCloud. Сегодня расскажу, как быстро интегрировать пайплайн Continuous Integration/Continuous Delivery (CI/CD) и продуктовый подход к проектированию приложений в облаке SberCloud.Advanced. Эта обзорная стат...

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

Как мы создаем микросервисные проекты с нуля Считается, что запуск микросервисов изначально затратнее по времени, чем монолит, и наш опыт это подтверждает. Однако, если следовать проверенным процессам, эти затраты можно минимизировать. Делюсь лучшими практиками и составляю чек-лист запуска. Читать далее

Как мы четыре года организовываем работу на удаленке с помощью Discord Тренд 2020 года продолжает расти. Все больше компаний дают возможность работать сотрудникам в гибридном формате или полностью из дома.Я расскажу, как мы организовали удаленную работу в Discord.Меня зовут Илья, я CTO компании 2people IT и один из её основателей. Основная наша...

Как мы в Домклике делаем виджеты на React Всем привет! Меня зовут Игорь Савин, я frontend-разработчик в компании Домклик. На текущий момент у нас около 150 различных команд разработки, из которых большая часть связана с разработкой какого-либо фронтенда на HTML, CSS и Javascript. Но когда так много команд, непременн...

Ракета на палочке Всем привет! Меня зовут Илья!Если вы читали мою прошлую статью, то наверное уже знаете что я увлекаюсь любительским ракетостроением. Это сложная и долгая тема. Давайте сейчас не будем строить большую ракету, а в этой статье давайте поговорим о чём-нибудь попроще. Ну, наприме...

Как масштабировать сервис в 20 раз и свернуть обратно за один день Может ли команда разработки быть спокойной 8 марта, если вы в сервисе №1 по доставке цветов? Наша история.Меня зовут Дима, я работаю техническим директором в Flowwow. Мы развиваем маркетплейс локальных магазинов, которые продают красивые букеты и подарки. В нашей R...

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

Векторное представление товаров Prod2Vec: как мы улучшили матчинг и избавились от кучи эмбеддингов Привет! Меня зовут Александр, я работаю в команде матчинга Ozon. Ежедневно мы имеем дело с десятками миллионов товаров, и наша задача — поиск и сопоставление одинаковых предложений (нахождение матчей) на нашей площадке, чтобы вы не видели бесконечную ленту одинаковых товаров...

Альтернативное использование инструмента для нагрузочного тестирование Apache JMeter Всем привет! Меня зовут Андрей Попов, я Middle QA Engineer Auto-test в Утконос Онлайн. В этой статье хочу поделиться, почему мы выбрали Apache JMeter для нагрузочного тестирования, как выглядит этот инструмент, для чего он был нам нужен, и как мы используем его для нестандар...

Новая документация Docsvision ч. 2 — Antora Привет всем читающим! Меня зовут Владимир, я - технический писатель в компании Docsvision и я здесь, чтобы опубликовать вторую часть статьи и надрать задницу всем, кто ставил дизлайки к первой части. Статью вы можете найти ниже.В первой статье я рассказал, как мы выбирали SS...

[Перевод] Пишем эмулятор Game Boy на OCaml Введение Последние несколько месяцев я работал над проектом под названием CAMLBOY — эмулятором Game Boy, написанным на OCaml, который работает в браузере. Протестировать его можно на следующей странице демо: Страница демо Я добавил в демо несколько неофициальных ROM, поэт...

Тренды веб-разработки в 2022 простыми словами Самое важное — отказ от поддержки старых браузеров в 2021. Майки окончательно убили IE, поэтому разработчикам станет проще использовать классные технологии. Гриды (83%) и флексбоксы (99%) захватили всё. TypeScript есть в 70% вакансий для мидлов. 2022 будет годом TypeScript.&...

Альтернатива MapReduce при поиске в распределенной БД Привет, меня зовут Сатбек, я работаю в команде Tarantool. Расскажу, как реализовать в шардированном кластере поиск, скорость которого не зависит от количества мастеров и объёма хранимых данных. Условно назову этот способ индексным слоем:- Опишу общую схему построения по...

Node.js: разрабатываем пакетный менеджер Привет, друзья! Вам когда-нибудь хотелось узнать, как под капотом работают пакетные менеджеры (Package Manager, PM) — интерфейсы командной строки (Command Line Interface, CLI) для установки зависимостей проектов наподобие npm или yarn? Если хотелось, тогда эта статья для ...

Samsung сотрудничает с Nifty Gateway для разработки платформы NFT, специально оптимизированной для Smart TV Samsung планирует покорить волну невзаимозаменяемых токенов (NFT), представив проводник на основе экрана и агрегатор торговой площадки NFT для своих будущих смарт-телевизоров. Samsung работала с Nifty Gateway, платформой онлайн-аукционов цифрового искусства для произведений ...

[recovery mode] Проектирование и настройка микрополосковых полосно-пропускающих фильтров СВЧ диапазона При проектировании СВЧ электроники часто приходится использовать микрополосковые фильтры реализованные на плате в виде проводящих дорожек. Если нужен не очень качественный фильтр (2-3 порядка), то рассчитать его топологию не составит труда. Но иногда необходимо настроить фил...

Почему я ненавижу турбо-страницы от Яндекса Яндекс запустил свою версию "ускоренных страниц" под названием “Турбо” в далеком 2017 году. Это был эксперимент, который мы в Российской Газете (rg.ru) только приветствовали, но прошло уже 5 лет, и я вижу в этой технологии больше проблем, чем их решения.Далее делюсь личным о...

Свой инструмент в Tableau для scrum-команд с Bug Policy и Scope Drop Привет! Меня зовут Анастасия Никонорова, я аналитик в Авито. Рассказываю, как мы сделали инструмент в Tableau для наших scrum-команд разработки.Сначала опишу, как мы работаем по Agile и Scrum, потом — как подготавливали данные и создавали инструмент, как его внедряли и какие...

5 преимуществ чтения книг на iPad, о которых вы не задумывались В этом году Apple представила новый iPad mini и iPad 9: мы уже рассказывали о них и даже выбирали, какой iPad купить на данный момент. Мы рассматривали самые разные характеристики, начиная от процессора и заканчивая размерами устройств. Но есть то, что объединяет все модели...

Кафка: сложная простота Привет! Это Сергей Калинец из Parimatch Tech и эта публикация будет про Кафку. У нас много данных, которые нужно быстро обрабатывать, много сервисов и команд, поэтому мы выбрали Кафку, как нашу основную платформу для обмена данными. За годы ее использования насобиралось...

Как улучшить межсерверное взаимодействие и сэкономить время разработчика Привет! Я Алексей, Java-разработчик. В статье поделился опытом внедрения подхода Contract-First в backend.  Под катом подробности:— что такое Code-First и зачем переходить на Contract-First,— как перестать писать API-объекты руками и сэкономить 12 человеко-недель в спр...

Модуляризация DI в проекте с UDF-архитектурой Всем привет, меня зовут Юрий Трыков, я Head of Mobile в inDriver. В этой статье расскажу, как в рамках платформенной iOS-команды мы выстраивали модуляризацию DI-контейнеров в проекте, зачем вообще нам нужны DI-контейнеры и как настраивать взаимодействие UDF-компонентов и DI-...

Scrum приводит к потерям. Как с этим справляться Я начала кодить в 12 лет: 2000 год, Turbo Pascal 7.0, привет! Образование у меня тоже техническое, судя по диплому, я должна была стать программисткой. Нравилось ли мне это? НЕТ!Но IT-сфера – однозначно моё. Поэтому в 2013 году я нашла себя в роли менеджера IT-проектов. Лето...

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

[Перевод] Запись Extended Events в таблицу Опубликовано 23 февраля 2022 годаАвтор статьи Gianluca SartoriВ этой статье описывается, как отловить все запросы, выполняемые на сервере, и сохранить данные событий xEvents в таблицу SQL Server. Последнее вызывает трудности при использовании стандартных целей для сессии рас...

Сам себе нотариус. Используем OpenSSH для подписи файлов и TLS для нотариального заверения веб-страниц Если нужно подписать файл, чтобы гарантировать его аутентичность, что мы делаем? Старый способ — запустить PGP и сгенерировать подпись, используя команду --sign. Цифровая подпись удостоверяет создателя и дату создания документа. Если документ будет как-то изменён, то прове...

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

DevSecOps by Swordfish Security. Часть первая Меня зовут Юрий Сергеев, я основатель и управляющий партнер в Swordfish Security. С 2017 наша компания активно занимается проблематикой построения процессов разработки защищенного ПО (Secure Software Development Lifecycle). За прошедшие годы нам посчастливилось реализов...

Крупные компании под ударом: злоумышленники могут удалённо захватить контроль над приложениями По данным экспертов "Инфосистемы Джет", о выявленной уязвимости в своих продуктах заявили Oracle, Red Hat, Citrix, Dell, Nutanix, Pure Storage, VERITAS, VMware и пр. Под ударом оказались компании, которые используют их продукты и решения многих других производителе...

[Перевод] Как обновить образы контейнеров с помощью Podman Изображение Hessel Visser с сайта Pixabay Поддержание образов в актуальном состоянии является стандартной процедурой при эксплуатации и управлении контейнерной средой. Далее мы рассмотрим, как следует это делать. Podman — это daemon-less движок для разработки, управления ...

7 + 1 способ анимировать спиннер Меня зовут Евгений Подивилов, я фронтенд-разработчик в команде «Лайфстайл». Я разрабатываю раздел «Развлечения». В этом разделе можно купить билеты на мероприятия или забронировать столик в ресторане.Многие недолюбливают бесконечные индикаторы загрузки, потому что по ним не ...

Размышления о написании пользовательских историй Всем привет! Меня зовут Максим, и я работаю бизнес-аналитиком на проекте Швейцарских Железных Дорог. За последние пять лет я описал больше четырех сотен пользовательских историй, экспериментируя со структурой и форматом. Под катом рассказ о том, какие проблемы у меня возника...

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

[Перевод] DevOps, SRE и Platform Engineering В течение своей карьеры мне приходилось работать в командах и компаниях, где в качестве разработчика я помещал код в репозиторий и просто надеялся, что все будет хорошо, когда какой-нибудь мифический сисадмин в конце концов не запустит его в продакшн. Случалось и то, что мне...

Обзор решений для навигации в iOS Всем привет! Меня зовут Тимур, я – iOS разработчик в hh.ru. В этой статье поговорим о фреймворкинге навигации в iOS. Я расскажу кулстори о популярных и не очень решениях и их преимуществах, а еще о том, как мы искали фреймворк мечты среди этой смертной любви. Поехали! Читать...

Эволюция рекомендаций ресторанов в Delivery Club. Часть 1 Всем привет! Меня зовут Иван Максимов, я работаю Lead Data Scientist’ом в команде рекомендаций и A/B-тестирования Delivery Club. Это первая из серии статей про нашу рекомендательную систему. Я расскажу о том, как мы определили проблемы предыдущего подхода к рекомендациям, и ...

DevOps Cookbook: как построить процессы с нуля Привет! Меня зовут Мария, я DevOps-инженер в компании Wrike. В этой статье расскажу о работе DevOps-инженеров с командами разработчиков: как выглядит процесс взаимодействия, из каких этапов состоит и как построить его с нуля. Статья будет полезна, если вы часто меняете проек...

Советы начинающим тимлидам: как работать с командой, выбраться из ловушки токсичного специалиста и не сойти с ума Привет, Хабр! Меня зовут Никита Пимошенко, я тимлид команды Billing API в Quadcode. Сегодня поделюсь советами и кейсами из практики, которые пригодятся начинающим тимлидам. Читать далее

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

Как управлять командой разработки Привет! Я Иван Антипин, заместитель директора департамента разработки в AGIMA. За свою карьеру я поработал с десятками команд. Где-то был разработчиком, где-то тимлидом, где-то помогал извне. У меня был миллион возможностей разобраться, как люди ведут себя в коллективе. Но в...

Micro Frontend Архитектура на примере Angular В наше цифровое время веб-приложения становятся все более масштабней и сложней. Такие веб-приложения могут быть разделены на несколько модулей, разработанных отдельными командами, которые удобно запускать в производство по отдельности. По мере того, как приложения со времен...

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

Создание API на основе протокола MTProto В уже  далеком 2019 Telegram объявил конкурс на создание веб-версии своего мессенджера, в котором мне удалось поучаствовать. По итогу у меня осталась библиотека, которая может работать с API Telegram по протоколу MTProto. Полученный опыт вдохновил меня реализовать прото...

Карты, деньги, два букета. Как мы пришли к собственному сервису доставки Привет, Хабр. Меня зовут Андрей, я бэкенд-разработчик в команде Flowwow. Я довольно давно работаю в компании и хочу рассказать об истории создания  собственного сервиса доставки (не без боли) и интеграциях с крупными игроками, которые нам удалось реализовать. ...

Blazor: Нужен ли нам .Net в вебе? Всем доброго времени суток, меня зовут Михаил. Я .net разработчик в компании Orion Innovation. Сегодня речь пойдет про наш опыт создания веб приложения при помощи Blazor. Обсудим с какими проблемами мы столкнулись при разработке и почему вообще решили использовать Blazor.Ста...

Как уйти с государственной службы и остаться в живых "И как же ты это представляешь? А кто будет за тебя работать? Ты же предаёшь семью" - это первые слова моего руководителя на фразу о возможном уходе.Здравствуйте, меня зовут Михаил, и я бюджетник. Программист, который смог вырасти от простого джуна-программиста до начальника...

Что нужно клиентам Прочтя на хабре очередную статью о том, как мы и так, и эдак удовлетворяли заказчиков, прокомментировала. Я написала "дайте клиентам уверенность и спокойствие" (цит. по памяти). Просто отстаньте от нас, клиентов. От нас, лояльных. Делайте то, что у вас уже покупают. Стабильн...

Трудности перехода: каков Elixir на вкус после Ruby Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir. Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, ...

Отличные расширения Firefox для Android, о которых вы могли не знать В 2022 году можно установить на свой смартфон практически любой браузер вместо Google Chrome. Мало того, что браузеры отличаются по своей производительности, так еще и обладают массой полезных настроек и даже специальными версиями для фанатов конфиденциальности. Один из так...

Google отказывается от режима экономии трафика Chrome Lite Google удаляет функцию Chrome для Android, которая годами помогала людям сократить использование мобильных данных. «Упрощенный режим» Chrome исчезнет с выпуском версии Chrome M100 в конце марта. Облегченный режим изначально назывался Data Saver, когда Google впервые представ...

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

Формы для Nigiri Sushi Я очень люблю суши, но не люблю их лепить руками :)Конечно, для этого уже есть готовые формы, и на странице проекта есть ссылки на них, но я не хотел ждать, я хотел сейчас :) и сделал свой вариант... вернее 2 варианта, отличающиеся толщиной (25 и 30 мм)... Страница проекта: ...

Performance review как инструмент для оценки результатов работы и развития сотрудников Меня зовут Артём Сусеков, я менеджер разработки в Miro. Расскажу, как мы пришли к справедливой оплате и прозрачному обсуждению эффективности сотрудников команд продуктовой разработки.Статья будет полезна, если вы задаётесь вопросами: •Как оценить вклад каждого сотрудник...

Меняем стек с PHP на Golang, или Разработка под Kubernetes Привет, Хабр!На связи Паша Емельянов, тимлид в AGIMA. В этой статье расскажу, как на одном из проектов мы переписывали старый функционал, разработанный когда-то на PHP, на Golang, с какими проблемами столкнулись и как их решали. Статья будет интересна и начинающим, и миддлам...

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

Кейс: как soft skills повлияли на карьерный рост Привет! Меня зовут Миша Ларченко, я разработчик в Sytac B.V. Последние 7 лет живу и работаю в Нидерландах. В этой статье я расскажу, как складывался мой путь от верстальщика в бобруйской газете до разработчика в нидерландской компании. Спойлер: в этом как-то замешаны soft sk...

STM32, CMSIS, CAN, Часть 1 — передача Привет, сегодня мы будем настраивать отправку данных с помощью CAN (Controller Area Network). В интернете много информации о том, как настроить CAN использую HAL библиотеку, а в случае использования CMSIS информация обрывочна, по этой причине решил рассказать о своем опыте р...

«BI or not to BI»: небольшая история разработки небольшого BI-сервиса В мае 2021 года меня похитили инопланетяне и приказали разработать сервис аналитики данных, в простонародье именуемый “self-service BI (business intelligence)”. И не просто какой-то аналог Redash или Superset в масштабе 1:43, а с нормальной поддержкой загрузки данных из файл...

Как мы индекс в Elasticsearch строили Всем привет! Меня зовут Данил, и мы в Just AI разрабатываем платформу для создания различных чат-ботов. И для того, чтобы максимально упростить этот процесс, а именно процесс написания сценария работы бота, мы имеем свой собственный DSL.С его помощью можно описать поведение ...

Мутационное тестирование: опыт внедрения на 1500 сервисов Привет, Хабр! Меня зовут Александр, я разработчик в юните, который является центром экспертизы по качеству в Авито. Мы помогаем командам с внедрением эффективных и современных подходов тестирования, а также разрабатываем инструменты для тестирования и управления качеств...

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

Этапы погружения junior-разработчика Всем привет! Меня зовут Иван Сёмин, я руковожу несколькими командами разработки в компании Домклик. На данный момент в моём подчинении 28 человек, часть из которых приходила на junior-позицию. Хочу поделиться своим видением погружения новых сотрудников в процессы компании и ...

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

Gatling. Тестирование Kafka Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Мы продолжаем наш цикл статей, посвященных работе Gatling с различными протоколами. Ранее мы уже рассмотрели работу с HTTP, JDBC и gRPC. В этой статье поговорим о работе Gatling с Kaf...

Охота на toggle: Как простую фичу сделать максимально сложно – Хей, Катя, у нас там багуля небольшая завелась. Посмотри, плиз.– Не вопрос, бро. В чем проблема?– Toggle сбрасывается при возврате на экран. Изи ваще!С этой безобидной фразы началось мое недельное приключение в мир безумной архитектуры, сумасшедших фиксов и красноглазия. И...

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

Microsoft анонсировала Windows 11 SE и Surface Laptop SE Последние 18+ месяцев коренным образом изменили образовательный ландшафт. Школы беспрецедентно полагаются на технологии, проливая свет на тот факт, что решения, которые когда-то были «достаточно хороши» для обучения, больше не соответствуют планке. Этот момент предоставляет ...

Быстрый, резкий, как пуля, дерзкий. Как работать над перфомансом сайта, чтобы нравиться пользователям и Гуглу Привет! Меня зовут Андрей Якобчук, я ведущий фронтенд-разработчик в Muse Group. Мы постоянно работаем над ускорением клиентской части наших сайтов. К тому же Гугл с его метриками Core Web Vitals с каждым годом придаёт всё большее значение отзывчивости и стабильности интерфей...

Производители продуктов в России стали уменьшать размер и вес товара, чтобы сохранить цены Вес сладостей, кофе, молочных продуктов и макаронных изделий в упаковке уменьшился на 5-50 граммов, а пива — до 0,43 литра в банке.

Микрооптимизация кода на Go на примере простого веб-сервиса Привет, Хабр! Я работаю старшим Go-разработчиком в «Лаборатории Касперского». Сегодня хочу поговорить о том, как искать узкие места и оптимизировать код на Go. Разберу процесс профилирования и оптимизации на примере простого веб-сервиса — покажу, с помощью каких встроенных ...

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

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

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

Простая аутентификация на PHP Многие новички до сих пор попадают в тупик при написании простейшей аутентификации в PHP. На Тостере с завидной регулярностью попадаются вопросы о том, как сравнить сохраненный пароль с паролем полученным из формы логина. Здесь будет краткая статья-туториал на эту тему.Discl...

Как можно тестировать платформенные сервисы PaaS (Platform as a Service) — внутренняя платформа для запуска и разработки приложений. Если коротко, то наш PaaS позволяет легко и, можно сказать, при нулевом знании внутренней кухни создать свой сервис и начать пилить продуктовые компоненты. Более длинное объяснение — в э...

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

Твой личный Дали: СберБанк запустил нейросеть, которая рисует картинки по словесному описанию Команда СберБанка объявила о запуске нейросети ruDALL-E, которая способна создавать изображения на основе текстового описания на русском языке. Как отмечает пресс-служба, это первая в мире подобная нейронная сеть.  Официальная рекламная картинка ruDALL-E Протестир...

Правки на мёрдже: зачем редактору GitLab Всем привет! Меня зовут Наталья Которева, я редактор в Яндекс.Практикуме. В этой статье я расскажу, как мы создали обучающий курс в GitLab. Да-да, вместо текстовых документов.Вообще сложно представить, как можно подружить git и редактуру, а главное, зачем. Есть же много пров...

Реверс уязвимого приложения от Delivery Club: результаты конкурса Привет! Меня зовут Илья Сафронов, я руковожу направлением информационной безопасности Delivery Club. Третьего дня мы запустили конкурс по реверсу и поиску уязвимости в тестовом Android-приложении. Целью было выполнение кода на бэкенде (RCE). За время конкурса APK скачали бол...

Как устроен счетчик ссылок в Swift Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для чело...

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

Microsoft демонстрирует Android-приложения для Windows 11 Microsoft работает над тем, чтобы запускать приложения Android в Windows 11 и публиковать их в Microsoft Store через Amazon AppStore. Проект носит кодовое название «Latte» и, по-видимому, основано на технологии, лежащей в основе подсистемы Windows для Linux от Microsoft и Pr...

Первые шаги с werf: собираем и деплоим простое приложение в Kubernetes В этой статье мы рассмотрим, как с помощью Open Source-утилиты werf собрать Docker-образ простого приложения и развернуть его в кластере Kubernetes, а также с легкостью накатывать изменения в его коде и инфраструктуре.Мы поговорим об общих принципах работы с werf при использ...

Как подготовить бэклог продукта с большим количеством зависимостей и не потратить время впустую Привет, меня зовут Макс, я продакт команды Self-Service в мобильном приложении Тинькофф. У моей команды три основные цели по созданию сервиса: contactless, proactive и self-service.   Это значит, что мы стараемся сделать незаметными процессы для пользователя: убрат...

Сбер выложил в открытый доступ новые увеличенные версии модели ruCLIP Линейка моделей ruCLIP для ранжирования изображений и подписей к ним на русском языке, а также оценки семантической близости изображений и текстов, разработанная командами Sber AI и SberDevices, стала доступна ...

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

Профилируем php на бою Привет Хабр! Последняя статья про инструменты для профилирования php датируется аж  2018 годом. Но все перечисленные решения разработаны много лет назад и имеют недостатки: древний интерфейс btp (аналог pinba), оверхед xhprof и необходимость ручного запуска p...

Нано-статья о том, как я в SAS NULL-ключи джойнил Привет, Хабр! Меня зовут Сергей Барановский, я руководитель проектов по аналитике в Блоке по клиентскому опыту и сервису и сегодня я хочу поделиться наболевшим. Джойн таблиц — одна из самых базовых вещей в аналитике. Казалось бы, допустить здесь ошибку почти невозможно. И пр...

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

[Перевод] Меняем std::sort для Google Мы меняем std::sort в библиотеке libcxx проекта LLVM. В этой статье мы подробно расскажем о том, как мы пришли к этому решению и какими будут возможные последствия, о багах, с которыми вы можете столкнуться в примерах из open source. Мы покажем несколько бенчмарков, объясни...

Databaser. Возвращение легкости стартапа Всем привет, меня зовут Александр Даниленко, я – ведущий разработчик отдела «Бюджет-Online». В компании «БАРС Груп» работаю уже 5 лет. За это время нам удалось успешно исправить некоторые сложности процесса разработки. Первая проблема, с который мы столкнулись – ра...

Мой опыт проведения курса по Android Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS. В 2019 году я вместе с платформой для онлайн-обучения Skillbox начал делать курс для начинающих мобильных разработчиков. На создание курса у меня ушло полтора года. Надеюсь, мой опыт поможет спец...

Flutter: простыми словами про ассинхронность и параллельность Всем привет, читатели Хабра! В этой статье я хочу простыми словами рассказать про асинхронность и параллельность в Dart/Flutter. Многие новички сталкиваются с непонимаем того, что это и когда что использовать. Я сам столкнулся с этой проблемой в начале своего карьерного пути...

Scrum в госкомпании: миф или реальность? SCRUM закрепился и в стартапах, и в IT-гигантах, но что на счёт скрама в крупной госкомпании? Попытаемся дать ответ на примере одной из команд разработки Россельхозбанка, а в конце статьи поделимся чек-листом в помощь начинающему скрам-мастеру. Читать далее

Создаем самоорганизующуюся команду: пошаговый алгоритм Меня зовут Андрей Булов. Я простой питерский технарь, архитектор, разработчик, DevOps технический менеджер. Сейчас работаю в Quantori.Я не буду описывать самоорганизующиеся команды, а расскажу про алгоритм их создания. Это мой личный опыт — я так работаю с командами (их было...

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

Как завести XCRemoteCache, или Кэши из топора Всем привет! Меня зовут Федоров Василий, я руковожу группой Mobile.Speed в компании Aliexpress Россия. Мы стараемся облегчить жизнь разработчиков, пишем утилиты, настраиваем CI, складируем метрики в Grafana — в общем отвечаем почти за все, что влияет на time-to-mar...

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

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

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

Язык программирования Ficus для вычислений и не только Здравствуйте, уважаемые хабровчане. Меня зовут Вадим Писаревский, я являлся лидером OpenCV (Open Source Computer Vision Library) на протяжении примерно 20 лет, и продолжаю участие в этом замечательном проекте. В этой статье я рад представить вашему вниманию результат другого...

Clickhouse & Grafana: история успеха одних алертов Меня зовут Елизавета Добрянская и я Frontend-разработчица в компании Домклик. В этой статье я хочу рассказать, как мы танцевали с бубном при настройке алертов на клиентские метрики. Как, зачем и с чем мы столкнулись в этой задаче - читайте далее

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

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

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

[Перевод] Запускаем HAProxy Kubernetes Ingress Controller вне Kubernetes-кластера Обычно вы можете запустить HAProxy Kubernetes Ingress Controller как pod внутри Kubernetes-кластера. Как pod, он имеет доступ к другим pod, потому что они используют внутреннюю сеть Kubernetes-кластера. Это дает возможность управлять маршрутизацией и балансировать трафик к п...

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

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

Неполное руководство по DevOps Привет! Меня зовут Кирилл Цветков. Я DevOps, инженер, линуксовый админ – именно через запятую и никак иначе. В этой статье я попробую последовательно рассказать вам что такое DevOps, и примирить два конфликтующих стереотипа, которые это слово окружают. Читать далее

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

[Перевод] Шаблоны C++: как итерировать по std::tuple — основы Для большинства стандартных контейнеров перебор элементов можно осуществлять просто с помощью цикла for с диапазоном прямо во время выполнения. Но что насчет кортежей (std::tuple)? В этом случае мы не можем использовать обычный цикл, так как он не «понимает» список аргументо...

35 реальных рисков, убивающих data- и machine learning проекты Всем привет! Эта статья - обобщение моего опыта 30+ проектов, связанных с обработкой данных и машинным обучением. Здесь не будет теории про управление рисками и общего перечня проектных рисков. Я перечислил только наиболее частые “грабли” именно из data-специфики, с которыми...

YouTube TV получает функцию «картинка в картинке» на iOS Youtube представил режим «картинка в картинке» для YouTube TV на iOS. Эта функция, которая уже некоторое время присутствует на Android, распространяется на устройства под управлением iOS 15 и новее, сообщила компания в Twitter. Пользователи, смотрящие телепередачи на YouT...

Ретроспектива по шагам. Рецепт Все, кто слышал про Scrum, скорее всего слышали про его основные мероприятия: планирование, пятиминутка (stand-up), обзор спринта и ретроспектива. Многие слышали, инструментов для проведения ретроспектив много, "обучающих" материалов ещё больше, но всё как-то не выходит. Ил...

SDK чата и Kotlin Multiplatform Привет, меня зовут Сергей, я Android Lead в компании Broniboy —  сервисе мультидоставки, который работает не только с ресторанами, но и с магазинами, аптеками и обычными людьми. Учитывая уровень конкуренции на этом рынке, каждый клиент на счету. Достаточно одной ошибки,...

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

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

[Перевод] Как хорошие программисты допускают стратегические ошибки Иногда умные люди, которые умеют хорошо работать, случайно всё портят. Эта моя история основана на воспоминаниях о реальных событиях. Небольшая команда разработчиков в SaaS-компании средних размеров столкнулась с проблемой. У компании было некоторое количество сервисов, осу...

«МойОфис Аналитика»: изучаем отечественное ПО для анализа и визуализации данных Продолжаем рассказывать аудитории Хабра о возможностях продуктов МойОфис, которые позволяют работать с документами, в том числе совместно, до 30% быстрее. Напомним, что ранее в нашем блоге уже выходили статьи про работу с формулами, сводными таблицами и м...

AirPods 3 удивили: они круче, чем AirPods Pro В этом году китайский сайт 52audio опередил iFixit, разобрав AirPods 3 – сами наушники и зарядный футляр – первым. Это тот самый сайт, который несколько недель назад, еще до объявления AirPods 3, опубликовал их подлинные снимки. Оказалось, что внутри AirPods 3 совсем не та...

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

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

Автоматизация тестирования микросервисов: плюсы и минусы тестов на Go Микросервисы можно тестировать по-разному. У каждого подхода есть свои плюсы и минусы, поэтому, чтобы выбрать свой путь и избежать на нём «граблей», лучше всего учиться на чужом опыте. А ещё лучше — на конкретных примерах.Я занимаюсь тестированием в Ozon и хочу рассказать пр...

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

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

Узнать за 60 минут В этой статье я хочу поделиться рецептом качественного собеседования продолжительностью 1 час. При этом критерий качества исключительно практический: потратив не более часа я готов рекомендовать или не рекомендовать соискателя к найму.Я поделюсь своим опытом набора людей «по...

Консольные изображения ( от ЧБ до 24bit ) В данной статье будет рассмотрен прогресс от ЧБ картинки в консоли до 24 bit изображения в ней жеЧёрно белое -> 48 цветов -> 216 цветов -> 24 bit Читать далее

Как энтузиасты возвращают «старый» интернет На этой неделе сценарист фильма «Дюна» Дени Вильнёв рассказал, что писал сценарий в программе Movie Master на MS-DOS — так как не любит перемен. И пока такие энтузиасты используют старое программное обеспечение в силу привычки, другие идут гораздо дальше в своих начинаниях и...

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

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

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

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

Kubernetes и другие оркестраторы Привет! Меня зовут Леонид, я DevOps-инженер в компании KTS. В этой статье я рассмотрю различные оркестраторы и объясню, почему Kubernetes — лучший выбор.Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на се...

СheckKarlMarx: утилита для поиска уязвимостей в продовых сборках Всем привет! Меня зовут Дмитрий Терёшин, в СберМаркете я занимаюсь Application Security — безопасностью веб- и мобильных приложений.Во время аудитов мобильных приложений я часто натыкался на плавающие уязвимости: они появляются только в конечной сборке, которая отправляется ...

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

Что у ECS под капотом Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)В данной статье я опишу общий принцип "подкапотной" работы ECS фреймв...

Что такое тестирование. Курс молодого бойца. Книга для новичков Привет!Меня зовут Ольга Назина. Я в тестировании с 2006 года. Тестировщик, тренер, практик, энтузиаст — вот тут можно почитать обо мне подробнее.Я очень люблю серию книг по разработке ПО от Head First O`Reilly:— Изучаем Java. Кэти Сьерра и Берт Бейтс— Изучаем SQL. Линн Бейли...

Введение в distributed tracing В один прекрасный момент вы можете переезжать из одного ДЦ в другой и понять, что не знаете свои системы: их поведение может стать неожиданным. В одной системе вы должны были работать гораздо быстрее, но теперь работаете медленно. В другой — не понимаете, куда приходит запро...

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

Как я запускал Spring Cloud Меня зовут Аксёнов Вячеслав, я старший бэкенд Java/Kotlin разработчик в крупном энтерпрайзе. Однажды я попал на проект, полный микросервисов, в котором за конфигурацию отвечала такая штука как Spring Cloud. Чтобы разобраться как именно это работает я исследовал и прикрутил э...

Мои собеседования '2021 (C++ developer) Привет, меня зовут Дмитрий, разработчик на C++ со стажем более 15 лет. В основном приходилось заниматься разработкой десктопного софта и софта для мобильных устройств. Живу в Москве.В начале 2021 года, после шести лет работы в одной компании (хотя и очень хорошей), решил что...

JavaScript: ускоряем загрузку изображений с помощью Imgproxy, Cache API и Service Worker API Привет, друзья! В этой статье я хочу поделиться с вами результатами небольшого эксперимента, связанного с ускорением загрузки изображений с помощью Imgproxy, Cache API (далее — кеш) и Service Worker API (далее — СВ). Мы с вами разработаем простое приложение на React, в ко...

Почему Microsoft Edge на Mac лучше, чем Google Сhrome Признаюсь, за время использования техники Apple у меня развилось некое отвращение что к продуктам Microsoft, что к Google. Эта позиция подкрепляется еще больше в тот момент, когда резко возникает необходимость в сторонних устройствах. Мне действительно проще отредактировать...

Тестирование СУБД: 10 лет опыта Меня зовут Сергей Бронников, я работаю в команде Tarantool. Когда я присоединился к ней, то не нашёл общего описания того, как устроено тестирование в проекте. Поэтому я вёл для себя заметки по мере погружения в разработку. Я решил переработать их в статью. Она может быть ин...

«Мотивировать vs Вдохновлять. Инсайты о том, как раскрыть таланты в команде с пользой для всех»: интервью с самим собой Мой босс ну просто «не очень хороший» человек... Сделаешь задачу хорошо, все проходят молча, но когда что-то не устраивает — активно высказываются... Даешь им бонусы, плюшки, а взамен отдачи нет… Наш тимлид думает, что классно лидит команду, а у команды другое мнение на этот...

Flutter vs Native: почему мы переходим с первого на второй Привет, Хабр! Меня зовут Сергей, я занимаюсь мобильной разработкой 13 лет и недавно стал руководителем разработки мобильного приложения «Пункты выдачи заказов» в Ozon. Невольно став сместителем существующего строя в проекте (фреймворки, технологии, подход), я стал часто слыш...

Недельный геймдев: #58 — 20 февраля, 2022 Из новостей: новая версия RPG Maker будет работать поверх Unity, Дисней опубликовал USD-ассеты из мультфильма Моана, стала доступна коллекция ассетов Scene3D для упрощения разработки 3D игр с помощью Defold.Из интересностей: статья от команды Unity по работе с террейном, ...

Техника — безопасности: что ожидает айтишника в инфобезе Привет, Хабр. Меня зовут Антон Иванов, я СТО «Лаборатории Касперского». Сейчас информационная безопасность — обширная область с очень размытым краем. Не всегда можно понять, где кончается обычная разработка и начинается ИБ-разработка. Под катом я расскажу, почему пытаться пр...

[Перевод] Нужна система с низкими задержками? Выбираем Java вместо C++ Все разработчики знают, что есть два способа сделать дело: первый — вручную, медленно, нервно, сложно, либо второй – автоматизировано, быстро и еще сложнее. Например, я мог бы продолжить писать эту статью о том, почему стоит использовать Java вместо C++ при программировании ...

[Перевод] Преодоление сложности в CQRS Эта статья является переводом материала «Tackling Complexity in CQRS».Шаблон CQRS может творить чудеса: он может максимизировать масштабируемость, производительность, безопасность и даже «превзойти» теорему CAP. Тем не менее, например, в своей статье о CQRS Мартин Фаулер утв...

Путеводитель по ID для JPA сущностей. Часть 1: ID, генерируемые на сервере Разработка инструментария – очень познавательное занятие, потому что заставляется задуматься над теми вещами, которые в процессе разработки иногда не замечаешь. Казалось бы, создание @Id атрибута в JPA – рутинное занятие и каждый разработчик может сделать айдишник, даже не в...

Википедия изнутри Википедией пользуются все. Даже те, кто никогда в этом не сознается.Но меня каждый раз поражает, насколько фантастические представления о Википедии у людей, которые её не пишут. (Надо сказать, у людей, которые её пишут, — тоже.)Википедия кажется очень странным созданием, с н...

Новый смартфон Oppo A95 с большой батареей и знакомым дизайном Oppo A95 5G находится на рынке уже несколько месяцев, но по некоторым причинам компания решила выпустить версию LTE. Oppo Philippines разместила A95 на своей странице в Facebook со ссылкой на интернет-магазин Lazada, где фанаты могут добавить продукт в свой список желани...

Как настроить устройство с Windows 11 без подключения к Интернету В этой статье рассказывается о том, как настроить устройство с Windows 11 без подключения к Интернету. 1. «Подключение к Интернету» нажмите Shift + F10, чтобы открыть командную строку. 2. Введите «OOBE\BYPASSNRO» (без кавычек) и нажмите Enter. 3. Это перезагрузит вашу систем...

Извлечение NTLM hash пользователя из процесса lsass.exe с помощью уязвимого драйвера Приветствую вас, дорогие читатели! Сегодня я хочу рассказать о том, как с помощью уязвимого драйвера получить NTLM hash пользователя. NTLM hash находится в памяти процесса lsass.exe операционной системы Windows. Процесс lsass.exe отвечает за авторизацию локального пользовате...

Восприятие цвета в интерфейсе: почему мы видим его по-разному Про инклюзивность в интерфейсах и то, как дизайнеру учесть особенности цветового зрения.Привет! Меня зовут Николай Комиссаров, я руковожу командой дизайна Пульса (pulse.mail.ru) и медиапроектов в VK, а также занимаюсь социальными проектами компании. Недавно, работая над...

Edge Canary теперь позволяет сохранять группы вкладок в качестве закладок Ранее в этом месяце обновление для Chrome Canary представило новый экспериментальный флаг под названием «Сохранить группы вкладок». Это позволяет пользователям сохранять группы вкладок в избранное и запускать сгруппированные страницы одним щелчком мыши. Теперь Microsoft гото...

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

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

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

MIR CIT Mobile: передовые технологии тестирования в платежной системе «Мир» ВведениеВсем привет. Мы Денис и Александр из команды разработки сертификационных приложений Мир Plat.Form.Мы занимаемся развитием систем, которые помогают банкам-участникам платежной системы «Мир» и поставщикам платежных решений выполнять тестирование. Многие из нас совершаю...

reveal.js: HTML-презентации Привет, меня зовут Александр, я старший разработчик ПО в Центре разработки Orion Innovation и я люблю делиться своими мыслями с людьми, разумеется, любимые форматы – статьи на Хабре и доклады на конференциях и митапах. Сложно представить доклад без презентации, о них и хочу ...

Из могилы в IT — Дима, посмотри-ка кандидата в твою команду АМТ, — сказал мне наш HR Александр.— Саркофагов Вадим, ведущий специалист по функциональному тестированию…Я ещё раз перечитал фамилию: “Сар-ко-фа-гов”. В памяти заворочались почти забытые события, будто кто-то включил в моей голов...

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

Hynix заставила графическую память заниматься вычислениями. Компания представила революционную технологию PIM Компания SK Hynix представила то, что она называет революционным решением.   Разработка называется PIM (Processing In Memory). Это технология следующего поколения, которая обеспечивает решение проблем перегрузки данных для ИИ и больших данных за счет добавления вы...

Как мы переходили на российское ПО, пока это еще не было мейнстримом Много лет мы в ITGLOBAL.COM использовали ServiceNow в качестве инструмента автоматизации управления услугами. Эта платформа де-факто является отраслевым стандартом на рынке ITSM-систем. Но все течет, все изменяется — и в 2019 году мы приняли решение мигрировать на альтернати...

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

JavaScript: работа с датой и временем с помощью Temporal Привет, друзья! В этой статье я хочу рассказать вам о Temporal, новом API для работы с датой и временем в JS. Описание предложения Черновик спецификации Рецепты по использованию Temporal Источником вдохновения для меня послужила эта замечательная статья. Обратите внимани...

Девочка, балансирующая на NVME-over-TCP 2.0 Привет всем! Рад вас снова видеть, и я счастлив, что вам так понравилась моя предыдущая статья под названием «А все ли врут? Продолжаем издеваться над NVME». Напомню, что в этой статье я объяснил, как правильно подключить ваш NVME диск удалённо по сети. Не «как расшарить п...

Анонимизация базы данных или как быть уверенным, что ты не нарушаешь закон “О персональных данных” В настоящее время практически все ИТ-продукты работают с персональной информацией пользователя: ФИО, телефон, e-mail, паспортные и другие идентифицирующие данные. Для  обеспечения защиты прав и свобод, человека и гражданина при обработке его персональных данных в Россий...

[Перевод] Чем Linux HugePages важны для серверов баз данных? Часто пользователи рассказывают о сбое базы данных по вине Out Of Memory Killer. Он завершает процессы PostgreSQL и остается причиной большинства отказов этой БД. Память на хост-компьютере может закончиться по нескольким причинам. Наиболее распространены из них четыре. Во-пе...

Приглашаем на KasperskyOS Night 2021 Winter Edition 19 ноября с 16:00 до 20:00 пройдет наша четвертая онлайн-конференция по кибериммунной разработке — KasperskyOS Night 2021 Winter Edition. В этот раз мы планируем поговорить о том, что нужно программистам и специалистам по информационной безопасности для создания IT-систем с ...

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

Опыт эксплуатации Mellanox под управлением Switchdev Мы уже писали про Linux Switchdev в Mellanox — что это такое и как мы с ним живем в Qrator Labs. Сегодня я хочу рассмотреть этот вопрос с другой стороны. Меня зовут Дмитрий Шемонаев, я руковожу центром сетевых операций.Кроме того, что этот коммутатор можно использовать как W...

Как сделать ваши GitLab CI пайплайны быстрее Привет, меня зовут Владимир. Я работаю в компании GitLab Архитектором Решений и время от времени я отвечаю на вопросы, которые, как мне кажется, могли бы быть интересны широкому сообществу. Сегодня я поделюсь рекомендациями о несколько способах ускорения выполнения CI/CD зад...

Как мы перешли с kotlinx.synthetics на Android View Binding Привет! Меня зовут Ваня, я Android-разработчик из продуктовой команды hh.ru, и в этой статье я расскажу о нашем опыте миграции на ViewBinding.В конце 2020 года в официальном блоге Android Developers объявили, что android-kotlin-extensions plugin для Gradle больше не дружит с...

JNI Часть 2: Примеры Всем привет! Меня зовут Роман Аймалетдинов, я разрабатываю клиентское приложение Ситимобил. Продолжаю свою серию статей по JNI, так как технология используется редко, но иногда она бывает очень полезной (или просто интересной). В этот раз я покажу примеры решений на JNI, кот...

Метавселенная по Нилу Стивенсону: какой ее изобразил автор «Лавины» Термин «Метавселенная» родился в 1992 году вместе с пост-киберпанком в романе Нила Стивенсона «Лавина». А затем концепцию Метавселенной подхватили как другие фантасты, так и ведущие IT-компании. И вот, мы живем в мире, где Марк Цукерберг объявляет о том, что название компани...

Обзор TrueConf 8 – мессенджера с видеосвязью и AI для Windows, macOS и Linux Привет, Хабр!Меня зовут Оксана и я – руководитель продуктовой команды в компании TrueConf. Мы разрабатываем софт для видеосвязи и совместной работы уже больше 10 лет. Сегодня я расскажу о создании нового поколения десктопных приложений TrueConf: наш опыт переосмысления ...

Flutter for Desktop — новый подход к разработке приложений Язык программирования Dart был изначально разработан как перспективная замена JavaScript в веб-приложениях (с поддержкой асинхронности, потоков, классической поддержки ООП и возможностью использования строгой типизации), но, к сожалению, в этом качестве он так и не достиг зн...

JavaScript редактор диаграмм, который открывает диаграммы из PNG картинок (open source) dgrm.net | GitHubdgrm.net - это редактор диаграмм, с прицелом на трансформацию в карту знаний.Отличительные особенности:- аскетичность,- работает на телефонах (одно из немногих web-решений),- открытый исходный код.В процессе разработки появляются интересные моменты. Статья п...

По магнитному следу: поиск невидимых метеоритов Учитывая, что Земля не существует отдельно от необъятного Космоса, неудивительно, что на ее поверхность ежедневно падает от 44 до 100 тонн метеоритов. Благо, что львиную долю занимают микрометеориты, т.е. объекты, размеры которых варьируются от 10 мкм до 2 мм (а по стандар...

Ментор в беде не бросит: как онбордить новичка, чтобы он тестил в свое удовольствие Всем привет. Меня зовут Ильмир, я QA Manual Engineer в inDriver. В статье расскажу о своем опыте менторства. Я занимаюсь этим уже больше 2 лет и хочу поговорить про этапы, которые могу выделить как основные. В статье будут затронуты не проблемы методик и инструментов дл...

Kubernetes в НСПК Всем привет! Меня зовут Назаров Алексей, я работаю в отделе администрирования инфраструктурных сервисов автоматизации Мир Plat.Form (НСПК) и сегодня расскажу о том, как устроены наши кластеры Kubernetes и как мы ими управляем. Читать далее

Обзор стремительно развивающейся среды разработки microStudio Здравствуйте дорогие читатели сайта! На написание этой статьи меня подтолкнул тот факт, что я не смог найти на необъятных просторах русскоязычного интернета, какой-либо подробной информации о microStudio. Можно найти небольшие заметки, на нескольких сайтах. Где совсем скромн...

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

Это Gaidai какой-то. Сервис HTTP сценариев Привет, Хабр, меня зовут Артем Кудряшов, некоторую кучу лет я работаю в ATI.SU — крупнейшей в России бирже грузоперевозок. В разное время я писал код, управлял командами и занимался другими весёлыми вещами. В статье, что вы видите, хочу рассказать об одном из наших сервисов ...

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

Как htmx помогает разработке на HTML htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, алтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборк...

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

JNI Часть 1: Введение Всем привет! Меня зовут Роман Аймалетдинов и я разрабатываю клиентское приложение Ситимобил. Решил написать небольшую серию из трех статей по JNI, так как технология используется редко, но иногда она бывает очень полезной. Несмотря на то, что я разрабатываю классические прил...

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

Преобразуем изображения и GIF анимацию в код для Arduino Сейчас в продаже доступно много разных Ч/Б дисплеев, в том числе и OLED. Для того, чтобы получить красивое черно-белое изображение для этих дисплеев, с глубиной цвета всего 1 бит, но в тоже время с имитацией полутонов, как на представленной ниже картинке — нужно использоват...

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

Психовизуальная корректировка (Psycho Visual Tuning) в NVENC Привет всем!В этой статье пойдет речь о таком параметре в OBS как Психовизуальная корректировка (Psycho Visual Tuning) используемый в кодировщике Nvenc.Статья была создана для пользователей, которые хотят более подробно разобраться в кодировщике Nvenс для получения наилучшег...

Биометрия в ритейле: большие надежды и суровая реальность Привет! Меня зовут Макс, я являюсь продукт оунером видеоаналитики в М.Видео-Эльдорадо. Сегодня поговорим о такой сложной теме как биометрия. Многие компании пытаются ее использовать, не у всех это получается, и еще меньшее количество умеет на ней зарабатывать. Читать далее

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

Как большинство Java проектов выглядят изнутри Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями, а также перечислить те библиотеки, которые чаще всего...

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

Охота на Вампуса. Переосмысление классической игры для Алисы Привет! Меня зовут Кирилл Богатов, я дизайнер голосовых интерфейсов в команде TORTU и заядлый геймер. Когда эти две страсти сталкиваются, рождаются необычные концепты для голосовых игр.Месяц назад я выпустил игру «Охота на Вампуса» для голосового ассистента Алисы. Игра получ...

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

Педальку в пол, или как ещё ускорить CPU-bound приложение? Зачем я это читаю? TL;DR: Переложив секции кода и данных программы на большие страницы можно существенно ускорить приложение (у нас получилось до +10%) не трогая исходный код. Можно быстро проверить ничего не перекомпилируя, детали здесь. Финальное решение оперирует "к...

Kotlin и Python в одном проекте Я в компании отвечаю за работу команды разработчиков. Команда небольшая -  всего 6 разрабов, но за последний год с небольшим мы с нуля разработали и внедрили пять проектов. Причем это были не детские проектики, а вполне промышленные проекты, которые сейчас начинают свою...

Про оплаты/переводы/налоги в новом дивном (нет) мире Если у вас нет ВНЖ вне России + нужно оплачивать сервисы картой или надежно принимать платежи/переводы, или оптимизировать налоги, или подключать/партнериться с разными сервисами и т.д., то открытие компании в США - по сути единственный железобетонно надежный способ, ре...

Kubernetes: трансформация к SecDevSecOpsSec Данная статья — взгляд на то, как Kubernetes способен повысить уровень безопасности, упростив управление ею и ускорив внедрение механизмов безопасности с точки зрения специалиста по ИБ, который большую часть своей карьеры занимался наступательной безопасностью. Сейчас на при...

Как разработать микросхему, от идеи до результата. Часть 3. Схемотехническое представление и Layout В прошлой статье мы установили все программы, а в этой части, мы наконец приступим к практической части. Готовьтесь, эта часть будет очень большой. Для тех кто пропустил прошлые части — ссылки ниже. Как разработать микросхему, от идеи до результат...

Какие тесты выбрать для облака? Сравниваем варианты Привет, Хабр! Меня зовут Илья Казначеев, я техлид в MTS Cloud, это облачный провайдер МТС. Моя команда занимается сервисом Kubernetes Managed, а еще мы проводим тесты облачных платформ. В этой статье я расскажу о нашем опыте: какие виды тестов мы пробовали, как боролись с пр...

Пишем сервис на GO. Runtime контроллер и Graceful Shutdown Напишем вместе HTTP-сервис на golang с нуля? Я уверен, что это довольно несложно. Для тех, кто каждую неделю этим занимается, моя статья не будет особенно интересна, но я все равно рекомендую взглянуть и оценить, возможно, ваши комментарии спасут кому-то жизнь. А может кое-...

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

Настройка маршрутизации в сети с неподконтрольным роутером В данной статье описано как можно настроить прозрачное для клиентов использование ресурсов из луковой сети (The Onion Router aka TOR) и VPN соединение с другими сетями если провайдер предоставил вам роутер с минимальными возможностями настройки, сохраняя при этом возможность...

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

ASUS готовит к релизу флагманский SSD Компания ASUS, согласно свежему тизеру, который компания разместила на своей тайваньской странице в Facebook, собирается выпустить флагманский SSD. Официально накопитель еще не запущен, но поскольку ASUS собирается провести мероприятие ROG «Boundless» 17 мая вместе с уменьше...

[Перевод] Архитектура первой PlayStation: центральный процессор Краткое введение Sony знала, что разработка для 3D-оборудования может становиться очень сложной. Поэтому в дизайне своей первой консоли она стремилась к простоте и практичности… Однако всё имеет свою цену! CPU В этом разделе мы проанализируем Sony CXD8530BQ — один из двух...

Эволюция UI-тестов в iOS-приложении Test-driven development — по-прежнему спорная тема. Часто встречается обоснованное, в общем-то, мнение, что такая разработка нужна только большим компаниям, потому что только у них достаточно ресурсов для создания и поддержки большого количества тест-кейсов. Но сегодня на п...

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

6 лучших белковых продуктов для уменьшения жира на животе Диетологи объяснили, что продукты с высоким содержанием белка могут «помочь в потере веса, уменьшая чувство голода и вызывая чувство сытости». Поэтому издание Eat this, not that перечислило такие продукты.

Кампания K-Lens One на Kickstarter отменена из-за финансовых проблем Кампания на Kickstarter по сбору средств на выпуск объектива светового поля K-Lens One была отменена в последнюю минуту из-за «финансовых проблем». К тому времени удалось собрать почти 200 000 евро при заявленной цели в 75 000 евро, что соответствует заказу ...

4 страха, мешающие стать тестировщиком в международной компании Привет, Хабр! Меня зовут Анастасия Донцова, и я работаю старшим менеджером команды тестирования в компании Dell Technologies. Хочу немного рассказать вам о своей специальности, а также развенчать несколько ложных и вредных представлений, которые её окружают. Тестирование пр...

Лучшие Быстрые команды на macOS Monterey На первый взгляд, операционная система macOS Monrterey получилась достаточно бедной на новые функции. Во всяком случае, так может показаться тем пользователям, которые не привыкли копаться в настройках и постоянно искать что-то интересное. Однако если копнуть чуть глубже, с...

Том, Дик и Гарри. Что значат именные идиомы в английском и как их использовать Что общего у Джека, Тома и Боба? Верно, это самые популярные английские имена. Если вы работаете в международной компании, вы наверняка встречали хотя бы одного Боба или Джека среди коллег и клиентов. Эти имена настолько широко распространены в англоязычных странах, что давн...

Жонглирование ключами: как работает on-premise облако с e2e-шифрованием Нашей команде доверяют аудит информационной безопасности. Не хочется представлять, что будет, если результаты одной из таких проверок утекут в сеть. Так что мы очень серьезно относимся к сохранности рабочих документов. А еще мы немного параноики, поэтому и решили изобре...

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

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

Хорошая идея из комментариев... настолько ли хорошая? Эта статья могла бы называться "британские учёные с помощью 3д-печати сделали прорыв в ногтевом сервисе", но не вышло. Материал на самом деле старый, но руки долго не доходили, что называется.Всё началось с комментария к одной из моих первых статей нубских времён:Красивые но...

[recovery mode] Пошаговая инструкция как создать NFT коллекцию на Golang + Ethereum (часть 3) Привет Хабр. В прошлых статьях мы научились генерировать 10 000 изображений для нашей NFT коллекции с помощью Golang, а также загрузили все сгенерированные изображения в децентрализованное хранилище IPFS.В этой статье мне хотелось бы поделиться знаниями и опытом, а такж...

Создание Single Page Application на Marko.js — ZSPA Boilerplate В данной статье вы познакомитесь с Marko.js актуальной на данный момент пятой версии. Пару лет назад на Хабре уже была отличная статья (за авторством apapacy) о том, как работает этот замечательный реактивный фреймворк, разработанный где-то в недрах eBay.В своем комментарии ...

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

Циклы маршрутизации Добрый день! Меня зовут Александр Зубков, я работаю в Qrator Labs и сегодня я хочу поговорить о циклах маршрутизации. Читать далее

[Перевод] Почему сооснователь Wasmer ушёл из компании? 4 октября 2021 года — последний день работы одного из основателей Wasmer в компании. Wasmer — стартап, который разрабатывает очень популярную одноимённую среду выполнения WebAssembly. Речь пойдёт о том, чего автору статьи удалось достичь за время работы в компании. Это не те...

Теперь вы можете легко устанавливать приложения Android в Windows 11 Предварительная сборка Windows 11 имеет встроенную поддержку подсистемы Windows для Android (WSA), которая позволяет запускать приложения Android на ПК без сторонних эмуляторов. Прямо сейчас вы можете загружать приложения только из Amazon Appstore, поскольку поддержка других...

UIKit ты вообще про UI? Спойлер - нет! Ну, не совсем. Мы привыкли воспринимать UI как визуальную составляющую, но ведь UI – это User Interface. Так вот, интерфейс – это то, с помощью чего пользователь взаимодействует с нашим приложением. В случае с графическим интерфейсом пользователь его видел и в...

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

Впечатления о Golang от разработчика на PHP Привет! Меня зовут Андрей Литвиненко и я имею почти 15-летний опыт разработки на PHP. Уже около трех месяцев я активно пишу на Go и хочу поделиться наблюдениями, которые отметил для себя. Возможно, этот текст будет полезен тем, кто сейчас знаком с PHP и подумывает познакомит...

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

Онбординг для новичков: кейс ПСБ на хакатоне «Цифровой прорыв» В декабре мы участвовали в хакатоне «Цифровой прорыв» со своим кейсом. Мы просили участников разработать программное решение для онбординга 
новых IT-специалистов банка. Задача состояла в том, чтобы объединить информацию из нескольких систем. И команды справились. Например, ...

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

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

OverScript — язык программирования, написанный на C# Привет! Меня зовут Дмитрий, я написал на C# свой интерпретируемый язык программирования, который назвал — OverScript. Это си-подобный язык со статической типизацией. Сразу скажу, что это не прототип, а готовый проект. Весь код на 100% мой. Я подробно не интересовался, как на...

Keycloak X. Что за зверь и с чем его едят? Недавно мы с коллегами из X5 Tech проводили митап, на котором разбирали, что такое Keycloak X и чего от него ждать. Для тех, кто пропустил или предпочитает читать, а не смотреть, подготовили текстовый вариант. Меня зовут Виктор Попов, я техлид DevOps-команды в X5 Tech. ...

Создать динамический компонент теперь проще: изменения в Angular 13 Бывают ситуации, когда компонент необходимо добавить на страницу динамически. Например, тултип или баннер. В такие моменты на помощь приходит Angular, который умеет создавать компоненты в рантайме и рендерить их. Для этого разработчик может воспользоваться методом createComp...

Субъектам помогут создать сервисы на платформе «Гостеха» Проект плана мероприятий на 2022 год по созданию регионами сервисов на единой цифровой платформе "Гостех" на профильной конференции представил замдиректора департамента координации и реализации проектов по цифровой экономике Минцифры Юрий Зарубин, пишет "Комме...

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

Node.js: документирование и визуализация API с помощью Swagger Привет, друзья! В этой небольшой заметке я расскажу вам о том, как генерировать и визуализировать документацию к API с помощью Swagger. Мы разработаем простой Express-сервер, способный обрабатывать стандартные CRUD-запросы, с фиктивной базой данных, реализованной с помощь...

React Hooks простыми словами О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял пр...

Пользователи недовольны интеграцией сервиса рассрочек Zip в браузер Edge Microsoft интегрировала в собственный браузер Edge расширение «покупай сейчас, плати потом», которое при совершении покупок предлагает использовать сервис Zip (в прошлом QuadPay) для рассрочки платежей. Предложение зарегистрироваться в Zip появляется на страницах оформления...

TINKOFF-INVEST. Разработка торгового робота на JAVA. Часть 2 Как же быстро летит время... Прошло почти 2 месяца с момента публикации моей первой статьи о работе с TINKOFF INVEST API – Разработка торгового робота на JAVA. Часть 1, в которой мы начали свое знакомство с инструментарием автоматизации торговли, предоставляемым брокеро...

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

Настройка PostgreSQL под Linux Время от времени приходится слышать мнение от некоторых системных администраторов, а также некоторых 1С-разработчиков, что установка, настройка и поддержка PostgreSQL под Linux очень сложна. Что гораздо дешевле покупать лицензии Windows и Microsoft SQL Server, чем нанимать в...

[Перевод] Находим более качественные решения при помощи boost Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комит...

Микрофронтеды: достоинства, недостатки и нюансы Привет, меня зовут Евгений, я PHP-разработчик в Broniboy. Ища в очередной раз на Хабре нужную информацию, поймал себя на мысли, что здесь маловато статей, на пальцах объясняющих суть и особенности применения микрофронтендов. Поэтому хочу добавить в копилку знаний. Читать дал...

Сжатые атласы в Unity Runtime Привет, меня зовут Юрий Грачев, я программист из студии Whalekit — автора зомби-шутера Left to Survive и мобильного PvP-шутера Warface: Global Operations. Кстати, именно о его технологиях мы и поговорим подробнее далее.Речь пойдет про получение сжатых атласов в рантайме. Для...

Как устроены первые в мире соревнования беспилотных болидов Fomula 3 на Indy Autonomous Challenge 2021. Команда TUM Команда Мюнхенского технического университета (TUM Autonomous Motorsport team) только что выиграла первые в мире соревнования беспилотных болидов Formula 3 во время Indy Autonomous Challenge 2021 (далее, IAC 2021) проведённого 23 октября 2021 года компанией Cisco и большим к...

JNI, часть 3: производительность Java/JNI/NDK Всем привет! Меня зовут Роман Аймалетдинов, я разрабатываю клиентское приложение Ситимобил. Продолжаю свою серию статей по JNI, так как технология используется редко, но иногда она бывает очень полезной (или просто интересной). В этот раз я покажу замеры производительности, ...

Как мы провели TAC 2021. Впечатления, тезисы, видео Привет, я Евгений Степченко, delivery-менеджер Тинькофф. В октябре мы провели Tinkoff Agile Conference про масштабирование изменений и изменения при масштабировании, развитие команд и инженерные практики. Нам важно, чтобы тимлиды, техлиды, менеджеры и эксперты развивались ка...

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

QA и Support: как не усложнять друг другу жизнь Привет. Меня зовут Маша, я — тестировщик в команде мобильной платформы. Когда-то для нас была актуальна проблема взаимодействия QA и Support. Сложностей было предостаточно, как и неприятных последствий. Но со временем мы успешно разобрались во всем. Хочу поделиться нашим опы...

Оумуамуа — решение парадокса Ферми (2) Предыдущая статья Оумуамуа — решение парадокса Ферми вызвала довольно живой интерес несмотря на свою довольно узкую специализацию. Изначально она задумывалась довольно короткой, но оказалось, что довольно сложно лаконично описать. Это также отчасти является причиной критики ...

Краткий экскурс в ruGPT-3. Инструкция и демонстрация GPT-3 — нейронная сеть, наделавшая шума в 2020 году, как самая сложная, объёмная и многообещающая модель по работе с текстовыми данными. Создана организацией OpenAI в нескольких вариациях, от 125 миллионов до 175 миллиардов признаков. Хотя в названии организации и есть ...

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

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

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

[Перевод] Я разработал генератор ASCII-арта в Node JS В этой статье вы увидите, как сделать генератор ASCII-арта из изображения.ASCII-арт — это метод графического дизайна, который использует компьютеры для презентации и он состоит из изображений, собранных вместе из 95 печатных символов, определенных стандартом ASCII от 1963 го...

Сто раз сломай, один раз поправь или как мы улучшали тестирование отказоустойчивости и восстановления API Привет, хабровчане!Меня зовут Нурыев Асхат, я ведущий инженер по автоматизации в DINS. За время работы в компании я участвовал в решении множества сложных задач. В этой статье я поделюсь историей улучшения процесса и автоматизации тестирования высокой доступности и восстанов...

Angular Libs как монорепозиторий: начало, настройка, работа с assets Всем привет! Меня зовут Илья и я хочу рассказать вам как можно подробнее про Angular Libs. В частности, то, как можно использовать его в качестве монорепозитория для сборки нескольких приложений с tree-shaking и переиспользуемостью различных модулей в разных библиотеках и ча...

[Перевод] Работа с API на языке R, введение в пакет httr2 Цель этой статьи - показать вам основы httr2. httr2 - переосмысленная реализация пакета httr, т.е. интерфейс для работы с HTTP запросами на языке R.Из статьи вы узнаете, как создавать и отправлять HTTP-запросы и работать с полученными HTTP-ответами. httr2 разработа...

Technical Product Manager или Business Product Manager. Кто приносит больше пользы на практике? Всем привет. Хотел бы в рамках данной статьи рассмотреть такой вопрос, как построение команды продакт-менеджеров и выбор правильной конфигурации навыков у тех специалистов, которых мы бы хотели видеть в своей команде. Надеюсь, что данная статья будет полезна руководител...

Построение отказоустойчивого решения на базе BGP с использованием облачной платформы Привет, Хабр!Меня зовут Евгений, и с недавних пор я являюсь членом команды развития инфраструктуры в Домклике. Больше всего опыта у меня в области сетевых технологий, в простонародье я «сетевик». На сегодняшний день наша команда, да и не только наша, активно прорабатывает во...

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

[Перевод] Flutter 3: что нового Представляем перевод статьи о свежем релизе Flutter с комментариями Евгения Сатурова, Head of Flutter в Surf. Читать далее

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

Node.js: разрабатываем сборщик модулей Привет, друзья! Вам когда-нибудь хотелось узнать, как работают сборщики модулей (module bundlers) JavaScript типа Webpack или Parcel, что называется, под капотом. Если хотелось, тогда эта статья для вас. В данном туториале мы разработаем простой сборщик модулей на Node.js,...

Твердотельные аккумуляторы Quantumscape после 400 последовательных 15-минутных циклов быстрой зарядки сохранили более 80% исходной емкости Компания Quantumscape, с 2010 года разрабатывающая твердотельные аккумуляторные батареи, поделилась новыми данными, демонстрирующими прогресс в этом направлении. Твердотельные аккумуляторы Quantumscape выдержали 400 последовательных 15-минутных циклов быстрой зарядки, с...

DevOps: о самом важном. Часть 1. Про то, о чем мало говорят Привет! Меня зовут Каро Манасян, я Chief DevOps Officer Московской биржи, и сегодня мы поговорим про… DevOps. Вокруг этого слова поднят такой уровень хайпа, что каждый интерпретирует его, как хочет. То ли это методология, то ли культура, то ли человек… Однако, на данный моме...

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

Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта Хабр, привет!Меня зовут Борис. Я Mobile QA lead в Vivid Money.Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.В рамках эт...

Разработка и графических приложений в WSL2 Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расск...

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

Утечка памяти: цена одной маленькой ошибки Всем привет, меня зовут Алена Коваленко, я Java-разработчица одной из команд направления Warehouse Management System (WMS) компании Lamoda. Наша команда занимается автоматизацией складской системы и реализацией новых фич для улучшения работы сотрудников склада. В том числе м...

Xiaomi отказывается от фирменного кролика: его изображение уже убрали с экрана MIUI Fastboot Многие пользователи смартфонов Xiaomi хорошо знакомы с экраном быстрой загрузки MIUI Fastboot на своих устройствах. В течение многих лет на этом экране было изображение кролика, который ремонтирует робота Android. Под картинкой была надпись Fastboot. Однако компания уда...

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

Держи свой трафик в тайне. SSL Pinning — ещё раз о том же самом Всем привет! Меня зовут Юрий Шабалин, я один из основателей компании Stingray Technologies. Мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. Сегодня я хотел бы снова затронуть тему безопасности сетевого взаимодействия между приложением и ег...

Оценка задач в Story Points для больших и молодых команд разработки У разработчиков, которые давно работают вместе, обычно нет проблем в оценке задач. В таких командах процессы настроены, а люди хорошо понимают друг друга, и любому новичку, попавшему в такую команду, быстро объяснят, научат и покажут, как работать в команде.Но на старте прое...

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

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

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

Flutter: автоматизация UI тестирования Мы — команда мобильного проекта FL.ru. В своей статье хотим познакомить вас с Flutter Driver и рассказать об автоматизации UI тестирования мобильных приложений с помощью данного инструмента. Читать далее

Как легко и быстро перенести данные WhatsApp с Android на iPhone? Когда я переходил с Android на iPhone, то радости не было предела. Это пока я не узнал, что данные WhatsApp не удалось перенести. Благо прогресс не стоит на месте и компания Wondershare разработала лаконичное приложение — Wutsapper. Оно позволяет переносить данные WhatsApp с...

Как устроены IT-процессы в «Сравни.ру» Привет, «Хабр»! Меня зовут Дмитрий Парфёнов, я технический директор в «Сравни.ру». Сегодня я расскажу, как в нашей компании выстроены процессы продуктовой разработки, какие метрики мы используем в работе и как происходит онбординг новых сотрудников.  Читать далее

Zeebe и Camunda: сравниваем известные BPM-системы под высокими нагрузками Всем привет! Меня зовут Николай Первухин, я Senior Java Developer в Райффайзенбанке. В последнее время я активно занимаюсь BPM-системами Camunda и Zeebe (основа Camunda-cloud). Если вы, как и я, с ходу не можете ответить на вопрос, кто быстрее — Camunda или Zeebe, насколько,...

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

Три способа отследить запросы Greenplum, которые «отъедают» слишком много ресурсов Привет, Хабр! Меня зовут Роман, я работаю разработчиком в компании Arenadata, где мы решаем много задач, связанных с Greenplum. Как-то мне представился случай разобраться с одним непростым, но вполне типичным для этой СУБД кейсом. Необходимо было выяснить, на обработку каких...

Собираем компилятор для ПЛИС Lattice ECP5 в лице Yosys и NextPNR для работы в ОС Windows Наш цикл про ПЛИС Lattice ECP5 растянулся уже на шесть статей. Мы уже научились не только создавать простые проекты для них, но набили руку в разработке сложных систем на базе кроссплатформенной открытой среды LiteX. В целом, я уже набрал материалов, чтобы выдать инструкцию,...

Bottom Sheet, перейдём на «ты»? Bottom Sheet представлялся мне сложным и недосягаемым. Это был вызов! Я не понимал, с чего начать. Возникало много вопросов: использовать view или view controller? Auto или manual layout? Как анимировать? Как скрывать Bottom Sheet интерактивно?Но всё изменилось после работы ...

Создаем и тестируем свой plugin для Gradle 7.0+ Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в д...

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

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

oneTBB: интеграция и сборка через CMake Threading Building Blocks (TBB) — популярная библиотека для параллельного программирования на C++ с открытым исходным кодом, опубликована на GitHub. Пару лет назад команда разработки решилась на глобальный рефакторинг библиотеки (проект TBB revamp), в который удалось вписать...

NVIDIA представила DLDSR — ещё одну технологию для повышения качества картинки в играх Компания NVIDIA представила ещё одну технологию, призванную повысить качество изображения и производительность в играх. Она получила название Deep Learning Dynamic Super Resolution (DLDSR) и представляет собой усовершенствованную версию Dynamic Super Resolution (DSR). Источн...

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

Финишные покрытия. Часть 2: типы покрытий СВЧ плат Привет! Меня зовут Олеся, и это вторая часть про покрытия. В этой статье расскажу про финишные и защитные покрытия СВЧ печатных плат. далее

Стоит ли подружить QA и разработку с помощью практики хранения тестов в коде? Заводить тест-кейсы руками в тестохранилищах — долго и скучно. Но ведь есть еще много юнит-тестов, которые пишут разработчики. И не всегда понятно, что они покрывают и как пересекаются с E2E-тестами. Head of QA в Авито, Александр Матвеев, на Test Driven Conf расскажет о том,...

3Д- Моделирование с нуля с помощью DesignSpark Mechanical на русском языке Меня зовут Дмитрий, мне 61 год и я проживаю в Германии. Имею нескольо специальностей, связанных с обработкой, опыт работы на современных машинах с ЧПУ, а так же квалификацию, связанную с CAD.  Autodesk Inventor, Autodesk Fusion 360, Sketchup, а так же FreeCAD- это те програм...

Скачать Windows 11 Build 22489 Microsoft выпустила новую предварительную сборку Windows 11 для пользователей в канале разработчиков (Dev), в результате чего номер сборки ОС увеличился до 22489. Эта новая сборка поставляется с новой страницей параметров вашей учетной записи Microsoft, которая включает допо...

Визуальный SLAM: делаем HD-карты при помощи смартфона Привет, Хабр! Меня зовут Гращенков Александр, я iOS-разработчик в компании RoadAR. С 2016 года живу и работаю в Иннополисе, занимаюсь компьютерным зрением и интеграцией нейросетей в мобильные платформы.Возможно, вы пользуетесь приложением-видеорегистратором со встроенным рас...

2000000$ за найденную уязвимость Эксперт в области информационной безопасности Гехард Вагнер получил рекордное вознаграждение в размере 2000000$ от команды блокчейн проекта Polygon. Найденная исследователем уязвимость угрожала потерей 850000000$. Вознаграждение стало рекордным в истории DeFi. Гехард Вагнер ...

В Steam можно будет увидеть, сколько «весит» игра до начала установки Компания Valve, разработчик игровой консоли Steam Deck и владелец сервиса Steam, обновила дизайн страниц игр, добавив возможность ознакомления с размером продукта до его установки на компьютер.

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

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

Цифровой вагон приехал в депо Привет, меня зовут Артём Душин и я – продакт «Цифрового вагона», о создании которого и принципах работы мы уже рассказывали ранее. Если совсем коротко, то это сервис предиктивной аналитики технического состояния вагона. Он помогает заранее узнавать о том, что вагону нужен ре...

7 принципов Agile из Agile Extension от IIBA Принципы — это те рельсы, которые направляют людей по жизненному пути. Международный Институт Бизнес-Анализа (IIBA) определил 7 главных принципов, которые указывают бизнес-аналитикам как работать приносить больше пользы команде и клиенту, делая меньше работы с большим к...

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

[Перевод] Как реализовать DDD в Go С помощью микросервисной архитектуры можно построить масштабируемое и гибкое приложение. Однако, если команда бессистемно использует этот подход в своей работе, то скоро столкнется с разочарованием и неконтролируемой сложностью. Избежать этого поможет DDD (Domain-Driven ...

Генератор компонентов Vue.js? Разработка веб-приложения это не только решения интересных задач, работа с логикой, или с интересной версткой. Это также рутина, которая преследует каждого разработчика в процессе работы. Начиная от создания разных файлов, и написания шаблонного boilerplate кода, заканчивая ...

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

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

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

Kubernetes Resource Model (KRM), или YAML всему голова Connections by GrahamSym. YAML (YAML Ain't Markup Language) — язык сериализации данных, который обычно применяется в файлах конфигурации, используемых в Kubernetes, Docker, Ansible и многих продуктах. Сейчас этот инструмент незаслуженно недооценен, многие просто не понимаю...

Улучшаем процесс ведения проекта в Git Привет! Я давно заметил, что процесс добавления нового кода в проект в большинстве команд может быть не всегда стандартизирован. Из-за этого могут возникнуть сложности с коммуникациями разработчиков как на уровне описания добавленного кода, так и понимания, какое влияние нес...

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

Какие приложения скачать для Android TV YouTube — одно из важнейших приложений для Android TV и будет очень обидно, если сервис заблокируют в России. Тем не менее, ваш телевизор со Smart TV без видеохостинга не станет хуже, благо в Google Play на телевизоре есть масса интересных приложений, которые заменят ...

Анализ синтаксиса, который всегда с тобой Всем привет, меня зовут Денис Лимарев, я разработчик платежной системы Delivery Club. И сегодня я расскажу, как мне надоели однообразные ошибки и собственная невнимательность, и как я с этим борюсь. Недавно я написал статью о нашем линтере, где вскользь затрагивал ...

Разворачиваем Golang приложение в Kubernetes В этой статье я хочу поделиться примером, как можно развернуть простое приложение на Golang в Kubernetes, с помощью helm чартов и skaffold скриптов. Думаю, данная статья может быть полезной тем разработчикам, которые только знакомятся с Kubernetes, а возможно и более опытным...

Next.js: подробное руководство. Итерация первая Привет, друзья! Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится). Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных при...

Gran Turismo 7 снята с продажи в России Gran Turismo 7 вышла сегодня на PlayStation 5 и PlayStation 4 по всему миру, но игра была незаметно снята с продажи в России. Как сообщает Eurogamer, последняя игра в серии, разработанная Polyphony Digital, недоступна для покупки в России, так как прошлой ночью Sony приняла ...

WhatsApp наконец появился на Apple Watch при помощи приложения WristChat WhatsApp — одно из самых популярных приложений для обмена сообщениями в мире, но когда дело доходит до платформ Apple, оно доступно только для iPhone и Mac. Теперь, благодаря разработчику Адаму Футу, пользователи Apple Watch наконец-то могут получить доступ к What...

Мой друг Netmiko Ansible с костыльком может автоматизировать сеть и non-CloudEngine коммутаторов Huawei, как недавно было доказано на нашем Enterprise форуме. Однако в сети, в которой работают разные модели коммутаторов, Ansible не представляется эффективным инструментом на данный момент. И ...

Работа с картами. GMAP C# На написание данной статьи меня подтолкнуло не столь большое наличие текстовой информации по работе с GMap на просторах интернета, как хотелось бы.Стояла задача визуализировать на карте положение объектов по известным координатам для дальнейшего анализа и выявления каких-либ...

Вторая жизнь звука в «Художественном» — работает 3D печать В этой статье речь пойдет о том, как с помощью 3D-печати можно получить качественное звуковое оборудование и при этом сделать уникальный дизайн. В данном случае компании удалось выполнить нелегкую задачу по оснащению и одновременно сохранению исторического облика одного из с...

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

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

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

Что такое Netcat? Bind Shell и Reverse Shell в действии Друзья, всех приветствую!В этой статье мы поговорим о том, что такое Netcat и с помощью него реализуем Bind и Reverse Shell соответственно.NetcatNetcat, впервые выпущенный в 1995 году (!), является одним из "оригинальных" инструментов тестирования на проникновение в сеть. Ne...

JavaScript: разрабатываем чат с помощью Socket.io, Express и React с акцентом на работе с медиа Привет, друзья! В данной статье я хочу показать вам, как разработать простое приложение для обмена сообщениями в режиме реального времени с использованием Socket.io, Express и React с акцентом на работе с медиа. Функционал нашего приложения будет следующим: при первом за...

Meta расформировала команду из 300 разработчиков гибридной платформы дополненной и виртуальной реальности Как сообщило издание The Information, компания Meta расформировала команду из 300 человек, которые разрабатывали универсальную ОС для устройств дополненной и виртуальной реальности. Источник изображения: Rodger Shija / pixabay.com Первые сведения об этом поступили ещё в нача...

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

Консольное приложение, которое рисует сердечко на C# Данный код не является оптимизированным или идеализированным, он очень простой и будет понятен новичкам(кем я и являюсь), потому надеюсь на понимание). Ну и еще это приложение было создано скорей смеха ради. Читать далее

Зачем бизнес-аналитики лезут в дизайн или как мы вырубили «лес» и избавились от «слона» Меня зовут Ирина Козлова, я — старший бизнес-аналитик в ИТ-компании STM Labs. Помимо моих ключевых обязанностей: бизнес и системный анализ, сбор и управление требованиями, я принимаю непосредственное участие в приемке макетов от дизайнеров. Разрабатывая продукт с нуля, можн...

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

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

Как я создал Spring Boot startup analyzer Ни для кого не секрет, что приложения на Spring могут задумываться на старте. Особенно это заметно с развитием проекта: новый сервис стартует быстро и радует отзывчивостью, потом начинает обрастать функционалом, появляются всё новые и новые зависимости, а итоговый дистрибути...

В Intel разработали чип для майнинга биткоина По всей видимости, микросхема Bonanza Mine пока представляет собой исследовательский проект. На международной конференции по твердотельным схемам ISSCC группа исследователей из компании Intel выступит с докладом о разработанной ими специализированной ASIC-микросхеме для э...

Microsoft упомянула Windows 11 22H2 в Feedback Hub Microsoft непреднамеренно опубликовала страницу в Feedback Hub со ссылкой на Windows 11 версии 22H2, где упоминается «SV2», вероятно, аббревиатура Sun Valley 2, кодовое название Windows 11 22H2. Страница предлагает пользователям «изучить недавно обновленные страницы приложен...

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

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

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

Next.js: подробное руководство. Итерация вторая Привет, друзья! Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится). Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных при...

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

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

Bitrix и Kafka: настраиваем интеграцию с брокером очередей Привет! Меня зовут Саша Шутай, я тимлид в AGIMA. В прошлой статье я рассказывал, что делать, если на проекте Bitrix сожительствует с Vue.js и поисковые боты не видят контента сайта. А в этой помогу разобраться, как на Bitrix-проекте произвести интеграцию с брокером очередей ...

Шаринг сокет-соединения между вкладками В каждом современном сервисе должны быть сториз и чат, и для начала мы решили запилить в hh.ru переписки. Меня зовут Влад Коротун, я фронтенд-разработчик. В этой статье расскажу, как неординарный подход к использованию Web Workers помог нам решить эту задачу.Для желающих пос...

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

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

Обновление Google Phone «сломало» страницу с избранными контактами Google Phone — это официальная звонилка от Google, которая предустанавливается на смартфоны Pixel и некоторые модели других брендов. Приложение весьма удобное, а потому пользуется большой популярностью. Но недавно пользователи стали жаловаться на серьёзную проблему в работе ...

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

Tiny code: CRC, Gnome Sort etc… Оптимизированные по размеру уже известные алгоритмы CRC, Gnome Sort etc... Читать далее

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

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

HyperX представила беспроводные игровые наушники HyperX Cloud Alpha Wireless со сроком службы батареи до 300 часов HyperX представила беспроводные игровые наушники HyperX Cloud Alpha Wireless со сроком службы батареи до 300 часов на одном заряде. Благодаря фирменному комфорту HyperX, Cloud Alpha Wireless предлагает захватывающий звук с DTS Headphone: X 2 Spatial Audio и использует двухка...

Как я делаю дрон из Raspberry Pi и ESP32 (или мои первые шаги в робототехнике) Всем привет, меня зовут Антон, и как вы могли уже догадаться из названия, решил я рассказать о своих попытках вкатиться в робототехнику, а в частности о своем дроне из Raspberry Pi и ESP32. Читать далее

Microsoft откатывает ошибочное накопительное обновление, чтобы исправить зависание вкладок IE в Edge После установки обновления KB5014019 и более поздних обновлений вкладки режима IE в Microsoft Edge могут перестать отвечать на запросы, когда на сайте отображается модальное диалоговое окно. Модальное диалоговое окно — это форма или диалоговое окно, которое требует от пользо...

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

Что делать, если вылетают приложения на Android TV Телевизор со Smart TV устроен таким образом, что очень напоминает смартфон: также есть оперативная память, жесткий диск, операционная система, магазин приложений и обновления. К сожалению, иногда система дает сбой: приложения зависают, выкидывают пользователя или светится ч...

Samsung Galaxy S21 FE выставлен на продажу в Walmart за 699 ​​долларов Ожидается, что Samsung Galaxy S21 FE будет представлен на выставке CES 2022, которая состоится в январе. Тем не менее, телефону удается так часто появляться на нескольких изображениях и видео, что дизайн и большинство его характеристик уже известны многим. Теперь, перед его ...

Как мы делали оптимизатор, который сократил планирование графика порезки металла с 5 часов до 5 минут Привет! На связи Анна Данилова и Михаил Телков из центра компетенций Quintiq в «Северстали». Мы тут сделали один классный оптимизатор для производства и хотим о нем рассказать. Немного фактов: активная фаза проекта заняла 26 недель; на стадии разработки реализовано 137 задач...

Ошибка при подключении к iCloud. Что делать? На днях пользователи техники Apple массово столкнулись с проблемами при синхронизации данных с iCloud. Одним не удавалось войти в свой аккаунт Apple ID, другие не могли воспользоваться функцией резервного копирования данных, у третьих не работали отдельные приложения, испол...

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

Новый инструмент для проверки индексации страниц Бесплатно онлайн проверит, проиндексирована ли страница сайта Яндексом или Google.

[Перевод] Создаем CLI-приложение с помощью React.js Приложения с интерфейсом в виде командной строки (Command-Line Interface — CLI) стали популярными в экосистеме разработчиков по целому ряду причин. Самые банальные из них — это простота использования (CLI) и то, что многие важнейшие инструменты разработки представляют из себ...

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

Приглашаем на Ozon Tech PostgreSQL Meetup: строим PostgreSQL-as-Service Привет, Хабр! Меня зовут Алексей, я тимлид команды инфраструктурных разработчиков и инженеров PostgreSQL. У нас небольшая команда — всего 6 человек, но при этом довольно большая инфраструктура, на которой едут наши инстансы PostgreSQL. Это около 8000 виртуальных машин в прод...

Предварительная версия Windows 11 Build 22518 развертывается с новыми функциями Windows 11 Build 22518 теперь доступна для всех тестировщиков в канале Dev. В отличие от предыдущих обновлений, сборка 22518 на самом деле содержит новые функции и длинный список улучшений для ключевых областей ОС, включая проводник, навигацию и многое другое. Это обновление...

Ученые разработали магнитную слизь, похожую на Венома из комиксов Марвел Кадр из фильма «Веном» Во вселенной комиксов Marvel есть персонаж Веном, который является инопланетным существом и имеет липкую и практически жидкую форму. Китайские ученые во главе с профессором Ли Чжаном (Li Zhang) создали похожего на него робота и это, по словам создателе...

В браузере Google Chrome теперь можно читать статьи в боковой панели Команда Google начала тестировать новую удобную функцию в фирменном браузере Chrome. Новшество позволяет расширить функциональность боковой панели.  Боковая панель в браузере Chrome в настоящее время содержит список чтения, закладки и результаты поиска Google Lens...

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

Как команда IT-animals о своих Heroes of might and magic грезит У нас в команде есть мечта: однажды разработать идейного наследника Heroes of might and magic. Вдохновил нас Atom rpg: духовный наследник первых двух игр серии Fallout, созданный преданными фанатами и независимой студией Atom Team. Эти ребята (8-11 человек) вывели свой проек...

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

В Яндекс.Маркете появился бесплатный конструктор витрины магазина Команда Яндекс.Маркета объявила о запуске новой полезной функции. Теперь продавцы получили доступ к бесплатному конструктору для оформления витрины магазина.  В разделе «Продвижение» появилась страница «Витрина магазина». Конструктор позвол...

Идеальный кандидат: миф или реальность? Привет, Хабр! Меня зовут Арина Кретова, я IT-рекрутер в Lamoda. Время от времени у наших кандидатов возникает вопрос — кто для нас идеальный кандидат и как им стать? Думаю, пришло время поговорить на эту тему и расставить все точки над i. В статье я расскажу о качествах...

Улучшение Visual Studio Code для новичков VSCode — Самый популярный редактор кода среди веб-разработчиков. Вы можете использовать его с нуля, однако для опытных программистов его базовых функций недостаточно. Здесь я описал, то как сам докрутил этот редактор под свои потребности. Я фронтенд-разработчик, но также ис...

Управление данными в системе автоматизации на Vue и Vuex и решение проблем тестирования с помощью Jest Привет! Меня зовут Артём Карачёв, я фронтенд-разработчик в Sportmaster Lab. Сейчас мы пишем модуль автоматизации физической фотостудии, где работают несколько фотографов, менеджеров, фоторедакторов, кладовщиков и других. Все фото кроссовок, которые вы видите в интернет-магаз...

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

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

Кооператив на Unity за «Бесплатно», или p2p соединение через ISteamNetworkingMessages Разрабатывая вторую игру на Unity я решил замахнуться на кооперативный режим. Так как новая игра тоже выйдет на площадке Steam, сервисы стима уже интегрированны, а взнос за приложение уже уплачен, было решено попробовать сетевые сервисы стима. Steam заявляет что они очень кр...

Выгрузка с VMware vAvailability: перенос виртуальных машин в Россию Привет, Хабр! Меня зовут Андрей Вахутинский. Это первый пост в блоге компании Oxygen на Хабре, и сегодня я хочу поделиться практикой миграции одного из наших клиентов из зарубежного облака. В этом тексте мы разберем достаточно простой способ выгрузки виртуальных машин из эко...

[Перевод] Программирование с dplyr Большинство глаголов dplyr так или иначе используют аккуратную оценку (tidy evaluation). Tidy evaluation - это особый тип нестандартной оценки, используемый во всём tidyverse. В dplyr есть две основные формы tidy evaluation:Описанные концепции обращения к переменным таблиц д...

Выпущена сборка Microsoft Edge Dev 99.0.1131.3 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 99.0.1131.3 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Это первая сборка с основным номером 99 для канала Dev. Основные новшества: ...

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

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

Microsoft начинает убирать важные функции из Панели управления в Windows 11 Панель управления Windows существует уже некоторое время и является приложением по умолчанию для управления настройками в Windows 7 или более ранних версиях. С момента выпуска Windows 8 Microsoft сосредоточилась на современной альтернативе Панели управления и намерена перене...

Как пользоваться флажками в Mail (Почте) на iPhone и iPad Если вы плотно работаете с электронной почтой, не хотите ничего забывать и всё успевать – вам придется создать систему напоминаний о важных письмах. Простейший способ сделать это на iOS-устройствах – пометить Email как важный с помощью «флажка».   ♥ ПО ТЕМЕ: VIP-контакт...

Слуховой аппарат Eargo 6 Eargo 6 - универсальный слуховой аппарат был специально разработан для автоматической настройки в среде пользователей основываясь на предыдущих продуктах компании. Водонепроницаемая конструкция была протестирована на степень водонепроницаемости IPX 7, а эргономичный дизайн с...

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

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