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

Sysbox: Изолированный container runtime. Краткий обзор и настройка О Sysbox в 3-х предложениях:- Sysbox - это "VM-like" контейнеры с возможностью запускать внутри системный софт: Docker, Kubernetes, Systemd, вложенные контейнеры и т.д. - Любой софт, работающий на виртуальной машине, должен также работать в контейнере без проблем и с на...

Модуляризация доменного слоя в UDF. Часть II В предыдущей части мы рассмотрели, что такое домен и какими принципами можно руководствоваться при его модуляризации. В этой части сконцентрируемся на типах связей между модулями и различиях в проектировании ООП и UDF-кода. Приятного чтения! Читать далее

Неклассические контейнеры в C++ Контейнер - это объект, используемый для хранения других объектов. Контейнер берет на себя управление всей памятью, которые эти объекты занимают.В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрываю...

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

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

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

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

Как собрать Docker-контейнеры с помощью Ansible Docker — это система контейнеризации, собирающая независимые части ОС без установки библиотек в основную систему. В отличие от виртуалок, которые собираются долго, такие контейнеры собираются и запускаются достаточно быстро. Это позволило Docker и Kubernetes стать одним из г...

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

Как приготовить техночизкейк или сушка пластика в домашних условиях. Проект сушилки с претензией на безопасность. Всех приветствую!В этот раз хочу описать свой опыт изготовления сушилки для пластика на базе кухонной мини-печи. К написанию статьи меня сподвиг тот факт, что я не смог найти на ресурсах 3D-Today интересующего меня проекта сушилки пластика.Хотелось бы ещё в качестве вступлен...

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

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

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

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

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

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

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

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

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

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

Доставка достала: команда Greenpeace запустила проект против одноразовых контейнеров и приборов

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

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

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

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

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

Как напечатать float Казалось бы, совершенно непонятно, зачем живым людям в 2021 году решать задачу под названием «печатаем обычное вещественное число». Вроде бы это должно быть уже решено — причём примерно в тот момент, когда эти вещественные числа изобрели. Но оказывается, что нет. Привет...

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

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

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

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

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

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

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

Настраиваем свой почтовый сервер в docker-compose Недавно мне потребовалось собрать свой почтовый сервер. В принципе, дело-то простое. Берёшь и ставишь сервер. Postfix, dovecot, letsencrypt, roundcube, spamassasin, clamav. Всё это — уже известные дела. Колея проторена. Иди и делай. Но мне нужно было наплодить этих сервер...

Дайджест интересных материалов для мобильного разработчика #424 (13 — 19 декабря) В нашем новом дайджесте перевод C++ в Swift и модуляризация доменного слоя, разбор истории с невыполненным звонком в 911 и шаблонизация кода, инструменты для снятия логов, игры-миллиардеры 2021, курс “Введение в робототехнику” и многое другое! Читать дальше →

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

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

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

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

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

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

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

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

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

[Перевод] Путь к успеху в сфере DevRel: информирование, помощь, вовлечение Только за последний год у меня было несколько десятков разговоров с людьми, которых интересовало, как разделить обязанности в команде Developer Relations (эта команда выстраивает отношения с разработчиками). Неважно, какая перед вами стоит задача: понять, какого именно специ...

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

[Перевод] Shape Up на русском. Книга от создателей Basecamp о том, как выпускать нужные рынку продукты – в срок И сразу ссылка:https://shapeup.vlad.studio/С вами так бывало? Послушаешь новый альбом и так зацепит, что обязательно нужно со всеми поделиться. Примерно это случилось со мной и книжкой «Shape Up». У меня за плечами десяток лет работы продуктовым дизайнером, и я не раз видел,...

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

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

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

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

Apple Watch, статистика и Siri — как мы провели iOS-хакатон Всем привет, меня зовут Семён, я iOS-разработчик в Ситимобиле.

Автоматизируем работу с ArchiMate в CI пайплайнах В этой статье я дам краткую вводную, что такое Archi и ArchiMate. Расскажу о коллективной работе с Archi используя расширение coArchi, после чего предоставлю контейнер позволяющий автоматизировать работу по созданию HTML и PDF документов с ArchiMate моделями. Завершим же, со...

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

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

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

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

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

Компания SUSE открыла код NeuVector Компания SUSE объявила о выпуске NeuVector - платформы, обеспечивающей комплексную безопасность контейнеров. Это решение предназначено для выполнения   контейнеризированных приложений в среде нулевого доверия (zero trust). База кода NeuVector уже доступна сообществ...

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

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

Как мы писали свой курс по Go и почему в итоге их получилось три В ноябре 2021 года Яндекс.Практикум запустил курс «Go-разработчик» для программистов, которые хотят добавить Go в свой стек. На курсе не рассказывают о базовых вещах, а сразу объясняют студенту, как переложить его знания в парадигмы Go. Меня зовут Алексей Полевой, я прода...

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

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

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

Что в глубинах Data Lake? Строим архитектуру, укладываем слои, распределяем ответственность Привет, Хабр! Меня зовут Григорий Коваль, я технический руководитель Core Data Lake центра Big Data МТС. Сегодня я расскажу о том, какие слои находятся внутри Data Lake, как построить архитектуру базы данных и чем распределенный Data Mesh-подход отличается от монолитного хра...

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

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

[Перевод] Настройка Podman для Quarkus Dev Services и Testcontainers в Linux Podman - это контейнерный движок без демонов (daemonless) для разработки, управления и запуска контейнеров в системах Linux. Начиная с выпуска версии 3, Podman позволяет пользователю запускать службу, имитирующую Docker API. Это позволяет использовать Testcontainers и Quarku...

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

Уязвимость Docker Escape: побег из контейнера всё ещё возможен Как и любое другое программное обеспечение, в Docker присутствуют различные уязвимости. Одной из самых известных уязвимостей считается «Docker escape» — побег из контейнера Docker. Данная уязвимость позволяет получить доступ к основной (хостовой) операционной системе, тем са...

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

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

Настройка docker в debian 11.2 Docker единственная система контейнерной виртуализации с которой мне еще не доводилось сталкиваться, по этому после изучения данной темы решил написать данную публикацию. В данной публикации пойдет речь о сборке собственного образа (с помощью dockerfile) на основе официальны...

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

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

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

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

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

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

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

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

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

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

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

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

Управляем командой и продуктом: 7 SCRUM-инструментов для команд и компаний О том, что такое SCRUM, рассказывать на Хабре необходимости нет. Эта методология применяется компаниями любого масштаба для работы над проектами с оптимизацией взаимодействия команды. У нее есть как поклонники, так и противники, в чем можно убедиться, почитав комментарии под...

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

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

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

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

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

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

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

Как мы уменьшаем размер изображений на веб-страницах в 10 раз с помощью нашего оптимизатора Привет, Хабр! Меня зовут Евгений Лабутин, я из команды разработки продукта МТС Твой бизнес. Мы разработали свой рецепт приготовления картинок для нашего портала. Благодаря ему удалось сократить их вес на странице до 10 раз относительно уже оптимизированного jpg/png, сохранив...

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

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

[recovery mode] Stevedore — открытая, бесплатная и быстрая альтернатива Docker Desktop Эта история началась весной 2021 года.Я много работал с Docker-контейнерами под Windows и страдал.Страдал от того, как медленно запускается Docker Desktop.Страдал от того, сколько он ест оперативной памяти.Страдал от того, что постоянно что-то ломалось при обновлениях.Страда...

[Перевод] Масштабируем Kubernetes до 4000+ нод и 200 000 подов Фото Todd Diemer, Unsplash.com В PayPal мы недавно начали прощупывать почву с Kubernetes. Большинство наших рабочих нагрузок выполняется на Apache Mesos, и в рамках этой миграции нам необходимо было понять несколько аспектов производительности кластеров, работающих под упра...

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

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

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

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

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

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

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

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

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

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

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

Как правильно верстать в 2022 году. Часть 1 Меня зовут Николай, я Frontend-разработчик IT-компании Relog. Хочу рассказать о самых распространённых ошибках в вёрстке современных проектов.Дело в том, что лишь малая часть современных фронтендеров обращает внимание на работу с HTML и CSS, предпочитая готовые решения, врод...

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

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

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

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

