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

Деплоим приложение на Django в Kubernetes с нуля Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на серверах: начиная от простого git pull до ci/cd на нескольких серверах.Сегодня мы на практике разберем, что нужно делать, чтобы ваше приложение оказалось в Инте...

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

[Перевод] Как выбрать подходящий Go-роутер? (с блок-схемой) Когда вы начинаете разрабатывать веб-приложение с применением Go, один из первых вопросов, которым вы, вероятно, зададитесь, — “Какой роутер мне следует использовать?”.И это не такой простой вопрос, как может показаться сначала. Доступно более 100 различных роутеров с разным...

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

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

Что ждёт Kubernetes в России в 2022: мнения инженеров Мы задали экспертам несколько вопросов о том, как они видят дальнейшую работу с Kubernetes в России, нужен ли нам какой-то другой оркестратор и стоит ли изучать k8s, если ещё не начал с ним работать. В посте рассказываем, что думают обо всём этом коллеги из Southbridge, Слёр...

Погружение в Helm Package Manager. Часть первая Helm — один из самых популярных пакетных менеджеров для Kubernetes. Познакомиться с ним полезно любому DevOps-инженеру и всем, кто сталкивается с задачами деплоя приложений. Эта статья — первый из двух материалов, которые можно вместе можно рассматривать как краткое, но дост...

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

[Перевод] От Java 8 до Java 15 за 10 минут В данной статье рассмотрены крупные нововведения Java начиная с 8 по 15 версии. Читать далее

Запуск werf в GitLab CI/CD без Docker-сервера В этой статье рассмотрен новый экспериментальный режим работы werf — Open Source-утилиты для сборки приложений и их деплоя в Kubernetes, — в котором не требуется наличие Docker-сервера. Мы покажем, как убедиться, что это режим будет работать на вашей машине, соберем первый о...

Индексы в C# 8 Всем привет. Начиная с этой статьи начинаю цикл статей про нововведения в C# 8 версии. Сейчас мы рассмотрим работу с индексами (Indexes). Забегая вперед, скажу, что теперь мы, C# разработчики, можем работать с индексами как в Python. Пристегнитесь. Начинаем

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

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

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

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

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

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

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

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

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

Более 38% заказчиков Kubernetes развертывают его в облаке Согласно результатам опроса, все заметнее становится тенденция по переходу работы с Kubernetes в облачные среды: именно такую модель практикуют 38,1% опрошенных компаний. В частности, 14,1% организаций самостоятельно разворачивают Kubernetes на виртуальных машинах облачного ...

Кубер или два service discovery на один service mesh Привет! Я Алексей, старший системный администратор ЮMoney. Так уж вышло, что я — главный по Куберу в компании. Поэтому когда меня попросили рассказать, как мы создавали сервис Kubernetes и что у нас в итоге получилось, уговаривать меня долго не пришлось.Зачем вообще компании...

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

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

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

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

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

[Перевод] Переход с Puppeteer на Playwright Несмотря на то, что у этих фреймворков много общего, Puppeteer и Playwright развивались с разной скоростью, и сейчас Playwright набрал обороты и оставил Puppeteer позади.Это привело к тому, что многие перешли с Puppeteer на Playwright. Это статья показыва...

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

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

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

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

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

Как я научился не волноваться и полюбил управление состояниями Flutter. MVI и Clean Code в комплекте Цель статьи — показать, как сделать ваш проект на Flutter более понятным для усовершенствования и удобным в сопровождении. Текст может быть полезным как для тех, кто только начинает изучать Flutter, так и более продвинутых пользователей, так как здесь мы рассмотрим актуальны...

Сервер «1С: Предприятие» на Linux: настройка доменной авторизации В данной статье мы рассмотрим настройку сервера «1С:Предприятие» для использования Microsoft AD в качестве системы авторизации клиентов 1С. Статья представляет собой описание успешно внедрённого решения, за основу брались различные статьи из открытых источников, в частн...

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

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

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

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

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

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

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

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

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

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

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

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

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

Разбираемся с библиотекой лексического анализа ANTLR4 У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальн...

[Перевод] Шаблоны C++: как итерировать по std::tuple — std::apply и еще пара приемов В предыдущей статье, посвященной перебору элементов кортежей, мы рассмотрели только основы. В результате нашей работы мы реализовали шаблон функции, который принимал кортеж и мог красиво вывести его в консоль. Мы также реализовали версию с оператором <<.Сегодня мы пойд...

Мониторинг веб-приложения на Rust с использованием Prometheus и Grafana В статье будет показано как настроить мониторинг веб-приложения на Rust. Приложение будет выставлять наружу Prometheus метрики, которые будут визуализированы с помощью Grafana. Мониторинг осуществляется для приложения mongodb-redis demo, детально рассмотренного здесь. В итог...

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

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

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

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

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

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

Helidon, Testcontainers, Cucumber, Kafka и многое другое Helidon  отлично подходит для создания микросервисов, для простого и быстрого развертывания в проде, и демострирует действительно впечатляющую производительность!А как насчет тестирования Helidon?В этой статье мы рассмотрим несколько способов, как это сделать. Чита...

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

Чем заменить Zoom? Сравнение российских вебинарных платформ Ситуация весны 2022: все смотрят в сторону российских сервисов и ищут хорошую альтернативу зарубежным платформам.Есть ли замена Zoom и Microsoft Teams? Каким синонимом заменить уже родное “зумить”? На самом деле, ошибочно думать, что кроме Zoom ничего нет. Есть более де...

Нарастающий итог в SQL с разрывами в данных Ранее мы рассмотрели способы расчёта нарастающего (накопительного) итога в SQL. Самый распространённый вопрос - как посчитать тоже самое, но на данных с разрывами? После написания исходной статьи мне его задавали неоднократно – так что есть смысл написать об этом отдельно. Ч...

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

Портируем код C/C++ на Python В первой части нашего небольшого цикла статей мы исследовали возможность использования структур данных в Python, которые были созданы с помощью языков программирования C/C++. Для этого мы рассмотрели библиотеку Ctypes.В этой статье попробуем разобраться, какие еще есть подхо...

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

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

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

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

WireGuard клиент для Windows на основе BoringTun В начале 2019 года компания Cloudflare представила BoringTun, реализацию WireGuard протокола, написанную на языке Rust. Код проекта распространяется под лицензией BSD-3-Clause и включает в себя библиотеку, которая может использоваться для интеграции функц...

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

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

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

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

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

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

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

[Перевод] Многомодульность в Android и Dagger: пошаговый пример Наше мобильное направление продолжает делиться собственным опытом, а также переводить те статьи, которые могут сослужить разработчику хорошую службу. Эту статью по Android, написанную в 2020 году, мы выбрали, изучая вопросы оптимизации внедрения зависимостей на проекте, и пе...

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

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

Краткий обзор: как обстоят дела с IT-рынком и релокейтом + несколько советов IT-инженерам Привет, Хабр! На связи рекрутеры из GMS: Диана Ялалова и Полина Андзаурова. Хотим создать небольшой островок уверенности во всем этом безумии: кратко обрисовать, что сейчас происходит с IT-компаниями, вакансиями и зарплатами. И порассуждать, что стоит делать и какие вообще в...

Go, я создал: интегрируем Allure в Go красиво Привет! Меня зовут Антон, я ведущий инженер по тестированию в Ozon: занимаюсь созданием и поддержкой end-to-end Go-тестов бэкенда для QA.Мы довольно долго писали тесты в основном на Python. Go – молодой язык, и популярных устоявшихся инструментов у него пока немного. В Pytho...

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

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

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

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

