Архитектура игры на Unity без Zenject. Часть 2 Всем привет!Меня зовут Игорь Гулькин, и я Unity разработчик. За свои 5 лет накопилось много опыта, поэтому в этой статье хотел бы поделиться принципами и подходами, с помощью которых можно реализовать архитектуру игры просто и гибко без фреймворка. Цель доклада, дать не прос...
Большой обзор Service Mesh: часть вторая Service Mesh — подход, который еще вчера был на вершине хайпа, а сегодня становится стандартной технологией для Backend. В этой части посмотрим, как теория накладывается на практику и на что обратить внимание, выбирая Service Mesh для своих задач.Меня зовут Максим Чудновский...
Визуализация весов в машинном обучении на примере алгоритма Random Forest и Decision Tree Привет, Хабр!Меня зовут Александр Серов, я Data Scientist и являюсь участником профессионального сообщества NTA. Сегодня загляну «под капот» алгоритмов, использующих в своей основе деревья решений. Один из самых мощных алгоритмов контролируемого машинного обучения...
Как я стал Solution Architect в Сбере: карьерный путь длиной в 12 лет Привет, Хабр! Меня зовут Кирилл Пашигорев, я работаю Solution Architect в SberData и сегодня хотел бы рассказать о своём карьерном пути, раскрывая нюансы профессионального развития. Для кого писал статью? Думаю, она будет интересна широкому кругу читателей — от тех, кто толь...
Как красиво писать формулы c LaTeX? Привет, Хабр!Меня зовут Шайдурова Арина, я Data Scientist и участник профессионального сообщества NTA. Сегодня я поделюсь с вами своим опытом использования LaTeX для написания математических формул. Всё просто и с примерами, идеально подойдет для новичков синтакси...
Библиотека алгоритмов на графах на языке Go. Часть 1 Приветствую тебя, дорогой читатель! Мне 21, я студент и младший Go-разработчик, а это - мой первый пост на Хабре. Недавно в компании с одногруппником мы решили взяться за амбициозный проект и я решил, что он, как никакой другой, подходит под первую статью. Проект заключается...
Импортозамещаем Evernote. Obsidian – менеджер заметок и лучший друг менеджеров Привет, Хабр! Меня зовут Николай Суворов. Я – профессиональный менеджер, руководитель направления Delivery Management в МТС Digital. Занимаюсь Enablement Platform – единой платформой для быстрого создания продуктов в экосистеме МТС. Сегодня я расскажу о своем pet-проекте и о...
Большой обзор Service Mesh: часть первая Service Mesh входит в перечень стандартных для бэкенда технологий, а недавно и вовсе был на вершине хайпа. Вы решаете идти в ногу со временем и добавить в свой кластер Kubernetes первый Service Mesh. От друзей слышите, что Istio требует много памяти, а прокси в Linkerd очень...
Упрощаем себе жизнь при разработке интерфейса взаимодействия приложения и БД Привет, %username%! Меня зовут Антон Жеронкин, я Data Scientist в Сбере, участник профессионального сообщества NTA. Сегодня поговорим о том, как можно сделать лучше жизнь разработчиков, которые часто сталкиваются с базами данных. Дело в том, что, когда разработчики вручную п...
Пишем продвинутый планировщик с использованием React, Nest и NX. Часть 3: работа с задачами Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В прошлой части мы разобрали, как создать аутентификацию с помощью библиотеки Passport, а сегодня мы рассмотрим такие манипуляции, как добавление, редактирование, удалени...
Кодогенерация Dart Доброго дня, в данной статье подробно рассмотрим как работает кодогенерация во Flutter. Главная цель, которая стояла перед мной при написании статьи - это разбор каждого этапа настройки кодогенерации, чтобы у разработчика, прочитавшего этого материал, сложилась полноценная к...
Магия размерностей и магия Котлина. Часть вторая: Продвинутые возможности KotUniL Это вторая статья из серии статей про магии размерностий и Котлина на примере библиотеки KotUniL.В первой статье мы рассмотрели, как с помощью этой библиотеки не разбивать космические аппараты :-). В этой статье мы рассмотрим менее очевидные, но не менее интересные фичи...
Ценный QA Automation – кто он на самом деле? Загадка от Жака Фреско Всем привет! Меня зовут Иван и я Head of QA Automation в Skyeng. Я регулярно занимаюсь обучением Manual QA и менторством начинающих QA Automation (далее – QAA) и часто слышу от падаванов вопрос: «А как же мне, собственно, стать QAA?»Вопрос многогранный. В статье хочу поделит...
Лучшие практики UX/UI в e-сommerce Меня зовут Станислав Хрусталёв, я автор сайта hardclient.com. Работаю в управлении клиентским опытом с 2009 года. Пишу на эту тему, собираю лучшие практики из мира Customer Experience и оцениваю сервисные модели компаний.Некоторое время назад я задался идеей: собрать базу лу...
Текст-майнинг с пандами, облаками и яблоками Привет, Хабр! Меня зовут Пётр Мананников я Data Scientist и являюсь участником профессионального сообщества NTA. Представьте ситуацию: вас назначили спикером на мероприятии, и вы даже знаете, о чем хотите рассказать аудитории. Но будет ли публикой воспринят ваш док...
Превратности диспетчеризации в Swift Всем привет, меня зовут Сергей, я работаю в компании Joy Dev в должности iOS TeamLead. Эта статья - моя “проба пера” на Хабре. В ней, вместе с обзором видов диспетчеризации в Swift, мы рассмотрим несколько примеров, когда реализация методов в extension может вести себя неожи...
Бенчмаркинг: пошаговая схема работы Лонгрид о том, как с помощью бенчмаркинга найти и использовать лучшие практики рынка.Бенчмаркинг можно применять как для проектов, которые находятся на стадии запуска или защиты перед руководством, так и для digital-продуктов, которые уже работают. В первом случае вы сможете...
Поиск в глубину, поиск в ширину, алгоритмы Дейкстры и А* — это один и тот же алгоритм В алгоритмических задачах на графах мы часто используем четыре известных алгоритма: Поиск в ширину или глубину, алгоритмы Дейкстры и А*. Разбираемся, почему на деле это один и тот же алгоритм. Читать далее
Редко используемые свойства CSS Всем привет, меня зовут Кирилл, я frontend разработчик компании Usetech. CSS постоянно развивается, и некоторые полезные свойства остаются незамеченными. Возможно о них говорят не так много, как о других, но в этой статье на примерах я разберу новые и полезные свойства CSS. ...
Как мы сделали ленту соцсети для инвесторов умной Привет! Меня зовут Илья Шамов, я работаю в AI-центре Тинькофф и занимаюсь рекомендательными системами. Сегодня я расскажу, зачем делать умную ленту в социальной сети для инвесторов, как работают рекомендательные системы и как выбор целевой переменной влияет на ранжирование. ...
Модель обнаружения смс-спама: создаем и тестируем Привет Хабр! В прошлой статье мы векторизировали данные, теперь нам осталось написать модель и протестировать еёМы построим модель для обнаружения спам-сообщений с использованием алгоритма случайного леса. Случайный лес — это очень мощный алгоритм, который очень широко испол...
Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 8. Методы и средства внешней разведки Приветствую тебя, дорогой читатель, в восьмой части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux». В одной из прошлых частей мы затронули первую фазу любой атаки, именуемую футпринтингом (footprinting) и разобрали несколько простых примеров сбора ин...
Программный рендер в стиле игры Doom Расскажу о небольшом домашнем проекте по написанию программного рендера. Всё началось со случайного видео на Youtube с записью геймплея игры Doom (93 года). Появилась идея сделать похожий рендер на С++ без использования библиотек. В статье описаны шаги его разработки. В конц...
Большая подборка ресурсов и сообществ для тестировщика Привет! Меня зовут Артем. Уже несколько лет я генерирую полезный контент в области функционального тестирования, а также являюсь создателем нескольких крупных сообществ, которые помогают начинающим тестировщикам.На данный момент существует большое количество площадок, групп ...
Как стать системным аналитиком, если ты гуманитарий Всем привет, меня зовут Таня, я системный аналитик в МТС Финтех. Работаю в команде Персонализации, которая отвечает за несколько виджетов на главном экране мобильного приложения МТС Банк.В этой статье я поделюсь опытом своего перехода на позицию системного аналитика из HR-сф...
6 простых принципов написания приложения на Vue, которое легко поддерживать (часть 1) Привет! Меня зовут Наташа Калачева. Я Frontend-разработчик в компании AGIMA. Vue — один из самых популярных фреймворков JS, его используют для разработки SPA и PWA. А его главные плюсы — это понятная, четкая документация, готовая структура и низкий порог входа.Тем не менее, ...
Как добавить Life Activity в существующий проект. Часть I Live Activity был показан Apple на презентации iOS 16 и нового iPhone с Dynamic Island. Обновление доступно только для тех, кто обновил iOS до 16.1. Меня зовут Азиз, я iOS-разработчик в inDrive. В статье расскажу, как мы добавляли Live Activity в наше iOS-приложение. По...
Postgresso 48 (11) PostgreSQL 16: Часть 3 или Коммитфест 2022-11Вышел очередной обзор Павла Лузанова. Самое интересное из первых коммитфестов можно прочитать в предыдущих статьях серии: 2022-07 (ru / en), 2022-09 (ru / en).Postgres-сообщество и образованиеЧто для вас PostgreSQL-комью...
Dry-rb — экосистема, которая упростит архитектуру вашего проекта Привет! Меня зовут Вероника Молчанова. Я - Ruby-разработчик в компании Joy Dev. В этой статье мы рассмотрим набор Ruby-библиотек dry-rb и расскажем, как они помогли упростить архитектуру проектов. В частности хотим показать, как на наших проектах используются такие гемы из d...
Как мотивировать команду: основные правила и принципы Привет, Хабр! Меня зовут Саша Шутай, я руководитель PHP направления в AGIMA. Первую команду мне доверили в 2019 году. За это время я успел набраться опыта и понять некоторые моменты. Один из них — важность мотивации. Руководитель не всегда задумывается, ради чего вообщ...
Делаем векторный логотип с использованием Midjourney В этой заметке хочу рассказать как можно использовать Midjourney и парочку дополнительных приложений для создания векторных логотипов. Читать далее
А давно ли вы измеряли радиацию у себя дома? Делаем дозиметр из Flipper У счастливых обладателей Флиппера, прекрасного тамагочи для больших мальчиков и девочек, часто возникает вопрос: что бы ещё к нему подключить? Сегодня расскажу про подключение модуля под названием RadSens для замера радиации. Сразу скажу, что если тема измерения радиаци...
Tenebris: 7 кругов ада инди-разработки Друзья, меня зовут Пётр, и в этой статье я попробую рассказать о нашем уже трехлетнем опыте в разработке инди-игры — Tenebris: Terra Incognita. Через какие сложности мы прошли и чего добились.Работа над игрой началась в мае 2019 года, про старт я написал ранее в ...
Конструктор базы для браузерной стратегии в духе Dune 2/2000 на Three.js, Vue3 + TS Самой успешной моей статьей для сообщества был подробный отчет о разработке браузерного FPS. Судя по статистике в базе данных — неожиданно огромное количество людей зашло и попробовало сыграть, я получал заинтересованные вопросы в личку и так далее. В дальнейшем я сделал еще...
Немного о безопасности Kubernetes Сегодняшняя статья будет посвящена обеспечению безопасности Kubernetes. Мы рассмотрим специфику защиты Kubernetes, и начнем мы с рассмотрения вопросов безопасности контейнеров. Читать далее
Как привлекать и удерживать пользователей на финтех-проектах Привет! Меня зовут Михаил Дырма, я отвечаю за развитие финтех-направления в AGIMA. На прошлой неделе мы провели митап для участников рынка финтех. Вместе с экспертами из Альфа-Банка, Тинькофф, МКБ и Московской биржи обсудили, как работать с пользователями финтех-продуктов. В...
Компонентный подход. Реализуем экраны с помощью библиотеки Decompose Это вторая часть из серии статей про компонентный подход. Если вы не читали первую часть Компонентный подход. Боремся со сложностью в Android-приложениях, то рекомендую начать с нее.Ранее мы обсудили, что компонентный подход — это способ организации приложения в виде иерархи...
ML-подходы по поиску похожих изображений Привет, Хабр!Меня зовут Паймеров Владимир, я Data Scientist и участник профессионального сообщества NTA.Компьютерное зрение (computer vision, CV) — активно развивающаяся научная область, связанная с анализом изображений и видео. В последнее время данному напра...
Боль ML-проектов: как перестать ее чувствовать и начать доходить до прода Привет! Меня зовут Илья Туксов, я проджект-менеджер проектов, связанных с машинным обучением и искусственным интеллектом. Работаю в команде персонализации и параллельно учусь сам разрабатывать модели. Сегодня я расскажу об устройстве ML-проектов с точки зрения менеджмента. М...
Reddit для программистов Эта статья посвящена одной популярной и активной площадке на просторах Интернета — Reddit. Кто не в курсе, Reddit — это платформа, где сосуществуют тысячи сообществ по интересам. Мы любим Reddit за честность, открытость и любознательность её пользователей. Если вы программис...
[Перевод] Стратегии роста Notion. Часть 2 Примечание Wunder Fund: мы very early adopters Ноушена и большие его фанаты. Поэтому решили перевести нетипичную для нас статью о том, как он создавался, как рос, как развивалась его стратегия. В статье есть ряд интересных мыслей про развитие продуктов.Сегодня публикуем втор...
Архитектура игры на Unity без Zenject. Часть 1 Всем привет!Меня зовут Игорь Гулькин, и я Unity разработчик. За свои 5 лет накопилось много опыта, поэтому в этой статье хотел бы поделиться принципами и подходами, с помощью которых можно реализовать архитектуру игры просто и гибко без фреймворка. Цель доклада, дать не прос...
Создание Kubernetes-кластера на пальцах или почему это не сложно Привет, меня зовут Руслан, я энтузиаст одного отдела искусственного интеллекта, занимаюсь автоматизацией процесса разработки и контролем за инфраструктурой внутри Kubernetes. Хочу детально рассмотреть развёртку Kubernetes-кластера, показать решения на возможные ошибки, ответ...
История 8-битного ПК Amstrad CPC464. Часть вторая Первая часть посвящена в большей степени создателю CPC Майклу Шугару, и лишь немного – самому компьютеру. Но для того, чтобы понять, почему именно таким получился третий по популярности ПК в Англии, ее стоит прочитать. В моем комментарии к первой публикации есть ссылки на бо...
Как ускорить бэкап и сэкономить место на сторадже: на примере ArenadataDB ddboost и СХД Dell EMC Data Domain Всем привет, меня зовут Андрей, я – системный архитектор Arenadata и в этой статье мы рассмотрим интеграцию решения логического резервного копирования и восстановления gpbackup/gprestore с программно-аппаратным комплексом Dell EMC Data Domain — задача, которой наша команда р...
Schema Registry с Protobuf в Kafka — зачем оно надо? Всем привет. Меня зовут Нина Пакшина, я разработчик “Лента Онлайн” и часть операционной команды в сервисе доставки продуктов.В данной статье на примере языка Go я расскажу о том, как мы внедряли Kafka в связке с Schema Registry и Protobuf в качестве формата сообщений.Я ...
Как создать эвристический алгоритм онлайн-мастеринга и получить предупреждение от RIAA Добрый день, меня зовут Сергей. В своей статье я бы хотел осветить тему аудио мастеринга, а именно: автоматизированного онлайн-мастеринга музыки.Я расскажу о своём пути от продюсера психоделического транса до мейнтейнера самой популярной open source библиотеки автоматизирова...
Патентный анализ аддитивных технологий (3D-печати) в России за последние 5 лет. Часть вторая В первой части мы подробно проанализировали патенты на изобретения, касающиеся 3D-печати. Теперь рассмотрим патенты на полезные модели, свидетельства на программы ЭВМ и базы данных, выданные в России. Читать далее
Собеседование у ChatGPT Привет! Меня зовут Роман, я системный администратор, сейчас изучаю инструменты devops. Прочитал несколько статей о chatGPT, поигрался с шутками и стихами, позадавал вопросы. И тут меня озарила мысль - а может ли он проверить на знания меня? Смогу ли я пройти собеседование у ...
[Перевод] Тестирование автоматизации Ansible с помощью Molecule Часть 2 Больше работайте с Molecule, чтобы убедиться, что ваша инфраструктура работает. Используйте компоновку, идемпотентность, несколько контейнеров и внутренние зависимости, чтобы при развертывании веб-сайта ваши роли Ansible вели себя должным образом. В первой части статьи мы р...
Weak Pass Detector – запрет на использование утекших паролей в контроллере домена Всем привет! Меня зовут Иван Нагорнов, я руководитель направления в Лаборатории кибербезопасности Сбербанка. В данной статье будет сделан обзор и предложение к использованию одной из наших разработок, которая направлена на минимизацию использования утекших паролей из открыты...
Ультимативный гайд по HTTP. Часть 1. Структура запроса и ответа Привет! Меня зовут Ивасюта Алексей, я техлид команды Bricks в Авито в кластере Architecture. Я решил написать цикл статей об истории и развитии HTTP, рассмотреть каждую из его версий и проблемы, которые они решали и решают сейчас. Весь современный веб построен на проток...
Запуск на Product Hunt: Как мы заработали первые доллары с ChatGPT Привет✌ Меня зовут Юра Ребрик, и в этой статье я расскажу вам о своем опыте создания пет‑проекта, который мы запустили на Product Hunt и заработали свои первые доллары онлайн. Читать далее
Переносим свою картину мира в чат-бота на базе GPT-3 Думаю, все уже наслышаны о потрясающих возможностях ChatGPT и GPT-3, многие уже вдоволь наигрались с ними, а новые стартапы на их основе льются на нас каждый проливным дождём! Возможности ChatGPT в решении некоторых текстовых задач потрясают, порой кажется, что имеешь дело с...
Критерий Манна-Уитни — самый главный враг A/B-тестов Всем привет! Меня зовут Дима Лунин, я аналитик в компании Авито. В этой статье я расскажу про критерий Манна-Уитни и проблемы при его использовании. Если вы анализировали A/B-тест, где вас интересовал прирост или падение какой-то метрики, то наверняка использовали критерий М...
Настало время раскрыть карты Всем здравствуйте, уважаемые Хабровчане! У меня достаточно давно закралась идея опубликовать свой первый пост, который будет полезен для сообщества, как-то поможет взглянуть на мир привычных вещей иначе, раскроет те технологии, на которые ранее никто не обращал внимания, или...
[Перевод] Эксплойтинг браузера Chrome, часть 2: знакомство с Ignition, Sparkplug и компиляцией JIT в TurboFan В моём предыдущем посте мы впервые погрузились в мир эксплойтинга браузеров, рассмотрев несколько сложных тем, которые были необходимы для освоения фундаментальных знаний. В основном мы изучили внутреннюю работу JavaScript и V8, разобравшись, что такое объекты map и shape, ...
Как выбрать для своего конвейера данных максимально эффективную архитектуру Привет! Меня зовут Михаил Благов, я руководитель департамента «Чаптер инженеров данных и разработчиков» в beeline tech. В этом посте я хочу поделиться способом, с помощью которого можно выбрать подходящую архитектуру для конвейера данных в зависимости от требований к нему. В...
Двери восприятия. Как расширить видимый спектр человеческого зрения В материале «На пазорях и матка дурит» я рассказывал о природе и спектре полярных сияний. Сама статья была навеяна впечатлениями от трилогии Филипа Пулмана «Тёмные начала», которую я прочитал в течение 2020-2021 года. При подготовке вышеупомянутой статьи меня особенно заинте...
Как сделать анимацию с помощью MotionLayout Привет, Хабр! Меня зовут Павел Беловол, я Android-разработчик на проекте онлайн-кинотеатра KION в МТС Digital. Это новая часть сериала о внедрении фичи Autoplay в KION, в которой я расскажу про свой личный опыт работы с MotionLayout на примере продакшн-задачи в KION. Из этой...
Как врач сделал себе ИИ помощника. Часть 2 Первая часть собрала хорошую "кассу" в виде рейтинга и кармы, но самое главное вызвала интерес аудитории. Последний факт стал решающим критерием для написания продолжения. Очень часто, 2-я часть хуже первой, но я все же решил рискнуть. Представлюсь снова, меня зовут Александ...
Yet Another Домашний Сервер. Железо (часть 1) Вот и я потихоньку пришёл к тому, чтобы сделать свой домашний сервер. Точнее, идея появилась ещё со школьных времён, но вот реализовать в каком-либо виде получилось только сейчас. И я бы хотел поделиться тем, что у меня получилось, с читателями Хабра, и ко всем написанным ст...
Тестирование блочных стораджей: нюансы и особенности практики Привет, Хабр! Меня зовут Сергей Качкин. Вместе с командой я занимаюсь тестированием производительности систем хранения данных: много тестов делаем сами, видим результаты наших коллег и заказчиков, так у нас накопилось некоторое количество опыта, которым хочется поделиться.&n...
Программирование EEPROM 93C76. Пишем программатор. Часть 1 Всем привет! Я - Kekovsky, инженер-любитель, до этого публиковался на некоторых других платформах. Решил попробовать себя здесь, если статья понравится, будет продолжение. В этой статье мы изучим работу с микросхемой EEPROM 93C76, рассмотрим обращение к ней по шине SPI, напи...
[Перевод] Управление заголовками HTTP в Joomla 4 (часть 1) Эта статья - первая часть перевода статьи Joomla’s New HTTP Headers Plugin For J4 из майского номера (2022) Joomla Community Magazine. Статья рассчитана на широкий круг читателей с разными уровнями компетенций, поэтому опытным вебмастерам и разработчикам имеет смысл пропусти...
Микросервисы на основе событий с Dapr Системы оркестрации контейнеров существенно упростили управление многокомпонентными системами, в том числе основанными на микросервисной архитектуре. Но остался открытым вопрос организации надежного обмена сообщениями между микросервисами, координации последовательности опер...
Алгоритм HyperLogLog, или Оцениваем мощность множества за O(1) Привет, Хабр! Меня зовут Максим, я учусь на третьем курсе МФТИ. Этим летом я участвовал в студенческой программе, которую проводила команда Tarantool. Если кратко, суть программы в том, чтобы самостоятельно или в команде решить исследовательскую задачу в определенный срок....
[Перевод] Взлом ШГУ Hyundai Tucson Вторая часть истории о том, как можно взломать официальную прошивку Hyundai Tucson 2020 года выпуска и напичкать её чем-нибудь не очень полезным. Начало можно прочитать тут. Читать далее
Парсинг ответов на BLE-команды на языке Swift на примере GoPro Привет, Хабр! Меня зовут Полина, работаю в Doubletapp iOS‑разработчиком и сегодня хочу рассказать о нашем опыте работы с API GoPro, а конкретно с парсингом ответов на команды BLE, которые описаны в этом API.Содержание:• Принцип работы с BLE-уст...
Движение по магистрали без аварий. Или как передавать 1,5 терабайта в сутки и ни одного не потерять? Привет, Хабр.Меня зовут Владимир Евсеев, я Senior Java developer, Teamlead в SSP SOFT. Наша команда приступила к масштабному проекту: системе, обеспечивающей транспортный уровень документооборота банка. Сегодня я расскажу, как мы справились с первым этапом: выстроили магистр...
Если бы Остер раздавал советы автоматизаторам. Часть 1 Привет, Хабр! Меня зовут Мария Снопок, я отвечаю за автоматизацию тестирования на Python в X5 Tech. Я, конечно, не Остер, но могу дать с десяток вредных советов из области автоматизации. В частности, о том, как испортить жизнь себе и окружающим. В статье я собрала вредн...
Что такое фаззинг и зачем он нужен? Всем привет! Меня зовут Кирилл, я старший разработчик в группе «Полигоны и ограничения доставки» в Ozon. Cегодня я расскажу про фаззинг, встроенный в Go: что это такое, зачем он нужен в разработке программного обеспечения и как с его помощью найти баг в дикой природе open-so...
Исследование нагрузки на ELK stack и тюнинг Logstash Всем привет! Меня зовут Александр, и в этой статье я расскажу про то, как столкнувшись с многократно увеличившейся нагрузкой на ELK stack сначала было диагностировано узкое место, а после произведён его тюнинг. Хоть и в заголовке статьи уже есть спойлер что произведен только...
[recovery mode] Тестирование gRPC. Часть 2 В предыдущей статье мы с вами рассмотрели тестирование фреймворка gRPC. Но демо проект созданный моим коллегой Михаилом Петровым, был улучшен моим в другим коллегой Читать далее
Пайплайн для создания классификации текстовой информации Привет, Хабр!Меня зовут Дарморезов Вадим, я Data Scientist и участник профессионального сообщества NTA. Актуальность работы с большими объемами текстовой информации ещё долгое время (а может быть и всегда) будет неоспорима. При этом спектр задач весьма вариативен – от задач ...
[Перевод] PostgreSQL: настройка и оптимизация производительности. Часть 1 Данная статья посвящена способам повышения производительности PostgreSQL и EDB Postgres Advanced Server (EPAS) с 10 по 13 версии. Мы начнём с аппаратного обеспечения и будем двигаться вверх по стеку, оставив напоследок SQL-запросы. Читать далее
Трекинг без разметки или как следить за тысячами пузырьков на производстве Привет, Хабр! Меня зовут Клоков Алексей, сегодня поговорим об алгоритмах компьютерного зрения, обработке видеопотока и подходах к трекингу без разметки (unsupervised tracking). Методичка будет полезна как опытным специалистам, перед которыми стоит подобная задача, так и нач...
Как получить полные 3Д данные маленького ключа? Здравствуйте, меня зовут Чэнь, работаю как технический специалист в компании Shining 3D.А может быть, вы более и менее услышали о Shining 3D, прежде всего позволить мне кратко рассказать о нас еще, мы занимаемся делом о высокоточной 3Д-оцифровке и 3д-печа...
Как построить MVP системы для удобной работы аналитика без Docker, Kubernetes и Airflow Всем привет! Меня зовут Максим Шептяков, и я занимаюсь продуктовой аналитикой уже больше четырёх лет. Так получилось, что я несколько раз приходил в компании или проекты, где (почти) совсем не было аналитики до меня, так что приходилось настраивать удобную работу с данными с...
Сколько нужно времени, чтобы переписать объявление? Привет! Меня зовут Илья Никитин, я по-прежнему фронтенд-разработчик в Авито, работаю в кластере BuyerX. В прошлом году я писал о том, как сложно было перевести кнопки контактов на странице объявления с Twig-шаблонизатора на React. Мы переживали, получится ли перезапуск и ста...
RTK query, что мы от него хотим и почему он вам очень нужен Redux Toolkit Query — это мощный инструмент для взаимодействия с API, который из коробки реализует такие полезные фишки, как отображение состояния загрузки, кэширование, дедупликацию запросов, полинг, ревалидацию при различных условиях, а также весьма удобна в использования ...
Синий свет — зеленый свет: релизим без даунтаймов Привет! Меня зовут Николай Тихонов, я работаю в команде Tinkoff eCommerce. Я начинал как фронтендер, а потом стал писать бэкенд и занялся CI/CD. А дальше — FullStack Ops и руководство процессами и собственной командой. Сегодня расскажу про FrontOps, blue-green и релизы без д...
Если бы Остер раздавал советы автоматизаторам. Часть 2 Всем привет! В статье продолжаю давать вредные советы из области автоматизации: по кодингу, коммуникациям, организации процессов, стандартам, визуализации и т. д. Здесь вы найдёте подробную инструкцию о том, что нужно делать автоматизатору, чтобы усложнить жизнь себе и ...
Измеряем команду с JIRA и Grafana: sprint reports, грейдирование и не только Всем привет! Меня зовут Дмитрий Шкилёв, я тимлид команды Teachers Platform. Мы занимаемся личным кабинетом преподавателя и внутренними ресурсами, которые необходимы для обеспечения работы преподавателей. Сегодня хотелось бы поговорить про такую не очень популярную истор...
Glider guns vs случайная конфигурация в игре «Жизнь» И снова к старой теме. В старой статье я сделал два предположения:ГипотезыПервая гипотеза касается окончания 'движухи' - в широком диапазоне изначальных плотностей p от 0.1 до 0.7, после окончания 'движухи' 'пепел' имеет одну и ту же плотность, около 0.27Так как ру...
Как получить действенные инсайты онбордя пользователей как Superhuman Всем привет✌ Меня зовут Юра Ребрик, и в этой статье я расскажу о своем опыте онбординга пользователей в формате Superhuman, и что я узнал про свой продукт.Лучшее, что вы можете сделать при запуске нового продукта — пускать в него людей по одному после личного интервью. Напри...
From zero to hero в билайне Меня зовут Павел Корчагин, сейчас я дата-аналитик в билайне. В этом посте я расскажу историю своего профессионального становления в формате небольшой ретроспективы с элементами RPG.Всё началось в 2016 году, я тогда находился в активном поиске работы. Это были полгода безуспе...
10 инструментов ИИ с бесплатным тестовым доступом, которые пригодятся в работе В этой статье собрано 10 инструментов на основе искусственного интеллекта, большинство из которых просты в использовании и бесплатны для тестирования.Всем привет! Меня зовут Маруся, я аналитик данных, веду блог в телеграме Аналитика и growth mind-set.Практически все инс...
Я учусь на тестировщика: hаppy end Здравствуйте, меня зовут Екатерина, два года назад я работала в школе и поняла, что больше не хочу заниматься преподавательской деятельностью и решила сменить профессию. Новой сферой профессиональной деятельности я выбрала тестирование. Мой путь по освоению новой профе...
История о том, как прочитать 120 тысяч анекдотов и не рассмеяться раньше времени Небольшой рассказ с картинками о проведении тематического моделирования для массива документов, на примере датасета анекдотов на русском языке. В работе применены библиотеки Gensim, Sklearn. Рассмотрены разные способы векторизации токенов bag of words, tf-idf. Получены резул...
MOSFET паразитный диод, или таки защитный? MOSFET (metal-oxide-semiconductor field-effect transistor) - транзистор по технологии металл-оксид-полупроводник с полевым эффектом. Данный тип транзисторов уверенно вошёл в обиход во всех областях применения, как наиболее эффективное решение многих задач. Вы наверняка в кур...
О факапах с любовью Привет!Меня зовут Александр Поплёвко, я руководитель продукта онлайн-платежей в Леруа Мерлен.В 2021 году меня постоянно терзала мысль: все вокруг только и говорят об «успешном успехе», а делиться болью и факапами — персональными или командными — как-то не очень принято. Хотя...
Что такое тексел? Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Сегодня хочется поговорить о текстурах. О том, что такое тексель и о других базовых понятиях компьютерной графики. Что такое тексел или тексель? Если вам интересна эта тема — добро пожаловать под кат! Чита...
В чём встречать Новый год: 12 ярких идей для женщин и мужчин Кожа, стразы, неон и цепи — соберите свой смелый образ для главного торжества.
LSI ключи и что использовать вместо них? Меня зовут Пётр Гришечкин, и я работаю SEO-специалистом в команде проекта “Своё Родное”. В основном я занимаюсь продвижением цифровых продуктов, представленных на платформе, и готов поделиться своими знаниями с читателями Хабра. Вокруг SEO ходит много мифов и легенд. На неко...
Какими гибкими навыками (soft skills) и почему должен обладать каждый QA Engineer в 2023 году Какими навыками должен обладать успешный в своем деле QA Engineer в 2023 году? Скорее всего, многие из вас в первую очередь подумают про навыки технического характера. Как будто только жесткие навыки (hard skills) являются гарантом стремительного профессионального и карьерно...
Технологии, изменившие музыку. Часть 1: запись Эта статья — первая из цикла, в котором мы рассмотрим технологии, изменившие музыкальный мир второй половины 20-го века. В первой части мы поговорим про запись музыки. Если разобраться, отсутствие этих технологий столетия назад — подлинная трагедия человечества. Ведь мы нико...
Алгоритм поиска «одинаковых» геометрий Привет! Меня зовут Мацкевич Евгений, я бекэнд-разработчик 3D-движка компании «Бимейстер». Хоть это и не очевидно на первый взгляд, но элементы загружаемых пользователями 3D-моделей зачастую повторяются, имея при этом различные положение в пространстве, масштабирование и вращ...
6 простых принципов написания приложения на Vue, которое легко поддерживать (часть 2) Привет! Я Наталья Калачева, Frontend-разработчик в AGIMA. Эта статья посвящена правилам, которые помогают упростить поддержку и расширение приложений на Vue. Тут я рассказываю, как организовать хранение компонентов, стилей и плагинов, когда использовать стор и полезные функц...
Особенность CI/CD-конвейеров для корпораций и новое решение от Сбера Какие инструменты первыми приходят вам на ум при упоминании CI/CD pipeline? Вероятнее всего, это Gitlab CI/CD, Jenkins CI, Azure DevOps. На самом деле инструментов десятки, но так было не всегда. Ещё недавно в крупных компаниях главенствовал Windows Server, Power Shell был л...
Работаем с PostgreSQL в Go. Опыт Авито Привет! Меня зовут Дима Вагин, я бэкенд-инженер в Авито. Сегодня расскажу, как мы работаем с БД PostgreSQL из Go. Покажу, какие библиотеки и пулеры соединений мы используем для доставки в код параметров подключения и как мы их настраиваем. А ещё расскажу про проблемы, к кото...
Дизайн. С нуля до миддла Привет!Меня зовут Ксюша, мне 29 лет и я продуктовый дизайнер в Константе.В этой статье я расскажу о том, с чего начался мой путь в дизайне и постараюсь дать несколько полезных советов тем, кто только начинает. Читать далее
Создаем свой собственный язык программирования с использованием LLVM. Часть 3: Генерация кода В предыдущих статьях мы рассмотрели и реализовали лексический и синтаксический анализаторы, а так же реализовали семантический анализ для нашего учебного языка, что дало нам основу. В данной статье мы продолжим начатое и реализуем генерацию кода для LLVM IR. Читать далее
Как 10 лет разрабатывать электронику по контракту и не загнуться Привет, меня зовут Иван Ларионов. В 2011 году мы вместе с братом основали компанию «Третий пин». Я хочу поделиться своей историей эволюции из инженера-фрилансера в руководителя компании, занимающейся контрактной разработкой электроники. Как и почему удалось не обанкротиться,...
Как мы сделали аудиозвонки в приложении для сотрудников Меня зовут Ильдар, я техлид в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. Сегодня расскажу о том, как мы внедрили функцию аудиозвонков в наш корпоративный мессенджер для сотрудников. Читать далее
И самые лучшие книги они в рюкзаках хранят… В этом топике продолжим тему решения криптографических загадок с MysteryTwister. Ранее уже были опубликованы статьи навеянные задачами с этого ресурса («Угнать SIGABA за 24 часа», часть 1, часть 2). На этот раз возьмём задачу, основанную на классической «задаче о рюкзаке». А...
Как Heflo поломал мою картину мира Привет, Хабр! Меня зовут Георгий Ржавин, работаю процессным архитектором в компании GlowByte, руковожу направлением Business Process Management. В этой статье хотел бы поделится моим видением мирового рынка ПО (в первую очередь доступного в России) по&nbs...
Kickstarter-дайджест: интересные стартапы за конец ноября Каждый день стартаперы со всего мира пытают счастье на Kickstarter, публикуя свои проекты. Каждую неделю лучшие вырываются в топы, а уже через несколько месяцев о них могут узнать даже за переделами Kickstarter. За такой большой площадкой сложно следить, но эта статья может ...
Семантическое версионирование и проблемы с зависимостями — коротко о lockfile Привет, меня зовут Анастасия Пласкевич, я фронтенд-разработчик. Недавно на проекте я разбиралась с зависимостями и углубилась в эту тему так, что собрала небольшой доклад о том, что такое Lockfile, как работает yarn.lock, как решать проблемы с зависимостями в проекте и делат...
Викторианская история больших данных В весьма впечатлившей меня книге «Информация. История. Теория. Поток» Джеймса Глика, о которой я уже упоминал ранее, страннейшим образом обойдён вопрос о том, как возник феномен «Big Data». В той же книге упоминается первый авторский словарь английского языка, составленный в...
Ростов-на-Дону: IT-компании, сообщества и мероприятия в 2022 году Статья про местное ИТ-сообщество в 2019 году была посвящена Ростову и городским сообществам. В 2020-ом мы писали про Таганрог. В прошлом году я решил написать о необычных форматах митапов в Ростове — ИТ-баре, ИТ-стендапе, йога-митапе, ИТ-ЧБД и традиционной конференции с басс...
Мессенджеры на работе — это не прокрастинация, или как мы сделали сервис для автотестирования. Часть 2 Это вторая часть статьи «Мессенджеры на работе — это не прокрастинация, или как мы сделали сервис для автотестирования». Как и обещали, в данной статье мы расскажем о том, как масштабировали наш сервис, как развивали функциональность автотестов и как в итоге вышли за ра...
Wrike Lock: как мы разработали механизм шифрования данных в продукте Привет! Меня зовут Даниил Гранкин, я разработчик внутреннего бэкенд-юнита в Wrike. В этой статье я поделюсь техническими подробностями разработки Wrike Lock — основного механизма шифрования данных в нашем продукте. А также расскажу, для чего мы используем Encryption as a Ser...
Техподдержка: как научиться жить без Jira Привет! Меня зовут Савр, я работаю инженером технической поддержки Arenadata. В прошлом году нам, как и многим другим компаниям, использовавшим зарубежное ПО, пришлось переходить на российские аналоги. В частности, с болью в сердце мы отказались от Jira Service Management (д...
Семь красных линий Простите меня. Если не готовы прощать, не читайте дальше этих строк, прокляните меня и эту статью — не читая. Так делают многие. Я замахнулся на святое — на «Семь красных линий» Алексея Березина. Читая про них, вы, наверное, сопереживали несчастному Петрову, которому «вынули...
Интеграция Primefaces в приложение на Spring Boot. Часть 2 — Готовим контекстное меню для главной страницы В этой статье описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть Читать далее
Выпускайте Кракена: опыт использования KrakenD Привет, Хабр! Меня зовут Владимир Калугин, я руковожу бэкенд-разработкой в МТС Travel. Сегодня расскажу про KrakenD, готовое решение, которое мы используем для реализации API-шлюза, важной штуки для продуктов с микросервисной архитектурой. Уверен, наш опыт может пригодиться ...
Свойства высокоразмерных пространств, которые применяются в машинном обучении В данной статье описываются уникальные свойства высокоразмерных пространств и алгоритмы машинного обучения, которые основываются на них, и не страдают от экспоненциального роста сложности. Использование высокоразмерных пространств влечет большие вычислительные затраты. Потом...
Open air с кейтерингом и спикерами: как организовать крупное IT-мероприятие Привет, Хабр. На связи ITGLOBAL. Меня зовут Любовь, и сегодня я хочу поделиться с вами тем, что знаю об организации достаточно крупных мероприятий: фестивалей, конференций, митапов и званых бизнес-ужинов.Если с последними двумя все более-менее понятно и какого-то специфическ...
Index.ts – зло и польза Привет всем! Меня зовут Михаил, я старший Frontend-разработчик в НЛМК, занимаюсь разработкой одной из внутренних информационных систем на React + Typescript.Расскажу про самый короткий и наименее трудоемкий способ экспорта и импорта модулей, что частенько требуется для постр...
Как я учил Алису отправлять почту Всем привет! Меня зовут Иван Чечиков, я QA-lead в МТС Digital, работаю над проектом стримингового сервиса WASD.TV. В этой статье я расскажу о своем пет-проекте по созданию навыка «Умный почтальон» для Алисы, ассистента Яндекса.Подробности – под катом. Читать далее
Как менять образ жизни в лучшую сторону и делать это успешно? Привет, Хабр! Меня зовут Илья. Я у вас тут новичок. Я фитнес тренер, действующий профессиональный спортсмен и автор статей на тему фитнеса, питания в контексте здоровья и рационального подхода к этому. Пост из песочницы, кмк, оказался востребованным и читаемым. Это дает посы...
Радиоуправляемая машинка на Arduino для преодоления мини-бездорожья Привет, меня зовут дядя Вова. Вероятно, вы уже читали мои статьи про тестирование. Но сегодня хочу рассказать вам о проекте, не связанном с работой — о радиоуправляемой машинке, которую я разрабатываю с нуля.Когда‑то в статью моих...
Тестирование умерло, да здравствует тестирование Привет, Хабр! Меня зовут Артём Ерошенко, я — сооснователь Qameta Software. Больше 14 лет занимаюсь тестированием и автоматизацией. Работал в Яндексе, когда учился в университете, и писал первые автотесты, сделал опенсорсный проект Allure-фреймворк, способствовал появлению Ян...
Как мы автоматизировали тестирование производительности для Warface Всем привет, меня зовут Алексей Лесовой, я работаю программистом в студии Allods Team. В этой статье я расскажу, как мы с командой искали способ автоматически измерить производительность в Warface, как вырабатывали сценарий и метрики, с какими трудностями столкнулись и к как...
PostgreSQL 16: Часть 4 или Коммитфест 2023-01 Продолжаем следить за новинками 16-й версии. В начале февраля завершился четвертый коммитфест. Что нового нас ждет впереди? Напомню, что самое интересное из первых трех коммитфестов можно прочитать в предыдущих статьях серии: 2022-07, 2022-09, 2022-11. Читать дальше →
PostgreSQL 16: Часть 3 или Коммитфест 2022-11 Продолжаем следить за новинками будущей 16-й версии. В начале декабря завершился третий коммитфест и вот его результаты. Самое интересное из первых коммитфестов можно прочитать в предыдущих статьях серии: 2022-07, 2022-09. Читать дальше →
[Перевод] Внутренняя оптимизация операций изменения для индексов Планы запросов на вставку, изменение и удаление состоят из двух частей. Первая часть называется курсор чтения, и она определят то множество строк, которое необходимо вставить, изменить или удалить. Вторая часть называется курсор записи, и в этой част...
2022. Год из жизни CTO в GameDev Доброго времени, Хабр!Сначала немного представлюсь. Меня зовут Сергей. В IT я уже более 13 лет из них в GameDev более восьми. Так вышло, что до написания статьи на хабр дошел только сейчас. И дошел только благодаря подписчикам моего небольшом канала по разработке игр в teleg...
Разбираемся в асинхронности: где полезно, а где — нет? Привет! Меня зовут Артём, я backend-разработчик в KTS. Я занимаюсь проектами, где повсеместно используется асинхронное программирование, и веду курсы по нему в нашей школе Metaclass.Сегодня я постараюсь объяснить, что такое асинхронное программирование, зачем оно нужно, каки...
Подводные камни компараторов в С++ При использовании компаратора в алгоритмах boost::sort и std::sort важно учитывать некоторые особенности работы этих алгоритмов, игнорирование которых может привести к неожиданным последствиям, в том числе к segmentation fault. Чаще всего при сортировке объектов пользоват...
Bag of tricks для разметки текстовых данных: Часть 1. Четыре способа размечать меньше Привет! Меня зовут Ирина Кротова, я NLP-исследователь из компании MTS AI. Мы не понаслышке знаем, что сбор и разметка данных часто становятся “бутылочным горлышком" в проектах, связанных с машинным обучением. У нас в компании есть постоянная необходимость в разных видах разм...
Полезные материалы по Data Science и машинному обучению, которые помогут пройти сквозь джунгли из терминов Привет, Хабр! Меня зовут Ефим, я MLOps-инженер в Selectel. В прошлом был автоматизатором, ML-инженером, дата-аналитиком и дата-инженером — и уже несколько лет падаю в пропасть машинного обучения и Data Science. Это буквально необъятная сфера, в которой почти нет ориентиров....
10 лет назад я продал свой стартап за $2.2M и погряз в депрессии Меня зовут Виктор Кох и это моя история одного из громких скандалов в технологическом секторе.Прежде всего, я рад опубликовать свою первую статью на HabrHabr. Одна из причин, по которой я не мог свою историю написать ранее, а именно 5 лет назад или даже 8 лет назад — договор...
Простые метрики по качеству: как их вести и зачем они нужны Всем привет! Меня зовут Алиса, я — ведущий тестировщик в компании Constanta, и сегодня расскажу вам о простых QA метриках, помогающих отслеживать качество продукта.Если мы вобьем в поисковой строке незамысловатое словосочетание “метрики QA”, то увидим, что почти все ссылки в...
Разбираем bluetooth протокол RGB лампы В данной статье рассмотрим опыт реверс-инжиниринга bluetooth протокола, при помощи которого android приложение управляет цветами и эффектами работы закатной лампы. В результате будет написан небольшой генератор шфированных AES'ом сообщений на C#. Читать далее
Как я занял 13 место из 3500+ участников и стал Kaggle Competition Master Привет Хабр! Меня зовут Олег Сидоршин, я стажер (с марта буду джуном) в Лаборатории машинного обучения Альфа-Банка. До перехода в коммерческую разработку для практики своих навыков я активно участвовал в Kaggle-соревнованиях. Этот пост — ретроспектива о крупном сор...
Конструктор в мире коммуникаций: обзор платформы МТС Exolve Привет, Хабр! Меня зовут Анастасия Иванова, я технический писатель МТС Exolve. В этой статье я расскажу о том, какие проблемы возникают у разработчиков и бизнеса с настройкой коммуникаций, каков нынче рынок Telecom API, для каких задач мы создали новую платформу и ...
TOTP-аутентификатор на самодельном компьютере Здравствуйте, господа программисты и не только. Снова наш веселый Отдел Перспективных Разработок выходит на связь с новой заметкой, посвященной очередной бесполезной, но, интересной для весьма узких кругов теме. Сегодня речь пойдет о реализации генератора TOTP, то есть, ал...
Как мы реализовали автоматизацию «как в Jira» в российском продукте Всем привет, меня зовут Алексей - я руководитель отдела интеграции EvaTeam. Это статья о том, как реализована настройка автоматизаций в EvaProject - российском аналоге Jira. В ней рассказывается о том, с чем пришлось столкнуться при переезде с Jira, и как мы реализ...
NestJS для разрастающейся разработки: зачем так сложно и почему всё-таки да Привет, Хабр. Меня зовут Денис Былинин, я архитектор в компании Сравни. Сегодня хочу рассказать, как мы пришли к использованию NestJS и какие сделали выводы после года работы с ним. Чтобы не уходить в абстракции, которые легко гуглятся, я сосредоточусь на том, как испол...
Как сделать билд минимального размера в Unity? Всех с Новым Годом! Меня зовут Григорий Дядиченко, и я технический продюсер. Размер билда. Сегодня хотелось бы поговорить о нём и составить некий чек-лист, который полезно проходить перед выкладкой проекта. Если вам интересно, как можно инструментами Unity уменьшить вес сбор...
Сколько нужно кросс-функциональных команд, чтобы открыть один склад В разработке всегда участвует много людей. Над одной фичей могут одновременно трудиться и веб-разработчики, и бэкендеры, и аналитики, и тестировщики и еще, и еще, и еще. А если все это разнообразие навыков реализовать в каждой отдельной команде? Здесь нам пригодится концепци...
Внеземные техносигнатуры: научные аспекты поиска Ещё в июне 2021 года я публиковал пост «Что варится в пекулярных звёздах» — о звёздах с необычным спектром, явно содержащих не только гелий, водород и следы элементов вплоть до железа и никеля, но и более тяжёлые элементы. Именно в тот пост заглянул уважаемый Андрей Курилов ...
Градиентный спуск простыми словами Машинное обучение произвело революцию в том, как мы обрабатываем и анализируем данные, затронув отрасли от финансов до здравоохранения. Благодаря своей способности выявлять закономерности, которые в противном случае остались бы незамеченными, он стал краеугольным камнем совр...
MedBench: NLP-задачи в медицине, модели и методы их решения Привет, Хабр! Меня зовут Даниил Погуляка. Я студент четвертого курса МГТУ им. Н.Э. Баумана, факультета "Информатика, искусственный интеллект и системы управления". Уже некоторое время я занимаюсь изучением методов машинного обучения, в частности, касающихся автоматической об...
Консистентность данных в конкурентной среде. Опыт Точки. Часть 1 Привет, я Михаил Ковалев, Python-разработчик в Точке. Именно в Точке я впервые столкнулся с микросервисами и конкурентной средой. Разумеется, у меня не получилось сразу усвоить все боевые нюансы работы в новых условиях. С тех пор я прошёл непростой путь.У меня возникла идея...
Инженерная культура в больших корпорациях: дайджест публикаций Хабра На этой неделе сразу две компании — Meta* и Amazon, — решили внести заметные изменения в свою работу. Meta сломала устоявшуюся структуру и предложила многим менеджерам среднего звена спуститься с командных высот на землю и поработать руками: писать код, заниматься исследован...
Как устроены интернет-платежи в Dodо Одно из направлений разработки в Dodo — интернет-платежи. Для компании это скорее утилити-функция, чем основной бизнес, но всё же нам приходится делать кучу всего, чтобы дать клиентам лучший UX и у нас накопился опыт, которым хочется поделиться.Меня зовут Дмитрий Кочнев, я р...
Как объединить устройства с разными протоколами передачи данных на одной IoT-платформе Привет! Меня зовут Иван Банников, я ведущий разработчик VK Tech. В одном из проектов я создавал и развивал IoT-платформу и хочу теперь поделиться своим опытом. Архитектура IoT-платформ в какой-то мере похожа на архитектуру любой другой распределенной системы. Однако техноло...
Доход ~40 000 руб. в месяц с Телеграм-канала. Делюсь опытом. Даю аккуратные советы… Привет! Меня зовут Максим Кульгин, я основатель xmldatafeed.com и clickfraud.ru. Мы занимаемся сбором данных и защитой от скликивания рекламы. Я веду Телеграм-канал про ИТ-бизнес. В нем пишу всё, с чем сталкиваемся в процессе работы, без приукрашивания. Сейчас...
Определение комбинации в Техасском Холдеме Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. А в прошлом я был профессиональным игроком в покер. Сейчас я решил сделать на Unity пример проекта с покером, который выложу в опенсорс, когда я его доделаю. А пока хочется посмотреть на интересную задачку...
Объяснение рекомендаций Рекомендательные системы уже давно неотъемлемая часть большинства современных веб-сервисов. Скорее всего, заходя на какой-либо развлекательный (и не только) сайт, вы не раз задавались вопросом, почему именно этот контент или этот товар предлагается вам. В Иви давно замети...
[Перевод] Телематическая система автомобиля Мы в команде Third Man по долгу службы изучаем довольно много англоязычных материалов. Часто интересными статьями хочется поделиться с коллегами и обсудить поподробнее. Но не всегда есть время всей командой читать 20+ страниц англоязычного текста, так что сокращённый и “подс...
Как скетчи помогают в работе и жизни: от коммуникации с заказчиком до иллюстративного дневника Привет! Меня зовут Катя Седова, я продуктовый дизайнер и иллюстратор в Тинькофф. Примерно 50% моей работы — создание картинок к клиентским письмам и дайджестам. Рассылки происходят постоянно, поэтому рисовать нужно много и быстро. За год работы у меня появилось понимани...
Перенос URLSessionTask в background URLSession при уходе приложения в фон Всем привет. Всем привет. Меня зовут Максим Батраков и я iOS-разработчик в 65apps. В этой статье я хочу рассказать о некоторых особенностях работы с URLSession, разобрать загрузку файлов в background URLSession и показать процесс переноса выполнения активных запросов в backg...
Как создать шаблон документации к микросервису Всем привет. Меня зовут Таня, я работаю системным аналитиком в МТС. В этой статье я расскажу о том, как писать документацию для разработки микросервисов. Моя команда развивает несколько виджетов на главном экране мобильного финтех-приложения. Когда мы «пилим» новую фичу...
Создаем свой собственный язык программирования с использованием LLVM. Часть 1: Лексический и синтаксический анализ Это первая статья из цикла о том, как создать свой собственный ООП язык программирования с использованием LLVM.В данной статье мы начнем с введения в серию и начнем реализацию с написания лексического и синтаксического анализаторов для подмножества языка, который будет полно...
[Перевод] Всё, что вам нужно — это внимание (часть 1) Источник Примечание переводчика: Недавно на Хабре мы рассказывали о статьях, которые нужно прочитать, если вы хотите заниматься искусственным интеллектом. Среди них была культовая статья Attention is all you need, выпущенная в 2017 году. С неё началось развитие больших язык...
Boson — разработка СУБД «с нуля» (часть II) В первой части статьи мы обсуждали разработку самого нижнего слоя СУБД Boson - CachedFileIO. Как упоминалось, статистика такого явления как Locality of Reference говорит о том, что в реальных приложениях ~95% запросов к данным локализованы в 10-15% базы данных. При этом сред...
Unity «уменьшение размера файла на устройстве» Часть 1 Когда игра подходит к релизу, ее объем занимаемой памяти сильно превышает желаемый. Если говорить с точки зрения пользователя, то они тоже не любят, когда приложение весит очень много. Это может отпугнуть как при первом скачивании, так и при очистке телефона, когда нужно буд...
Архитектура PostgreSQL. Часть 2. Подготовка бэкэнда В предыдущем посте мы остановились на моменте форка процесса для бэкэнда. Сегодня рассмотрим как происходит инициализация дочерних процессов после форка от Postmaster, некоторые системные вызовы Linux, goto, парсинг стартап пакета и многие хаки. Читать далее
[Перевод] Работа с SQL Server в C# с помощью скриптинга. Часть 2 В этой статье я покажу вам, как работать с Microsoft SQL Server в C# проектах посредством скриптинга. Реализовать это можно как в Windows, так и в macOS. Поскольку Windows, очевидно, является намного более популярной целевой платформой для C# и SQL Server, больше внимания я ...
Технологии, изменившие музыку. Часть 3: обработка Сегодня поговорим о самых, на наш взгляд, революционных технологиях обработки музыки (как аналоговых, так и цифровых), которые привели к появлению диск-жокеев и таких жанров, как хип-хоп, техно, электрохаус и многих других направлений. Между прочим, это третья статья из...
Сегментация деталей корпуса автомобиля: от разметки до сглаживания контуров Добрый день, Хабр! Меня зовут Арсений Рылов. Я работаю ведущим специалистом по анализу и обработке данных в компании “Финолаб” и сегодня снова речь пойдет об автомобилях, нейросетях и инновационных решениях.В нашем блоге мы уже рассказывали о сервисе дистанционной оценки тех...
Как я завалил первый тех. собес на позицию Junior QA Engineer Здравствуйте, меня зовут Артём, и я с ноября месяца изучаю тестирование. Спустя ровно два месяца я получил первое приглашение на техническое собеседование, позиция Junior QA Engineer, мобильная разработка, геймдев. Хотел бы поделиться этой историей с теми кому это может приг...
PostgreSQL под капотом. Часть 4. Цикл бэкэнда Приветствую!В прошлой статье была исследована входная точка бэкэнда до главного цикла. В этой статье закончим ее обзор исследованием главного цикла.Кроме нее будут рассмотрены:— Модуль для работы с транзакциями.— Исключения в С и их ре...
Tarantool: Билли Миллиган в мире СУБД Привет! Меня зовут Mons Anderson, я архитектор, разработчик, продакт-менеджер и евангелист Tarantool. В VK работаю уже больше 10 лет. Я постоянно нуждаюсь в базах данных, использую их и очень люблю. И в последнее время, когда я говорю про БД, я всё чаще говорю про Tarantool....
Как я создавал свой первый дашборд на Visiology 3 и почему второй буду делать немного позже Привет, Хабр! Меня зовут Салават Сафиуллин, и сегодня я хочу поделиться с вами своим первым опытом создания дашборда на Visiology 3. Это новая версия платформы, которой мы пользуемся уже несколько лет, но она кардинально отличается как архитектурой, так и принципами работы. ...
История про Growth hacking на практике Всем привет! Меня зовут Андрей Никишин, я бэкенд-разработчик hh.ru в команде “Карьерные сервисы”. Существует распространенное мнение, что hh — это просто сайт с вакансиями и резюме, но это совсем не так. У нас есть множество сервисов: от досуга и развлечений до построе...
Как мы «уволили» старые процессы планирования и «наняли» новые: опыт разработки собственного инструмента Привет, Хабр! Меня зовут Анзор Кардан, я руководитель продукта Teamplanner в Х5 Tech. В статье я поделюсь собственным опытом выбора инструмента планирования проектов, через какие стадии мы прошли и с какими сложностями столкнулись (спойлер: в итоге мы разработали свой собств...
19,6 млн рублей за 2022 год. Парсинг сайтов. 25 советов желающим заняться Меня зовут Максим Кульгин, моя компания xmldatafeed занимается парсингом сайтов в России порядка четырёх лет. По итогам прошедшего 2022 года поделюсь советами для тех, кто думает о подобном бизнесе. Бизнес очень интересный, но наполнен нюансами, которые и расскажу ...
Как получить грант 4 млн. рублей от ФСИ на запуск вашего ИТ стартапа? Наш опыт с детальным разбором заявки Меня зовут Максим Кульгин, и моя компания clickfraud занимается защитой от скликивания контекстной рекламы в «Яндекс.Директ». В августе 2022 года мы получили грант от фонда ФСИ, и я хочу поделиться опытом с детальным разбором нашей заявки в фонд. Так, кажется, еще ...
Интервью с генеральным продюсером студии-разработчика мобильных игр Black Caviar Games Александром Демидовым Я продолжаю серию интервью с российскими разработчиками игр. Так, недавно я от имени информационной службы Хабра общался с разработчиками из инди-студии Baba Yaga Games, которые выпускают свои игры на ПК и консолях. После беседы с ними возникла идея пообщаться с отечественны...
Генерация 2D мира с помощью клеточного автомата на Python Всем привет! На написание этой статьи меня вдохновил автор YouTube канала PeaAshMeter. В своем видео автор показывает простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? На эти...
Как мы сделали и оптимизировали механизм правил для персонализации UI Всем привет! Меня зовут Александр, я занимаюсь backend-разработкой в KTS. В одной из прошлых статей мы рассказали про архитектуру фронтенд-приложения для проекта личного кабинета сотрудников Пятёрочки. В этой статье расскажу, как мы решали проблему персонализации интерф...
Хакнуть k8s: разбор пэйлоадов и способов защиты Привет, меня зовут Лев Хакимов, я — DevOps-инженер. Одно время работал над проектом Госуслуг, а сейчас в брокерской платформе в Сбере. Уже больше двух лет играю в CTF команде ONO, которая даже как-то вошла в ТОП-10 по России, а ещё я — один из организаторов VrnCTF, Воронежск...
Как мы запускали сервис по продаже подписок на Spotify, Netflix, PlayStation Меня зовут Рома Васильев, я дата-инженер. В марте 2022 года мы с коллегой создали стартап — сервис-посредник, через который в России можно купить подписки на Netflix, Spotify, PlayStation, Steam и другие площадки, которые ушли с рынка. В этой статье расскажу, как это вс...
Приёмы эффективного общения Здравствуйте, меня зовут Павел Кондратьев, и я руководитель проектов. Начинал работу в небольшой компании, создавая кросс-платформенные и нативные мобильные приложения на Kotlin/Swift и веб-сервисы на Yii2, пока не перешел в ГК Юзтех, где веду самые разные проекты на .N...
Elasticsearch: схема полей для фасетного поиска, фильтра в интернет-магазине Доброго времени суток! Я самоучка, никогда не получал образования в сфере IT, не работал программистом и не проходил каких-либо специализированных курсов в этой сфере. Акцентирую внимание на этом в самом начале для того, чтобы было понимание, что данная статья не&n...
Как интегрировать Яндекс Карты в приложение на Flutter Hey! Меня зовут Дмитрий Лёвочкин, я Futter разработчик в Friflex и автор блога Дневник Flutter разработчика. Мы в Friflex занимаемся разработкой мобильных приложений, и одна из наших ключевых отраслей – ритейл. Сложно представить мобильное приложение крупного ритейлера без к...
Как я создавал свой первый дашборд на Visiology 3 и почему второй буду делать немного позже Привет, Хабр! Меня зовут Салават Сафиуллин, и сегодня я хочу поделиться с вами своим первым опытом создания дашборда на Visiology 3. Это новая версия платформы, которой мы пользуемся уже несколько лет, но она кардинально отличается как архитектурой, так и принципами работы. ...
Цвет сезона – слива. Что мы сделали с GreenPlum в 2022-м и что планируем в 2023-м Привет, Хабр! Меня зовут Марк Лебедев, работаю архитектором в GlowByte. В июне 2022 года на митапе DataPeople мы с командой рассказывали о наших планах в части GreenPlum (запись выступления). Если коротко, тогда мы сфокусировались на развитии open-source и собирались выложит...
Элементы функционального программирования в R "На небе только и разговоров, что о функциональном программировании."Всем привет. Меня зовут Дмитрий Володин, я Analytics Engineer в TrafficStars. Сегодня я хочу рассказать вам о приёмах ФП в R. Исходить я постараюсь из более-менее реальных задач, а не учебных, чтобы показат...
Как подключить платежный шлюз на примере Сбера Привет, меня зовут Евгений Думчев, я разработчик в DD Planet. Сегодня хочу поделиться опытом подключения платежного шлюза Сбера, чем мы занимались в рамках одного из проектов. Кажется, это будет полезная история, ведь в нынешние непростые времена многие из нас задумываются о...
Магия размерностей и магия Котлина. Часть третья: Смешение магий Это третья, заключительная статья серии, посвящённой библиотеке по манипулировали физическими величинами системы СИ, а также другими величинами, в Котлин. В ней мы рассмотрим, как фундаментальные математические структуры, которые природа “заложила” в систему СИ, предопределя...
Основы мониторинга (обзор Prometheus и Grafana) Мониторинг сегодня – фактически обязательная «часть программы» для компаний любых размеров. В данной статье мы попробуем разобраться в многообразии программного обеспечения для мониторинга и рассмотрим подробнее одно из популярных решений – систему на основе Prometheus...
UI Art. Как попадать в стиль при отрисовке декоративных элементов игрового интерфейса Всем привет! Я Михаил Кравченко, дизайнер игровых интерфейсов. В этой статье рассмотрим процесс попадания в референс на примере декоративного элемента из Hearthstone и приёмы, которые упрощают жизнь UI художника. Ниже лежит картинка с результатом, который у меня п...
Что под капотом «ответов на вопросы» Маруси? Привет, это команда ответов на вопросы Маруси.Этот материал состоит из двух частей. Это вторая часть (первая часть). В ней мы чуть глубже копнём технический аспект того, как устроены ответы на вопросы Маруси.В первой части мы поверхностно рассмотрели механизм, позволяющий на...
Создаем свой собственный язык программирования с использованием LLVM. Часть 2: Семантический анализ В предыдущей статье мы закончили на том, что мы написали лексический и синтаксический анализаторы для нашего учебного языка. В данной статье мы продолжим начатое и рассмотрим следующую стадию анализа исходного кода программы — семантический анализ. Читать далее
Как написать автотесты деплоя и сэкономить нервы DevOps-инженеров Привет! Меня зовут Артём Комаренко, я работаю на позиции QA Lead в команде PaaS в СберМаркете. Хочу поделиться историей, как мы придумывали способ быстро убедиться, что очередные изменения в скриптах деплоя не разломают процесс выкатки во всей компании. Статья будет полезна ...
Курс по изучению Kotlin и Android Studio с нуля до Junior. #1 Введение. Установка Android Studio Всем привет, меня зовут Антон и сегодня я начинаю новый курс по созданию мобильных приложений для операционной системы Android с помощью среды разработки Android Studio и языка программирования Kotlin.На сегодняшний день Kotlin является предпочтительным языком программирован...
[Перевод] Стратегии роста Notion. Часть 1 Примечание Wunder Fund: мы very early adopters Ноушена и большие его фанаты. Поэтому решили перевести нетипичную для нас статью о том, как он создавался, как рос, как развивалась его стратегия. В статье есть ряд интересных мыслей про развитие продуктов.Что можно узнать о стр...
Не можете измерить — не сможете улучшить: как мы используем метрики в разработке автотестов Привет! Меня зовут Александр, я работаю QAA менеджером в компании Wrike, начинал с позиции QAA инженера в далеком 2010-ом и был первым в этой роли. За 12 лет нам удалось построить крутую команду и создать систему контроля качества, которая позволяет быстро и без багов деплои...
Базовое проектирование и разработка требований к интеграции систем (для начинающих аналитиков) Данная статья посвящена в первую очередь начинающим ИТ аналитикам, которые хотят верхнеуровнево разобраться, как необходимо описывать интеграции между системами и как процесс выглядит в целом. Просьба учесть, что часть терминов написана своими словами и намерено упрощена для...
Комьюнити дизайнеров в продукте Всем привет!Меня зовут Макс Брызгалов. Я лид команды UX в такси Максим. Автор базы полезных материалов и куратор комьюнити “Дизайн Ресурсы”.В начале 2022 возобновил карьерные консультации для дизайнеров и запустил активности в комьюнити. Смотры портфолио, дискуссионные клубы...
Как выбрать библиотеку стайлинга и заменить несколько дизайн-систем на одну. Часть 1 Привет! Меня зовут Вадим Казаченко, я лид фронта дизайн-системы ВТБ. Год назад устроился в банк и получил командную задачу — построить единую библиотеку компонентов, настолько универсальную, чтобы ее можно было использовать в любом продукте дизайн-системы банка, и при этом о...
CSR, SSG, SSR — про рендеринг приложений на примерах Всем привет, меня зовут Хаджимурад, занимаюсь фронтенд разработкой уже 3,5 года и за это время успел поработать на многих проектах: интернет магазин, панели администрирования, проекты для университета. Сейчас работаю на проекте в банке и сегодня хочу поделится с вами своим о...
[Перевод] Под капотом у компилятора Go: добавление нового оператора в Go — часть 1 Это первая статья из серии из двух частей, в которой мы в форме туториала изучаем компилятор Go. Компилятор большой, и для его корректного описания потребовалась бы целая книга, поэтому идея этих постов заключается в том, чтобы вместо этого обеспечить быстрое погружение в те...
Как заработать на Bug Bounty Меня зовут Алексей Гришин, я руководитель направления Bug Bounty VK. За 9 лет участия в программе по поиску уязвимостей на различных платформах мы накопили огромный опыт получения, проверки и оплаты самых разношерстных отчетов, поэтому в этой статье я хочу поделиться советам...
Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очер...
Сказ о том как pet-project превратился в небольшой пассивный доход (часть 2) Первая ЧастьПредыдущая часть закончилась неудачной балансировкой, которая не решает практически никаких проблем. В комментариях кто-то спросил, почему я не использовал балансировку на уровне DNS. Так вот, я ее использовал. Оказалось, что c помощью DNS записей можно организов...
Название имеет значение: как получить оптимизацию, переименовав браузер Всем привет! Меня зовут Максим Смирнов, я руковожу командой, которая работает над производительностью Яндекс Браузера и отвечает за его графическую подсистему. В этой статье я расскажу об одном неочевидном улучшении, которое наша команда внедрила в Браузер для Windows. Если ...
Как определить размер выборки для бутстрэпа старым дедовским способом Всем привет! Меня зовут Рома Смирнов. Я работаю продуктовым аналитиком в Lamoda. Как и во многих других продуктовых компаниях, решения о том, раскатывать ли новую фичу, принимаются в Lamoda на основе данных, в частности на основе результатов A/B-тестирования.Бутстрэп — один ...
Как избежать проблем при запуске MVP Всем привет! Меня зовут Алексей Половинкин, и я отвечаю за Python в AGIMA. За последние 2 года мне повезло запускать сразу 2 крупных MVP-проекта: классифайд автомобилей для Казахстана и проект в сфере телемедицины. За это время у меня и моей команды накопилось много опыта по...
[Перевод] Первая информация о JDK 21: что принесет следующий LTS релиз? Поскольку мы все с нетерпением ждем скорого выпуска JDK 20, список функций, которые появятся в JDK 21 этой осенью, также постепенно проясняется.Сегодня мы рассмотрим тему того, что принесет следующий LTS релиз JDK 21. Читать далее
Миша на севере Привет всем, меня зовут Миша и я сеньор разработчик EvaTeam. Сейчас я езжу на работу в теплый офис на общественном транспорте. Но было время, когда на работу меня довозил самолет :)В 2015 году я отправился на архипелаг Новосибирские острова, что находится в Северном Лед...
STM32 Часть 1. Как поморгать светодиодиком Приветствую! Данная статья открывает цикл статей о программировании микроконтроллеров STM32 для новичков.Сегодня я расскажу как написать моргание светодиодом двумя способами с использованием инструментов, труднодоступных в 2023 году. Читать далее
KMM глазами iOS-разработчика Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.Мы в мобильной команде для шаринга кода на несколько платформ используем KMM. На Хабре можно встретить достаточное количество статей по этой технологии, но большинство из них рассматривает выбор к...
Рецепт красивого бабаха. Три составляющих хорошего силового преобразователя. Часть 2 У вас есть симпатичная плата силового преобразователя? Тогда мы идём к вам! Давайте взорвём его! На картинке источник питания и «всё что осталось после нашей с ним работы». Приветствую. Это вторая часть статьи о трёх составляющих преобразователя. Сегодня доберёмся до некото...
Вышел новый трейлер Amnesia: The Bunker В сети появился новый трейлер Amnesia: The Bunker. Небольшой ролик посвятили взлому дверей. Поскольку главный герой будет не раз оказываться в тупике, в этом деле будет необходимо проявить креативность. Читать полную статью
Эвристики Нильсена – личный опыт, ошибки и находки Привет. Меня зовут Сергей Кардашев. Прошедшие три года я работал менеджером по продуктам и инструментам управления данными в Tele2. До этого много лет был продакт-дизайнером и UI/UX дизайнером. В этой статье я не просто пересказываю принципы построения интерфейсов, а делюсь ...
Как мы повысили честность Авито Аукциона с помощью базовой визуализации Привет! Меня зовут Алёна Салий, я аналитик в Авито Аукционе. Сегодня я расскажу, как базовые инструменты визуализации помогли обнаружить пробел в нашей системе продажи авто и найти, как его закрыть.Речь пойдёт о том, как мы нашли проблему, какое решение придумали, как измени...
Пошаговая инструкция: как с Node.js организовать иконки из Figma в проекте Эта статья подробно описывает создание небольшого скрипта на Node.js для выгрузки векторных иконок из Figma в проект, а также универсального компонента для разных видов иконок, который удобно использовать в своём приложении. Скрипт может пригодиться командам, которые ещё не...
[Перевод] Графы в Python: введение и знакомство с лучшими библиотеками Граф – это математическая структура данных, представляющая собой множество связанных элементов. Поскольку графы, по своей сути, являются очень гибкими и позволяют сохранять информацию в знакомой и удобной для восприятия форме, они всегда активно использовались в компьютерно...
[Перевод] Ansible: 30 самых важных модулей для DevOps-профессионалов (часть 2) В прошлой части мы обсудили модули Ansible и прочитали о некоторых важных модулях. Таких, как модуль проверки подключения хоста и целевого узла (модуль ping), модуль, способный извлекать информацию из целевого узла (модуль setup), модуль управления существующим пакетом и уст...
Беспилотные автомобили, китайцы и платный доступ: какое будущее ждет нейросети Термин «искусственный интеллект» постепенно перебрался из фантастики в маркетинг, а сейчас все больше входит в лексикон технических специалистов. Сегодня считается, что будущий полноценный ИИ невозможен без машинного обучения. И за последний год мы приблизились к нему благод...
Теория вероятностей в машинном обучении. Часть 1: модель регрессии В данной статье мы подробно рассмотрим вероятностную постановку задачи машинного обучения: что такое распределение данных, дискриминативная модель, i.i.d.-гипотеза и метод максимизации правдоподобия, что такое регрессия Пуассона и регрессия с оценкой уверенности, и как норма...
Эффектно и эффективно. 6 инструментов для анимации в React Native Всем привет! Меня зовут Евгений Прокопьев, я мобильный разработчик в СберМаркете. Более пяти лет я работаю с React Native и моя любовь — это красивые анимации. В этой статье я хочу рассказать, с помощью каких инструментов можно добиваться качественных анимаций на React ...
Как Яндекс научился распознавать, что написано в рукописных архивах Привет, Хабр. Меня зовут Саша, в прошлый раз я рассказывал сообществу про поиск организаций в Яндексе. В этот раз мы вновь поговорим про поиск, но уже совершенно другого рода. Сегодня расскажем про «Поиск по архивам». Этот проект вырос из моего личного интереса к истокам сем...
Что такое состояние Привет! Меня зовут Артём Арутюнян, много где меня можно встретить под ником artalar. 10 лет я разрабатываю крупные веб-сервисы, и вот уже четыре года менеджер состояния, исследуя тему реактивности, консистентности данных и состояния. А началось всё с простого вопроса: поче...
Пишем обобщённую хеш-таблицу с открытой адресацией на чистом C В программировании достаточно распространена задача хранения данных в ассоциативных контейнерах. В этом случае мы ставим в соответствие некоторым ключам некоторые значения. При этом мы бы хотели иметь возможность более-менее быстро запрашивать значение по ключу.К решению это...
[recovery mode] Как доработка UX помогла сократить время прохождения сценария заказа еды на 70%. Часть 3 Всем привет, мы дизайнеры студии Focus. Во второй части статьи мы рассказывали, как проводили тестирование и готовились к нему. А также, как провели небольшое исследование конкурентов. В заключительной части мы покажем обновленный дизайн приложения по доработанному сценарию....
Подготовка инженеров АСУТП в ВУЗе. Часть 1 — Прошлое Это первая из трех частей, описывающих развитие процесса обучения инженеров АСУТП. Целью всех трех статей является попытка осмыслить подготовку инженеров АСУТП в ВУЗе (какая была, и какая есть сейчас), и обсудить с сообществом хабра, какой она должна быть в будущем. Каким об...
SOAR в Kubernetes малой кровью Как идеально не строй цикл разработки и поиска уязвимостей, все равно будут существовать кейсы, которые приводят к security-инцидентам. Поэтому давайте соединим два ингредиента: control loop (reconciliation loop) и полную декларативную возможность Kubernetes и посмотрим, как...
SRE: паттерны Reliability Это первая часть топика, где мы поговорим о Reliability в рамках практик SRE.Давайте рассмотрим некоторые из сложных методов, которые SRE может принять и внедрить при разработке системы, способствующей повышению надежности. Некоторые из этих методов решают компромиссы п...
Эксперимент с красивой нарезкой оргструктуры Меня зовут Тимур Исхаков, я технический директор в Ak Bars Digital. Мы отвечаем за развитие ИТ Ак Барс Банка. В 2016 году, когда наша компания стартовала, мы сразу «пошли» в цифровизацию и аджайл. Начали со Scrum, которым уже тогда никого было не удивить: кросс-функцион...
Подготовка инженеров АСУТП в ВУЗе. Часть 3 — Будущее Это третья часть (часть 1, часть 2) из описывающих развитие процесса обучения инженеров АСУТП. Целью всех трех статей является попытка осмыслить подготовку инженеров АСУТП в ВУЗе (какая была, и какая есть сейчас), и обсудить с сообществом хабра, какой она должна быть в будущ...
Крах Silicon Valley Bank: как и почему лопнул главный банк техно-стартаперов Кремниевой долины В пятницу на финансовых рынках произошел громкий «хлопок»: внезапно лопнул 16-й по размеру банк США – а само банкротство стало вторым по размеру в истории среди американских коммерческих банков. В этой статье мы разбираемся, что произошло, и как это может на всех нас повлият...
Процесс запуска и проведения АВ-тестов Приветствую, уважаемые читатели Хабра. Меня зовут Николай Французов, я digital-аналитик в компании Tele2, занимаюсь сбором и анализом данных, построением дашбордов и проведением А/В-тестов.Я хотел бы рассказать вам о том, как мы проводим тесты в нашем проекте, и поделиться о...
Кастомный генератор кода API: структура и методы доработки Всем привет! Меня зовут Юлия Сладковская, я разработчик в МТС Digital, команда BOPS (Backoffice Portal). Эта статья – про структуру генераторов NSwag для кода клиента и сервера на основе схемы API. Также я расскажу о создании кастомного генератора на базе стандартных генерат...
Как рождается, живет и умирает машинное обучение внутри компании? Всем привет! Меня зовут Родион, я занимаюсь улучшением бизнес-процессов компаний с помощью данных. Сегодня хочу поделиться опытом внедрения машинного обучения: как компании работают с бизнес-метриками и данными, где в иерархии потребностей компании находится ML и как до...
[Перевод] Темная сторона исследований пользователей: как когнитивные искажения портят результаты ИнтроВ статье разбираются когнитивные искажения в разрезе влияния на исследователя, она будет полезна как исследователям (особенно джунам и мидлам), так и заказчикам исследований, чтобы понимать какие опасности подстерегают нас всех в увлекательном путешествии под названием ...
Вышел PHP 8.2: разбираем главные изменения Вместе с PHP-разработчиками Александром Макаровым (@SamDark), Валентином Удальцовым (@vudaltsov) и наставником Хекслета по PHP Владленом Гилязетдиновым (@funkylen) разбираемся, какие новые фичи появились в PHP 8.2, насколько эти изменения глобальны и какую роль в них сы...
Микросервисная реализация объектно-ориентированных баз данных В настоящее время объектно-ориентированные базы данных (ООБД) не имеют достаточно большого распространения в повседневном использовании, да и более того, не настолько популярны как реляционные базы данных, которые не один десяток лет уже активно поддерживаются различными соо...
[Перевод] Перевод первой части учебника Patterns.dev Привет! Меня зовут Айнур, и я frontend-разработчик SimbirSoft. Более 6 лет я работаю над коммерческими проектами, создаю и улучшаю интерфейсы, поэтому в работе достаточно часто использую паттерны проектирования. Неоднократно я обращался за идеями и лайфхаками к книге Pattern...
Обновление Hibernate через боль Меня зовут Андрей Аркаев. Я занимаюсь разработкой на Java с 2002 года. Сейчас развиваю бизнес-систему для контактных центров в Naumen. Как и многие другие бизнес-системы мы используем ORM. В статье поговорим о Hibernate, так как эта библиотека распространена для Java.Наш про...
Сравнение JMeter и k6 на практике Привет! Меня зовут Максим Колесников. Я работаю в центре компетенций нагрузочного тестирования блока обеспечения и контроля качества выпуска изменений в «РСХБ-Интех» — IT-компании АО «Россельхозбанк». И как-то раз у меня возникла мысль: «А не выкинуть ли нам JMeter и перепис...
Создание «Google Sheets» через Websockets на Node.js ВведениеВсем привет! Меня зовут Герман Панов и в этой статье мы разработаем табличный редактор - аналог Google Sheets (в упрощенном виде), работающий на основе вебсокетов, чтобы познакомиться со способами применения этой технологии в браузерах. Поскольку цель - ознакомл...
Методы расширения в C# В этой статье мы рассмотрим такой механизм, как методы расширения, который позволяет добавлять методы в уже созданные типы. Читать далее
С чем едят конечный автомат Машина Тьюринга и машина состояний, детерминированный и недетерминированный конечный автомат, конечный автомат Мура и конечный автомат Мили. Голова кругом от всех этих понятий. Как во всем этом разобраться новичку? Тем более, что и у бывалых спецов бывает такая каша в голо...
Языки программирования как зеркало IT-столпотворения. Часть II В предыдущей статье мы подробно рассказали о первых попытках человечества запатентовать языки программирования и о первых созданных ЭВМ. В этой речь пойдет о современности. Читать далее
7 килограммов портативности, или ноутбук Amstrad ALT-386SX из 1988 года. Часть 2 — разбираем убердевайс Привет, Хабр! В первой части статьи о ноутбуке из 1988 года, который весит 7 кг я знакомил вас с его историей. Напомню, что девайс не включается. Делает попытки включиться, мигает светодиодами, включая Caps Lock, Scroll Lock и т.п., шумит иногда кулером, но сразу выключает...
Интеллект-карты. Или как вырастить дерево требований из потока сознания заказчика Начнем с конца. Вы презентуете готовую фичу. Рассказываете, сколько часов работал РМ, какую глубокую работу провел аналитик, и как всех восхитил разработчик. Но заказчик смотрит непонимающе и говорит, что вообще он представлял это несколько иначе. И вот эти опции ему совсем/...
YTsaurus: основная система для хранения и обработки данных Яндекса теперь open source Привет! Меня зовут Максим Бабенко, я руковожу отделом технологий распределённых вычислений в Яндексе. Сегодня мы выложили в опенсорс платформу YTsaurus — одну из основных инфраструктурных BigData-систем, разработанных в Яндексе.YTsaurus — результат почти десятилетнего труда,...
Как я ставлю задачу для сотрудника Я много раз ставил задачу для программиста, а он её выполнял неправильно или вообще не выполнял. Я думал всё дело в некомпетентности исполнителя, а оказалось всё сложнее.Меня зовут Андрей Глушко. Я менеджер ИТ проектов, занимаюсь менторством, прошёл путь от разработчика до р...
От проекта до производства: как мы сделали один из лучших пультов управления на рынке Всем привет! Меня зовут Евгений Торчинский, практически всю свою жизнь я работаю с технологиями. Сейчас я руковожу компанией Movix Lab — мы уже много лет занимаемся железом, софтом и работаем с искусственным интеллектом. В частности, мы делаем смарт-приставками и делаем...
Поднимаем медиа-сервер и хостинг с помощью Docker Приветствую Хабр в моей первой статье. Было много предпосылок для создания этого проекта: локальное хранилище для музыки и фильмов, которые достойны большего чем "сохраненка" в чужом облаке, независимость в данных и платформа для профессионального развития. Мой интерес заклю...
Как вместе идти к общим целям: Agile-практики и продуктовая трансформация 3.0 С каждым днем всё больше российских компаний открывают для себя пользу масштабируемых Agile‑практик. Причем это уже не просто локальный Scrum в отдельных командах, а переход на более высокий уровень взаимодействия команд и продуктов.Меня зовут А...
Готовый ваншот «7 испытаний Гилберта» для Foundry VTT Всем привет. Меня зовут Леся и я Гейм Мастер D&D. В силу обстоятельств моей команде героев пришлось променять стол с картами и миньками на интернет пространство. Хочу рассказать вам о нашем первом ваншоте в Foundry и поделиться всеми своими материалами в виде игрового ми...
Пишем собственный WYSIWYG редактор на основе веб-компонентов и textarea. Часть 1 Всем привет, последние пару месяцев я активно изучаю тему веб-компонентов, собираю и нарабатываю опыт, а затем делюсь своими наработками с другими с целью обменяться опытом, получит новый опыт, фидбек и понять куда двигается разработка в вебе и шагать дальше за новым опытом....
Компонентный подход. Боремся со сложностью в Android-приложениях Представьте, что вы начали разработку нового Android-приложения. Поначалу особых проблем не будет. Вы реализовали лишь самые базовые функции. Экранов немного, и все они простые. Вам легко ориентироваться в коде. Вы бодро добавляете одну фичу за другой. Но со временем разрабо...
Как написать первый автотест на Android-приложение Всем привет! Меня зовут Стас, и я Senior QA в компании inDrive и наставник на курсе «Инженер по тестированию» в Яндекс Практикуме. Ещё веду телеграм-канал «Тестировщики нужны».Многие начинающие автоматизаторы задаются вопросом: «Как же написать свой первый автотест на мобиль...
Бардак в main, стандартизация и uber.fx. Как сделать структуру кода понятнее для всех Привет, Хабр! Меня зовут Данила Проценко. Я — Lead Software Architect в «Лаборатории Касперского», занимаюсь архитектурой микросервисов и монолитов на Go. Строгий порядок — залог успешного промышленного программирования. А порядок, в свою очередь, начинается со стандартиза...
Смотрю в книгу — вижу «фигу». Техника «абсорбирования» учебников SQ3R вместо пассивного чтения Школа и ВУЗ приучают читать учебники от корки до корки, помещая ученика в своего рода линейный таймлайн — вот начало книги, вот конец. А между ними середина. Двигайся вперед, листай страницы дальше. То, что прочитано — уже выучено. А хочешь повторить — загляни в заметки.В об...
Нужны ли тимлиды? Осенью я был на митапе, посвящённом scrum'у. И услышал там интересный тезис: в слаженной скрам-команде роль тимлида/техлида минимальна, потому что все участники команды в той или иной степени являются носителями знаний и прекрасно самоорганизовываются благодаря скраму. Читат...
Кто такие Security Champions? Всем привет! Меня зовут Артём Пузанков, я DevSecOps-инженер в департаменте защиты приложений VK. Хочу рассказать о том, зачем команде разработчиков нужны Security Champions и чем они отличаются от AppSec-аналитиков. Читать далее
Увлекательная криптография. Часть 1 Как и многие специалисты по ИБ, я очень люблю разминать мозг различными головоломками. Идеальным для меня является формат CTF, позволяющий проверить свои знания и толику нестандартного мышления на различных типах задач.Сегодня я хочу рассказать о первой из трёх задач из ...
6 причин почему пользователи Windows не хотят переходить на macOS Некоторые из этих причин основаны на устаревших мифах, не выдерживающих критики в 2022 году и 2023 на носу. В этой статье мы рассмотрим распространенные мифы пользователей о macOS и причины, по которым им все же следует перекроить свою твердую позицию. Читать полную стат...
Аномалии под нагрузкой в PostgreSQL: о чём стоит помнить и с чем надо бороться В этой статье мы разберём несколько аномальных случаев высокой нагрузки в СУБД PostgreSQL. Что это такое? Обычно PostgreSQL хорошо показывает себя под нагрузкой и оправдывает ожидания в отношении производительности — она остаётся высокой. Но при определённых профилях нагрузк...
Эволюция синхронного обучения на Хекслете: как понять, какой подход к обучению разработке вам больше подходит Формат обучения — один из факторов, на который можно ориентироваться при выборе образовательных курсов. Одна компания предлагает просто купить программу, где никто не контролирует ваш прогресс. Вторая — ставит жесткие дедлайны, делает строгий контроль успеваемости и отчисляе...
Реверс-инжиниринг китайского ПЛК FX3U-14MR. Часть 2. Софт В первой части мы познакомились с аппаратным обеспечением китайского клона ПЛК FX3U-14MR (одного из его вариантов). В это части мы научимся подключаться к его MCU по доступным коммуникационным интерфейсам, останавливать, запускать программу, заливать прошивку. И в конце расс...
Рубли в цифрах: законопроект о цифровом рубле рассмотрят в первом чтении В Госдуме готовы рассмотреть в первом чтении законопроект о цифровом рубле и законодательно закрепить статус новой национальной валюты, основанной на эмиссионном, а не на суррогатном принципе.
[recovery mode] Как процессинг криптовалют помог решить проблему приема платежей из-за границы Всем привет. В связи с введением всевозможных ограничений в финансовой сфере для пользователей из РФ многие предприниматели, в том числе и я, столкнулись с проблемой приема международных платежей на сайтах своих проектов. Большинство из работающих ранее способов стали не акт...
«Извините, но вам придется закодировать Щелкунчика» Так и не попав на всем известный балет в декабре, мы решили организовать своего Щелкунчика. Речь не о балете, а о первом в мире IT‑контесте по переводу сказки на Python, Go, C#, JavaScript и Java, задача которого звучала так: «Извините, но вам ...
4 простых способа оптимизировать объём индексов в Elasticsearch Всем привет! Меня зовут Данила, я выполняю роль SR-инженера в Usetech. В этой статье я бы хотел рассказать о 4-х способах, которые помогут сократить объём ваших индексов в Elasticsearch.Прежде всего статья будет полезна начинающим специалистам по администрированию ELK с...
Лучшие open-source инструменты для Python проектов Open-source проекты, сторонние инструменты и библиотеки - это то, за что мы действительно любим Python. В этой статье я собрал самые полезные, валидированные сообществом и проверенные временем инструменты, конфигурации которых можно встретить в популярных проектах с открытым...
Разворачиваем Kubernetes-кластер на bare metal под управлением Deckhouse и создаем в нем виртуальные машины В новом релизе Kubernetes-платформы Deckhouse v1.43 появилась система виртуализации, основанная на современных технологиях: KubeVirt, Cilium, LINSTOR. Она позволяет в удобном и привычном для пользователя платформы режиме запускать виртуальные машины и управлять их жизненным ...
Сравнение экономики в Eve Online и в реальности Мы, студенты Казанского техникума информационных технологий и связи Канев Даниил и Будник Илья под кураторством преподавателя экономики Маннаповой Диляры Фирнандовны приняли решение рассмотреть экономическую часть игры Eve Online и сравнить её с настоящей экономикой.EVE Onli...
Повышаем живучесть Raft в реальных условиях Популярность алгоритма Raft в последние годы растёт. У него достаточно ясное описание, а реализации появляются во всё большем количестве проектов. На бумаге, будь то математика или рекламные статьи, выглядит хорошо. Но на практике не все обещания Raft можно реализовать без д...
Методы обеспечения безопасности контейнеров Docker Сегодня Docker является одним из самых популярных инструментов в области контейнеризации. В основе Docker заложена концепция использования контейнеров. С технической точки зрения контейнер — это процесс, наподобие тех, которые запускаются в операционных системах. Как и любой...
Масштабирование SSR-приложений Привет! Меня зовут Олег Драпеза, я работаю техлидом в Тинькофф в команде Coretech Frontend. Мой основной проект — SSR мета-фреймворк tramvai, на котором работают несколько десятков фронтовых приложений Тинькофф.Сегодня хочется поговорить про масштабирование SSR-приложений. С...
Интересное из мира Unity #4 (17.02.23 — 23.02.23) Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Как работает Behavior Tree, Asperite получил поддержку Unity, ракеты из аниме, и многое другое в нашем пятничном дайджесте. Плюс бонусная рубрика. Вы интересуетесь Unity? Заходите под кат! Читать далее
Умный дом на минималках В последнее время я всё чаще задумывался на тему реализации простых сценариев умного дома. Хотелось сделать просто, без голосового управления, минимальными вложениями для начала. Мои мечты почти разбились о суровую реальность протоколов взаимодействия умных устройств. И, о ч...
Как Контур меняет стандарты обучения разработчиков и работает с ними В Екатеринбурге есть Уральский Федеральный Университет (УрФУ), а в нем направление фундаментальной информатики и информационных технологий (ФИИТ), на котором готовят разработчиков. С 2019 года Контур совместно с IT-сообществом региона меняет, развивает и поддерживает это нап...
Как не попасть в яму с помощью нейронных сетей: технологии приходят на помощь коммунальщикам Привет, Хабр! Меня зовут Андрей Соловьёв, я DS в Сбере. Вероятно, практически каждый читатель этой статьи сталкивался с проблемными дорогами, если вы автомобилист, или тротуарами, если вы пешеход. Плохие дороги — одна из актуальнейших проблем любой страны. Сегодня поговорим ...
Как выиграть ВСОШ по информатике и поступить в ВУЗ мечты? Привет, меня зовут Сергей Вольнов и я сейчас учусь на первом курсе в НИУ ВШЭ на программе прикладной математики и информатики. Если поступать туда по ЕГЭ, то проходной в этом году был 304 балла по трем предметам, но выиграв олимпиады туда можно без вступительных испытаний.В ...
SimpleX – первый мессенджер без идентификаторов пользователей Сегодня рассказываем про анонимный мессенджер SimpleX, который написан на Haskell и позволяет, в том числе, использовать сеть Tor для общения. SimpleX – не только один из немногих мессенджеров, который не собирает данные пользователей, но и единственный на сегод...
Метод CARP для работы с негативом Всем привет!Меня зовут Юля. В течение 3-х лет я проработала агентом саппорта и комьюнити-менеджером на нескольких проектах. За это время я столкнулась со множеством негативных сообщений, отзывов и комментариев от пользователей.В процессе обучения на своей первой работе я узн...
[Перевод] 8 бесплатных инструментов искусственного интеллекта, которые пригодятся Всем привет! Меня зовут Маруся, я аналитик данных, веду блог в телеграме Аналитика и growth mind-set.В этой статье собрано 8 бесплатных инструментов на основе искусственного интеллекта, большинство из которых просты в использовании и самое главное бесплатны для тестиров...
[Перевод] Что самое трудное в разработке программного обеспечения? Фил Карлтон как-то сказал: «В информатике есть только два сложных вопроса: инвалидация кэша и присвоение имен».Первое — это вполне реальная проблема; второе — проблема определения реальности.Неверный алгоритм кэширования ставит под угрозу целостность системы. Неадекватные им...
Организация рабочего места в современных условиях Добрый день, коллеги. Меня зовут Сарафанов Павел. С 2003 года я работаю в качестве BackEnd разработчика в крупнейших банках Росси таких как: Сбербанк, Дойче банк, ВТБ, Газпромбанк. Читать далее
Suggestion: Чего не хватает в принципах тестирования Привет! Меня зовут Андрей Небольсин, я Старший Тестировщик на проекте Сбер МегаМаркет. Мой опыт в QA-сфере относительно небольшой, тем не менее я думаю, что у меня есть, чем поделиться :-) Читать далее
Дополняем реальность в мобильных приложениях через ARCore Технологии дополненной реальности (Augmented Reality, AR) развиваются с первых экспериментов с шлемами в 1968 году и прогнозируются как один из быстрорастущих сегментов развития интерфейсов (особенно при появлении специализированных устройств, таких как Hololens, Xiaomi Smar...
Управляем пользователями и топиками Apache Kafka с помощью оператора Kubernetes Всем привет! Меня зовут Иван Гулаков, я техлид DevOps-команды, отвечающей за инфраструктуру, где работают облачные сервисы #CloudMTS. Сегодня я расскажу, как с помощью самописного оператора Kubernetes мы автоматизировали управление пользователями и топиками наших Kafka-кла...
Как новичку разработать опенсорс-библиотеку: опыт фронтенд-разработчика При разработке собственной опенсорс-библиотеки у многих возникает огромное количество вопросов. Для меня этот опыт также был в новинку — чтобы выпустить свою небольшую библиотеку, я перерыл половину GitHub в поиске наглядного гайда по подготовке репозитория. Поэтому хочу под...
Apache NiFi. Запуск Pipeline тогда, когда надо Добрый день. Меня зовут Иван, я дата‑инженер, основной профиль — доставка данных от источников до целевых систем DWH. Чаще всего работаю с Apache NIFI. В данной статье я расскажу о вариантах старта PipeLine обработки данных в требуемое врем...
Таблица решений для тестирования алгоритмов В предыдущих моих статьях были описаны варианты применения техники тест-дизайна «Таблица решений» для тестирования фильтрации и сложных веб-форм. В этой статье я хочу показать, как эту технику можно применять для тестирования алгоритмов, в том числе и алгоритмов с приоритето...
Зачем вообще защищать данные при передаче? Привет, Хабр! Меня зовут Федор и я занимаюсь киберкриминалистикой. Не только на работе (в RTM Group), но и на досуге. Мне нравится исследовать, почему и как кого-то взломали, а еще думать, как сделать так, чтобы этого не происходило. В связи с COVIDом и п...
Телеграмма Брежневу 31 декабря 2022 немецкая почта закрывает сервис по приёму и доставке телеграмм в связи с его низкой востребованностью. Несомненно, вскоре за Германией сделают тоже самое и другие страны. Коммуникационная технология с интереснейшей историей окончательно сходит со сцены. Это с...
Как настроить Gitlab CI/CD для Android и Firebase App Distribution для доставки сборок Привет, меня зовут Антон Рябых, я технический директор компании Doubletapp, и я расскажу, как реализовать сборку Android-приложений на Gitlab CI/CD с последующей загрузкой в Firebase App Distribution для удобной доставки.Это позволит нам:• автоматически собирать сборки на к...
Мой путь в профессию: из аналитиков в Go-разработчики Привет! Меня зовут Герман, я backend-разработчик в команде Managed Service for Redis в компании #CloudMTS. В этой статье расскажу про свой приход в разработку на Go и поделюсь полезными ресурсами, которые мне помогли на этом пути. Читать дальше →
[Перевод] Инструменты управления тестированием В статье рассмотрим 7 инструментов, которые помогают управлять процессом тестирования, их ключевые особенности и ситуации применения. Читать далее
Создание GUI-приложения в MATLAB. Часть 2 В предыдущей статье мной были рассмотрены возможности среды GUIDE входящей в MATLAB, ее инструментарий сильно устарел как по функциональности так и по дизайну. Такого инструментария недостаточно для реализации более-менее крупных проектов, которые подразумевают бол...
«Психологи и психолухи» или как понять, что пора валить с приёма? На этой неделе я планировал опубликовать статью из разряда «как найти себе психолога», но, почитав данный ресурс, понял, что эта тема уже разбиралась и не раз. А прочитав комментарии, понял, что есть запрос на соседнюю тему — а ка...
Взлетаем с управляемым кластером Kafka в #CloudMTS. Несколько советов для старта Привет, Хабр! Меня зовут Дмитрий Быстриков, я Technical Product Owner в команде Managed Service for Apache Kafka в #CloudMTS. Сегодня я расскажу, что умеет наша Kafka и чему научится в ближайшее время. Для тех, кто дочитает до конца, я приготовил несколько советов от наши...
[Перевод] Всё про USB-C: грехи производителей Работая с USB-C, люди то и дело сталкиваются с различными проблемами. Я поспрашивала пользователей на Twitter и Mastodon об их отрицательном опыте работы с USB-C и получила широкий отклик. Помимо этого, в различных сообществах вроде r/UsbCHardware собрано немало информации ...
Как будем обогревать умную дачу? За окном январь и холодно. Но весна уже скоро, и в голову приходят мысли о том, что хочется сделать на даче. В первое дачное межсезонье я был озабочен покупкой необходимых устройств – инструментов, насосной станции и косилки. Во второе озаботился нормальным забором (у нас то...
Конвертация MIDI-времени в такты и доли Представьте: вы создаёте новый шедевр в любимой DAW, вставляете в проект MIDI-файл, редактор показывает, что ноты в нём имеют восьмую длительность. Не обращая на это внимания, вы продолжаете творить. Но, постойте. А как DAW, собственно, понимает, что ноты в файле восьмые?В с...
Мой опыт разработки программы для игры в шашки с помощью алгоритма минимакс В Интернете можно откопать сотни и тысячи статей о разработке алгоритмов и ИИ для игры в шахматы. Однако шашки почему-то не привлекают такого интереса.Мне захотелось написать программу, которая будет играть в шашки на относительно высоком уровне. Для этого я использовал алго...
Сроки доставки заказов: как в Авито сделали прогноз более точным Привет! Меня зовут Андрей Васильченко, я аналитик в команде Авито Доставки. Несколько лет назад мы запустили это направление, чтобы дать возможность покупателям и продавцам из разных регионов отправлять товар друг другу. Мы доставляем товары в пункты выдачи, постаматы и курь...
Теория вероятностей в машинном обучении. Часть 2: модель классификации В предыдущей части мы рассматривали вероятностную постановку задачи машинного обучения, статистические модели, модель регрессии как частный случай и ее обучение методом максимизации правдоподобия.В данной части рассмотрим метод максимизации правдоподобия в классификации: в ч...
Пишем FastAPI с нуля на python FastAPI — это современная, быстрая (высокопроизводительная) веб-инфраструктура для создания API-интерфейсов с Python 3.7+ на основе стандартных подсказок типов Python. В этой статье мы рассмотрим как написать его с нуля. Читать далее
Декоратор cached_property В этой статье хочется рассмотреть декоратор cached_property. Почему он есть и в стандартной библиотеке и в Django. Чем они отличаются и когда какой лучше использовать Читать далее
Как мы собрали отдел тестирования Привет, Хабр! Меня зовут Ксения, я управляю направлением тестирования в компании ISPsystem. За время работы я столкнулась с задачей найма людей себе в команду. Этот процесс оказался значительно сложнее, чем я думала. Недаром про него написано так много лайфхаков с примерами ...
[Перевод] Возможности JavaScript и TypeScript последних лет. Часть 2 Hello, world! Представляю вашему вниманию перевод второй части этой замечательной статьи, посвященной возможностям JS и TS последних трех лет, которые вы могли пропустить. В первой части мы говорили о возможностях JS, во второй поговорим о возможностях TS. Это вторая часть...
[Перевод] Военное вычислительное мышление. Тактический искуственный интеллект. Часть II В своём последнием посте в блоге я описал, как программы TIGER, а потом и MATE, класифицировали сражения (в терминах информатики - "объекты") на основе атрибутов, конкретнне - атрибута закреплённых и не закреплённых флангов, а после распознания их наличия или отсутвия, мы у...
Одна платформа, чтобы править всеми Привет! Меня зовут Миша, я работаю в Ozon Tech — руковожу направлением базовых сервисов в платформе. Ozon сегодня — это порядка 4000 разработчиков и более 3500 сервисов. Разработка постоянно развивается, количество сервисов увеличивается, и одна из сложных задач — ...
Установка OpenCV под Windows В данной статье будет описан способ сборки OpenCV из исходников с помощью cmake и Microsoft Visual Studio, и пример запуска своего проекта на cmake. Большая часть статьи является повторением официальной документации. Читать далее
Пентест. Думаем как злоумышленник. Часть 3: Эскалация привилегий и социнженерия В предыдущих статьях (Часть 1, Часть 2) мы поговорили о том, как может действовать Внешний нарушитель (пентестер за пределами организации) и Гость (пентестер имеет только доступ в сеть) при проведении пентеста. Также начали рассматривать действия Внутреннего нарушителя...
Tutorial по стандартному и нестандартному обмену сайта с 1С. Часть первая: стандартный обмен и его хитрости В жизни наши желания часто расходятся с нашими возможностями. Приходится искать компромисс. Так происходит и при интеграции интернет-магазинов с 1С. Хочется реалтайма, интеграции с программой лояльности, полного отсутствия коллизий и омниканальности (простите).Мы решили...
[Перевод] Введение в архитектуру Greenplum В этой статье поговорим о Greenplum — СУБД, основанной на PostgreSQL. Разберём её общую архитектуру, способы хранения данных, а также перечислим проблемы, с которыми можно столкнуться в ходе эксплуатации. Читать далее
Все еще работаете с access token на клиенте? Тогда мы идем к вам Организация работы с токенами в клиентской части веб-приложений - тема, которая на слуху давно и многократно обсуждалась, однако далеко не для всех современных веб-приложений все еще оцениваются риски в этой части, что приводит к уязвимым реализациям.В статье рассмотрим прич...
Пишем умный поиск по коду с Open AI В этой статье мы кратко рассмотрим технологию, которая лежит в основе ChatGPT — эмбеддинги, и напишем простой интеллектуальный поиск по кодовой базе проекта. Читать далее
Повторная передача сообщений в Spring Kafka В статье рассмотрена тема обработки ошибок в Spring Kafka, а так же основные параметры и настройки, которые необходимо учесть при настройке конфигурации. Читать далее
[Личный опыт] Лондон: Взаимодействие с банками в 2023 году Всем привет, сегодняшняя статья будет посвящена финансовой части жизни за границей, а точнее моему личному опыту открытия банковских счетов в Великобритании. Читать далее
Как делают погоду в «Яндексе» Сегодня, 23 марта, в России свой профессиональный праздник отмечают метеорологи и все, кто так или иначе причастен к работе гидрометеорологической службы. В честь этого Информационная служба Хабра пообщалась с руководителем сервиса «Яндекс Погода» Александром Ганьшиным. Мы у...
[Перевод] Новый чип расширяет возможности ИИ Энергоэффективный чип под названием NeuRRAM исправляет старую проблему нехватки вычислительных ресурсов, позволяя запускать крупномасштабные алгоритмы искусственного интеллекта на небольших устройствах, достигая той же точности, что и расточительные цифровые компьютеры. ...
Интеграция с платежными системами, PCI DSS на примере Stripe и Flutter Привет! Меня зовут Никита Улько, я fullstack-разработчик в Friflex . Мы разрабатываем мобильные приложения и нагруженные проекты для крупного бизнеса, и почти никогда в проектах не обходится без внедрения платежных систем. В этой статье разберем интеграцию платежной системы ...
Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку Меня зовут Фёдор Игнаткевич, я делаю приложение Яндекс и мобильный Яндекс Браузер для Android. Примерно год назад я предложил команде идею фреймворка для внедрения зависимостей, который более чем вдвое ускорил сборку обоих проектов и который мы сегодня выложили на Гитхаб —...
Server-driven UI, «Триплекс» и JSON: как Сбер сервисы в мобильные приложения выводит Привет, Хабр! Меня зовут Иван Некипелов, я работаю в Сбере в подразделении «Цифровой Корпоративный Банк» и занимаюсь развитием мобильных приложений СберБизнеса. В статье расскажу о том, что стало для нас особенно актуальным при выводе сервисов в мобильные приложения в услови...
Честно об уровнях знания языка/владения языком (Субъективное мнение о системе языкового образования и её связи с IT) Добрый день! Недавно я прочитал статью об английских артиклях на данной платформе, и она вдохновила меня на публикацию своих мыслей о системе современного языкового образования.Немного обо мне. Я занимаюсь преподаванием английского уже 7 лет, последние три года я сотрудничаю...
Как я взломал HR и увеличил конверсию в собеседования Меня зовут Артур. Уже более 4 лет я занимаюсь менеджментом различных IT проектов (от создания лендинга до big data проектов). Хочу поделиться своим кейсом, как я убедил HR читать большую презентацию из 15+ слайдов о моих достижениях. Эта статья больше поможет менед...
Искусство кройки и шитья или возможность заменить игры в портативной игровой консоли SUP Всем привет, меня зовут Александр. Увлекаюсь программированием и разработкой электроники в свободное время. Мне бы хотелось поведать Вам, товарищи, историю одного программатора. Читать далее
Как фронтендеры приручили микросервисы и перестали беспокоить бэкендеров Привет Хабр! Меня зовут Евгений Лабутин, я фронтенд-разработчик в МТС Digital. Расскажу вам о том, как мы приручили микросервисы на нашем проекте МТС Твой бизнес, зачем они нам вообще понадобились и какую выгоду мы от этого получили. Интересно? Добро пожаловать под кат! Чи...
[Перевод] Всё про USB-C: механика разъёмов Бывает два случая, в которых электронщикам приходится задумываться о механике разъёмов USB-C. Первый связан с поломкой разъёма, а второй с потребностью его установки на собственную плату. В этой статье мы разберём оба. Перед вами оче...
Хранилище данных пугает бизнес: проблемы DWH для бизнеса За созданием хранилища данных и особенно его поддержкой кроются жуткие монстры, пугающие в первую очередь бизнес, а уже потом IT-отдел.В этой статье рассмотрим наиболее частые проблемы, касающиеся хранилищ данных, с которыми сталкивается менеджмент компании, а также способы ...
Количество партиций в Spark DataFrame, DataSet на основе Relational Data Base table В прошлой статье мы рассмотрели количество партиций, которое по умолчанию создается Apache Spark при инициализации DataFrame, DataSet. В текущей статье продолжим рассматривать количество партиций у Spark DataFrame и DataSet, созданных на основе таблицы в Relational Database....
[Перевод] Пять факторов, которые влияют на выбор базы данных При выборе баз данных для текущего проекта (или при замене тех, которые не отвечают вашим текущим потребностям) количество возможных вариантов очень велико. Это и хорошо, и плохо, ведь нужны какие-то критерии фильтрации. Сегодня есть гораздо больше баз данных, чем когда-ли...
Интеграция Primefaces в приложение на Spring Boot. Часть 6 — Комбинирование компонентов для вывода сложных данных Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть | Вторая часть | Третья частьЧетвертая часть | Пятая часть Читать далее
Многоклассовая детекция клеток рака почки: нейросетевой ассистент врача-патоморфолога Всем привет, меня зовут Арсений, я студент 2 курса магистратуры Сеченовского университета по специальности "Наноматериал и биофотоника”. В октябре прошлого года я занял первое место во всероссийском межвузовском конкурсе “Samsung Innovation Campus” со своим проектом “Многокл...
[Перевод] Самая маленькая хеш-таблица в мире 1 декабря я в очередной раз поучаствовал в Advent of Code, написав программу на Rust. Если интересно — код можно найти на GitHub. Тут мне хотелось бы рассказать о моём решении задачи, предлагавшейся во 2 день мероприятия, так как это решение, с одной стороны, сверх всякой ме...
Использование методов А/Б тестирования. Решение практического кейса в Python Привет, Хабр! В данной статье будет рассмотрено применение логистической регрессии, причинного случайного леса (Causal Random Forest), метода CUPED для оценки изменения целевой переменной в Python при проведении А/Б тестов. Основное внимание будет уделено практике, теоретиче...
Go: обобщенные алгоритмы и типы До недавнего времени у тех, кто пишет на Go было два пути: копипаста и кодогенерация. Фанатом ни первого, ни второго я не являюсь, однако к моей радости, теперь и в Go есть обобщенные типы. Казалось бы, проблема решена! Но не тут-то было, дженерики Go имеют весьма специфичес...
В новом ролике Amnesia: The Bunker показали противостояние с монтром Разработчики Amnesia: The Bunker показали новый трейлер игрового процесса. На этот раз небольшой ролик посвятили противостоянию с монстром в игре, а также атмосфере беспомощности, которую будет испытывать главный герой. Читать полную статью
Профессиональное выгорание: как его распознать, обезвредить и обратить себе на пользу Если от работы уже тошнит, надо ли, стиснув зубы, мотивировать себя на новые свершения или это повод забить тревогу? Расскажу о том, как профессиональное выгорание однажды довело меня до депрессии, как своевременно его распознать и не дать ему разрушить вашу карьеру. Читат...
Сколько будет стоить ChatGPT для Google? Дайджест полезных текстов про ML и дата-аналитику Находить информативные и полезные тексты про Machine Learning и работу с данными непросто. Еще сложнее — найти действительно стоящий контент. Меня зовут Стас, я развиваю продукты для аналитики данных в Selectel. Вместе с коллегами мы собрали годные статьи и видео, которые ...
BMW представила способный менять цвет автомобиль BMW представила прототип автомобиля, который может менять цвет. Кроме того, у него есть такие функции, как проецирование данных о вождении на внутреннюю часть лобового стекла.
Visiology запускает программу поощрения BI-экспертов Разработчик российской BI-платформы компания Visiology сообщает о запуске программы поощрения экспертов, имеющих опыт в работе с различными компонентами экосистемы Visiology, а также миграции, развертывания и поддержки платформы. Новая система премирования позволит BI-специа...
Что внутри лаборатории для испытания NB-IoT-устройств Привет, Хабр, меня зовут Вадим Рощин, я DevRel в МТС Digital. В этом материале я расскажу о том, как в лаборатории NB-IoT МТС тестируют устройства интернета вещей, зачем для этого безэховые камеры, в какой ситуации помехи необходимы и в чем вообще цель таких испытаний. Читат...
Курсы для ИТ-специалистов от компаний: как они устроены и кому будут полезны Есть много способов получить ИТ-специальность и найти работу: от поступления в вуз до самообучения. Один из таких способов — корпоративные курсы. Меня зовут Юлия Купряшова, и я уже четыре года курирую курсы Тинькофф Финтеха. Расскажу, как устроены такие курсы, чем они о...
Как научиться делать роботов и внедрять их там, где никто не решался Главный инженер по робототехнике компании «Криптонит» Олег Зобов рассказал о том, как он осваивал создание роботов, получил за это Президентскую премию и победил в престижном международном конкурсе. Олег поделился своим подходом к обучению, рекомендовал отечественные и заруб...
Список фишек Android Studio для ускорения разработки Привет! Меня зовут Стефан, я занимаюсь Android-разработкой в KTS.Android-разработчики каждый день сталкиваются с своим основным инструментом — Android Studio. Это очень удобный инструмент с большим спектром возможностей, но зачастую разработчики не используют их все. В ...
Архитектура PostgreSQL. Часть 3. Инициализация бэкэнда Приветствую!На прошлом шаге мы дошли до входной точки Postgres. Сегодня мы пройдемся по ней до главного цикла. Будут рассмотрены:— Модули для работы с файлами и файловой системой— Как SIGUSR1передает множественные значения— Реализации хэш‑таблиц...
[Перевод] Производительность параллельных алгоритмов STL В этой статье я собираюсь провести тест производительности на компиляторе Microsoft и компиляторе GCC, чтобы ответить на простой вопрос: окупается ли политика выполнения? Читать далее
Кто последний на индустриальный стандарт? Мне только спросить… Сегодня в сообществе ИТ архитекторов, поддерживающих подход “Архитектура как код”, все чаще появляются упоминания о его перспективах выйти на уровень нового индустриального стандарта. Можно было бы сказать, что любое общество должно быть амбициозным и видеть себя в “Центре В...
True RND или что делать с обученной моделью (опыт чайника) Когда то давно на просторах интернета читал статью о генерации по настоящему случайного пароля. Суть сводилась к тому что для реализации рандома нужно натурально бросать игральные кости. Отличная идея, для небольшого pet проекта и для того чтобы проникнуть в основы ML. Попро...
Сказ о том как pet-project превратился в небольшой пассивный доход (часть 1) Я backend разработчик с опытом около 3-х лет, пишу в основном на Golang. Проработал в нескольких крупных российских компаниях. Сейчас я параллельно со своей работой пытаюсь сделать удобный, дешевый VPN сервис с высокой пропускной способностью. В этой статье я хочу просто рас...
ХЗ в ТЗ по стратегии и психотипирование как бизнес-стратегия Всем привет, меня зовут Гай, и я консультант, помогающий IT-компаниям проводить стратегические сессии и разрабатывать стратегию компании.В данной статье я хочу описать три пункта стратегирования:1. Фрейм стратегического анализа и постановки целей.2. Как картировать набор реш...
Как изучать Kubernetes джуну — и зачем Всем привет! Меня зовут Лина, я backend-разработчик в KTS.В нашей компании развита система наставничества. Каждому сотруднику строится индивидуальный план развития, включающий в себя как soft skills, так и необходимые для работы технологии. Раз в полгода мы проводим ревью, и...
IT's Tinkoff QA Meetup На связи команда перфоманс-тестинга. Нам важно развитие профессиональных стандартов и профессионального комьюнити. В конце октября мы провели митап на тему нагрузочного тестирования. В статье расскажем про доклады спикеров и дадим ссылки на все материалы.На митапе обсудили, ...
Как работает Activity. Часть 2 В прошлой статье я описал, как стартует процесс нашего приложения, что такое ActivityStarter и как стартуют все Activity.Во второй части расскажу, как показываем сплеш-скрин, что такое Window, что происходит через первым показом Activity приложения, более подробно, как вызыв...
Часы реального времени — RTC (real time clock) на одноплатном компьютере. На примере Repka Pi 3 — аналоге Raspberry Pi 3 Эта статья посвящена решению задачи добавления часов реального времени на примере конкретных и широко доступных модулей для RTC и на примере одного конкретного подхода к реализации и алгоритму работы и является скорее примером, демонстрирующим общий принц...
Интересное из мира Unity #3 (10.02.23 — 16.02.23) Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Модель персонажа с помощью ИИ, математика для игровых разработчиков, как сделать красивую шерсть на URP и многое другое в сегодняшнем дайджесте. Если вам интересна Unity разработка, добро пожаловать под ка...
Интересное из мира Unity #2 (03.02.23 — 09.02.23) Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. А вот и второй выпуск дайджеста для Unity разработчиков. Интересные инструменты, красивые проекты, и всё что попалось мне на глаза за эту неделю. Если вам интересна Unity разработка — добро пожаловать под ...
Обзор 3D сканера RangeVision Pro Сегодня у нас в обзоре отечественный продукт. 3D сканер от Российской компании RangeVision. Что из себя представляет их профессиональная модель 3D сканера узнаете прямо сейчас!Кстати, подписывайтесь на наш Telegram канал, мы запустили там новый розыгрыш, условия простые, под...
Стратегии прогнозирования временных рядов в ETNA Меня зовут Дима, я разработчик библиотеки ETNA в Тинькофф. Расскажу о том, как в задаче прогнозирования временных рядов появляются стратегии, какими они бывают и как воспользоваться стратегией в библиотеке ETNA. Читать далее
ЭлектроМаша 2.0 или как мы упаковали Performance Review в чат-бота Привет! Меня зовут Артём, я бэкенд-разработчик в KTS.Наш главный HR Мария Ковылина и я приглашаем почитать: как мы проводим ревью, с какими проблемами сталкиваемся и как смогли автоматизировать процесс с помощью Telegram-бота. Стабильно, зимой и летом, мы проводили perf...
Устройство 64-битных счётчиков транзакций в Postgres Pro Enterprise Эта статья описывает реализацию 64–битных счётчиков транзакций (XID, ксидов) в СУБД Postgres Pro Enterprise, которая создана на основе свободной, опенсорсной объектно–реляционной СУБД Postgres. Она ориентирована на тех, кто имеет практический опыт в работе с СУБД Postgres Pr...
Информационная безопасность. Специализация Материал будет полезен новичкам, которые хотят выбрать специализацию в области ИБ. Статья расскажет о специальностях, которые так или иначе относятся сегодня к информационной безопасности. Основной акцент будет сделан на многообразии специализаций, которые формально могут не...
Как собрать базу организаций за час Всем привет, меня зовут Александр Калыргин, сейчас я активно занимаюсь сферой получения и анализа данных. Захотелось показать, как можно без особых проблем получить базы организаций, зарегистрированных в нужном вам регионе. Читать далее
Как устроена аутентификация в Micronaut: гайд по настройке Всем привет! Меня зовут Иван Зыков, я старший Java разработчик в компании X5 Tech. За моими плечами больше 5 лет опыта разработки.Хочу познакомить вас с модулем аутентификации Micronaut и заодно продемонстрировать, как настроить OAuth2.0 у нескольких провайдеров. Читать дале...
Метод полировки волоконно-оптического коннектора Данная статья будет посвящена изучению анализа полировки волоконно-оптического коннектора. А также каким методом будет произведен данный анализ. Читать далее
Обзор специальных публикаций NIST по управлению киберинцидентами В предыдущих публикациях мы сделали обзор самых интересных на наш взгляд специальных публикаций NIST по информационной безопасности. В данном посте мы рассмотрим два документа от NIST, которые посвящены выстраиванию процессов реагирования на инциденты ИБ: публикации NIST SP ...
[Перевод] Объект многоточие в Python В этой статье мы подробнее рассмотрим объект многоточия, где можно использовать его в повседневной практике программиста, и какие известные пакеты Python используют его. Читать далее
Java. Работа с XML-документами Привет, Хабр! Меня зовут Михаил, я SDET-специалист компании SimbirSoft. Я занимаюсь автоматизацией тестирования, в основном это работа с WEB и REST API, но на последнем проекте применял SOAP. Мне приходилось работать с сообщениями этого протокола, а именно:— выполн...
[Перевод] Ansible для начинающих В этой статье мы рассмотрим базовые и более сложные концепции Ansible с примерами. Статья предназначена для тех, кто только начинает работу с Ansible. Ansible — это инструмент infrastructure as a code для автоматизации задач по подготовке и конфигурированию инфраст...
Интеграция Primefaces в приложение на Spring Boot. Часть 8 — Композитная форма для редактирования сложных данных Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть | Вторая часть | Третья частьЧетвертая часть | Пятая часть | Шестая часть | Сед...
Как алгоритм 1972 года спас наш проект и при чем тут Тарьян? Я часто вижу в интернете дискуссии, а должен ли True-разработчик знать теорию алгоритмов и стандартные алгоритмы. Про алгоритмические собеседования вообще молчу - мнения на этот счет у всех разные, оно и понятно. Читать далее
Цикл постов про Keycloak. Часть первая: Внедрение Цикл постов про Keycloak (часть 1): Внедрение.О чем речь?Это первая часть серии статей о переходе на Keycloak в качестве SSO в условиях кровавого enterprise. Читать далее
BDD-фреймворк для автоматизации API без кода Меня зовут Виктор Мясников, я отвечаю за качество продукта в «Юле». Я закончил Бауманку и хотел строить ракеты, но с ними не вышло, поэтому теперь профессионально строю «велосипеды» для QA, а ещё люблю уничтожать рутину. Я расскажу, как мы проектировали BDD-фреймворк и зачем...
Интеграция Primefaces в приложение на Spring Boot. Часть 7 — Компоненты для сохранения и редактирования данных Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть | Вторая часть | Третья частьЧетвертая часть | Пятая часть | Шестая часть Читат...
Горизонтальная структура команды разработки, или Как доводить ML проекты до продакшена Привет, Хабр! Меня зовут Даниель, я занимаюсь машинным обучением в Garage Eight.Решил рассказать о работе ML команды в горизонтальной структуре и особенностях такого подхода. Читать далее
Разворачиваем MySQL: репликации и секционирование В этой статье сначала настроим репликацию данных на второй сервер, а затем рассмотрим различные варианты секционирования. Читать далее
[Перевод] No-code для бизнес-аналитиков No-code платформы меняют мир бизнес-аналитики, делая ее более эффективной и доступной. В этой статье рассмотрим преимущества, которые дает подход no-code; необходимые навыки для максимального использования этих преимуществ; а также инструменты, в которые стоит инвестировать....
Тайное сообщество майнеров, стрим-аномалия Twitch, объект привязанности алгоритмов Twitter: дайджест странных новостей Бывает так, что встречаются инфоповоды, которые на первый взгляд выглядят как выхлоп воспалённого сознания Бена Чанга из сериала «Сообщество». И кураторы, и редакторы новостей Хабра их чаще всего избегают. Но и эти новости, и публикации в других жанрах тоже несут определённу...
Диагностика ВИЧ с патентным скандалом и Нобелевской премией. Часть II В первой части нашей статьи мы подробно рассказали об обнаружении ВИЧ и тех жестких патентных спорах, что последовали за этим событием. В продолжении мы коротко расскажем о современных тест-системах и терапии. Читать далее
Как Android-разработчику избавиться от комплекса доменной неполноценности Комплекс доменной неполноценности — это когда веришь, что доменный слой приложения должен быть самым большим и самым важным, и винишь себя в том, что в твоём коде это не так. Это происходит, если воспринимать «Чистую архитектуру» как е...
[Перевод] VFX-закулисье «Периферийных устройств» Перевод интервью Винсента Фрая с Марком Спатни — VFX-супервайзером и продюсером телевизионной адаптации одноимённого романа Уильяма Гибсона от Amazon. На публикацию меня вдохновила случайная встреча в Telegram-группе с нашей соотечественницей Галиной Яковлевой, которая ...
[Перевод] Состояние WebAssembly в 2022-23 годах Автор статьи Жерар Галлан известен как автор книги “WebAssembly in Action”, выпущенной Manning в 2018 году. Существует перевод его книги на русский — “WebAssembly в действии” (Питер, 2022). Предыдущий обзор The State of WebAssembly – 2021 and 2022 опубликован автором в январ...
Как мы используем модель Хаффа для открытия новых магазинов Привет! На связи команда геоинформационных систем «Магнита». Мы начинаем серию очерков о модели прогнозирования продаж в новых магазинах. В первой статье расскажем про один из наиболее значимых признаков модели — балле Хаффа. Мы постараемся...
Как выбрать NewSQL-СУБД для вашей компании Привет! Меня зовут Пётр, я менеджер по отказоустойчивости в QIWI. В этом посте мы поговорим про выбор новых классов продуктов. Как-то раз мы с одним разработчиком из другой компании стали обсуждать, почему бы не выбрать для работы какую-то распределенную СУБД, поддерживающую...
Self-Supervised Learning. Метрики и первые pretext tasks В предыдущей статье мы рассмотрели общую суть SSL подходов и зачем они применяются. Настало время начать их разбирать более подробно.В статье сперва пробежимся по основным методам обучения, использующим исключительно внутреннюю структуру изображения. Позже определим, как сра...
26 идей для создания новогоднего настроения Достаточно использовать небольшую часть этих лайфхаков, и Нового года вы будете ждать сильнее, чем дня рождения.
Как измерить ESR конденсатора при помощи FNIRSI DSO-TC2 Необходимо заметить, что данный пост - это моё мнение, основанное на теоретических выкладках, проверить которые на практике я пока не удосужился.ESR - Equivalent Series Resistance - один из параметров конденсатора, характеризующий его активные потери в цепи перемен...
Расширяем возможности Ansible: развертывание Docker В предыдущих статьях мы уже рассмотрели установку Ansible и подготовку шаблонов для автоматизации работы с управляемыми узлами. В этой статье мы продолжим обсуждать те возможности, которые есть у Ansible, и рассмотрим развертывание Docker.Управление установкой Docker с помощ...
Интересное из мира Unity #1 (27.01.23 — 2.02.23) Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Я решил вести дайджест новостей по Unity, отбирая интересные посты из того, что произошло за неделю. Красивые проекты, интересные ролики и многое другое. Если вам интересна Unity разработка — добро пожалов...
[Перевод] Однажды у нас будет полностью настраиваемый select Сегодня я хочу рассмотреть предложенную функцию HTML, которая может в итоге заменить множество пользовательских компонентов ввода на основе <div>: <selectmenu>. Читать далее
НДФЛ для удаленщиков и вредные советы Да, тема релокации все еще актуальна и регулярно появляются статьи, связанные с этой темой. Как правило, это мини-блоги в стиле «У меня получилось», я живут там-то, сейчас расскажу, через что прошел. Но вот эта статья своим содержанием и посылом сильно выбивается на общем фо...
Миша на севере 2 [О работе айтишником на крайнем севере] Привет всем, меня зовут Миша и я сеньор разработчик EvaTeam. Это продолжения поста о том, как я отправился работать на архипелаг Новосибирские острова, что находится в Северном Ледовитом океане, в качестве специалиста по информационным технологиям и связи. В прошлый раз...
Технологии, изменившие музыку. Часть 2: создание Продолжаем цикл статей про технологии из мира музыки. Сегодня поговорим об инструментах, без которых невозможно представить современную музыкальную индустрию и целые жанры, такие как рок, фанк и практически любая популярная музыка. Речь пойдет об устройствах, так или ин...
Парсим сайты с защитой от ботов В этой статье мы разберемся, как работает типичная защита от роботов, рассмотрим подходы к автоматическому парсингу сайтов с такой защитой, и разработаем свое решение для её обхода. В конце статьи будет ссылка на гитхаб.Речь не идет о каком-либо виде "взлома" или о создании ...
Self-Supervised Learning. Contrastive learning В предыдущих статьях мы разобрали много аспектов, связанных с SSL. Теперь пришло время посмотреть на методы, которые используют достаточно очевидное, на первый взгляд, знание - одна и та же картинка похожа, а разные картинки - разные. Это основная идея методов с contrastive...
Гайд по созданию лженауки И так вы вдохновились великими Ганеманом и Хаббардом, и наконец решили создать свою лженаучную гипотезу. Не важно хотите вы славы или денег, будете продавать артефакты или книги. Начните свой путь прочитав это руководство. И не забудьте купить наш курс “Первые шаги профессио...
Hashmap(map) по версии Golang. Часть 2 Всем привет. Продолжаем реализовывать hashmap из исходников Go 1.19. Во второй части рассмотрим generic ключи и рост мапы. Узнаем что такое нерефлексивные ключи, как происходит итерация во время роста и немного про коробочное хеширование. Читать далее
Нейросеть занялась дизайном корпусов для сборки ПК Один из участников Reddit-сообщества решил нагрузить нейросеть Midjourney задачей сгенерировать компьютерные корпусы формата Mini ITX, которые было бы не стыдно представить на выставке сборок. Результатом стали 28 идей, которыми действительно могут вдохновиться моддеры ...
Гайд по написанию пользовательских историй и критериев приёмки Всем привет! Меня зовут Валентина Ляликова. Я ведущий бизнес-аналитик в X5 Tech и преподаватель направления «Пользовательские истории и критерии приёмки» в Школе бизнес-анализа X5 Tech. Большой опыт работы на разнообразных проектах помог сформировать мне список правил, ...
[recovery mode] Запуск R кода по расписанию Всем привет. Меня зовут Дмитрий Володин, я Analytics Engineer в Trafficstars. Когда-то я, как и все, был начинающим аналитиком данных на R и передо мной на этом этапе остро встал вопрос запуска моего кода по расписанию. Ещё желательно было иметь возможность запускать откуда ...
Прокачиваем логирование: как отслеживать бизнес-процессы в Kibana Всем привет! Меня зовут Дима Зотов, я специалист техподдержки. Работаю в Почтатехе на проекте Почта.ID. Мы обеспечиваем регистрацию и вход в сервисы Почты России, а также отвечаем за хранение учетных записей. Еще разрабатываем решения для некоторых почтовых услуг. Например, ...
Сломать нельзя наладить. Управленческие решения, которые помогут команде наладить коммуникацию и взаимопонимание Привет! Меня зовут Катя. Я — менеджер проектов в компании Constanta и сегодня хочу с вами поделиться, как важно выстраивать новые процессы постепенно, не разрушая их до основания.Мы с вами познакомились в предыдущей статье, где я описала свои правила и план по погружению в п...
progressive_plots или ускоряем построение графиков Здравствуйте, меня зовут Николай Стрекопытов и большую часть карьеры я работал на стыке R&D и Deep Learning и в задачах возникающих в этих нишах часто невозможно написать какие-то автотесты и не всегда понятно где вообще может быть проблема поэтому нужно визуально исслед...
YAMAL DEV CONF — как это было Привет! Хотим поделиться с вами тем, как прошла в начале ноября наша северная YAMAL CONF. Это уже вторая конференция, которую мы собираем, чтобы развивать IT-комьюнити на Севере и делиться знаниями.В этот раз мы немного увеличили масштаб по сравнению с 2021 годом и сделали д...
Мой декабрь и не только - 3д миниатюры для настольных игр и полки Приветствую!Этим зимним снежным днём решил поделиться, что у меня есть в декабре.В предыдущей статье я рассказывал о своём проекте и краудфандинг кампании, вскользь упомянув о наградах для участников, помимо собственно миниатюр Allies vs Horcs. Так что сегодня речь пойдёт пр...
ChatGPT: новый инструмент в борьбе с багами. Как можно использовать AI для повышения качества тестирования Всем привет! Я QA Engineer и недавно открыл для себя ChatGPT и хочу открыть этот мир другим тестировщикам. Эта статья не руководство к применению и каких-то суперлайфхаков здесь не будет. Цель этой статьи в том, чтобы показать огромные возможности нейросетей в помощи нам, те...
Моя попытка сделать утилиту для очистки Linux Всем привет! Я начинающий разработчик на языке Go. До этого у меня был, так сказать, небольшой опыт, но в виде хобби. Во время изучения я также осваивал Linux, сейчас уже пользуюсь им как основной ОС.Мой ноутбук довольно слабый, на борту всего 4ГБ ОЗУ, а на Windows существуе...
Boson — разработка СУБД «с нуля» (часть I) После разработки виртуальной машины и компилятора в рамках хобби прошел год и захотелось попробовать реализовать ёмкий по алгоритмам проект по системному программированию. Каждый разработчик "кровавого" enterprise в своей работе использует СУБД (SQL/NoSQL) и меня всегда искр...
[Перевод] NoNa: Алгоритм заполнения отсутствующих данных Мой первый open-source продуктGitHub — AbdualimovTP/nona: библиотека для заполнения пропущенных значений с использованием методов искусственного интеллекта Читать далее
Выходцы из Apple и Google предсказали "конец программированию" Мэтт Уэлш - генеральный директор и соучредитель Fixie.ai, основанной выходцами из Google и Apple считает, что традиционная идея "написания программы" идет к исчезновению. Большую часть ПО будут писать системы искусственного интеллекта.
[Перевод] Вот что я нагуглила за неделю в качестве старшего инженера-программиста Три года назад разработчик Софи Кунин* опубликовала пост под названием «Вот что я нагуглила за неделю в качестве профессионального инженера-программиста», и он явно нашел отклик у читателей, поскольку стал довольно вирусным. За эти три года многое произошло. Софи повысили, т...
Вредные советы начинающим разработчикам Всем привет, меня зовут Антон, я iOS-разработчик платформенной команды в inDrive. В августе прошлого года исполнилось 10 лет с момента, как я начал работать программистом. За это время успел поработать в больших компаниях и в стартапах, в продуктовой команде и в аутсорсе, в ...
YOLOv7 для определения поз людей на видео Привет, Хабр!С вами Максим Алёшин, Data Scientist и участник профессионального сообщества NTA.В этом посте мы познакомимся с возможностями YOLOv7 для определения поз людей на видео, обсудим принцип работы алгоритма, раз...
Нюансы поддержки npm в Deno Всем, привет! Меня зовут Данильян, я работаю в Самокате фронтенд-разработчиком и разрабатываю бэкофисное приложение с использованием React. Помимо работы, у меня есть несколько сайд-проектов, в которых я широко использую Deno. В последнее время этот проект радует новыми фича...
День дизайн-директора Привет. Меня зовут Костя, и я отвечаю за дизайн в Агиме.Знаю что многие любят подглядывать за другими. А кому-то, может, просто интересно, как устроен день дизайн-директора в агентстве.И вот возможность: сейчас я расскажу как прошел один мой +/- типичный рабочий день. Это не...
Баллада о рафинированном менеджменте Для успеха каждого проекта критически важно, чтобы все его участники одинаково понимали слова и словосочетания, которые они применяют в общении между собой, и, что даже более важно, понимали разницу между ними. Срок. Продолжительность выполнения задач. Трудоемкость. Трудозат...
Справочники и документы. В чем сила 1С Много узкоспециализированных объектов или небольшое количество универсальных? Истина, как обычно, посередине. Справочники и документы в 1С - это пример удачного попадания в эту середину. Разумеется, речь не о том, что видит пользователь, а о том, чем оперирует разработчик. ...
[Пятничное] 10 удивительно зрелищных простейших клеточных автоматов • Осторожно, присутствуют мелькающие гифки.• Трафик! (если в 2023 это ещё актуально)Самое простое представление двумерного клеточного автомата основано на двух характеристиках: клетки имеют всего 2 состояния; правила изменения состояния зависят только от количества живых сос...
Небольшой тюнинг акрилового PRUSA i3. Продолжение. Блок включения и защиты. Итак, продолжу "издевательство" над прибором... В исходном состоянии принтер подключается к сети шнуром с вилкой торчащими из блока питания. Это не очень удобно, ибо чтобы включить или выключить, надо вставить или вынуть из розетки вилку, а если надо экстренно? Вот для этого...
Небольшая ретроспектива по статистике статей Хабра Хабр недавно написал статью про итоги ушедшего 2022 года. В комментариях у меня и нескольких пользователей возник вопрос, что мол статистика как-то странно подана, мол люди перемешаны с конями, почему так? Мне стало интересно.По идее, чтобы дать нормальную статистику, достат...
Чит-лист функционального тестирования, памятка тестировщику Привет, хабр. Меня зовут Екатерина и я руковожу тестированием. Сегодня хочу поделиться своим чит‑листом обо всем.Чит‑лист — набор стандартных проверок для многократного использования в различных приложениях, одинаковых по какой‑либо характеристике. Я...
Как я организовал продажу электронной версии Книги нормального фрилансера и с какими трудностями столкнулся Я написал Книгу нормального фрилансера. В ней поделился опытом работы проектировщиком (UX‑дизайнером) с 2006 года по сегодняшний день. На момент написания этой статьи с книгой познакомилось не меньше 2 000 человек. Десятки положительны...
8 способов добраться до вершины пирамиды Маслоу Идеи из книги самого Абрахама Маслоу, которые помогут достичь самоактуализации.
Как усмирить данные о звонках в таблицах одним скриптом Привет, Хабр! Меня зовут Анастасия Иванова, я технический писатель МТС Exolve. В этой статье я расскажу о том, как поместить информацию о звонках в привычный формат таблиц на примере нашей платформы (краткий обзор сервиса вы найдете тут) и Google Таблиц. В частности, вы узна...
Как проверить скорость работы жёсткого диска или SSD в Windows? А сможете ли перед прочтением статьи ответить на вопрос, зачем вам потребовалось измерять скорость работы вашего накопителя? В комментариях, нам любопытно, попробуем собрать статистику. Читать полную статью
Как мы проблемы UI в виджетах решали Меня зовут Алексей Чернякович, я занимаюсь разработкой и поддержкой Android App Widgets в мобильном банке Тинькофф. Сейчас у нас работает три виджета. Несмотря на относительную простоту, они довольно популярны у пользователей — более 50 тысяч использований в месяц. Расскажу,...
H-мост: Load Detect (или как выявлять вандализм) В этом тексте я написал как диагностировать и тестировать такую электрическую цепь как H-мост. Как в Run-Time(е) определять Fault(ы) в H-мосте, чтобы вовремя отключить ключи и перевести всю цепь в безопасное состояние тем самым спасти дорогое оборудование от сгорания? Читать...
Метод дизайн-спринтов: как быстро понять, сработает ли ваша идея Привет! Я Дима Шувалов, рулю компанией УМ. Мы часть большой экосистемы AGIMA, а специализируемся на корпоративных исследованиях. Наша суперспособность — умение улучшать клиентский опыт и находить для бизнеса точки роста. Недавно наткнулся на вот такую цитату: Читать дал...
Величайшие программисты XXI века. Юрки Алакуйяла — гений сжатия Пару дней назад на Хабре обсуждали, что сжатие информации — главная концепция нашей жизни. И вот перед нами представитель этой самой индустрии. Человек, который видит мир через призму теории информации, энтропии, хаоса и закономерностей. Мало кто слышал имя Юрки Алакуйяла (...
В WhatsApp появилась страховка от случайного удаления сообщений Команда популярного мессенджера WhatsApp начала распространять новую полезную функцию для пользователей. Она называется Accidental Delete (Случайное удаление). Активным пользователям WhatsApp не понаслышке знакома ситуация, когда вы случайно нажали кнопку «...
Принципы построения многомодульного Android-приложения и их применение в СберЗдоровье Всем привет! Меня зовут Александр Ровнов. Я Android разработчик в СберЗдоровье.Статей про «чистую» архитектуру и многомодульность очень много. Но не многие компании готовы делиться своим опытом и полученными результатами от внедрения этих практик. Я хочу попробовать исправит...
Быстрый приём платежей QIWI в проекте Python Необходимость добавить возможность оплаты чего-либо в своём проекте всплывает достаточно часто, при этом возня с ИП, банковскими договорами и прочей бюрократией мало кого привлекает, особенно если масштабы проекта сопоставимы с небольшим telegram-ботом или чем-то подобным. Н...
Обзор периферийной библиотеки FIL для микроконтроллеров STM32 Приветствую всех читателей моей первой статьи. Меня зовут Назаров Александр, я программист и резидент Ресурсного центра робототехники - структурного подразделения Донского государственного технического университета. Наши проекты направлены, в основном на мобильную робототехн...
Судьба двумерных материалов в России. Часть вторая Мы продолжаем наш подробный обзор разработок двумерных материалов в России. В этой части речь пойдет об основных отечественных патентах в этой области, в частности про графен. Читать далее
Математическая продлёнка. Теория чисел на пальцах Это собранные в одну статью заметки к циклу занятий математического кружка. Кружковая математика не только про олимпиады, про успеваемость в школе и про хитровыдуманные задачки на смекалку. Это и расширение эрудиции, и небольшие самостоятельные исследования и своеобразные "э...
Логи в iOS, эпизод 3: BlackBox В 2019 году я устроился в Додо Пиццу. В первую же неделю я спросил у ребят, как они логируют происходящее в iOS-приложении у клиентов и узнал, что никак.Я удивился и понял, что у меня нет абсолютно никакой уверенности, что приложение Додо Пиццы работает как было задумано. А ...
Эволюция подходов к работе с таблицами во фронтенде Всем привет! Меня зовут Аня Ланда, я фронтенд-разработчик в Самокате. В компании я больше двух лет, общий стаж во фронтенде – 6 лет и всё это время я делаю таблицы. В этом посте расскажу про эволюцию подходов к работе с ними, что меняется на пути от нескольких сотен до сотен...
Нарисуй сон Нейронные сети, рисующие “всякое” по запросу, не обошли стороной и меня. После того как наигрался, я решил, что раз тема из области искусственного интеллекта, то и интерфейс взаимодействия нужен соответствующий. Например, голос и желательно на русском языке. Так появилась ид...
Дриставрация стиков портативных игровых консолей — маленькое how-to Вообще, эта статья-заметка не особо подходит к тематике хабра, но вероятно здесь есть любители поиграть, у кого возможно лежит мёртвым грузом PSP. А поскольку я по своей натуре любитель залезть и попытаться сделать всё что можно разобрать, то вот вам минигайд.Последний месяц...
Как Сбер стал игровые хакатоны проводить: удовольствие, нетворкинг и поиск новых специалистов Привет, Хабр! Меня зовут Алия Мусаева, в Сбере я лид чаптера Production, ДИТ блока «Сервисы и безопасность». Сегодня расскажу о том, как инициатива, которая началась как пет-проект, переросла в официальный проект Сбера и вышла на общекорпоративный уровень. Думаю, что статья ...
Распознавание респираторных заболеваний по звуку дыхания Всем привет! Сегодня рассмотрим задачу диагностирования респираторных заболеваний, то есть заболеваний дыхательной системы, но решать её будем не ушами, а алгоритмами. И решать её будем два раза, сначала методами классического машинного обучения, а затем методами глубокого о...
Эволюция NGFW: тестируем новинку Sangfor NGAF Всем привет! Меня зовут Дмитрий Шкуропат, я являюсь руководителем направления защиты информации в компании Nubes. Мы открываем цикл статей, в котором расскажем, как выбирали и тестировали для нашего защищенного публичного облака межсетевой экран нового поколения (NGFW)....
Фантомас, Наташа Ростова и Мейбл Пайнс: как мы делали темную тему для ispmanager Привет, Хабр! Меня зовут Сергей Пестерев, в ispmanager я отвечаю за дизайн продукта. Пожалуй, сложно представить себе более холиварную зону ответственности. Стоит лишь заговорить о дизайне, как тут же оживляются пользователи, которым он якобы не нужен, — они требуют новых ин...
Брокер сообщений NATS: как мы решали проблему скоростной и стабильной доставки сообщений Всем привет. Меня зовут Женя, я работаю, как это сейчас модно говорить, DevOps-инженером в компании Garage Eight. В этой статье я бы хотел поделится опытом внедрения и эксплуатации брокера сообщений NATS в нашей инфраструктуре — настолько понравилась эта технология.&nbs...
Удивительные беспроцессорные «текстовые» компьютеры Wang 2200 — мечта писателя конца 70-х В прошлой статье я рассказал об американском изобретателе китайского происхождения Ван Ане, создателе памяти на магнитных сердечниках, который построил с нуля успешный IT-бизнес в США. Самым интересным проектом основанной им компании Wang Laboratories стал специализированн...
Обзор нового поколения серверов Dell PowerEdge G16 Слышали что-то про новое поколение серверов Dell?И я нет. А оно вышло.Ладно, если без шуток, то у меня много интересного (частично инсайдерская информация) про Dell PowerEdge G16 — новое поколение с добротным апгрейдом по всем фронтам. А на серверах, к слову, работ...
Бот из машины. Как инженеру сократить время на диагностику дисков Привет, Хабр! Меня зовут Дмитрий, я старший системный инженер в дата-центре Selectel, работаю с серверами и клиентским оборудованием. Каждый день я обрабатываю десятки клиентских обращений. Часть из них связана с физическим участием, когда нужно ногами пойти к серверу и р...
Как написать UI-автотесты, если не умеешь программировать? О чем эта статья и чем она полезна.Всем привет! В этой статье пойдет речь о том, как написать простые UI-тесты на языке Java. Это будет интересно тем, кто давно хотел попробовать себя в автоматизации или добавить новенького в свой текущий проект. В этой статье не будет больш...
Правильно ли вы используете useSelector в Redux? Всем привет, данная статья направлена на то, чтобы добавить понимания при использовании хука useSelector в разработке. Надеюсь, у меня получилось ниже раскрыть какую-то часть информации, которая поможет разработчикам, которые раньше не знали данной информации.Все, кто исполь...
Книга «40 алгоритмов, которые должен знать каждый программист на Python» Привет, Хаброжители! Понимание работы алгоритмов и умение применять их для решения прикладных задач – must-have для любого программиста или разработчика. Эта книга поможет вам не только развить навыки использования алгоритмов, но и разобраться в принципах их функционирован...
Чеки, налоги, разные страны: как их «подружить» на уровне разработки Когда локальный бизнес выходит на международный уровень, приходится учитывать много разных тонкостей новых стран, чтобы ничего не нарушить, особенно местное налоговое законодательство.У Додо Пиццы уже больше 890 точек в 17 странах, везде используется...
Более 12 лет ставлю цели на год: рассказываю, как и почему этот процесс работает у меня Привет, меня зовут Павел Комаровский – и я из тех душнил, которые в начале января усиленно строят всякие акульи планы на год. Так как делаю я это уже много лет, у меня выработался довольно своеобразный подход к процессу, которым я и хотел с вами поделиться – надеюсь, это пом...
Премиальные тарифы банков в 2023 году. Большой обзор Я проанализировал премиальные программы 8 российских банков чтобы понять, какая из них подходит мне больше всего. Возможно, наши с вами характеристики и обстоятельства похожи, и вам будет полезно прочитать этот обзор.Премиальные тарифы в российских банках становятся всё дост...
Презентация Meizu 20 и Meizu 20 Pro, цены даже ниже, чем мы ... Сегодня в Китае состоялась долгожданная презентация линейки Meizu 20. В этой статье мы поговорим о младшей и профессиональной версии
Устанавливаем Kubernetes-платформу Deckhouse в закрытом окружении. Пошаговая инструкция Продолжаем серию статей про установку Deckhouse в разные окружения. Мы уже рассказывали про развертывание в Yandex Cloud. Эта статья посвящена установке платформы в закрытое окружение, когда у машин, на которых разворачивается кластер, нет доступа в Интернет. Читать далее
Ещё одна подборка книг по QA Вторая часть подборки материалов от QA для начинающих специалистов (и не только). Под катом квалификационные требования, практические пособия и классика книг по тестированию. Читать далее
Размышление об Active Object в контексте Qt6. Часть 2.5 Статья выпущена как дополнение к предыдущей и показывает, как можно сделать Active object, работающий асинхронно в среде Qt, но при этом не использующий события. Читать далее
QR-code. Обнаружить и расшифровать. Шаг 1 — Обнаружить Эта статья - первая в цикле статей, в котором мы разберемся с тем, как qr-код устроен, и напишем простенький Qr-детектор и дешифровщик, а также свой собственный генератор qr-кодовИспользовать мы будем python вместе с opencv и numpy. Учитывая, что opencv - кросс-язычная библи...
Вместо подписки на Pipedrive потратили 4,2 млн на разработку кастомной CRM для риэлторов. Зачем? Нам нужна была CRM, которая, помимо базовых функций, умела бы автоматически выкладывать контент на доски объявлений. Мы сделали такую с нуля, окупили ее до завершения разработки и теперь готовы поделиться ей со всеми.Меня зовут Вячеслав Люкшин, я совладелец агентства недвижи...
Архитектура PostgreSQL. Часть 1. Цикл сервера Продолжаем изучать исходный код PostgreSQLВ этот раз исследуем главный цикл сервера:- Принятие входящих подключений;- Проверка окружения;- Обработка упавших воркеров. Читать далее
Не навреди. Деликатные советы для наставников, работающих с новичками Всем привет! Меня зовут Ольга Болотова, и я Developer Advocate в QIWI. Сейчас я представляю интересы разработчиков, но до этого я была фронтенд-разработчицей, и пять лет работала с новичками, стажёрами и их наставниками. А потом на позиции руководительницы запустила программ...
Переходим на Flutter: за и против Привет, Хабр!Меня зовут Данил Абдрафиков и уже более пяти лет я занимаюсь мобильной разработкой, три из которых — на Flutter. Последние несколько лет я разрабатываю продукты для энтерпрайза в TAGES, и за это время у меня успел накопиться определенный опыт, которым я бы хотел...
Истина момента, или Проблемы миграции с SAP на 1С ERP Добрый день! Меня зовут Денис Окулов, заместитель руководителя направления по функциональной экспертизе PROF-IT GROUP. С 2008 года я специализируюсь на внедрении и развитии решений на базе SAP и 1С, и за это время я реализовал свыше 20+ проектов для ведущих промышл...
Делаете ИТ-стартап? — Сначала продай, а потом делайте! Можно иначе? Да, но продай сначала Привет, меня зовут Максим Кульгин и мы потеряли много денег (думаю пару десятков кровных миллионов рублей), пытаясь запустить ИТ-бизнесы вопреки тезису в заголовке статьи. Хочу поделиться своим опытом, который сформировался благодаря этим потерям. Для кого-то цифры убытков п...
Обзор зарубежной недвижимости для россиян. Что, где, почём? Допустим, у вас есть квартира в Москве. Или в Твери. Или в Томске, не суть. Если вы решите её продать, какую недвижимость за рубежом вы сможете купить и в какой стране? Еще пару лет назад такой вопрос казался если не странным, то праздным. А всерьез продать российскую н...
22 342 кратное ускорение загрузки геометрии в Unity Меня зовут Артем Толстогузов, и я вхожу в группу анонимных Unity-программистов.У меня:• навязчивое желание переложить всю работу с CPU на GPU;• небольшой фетиш в области оптимизаций всего что только возможно;• хронический интерес к шейдерам...
Сканер установленных перехватчиков в памяти процесса В статье будет рассмотрен один из методов поиска изменений в памяти процесса, на основе построения полной карты уязвимых к перехвату адресов. Рассмотрена работа со списками загрузчика, ручным разбором таблиц импорта/отложенного импорта/экспорта/TLS загруженных файлов, c об...
Пентест. Думаем как злоумышленник. Часть 2: угрозы внутри В первой статье мы поговорили о том, как может действовать Внешний нарушитель при проведении пентеста, какими методами он может собирать и использовать информацию для последующего проникновения. В этой статье мы продолжим рассмотрение темы тестирования на проникновение и пог...
Как не надо участвовать в командных хакатонах. Рефлексия дубль 2, блеск и нищета поражения Совсем недавно наша аналитик рассказывала о том, как выиграть хакатон, сохранив моральное и физическоездоровье.За пару дней до выхода статьи эта же аналитик подговорила наших ребят участвовать в командном хакатоне. Результат не самый приятный — 38 место из 60. Однако, этот о...
Диод в качестве дросселя для управляющего сигнала спутникового конвертера(LNB) Статья посвящена деталям разработки узлов обеспечения функционирования и управления приёмными устройствами спутниковой связи. Не смотря на узкоспециализированное применение данных схемотехнических решений, представленных в данной статье – они так же могут найти применен...
Полгода самостоятельного изучения .NET – не повторяйте моих ошибок Доброго времени суток! Меня зовут Ваьсен, я – начинающий backend разработчик, поставивший себе цель переучиться из экономиста в программисты с нуля. Обучение я начал в конце сентября прошлого года и на текущий момент выходит, что прошло ровно полгода с момента начала пути. В...
Конструктор для взрослых… ...и не только!Это история о том, как я создал конструктор для решения повседневных проблем. Для меня он стал незаменимым помощником по жизни. Возможно, и вам придется по вкусу (древесины:)) В этой статье я познакомлю вас с этим простым, но очень функциональным изобретением....
Как мы нейросеть в браузер тащили Здравствуйте, товарищи! Хочу написать a good story про то, как портировал нейросеть в браузер. Задача пришла ко мне от моих институтских друзей из ИВМ РАН. Есть некий фронтенд, на который доктор загружает КТ снимок. Доктору предлагается при помощи веб интерфейса выделить се...
Как мы создавали свой тренажёр по программированию — опыт Нетологии Согласитесь, что от хорошего образовательного курса мы ждём не только интерактива и большого объёма практических заданий, но и возможность быстро получать обратную связь. А ещё лучше — молниеносно. Человеческий фактор никто не отменял: как бы ни старались наши эксперты ...
Как работает персонализированная лента Слышали фразу “алгоритмы тиктока”? “Лента рекомендаций”? А “вам может быть интересно”?Интернет нас объединил как не смогло объединить ничто до него в истории и разъединил так успешно, что мы этого и не замечаем, а лишь изредка удивляемся случайно зайдя не на “свой сегмент” -...
Сравниваем инструменты мониторинга IT-инфраструктуры Zabbix, Icinga, Prometheus Инструменты мониторинга IT-инфраструктуры позволяют полностью отслеживать ее состояние: собирать данные, анализировать и визуализировать их, оповещать о сбоях и т.д. В этой статье рассмотрим платформы Zabbix, Icinga и Prometheus. Разберем их UI, архитектуру, принципы сбора м...
Пора забывать GridSearch — встречайте ProgressiveGridSearch. Фракталы в ML, постепенно увеличиваем разрешение Здравствуйте, меня зовут Николай Стрекопытов и я придумал как подбирать гиперпараметры бескомпромиссно лучше GridSearch’а. Нужно лишь изменить порядок вычислений. И да, это заявка на обновление индустриального стандарта - скоро вы сможете улучшить свои ML-пайплайны заменой н...
GraphQL: сложность запросов Всем привет! Меня зовут Олег Негрозов, я бэкенд-разработчик из команды Talantix. В мире GraphQL есть один минус, который одновременно является и плюсом — пользователь ограничен лишь описанной схемой. Он может попросить у сервера все данные, доступные ему, или написать такой ...
Как привлечь в приложение 1 млн пользователей с помощью геймификации: опыт Спортмастера В 2022 году мы запустили новое мобильное приложение для iOS и Android, встроив в него дополнительные сервисы: «Медиа», «Трекер активности», «Live-трансляции», «Онлайн-тренировки» и другие. Они закрывают потребности наших клиентов, не связанные с покупками. Например, помогают...
Конфигурирование BGP на Juniper MX Привет, мимо пробегающий читатель!В прошлой статье я обмолвился, что, возможно, опишу конфигурацию присутствующих в решении маршрутизаторов Juniper MX204. Близится конец года, и напоследок я решил написать небольшую статью на эту тему. Читать далее
Тут одни «токсики» и «тролли» (на самом деле нет и это круто): история одного стартапа В ноябре 2022 года я написал заметку о том, как мы с командой сделали в Телеграм чат-бот для похудения BodyBuddyBot. Материал тогда собрал несколько тысяч прочтений и десятки комментариев. Признаюсь честно, перед тем, как написать текст, меня терзали смутные сомнения. Так уж...
Профессиональные задачи, которые вы можете решить с AI системой ChatGPT от OpenAI Мир охватила новая волна безумства вокруг AI, все соц.сети заполнены огромным количеством экспериментов вокруг нового продукта - ChatGPT. В этой статье я расскажу вам о 30+ самых интересных кейсов использования AI-чата на базе открытого искусственного интеллекта от ...
LGT8F328P: импортозамещение по-китайски (начало) Китайская фирма Logic Green еще примерно в 2015 году взялась за выпуск усовершенствованных аналогов линейки ATmega88-328. В настоящее время выпущены контроллеры LGT8F88P/168P/328P, старший позиционируется для производства Arduino-аналогов. В народе их называют «клонами Ardui...
Экстремально уменьшаем размер NPM пакета Однажды я захотел создать небольшую NPM библиотеку по всем “best practices” - с покрытием тестами, написанием документации, ведением нормального версионирования и changelog'а и т.п. Даже написал пару статей, которые в деталях описали, какие вопросы решает библ...
Цифровизация продуктового ритейла на примере магазина «Магнит» Магазины сети «Магнит» сегодня можно встретить почти в каждом городе. Но знаете ли вы, что скоро они станут умными?Современные технологии проникают в продуктовый ритейл, позволяя экономить на ресурсах и обходить конкурентов в вопросе эффективного управления.Вместе с интеграт...
Лидерские позиции в рейтинге мировых брендов телевизоров по данным Omdia обеспечил себе TCL В рейтинге мировых брендов телевизоров лидерские позиции снова обеспечил себе TCL. Как видно из Отчета о глобальном рынке телевизоров Omdia за 2022 год, TCL Electronics, один из главных игроков в мировой телевизионной индустрии и ведущий производитель потребительской электро...
Балансировка в Finagle: как работает и как сделать свой балансировщик Finagle — библиотека от разработчиков Twitter. Ее используют для организации межсервисного RPC и построения mesh-микросервисной архитектуры. У библиотеки богатая функциональность по тонкой настройке и интроспекции, но сегодня мы рассмотрим клиентскую балансировку. Читать дал...
День «Mother of all demo»: отмечаем годовщину главного ИТ-события 9 декабря 1968 года — день, который определил развитие компьютерной техники и информационных систем на десятилетия вперед. Оконный режим, командная строка, гипертекст, навигация, видеоконференцсвязь, редактирование текста, версионирование и даже совместная работа… Ах да, и к...
Замахнемся на гипотезу Коллаца Она же проблема 3n+1. Это, наверное, самая сложная проблема с самой простой формулировкой — условие может понять и ребенок. А вот сложность самой проблемы такова, что великий математик Эрдош сказал, что «математика еще не готова к решению п...
Анализ STL моделей с использованием Python В программных продуктах для работы с STL, таких как Geomatix Design X, Wrap, NX и др., функционал обязательно включает сегментацию STL модели на отдельные грани. В свободно распространяемом ПО, однако, инструменты для сегментации зачастую отсутствуют. В данной статье хочу...
Безопасное подключение с чужого компьютера Всем привет!Так получилось, что знакомство с миром *NIX систем началось у меня в конце 90-х с системы FreeBSD, которая долгое время была любимой и с удовольствием использовалась для решения множества задач. Но, время шло, и приоритеты сместились в пользу Linux дистрибутивов,...
Разворачиваем Kubernetes-платформу Deckhouse в Yandex Cloud Платформу Deckhouse можно устанавливать на виртуальные машины облачных провайдеров, на bare metal-серверы, в закрытый контур и не только. В статье рассмотрим вариант установки Deckhouse в Yandex Cloud. А чтобы убедиться, что все внутренние ресурсы и компоненты работают ...
[Перевод] Как повысить эффективность обработки данных в сфере авиации. Кейс Xiamen Airlines Привет, друзья! Сегодня команда Business Intelligence GlowByte поделится материалом от китайских партнеров из FanRuan – кейсом внедрения FineBI в авиации. Статья объемная (и “визуальная”), состоит из двух частей. В первой рассказывается о компании и проблемах, с которыми она...
Колдовской NeoVIM. Часть третья. «Режимы сна, отдыха и Nvim’a» Режим в жизни нужен для того, чтобы не растолстеть к тридцати годам и высыпаться.Режимы в Nvim нужны для того, чтобы сломать жизнь неподготовленным чародеям, а выспаться вы сможете только тогда, когда полностью прочитаете всю документацию, сможете выйти из Nvim и, просветлен...
«Давайте перепишем всё с нуля». Почему такой подход интереснее программистам, а не бизнесу Привет! Меня зовут Дмитрий Панькин, я основатель компании, которая создает сложные ИТ-продукты для клиентов: сайты маркетплейсов, B2B-порталы, личные кабинеты, приложения, кастомные CRM- и ERP-системы.Очень частый запрос от наших заказчиков — переписать существующую в и...
Адаптивная антенна на беспилотном летательном аппарате или как одновременно увеличить дальность связи и подавлять помехи Можно ли одновременно увеличить дальность связи с беспилотным летательным аппаратом (БЛА) и подавлять помехи без увеличения габаритов, массы и энергопотребления бортового модема? В настоящей статье мы рассмотрим как это можно сделать с помощью адаптивной антенной системы. Ст...
Борьба за человекочитаемость кода, которому 10 лет: опыт Хабра Код Хабра день за днём впитывает в себя время, мысли и чаяния многих людей. Этому коду более 10 лет: он оброс множеством знаний, в том числе и тайных. Места c bus factor = 1 — не эка невидаль, а вполне конкретные люди с ответами на часто задаваемые вопросы. Меня зовут Антон ...
Dynamic Programming, или как использовать предыдущий computation-опыт Меня зовут Аят, я Android-инженер команды антифрода в inDrive. Эта статья не связана с продукционной разработкой, но будет касаться программирования. Я расскажу о Dynamic Programming (DP) и о том, как эффективно использовать предыдущий computation-опыт. Надеюсь, будет интере...
Почему мы отказываемся от стратегических сессий Всем привет, меня зовут Гай, и я консультант, помогающий IT-компаниям проводить стратегические сессии и разрабатывать стратегию компании.Я проводил стратегические сессии в паре десятков отечественных ИТ-компаний, в том числе и в драгоценной для нас с вами компании Хабр я про...
5 книг по компьютерному «железу» для новичков и профи Привет, Хабр! Мы продолжаем публиковать подборки профессиональной литературы разных направлений для представителей IT-отрасли. Эта статья посвящена компьютерному «железу». В подборке — как относительно базовые книги, так и более продвинутые. Найти что-то полезное для себя в ...
[Перевод] Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 2 Представляю вашему вниманию вторую часть статьи о создании расширения web-браузера Chrome, которое позволяет извлечь все изображения с web-страницы.В этой части я покажу как автоматически упаковать все изображения этого списка в ZIP-архив и предложить пользователю его скачат...
7 устаревших аппаратных функций смартфонов, которые хотелось бы вернуть И эволюция смартфонов не всегда приносит пользователю благо, но производители снова и снова идут на эти шаги, руководствуясь собственной политикой. Например, сколько споров в сообществах разгоралось по поводу отказа Apple от поставки в комплекте к гаджетам адаптеров питани...