Как протащить верблюда сквозь игольное ушко, или обновление компилятора С++ на проекте старше 10 лет Привет! Меня зовут Колосов Денис, я являюсь разработчиком клиентской части проекта «Allods Online» в студии IT Territory. Сегодня я расскажу о том, как мы решились обновить среду разработки и заодно компилятор на нашем проекте с Visual C++ 2010 на 2019. О чем пойдет реч...

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

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

Как я перестал беспокоиться и полюбил тестирование React-компонентов Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный ...

Как самостоятельно выучиться на дата-саентиста — адаптированная подборка "Cтоит ли тратить деньги на тот или иной дорогой курс с codename «Стань DS за два месяца» или все же выучиться на дата-саентиста самостоятельно и бесплатно, и в таком случае, с чего начать?" такие вопросы я получаю от аудитории своего блога. Меня зовут Айра, я делаю про...

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

[Перевод] В простых системах меньше даунтайм Четырёхсотметровый контейнеровоз Maersk класса Triple-E перевозит 18 тысяч контейнеров на 11 тысяч морских миль между Европой и Азией, а вся его команда легко поместится в московской маршрутке Как бывший морской архитектор, а ныне консультант по маркетингу стартапов, увер...

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

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

[Перевод] Python и чистая архитектура в 2021 году Прошло уже почти 3 года с тех пор, как я впервые воспользовался чистой архитектурой на практике. С тех пор я побывал на многочисленных конференциях, где выступал с докладами на эту тему (вот, например, доклад Clean Architecture in Python с конференции PyGotham 2018...

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

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

Князь Вялых Проектов Этот текст – заказной. Знаю, многие из читателей пытались заказать у меня тексты, но я если и пишу для кого-то, то только для друзей. Нетрудно догадаться, что заказчик – мой друг. Зовут его… Пусть Вася. Он так и не решил, называться ли настоящим именем. Потому что так и не р...

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

Мой опыт технического собеседования: как не превратить его в экзамен и найти профпригодного сотрудника Привет, Хабр! Меня зовут Леонид Титов, я бэкенд разработчик в #CloudMTS. Так уж сложилось, что я не только пишу код, но и иногда собеседую кандидатов. Мне нравится процесс, и, думаю, у меня это получается. Начал я этим заниматься ещё на предыдущем месте работы, где мы с ...

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

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

Эволюция архитектуры Авито, или Как мы монолит в Kubernetes затолкали Всем привет, я Александр Данковцев, lead engineer команды Antimonolith. Как можно догадаться, в Авито я занимаюсь распилом монолита. В статье речь пойдёт о процессе миграции монолита в Kubernetes и сопутствующих ему проблемах. Я разберу, как мы эти проблемы решали и к ч...

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

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

Тильда против фронтенда: 6 главных мифов о конструкторе Бывает так: заказчику нужен лендинг еще вчера. К фронтендеру обращаться не хочется — долго, дорого, дизайнеру не понравятся отступы, а вся задача превратится в череду долгих согласований.Привет, меня зовут Соня! Я – UX/UI дизайнер в hh.ru. В этой статье мы разбираем популярн...

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

Отдельная ноутбучная видеокарта NVIDIA оказалась почти не лучше встроенной графики AMD Недавно NVIDIA представила новую видеокарту GeForce MX550 на базе архитектуры Turing для тонких ноутбуков. Как оказалось, она предлагает производительность, почти как у интегрированной графики, и возникает вопрос, зачем вообще нужны такие видеокарты.

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

Автоматические имена роутов Laravel Часто разработчики при создании проектов пренебрегают именованием маршрутов по разным причинам, например, когда они вообще не обращаются к ним используя метод `route()`. Это обусловлено архитектурой приложения и в этом нет ничего зазорного. Но есть и такие проекты, где имена...

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

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

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

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

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

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

Архитектурное тестирование О том зачем тестировать архитектуру приложения. Что можно "покрыть" такими тестами. Какие инструменты для этого существуют. А так же о перспективах данного направления. Читать далее

Тренды в IT. Что вообще происходит? Привет! Меня зовут Сергей Путятинский, в Московском кредитном банке (МКБ), я отвечаю за блок IT, клиентский сервис и бэк-офис. Не так давно мы с коллегами по цеху собирались обсудить тренды в цифровизации, причем было желание поговорить не о сферических цифровых «конях в вак...

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

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

От Prototype Pollution к RCE на ZeroNights X В рамках данной статьи мы рассмотрим уязвимость Prototype Pollution на клиенте и AST-injection на сервере и то, к чему может привести их совместная эксплуатация, а также, как они были встроены для обучения в конкурс “Hack To Be Hired” на ZeroNights X от Академии Digital Secu...

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

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

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

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

Зачем компаниям API Management Привет, Хабр! Мы – Ярослав Насонов и Надежда Колезнева – развиваем витрину для внешних API в МТС. Сегодня обсудим тему управления API в корпорации. Поделимся опытом внедрения API-менеджмента в МТС, расскажем, что уже сделали, сколько потратили времени, с какими ошибками стол...

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

Совместимость блокчейнов: небольшая справка Всем привет! Меня зовут Валерий, я junior developer. Недавно я попал в команду западного стартапа, развивающего финансовую экосистему в сфере блокчейн. До этого я поверхностно интересовался миром криптовалюты, но непосредственно в этой отрасли никогда не работал. А тут все т...

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

Как я визуализировал граф билда. Build Graph for Xcode Каждый год я стараюсь запускать по одному пет-проекту. Самый первый начинался ещё до того, как я умел пользоваться Git, а последний вообще был не программой, а книгой про доступность. Каждый проект учил меня как программированию, так и подходу к продуктовой разработке, что п...

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

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

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

Тренды Kubernetes и контейнеризации в 2021 году. Что общего в исследованиях Datadog, Red Hat, CNCF и других Недавно компания Datadog, разработчик одноименной системы мониторинга, представила свой обновленный отчет «10 трендов использования контейнеров в реальном мире». Авторы исследования проанализировали полтора миллиарда контейнеров, развернутых тысячами компаниями-клиентами Dat...

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

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

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

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

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

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

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

10 товаров, которые помогут организовать хранение продуктов Вакуумный упаковщик, банки, контейнеры объёмом до 11,2 л — с ними на кухне будет порядок.

Tarantool на процессорах Apple M1: первые результаты Spiderman + Youtube speedpaint by RowenHebing Процессоры M1 от Apple уже давно не новость. Многие знают об их быстродействии и о том, что приложения для MacOS нужно адаптировать под новую архитектуру. В команде разработки платформы Tarantool мы тоже недавно поставили перед ...

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

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

Загрузка stage слоя DWH. Часть 1 Доброго дня. Меня зовут Иван Клименко, я разработчик потоков обработки данных в компании Аскона. В этом цикле статей я расскажу опыт внедрения инструмента Apache Nifi для формирования DWH. Данная статья посвящена первому этапу внедрения Apache NIFI - начальным потокам в...

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

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

В Apex Legends могут появиться "умные" контейнеры Согласно утечкам, "умные лутбины" будут выдавать игрокам именно то, чего им не хватает в бою

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

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

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

Дополнительное охлаждение для MacBook Pro — в борьбе за тихую работу ноутбука Шум ноутбуков при нагруженной работе уже стал нормой и только новые ноутбуки на архитектуре ARM позволяют частично или полностью избавиться от шума. Но не всем пользователям подходит эта архитектура. Мне кажется это связанно в основном со спецификой работы. Помимо различных ...

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

[Перевод] От песочных часов к пирамиде: как усовершенствовать структуру тестов Меня зовут Владислав Романенко, я Senior iOS QA Engineer в Badoo и Bumble. Мы регулярно внедряем новые фичи в приложения, и автоматизация тестирования — один из способов не пропустить баги. Фактически автотесты входят в жизненный цикл всех частей наших приложений: бэкенда, с...

Div на div’е не сидит и div’ом не погоняет: пишем семантически верные индикаторы загрузки на Angular Сверстать собственный индикатор загрузки — одна из самых простых задач, с которой может столкнуться веб-разработчик. Для получения рабочего решения пригодятся базовые знания HTML и CSS, а JS будет нужен лишь для управления процентом выполненной задачи.Однако эта простот...

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

В чем смысл open source? Хабр, привет! Я Юра, руководитель платформенной команды inDriver. В IT уже более 12 лет, на iOS пишу 7 лет. В этой статье обращусь к принципам и целям open source. Мы разберемся с его лицензиями, посмотрим на рынок и государственное участие в этом процессе. Добро пожаловать ...

Потратить миллион, чтобы нанять двух джунов: профит и около него Привет, меня зовут Валерий Антонов, я руковожу направлением Java в Уральском банке реконструкции и развития (УБРиР). Осенью у нас окончилось обучение в двух школах Java. По итогам работы мы приняли в штат двух учеников школы Java, а несколько сотрудников банка сменили с...

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

Как вести переговоры с террористами… партнерами, детьми и вообще с кем угодно Есть настоящие профи по управлению проектами или те гении, которые придумывают изящные решения для заказчика. Однако почти в каждом, даже самом многообещающем проекте рано или поздно возникают проблемы. Иногда эти проблемы принимают монструозные масштабы, и команда проекта у...

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

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

«Искусство войны» Сунь Цзы в бизнесе и проектах. Взгляд на основе личного опыта Здравствуй, Хабр. Меня зовут Николай. Так сложилось, что я довольно давно работаю с людьми, но не считаю, что мой опыт выходит за рамки обыденности и чем-то примечателен сам по себе. Потому, я останусь условным “инкогнито” в профессиональном плане и поделюсь своими...

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

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

Добавляем ботов в мультиплеерный шутер на Unity С ростом проекта в него приходит постоянно приходит новая аудитория: как матерые игроки, так и новички в жанре. Закинуть всех в один матч можно, но первым будет скучно, а вторым — сложно. В итоге всех можно потерять уже на старте.Боты — не только хороший способ восполнить не...

Публикуем проект с помощью Gradle и Sonatype в Maven Central без рук Это такое приятное чувство, когда ты закончил какую-то задачу. А особенно когда твой проект уже готов к релизу. Остался лишь последний шаг. Публикация проекта в Maven Central, имеено об этом я расскажу в этой статье. Как настроить Gradle, чтобы потом без труда настроить CI....

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

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

Inductive bias и нейронные сети В этой статье я расскажу, что такое inductive bias, зачем он нужен и где встречается в машинном обучении. Спойлер: везде. Любая нейросеть имеет inductive bias (даже та, что в человеческом мозге, хе-хе)Также вы узнаете:- почему inductive bias — это очень хорошо- способы внедр...

[Перевод] Холодные запуски AWS Lambda — решение проблемы Холодные запуски могут оказаться губительными для производительности AWS Lambda, особенно если вы создаёте клиентоориентированное приложение, которое должно работать в режиме реального времени. Представьте себе, что пользователь отправил приложению запрос, а ваша функция AWS...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] U-boot. Процедура инициализации по шагам В предыдущей статье был описан процесс настройки IDE Eclipse для кросс-платформенной отладки загрузчика U-boot. В данной статье описывается устранение последних ограничений, препятствовавших полноценной его отладки. После чего, получив возможность полноценной отладки кода, п...