[Перевод] Mikrotik CHR на хостинге vpsserver.com Mikrotik CHR на vpsserver.comРазвертывание виртуального устройства Mikrotik может иметь разные задачи. В моем случае предстоит настройка собственного VPN т.к. доверия к сторонним у меня нет (и нет, я не параноик).Вроде бы достаточно простая задача, есть куча инструкций... но...

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

[Перевод] Четыре новых атаки на схему безопасного обмена ключами KLJN В этой статье мы рассмотрим четыре новых статистических атаки на схему безопасного обмена ключами KLJN (Кирхгофа-Лоу-Джонсона). В атаках используются генераторы случайных чисел. Мы рассмотрим несколько вариантов знакомства “хакера” с информацией о двух устройствах приема-пер...

Миграция расчёта управленческой отчётности с Teradata на GreenPlum Всем привет! Меня зовут Николай Когель, я главный инженер по разработке Управления технологий MIS Департамента ИТ-блока «Финансы» в Сбере. Сейчас в Сбере существует несколько крупных систем, в которых происходит построение управленческой отчётности и расчёт финансового резул...

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

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

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

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

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

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

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

[Перевод] Миграция Spring Boot приложения на Java 17 — сложный путь: День 2 Добро пожаловать в статью о миграции приложения Spring Boot на Java 17.В первый день мы пытались использовать Java 17 со Spring Boot и завершили день компиляцией нашего кода и зелеными юнит тестами.В этом посте мы рассмотрим миграции: Spring Cloud, Spring Data, Spr...

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

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

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

Apple запатентовала AirPods Max с сенсорным управлением Вскоре после выхода AirPods Max инженеры Apple дали интервью изданию CASA BRUTUS. В нем они рассказали, что при работе над новыми наушниками рассматривалось несколько разных вариантов управления. Но в итоге было принято решение остановиться на Digital Crown. Однако в AirPods...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Знакомимся с Javassist Всем большой привет! Перед началом стоит сказать, что библиотека Javassist довольно мощный инструмент, так как стирает почти все границы у того безграничного языка JAVA, позволяя разработчику осуществлять манипуляции связанные с байткодом.Конечно, получив доступ к байткоду, ...

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

Как перестать жить и начать беспокоиться о потреблении памяти Когда пишешь на Python, редко задумываешься, что происходит под капотом. С одной стороны, это ускоряет разработку, но, с другой, становится причиной низкой производительности и ошибок Out of memory на больших объёмах данных. Здесь мы рассмотрим несколько приёмов, как избежат...

Замените это немедленно: варианты обхода блокировок для DevOps-инженеров Peace, Хабр. Мы не будем углубляться в тему того, что именно сейчас происходит в мире вообще и в нашей стране в частности с точки зрения политики и экономики. Считаем нужным лишь подчеркнуть, что самым главным в эти сложные времена является жизненно важная необходимость...

[Перевод] Альтернативы HashiCorp Boundary HashiCorp Boundary — это пропускная система с открытым исходным кодом, которая обеспечивает пользователю безопасный доступ к динамическим хостам и критически важной инфраструктуре в разных средах. Однако, если вам нужен простой и безопасный способ управления доступом к база...

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

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

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

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

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

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

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

Как я переехала из Москвы в Испанию (без мужа и с зарплатой в тенге) Привет, я Света, давайте снова знакомиться. В IT я более 10 лет, начинала в Мэйл.Ру в отделе персонала. Пока компания росла от 600 до 6 000 человек, я выросла из ассистента отдела до руководителя направления внутренних коммуникаций. Олды могут меня помнить по митапам Мэ...

История жестких дисков, часть IV — до наших дней Жесткие диски знакомы всем пользователям, без них сложно представить современный компьютер. Конечно, SSD вытеснили жесткие диски в сценариях, где требуется максимальная производительность, например, для загрузочного раздела ОС. Но если нужна максимальная емкость, то без HDD ...

[Перевод] Возможности Java — от Java 8 до Java 17 С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегод...

Тестируем лучшие видеокарты для расчетов на конец 2021 года: 3090 Turbo и A10 Недавно на Хабре была статья про сравнение карточек для вычислений. На мой взгляд статья получилась очень даже неплохой, но в ней никак не отразили позиции RTX 3090 Turbo и как-то подозрительно мало времени уделили А10. На мой взгляд среди карточек с "большим" объ...

[Перевод] Использование потоков для создания высокопроизводительных Node.js приложений В тот момент, когда вы набираете что-то на клавиатуре, читаете файл с диска или скачиваете его через Интернет, поток информации (биты) проходит через различные устройства и приложения.Если вы научитесь работать с этими потоками битов, то сможете создавать высокопроизводитель...

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

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

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

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

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

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

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

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

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

Работа с проблемными *.dwg-файлами в среде nanoCAD версия 2.0 Формат *.dwg — самый популярный формат хранения электронных чертежей. Зачастую *.dwg-файлы хранятся годами, сохраняются в различных системах, используются разными пользователями и из-за этого могут накапливать различные ошибки. Чтобы обезопасить себя и свои документы, перед ...

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

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

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

Закончил сборку и некоторые доделки-переделки у своего нового питомца SAPPHIRE PLUS Давно хотел корХY, и выбор мой в конечном итоге пал на Сапфир Плюс. Забегая вперед, выбором я остался доволен. Рельсы это всё!Набрав достаточно информации о переделках другими владельцами, я многое осуществил, но в том виде, как это видится мне... и там где это необходимо.Ре...

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

Пять историй про командное лидерство Привет, Хабр! Я работаю в сфере IT около 15 лет. За свою карьеру успел побывать support-агентом, QA-специалистом, техническим писателем, Linux-админом, DevOps-инженером и DevOps- тимлидом. Именно опытом работы в роли последнего я хотел бы поделиться. Я расскажу про методики,...

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

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

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

Как сэкономить на ресурсах с помощью модуля Terraform для AWS Spot Instance Иногда бывает довольно сложно сэкономить на Spot Instance Amazon Web Services (AWS). Не стоит забывать, что по сути это — аукцион. Цены хоть и не меняются так же резко, как на биржах, тем не менее могут расти, пока не достигнут ondemand. Бывает, что такое продолжается не ден...

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

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

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

[Перевод] Исследуем .NET 6. Часть 4. Создание конвейера промежуточного ПО в WebApplication В моем предыдущем посте я рассмотрел код WebApplicationBuilder, включая некоторые из его вспомогательных классов, таких как ConfigureHostBuilder и BootstrapHostBuilder. В конце поста мы создали экземпляр WebApplicationBuilder и вызвали Build() для создания WebApplication. В ...

Правда ли, что от регулярок у разработчиков одни проблемы Рассмотрим простой пример, чтобы понять, зачем нужны регулярные выражения. Допустим, перед нами стоит задача — найти и заменить местоимение 'ее' на 'его' в строке 'Быстрее всего мы догоним ее на машине'. Самое очевидное решение — использовать прямую замену, применив вст...

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

Паразит, дарующий своим  хозяевам «вечную молодость» и многократно удлиняющий срок их жизни ... и это еще не все: бонусом идет сытое и беспечное существование.Автор: Лысый Камрад (@LKamrad) —  Да какой же это паразит? —  воскликнет  читатель, —   Ведь он осуществляет заветную мечту чуть не  каждого жителя планеты —  не стареть, ...

Пять самых необычных смартфонов на Linux Несмотря на то что 2022-й год уже наступил, некоторые всё ещё размышляют о покупке техники. Например, о выборе нового смартфона. Эксперты IT-компании Selectel предлагают рассмотреть пять вариантов мобильных аппаратов на платформе Linux.

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