[Перевод] Как писать условия в JSX Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

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

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

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

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

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

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

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

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

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

Unity «Best» Practices Эта статья родилась из внутреннего доклада для коллег, которые уже достаточно давно занимаются разработкой игр, но только недавно прикоснулись к Unity. Здесь мы собрали фишки и особенности работы с этим игровым движком разной степени капитанскости, почерпнутые из собственног...

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

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

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

Почему же всё-таки React, а не Angular Привет, меня зовут Феликс Пискунов. Разрабатываю веб-приложения уже 16 лет. Решил поделиться своими размышлениями по поводу выбора фреймворка и что меня подвигло оставить Angular и уйти без оглядки в React Читать далее

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

Вангеры 3D: пример использования Emscripten в Rust Вангеры в 2022 году продолжают удивлять, прежде всего людьми которые когда-то полюбили эту игру, но сегодня не забывают и вкладывают много сил, делая её лучше, современнее. Оригинальная игра получила обновление с поддержкой полноценного 3D, да не абы какого, а кросс платформ...

Какой JS-фреймворк выбрать новичку — мнения шести экспертов Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Frontend в СберМаркете. В первой статье о JS-фреймворках я рассказал о самых популярных из них: Angular, React, Vue и других. В комментариях опытные разработчики спорили о том, какой ...

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

[Перевод] Инструкция по Selenium Docker В этой статье мы расскажем о том, как запускать Selenium-тесты в Docker и выполнять их в браузерах Chrome и Firefox. И мы, вероятно, также поймем, зачем запускать Selenium-тесты в Docker. Читать далее

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

Создание Native Images со Spring Native и GraalVM В этой статье я хочу исследовать возможности технологии Java Native Image, поделиться опытом взаимодействия с ней и со средствами Spring для генерации нативных образов. Читать далее

GraphQL-gRPC API Gateway на Java В данной статье я хочу рассказать про процесс создания концепта API Gateway для обеспечения взаимодействия фронтенда, использующего GraphQL, и бэкенда, использующего gRPC, на Java с использованием фреймворка Quarkus. Читать далее

Для чего Украине понадобилось оснащать Байрактары системами для совершения химических атак? Журналистами опубликован сенсационный документ, доказывающий факт наличия необычных договорённостей производителей ударных беспилотных систем Bayraktar и руководства Украина. Украинская сторона просит производителя оборудовать беспилотники «контейнерами объёмом свыше 20 л», ...

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

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

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

Дикие технологии, или как ИИ считал сусликов да рыбов Кроноцкого заповедника В начале декабря мы были организаторами хакатона WildHack – wild, потому что проводился он совместно с Кроноцким заповедником. Школьники, студенты и проскилованные специалисты три дня думали, как посчитать всех рыбов, сусликов и по-другому оцифровать работу природоохранных...

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

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

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

Погромист. Мои самые эпичные провалы за всю карьеру Я люблю критику. Если вы не заметили, я, как старый дед, всё [поливаю грязью](https://habr.com/ru/post/594601/) и всем [недоволен](https://habr.com/ru/post/550088/).Забавно, но в то же время я люблю, когда критикуют меня самого, потому что именно в такие моменты я что-то нач...

Электропривод с ШИМ – способ улучшения динамики контура тока В продолжение темы модельно ориетированного проектирования, публикую очередную статью Калачева Юрия Николаевича, автора книги Моделирование в электроприводе. Инструкция по пониманию. В новой статье раскрываются рецепты лечения "вялого" электропривода. Данный текст ...

От LiveData к Flow… Мы Дима и Настя, Android-разработчики в компании СберЗдоровье. В этой статье мы хотим рассказать о том, как мы перевели весь наш проект с LiveData на Flow, с какими трудностями столкнулись и что полезного узнали. Эта статья будет полезна тем, кто работает с LiveData, уже про...

[Перевод] Разработка настоящих компонентов: блок сообщения Facebook Messenger Смесь любопытства и тяги к исследованиям снова привели меня к системе обмена сообщениями Facebook. Я уже изучал компоненты Facebook и писал об этом. Сейчас я обратил внимание на то, что в одни только блоки для вывода сообщений чата вложена огромная работа. На первый взгляд м...

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

Конвертер из HDMI/DP++ в MIPI DSI Доброго времени суток, Хабр! Неоднократно мне тут задавали вопросы по конвертеру из HDMI в MIPI DSI. Так сказать, по просьбам трудящихся, выкладываю что у меня получилось. В статье затрону аппаратную сторону реализации устройства и изложу основные проблемы, с которыми сто...

[Перевод] React, AbortController и асинхронные onClick вызовы Добрый день, читатели Хабра, представляю вашему вниманию перевод статьи React, Abort Controller and onClick async calls Что такое Abort Controller в JavaScript Web Apps, как его использовать в React для прерывания асинхронных вызовов? Теория и некоторые примеры использова...

Летняя Школа Юных Программистов #47 Привет хабраюзер, меня зовут Климов Николай и сегодня я расскажу вам о нашей школе - Летней Школе Юных Программистов имени А.П. Ершова (сокращенно ЛШЮП). Она довольно известна в узких кругах (в основном в IT и университетской тусовке Новосибирска), но на хабре о ней мало кто...

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

Комментарий к статье «Почему СтарЛинк от Илона Маска это Скам» Раз меня упомянул @Arnak в его большой статье "Почему СтарЛинк от Илона Маска это Скам", то нужно написать ответ. (точнее повторить и немного расширить, тот что я написал там в комментах)1) Я не знаю, что точно обозначает "скам". Поэтому не могу тут ответить ни да, ни нет....