[Перевод] 6 причин использовать Kubernetes на сервере bare metal Развертывание Kubernetes на физических серверах  рекомендуется организациям, которые находятся в поисках новых возможностей в сфере управления инфраструктурой. Рассмотрим 6 причин попробовать K8s на выделенных серверах. Kubernetes в общедоступном облаке - это подхо...

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

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

Shared State для React. Часть 1 В данном цикле статей мы рассмотрим задачу синхронизации состояния react-приложения между окнами. В качестве подопытного у нас будет приложение на Electron, работающее в offline/online-режимах, которое также может запускаться в PWA-режиме. Читать далее

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

Реализация Smart Pointers в Delphi, и еще немного В последних версиях Delphi, появилось много новых, интересных возможностей. Сейчас попробуем сделать, с их помощью, что-нибудь полезное. Конкретно, создадим тип, который владеет объектом, ведет себя как этот объект, но при этом автоматически освобождается, когда на него боль...

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

Хорошая экология, бумажная волокита и большие расходы: плюсы и минусы жизни в Германии Русские айтишники часто хотят жить в Европе, но не всегда хорошо представляют, с чем столкнутся. Чтобы разобраться, как всё на самом деле, мы расспросили несколько человек, которые переехали в Германию на ПМЖ. Три героя — из Берлина, пригорода Мюнхена и поселка Бад...

Что такое курс валюты и почему он постоянно меняется? Курс валюты зависит от многих факторов, о которых мы сейчас и поговорим Практически у каждой страны есть своя валюта: в США это доллар, в Китае — юань, а в России используются рубли. Так как государства постоянно торгуют между собой, очень важно знать, сколько валюта одной с...

Чем заместить софт для 3D-дизайна и геймдева в условиях санкций В этой статье мы рассмотрим текущую ситуацию с инструментами для 3D-дизайна и игроделания и поищем возможные альтернативы. Читать далее

Таймер в .NET с интервалом 1 мс. macOS Ранее мы уже посмотрели, чем нам может помочь .NET в реализации задачи, обозначенной в теме статьи, в Windows. Сейчас рассмотрим её решение в macOS. Читать далее

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

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

Почему видеографы выбирают Андроид? Привет, камрады, киноделы и просто читатели!Некоторые из вас меня знают как разработчика Андроид-приложения mcpro24fps, предназначенного для видеосъёмки на телефон.Внезапные 100K прочтений моей первой статьи о недостатках телефонов Андроид побудили меня написать эту статью-р...

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

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

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

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

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

Сочетание Shift-Left и «Традиционной» модели тестирования в будние дни QA В этом материале будет кратко рассказано, почему Shift-Left – это не всегда хорошо и почему не стоит забывать о традиционной модели тестирования. Рассмотрим паттерны поведения QA при тестировании обычных задач и как постепенно стать продуктивным тестировщиком, не утопая в ре...

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

Представляем .NET MAUI Preview 12 Сегодня мы выпускаем 12 превью-версию .NET Multi-platform App UI со многими улучшениями качества и некоторыми новыми возможностями. По мере того, как мы приближаемся к выпуску нашей первой стабильной версии, баланс работы начинает смещаться в сторону улучшения качества и ста...

[Перевод] Ошибки, которые не ловит Rust Мне по-прежнему интересны языки программирования. Но сегодня уже не так сильно, и не из-за того, что они позволяют мне делать, а, скорее, из-за того, что они мне делать не позволяют. В конечном итоге, возможности того, что можно сделать при помощи языка программирования, р...

Шифры замены В предыдущей статье были рассмотрены простые шифры, использующие алфавиты естественных языков (ЕЯ). Автоматическая обработка сообщений в компьютерных и сетях связи предусматривает использование искусственных языков (ИЯ), что более эффективно во многих отношениях. Ранее описы...

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

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

C++ Builder. Есть ли жизнь после смерти? Мнение одного динозавра В этой статье я опишу собственные впечатления о последних версиях среды разработки RADStudio от Embarcadero и, возможно, постараюсь помочь кому-то в ответе на вопрос: «А оно мне надо?».Сразу оговорюсь. Все описанное в этой статье является моим личным мнением и любые сравнени...

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

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

Шесть ключевых противостояний 2022 года (часть II) Базовых направлений, балансировать между которыми в этом году будут заказчики при развитии своей ИТ-инфраструктуры, не так много. Первые три мы рассмотрели в первой части статьи, сейчас рассмотрим еще три и акцентируем внимание на возможностях, которые ...

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

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

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

[Перевод] Исследуем .NET 6. Часть 1 В этой серии статей я собираюсь взглянуть на некоторые из новых функций, которые появились в .NET 6. Про .NET 6 уже написано много контента, в том числе множество постов непосредственно от команд .NET и ASP.NET. Я же собираюсь рассмотреть код некоторых из этих новых функций....

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

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