Как мы внедрили Content Service Platform всего за четыре месяца Ранее мы рассказали о новом витке развития систем управления контентом – Content Service Platform. В рамках второй ежегодной конференции ЛАНИТ «Микросервисная архитектура в управлении корпоративным контентом» был представлен проект по созданию электронного архива клиентских ...

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

PVS-Studio для Visual Studio 2022 Команда PVS-Studio пишет много статей на разные интересные темы. Но вот вопросы взаимодействия с самим анализатором затрагиваются редко. Исправим этот недочёт обзорной статьёй, описывающей плагин PVS-Studio для среды Visual Studio 2022. Читать далее

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

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

[Перевод] Звёздный рейтинг: решение с использованием SVG Для некоторых веб-сайтов и платформ в интернете важно предоставлять пользователям звёздный рейтинг для возможности выставить оценку материалу. Недавно мне довелось реализовать для одного проекта компонент звёздного рейтинга. Я решил использовать SVG и не пожалел об этом. В д...

Изучаем протоколы со Scapy Статья расскажет, как можно использовать Scapy для создания пакетов UDP и TCP протокола, так же попробуем реализовать взаимодействие по сети, отправив короткое сообщение с использованием каждого из протоколов. Читать далее

Миграция данных из различных RDBMS в HADOOP В статье будет рассмотрен процесс экспорта данных в Hadoop из различных РСУБД посредством фреймворка Spark. Для взаимодействия с фреймворком Spark будет использован язык программирования Python с применением api pySpark. Читать далее

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

Физика в Python с использованием Pymunk Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python. К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и ...

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

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

Использование Gatling. Разбираемся в тестировании HTTP Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling. В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями би...

Автоматизация оптимизаций в Go Привет, Хабр! Меня зовут Денис Лимарев, я разработчик платежной системы в Delivery Club. Недавно мы провели два митапа: по оптимизациям и по нашему новому линтеру. На первом митапе разобрали оптимизации кода на Go, а в рамках второго поговорили про создание и возможности н...

Сравнение производительности инструментов нагрузочного тестирования Всем привет, меня зовут Сергей, я занимаюсь тестированием производительности. Недавно поднялся вопрос в выборе инструмента для воспроизведения довольно интенсивной нагрузки, в основном по HTTP. Инструментов для тестирования производительности сейчас представлено довольно мн...

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

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

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

Настраиваем просмотр IPTV в Plex Media Server Телевизор в 2022 году это совершенно другая сущность, если сравнивать и смотреть со стороны даже 2010-х годов. А телевидение так и вообще ушло на второй план или вовсе не интересно пользователю.Но если все же интересно ТВ, а домашний медиацентр развернут на Plex? Не волнуйте...

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

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

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

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

Быстрый способ получить данные об организациях пользователя при авторизации через Госуслуги В рамках одного из проектов команда PHP-разработки DD Planet столкнулась со сложностью в процессе интеграции с ЕСИА. Была необходимость получать данные по юридическим организациям, которые числятся за пользователем. В документации Госуслуг не было достоверного описания, и на...

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

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

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

[Перевод] Стилизация однофайловых Vue компонентов Если у вас есть опыт написания однофайловых Vue компонентов, вы, вероятно, сталкивались с написанием CSS в своем компоненте. Они позволяют разработчикам группировать код более логическими способами, а не разбивать компоненты по используемому языку (HTML, CSS или JavaScript)....

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

[Перевод] CSS :has() селектор Вы когда-нибудь задумывались о селекторе CSS, где вы проверяете, существует ли конкретный элемент внутри родителя? Например, если у компонента карты есть миниатюра, нам нужно добавить к нему display: flex. Это было невозможно в CSS, но теперь у нас будет новый селектор CSS :...

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

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

Сравнение возможностей AsciiDoc и DITA Всем лучи добра! Меня зовут Владимир Маркиев, я -- технический писатель в Docsvision. Расскажу вам о двух Docs as Code инструментах. На случай, если вы делали документацию в ворде или ещё где-то, а теперь решили отделить форматирование от документации и захотели "чтобы было ...

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

Как мы подняли ретеншн третьего дня на 30% у североамериканских игроков в World of Tanks Blitz Привет! В данной статье расскажу о том, как мы подняли ретеншн приблизительно на 30% на проекте World of Tanks Blitz на регионе NA (Северная Америка).Сперва немного о себе и о нашей игре. Меня зовут Козловский Владимир. Работаю на должности ...

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

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

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

Как стать джуном и попасть на оплачиваемую стажировку? Привет! Меня зовут Василиса Версус, и я руковожу платформой фронтенда в компании СберМаркет. Сейчас я занимаюсь менторингом senior+ и engineering manager, хотя раньше с особой страстью помогала людям делать «первые шаги» в ИТ. В этой статье я расскажу, почему я отказалась ...

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

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

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

Использование Typescript для создания react компонента «Простой фабрики» Использование Typescript при создании React компонента «Простой фабрики»Создадим типизированный компонент-фабрику правильно. Так, чтобы он принимал только нужные параметры и ругался на некорректные. Данный подход применим и в других ситуацией, но&nbs...

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

Краткая история бензина: как он попал в нашу жизнь? Привет, Хабр! Как вы помните, с бензином мы связаны опосредованно. Но так как тема топлива в мире постепенно становится всё более горячей (no pun intended), мы решили рассказать вам в подробностях о том, как бензин вообще попал в нашу жизнь.Спойлер: очень извилистым путём, о...

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

Краткая история профсоюзов: с чего все началось и есть ли они в IT На Хабре уже который год появляются посты и комментарии, посвященные созданию профсоюза IT специалистов. Особенно после фееричной попытки Rambler'а «отжать» Nginx у Игоря Сысоева, или не менее скандальной истории увольнения сотрудников пермской компании Xsolla на основе «рас...

Как мы научили ИИ смотреть кино Привет, Хабр! Меня зовут Алексей Мельников, я продакт онлайн-кинотеатра KION, который МТС запустил в апреле прошлого года. Отвечаю за направление искусственного интеллекта (ИИ) в продукте. В этой статье я расскажу о том, как работает фича пропуска титров и заставок в онла...

Архитектура Вселенной, часть 3: Идея Перед прочтением рекомендуется ознакомиться с предыдущими статьями цикла "Архитектура Вселенной":• Часть 1: Сознание• Часть 2: Относительность• Часть 3: ИдеяВ прошлой части "Архитектуры Вселенной" мы говорили об относительной природе пространства и времени, а сейчас я хотел ...

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

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

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

Что необходимо знать, чтобы написать свою Embedded RTOS (часть 1) Хотел бы написать небольшой цикл статей посвященных тому, как я написал свою RTOS с какими трудностями столкнулся и зачем вообще писать свою RTOS если уже есть FreeRTOS, RTX, embOS и т.д. список достаточно большой. Начнем с того, что по мере работы я сталкивался с тем, что ...

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

Применение автотестов в ежедневных релизах. Установка Cypress и Allure Меня зовут Виталий и я автотестер в компании Утконос ОНЛАЙН. В предыдущей статье я рассказал, почему мы решили использовать фреймворк для автоматизации тестирования, описал существующие варианты, наш выбор в пользу Cypress и его связку с репортом Allure. В этой части обсудим...

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

Начала Docker для юнги Туториал по основам докера в котором простыми словами объясняется, как собирать образы и разворачивать контейнеры. Тут же можно узнать, чем контейнер отличается от виртуалки, что такое образ и увидеть простой кейс. Окунуться

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

ВанГеры как история Open Source сообщества Здравствуйте, меня зовут Дмитрий Лейкин и я вангер.ВанГеры - российская игра 1998 года студии KD-Lab. Она имеет статус "культовой". Это необычная игра, которую до сих пор не могут классифицировать под определенный жанр. В последние годы она регулярно генерирует инфоповоды, в...

Тащите меня семеро, или D'n'D в iOS Привет, Хабр! Меня зовут Никитин Алексей, я iOS разработчик в компании 65apps. Хорошо было бы порассуждать о Dragon and Dangerous, но нет. Речь пойдет о перемещении объектов. Перетаскивание как внутри одного приложения, так и между разными — с точки зрения пользователя вещь ...

Как мы с друзьями собрали сервис для построения маршрутов для походов и велопутешествий ActiveTrip.me Всем привет! Меня зовут Александр, я разработчик ActiveTrip.me — cервиса для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток. О том, почему мы начали делать такой сервис, расскажем по...

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

Вам посылка, или Как мы доставляем сообщения с сервера на клиент в реальном времени Меня зовут Алексей Комаров, я — старший frontend-разработчик в SuperJob. Хочу поделиться опытом реализации механизма обновления данных в реальном времени у нас на сайте. Под катом — подробности о выборе подхода, о проблемах, с которыми мы столкнулись при разработке, о наших ...

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

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

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

G-Core Labs запустил облачный контейнерный сервис Managed Kubernetes G-Core Labs, международный провайдер облачных и edge-решений, запустил Managed Kubernetes — сервис для управления контейнерами в облаке. С его помощью заказчики могут быстро получить готовые к работе кластеры Kubernetes ...

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

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

Зачем нужны внешние жесткие диски? ft. WD My Passport 2TB Не так давно мы решали, что выгоднее — внешний SSD компактного формата и высокой ёмкости, или Flash-накопитель более мелкий, но дешёвый и универсальный. А как насчёт жёстких дисков? Не прям специально-специализированных а-ля WD P10, там понятно зачем надо, игры хранить...

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

Эволюция CI в Android “Твою ж мать, какая же это хтонь!”. Примерно так можно было охарактеризовать все наши инфраструктурные скрипты до недавнего времени. Нужно было что-то менять, и мы сделали это. Меня зовут Павел Стрельченко, я – Android-разработчик компании hh. Я расскажу вам как эволюци...