Жалкая пародия или неповторимый оригинал?      Всем здравствуйте! Недавно были небольшие выходные, и за это время захотелось что-нибудь материализовать и желательно полезное (хотя бы относительно). Идей всегда много, а времени не так уж и много. Поэтому в этот раз выбор пал на игрушку для дочки (ведь она так увлечен...

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

Игры на советском калькуляторе МК-90 В этой статье я хочу рассказать о своём опыте работы с микрокалькулятором «Электроника МК-90». Будет рассмотрено несколько вариантов работы с модулем памяти калькулятора, а также несколько игр на нём. Читать дальше →

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

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

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

Резервирование резервирования. Как я наш интернет труба шатал Syn-Ack Хабр! Меня зовут Сергей Минаев, я руководитель направления администрирования веб-сервисов в компании «Спортмастер». В преддверии наступающего Нового года хочется, чтобы было спокойно и тихо, можно было кушать оливье, спокойно отдыхать, а не вот это вот все: пожар, к...

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

Как создать telegram бот на C# быстро? Как создать telegram bot на C# быстро?В этой статье мы рассмотрим заготовку для создания telegram бота на C#. В связи с последними обновлениями TelegramBotAPI, большая часть удачных с моей точки зрения публикаций на эту тему несколько устарело. Потому предлагаю разобраться в...

Гудбай AV/EDR или как обойти защиту EDR в Windows При проведении Red Team операций часто возникает вопрос обхода средств защиты. В данной статье будет рассмотрен один из методов отключения антивирусов и EDR. Читать далее

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

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

Пишем свой плагин для IDEA для поддержки нового языка (часть 1) В статье рассмотрено как создается языковой плагин для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Читать далее

Удаленный доступ к IP камерам. Часть 2. Мобильное приложение В предыдущей статье я рассказывал о простом сервере для работы с камерами видеонаблюдения, но для оперативного просмотра RTSP потоков использовал мобильное приложение VLC, которое меня не вполне устраивало по нескольким причинам. Под катом вы найдете описание и листинги про...

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

Увеличь скорость команды взамен на всё Соревнования внутри команды - тот тренд в командах разработки, который я начал замечать в последнее время. Story Points, Bonus Points, рейтинг - все это разные названия, по сути, одного и того же. Общая система заключается в следующем: управленец выбирает какие-то критерии(з...

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

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

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

Безопасная разработка и уязвимости программного кода Часть 1. Как писать свой код без ошибокНа сегодняшний день трудно представить себе какую-либо отрасль бизнеса, в которой не использовались бы информационные технологии. Не только в банковской сфере, но и в промышленности, транспорте, сельском хозяйстве – везде ИТ играют огро...

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

История жестких дисков, часть III — Миниатюризация Жесткие диски знакомы всем пользователям, без них сложно представить современный компьютер. Конечно, SSD вытеснили жесткие диски в сценариях, где требуется максимальная производительность, например, для загрузочного раздела ОС. Но если нужна максимальная емкость, то без HDD ...

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

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

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

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

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

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

Компания OCS предлагает ИТ-каналу решения GoodWAN OCS начинает продвижение решений для IoTGoodWAN, которые основаны на новой технологии передачи данных. Направление IoT активно развивается и набирает популярность в различных сферах: от строительства и производства до систем ...

Бесплатная учёба в Европе… как?! Без папы олигарха и начиная с нуля Вначале я расскажу о своём опыте самостоятельной учебы в университете в Англии, а потом расскажу о том, как бы я подошел к этому если бы планировал уехать учиться в Европу из России сейчас. Подробнее обо мне в другой статье тут. Читать далее

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

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

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

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

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

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

werf v1.2 — стабильный релиз Open Source-утилиты для доставки приложений в Kubernetes werf — это CLI-утилита с открытым кодом для сборки приложений и их деплоя в Kubernetes. С версией v1.2 она получила множество изменений и улучшений, которые мы так тщательно тестировали и дорабатывали, что релиз долгое время — с января 2021-го — находился в статусе Early-Acc...

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

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

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

Куда уходит время? Боремся за миллисекунды в Kubernetes Привет, Хабр! Меня зовут Вова, я разрабатываю observability-платформу в Ozon. Как-то раз в наш уголок на 42 этаже заглянули коллеги — и поделились наблюдением. Если открыть рядом графики времён запросов и ответов двух живущих в Kubernetes и общающихся между собой микросервис...

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

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

IT за Великой Китайской стеной: как живут и работают инженеры в материковом Китае, Гонконге и Тайване Про китайское IT ходит много слухов: работают там по 12 часов, увольняют всех подряд, а устроиться на работу иностранцу вообще невозможно. Но на самом деле IT в Китае очень неоднородное, как и жизнь — есть материковый Китай, а есть отдельные провинции и независимые зоны, в к...

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

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

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

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

Интервью с iOS-разработчиком Мой путь в ИТ почти 20 лет, начинал с SQL/1С/эникейщика, потом немного .net, немного Java, ГИС, потом несколько лет менеджерская история в разработке, которую я прервал в 2016 году. До этого времени мой путь был скорее хаотичным и не спланированным. Далее я осознанно начал п...

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

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

Как заинтересовать 120+ HR всего за месяц. Или как захантить к себе аналитика данных За месяц поиска работы собрал много полезной информации и хочу с вами ею поделиться.В начале немного статистики по прохождению этапов отбора в компанию:1 этап "Собеседование с HR-ом": 120+ HR-ов (рекрутеров) написало мне за месяц2 этап "Собеседование с руководителем" (знаком...

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

Что там у ReactOS? 16 декабря сего года, команда разработчиков ReactOS, спустя долгое время после последнего релиза (с последнего прошло почти полтора года) выпустила новую версию под номером 0.4.14. Это все еще альфа-версия.В данной статье мы рассмотрим основные новшества как со стороны разра...

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

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

[Перевод] Исследуем .NET 6. Часть 2. WebApplicationBuilder В этой серии статей я собираюсь взглянуть на некоторые из новых функций, которые появились в .NET 6. Про .NET 6 уже написано много контента, в том числе множество постов непосредственно от команд .NET и ASP.NET. Я же собираюсь рассмотреть код некоторых из этих новых функций....

Чем хороший программист отличается от плохого, или почему нужно выходить за рамки Это будет моя самая короткая статья.Когда-то я был молод и зелен и решал проблемы именно так, как их решают джуны. Алгоритм такой:1. Узнать о проблеме2. Локализовать проблему3. Загуглить проблему и решение4. Пофиксить проблемуНапример: эксель-файл содержит ошибку, и поэтому ...

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

Сравниваем 3D сканеры Calibry. Что лучше Calibry или Calibry Mini ? Всем привет, друзья! С Вами компания 3DTool!Компания Thor3D, известный в России и мире производитель ручных 3D сканеров, на сегодняшний день предлагает две модели устройств – ручные 3D сканеры Calibry и Calibry Mini. Не секрет, что оба сканера построены на общей платформе и ...

Apache Spark Рассмотрим подробно, что такое Spark ML и как с ним работать. Читать далее

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

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

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

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

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

Япония как земля обетованная? Привет, Хабр! Уже три года живу я в Японии (два провёл в языковой школе, а сейчас эникею в фирме с русским руководством на Хоккайдо) и, несмотря на то что глобально говоря ничего я ещё не добился, рассказы об Японии вызывают у людей живой интерес. Почему бы его не удовлетвор...

Распределённые транзакции Kafka + PostgreSQL средствами Spring Как известно, во многих IT-проектах есть типичная задача -  транзакционная обработка данных в интеграционных сценариях, когда необходимо согласованно отправить или принять данные из внешней системы и при этом обновить собственное состояние приложения.Особенно интересной...

Внедрение Q# в ваши любимые языки и платформы (Python, .NET, ASP.NET, Julia, Lua, PowerShell) Не секрет, что Q# и Quantum Development Kit позволяют легко писать квантовые программы и запускать их на симуляторах и на оборудовании через службу Azure Quantum, с использованием Python, .NET или даже через Jupyter Notebook. Более того, инфраструктура, которая поддерживает ...

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

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

[Перевод] RecyclerView Adapter in Android, сделай быстрее и проще Здравствуйте дорогие хабрчане. Это статья основана на статье https://blog.iamsuleiman.com/recyclerview-adapter-android-made-fast-easy/#clicklistener написанной в 2017 году на Java. А статью которую вы читаете, уже на Kotlin.Каждый раз, когда мы думаем о создании RecyclerVi...

Финансовый вопрос в сфере open source — обсуждаем различные точки зрения на проблему В начале января разработчик библиотек faker.js и colors.js намеренно «испортил» собственные программные продукты. Он добавил в код бесконечный цикл, который выводил в консоль бессмыслицу. В результате нарушилась работа тысяч приложений по всему миру, в том числе у крупных об...

100 сленговых выражений австралийского английского 100 сленговых выражений австралийского английскогоОтличается ли австралийский английский от "классического" английского? Весьма существенно, но если знать правильный код, ларчик успешной коммуникации просто открывается. А универсальный код - это живой, местный, настоящи...

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

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

Потрясающее будущее PHP-стека для карьеры Совсем недавно была позитивная новость о том, что компания JetBrains простимулировала создание специального фондаTHE PHP Foundation, который будет финансировать и координировать дальнейшее развитие PHP, как современного языка программирования. Эта отлична...

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

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

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

Я устал вручную удалять мобильное приложение с устройства и написал расширение для VS Code Каждый мобильный разработчик рано или поздно сталкивается с тем, что его начинают утомлять некоторые рутинные операции. Скажем, дебажишь авторизацию в приложении. Или проверяешь перехват UTM-метки при первой установке. Или пытаешься понять, работает ли корректно очередная ми...

ТАКОГО В КИТАЕ НЕ КУПИШЬ  Хомяки приветствуют вас друзья! Сегодняшний пост будет посвящен сборке универсального автономного блока питания к паяльнику TS100 с помощью которого, можно осуществить ремонт различного электронного оборудования в любых полевых условиях. В ходе поста смоделируем корпус...

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

SSH Picker в ежедневной работе сетевого инженера В статье рассмотрим полезный инструмент облегчающий сбор данных с сетевых устройств. Для работы скриптов с командной строкой по SSH на языке Python нужно использовать множество сторонних модулей, а вернее множество зависимостей одного модуля (привет paramiko), а если на маши...

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

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

Что болит у техлидов и DevOps-инженеров? В этом году DevOps & TechLead Conf 2022 пройдут на одной площадке. Участников ждут погружение в инженерные процессы в IT (от XP до devOps & beyond), musthave-инструменты и практики изменений в командах для быстрых и качественных релизов. Мы встретились с экспертами ...

[Перевод] Культура совещаний: почему Amazon ставит документ во главе всего Привет, Хабр! Меня зовут Александр Попов, я PR-директор МойОфис. Еженедельно в моем рабочем графике бывает до 30 совещаний. Проведение встреч, а также подготовка к ним, забирают много сил и времени. С целью научиться эффективнее расходовать свои ресурсы, я решил исследовать ...

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

Java 18. Что нового добавили и почему вам это пригодится Выход Java 18 назначен на 22 марта 2022 года, ждать осталось недолго. Релиз уже несколько дней находится во второй фазе стабилизации, а значит, список фич уже финализирован, а значит настало время обратить на них наше внимание.Сейчас у нас есть возможность попробовать новый ...

Обзор Dying Light 2: Stay Human. Наконец-то дождались Если какой-то игре и удалось испытать все трудности проблем производства, то Dying Light 2: Stay Human является таким проектом. Продолжение неплохой экшн/RPG про зомби и паркур 2015 года имело все карты на руках: интересный сюжет, неплохой геймплей, различные игровые механ...

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

Инструменты для снятия логов с Android / iOS-устройств. Чтение и разбор Привет! Сегодня стартует наш четвертый митап для тестировщиков, QAчественное общение. До 18:00 МСК на него все еще можно зарегистрироваться. А пока мы начинаем выкладывать доклады с предыдущего митапа, и начинаем с Ольги, старшего QA-инженера в компании red_mad_robot. Погово...

«Единая Россия», вакцинация, дети блогеры и биткойн Эта статья наверно не уместна для Хабарчан, и точно не содержит инженерной ценности. Но, как слабое оправдание - еще один вариант нового красивого мошенничества. Суть. Мой сын Авиценн в 12 лет увлекся музыкой на гитаре и медленно обрел небольшую популярность на тиктоке. Сейч...

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

В гробу я видел весь ваш DevOps… Эта статья о вреде выделенных команд DevOps инженеров в организации. Начну издалека. В книге Джорджа Массера "Нелокальность" приводится такой интересный момент оценки расстояния с точки зрения влияния. "Лев близко, значит он может напасть" - это о влиянии через определение ...

Что такое Web 3.0, и почему он всем стал нужен Последние несколько лет все чаще доносится о том, что нынешняя модель Интернета морально устарела и требует пересмотра — корпорации жадно собирают данные пользователей, устраивают цензуру и знают о юзер больше, чем их ближайшие родственники. Лидеры мнений и индустрии предлаг...

Лучшие фитнес-браслеты в 2021 году: топ-6 моделей Рассмотрим наиболее интересные фитнес-браслеты, которые можно купить в 2021 году, чтобы вам было проще выбрать наиболее подходящий для вас.

Эксплоит Juicy Potato В настоящее время происходит всё большая интеграция реального мира с цифровым, развивается возможность передавать большие объёмы информации через цифровые каналы. В связи с этим остро встает проблема защиты цифровых средств, проблема компьютерной безопасности. В разных систе...

Работа с аудио в Unity — трассировка и облачные вычисления Всем привет! В этой статье мы рассмотрим пример работы с объемным аудио в Unity для консольных и ПК проектов. На данном примере будет описан пайплайн работы с аудио на крупном проекте с множеством источников звука, HRTF и др. Читать далее

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

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

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

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

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

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

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

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

Tesla Cybertruck показал вживую на видео Еще в 2019 году Tesla представила новый электрический пикап Cybertruck, который уже должен был поступить в продажу, однако в ходе разработки возникли различные проблемы и задержки. В следующем видеоролике нам показывают Tesla Cybertruck, который засняли на заводе во Фри...

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

Как инженеру выбрать работу Даже на текущем рынке кандидата, каждая смена работы — это серьезное решение, инвестиция нескольких лет жизни или — неприятная строчка в резюме, причина для неудобных вопросов вроде «А почему вы ушли из компании X, проработав там немногим более года?».Основные риски при непр...

363 дня одного года на Хабре. Что лежит в Pocket у модератора? Парадоксальная ситуация: я просматриваю практически все статьи на Хабре и читаю все в Песочнице, но при этом у меня не остаётся времени, чтобы в течение рабочего дня с удовольствием и полным погружением прочитать то, что мне интересно. Поэтому я поступаю точно так же, как мн...

[Перевод] Алгоритм генерации тайловых карт Model Synthesis Я много писал об алгоритме коллапса волновой функции (Wave Function Collapse). Этот алгоритм, разработанный Максимом Гуминым в 2016 году, генерирует тайловые карты и пиксельные текстуры на основании удовлетворения ограничениям с дополнительной рандомизацией [перевод на Хабр...

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

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

3 простые вещи, которые сделают вашу жизнь лучше Цель данной статьи довольно проста — принести пользу людям, дав им в руки несколько действительно рабочих инструментов, которые проверены на практике.Три простых вещи, о которых пойдёт речь в данной статье это:· Сон — как/сколько/почему нужно спать и какие есть лайфхаки для ...

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

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

Теория тестирования ПО просто и понятно Что нужно знать начинающему тестировщику, который готовится к собеседованию? На самом деле, не так уж много (и в то же время, не мало). Первое, с чего лучше начинать - это теория и основные понятия. Читать далее

Стоит ли покупать б/у iPad и какой лучше выбрать Мы потихоньку начинаем привыкать к тому, что iPhone подорожали. Кстати, и iPad — тоже. Если раньше базовый iPad стоил около 30 тысяч рублей (и мог бы сейчас стоить дешевле), но сейчас его цена начинается от 51 тысячи рублей и достигает 60 тысяч за версию на 64 Гб без ...

[Перевод] Как разозлить разработчика? Это перевод. Автор текста: Ведущий разработчик и менеджер проектов Никлас Миллард.Спойлер: разозлить разработчика очень просто. Точнее, разработчика может взбесить буквально все. И чем более "религиозны" взгляды разработчика в отношении определенных сущностей и событий, тем ...

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

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

Нужен ли Mockito, если у вас Kotlin? Салют, коллеги.В рамках пятничной статьи предлагаю посмотреть на интересный способ создания моков в Kotlin, без использования сторонних библиотек.Я занимаюсь разработкой аддонов для Atlassian-стека в компании Stiltsoft и, из-за технических ограничени...

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

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

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

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

Мой опыт с Webpack 5 Module Federation Всем привет. Меня зовут Михаил, я - фронтенд-разработчик в Лиге Цифровой Экономики.В последнее время я пробую себя в должности руководителя направления фронтенд-разработки, однако я хочу с вами поделиться опытом разработки приложения с применением Webpack Module Federation, ...

Penkesu — портативный ретро-компьютер с механической клавиатурой В М.Видео-Эльдорадо немало разработчиков, начинавших программировать еще на бейсике для ZX Spectrum. Тем интереснее погрузиться в ретро мир железа. Сейчас не так много ультрапортативных ноутбуков, за исключением карманных ПК (таких как Steam Deck), ориентированных на игры.&n...

Proof Of Concept на Python или как портировать С/С++ Язык программирования Python существует уже 31 год. Это полностью объектно-ориентированный язык. За все время существования на нем стало возможно применять разные парадигмы. Сейчас этот язык может поддерживать:- объектно ориентированную парадигму- структурное программрование...

NEO4J – графовые базы данных В данной статье будет рассмотрена графовая система управления базами данных в Neo4j, а именно: Читать далее

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

[Перевод] Не автоматизируйте test cases Как прямая автоматизация тест кейсов приводит к громоздким и раздутым наборам автотестов, которые практически не приносят пользы.Общепринятой практикой в индустрии является использование тест кейсов в качестве основы для автоматизации тестирования. QA инженеры разрабатывают ...

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

Как я влюбился в UX и бросил маркетинг Привет, меня зовут Андрей Кононов, сейчас я работаю аналитиком-проектировщиком в «Спортмастере», а до этого много лет проработал маркетологом. В этом посте расскажу, как открыл для себя сферу UI/UX и почему в найме оказалось удобнее, чем на фрилансе.Итак, по порядку.Маркетол...

[Личный опыт] Армения сейчас: как дела с ценами, что с политической обстановкой и стоит ли туда переезжать Сейчас многие IT-инженеры (и не только) переехали в соседние страны с простым релокейтом. Одной из самых популярных стран для такого «переезда одним днем» стала Армения. Наш герой перебрался туда месяц назад и рассказывает, как все организовал и что в Армении сейчас с ценами...

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

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

Venus Optics обещает скоро представить объектив Argus M4/3 APO Источник сообщил, что компания Venus Optics собирается скоро представить несколько новых объективов. Анонс состоится накануне выставки фототехники CP+. Как стало известно неделю назад, CP+ в этом году пройдет только онлайн. Ранее было запланировано, что выставка пройдёт...

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

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

Моя первая игра — Picross.io Всем привет, я инди разработчик, но когда то я им не был :) За всё время своих скитаний я успел сменить много различных профессий, от грузчика и продавца консультанта, до сотрудника торгового зала в "Ленте", но в итоге пришёл в геймдев, и, в этой статье я поделюсь своим опыт...

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

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

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

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

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

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

Пока Bitcoin практически стоит на месте, Cardano подорожала на 16%, а Polkadot – на 10%. Итоги недели на рынке криптовалют Уходящая неделя выдалась для рынка криптовалют не столь драматичной, как предыдущая: ситуация в Казахстане стабилизируется, а страсти относительно отчета ФРС, в котором говорилось об ускорении в вопросе повышения ключевой ставки, улеглись. В итоге многие криптовалюты за...

Обновление данных в ClickHouse Всем привет! Эта статья продолжает первую часть, где я рассказывал о том, как мы в Just AI переводили пользовательскую аналитику на новую СУБД ClickHouse. В ней я на примерах показывал, как менялась схема данных и sql запросы, какие возникали сложности и удалось ли добиться ...

Google сдалась и решила ввести альтернативные способы оплаты в Google Play В рамках программы, которая может иметь далеко идущие последствия для технологической отрасли, Google запустила проект тестирования сторонних платёжных систем в Android и во всей экосистеме. Компания объявила, что планирует провести пилотный проект с несколькими разрабо...

[Перевод] Почему так много дата-сайентистов бросают работу? К старту флагманского курса по Data Science делимся мнением инженера ML о том, какие разочарования могут ожидать вас на работе как дата-сайентиста, чтобы вы были готовы к ним. За подробностями приглашаем под кат. Читать далее

Аудиомодификации для Android смартфонов Предыдущая статья была посвящена теме качества мобильного звука в Android смартфонах. Углубляясь в эту тему мы подробно рассмотрим что из себя представляют аудиомодификации, требования для их установки, принципы работы magisk модуля и способы улучшения качества звука на прим...

Флаг EPOLLEXCLUSIVE и проблема неравномерного распределения соединений в Nginx на Linux Совсем недавно, 25 января 2022 года вышел новый релиз Nginx - 1.21.6, в котором исправлена проблема неравномерного распределения входящих соединений между несколькими worker процессами в дефолтной конфигурации на Linux системах. Если конкретнее - use epoll, accept_mutex off,...

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

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

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

Обзор нового Flashforge Creator 3 Pro и сравнение с Creator 3 Сегодня в нашем обзоре новый 3D принтер Flashforge Creator 3 Pro.Новый принтер с системой независимых экструдеров IDEX задумывался как преемник Creator 3. В этой статье мы рассмотрим обновленный функционал высокопроизводительного 3D принтера, который может печатать нитями с ...

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

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

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

[Перевод] Основные ошибки, которые следует избегать при репликации MySQL Настроить репликацию в MySQL просто, но управление ею в продакшне никогда не было легкой задачей. Даже с новым автоматическим позиционированием GTID все может пойти не так, если не знать, что делать. После настройки репликации может произойти всякое. Легко допустить ошибки, ...

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

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

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

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

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

Эволюция продуктовых команд Про то, почему и как в разных компаниях приходят к продуктовым командам. Мыслями поделился автор telegram-канала для продактов alexcouncil Алексей Арефьев. Читать далее

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

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

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

Будущее SD-WAN: от MPLS к Autonomous Driving Network «Программно-определяемые глобальные сети сложны, дороги и небезопасны. Мы лучше пока посидим на классической инфраструктуре. Вот только наделал бы кто-нибудь много хороших сетевых инженеров — тогда заживем». Нам регулярно доводится слышать такое от CTO крупных компаний с бол...

Почему люди начинают много есть на нервной почве Психолог Марина Гладышева объяснила, почему люди начинают много есть на фоне стресса.

[Перевод] Исследуем .NET 6. Часть 6. Поддержка интеграционных тестов в WebApplicationFactory В предыдущей статье я описал обходной путь, который был добавлен в .NET 6, чтобы инструменты EF Core, которые ранее полагались на существование определённых методов, таких как CreateHostBuilder, продолжали работать с новыми минимальными API хостинга.В этой статье я рассмотрю...

[Перевод] Пишем чистый код при помощи деструктуризации объектов в JavaScript Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScriptВ этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом...

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

Пишем без Retrofit'а, Gson'a и Kotlin Coroutines Android приложение Порой нам хочется написать код без лишних библиотек, чтобы более глубоко понять основные принципы или просто ради интереса.В качестве примера я написал простое Android приложение, которое позволяет юзерам найти значение русского слова.Давайте остановимся на каждом моменте по...

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

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

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

Golang для Embedded Linux При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет н...

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

Илон Маск стал академиком. Он вошел в состав Национальной академии инженеров США ??Состав Национальной академии инженеров США на этой неделе пополнился 133 новыми членами: 111 из них жители США, 22 — иностранцы. Среди этих 133 трех человек оказался и глава SpaceX Илон Маск (Elon Musk). Избрание в Национальную академию инже...

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

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

4 PowerShell-скрипта для проверки действительности ваших SSL-сертификатов Привет, Хабр! Меня зовут Андрей Благов, я архитектор центра профессиональных сервисов и R&D в облачном провайдере T1 Cloud, и сегодня речь пойдет о сертификатах SSL. Добавляйте статью в закладки, она вам точно пригодится. В ней я поделюсь PowerShell-скриптами для проверк...

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

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

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

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

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

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

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

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

Дайджест событий для эйчаров и рекрутеров в IT на февраль 2022 В феврале организаторы курсов, вебинаров и конференций для HR в IT предлагают узнать об актуальных подходах к управлению персоналом и инструментах для поиска кандидатов, а также как сформировать стратегию сорсинга и разобраться, какую роль в этом всем может играть Agile. А д...

Sushi Drama: как конфликт в команде SushiSwap чуть не убил перспективный проект Уже много лет я, как и многие читатели Хабра, мечтаю оказаться в самом начале какого-нибудь мощного тренда (а не прохлопать ушами, как всегда, и бежать за уходящим поездом).И похоже, что сейчас я как раз наблюдаю именно такой тренд: это массовое появление и развитие децентра...

Как Яндекс делает обычные автомобили беспилотными Гермобокс для электроники Привет, меня зовут Антон Чистяков. Пару лет назад я работал в хелпдеске Яндекса и даже писал здесь про то, как мы придумали вендомат с аксессуарами. Теперь отвечаю за сборку беспилотных автомобилей и роботов-доставщиков. Под катом расскажу, как мы...

[Перевод] Полное руководство по расширениям JUnit 5 JUnit - одна из самых популярных сред модульного тестирования в экосистеме Java. Версия JUnit 5 (также известная как Jupiter) содержит множество интересных нововведений, включая поддержку новых функций в Java 8 и выше. Однако многие разработчики по-прежнему пр...

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

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

Dart Code Metrics — мой первый pull request В статье рассмотрел инструмент для анализа кода Dart Code Metrics и о том, насколько полезно его использовать. Постарался поделиться своими знания в создании нового правила для анализатора. Автоматизировали проверку имени класса и названия файла не только для своего проекта...

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

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

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

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

Apple назвала лучшие подкасты в России Компания Apple начинает подводить итоги 2021 года. Вчера стали известны победители Apple Music Awards 2021, а сегодня купертиновцы решили назвать лучшие подкасты, которые выходили в этом году.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No comment Вы также можете о...

[Перевод] Я развернул монитор на 90° и всем это рекомендую Когда я только начинал работать удаленно, то целые месяцы приводил в порядок свое рабочее место, стараясь довести всё до совершенства. Стол, кронштейны для монитора, веб-камера – просто остановиться не мог. Моя работа напрямую связана с тем, чтобы повышать людям производит...

[Личный опыт] Жизнь IT-инженера в Болгарии: недорого, спокойно и идеально для семей с детьми В последнее время мы много пишем про страны с околосоветским прошлым вроде Латвии или Польши. Есть еще одна такая интересная страна — Болгария. Там мягкий климат, родственный нашему язык, много русскоговорящих, а в последнее время еще и хорошие условия для работы в IT. Наш г...

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

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

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 2) Продолжаем цикл статей, посвящённый основам Django Rest Framework. В предыдущей статье мы подробно рассмотрели, как сериалайзер валидирует входные данные. В этой статье мы закрепим теорию на простом примере, а также затронем те вопросы, которые не успели рассмотреть раньше:...

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

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

[Перевод] Баги в Hello World Hello World, должно быть, самая часто создаваемая компьютерная программа. Уже десятилетия это первая программа, которую пишут люди, когда начинают изучение нового языка программирования.Конечно же эта простая программа не должна иметь баги. Верно? Читать далее

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

«Искусство оскорблять» или soft skill, который пригодится всем "Искусство оскорблять" – как экологично выражаться и не "налипнуть" за свои слова на тюремный срок или на штраф? Что же такое «защита чести, достоинства и деловой репутации»? Как отделить оскорбление от высказывания своего мнения или оценки, пусть и не очень приятной? Почему...

Самая производительная портативная приставка с Windows. Valve раскрыла подробности о гибридном процессоре в основе Steam Deck Компания Valve раскрыла новые подробности о платформе, лежащей в основе консоли Steam Deck.   Итак, кодовое имя гибридного процессора AMD — Aerith. Считается, что он относится к линейке Van Gogh. У него четыре процессорных ...

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

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 3 — NAT и сетевые соединения) В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический хара...

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

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

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

Запись разговоров на мобильных Тут на МВидео выложили статью про 10 лучших приложений для записи звонков на смартфонах, а на 4pda выложили статью, что Гугл совсем запрещает запись звонков на Андроиде. Тема мне близка, т.к. недавно занимался разработкой приложения для записи звонков и все вышло не так как ...

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

Парсим NFT транзакции на OpenSea Примерно раз в год у меня появляется неутолимая жажда накопать много данных и что-то с ними сделать. В этот раз мой выбор пал на маркетплейс NFT OpenSea. Меня осенило что блокчейн - это про открытые данные, а учитывая 1.2 миллиона транзакций в сети ETH каждый день - то это е...

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

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

Добро пожаловать в Зольни: как из стажировки Southbridge появилась новая компания С апреля 2021 года в Southbridge проходит стажировка для тех, кто хочет стать DevOps-инженером. За полгода мы запустили 6 потоков, в которых поучаствовало больше 80 человек. На старте планировали, что проект поможет нам подготовить DevOps-специалистов для себя. Оказалось, ст...

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

Летающий мишка из 80х Всем здравствуйте! Извините, но будет много букв и фото (и пунктуационных ошибок).Листая очередной раз ленту с новостями на #3DTODAY заметил конкурс "Учим медведей летать" и подумал - вот оно. Самое начало начинать писать статьи. Почему-то всегда хотелось начать, а что-то бо...

Российский микропроцессор Эльбрус 8с В начале 2020-го года в сети появляется новость о том, что РЖД собирается купить 15 тысяч компьютеров на базе процессоров Эльбрус, потратив на это около 1 млрд руб. Никого не смущает, что тендер заявлен на пятое февраля 20-го года, а конечная дата поставки 25 мая того же год...

Что такое полупроводник, транзистор, микросхема? И что такое кризис полупроводников? Разбираемся. Приветствую вас на канале Next 3D Print. Думаю, в последнее время все слышали про полупроводники, и их дефицит. Я предлагаю разобраться что они из себя представляют, окунуться в историю, и как обстоят дела на самом деле. Так что предлагаю вам налить чаю, кофе или на ваш выбо...

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

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

Встречаем ровер третьего поколения: история создания робота-курьера Яндекса Встречайте! Мы выпустили на улицу роботов третьего поколения — модель R3 уже можно встретить в Москве, Иннополисе и США. До конца года мы планируем произвести больше сотни таких роботов, и в дальнейшем будем расширять флот за счёт них. Меня зовут Алексей, я работаю в Yan...

«Она со мной, углепластик»: Kurumi Diary хорошая игра, но с ужасным переводом Если вы хотите отдохнуть от напряжённой жизни и постоянно круга «дом-работа», Kurumi Diary с этим поможет. Но ни за что не ставьте русскую локализацию. Kurumi Diary — аниме-проект, в котором мы живём с 16-летней девочкой. Да, начало уже многообещающее и сомнительное. На сам...

Технологичность бизнес-хаба, романтика «старого города» и естественный work&life balance. Добро пожаловать в Литву В литовской команде EPAM уже более 250 специалистов из 10+ стран мира. Мы попытались посмотреть на жизнь в Литве их глазами, прогуляться по старым улочкам, испытать на прочность европейский сервис и узнать o возможностях, которые ...

[Перевод] Rust — будущее инфраструктуры JavaScript Rust - это быстрый, надежный и экономичный, с точки зрения памяти, язык программирования. Его признавали одним из самых любимых языков программирования шесть лет подряд (на основании опросов).Созданный Mozilla, он теперь используется в Facebook,...

[recovery mode] Оконные функции SQL простым языком с примерами Привет всем!Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свое путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано м...

Пишем простого slack-бота на Java Привет! Я — Саша Казанцев, разработчик в hh.ru. В статье я расскажу, как сделать простого бота в Slack на java и немного о других вариантах использования slack api.Слак обладает обширной и всеобъемлющей документацией и туториалами, и чтобы написать эталонного бота, лучше про...

Перетягивание одеяла: техподдержка vs СБ С точки зрения службы техподдержки, что позволяет как можно быстрее и проще удовлетворить заявку пользователя — то и хорошо. С точки зрения Службы Безопасности — это совсем нехорошо, а нужно делать максимально безопасно. Беда в том, что чем выше требования к безопасности, т...

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

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

Время пришло: США рассмотрят "помилование" ZTE после санкций и штрафа Американский судья постановил, что испытательный срок ZTE Corp. может скоро закончиться, что освободит китайскую компанию от некоторых надзорных мер после нескольких лет правительственного контроля.

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

[Перевод] C++20 Ranges — Полное руководство C++20 Ranges, также известная как STL v2, представляет из себя более эффективную замену существующих алгоритмов и технических средств STL. В этой статье мы пройдемся по изменениям, введенным Ranges (диапазоны/интервалы), обсудим представления (views), которые представляют со...

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

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

Как мы меняем Anti-spoofing модель с вендорских решений на собственные Привет! Меня зовут Ренат Алимбеков, я занимаюсь задачами, связанными с Computer Vision в Beeline Казахстан. Сейчас моя работа направлена на Anti-spoofing. Моя основная задача сейчас — заменить вендорские решения в продуктах Beeline Казахстан на собственные. В этой стать...

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

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

Обнаружение наличия функциональности в C++ на этапе компиляции Иногда, при реализации очередной "шаблонной магии" очень хочется на этапе компиляции иметь сакральное знание о том, а если у типа нужный метод, чтобы его вызвать или нет?Хорошо, если есть поддержка концептов или рефлексии. А что делать, если их ещё нет, или они не в полной м...

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

Как создать сайт медучреждения и не нарваться на штраф в 5 миллионов Привет, меня зовут Алина Богомолова, я project-manager в IT-компании Pitch. Сегодня я хочу поделиться нашей экспертизой в сфере создания сайтов для медучреждений.Государство предъявляет к их содержанию повышенные требования. Эти требования описаны в 5 Федеральных законах и в...

Эволюция разумна? Приветствую, хабрчане! Сегодня речь пойдёт об одном, на мой взгляд, интересном варианте алгоритма для самообучающейся системы. Идея подобной статьи зрела давно, однаĸо руĸи всё не доходили.Рассматриваемую ниже модель можно споĸойно отнести ĸ областям...

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

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

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

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

AGLoRa. Или прототип простого самодельного спутникового LoRa-трекера Вокруг всё чаще и чаще слышно упоминание загадочных слов LoRa. Начиная от, разумеется, Хабра, и заканчивая прайсами поставщиков различного IoT-оборудования.Было очень любопытно самому убедиться, а правдивы ли обещания дальности работы? Попробовать это очень просто, готовые м...

Первая функция из Android 13. Новая ОС получит возможность устанавливать язык для каждого приложения отдельно Android 12 только начинает своё шествие по рынку смартфонов, а в Сети уже появились подробности об одной из функций Android 13.  Называется функция Panlingual. Суть её достаточно простая: она позволит пользователям выбирать язык отдельно для ка...

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

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

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

Мой опыт подачи на ПМЖ (Radicación Permanente) в Республике Парагвай В этой статье я не буду трогать вопросы "Почему Парагвай?", "И кем работать в том Парагвае?", "А в Парагвае говорят по-английски?", "Что там с сектором IT?" и прочее подобное.Описанная ниже процедура получения ПМЖ предполагает наличие ряда документов, оформляемых и апостилир...

Задача: Как измерить рентабельность инвестиций в DevOps? Влияние DevOps на производительность организации значительно, но оно может стать еще больше, если вы измерите рентабельность инвестиций в DevOps. Узнайте, как его можно улучшить.   DevOps ускорил темпы поставки программного обеспечения и обеспечил создание гибкой среды. В ре...

[Перевод] 3 способа использовать box-shadow в CSS Тени помогают сделать визуальную составляющую сайта интересной и эстетичной. В посте рассмотрим свойство CSS box-shadow и то, как его можно стилизовать. Читать далее

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

Engineering Manager: Полезная литература День добрый!Продолжая тему Engineering Manager, хотелось бы пока остановиться на небольшом списке 5 полезных книг: Читать далее

Цифровой рентген: наушники аудиофила за 662 рубля? При выборе новых наушников можно потратить 4-5 часов на изучение обзоров, мнений и в итоге ни на чем не остановиться. Недавно вот коллега показал свои внутриканальные наушники (IEM) с алиэкспресса за 7-8 тысяч рублей! Я немного прифигел от такого расклада. В голове не уклады...

Бывший инженер Microsoft рассказал, какие функции Windows 11 отключить, чтобы система работала быстрее Майкл Нихаус (Michael Niehaus), работавший ранее инженером в Microsoft, рассказал в своём блоге, как избавиться от маловостребованных обычными пользователями функций Windows 11, которые съедают немало оперативной памяти. Речь о приложении Teams и виджетах. В Windows 11...

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

ЦРУ? ФСБ? Нет мой друг… Маркетологи. ADINT или как за тобой следят через рекламу DISCLAIMER: Данная статья написана в ознакомительных целях и не является руководством к неправомерным действиям или обучающим материалом для сокрытия правонарушений.В качестве небольшого предисловия… Каждый из нас пользуется смартфоном. Это просто факт. И каждый из нас замеч...

12 вещей, которые мы поняли за 12 месяцев работы в UX-исследованиях Привет! Нас зовут Лёня, Полина и Настя. Мы младшие аналитики-исследователи в VK. Год назад мы почти одновременно столкнулись с UX-исследованиями и стали стажёрами в UX Lab VK. Расскажем, как студентам попасть на работу в UX-лабораторию круп...

Идентификаторы элементов в XCUITest Меня зовут Семен, я занимаюсь автоматизацией тестирования мобильных приложений в hh.ru, и сегодня я расскажу о том, как писать автотесты под iOS. Быстрые регрессы, низкий time-to-merket, счастливые пользователи, у которых нет багов — для всего этого нам нужны автотесты....

Норм альтернатива Тбилиси и Ереванам Я тут подумал, куда бы поехал сам, если бы находился, как и многие, в России без зарубежных ВНЖ. И в итоге ответ не самый популярный: в моем личном топе стран на первом месте с большим отрывом —

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

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

Английский — это просто Меня зовут Денис, я являюсь Sysadmin/DevOps в небольшой шведской компании. Работаю удаленно 3 года. В Otus преподаю курс, связанный с мониторингом в Linux. Очень часто я слышу вопрос: «на работе на английском общаетесь? Как у тебя с языком?» Я думаю понятно, что не...

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

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

Авторизация для бедных или как сделать RBAC для REST API с помощью OPA Когда речь заходит про права доступа в приложении, то из этой ситуации появляется два результата:Либо в коде приложения появляются привязки к неким ролям/scope’ам;Либо разработчик обрастает бородой и начинает сыпать фразами вроде abaс, xacml и матрица доступа; Если вам ...

Применение Rust в разработке: страдания и высокий порог входа. Григорий Петров разбирается, когда этот язык необходим Rust набирает популярность среди разработчиков. Мы, организаторы RustCon, решили опубликовать серию статей о том, по каким причинам компании начинают использовать его для своих проектов. Первая статья в серии - интервью с Григорием Петровым, DevRel из Evrone. Применять ...

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

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

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

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

9 декабря — QIWI Server Party 7.0, онлайн Привет! В следующий четверг, 9 декабря, мы проведём наш седьмой QIWI Server Party.Обсудим оптимизацию приложений на MongoDB, поделимся опытом проведения интеграционного тестирования в условиях множества сторонних API. Кроме этого — рассмотрим проблему с распределенными транз...

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

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

[Перевод] Знакомство с трансформерами. Часть 1 Трансформеры (transformers) — это очень интересное семейство архитектур машинного обучения. Существует много хороших учебных материалов по этой теме (например — вот и вот), но в последние несколько лет трансформеры, в основном, становились всё проще. Поэтому с...

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

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

Техническая экспертиза: настраиваем CI на М1 с командой Welps Привет, Хабр! Мы начинаем серию статей, в которых наши партнеры рассказывают о разных нюансах сетевых технологий. Сегодня встречайте Виталия Волкова из компании Welps, где он работает тимлидом разработки. Компания создает wellness-приложения и постоянно оптимизирует проц...

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

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

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

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

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

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

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

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