Зачем CI/CD тестировщикам? Сейчас компетентность в сфере TestOps является таким же базовым требованием к QA-инженерам, как и написание автоматизированных тестов. Причина — в активном развитии CI/CD в проектах и необходимости QA-инженерам работать с пайплайнами (читать как "последовательность этапов в ...

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

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

Артем, 34 года: Уволился с зарплаты $250k в год и уехал на пенсию в Португалию Привет, меня зовут Артем Крумпан, и к 34 годам я успел 10 лет проработать в международной нефтегазовой компании в самых разных уголках мира, стать директором завода в Анголе, накопить миллион долларов, выйти на пенсию, и уехать вместе с женой и четырьмя детьми на пенсию в По...

Team value менеджмент, или Зачем и как тимлиду сотрудничать с вузами Когда тренер Ливерпуля Юрген Клопп, который сделал команду чемпионом Англии и победителем Лиги Чемпионов, только появился в команде, то в первую очередь он встретился с начальником академии Ливерпуля. Почему?  Потому что Клопп, как тимлид, знает, кто будет играть у него...

Топ-10 ошибок, найденных в C#-проектах за 2021 год За 2021 год разработчики PVS-Studio написали ряд статей, в которых разбирали странности, найденные анализатором в Open Source проектах. Год подходит к концу, а значит, пришло время представить традиционный разбор 10 самых интересных ошибок. Приятного просмотра! Читать далее

QR за QR: новый принцип безопасности социальных взаимодействий Ходил я давеча на оффлайн-конференцию. На входе меня попросили показать QR-код и паспорт. Все прошло хорошо, однако, вопрос: “а кто вообще, эти люди, которым я должен показать свой основной документ, свои персональные данные?”, меня не оставил.  Желающие узнать как я пр...

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

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

Как мы распознаем фото документов пользователей. Часть I Привет, Хабр! Я Илья, Junior Data Scientist в inDriver. В работе нам часто приходится распознавать документы водителей или пассажиров для их верификации в приложении. Наша команда выработала свой подход к идентификации текста и фото документов, которым мы хотели бы поделитьс...

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

Разворачиваем PostgreSQL, Redis и RabbitMQ в Kubernetes-кластере В этой статье я не буду объяснять, зачем вот это всё нужно, или обсуждать достоинства и недостатки этого решения. Воспринимайте эту статью как инструкцию (заметку) для быстрого развертывания базы и очереди в dev-кластере Kubernetes. Читать далее

«Магнитофон» для ZX Spectrum на базе Arduino Есть у меня аналог Спекки — персональный компьютер «Мастер». Он прошел несколько модернизаций, так что сейчас работает от обычного USB и с любым телевизором по SCART. Но вот с загрузкой программ есть небольшие сложности: магнитофона у меня уже нет, ноут для этих целей развор...

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

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

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

Боты, работа с логами и обзоры инструментов: что было интересного про Serverless за год Привет, Хабр! Меня зовут Антон Черноусов, я куратор хаба Serverless. В этом посте я расскажу, что интересного тут было про бессерверные технологии за год. Разложил их по нескольким группам и выстроил от теории к практике: сначала посты про саму технологию, затем про старт ра...

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

Green server для PET-проектов на базе Raspberry Pi – часть третья (сравнение с нетбуком) В двух предыдущих статьях я рассказывал как создавал мини-сервер из Rasbperry Pi model B и его старшего брата Raspberry Pi 4B. В комментариях часто писали, что стоило остановиться на б/у устройствах(нетбуках, ноутбуках, неттопах и т.д.). Данные устройства можно было найти по...

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

Android 12: история поддержки Всем привет! Меня зовут Максим Новиков, я Android-разработчик в команде мобильного оператора Yota. Совсем недавно вышла новая версия всеми нами любимой OS. Вот и пришло время нашему приложению поддержать её. Было очень много обзоров на новые возможности Android 12, а также ...

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

PlayStation VR2 — это будет разочарование или успех? Привет, Хабр! Меня зовут Сергей! Я отвечаю за игровое направление в М.Видео и Эльдорадо. Постараюсь регулярно делиться последними новостями из мира игр и игровых устройств. Буду рад знакомству и общению в комментариях. А пока давайте поговорим про дополненную реальность и иг...

Уязвимость и баги, стоящие денег клиентам. Разбираем модуль от CS Coding для CMS CS Cart На написание данной статьи меня вдохновила уязвимость в модуле "Авторизации по телефону", который разрабатывается и поддерживается CS Coding. Читать далее

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

Как ManyChat на PHP8 переезжал Привет, меня зовут Максим, я бэкенд-разработчик в ManyChat. Эта статья – о нашем переходе на PHP8. Однажды мы решили немного поисследовать – посмотреть, чего нам будет стоить возможный переход на новую версию, и запланировать эти работы на следующий год, сразу на 8.1. П...

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

[Часть 1] Математика в АБ-тестах. Что такое z-score и p-value? Приветствую тебя, дорогой друг! Эта публикация была создана для тебя, если ты хотел бы разобраться с этими непонятными словами из заголовка раз и на всегда. Как с идейной, так и с математической стороны. Признаюсь сразу, в свое время в универе частенько прогуливал семинары п...

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

Лайфхаки по многомодульности в iOS Всем привет! Меня зовут Юра, я iOS-разработчик в core-команде. В этой статье расскажу, как мы работаем с многомодульностью в наших iOS-приложениях. Поговорим про окружение и структуру нашего проекта, затронем тему скорости компиляции и разберем немного кодогенерации.  П...

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

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

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

[Перевод] Вторая жизнь бани викторианской эпохи: итоги конкурса на лучшую архитектуру ЦОДа по версии издания Data Centre Dynamics В декабре прошедшего года издание Data Centre Dynamics (DCD), освещающее события в сфере хранения и обработки данных подвело итоги года и обработав 7000 голосов специалистов присудила награды 14 номинациях. Одна из них касалась архитектуры Центров обработки данных и победу в...

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

Асинхронному django быть. Эксклюзивно для Хабра Здравствуйте, читатели хаба про django. Эта статья о фреймворке для перфекционистов с дедлайнами, и о том, можно ли добавить в него асинхронность. Некоторые в курсе, что со стороны Django Foundation также есть некоторые усилия в этом направлении. Например, есть [DEP-09](http...

[Перевод] Масштабируем Jetpack Compose Navigation В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigati...

Как и зачем команда Aitarget Tech обучала трансформационную ML-модель для digital-маркетинга Мы совместно с коллегами из Aitarget Tech, которые уже восемь лет ведут разработку в сфере рекламных технологий, обучили трансформационную ML-модель с целью генерации изображений для рекламных кампаний. Передаем слово Ане Корзун, стратегическому директору Aitarget, — она рас...

Персональные данные — почему они всем так нужны (кроме нас) Я не параноик или сторонник теории заговора, но я внимательно читаю пользовательские соглашения и если они меня чем-то не устраивают, то просто не пользуюсь такими сервисами. На моем смартфоне почти нет приложений, а операционная система не обновлялась годами.Что может быть ...

Кто такой data-инженер в Тинькофф и как им стать Привет! Меня зовут Михаил Иванов, я работаю архитектором DWH в Тинькофф и занимаюсь развитием Batch ETL направления платформы обработки данных. Я расскажу о направлении data engineering в Тинькофф, о том, чем занимаются data-инженеры и как попасть к нам в команду. Читать дал...

Как правильно внедрять изменения, которые никто не хочет Типичная история тимлида. Съездил на конференцию, узнал новые вдохновляющие идеи и загорелся ими. Начал сходу внедрять то, что (по его мнению) точно сработает, и получил закономерный отпор команды: «Зачем нам вообще что-то менять?» «Но доклад был классный! Это точно рабочи...

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

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

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

Правила переезда на СПО: наш опыт миграции 13 сервисов в 7 филиалах Привет, Хабр! Сегодня я расскажу об одном реальном переезде с проприетарного ПО на opensource-аналоги. Миграция на СПО — тема, конечно, избитая до безобразия. Но этот кейс интересен тем, что задача решалась в комплексе: под замену пошла вся экосистема инфраструктурного и при...

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

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

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

Техрадар от ThoughtWorks Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

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

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

Пишем за выходные блокчейн-игру на смарт-контрактах Rust Сейчас регулярно выходят анонсы про NFT-metaverse-блокчейн-игры, которые привлекали инвестиции в миллионы долларов по оценке в миллиарды, но при изучении проектов там оказываются либо плашки Coming Soon, либо продажа JPG-картинок на аукционах NFT-токенов, либо централизованн...

Пузырь на рынке VC или как можно заработать на VC без реального проекта. Рассказ в мемах или почему я люблю Ozon Я давно пытаюсь осмыслить вопрос работы венчурного рынка, рынка акций: • почему стоимость акций растет? • почему инвесторы продолжают вкладывать деньги в компании, которые не приносят прибыли (с мультипликаторами 20+)? • почему люди вообще верят в эти компани...

Fuckup’ы на работе. Как с ними жить, бороться, не допускать и предупреждать Всем привет. Меня зовут Александр Наумов, и последние 5 лет я занимаюсь тестированием сайта Утконос ОНЛАЙН — руковожу группой QA.Идея написать эту статью пришла ко мне пару месяцев назад. Я возвращался с работы домой, когда мне позвонил коллега: «Привет, тут хотят катить одн...

Что нам стоит Blockchain-игру построить: 10 пунктов, которые нужно учесть команде проекта Блокчейн-технологии постепенно проникают в разные (все еще относительно немногие) направления бизнеса, включая логистику, страхование, финансы и т.п. В России с блокчейном связаны, например, М.Видео, Альфа-Банк и СберФакторинг — эти компании используют открытую блокчейн-плат...

Контейнеры становятся инструментом не только для крупных организаций За последние годы контейнеры и Kubernetes стали более зрелыми, что позволяет небольшим и средним организациям использовать преимущества этой мощной технологии, пишет на портале Enterprisers Project Мурли Тирумале, генеральный директор ...

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

Сканирование на уязвимости: обзор продуктов, которые есть на рынке Aloha всем хабравчанам! Я Влад, системный администратор Cloud4Y. В этой статье расскажу, как мы выбирали продукт сканирования на уязвимости, почему важно контролировать, какие сервисы доступны извне и зачем необходимо проводить постоянный аудит состояния сети. Чай, кофе, па-...

Как мы распознаем фото документов пользователей. Часть II В прошлой статье я кратко описал методы и подходы, которые мы используем в inDriver при распознавании фото документов. Во второй части подробно опишу архитектуру CRAFT и CRNN, а также варианты их использования. Прошу под кат! Читать далее

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

Как ускорить автотесты Подбираем эффективную конфигурацию под ваши нуждыВсем привет! Меня зовут Иван Левиков, я старший инженер по тестированию.ВКонтакте развиваю и ускоряю автотесты, анализирую и улучшаю инфраструктуру, создаю новые решения.При проектировании инфраструктуры для автотестов на Andr...

Машинное обучение для астронома: random forest для науки Здравствуйте, меня зовут Александра и я астрофизик. В прошлом году я закончила курс «Аналитик данных» в Нетологии. На диплом решила не брать никаких бизнесовых кейсов, только наука. Так родилась работа, посвящённая классификации галактик с помощью одного из методов машинного...

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

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

Зачем нужен антивирус в 2021-2022 годах и какой из них лучше всего установить на компьютер Как работают антивирусы и почему их всё же нужно использовать? Какую из существующих программ выбрать? Ответы на эти вопросы - в статье пользователя портала Overclockers.

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

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

Разбираемся в сортах реактивности Здравствуйте, меня зовут Дмитрий Карловский и я… прилетел к вам на турбо-реактивном самолёте. Основная суть реактивного двигателя изображена на картинке.. Тут, казалось бы, хаотичное взаимодействие между молекулами, приводит к тому, что улетающие молекулы опосредованно пере...

Qualcomm представила Snapdragon Digital Chassis Платформа открывает новые перспективы для более глубокого вовлечения клиентов и развития модели бизнеса, выстраиваемого вокруг предлагаемых услуг на базе совместно разрабатываемой аппаратно-программной архитектуры с повышенной масштабируемостью.

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

Что нового в react-router v6 Совсем недавно состоялся релиз 6-ой версии react-router. Вообще создатели react-router часто меняют подходы, используемые в библиотеке, но в этот раз они объединили лучшее, что было в прошлых версиях.В статье приведен краткий обзор того, что поменялось. Читать далее

На каких бесплатных инструментах строить Observability и зонтичный мониторинг: ELK vs Graylog vs Grafana Loki vs Monq Сами по себе логи, трейсы, метрики - это очень узкие артефакты состояния нашего объекта наблюдения и обслуживания. Для понимания общей картины нужен взгляд сверху, сбор всех важных сигналов в одну систему и работа с большими данными в ней. Зонтичный подход близок по своим це...

Расширения Chrome для программистов и сочувствующих На Хабре уже есть посты в духе «10 браузерных расширений, которые нужны КАЖДОМУ УВАЖАЮЩЕМУ СЕБЯ РАЗРАБОТЧИКУ». Но они смущают меня тем, что дают вперемешку совсем разные вещи для разных людей. От React Developer Tools до съёмки полностраничных скриншотов — и всё это просто с...

[Перевод] Корабли переходят на электричество Yara Birkeland – первый в мире полностью электрический и экологически чистый контейнеровоз – совершил свой первый рейс в Норвегию в Осло, преодолев 14 км. Расстояние может показаться небольшим, но Yara – крупный производитель удобрений, который осуществляет до 40 000 рейсов ...

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

“Сетевая Академия ЛАНИТ” провела проект для ИТ-специалистов Системного оператора Единой энергетической системы В 2021 году в рамках проекта “Сетевой Академии ЛАНИТ” (входит в ГК ЛАНИТ) было проведено повышение квалификации ИТ-специалистов Системного оператора Единой энергетической системы. Для решения поставленной задачи “Сетевая Академия ЛАНИТ” создала курсы, способствовавшие освоен...

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

Как один разработчик PVS-Studio защищал баг в проверяемом проекте Мы в PVS-Studio часто проверяем открытые проекты и пишем статьи об этом. Иногда при написании статьи случаются интересные ситуации или попадаются особенно эпичные ошибки, тогда хочется написать про это отдельную небольшую заметку. Сейчас совпали оба случая. Читать далее

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

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

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

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

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

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

Кошелек с нуля в 2020 году: технологии, вызовы, решения Большую часть своей рабочей биографии я занимаюсь различными финтех продуктами – Яндекс.Деньги, 1ЦУПИС и так далее. Последние два года я разрабатываю очередное платежное решение и хочу рассказать о некоторых задачах, с которыми мы встретились. Но мне интересно рассказать не ...

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

AGIMA.Outsource: зачем нам 400 подрядчиков и как мы их ищем Привет! Я Юля Грибова из AGIMA, руковожу отделом закупок. В этой статье расскажу, как нам удалось за 5 лет в 40 раз увеличить количество подрядчиков у компании и зачем нам это было нужно. Думаю, узнать обо всем этом будет интересно коллегам по рынку и тем, кто сам выполняет ...

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

В тепличных условиях: Wi-Fi сеть для агрокомбината Бывают проекты сравнительно простые, например, развернуть сеть для посетителей парка. Если погода хорошая, работать — одно удовольствие. А бывают, как этот — в условиях, которые для людей, в общем-то, и не предназначены, ведь на фермах все делается так, чтобы хорошо было рас...

Зачем нужно спать и как делать это правильно Спойлер — нейробиологи не знают точно, зачем спать, и постоянно меняют мнение о том, как правильно спать. Если бы у меня было всего 30 секунд, то я бы рассказала, что: Ни одно известное животное не может регулярно спать меньше 2-х часов (даже студент). От недосыпа толсте...

Как устроены облачные сети и чем они отличаются от On-premise Cloud Station — Photoshop Art by PhaseRunner Принципы построения облачных и On-premise-сетей различаются: в облаке много новых сетевых сущностей и подходов к построению инфраструктуры. Но новое не значит сложное. Меня зовут Болат Кажкенов, я архитектор VK Cloud Solutions....

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

Лучшие статьи о здоровье в 2021 году на Лайфхакере Зачем нужен биологический возраст, как восстановиться после коронавируса и что съесть, чтобы похудеть.

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

Как мы участвовали в создании ААА-игры Ori and the Will of the Wisps и что делать, чтобы у вас получилось тоже Мы всегда хотели поработать с проектом мирового уровня, но никогда не ставили перед собой задачу, чтобы это была только AAA-игра. Но по стечению счастливых обстоятельств, именно мы стали киевской командой разработчиков, которая более 2 лет работала над AAA-проектом Ori and W...

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

Почему важно тестить на устройствах, которыми пользуются ваши пользователи, а также немного об Emoji Почему важно тестить на устройствах, которыми пользуются ваши пользователи, а также немного об Emoji Привет Хабр! Друзья зовут меня Данил, я web-разработчик в МегаФоне и работаю над системой обработки обращений наших пользователей. А их у нас огромное количество, и я каждый ...

Стажировка в КРОК под капотом Хабр, привет! Меня зовут Лена Слобода, я отвечаю за graduate-рекрутмент в КРОК. Мы нанимаем порядка 250 стажеров в год – сейчас с ними работают 80% групп компании. Это не только ИТ-команды, куда ребята выходят на привычные читателям Хабра роли – разработчики, аналитики...

Как сохранить тесную коммуникацию в стремительно растущей команде Какие бывают проблемы роста, кроме очевидных, когда из 15 человек становится 80, а из одной команды вырастает 10? Почему разработчики начинают удаляться от пользователей и перестают чувствовать их боль? Как им не выпадать из коммуникационных процессов? Я Дмитрий Шаронов, и я...

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

«Доктор, меня игнорируют», или Как писать письма так, чтобы их читали «Мои письма никто не читает.»«Я уже всё всем написал, а коллеги продолжают спрашивать одно и то же. Бесит.»И особенно популярное: «Мы ещё неделю назад написали, что удалим эту таблицу из базы, и сказали адаптировать код! Так что мы не виноваты, что сайт (пайплайн, приложение...

[Перевод] Зачем нужен протокол языкового сервера (LSP)? LSP (протокол языкового сервера) сегодня весьма популярен. Есть стандартное объяснение этого феномена. Возможно, ранее вам уже попадалась эта картинка, у нас также являющаяся заглавной.Считаю, что такое стандартное объяснение популярности LSP – неверное. Ниже предложу вам ал...

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

7 правил от опытного тимлида, которые помогут добиться успеха не только в IT Привет. Меня зовут Андрей Костылев. Я работаю в IT более 15 лет.  За это время вырос из рядового программиста в тимлида и CEO проектов. Сейчас наш основной стартап — система автоматизации X24:ERP, которая помогает довести производственные процессы до совершенства.Сегодн...

Не совсем очевидные тренды развития рынка приложений, как к ним подготовиться мобильному разработчику? Меня зовут Ексей Пантелеев, я 12 лет программирую мобильные приложения, а всего зарабатываю программированием почти 20 лет и как профессионал пережил несколько платформ (например Flash Player, AIR, Stage3D), под которые я разрабатывал приложения. До мобайла я делал веб и игр...

От КАМАЗа до природного газа. Самые интересные статьи про дата-центры за год Привет, Хабр! В прошлом году мы много писали про дата-центры. Статьи про необычные локации ЦОД, новые технологии и личный опыт. Будем рады, если вы найдете материалы, которые еще не читали, и поделитесь мнением в комментариях. Приятного чтения! Читать да...

Двигать влево или вправо? Экономический подход к ИБ Привет, Хабр! Меня зовут Петр Умнов, и сегодня я хочу рассказать об одной интересной концепции, которой поделился наш коллега Джефф Харди из Acronis Hosting Solutions. Речь идет о концепции отношения к киберугрозам со стороны хостинговых компаний, а также о методах “сдвига в...

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

БДСМ с БД ПМО или как я работал с госданными Росстат ежегодно публикует порядка 4 тысяч показателей государственной статистики. Они доступны всем без каких-либо ограничений по статусу, правам доступа и т.п. Но публикуя данные, Росстат прежде всего ориентируется на то, что пользователи будут работать с ними вручную (гла...

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

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

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

Разбор одного таска или как найти сайт по favicon.ico? На написание данной статьи меня подтолкнуло участие в соревнованиях по информационной безопасности - Capture the Flag (CTF). Это был MCTF 2021 , проводимый Московским Техническим Университетом Связи и Информатики. Читать далее

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

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

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

В первом рекламном ролике Redmi K50 Gaming сам смартфон так и не показали Redmi опубликовала уже много официальных изображений смартфона Redmi K50 Gaming, а сейчас в Сети появился первый официальный ролик. Интересно, что самого смартфона на кадрах видео нет. Зато много лучшей машины Formula 1 образца 2021 года – болида Mercedes-AMG F1 ...

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

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

[Перевод] Чек-лист по безопасности контейнеров Fortress of the Arch by JeremyPaillotin Команда разработки Kubernetes aaS VK Cloud Solutions перевела чек-лист по безопасности контейнеров, составленный на основе выступления Лиз Райс на конференции GOTOpia Europe 2020. Чек-лист проясняет специфику некоторых наиболее вероя...

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

Тычем палкой в итераторы Итераторы – мощные и очень полезные составляющие Python. Цель этой статьи в их изучении подручными инструментами. Сразу предупреждаю, что в исследовательском арсенале у меня не швейцарский нож, а палка-копалка. Как известно, она предназначена для разрыхления почвы, но для не...

Открытый питч игровых проектов В субботу, 5-го марта пройдёт масштабное оффлайн-мероприятие “Открытый питч игровых проектов”. Оно проводится в рамках курса “Менеджмент игровых проектов” совместно с 1518 Studios, Zavod Games и Cookies Games! 30 игр на стадии разработки (от прототипа до релиза), которые пр...

Собственный голосовой помощник off-line Никогда не был любителем голосового интерфейса, но пробовал дома и Amazon Echo, и Алису. Все-таки очень долго это и недостаточно надежно - произносить фразу и думать потом - правильно ли меня поняли и всё ли сделано, как я хотел.Но после прочтения статьи и, главное, обсужден...

Рынок гиперконвергентной инфраструктуры: пять направлений изменений Какие изменения происходят на рынке гиперконвергентной инфраструктуры (HCI)? Поставщики переходят на софтверные технологии, дезагрегируют узлы HCI, предоставляют опции «как сервис» и присматриваются к контейнерам и периферии ...

Как упростить работу с базами данных в Node.js с помощью Objection.js Objection.js — сравнительно молодая и минималистичная ORM-библиотека для Node.js, которая сильно упрощает взаимодействие с базами данных и не перегружена дополнительными функциями, как Sequelize или TypeORM. Разбираемся, в чем ее специфика и как строить запросы с ее помощью....

Редактор в UX: что делает с интерфейсом и зачем нужен на проектах Этот текст я посвящаю всем, кто никогда не работал с редактором или только начал с ним работать. А ещё этот материал будет полезен начинающим UX-редакторам, так как будем обсуждать hard skills на реальных кейсах, которыми важно обладать хорошему специалисту. Иду и читаю

Ведение систем IPAM и DCIM в NetBox: начинаем с кабельного журнала Привет! Меня зовут Дмитрий, в Росбанке я занимаюсь автоматизацией сетевой инфраструктуры. Этим постом я начинаю серию публикаций о NetBox — популярном опенсорс-инструменте для документирования инфраструктуры на уровне IP-адресации (IPAM) и железа (DCIM). NetBox ценен те...

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

Копаемся в TypeScript: пишем свои Utility Types. Ключевое слово infer Йо, Хабр! Меня зовут Алексей Акулов. Я разрабатываю клиентскую часть продукта BIMeister.Почти каждый сталкивался с типами Partial или Record. Там таких еще много, но суть в том, что они входят в ту самую группу Utility Types. Такие штуки представляют из себя разные преобразо...

React Drag & Drop: «Игра в бутылки» Меня зовут Сергей, я фронтенд-разработчик отдела спецпроектов KTS. Наш отдел занимается разработкой веб-приложений для промокампаний. Помните, как в 1-й книге о Гарри Поттере Гермиона разгадывала логическую загадку с бутылочаками волшебных зелий? Сегодня расскажу, ...

Чат-боты в банке: где и как их применять? Меня зовут Дмитрий Литвинов, в Московском кредитном банке (МКБ) я курирую направление автоматизации внутренних сервисных подразделений – это операционный департамент, контактный центр и ряд других функций. Чат-боты стали довольно полезным инструментом для бизнесов любого раз...

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

Проверка ценников в магазине с помощью YOLOv4-Tiny+EasyOCR Привет всем читателям Хабра! Нас зовут Сергей и Павел, мы студенты Томского государственного университета систем управления и радиоэлектроники (ТУСУР). В прошлом году мы победили в треке “Искусственный интеллект” IV Межвузовского конкурса выпускных проектов «‎IT Академии Sam...

Разбираемся с сессиями в SQLAlchemy В этой небольшой статье я хочу дать ответ на вопрос, который возник у меня, когда я познакомился с сессиями в SQLAlchemy. Если сформулировать его кратко, то звучит он примерно так: “А зачем оно надо вообще”? Меня, как человека пришедшего из мира джанги, сессии приводили в ун...

[Перевод] git bisect: путешествие по времени и багам Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

Методы архитектуры предприятия В преддверии старта курса "Enterprise Architect" подготовили для вас текстовую версию демоурока, который провел эксперт OTUS - Петр Подымов.В рамках урока поговорили: - об обоснованных структурных изменениях в компании в быстро меняющихся условиях; - о применении архитектур...

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

Сравнение архитектур Arm, RISC-V и E2K со стороны развития бизнеса Недавно здесь была опубликована великолепная статья, сравнивающая архитектуры с технической точки зрения. И мне пришла идея написать статью про три популярных архитектуры со стороны развития бизнеса: какая их них более интересна и может принести больше денег. Читать далее

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

Флоптика (LS-120) Этот пост навеян отличной статьей про трискеты, которая в первые минуты чтения и меня заставила задуматься, а не пропустил ли я чего в истории средств хранения данных? Поэтому расскажу про необычные дискеты с треугольной шторкой (много фото). Читать далее

Билеты на микросервисах: как мы добавили в банк… стадион Привет! Меня зовут Ренат Шафиев, я с 2008 года работаю в банковской сфере и сейчас занимаюсь нефинансовыми сервисами для мобильного приложения и интернет-банка ВТБ Онлайн. Недавно мы запустили сервис по оформлению билетов на «ВТБ Арену» — он позволяет смотреть афишу мероприя...

Что такое и зачем нужны шаблонизаторы HTML Есть много способов сэкономить время и упростить жизнь разработчика. Но они кажутся такими сложными и непонятными, что знакомство с ними постоянно откладывается. И зря: сегодня мы расскажем, как автоматизировать работу, используя вспомогательные инструменты.Шаблонизаторы для...

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

Обнаружена уязвимость PwnKit! 12-летняя LPE в большинстве Linux-дистрибутивов В новый год с новыми старыми уязвимостями! 25 января командой Qualys был опубликован отчет об уязвимости класса memory corruption (https://cwe.mitre.org/data/definitions/787.html) в утилите pkexec из компонентов Polkit (бывший PolicyKit). Успешная эксплуатация уязвимост...

Какую СУБД выбрать и почему? (Статья 2) После публикации статьи “Какую СУБД выбрать и почему? (Статья 1)” ко мне поступили справедливые комментарии о том, что я не упомянул такие типы СУБД, как Time Series и Spatial. В этой статье я кратко опишу их и добавлю еще два типа — Search engines и Object-oriented (объект...

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

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

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

Нужны ли тестовые задания разработчику и что общего между ними и сексом Делать или не делать? — вот в чём вопрос. Он возникает каждый раз, когда для устройства на работу нужно выполнить тестовое. Особенно если есть другие неизвестные: подходит ли мне проект, компания, зарплата? Хочу ли я вообще эту должность? Никого не вдохновляет идея потрати...

Стартовало исследование: какие дизайн-команды в российских продуктовых компаниях самые сильные в 2021 году Юрий Ветров инициировал 4-й ежегодный рейтинг продуктовых дизайн-команд России и приглашает к участию экспертов рынка.

WoG уже 20 лет… Все это уже история... И я даже писал об этом (не на habr). Поэтому, возможно, кому-то это знакомо. Не думал, что тут стоит писать подобное, но, вижу, что фанаты Героев 3 (и вообще серии HoMM) тут очевидно присутствуют, поэтому рискну... Время: 20 лет назад. Место: Ээээ… ...

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

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

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

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

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

ТМ-62M: мощнейшая противотанковая мина в действии ПопМем Интересно 03.02.2022, 20:01 ТМ-62M: мощнейшая противотанковая мина в действии «Крупнокалиберный переполох» испытал на тяжелой технике одну из самых мощных противотанковых мин. Василий Макаров ...

Транспорт в PvP-шутере на Unity: добавляем и синхронизируем Когда мы начали разработку батлрояля на 100 игроков, то решили сделать самую большую карту в нашем шутере — 2 на 2 километра против стандартных 200 x 200 метров. Но для таких масштабов нужны были более быстрые способы перемещения, чем просто пешком. Так появилась задача доба...

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

Какое тестовое задание выдать джависту? Лучше просто поговорить Всем привет, меня зовут Сергей, я руковожу группой серверных программистов студии Whalekit и активно занимаюсь наймом в эту группу. Сервер пишем на Java — соответственно, нанимаем мы тоже джавистов.В 2016 году мы выдавали кандидатам тестовое задание, успешным кандидатам назн...

Реляционные СУБД: история появления, эволюция и перспективы Привет, Хабр! Меня зовут Азат Якупов, я работаю Data Architect в компании Quadcode. Сегодня хочу поговорить о реляционных СУБД, которые играют важную роль в современном IT-мире. О том, что они собой представляют и для чего нужны, понимают, вероятно, большинство читателей.Но ...

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

Всё о Keycloak: зачем нужен, кому подходит и какие преимущества даёт 14 марта в Слёрм стартует курс «Безопасность проекта: аутентификация в Keycloak». Мы пообщались с его автором Виктором Поповым, техлидом DevOps-команды дирекции больших данных в X5 Group. Он рассказал, какие задачи помогает решать инструмент и кто его выбирает — стартапы или...

Как мы используем юнит-тестирование в СУБД Oracle В некоторых технологиях и языках программирования юнит-тестирование — уже давно неотъемлемая часть написания кода. Оно интегрировано в разработку и доступно «из коробки» в виде фреймворков, как, например, JUnit для Java, xUnit/nUnit для C# и т. д. Но в Oracle культура юнит-т...

[Перевод] Создание игр для NES на ассемблере 6502: движение спрайтов Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

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

Обзор HONOR CHOICE Robot Cleaner R1. Доступный робот-пылесос для сухой и влажной уборке. Компания Honor начинает постепенно осваивать рынок малой бытовой техники. Их первым продуктом для российского рынка стал бюджетный робот-пылесос HONOR CHOICE Robot Cleaner R1. Посмотрим оправдывает ли данная новинка свою стоимость в 14 990 рублей. Комплектация Honor CHOICE...

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

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