Социальные сети Рунета
Воскресенье, 30 июня 2024

Библиотека на Go для работы с RuStore API Привет, Хабр!Меня зовут Энрике, и я работаю Go-разработчиком в RuStore. Сегодня хочу рассказать про библиотеку на Go для комфортной работы с API магазина приложений RuStore. Иногда авторизация через API и получение JWE-токена занимают больше времени, чем хотелось бы. С ...

Сделали библиотеку компонентов, но пришлось переделывать. Почему так вышло и чем дело кончилось Привет, Хабр. Меня зовут Артем Арефьев, я руковожу Frontend-разработкой в направлении продукта для учеников в Учи.ру. Фронтендом занимаюсь уже 11 лет, шесть из которых работаю у нынешнего работодателя. Еще принимаю участие в проектах Open Source (например, внес вклад в проек...

asynpg-lite: Простой асинхронный менеджер для PostgreSQL на Python Друзья, в прошлых своих публикациях я рассказывал о том, что почти в каждом своем проекте использую свой класс для работы с базой данных PostgreSQL. На днях этот класс перерос в полноценную библиотеку asynpg-lite на базе asyncpg, которую каждый из вас может прямо сейчас уста...

Библиотека Scout — быстрый и безопасный DI на Kotlin Привет! Меня зовут Александр Миронычев. Я занимаюсь инфраструктурой приложения Яндекс Маркет под Android. Около двух лет назад при работе над модульностью у меня появилось желание написать собственную библиотеку для внедрения зависимостей, которая позволила бы ускорить сборк...

Управляем навигацией во Flutter с помощью библиотеки auto_route: часть 2. Guards, Wrappers и миграция Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex. Это продолжение моей статьи про библиотеку auto_route. В этой статье, я попробую пояснить, что такое охранники(guards), обертки (wrappers) и с чем вам придется столкнуться в легаси проектах при миграции на ...

Подключаем модуль TM1638 к Arduino без библиотеки SPI Изначально поставка задачи была такой. У меня была в наличии плата TM1638. Нужно было научиться с ней работать (ну и проверить работоспособность самой платы) для того, чтобы использовать её в одном интересном проекте (о нём в другой раз). Под рукой оказалась платка Arduino N...

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

Бенчмарк HTML парсеров в Python: сравнение скорости Привет, Хабр!Меня зовут Вадим Москаленко и я разработчик инновационных технологий Страхового Дома ВСК. В этой статье хочу поделиться с вами информацией по проведенному сравнению производительности нескольких популярных библиотек для простого HTML-парсинга.При необходимости с...

[Перевод] Пишем графический ASCII-калькулятор с помощью стандартной библиотеки Си Программа calculator.c родилась как школьный проект в рамках Student Innovation Scholarship. Сперва я решил написать простой инструмент для построения графиков функций с помощью символов ASCII, но после завершения первого прототипа понял, что задача намного сложнее, чем пре...

Room для Kotlin Multiplatform. Пробуем нативное решение Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В начале мая Google нас порадовали релизами нескольких библиотек для локальных хранилищ. Наконец, в приложения Kotlin Multiplatform можно полноценно использовать Room (версия 2....

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

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

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

Изменить цвета и кнопки сервиса — и не сломать дизайн-систему Меня зовут Алексей Афонин, я старший дизайнер продукта в Yandex Cloud. В прошлом году нам понадобилось полностью изменить внешний вид нашего сервиса для бизнес‑аналитики DataLens перед его выходом в опенсорс. Разработчики и дизайнеры интерфейсов часто ста...

[Перевод] Ранний взгляд на будущее тестирования с swift-testing Пару месяцев назад Стюарт Монтгомери, программист из команды XCTest в Apple, поделился новой библиотекой тестирования Swift с открытым исходным кодом на основе макросов.Библиотека называется Swift-testing, и, как указано в ее документации, она предназначена для проверки конц...

Решаем задачу асинхронного ввода-вывода с библиотекой Asio Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и ...

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

VR-тур на A-Frame + React Всем привет! Меня зовут Егор Молчанов, я разработчик в команде CRM для менеджеров ипотечного кредитования в компании Домклик. Хочу поделиться своим опытом создания VR‑тура с помощью фреймворка A‑Frame и библиотеки React. Для этого написал свой неболь...

5 полезных JS-библиотек для анимации, которые могут пригодиться в работе Привет, Хабр! Сегодня поговорим о фронтенде, а точнее, о способах улучшения веб-приложения. В этом могут помочь JS-библиотеки для анимации. В подборке их пять, но если вы знаете и другие, причём те, что применяете в работе сами, расскажите о них в комментариях. Читать далее

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

PaaS два года спустя. Обзор инструментов и какие задачи они решают Друзья, привет! Если у вас так же много разработчиков как у нас, то и им, возможно,  стало тесно стоять в очереди на deploy в монолите. А значит, вы можете решить перейти на микросервисную архитектуру и дать каждому игроку свой мяч каждой команде свой микросервис. ...

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

Рекомпозиция в Compose: что не видно разработчику невооруженным глазом Всем привет! Меня зовут Данила, я Android-разработчик в команде, которая занимается созданием супераппа WorksPad и почтового клиента RuPost Desktop.Все новые фичи в проекте пишутся на Compose, поэтому встал вопрос о повышении собственной квалификации. Нужно было разобра...

GPT vs Copilot: кто лучший помощник в написании UI-тестов для iOS? Мы выпускаем обновления приложений Lamoda минимум 4 раза в месяц. С каждым обновлением идут серьезные изменения: новые продукты, внедрение ML-моделей и так далее. У нас налажен процесс тестирования нового кода, но есть нюанс: проверять перед релизом нужно не только новую фун...

Расчетная архитектура платформы для A/B-тестов Mail.Ru Привет Хабр! Меня зовут Андрей Каймаков, я работаю в продуктовой аналитике Mail.ru в VK. Сейчас практически каждая IT-компания (да и не только IT) знает про A/B-тесты и понимает важность проверки новых фичей с помощью этого метода. Когда фичей становится много, то A/B-тесты ...

Metatron — Open Source библиотека для генерации отчетов на языке Rust Год назад возникла идея переписать весь Java-бекенд на Rust, который я уже несколько лет разрабатываю и поддерживаю. Я нашёл все аналоги библиотек и фреймворков из мира Java в экосистеме Rust: Читать далее

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

RecTools – OpenSource библиотека для рекомендательных систем Если вы когда-либо работали с рекомендательными системами, то знаете, что все необходимые и самые часто используемые инструменты разбросаны по разным библиотекам. Более того, каждая из таких библиотек имеет много уникальных особенностей, к которым нужно приноровиться (наприм...

Полное краткое руководство по grammY — JS-библиотеке для создания Telegram-ботов Привет! Меня зовут Арсений, я сеньор фронтенд-разработчик. В этой статье хочу рассказать про основные механизмы библиотеки grammY и разобрать стартовый набор файлов бота, обработку ошибок, виды обработчиков событий, контекст обновлений, работу с разными видами клавиатур и м...

AMD открыла доступ к исходному коду библиотеки трассировки лучей HIP Библиотека трассировки лучей от AMD стала доступна как Open Source, что значительно упростит разработчикам её интеграцию и использование в своих приложениях.

Как ускорить LLM-генерацию текста в 20 раз на больших наборах данных Всем привет, я Алан, разработчик-исследователь в MTS AI. В команде фундаментальных исследований мы занимаемся исследованием LLM, реализацией DPO и валидацией наших собственных языковых моделей. В рамках этих задач у нас возникла потребность в генерации большого количества да...

Опечатки, нулевые указатели и коварный таб: 33 фрагмента в библиотеке GTK GTK – популярный фреймворк с открытым исходным кодом для создания графических интерфейсов, который интересно проверять с помощью анализатора PVS-Studio. Тем более, что предыдущую проверку мы делали около 3 лет назад, а значит, наверняка найдём в нём новые ошибки. Очень не х...

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

Какие ML-платформы нужны бизнесу, и кто их может сделать Привет, Хабр! Меня зовут Виктор Кантор, я директор Big Data МТС. Около 14 лет я работаю с технологиями, связанными с Machine Learning, Big Data, Data Science. Но есть одна проблема, с которой я постоянно сталкиваюсь. Например, поставлена задача, которую нужно решить при помо...

Библиотека libopencm3: Быстрый старт (Часть 2). Работа с GPIO, SPI, отладка проекта при помощи GDB В первой части мы подготовили среду для легковесной разработки под STM32. Пора приступить к экспериментам. Читать далее

Организация очереди обращений к native библиотеке из управляемого кода средствами Dispatcher В недавнем прошлом столкнулся со следующей проблемой: в реализуемом проекте (под .net) необходимо было организовать взаимодействие с внешними ресурсами (аппаратное обеспечение, специфическая полнотекстовая БД). Доступ к этим ресурсам осуществлялся средствами библиотек содерж...

Persistent-request библиотека для надежных запросов Всем привет!В этой статье расскажу, как решил написать библиотеку https://packagist.org/packages/xman12/persistent-request и что там внутри.Как и любая библиотека, эта решает свои задачи, а именно гарантированное выполнение запроса и последующую обработку. Я находил, как мин...

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

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

Адаптивный дизайн приложений на Gtk Основные рабочие среды из мира GNU/Linux — это GNOME и KDE Plasma. До недавнего времени их можно было видеть только на десктопах, но сейчас эти окружения можно заметить и на мобильных девайсах. Эти девайсы не слишком распространены. Десктопный Linux встречается гораздо чаще....

Библиотека контролов для Avalonia UI Последний год наша команда работала над кроссплатформенной версией САПР Delta Design. В результате этой работы была создана своя библиотека UI контролов для Avalonia, которая поддерживает как ОС Windows, так и ряд систем Linux, включая российские АстраЛинукс, РедОс, а также ...

Простые шаги к эффективному code review Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В нашей компании работает около 500+ IT-специалистов, именно мы создаём продукты и сервисы, из которых и состоит СДЭК. Моя команда разрабатывает сервисы для автоматизации процессов п...

Qucs-S: руководство по использованию SPICE-моделей и созданию библиотек Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан с использованием набора библиотек Qt. О принципах работы с Qucs-S рассказывают мои предыдущие статьи. Далее будет рас...

Библиотека WiringRP для управления GPIO на Repka Pi Если вы ищете средства для работы с GPIO микрокомпьютера Repka Pi из программ, составленных на Си, обратите внимание на библиотеку WiringRP. В этой статье мы расскажем, как создавать с ее помощью однопоточные и многопоточные программы, управляющие светодиодами, сервоприводам...

AMD открыла исходный код библиотеки HIP Ray-Tracing Библиотека позволяет разработчикам добавлять трассировку лучей в свои приложения.

Дизайн-система Gravity UI: как легко построить свой интерфейс Всем привет, я Алексей Сизиков, руководитель отдела User Experience в Yandex Cloud. В этой статье я хочу поделиться новостью: мы выпустили нашу дизайн-систему и библиотеку компонентов Gravity UI в опенсорс. Под катом — рассказ, зачем мы сделали Gravity UI, как его ...

Создание библиотек и публикация в npm Занимаясь веб-разработкой в it-компании Intelsy на аутсорс- и аутстафф-проектах, я постоянно подключаю и использую библиотеки. Решил собрать воедино всю накопленную информацию по этой теме и поделиться с теми, кому это может быть нужно: с опытными или начинающими разработчик...

Введение в библиотеку Diffusers и диффузионные модели Diffusers — это библиотека от Hugging Face, которая позволяет работать с сотнями предобученных моделей класса Stable Diffusion для создания изображений и аудио.Всегда хотели стать художником, но у вас лапки? :) Тогда Diffusers этот то, что вам нужно!В этой статье рассмотрим ...

Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake В статье описан практический пример настройки проекта на языке C++ с использованием, в качестве примера, библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качест...

Автоматизируем рутину в Android разработке: плагин для создания шаблонного кода на примере создания -api -impl модулей Привет, хабр! Меня зовут Алексей, я ведущий разработчик платформенной команды и по совместительству лид архитектурной компетенции в проекте Альфа-Бизнес. Сегодня я расскажу, как можно автоматизировать повторяющуюся работу в андроид-разработке при помощи плагина для Android S...

Transition Animation: настраиваем анимацию переходов во Flutter Привет! Меня зовут Айдар Мавлетбаев, я Flutter-разработчик в AGIMA. Современное приложение почти невозможно представить без анимации. И один из ее типов — Transition Animation, или анимация переходов. Ее используют, чтобы переход с одной страницы на другую был плавным и крас...

Совместимость серверов «Тринити» с платформами виртуализации: «РУСТЭК» Привет! Меня зовут Эрик Игнатов, я — ведущий инженер «Тринити».  С недавнего времени у нас в R&D-отделе появился план по тестированию достижений народного промысла русских инженеров. В него входит в том числе порядка 12 отечественных решений для серверной виртуализа...

Пять вредных советов, как гарантированно НЕ написать книгу Привет, Хабр! Меня зовут Иван Чаплыгин и я – руководитель отдела переводов в компании КРОК. Пару лет назад я написал книгу «Думай о смысле. Будни переводчика IT-текстов», которая вышла в издательстве «МИФ». Пробежав писательский марафон и набив пару-тройку шишек, решил ...

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

Как подружить бизнес и процессы Привет, Хабр! Я Максим Катаев, старший аналитик в отделе Mobile Core Тинькофф. Наш отдел разрабатывает общие компоненты для мобильных приложений: от авторизации до дизайн-системы. Они используются в приложениях экосистемы Тинькофф: Инвестициях, Бизнесе, Мобайле и прочих.&nbs...

Локальный веб-сервер для разработки с помощью Docker К вам в отдел выходит новый коллега-разработчик и, прежде чем брать первые задачи в одном из проектов, первым делом ему нужно запустить его у себя локально. Если это Senior Full Stack разработчик с опытом администрирования Linux, то установка и настройка конфигов Nginx,...

Подключение Google Gemini Pro к проекту на Python Несколько дней назад я решал задачу подключения Yandex GPT, и главной сложностью там было освоение Yandex Cloud Console. В остальном API - вылитая LLaMa 2.С Google Gemini история иная. Документация консоли содержит те самые вставки "New to Google Cloud", отсутствие которых ...

[Перевод] Почему я отказался от GraphQL GraphQL — невероятная технология, привлёкшая много внимания с тех пор, когда я начал в 2018 году использовать её в продакшене. Вам не придётся долго листать мой блог, чтобы увидеть, как я раньше продвигал её. После создания множества React SPA поверх путаницы нетипизированны...

[Перевод] Cовместное использование GitHub Actions, Docker и GitHub NPMvPackage В современном мире разработки программного обеспечения GitHub остается самой популярной платформой для хранения Git-репозиторий и управления ими. Помимо своей фундаментальной роли в управлении версиями, GitHub предлагает дополнительные функции, включая возможность размещения...

Качество выше, релиз ближе: как аналитик влияет на успех IT-проекта Привет, я Юля Зубова — руководитель отдела аналитики в диджитал-агентстве ДАЛЕЕ. Хотя написано много статей про роль аналитиков, открыты сотни вакансий и есть даже целые сформированные отделы, остались компании и команды, где их нет. Иногда приходится объяснять, зачем нужны ...

Какой плащ был у Понтия Пилата? Отвечает GigaChat Всем привет! На связи лид разработки SDK GigaChat’a — Константин Крестников. В этой статье я расскажу о том, что такое GigaChain и как в целом SDK позволяет упростить жизнь разработчика LLM, например, научить LLM давать ответы на вопросы по вашим документам или работать в ре...

Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще Привет Хабр! В этой статье мы рассмотрим некоторые полезные библиотеки Python для задач обработки данных, с которыми, возможно, вы еще не знакомы. Хотя для задач машинного обучения на ум приходят такие библиотеки, как pandas, numpy, scikit-learn, keras, tensorflow, matplotli...

Разработка децентрализованных приложений на Spring Boot: инструменты Web3 Tech Привет! Меня зовут Даниил, я разработчик в Web3 Tech. Недавно в JVM-инструментарии для нашей основной платформы «Конфидент» состоялся новый релиз, в который вошли библиотеки клиента для взаимодействия с нодой и Spring Boot стартеры. Далее в посте я расскажу об этих библиотек...

Как выжать максимум из Confluence. Глава первая Привет, Хабр! Я Ульяна, старший аналитик в направлении продуктового и системного анализа в отделе Tinkoff Mobile Core. Наш отдел разрабатывает общие технические решения — библиотеки, которые используются в мобильных приложениях экосистемы Тинькофф.Для наших коллег мы проекти...

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

Microsoft представила языковую модель Phi Silica для Windows Copilot Library На конференции разработчиков Build 2024 Microsoft представила новую компактную языковую модель Phi Silica, которая станет частью библиотеки Windows Copilot Library. Эта модель включает в себя 3,3 миллиарда параметров, что делает её самой маленькой в семействе Phi. Сообщаетс...

Альтернатива Nova: почему решили перейти с самописного решения на Orchid Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного внутри студии. Когда-то за основу был взят шаблон Inspinia, и для него написан...

Упрощаем подключение линтеров в пайплайны Gitlab CI Всем привет! Меня зовут Юра, я Python-разработчик в Точке. В статье я покажу, как написать шаблон с линтером для Gitlab CI, чтобы при старте нового проекта (или уже запущенного) было легко добавить линтер в пайплайны. А ну-ка

Яндекс опубликовал свой ускоритель обучения нейросетей – YaFSDP Команда Яндекса открыла для всех доступ к библиотеке YaFSDP. Она значительно ускоряет обучение больших языковых моделей — как собственной разработки, так и сторонних, с открытым исходным кодом.  Сгенерировано нейросетью Dall-E Как отмечают в Яндексе, с помощ...

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

Backend Driven UI с точки зрения бэкенда: к чему готовиться, если вы решили на него перейти Многим знаком подход Backend Driven UI. С его помощью можно создавать новые страницы, запускать А/B-тесты, легко менять флоу в любое время и сразу на всех платформах. И при этом не надо долго и мучительно перевыкатывать приложение.Обычно о BDUI рассказывают мобильные разрабо...

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

Protobuf и buf: блеск, нищета и импортозамещение Если для компиляции proto-файлов вы всё ещё используете protoc, самое время перестать и перейти на buf. Разберём, как это сделать и почему это необходимо. Также рассмотрим проблемы доступа к buf.build.Меня зовут Эдгар Сипки, я Go-разработчик в Ozon Fintech. buf — мощная утил...

Как быстро интегрировать Систему быстрых платежей (СБП) в приложение на Flutter Всем привет! Меня зовут Мурат Насиров, я Flutter-разработчик в Friflex. Мы разрабатываем мобильные приложения и специализируемся на решениях для ритейла. На одном из наших проектов мне пришлось столкнуться с внедрением кнопки оплаты через Систему Быстрых Платежей (СБП). В эт...

Байт-код — это просто! Как сделать DI по-настоящему быстрым Привет! Меня зовут Григорий Юрков, и я уже несколько лет работаю в инфраструктурной команде Яндекс Маркета. Два года назад мы начали разрабатывать свой легковесный DI-фреймворк Scout, который предоставляет выразительный Kotlin DSL. Он не генерирует код, а делает вс...

[Перевод] Работа со временем и датой в C# с применением библиотеки Humanizer Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуман...

database/sql: плохой, хороший, злой Многие Golang-разработчики  пробовали работать с БД в Go, и у каждого — свои боли. В этой статье разберём библиотеку database/sql как безотносительно конкретной СУБД, так и применительно к YDB. Рассмотрим трудности эксплуатации при использовании драйвера database/sql на...

Как работает multiprocessing в Python под капотом Я довольно давно пишу на Python и во многих проектах использовал multiprocessing — пакет стандартной библиотеки языка Python, который предоставляет интерфейс для работы с процессами, очередями, пулами процессов и многими другими удобными инструментами для параллельного прогр...

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в се...

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

Теперь-то наконец блоки NPU в процессорах Intel станут полезными? Компания открыла исходный код своей библиотеки ускорения NPU Acceleration Library Компания Intel открыла исходный код своей библиотеки ускорения NPU Acceleration Library, позволяющей компактным моделям искусственного интеллекта работать непосредственно на блоках NPU в процессорах Meteor Lake.  Библиотека создана на языке Python и призвана помоч...

KISS your website или как написать уважаемый сайт на аутсорсе, глава первая Добрый день. Меня зовут Тимофей, я фронт-тимлид в диджитал-продакшене ДАЛЕЕ. В данном цикле статей я поделюсь подходами и инструментами фронтенд-разработки на аутсорсе, которые помогут создать качественный продукт без кошмарного instant-legacy и значительно облегчат жизнь ко...

Как я написал программу для преданалитики клиентов Привет! Меня зовут Александр Кулагин. Я не занимался разработкой профессионально, но заинтересовался созданием нейросетей. После изучения основ Python, NumPy и TensorFlow я захотел попрактиковаться на реальных задачах. Так я решил создать проект, который оценивает, какие ком...

Большая шпаргалка по Docker: как распилить монолитный проект на части Погружение в мир контейнеризации с докером — это путь к оптимизации развёртыванию приложений, а также ключ к упрощению жизни разработчиков и системных администраторов. Меня зовут Андрей Аверков, в IT c 2008 начинал пусть с аналитика-проектировщика IT систем, 11 лет в роли ра...

Как показать номер версии на экране загру… Привет, Хабр! Меня зовут Сергей, и я 3 года работаю Android/iOS разработчиком. Написал с нуля приложение для фитнес-клубов (Google Play/App Store — если интересно, код под NDA, его не могу показать) и дорабатываю малоизвестный банк. За это время накопилось много интерес...

Что нужно знать о gRPC системному аналитику Всем привет! Я Ирина Матевосян, системный аналитик в направлении продуктового и системного анализа в отделе Tinkoff Mobile Core. Мы разрабатываем общие библиотеки, которые используют все мобильные приложения экосистемы Тинькофф. Расскажу о протоколе gRPC. На Хабре много...

Хотел устроиться Python-разработчиком, стал мидлом в QA-отделе — как я искал первую работу Привет! Меня зовут Юра, и в этой статье я хочу поделиться своим опытом поиска работы. И это вряд ли блестящая история успеха — на этом пути нашлось место и самым неожиданным факапам, и офферу от галеры, и отчаянию. Спойлер: на работу я всё-таки устроился, хоть и совсем не в ...

Простой тест llvm/libjit часть II, те же + gnu lightning Эта статья является продолжением Простой тест libjit vs llvm, где сравнивалось быстродействие библиотек для Just In Time компиляции llvm и libjit на примере задачи решета эратосфена. В этой статье решается точно та же задача — решето эратосфена при помощи еще одной JIT биб...

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

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

No fail, no gain: как мы исправили более миллиона тестов, проверяя оптимизацию библиотеки OpenBLAS под RISC-V Открытая архитектура RISC-V активно развивается: в стандарт добавляются новые расширения и инструкции, разрабатываются новые ядра и SoC. Поскольку многие компании видят перспективы архитектуры и готовы использовать ее в продакшене, создается программный стек для высокопроизв...

Один QA в поле воин? Всем привет.Меня зовут Пронин Евгений, я Senior QA Engineer. Я работал в студии ITTerritory в полноценном отделе тестирования с несколькими коллегами, также имел опыт как единственный инженер на проекте в студии Nakusi Games. Я расскажу о своем опыте и поделюсь некоторыми н...

Pet-проекты — это зло. Вредные советы для фронтендеров Привет, Хабр! Меня зовут Александр Водолазских. Я руковожу направлением разработки интерфейсов в СберМаркете и после работы люблю посидеть за кодом, разрабатывая собственные пет проекты. Чего я только не кодил по вечерам: писал смарт контракты на Solidity, копался с раз...

Камера и Flutter Hola, Amigos! На связи Александр Чаплыгин, Flutter-dev в Amiga. Недавно я выступал на конференции для разработчиков DevFest в Омске с докладом «Камера и Flutter». Решил поделиться с вами своим первым опытом выступления. Возможно, кому-то будет полезно понять, как это устроен...

Facebook Connect: ссылки на руководства по аутентификации Взаимодействие с социальными сетями — весьма важная и актуальная задача для разработчиков веб-проектов. По мере того как в России начинается медленный переток пользователей в Фейсбук, уже отмеченный Норвежским Лесным, проблема освоения Facebook Connect становится всё более з...

Хватит маппить все руками, используй Mapster Привет, Хабр! Меня зовут Георгий, я С#-разработчик в SimbirSoft. Хочу рассказать об опыте использования библиотеки Mapster: как он может упростить разработку, сэкономить силы и частично избавиться от рутины маппинга.Данная статья подойдет и тем, кто только собирается открыть...

Обзор библиотеки Stan в R Приветствую! Stan - это библиотека на C++, предназначенная для байесовского моделирования и вывода. Она использует сэмплер NUTS, чтобы создавать апостериорные симуляции модели, основываясь на заданных пользователем моделях и данных. Так же Stan может использовать алгоритм о...

PI-планирование: как с его помощью мы выстроили здоровую коммуникацию с заказчиком Привет! Меня зовут Даша Семенова, я руководитель проектов в AGIMA. Уже пять лет настраиваю процессы у одного большого заказчика. Это еком, ребята продают свою продукцию, а многие из вас ее покупают. А если не покупаете, то точно слышали. В общем, бренд известный и важный для...

«Михалыч, где заказ?» или как мы автоматизировали процесс заказа лома и отслеживали его по RFID Для того, чтобы повысить качество производства и продолжать расти, бизнесу приходиться автоматизировать ручные операции. Но борьба с легаси-процессами только на первый взгляд кажется простой и лёгкой. Найти то, что плохо работает и придумать, как это решить, не так то просто...

300 книг для разработчиков игр: обновление Gamedev библиотеки С Новым Годом уважаемые читатели! Год назад я публиковал подборку из 150-ти книг для тех, кто делает игры и в ней я обещал, что буду постоянно обновлять ее и добавлять в нее новые книги. Время не заставило себя ждать и количество книг в подборке увеличилось в двое и если вы ...

[Перевод] Исследование режима Copy-on-Write в pandas. Часть 1 Библиотека pandas 2.0 вышла в начале апреля, в ней появилось много улучшений нового режима Copy‑on‑Write (CoW, копирование при записи). Ожидается, что в pandas 3.0 режим CoW будет использоваться по умолчанию. Сейчас полный переход на к...

Одно, чтоб править всеми: как мы сделали хаб для сопровождения СУБД Работа в СУБД — это множество разноплановых задач: создание новых продуктов, плановые обновления, работа с инцидентами. По мере цифровизации компании количество таких задач растёт, очередь запросов наполняется. Всё больше времени уходит не на решения, а на подготовку — сбор ...

Вы за это заплатите! Цена Чистой Архитектуры Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 м...

Сбер открыл доступ к самой мощной своей нейросети – GigaChat Pro Команда Сбербанка открыла компаниям и разработчикам GigaChat API для доступа к двум моделям фирменной генеративной нейросети — GigaChat Lite и GigaChat Pro. Как отмечают в пресс-службе, GigaChat Lite подойдёт для решения более тривиальных задач, требующих при это...

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

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

Пароли в открытом доступе: ищем с помощью машинного обучения Я больше 10 лет работаю в IT и знаю, что сложнее всего предотвратить риски, связанные с человеческим фактором. Мы разрабатываем самые надежные способы защиты. Но всего один оставленный в открытом доступе пароль сведет все усилия к нулю. А чего только не отыщешь в тикета...

Топ-3 причины, почему вы должны использовать Copilot Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot п...

Account Abstraction: что это такое и зачем нужно криптомиру Привет всем! Меня зовут Паша, я web3 разработчик в команде MetaLamp, мой основной стек – Solidity. Последнее время я часто сталкивался с задачами, требующими применения технологии Account Abstraction, поэтому я решил собрать базовые знания о ней в одну статью. Эта статья пом...

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

[Перевод] Структурированное логирование в Go с помощью Slog Более 10 лет разработчики на Go жаловались на отсутствие структурированного логирования в ядре Golang. Участники сообщества Golang даже создали несколько собственных пакетов, таких как Logrus, Zap и Zerolog. В 2023 году, команда разработчиков Google Go наконец-то представила...

Роман Тезиков про СV-проекты и промт-инжиниринг как базовый навык каждого человека К нам на огонек в подкаст заглянул Роман Тезиков — senior-разработчик и DL-engineer. Эксперт рассказал много интересного о своем опыте реализации ML-проектов. А «на десерт» Роман поделился тем, как он применяет промт-инжиниринг в работе и личной жизни и каких впечатляющих ре...

Карсон Гросс, создатель HTMX Карсон Гросс (Carson Gross) — профессор информатики из Монтаны, который неожиданно стал одним из самых ярких персонажей в индустрии веб-программирования последних лет. Он автор языка HyperScript и популярной библиотеки для фронтенда HTMX, позволяющей создавать сложные инте...

Личный опыт: переход с Redux на Effector. И при чем тут DX Frontend-разработка очень богата различными инструментами. Новые фреймворки и библиотеки выходят чуть ли не каждый день и, к сожалению, не все из них одинаково полезны или могут сделать ваш продукт лучше. Кроме того, они различаются по степени удобства именно для разработчик...

Как установить NCALayer на Linux Всем привет, меня зовут Абай. В последнее время часто замечаю, что у пользователей Linux в Казахстане постоянно проблемы с установкой NCALayer, поэтому решил написать гайд, который простым языком объяснит, как установить его через терминал... Читать далее

Как автоматизировать заполнение changelog через GitHub Action Привет, Хабр! Меня зовут Юрий Петров, я автор Youtube-канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. Разработчики используют GitHub, чтобы писать и хранить свои прое...

Gabriel2 — Open Source асинхронная библиотека для модели Акторов на Rust с использованием Tokio В целом мне очень нравится концепция Акторов в асинхронном программировании. Низкоуровневое программирование с использованием очередей сообщений и обработчиков сообщений не позволяет мыслить в терминах высокоуровневых абстракций. Акторы позволяют абстрагироваться от низкоуро...

Как решить типичные проблемы Django нестандартным подходом: Fake Injection Давайте признаем, что развитие проектов в мире Django не всегда проходит гладко. Мы часто сталкиваемся с толстыми моделями и сериалайзерами, размытой бизнес-логикой и тестированием, которое больше напоминает головную боль, чем удовольствие. Меня зовут Павел Губарев, я back...

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

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

Solar appScreener подтвердил наличие бэкдора в утилите XZ Utils для Linux Разработчики Solar appScreener регулярно анализируют данные из open source-библиотек и прогнозируют риски, связанные с авторством сторонних компонентов.

Pandas в pandas'е: упаковываем документацию в датафрейм Документация к сложным библиотекам на питоне (напр. pandas) хранится в doc-строках и разбросана по сотням страниц сайта. В этой статье мы с помощью небольшого кода упакуем её (информацию из документации для каждого класса и метода) в... датайфрейм. Но зачем? Во-первых, это п...

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

Архитектура Stable Diffusion: Face ID, Lighting Это перевод моей статьи на medium.com. Год назад я провёл краткий обзор по теме переноса стиля. Пару месяцев назад я решил вернуться к этому вопросу и исследовать прогресс за последний год. За это время случилось много значимых изменений: архитектура open-source модели Stabl...

Подмена функций стандартной библиотеки PHP с помощью xepozz/internal-mocker Как в PHP заставить функции из стандартной библиотеки, например \time() или \date() выдать нужный результат? С помощью инструмента xepozz/internal-mocker такое возможно сделать. Для этого необходимо выполнить несколько подготовительных шагов и можно запускать тесты в любом о...

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

Дневник альтруиста. dfu-util В данной статье я рассмотрю подключение утилиты dfu‑util, написанную на языке С, к С++ проекту на CMake в виде сабмодуля.Одна из главных целей статьи — это подключение старого и типового кода на С к своему проекту. Здесь прив...

YouTube ждет интересный редизайн с заменой библиотеки ... YouTube для Android сейчас тестирует несколько заметный редизайн, заменяющий вкладку "Библиотека" на "Вы".

Отладка в PL/SQL Developer Привет! Меня зовут Алексей Маряхин, я работаю разработчиком на Oracle и пишу много, очень много кода. И когда программа ведёт себя не так, как ожидалось, на помощь приходит отладка. Не так давно выяснил, что не все разработчики владеют функционалом отладки или знаю...

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

SmartFlow: «В начале был пароль...» или новая аутентификация VK ID Привет, Хабр! Исторически сложилось, что первым способом аутентификации (в 1960-х) с появлением доступных компьютеров стал пароль. О рисках его использования и об изобретённых человечеством альтернативах мы подробно рассказали в статье о будущем беспарольной аутентифика...

Не пора ли валить с gnu libc на что‑то другое? Пользуюсь открытым ПО значительное время. Сижу на Линуксе.Но в последнее время настолько часто сталкиваюсь с различными багами, что думается иногда, а как оно вообще в принципе работает?Последний эпизод коснулся совсем уж системного кода - стандартной библиотеки libc от GNU....

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

[Перевод] Анатомия shadcn/ui Если вы следите за новинками экосистемы JavaScript, то должны были слышать об интересной библиотеке пользовательского интерфейса (user interface, UI) под названием shadcn/ui. Вместо того, чтобы распространяться в виде пакета npm, компоненты shadcn/ui добавляются с помощью ...

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512 Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые...

Что быстрее: Animated + useNativeDriver или Reanimated? Привет! Меня зовут Денис, я мобильный разработчик в СберМаркете. Пишу на React Native и люблю анимации, ведь они дают жизнь нашим проектам :)В этой статье попробуем разобраться, что же все таки работает быстрее: React-Native-Reanimated или Animated + useNativeDriver: true.Бу...

[Перевод] Каково положение отдела по взаимодействию с разработчиками (DevRel) в организационной структуре? Пришло время переосмыслить «местоположение» отдела по взаимодействию с разработчиками (DevRel) в структуре организации.Краткое изложение: Отдел по взаимодействию с разработчиками - не совсем инженерный, а также не полностью маркетинговый, и зачастую далек от сферы продаж. Ит...

Айтишникам нельзя не быть креативными, и я сейчас это докажу Всем привет. Меня зовут Антон, я Scrum-мастер IT-отдела компании AppEvent и по-совместительству front-end разработчик. В моей первой статье на Хабр хочу рассказать вам, почему же айтишнику нужно быть креативным и как этот навык вообще можно проявить. Ведь зачастую он являетс...

[recovery mode] Как вести несколько проектов и не сойти с ума. Очередная статья про тайм-менеджмент Привет! Меня зовут София, я маркетолог проекта Fitil, в блоге которого публикую эту статью. Fitil — это сообщество для знакомств и общения. Мы стартап, а значит, задач очень много.Кроме Fitil я веду ещё два проекта как маркетолог: занимаюсь позиционированием, запусками ...

Оптимизация работы с Camunda на основе External task Привет! Меня зовут Андрей, я - ведущий разработчик в "РТК ИТ". В этой статье речь пойдет об опыте перехода на паттерн external task в одной из наших систем.Camunda — это BPM-движок для автоматизации бизнес-процессов. Она представляет собой набор библиотек, которые и позволяю...

"Аэрофлот" и Российская государственная библиотека запустят цифровой проект В пресс-службе компании "Аэрофлот" объявили, что авиаперевозчик запустил проект "Читаем в небе" совместно с Российской государственной библиотекой, предоставляя бесплатный доступ к электронной библиотеке пассажирам во время полетов.

Хроники пикирующего бота или как важно не пропускать стадию QA в проектах Эта статья должна была рассказать вам о проекте простого телеграм-бота, который заточен на одно простое действие: мониторинг доступности сайтов. Но, опубликовав MVP и представив проект на публику, мы заранее не провели полный объем необходимых тестов, в самый ответственный м...

Как выдавать бесплатные SSL сертификаты с помощью certbot, Nginx и Docker Всем привет! Одна из моих рутинных задач - это подъем новых проектов и микросервисов в облаках. Для этого практически всегда нужны домены и поддомены с наличием SSL сертификата. У меня выработался подход, с помощью которого я автоматизировал процесс выдачи сертификатов с пом...

Было Software, а стало Abandonware: умирание и спасение ценного Давным давно я поиграл в прекрасную Armies of Exigo, сделал тогда даже видеообзор. Ну игра и игра. Иногда вспоминал ее, даже спустя 20 лет. По мне так местами лучше WarCraft III. И вот нонче решил снова прикоснуться к прекрасному - нашел, установил, прошел всю кампанию. Хоро...

К чему с годами приводит работа с Dependency Injection и Service Locator Глубину осознания библиотеки можно проверить, написав её самостоятельно. Возможно, новорожденное решение будет ограниченным и не найдёт свою аудиторию, но оно навеки принадлежит автору и подтверждает реальное понимание работы технологии. Так произошло и со мной. Я решил...

Библиотека рефлексивной генерации Swing-форм Некоторое время назад мне в голову пришла мысль создать библиотеку для быстрой генерации форм на Java Swing. Расскажу, как я к этому пришел. Читать дальше →

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

Блеск и нищета std::format Сравнительно недавно в stdlib плюсов появилось форматирование строк «как в питоне», а точнее, как в библиотеке fmt. И я, как смелый и отчаянный, решил этим воспользоваться. Возможно, аксакалы и настоящие разработчики скажут, что я всё делаю не так, и вообще не то, но я буду ...

Как настроить сбор статистики и автоматическое отключение пользователей WireGuard в ispmanager с помощью Python и API Привет! Меня зовут Вячеслав, и я руководитель отдела маркетинга. Я поднял VPN-туннель по подписке на базе ispmanager. Однако мне этого было мало: нужно было, чтобы по окончании подписки туннель автоматически отключался и статистика по каждому пользователю собиралась ежедневн...

Pet-проект на Rust нуждается в конструктивной критике Примерно 8 месяцев назад я написал на Rust pet-проект, который пытается быть подобием Hibernate в экосистеме Java. Я даже опубликовал его в качестве Open Source, но получил негативный отзыв и удалил его с GitHub.Сейчас я решил вернуться к этому проекту, но подойти к нему с д...

Когда не нужны библиотеки для работы с часовыми поясами Итак, настал тот moment, когда вам нужно работать с датами в разных часовых поясах (Новый год же!), а ваш архитектор/начальник не разрешает использовать Moment Timezone или Luxon, потому что они увеличат размер вашей сборки, а для вашего проекта важно, чтобы UI грузился быст...

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

Ловкость рук, четкость алгоритма и никакого мошенничества: чек-лист для дизайнеров интерфейсов и фронтенд-разработчиков Привет, Хабр! Меня зовут Даша, я проектировщик интерфейсов в Selectel. В профессии нахожусь уже более пяти лет и периодически встречаюсь с ошибкой: дизайнеры не всегда в процессе передачи макета в разработку проверяют, все ли кейсы и состояния учтены. Это приводит к потере...

Go на митап: обсудим sync.Pool, свой mini-k8s, паттерны и сообщения об ошибках 28 марта встречаемся на митапе по Go-разработке с инженерами из команд систем хранения данных и телекома YADRO, а также разработчиками из VK и AvitoTech. Эксперты расскажут, как: — снизить нагрузку на сборщик мусора,— сделать свой mini‑k8s,— написать библиотеку для...

Стиль написания кода на Wolfram Language Я как большой фанат Wolfram Language (WL) очень часто изучаю открытые репозитории с кодом на этом языке. Изучив достаточно много кода я заметил, что стиль написания этого кода очень сильно разнится от проекта к проекту. Но так же я изучил много встроенных пакетов в Mathemati...

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

Kotlin Object Multiplatform Mapper Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего прилож...

Мой вам подарок к новому году или как наконец запустил то, что надо было давно запустить… Немножко истории Начну с истории вопроса. Очень давно, я написал Fresh IDE – навороченнoe IDE для программирования на ассемблере, а точнее на FlatAssembler. Fresh IDE долгие годы меня полностью устраивал, поэтому я с перерывами выпустил 2 главные версии и начал просто его...

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

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

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

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

Библиотека libopencm3: Быстрый старт (Часть 3). Работа с USART, прерываниями, I2C и таймерами Часть 1. Настройка окружения для работы с libopencm3Часть 2. Работа с GPIO, SPI, отладка проекта при помощи GDBЧасть 3. Работа с USART, прерываниями, I2C и таймерамиДанная статья является заключительной в цикле, посвященном быстрому старту разработки под STM32 при помощи lib...

Операторы вымогателя Rhysida взяли на себя ответственность за взлом Британской библиотеки Хак-группа, стоящая за вымогателем Rhysida, взяла на себя ответственность за кибератаку на национальную библиотеку Великобритании, произошедшую в октябре. Из-за этого инцидента крупнейшая национальная библиотека мира столкнулась с серьезными проблемами в работе, которые прод...

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

WebAssembly: короткий обзор ассемблера для фронтенда В последнее время фронтенд все больше и больше обрастает новыми технологиями, одна из них — WebAssembly. На ней можно написать полноценное web‑приложение и почти все на что способна ваша фантазия. В статье мы рассмотрим, что такое WebA...

Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++ Привет, Хабр! Меня зовут Кирилл Колодяжный, я ведущий инженер-программист в YADRO. Помимо основных рабочих задач, включающих исследование проблем производительности СХД, я увлекаюсь машинным обучением. Участвовал в коммерческих проектах, связанных с техническим зрением, 3D-с...

Проектирование веб-приложений с помощью Python и Flask Для каких проектов лучше всего подходит Flask, а для каких — Django? Какие особенности Flask можно использовать при разработке веб-приложений наиболее эффективно? Я Алексей Некрасов, лидер направления Python в МТС, автор форка библиотеки flask-combo-jsonapi, программный дире...

TEAMLY представил обновленную версию: платформа позволит управлять проектами и автоматизировать работу отделов О главных функциях

Простой путь к публикации Vue3 модуля на NPM с помощью Vite Для веб-разработчика (особенно начинающего) создание собственных модулей и публикация их в open source может казаться сложным процессом. В этой статье я покажу один из самых простых и быстрых способов публикации своего модуля на NPM при помощи бандлера Vite. Этот метод ...

Библиотека EremexControls.NET для Avalonia UI — Обновление март-апрель 2024 В предыдущей статье мы рассказали о нашей первой версии библиотеки UI контролов для создания мультиплатформенных приложений под Avalonia UI. С тех пор прошло достаточно времени, в течение которого мы продолжали работать над новой версией Delta Design и расширением линейки ко...

[Перевод] Оптимизируя неоптимизируемое: ускорение компиляции C++ В этой статье речь пойдёт о повышении скорости компиляции библиотеки {fmt} до уровня библиотеки ввода-вывода Cи stdio. Дня начала немного теории. {fmt} – это популярная открытая библиотека С++, представляющая более эффективную альтернативу С++ библиотеке iostreams и библио...

Анатомия StyleX Hello world! По данным 2023 JavaScript Rising Stars библиотека StyleX заняла второе место в разделе Styling / CSS in JS (первое место вполне ожидаемо занял TailwindCSS). stylex — это решение CSS в JS от Facebook, которое недавно стало открытым и быстро набрало популярност...

[Перевод] Perfect DLL Hijacking. Разбор техники Привет, Хабр, на связи лаборатория кибербезопасности компании AP Security!  В статье речь пойдет о такой технике, как DLL Hijacking, а именно как это работает от А до Я.DLL Hijacking - это техника, позволяющая внедрять сторонний код в легитимный процесс (EXE), обманывая...

Детальный React. Реконсиляция, рендеры, Fiber, виртуальное дерево В сети можно найти огромное количество статей, мануалов и книг по основам React, включая официальную документацию от разработчиков. В этой статье мы не будем писать HelloWorld и изучать общеизвестные концепции. Сегодня мы заглянем под капот библиотеки и попытаемся понять, ка...

Своё кастомное межсервисное взаимодействие с блекджеком и gRPC Привет, Хабр! Меня зовут Ильяс. Мы с командой делаем собственный Service Mesh в Ozon Tech, и в этой статье я расскажу, как можно за вечер реализовать свое супер кастомное межсервисное взаимодействие. К концу статьи мы с вами напишем современные алгоритмы балансировки, настро...

В NuGet обнаружили троян SeroXen RAT В репозитории NuGet найдены вредоносные пакеты, суммарное количество загрузок которых превысило 2 млн. Малварь выдавала себя за криптовалютные кошельки, различные криптосервисы и библиотеки Discord, чтобы заразить разработчиков .NET трояном удаленного доступа SeroXen.

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

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

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

Миландр + GCC + VSCode. Пробуем мигать светодиодом на отечественном ARM32 микроконтроллере Год назад я написал статью об отладке STM32 микроконтроллеров из под VSCode, с компиляцией в GCC и сборкой с помощью CMake. А в декабре мне в руки попали две тестовые единицы отечественных микроконтроллеров К1986ВЕ92FI (MDR1211FI1). Производитель имеет свою библиотеку SPL на...

Kornia — библиотека компьютерного зрения Kornia это open source библиотека для решения задач компьютерного зрения. Она использует PyTorch в качестве основного бэкенда и состоит из набора дифференцируемых процедур и модулей. Создатели библиотеки вдохновлялись OpenCV, и поэтому Kornia является его аналогом, но при эт...

Смена профессии и мой первый опыт в IT: путешествие в мир фронтенда с Tauri, REST и Fetch API Привет, Хабр! Меня зовут Гармаев Энхэ. В течение длительного времени я работал в сфере розничной торговли, занимая должность менеджера. Это было увлекательное и насыщенное время, но, как говорится, в жизни всегда есть место переменам и новым вызовам....

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кэшей.В этой статье будет вс...

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

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

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

Как автоматизировать использование дизайн токенов с помощью Stylelint и PostCSS Привет, Хабр!Меня зовут Саша и вот уже 7 лет я работаю фулстек разработчиком и пишу на C# и TypeScript/React.Сегодня я хотел бы поделиться своим небольшим успехом в автоматизации. В какой-то момент я понял, что во время код ревью я указываю разработчикам на одни и те же ошиб...

Привычка быть SOLIDным разработчиком Привет, Хабр! Меня зовут Грант, я уже 5 лет занимаюсь backend-разработкой в SimbirSoft, а с 2021 года возглавляю Backend-отдел компании в Краснодаре. В последние несколько лет неоднократно замечаю, что на входном интервью соискатели часто путают принципы разработки. Поэтому ...

HypEx и мэтчинг. Эксперимент без A/B-тестирования? Привет, Хабр! Меня зовут Дмитрий Тихомиров, я работаю в блоке «Финансы» в команде разработки HypEx (Hypotheses and Experiments) — open source-библиотеки для Python. Наша команда хотела придумать ёмкое название для фреймворка, чтобы оно отражало суть происходящего и помогало ...

Anvil Utils: Assisted injection в многомодульных Android проектах без боли Привет, Android разработчики!Хотел бы рассказать вам про мою библиотеку (Anvil Utils) - кодогенератор позволяющий слегка уменьшить количество боилерплейта в многомодульных проектах использующих Dagger 2 и Anvil. Читать далее

Ozon Tech Community 1C Meetup Как сделать жизнь 1С разработчика проще? У нас есть ответ.Всем привет, меня зовут Евгений, я руководитель группы разработки финансовых систем 1С. Приглашаю вас на Ozon Tech Community 1C Meetup, 10 октября в Санкт-Петербурге.На встрече обсудим целую палитру тем: от подходов п...

Помогаторы разработчика 1С Всем привет. Данная статья написана по моему выступлению на Infostart Event 2022, на котором я рассказал об инструментах и «лайфхаках», которые использую в своей работе и которые, как мне кажется, помогают сделать работу разработчика 1С проще, удобнее, а главное, эффективней...

Инструменты AutoML в 2024 Определимся с терминологией. Можно найти c десяток формулировок «AutoML- это…» с разной степенью детализации. Но все они сведутся к словам «AutoML — автоматизирует и упрощает работу с данными». И вот здесь как раз и начинаются сложности. Границы определения AutoML размыты. Е...

Test Driven Development в Embedded, или Как увеличить производительность команды на 37% Современное развитие в области встроенной разработки и электроники с учётом бизнес-процессов ускоряется, часто следуя принципам Agile и Scrum. Применение этих методик требует осторожности из-за длительного производственного цикла встроенной разработки, который затрудняет быс...

Шрифт на кривых Безье на микроконтроллере ИдеяИдею подсмотрел в канале о программировании ESP32, один человек продемонстрировал часы на 6 дисплеях. Каждая цифра на своём дисплее типа 1.8" 128х160. Разработчик проекта показал источник своего вдохновения: проект Bézier Clock на Javascript разработчика Jack Frigaard. К...

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

USB через IP: тест российского сетевого USB-концентратора Привет! Я Воробьев Михаил, R&D-специалист «Тринити». Мы в отделе исследований и разработок постоянно тестируем множество программно-аппаратных комплексов, которые применяем в работе компании. Когда попадается что-то интересное, очень хочется об этом написать. Вот и ...

Ускорение Python в 2 раза с помощью multiprocessing, async и MapReduce Python действительно может считаться относительно медленным языком программирования по сравнению с некоторыми другими языками, такими как C++ или Java. Однако, существуют различные библиотеки и инструменты, которые позволяют ускорить выполнение счетных задач в Python. Рассмо...

9 полезных крейтов в Rust Привет, Хабр!Rust, как любимый многими разработчиками знаменит своей скоростью и безопасностью. Но его истинная сила заключается в экосистеме крейтов — библиотек и инструментов, которые могут превратить сложные и трудоёмкие задачи в удивительно простые и приятные процессы.Кр...

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

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

Кратко про экосистему RAPIDS для работы с данными на GPU Привет, Хабр!RAPIDS — это open source библиотека экосистема, состоящая из нескольких библиотек, разработанная NVIDIA, которая предоставляет набор инструментов для выполнения всего цикла обработки данных и аналитики на GPU. RAPIDS была создана с целью того, чтобы ускорить а...

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

Как автоматизировать переобучение моделей? Меня зовут Денис, я управляю разработкой и внедрением моделей машинного обучения в «Газпромбанке» в розничный бизнес. Наша команда ML-инженеров работает в связке с DevOps, мне помогает мой коллега Виталий VitaliyF. Он готовит инфраструктуру для обучения и переобучения моделе...

Простой, но масштабируемый State Management для Flutter Библиотека для управления состоянием - то, чем мы пользуемся каждый день. Чувствуете ли вы легкое покалывание при виде OnRefreshPostsButtonClickedHomeScreenEvent? Возможно, вы используете bloc.Нет? А сейчас -firstNameUserProfileStateProvider ? Ага, riverpod.Все еще нет? Тогд...

[Перевод] Как избежать когнитивной перегрузки: способы оптимизации кода для разработчиков По мнению Артема Закируллина*, одна из фундаментальных проблем, с которой сталкиваются разработчики при анализе кода – высокая когнитивная нагрузка. Это не абстрактное, а реальное ограничение возможностей, которое стоит времени и денег. На чтение и понимание кода, тратится б...

Сбер улучшит президентскую библиотеку с помощью ИИ В пресс-службе Сбера, сообщили о сотрудничестве с Президентской библиотекой имени Б. Н. Ельцина в Санкт-Петербурге, призванном воплотить цифровую трансформацию в сервисах библиотечного фонда с применением технологий искусственного интеллекта (ИИ).

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

Уязвимость в библиотеке aiohttp уже привлекла внимание хакеров Исследователи предупреждают, что недавно исправленная уязвимость в Python-библиотеке aiohttp (CVE-2024-23334) уже взята на вооружение хакерами, включая вымогательские группировки, такие как ShadowSyndicate.

«Код-ревью — это когда твои комментарии в интернете действительно читают»: дискуссия с разработчиками на C++ Заходят как-то на Хабр С++ разработчики из крупных компаний, а у них спрашивают: что такое код-ревью и используют ли они спецификатор final. Эти и другие вопросы с подвохом мы задали инженерам из YADRO, VK, Kaspersky, Syntacore и PVS-Studio. В итоге обсудили инструменты для ...

Typescript: лучшие практики Привет

Исследуем Скрытые Сокровища: Малоизвестные Библиотеки Python для Аналитики Данных Введение: Привет, Хабр! Сегодня мы исследуем мир менее известных, но чрезвычайно полезных библиотек Python, которые могут значительно обогатить ваш аналитический инструментарий.

В бесплатную игру Please, Touch The Artwork 2 уже можно поиграть на iOS Разработчики из Meynen Studio обещали и выпустили игру Please, Touch The Artwork 2 19 февраля. Поиграть уже можно на iOS — в российском App Store проект добрался до топ-55 приключений. Из плюсов данного проекта — в нём есть русский язык, а сама игра бесплатная, хотя изначаль...

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

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

В далекой-далекой Galaxy: как организовать общее пространство для Ansible-контента Привет! Меня зовут Павел, я DevOps-инженер в YADRO. Где бы я ни работал, я был девопсом и использовал Ansible — где-то активнее, где-то меньше. В YADRO с этим инструментом работают почти все департаменты — от enterprise, где разрабатывают серверы, СХД и другое оборудова...

Разбираем 5 способов ускорить сайт: от простого к сложному Низкая скорость загрузки — это критично. По данным исследования Unbounce, долгое ожидание негативно влияет на пользователей: 45,4% из них с меньшей вероятностью совершат целевое действие, а 11,9% — вообще покинут сайт. Давайте обсудим несколько способов, которые помогут...

Как внедрить гайд по стилю кода в проект Всем привет! Меня зовут Соня Гусева, я фронтенд-разработчик в Яндекс Практикуме (или фронтенд-капибара). Вместе с командой мы развиваем платформу practicum.yandex.ru. Например, сделали поиск по пройденным материалам — тот самый, где «найдётся всё». И тёмную тему — для комфор...

Учебно-развлекательный проект «Мобильная платформа». Управление жестами руки Учебно-развлекательный проект "Мобильная платформа", который использует управление жестами руки для управления роботом. В ней подробно рассматриваются технические аспекты сборки платформы, программирование Arduino и обработка жестов с помощью Python и библиотеки mediapipe. ...

Бизнес-аналитик — мастер переговоров или как не сойти с ума, работая с требованиями Друзья аналитики и ценители данных!Меня зовут Виктория и я считаю, что аналитика - это не просто работа, а образ жизни. 10 лет погружения в мир данных научили меня выжимать инсайты из сухих цифр и видеть скрытые закономерности.Сейчас я также руковожу отделом аналитики в IT-к...

Как спланировать разработку без хаоса? Привет, Хабр! Меня зовут Александр, я уже около 15 лет в IT. Долгие годы занимался разработкой, но в последнее время перешел в менеджмент.Сейчас я работаю в крупной компании, которая занимается юридическими услугами. За несколько лет компания выросла, и сейчас IT-отдел ...

Семантический поиск и генерация текста на R. Часть 1 Для этой задачи использую LLM (Large Language Models - например, chatGPT или opensouce модели) для внутренних задач (а-ля поиск или вопрос-ответную систему по необходимым данным).Я пишу на языке R и также увлекаюсь NLP (надеюсь, я не один такой). Но есть сложности из-за того...

Библиотека имени В. В. Маяковского перешла на российскую экосистему онлайн-коммуникаций МТС Линк «Вебинар Технологии» и ГК Softline перевели Центральную городскую публичную библиотеку имени В. В. Маяковского на сервисы МТС Линк.

GridStack + Vue 3 composition api Мир всем, на связи ShADAMoV!Сегодня, я бы хотел поведать вам о своём опыте взаимодействия с библиотекой GridStack. Расскажу о странностях и сложностях, с которыми столкнулся в ходе её интеграции во Vue 3 проект. Прежде чем приступим, дисклеймер: автор данной статьи не претен...

Объектно-ориентированный подход к написани REST-клиентов, или возможна ли жизнь без Open API Как-то в общении с моим другом-разработчиком из одной крупной софтверной компании у нас зашёл разговор о взаимодействии распределённых команд. В его компании было множество достаточно изолированных команд, каждая из которых разрабатывала свой сервис. В ответ на мой вопрос, к...

Как расширить возможности стандартного Enum А может всё-таки есть способ сделать такой Enum, используя стандартную библиотеку Python?! Под катом будем разбираться в существующих вариантах решения.  Читать далее

Symbiote.js VS LitElement Мотивация разработчиков библиотек и фреймворков для фронтенда может быть разной. И если вы, являясь таким разработчиком, хотите работать не “в стол” а с расчетом на какое-то признание и пользу для индустрии, вы должны четко понимать, что именно и зачем вы делаете. Если вы хо...

Запускаем Steam игры в Proton c поддержкой Native Wayland Иллюстрации к статье подготовлены нейросетью freepik.com. В первой части нашей статьи, мы научились собирать Wine с поддержкой Wayland и запустили игру Overwatch 2. Но для большинства геймеров конечно же больший интерес представляет запуск игр Steam, и этот вопрос мы не про...

Некорректная валидация UI при работе с файловой системой: что может пойти не так и как это починить Привет, Хабр. Меня зовут Александр Пиманов, я ведущий iOS-разработчик в МТС Диджитал. Сегодня расскажу о простой (как мне сначала показалось) задаче — нужно было свалидировать UI в зависимости от того, есть в файловой системе файл с логами или нет. Я быстро с ней справился, ...

Как мы упростили работу с данными с помощью пайплайна: пошаговый план Привет, меня зовут Руслан Шкарин. Я Senior Software Engineer и это моя первая статья в DIY-медиа вАЙТИ от beeline cloud. Расскажу, как занимался построением пайплайна для сбора и анализа логов системы в реальном времени для сервиса, который обходил сотни ...

Мониторинг на Python: как сохранить метрики в мультипроцессном режиме Привет, Хабр! Меня зовут Никита, я backend-разработчик команды клиентских сервисов. В Selectel мы строим и поддерживаем IT-инфраструктуру для компаний, которые развивают свои цифровые продукты. В нашем департаменте около 20 приложений, большая часть из которых работает на F...

Фронтенд-дайджест 2023 Привет, Хабр! Я Софья, фронтенд-разработчик в одном из департаментов Тинькофф. Из года в год наша большая фронтенд-команда растет, ставит эксперименты и обменивается опытом. Уходящий год богат на достижения, поэтому мы решили поделиться статьями, докладами и находками для ко...

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

Что такое react-afc react-afc - библиотека для более простого уменьшения количества ненужных ререндеров дочерних компонентов. Читать далее

[Перевод] Angular на стероидах: наращиваем производительность при помощи WebAssembly В этом посте продемонстрировано, как с лёгкостью использовать WebAssembly внутри приложения, написанного на Angular. Иногда в приложении на Angular требуется выполнить задачу, которая в JavaScript завершается не слишком быстро. Конечно, можно переписать алгоритм на другом яз...

5 способов писать эффективный код на Go: от названий переменных до архитектуры Если вы задумывались, какие практики использовать, чтобы писать код на Go быстро и качественно, этот материал для вас. Руководитель группы разработки подсистем Геннадий Ковалев и эксперт по разработке ПО Даниил Подольский обсуждают пять способов повысить эффективность разраб...

Как написать новостной Телеграм-канал если ты не программист. Часть первая Всем привет! Попробую написать трилогию покорения основ Python, отражающую мой путь любителя с “паяльником”. Тут не будет основ, чистого кода, отсылок к требованиям PEP-8, практически не будет ООП.Всех суровых Senior’ов, читающих данный материал, прошу понять и простить. Я н...

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

[Перевод] Как Боб текстовый файл считывал Как-то раз Бобу поручили построчно обработать текстовый файл. Боб решил решить эту задачу на C++, так как известно, что мало найдётся языков, которые могли бы потягаться с C++ в скорости. Поскольку C++ для Боба — дело новое, неосвоенное, он решил погуглить спросить ChatGPT, ...

FUSE: как написать свою файловую систему Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реал...

Обзор на новую CSS-in-JS либу от Facebook* – StyleX Недавно компания Facebook* (aka Meta**) выпустила в опенсорс собственную CSS-in-JS библиотеку под названием StyleX. По заявлениям разработчиков, она отлично подходит для больших проектов и ключевым ее преимуществом является перфоманс.В этой статье мы рассмотрим пример исполь...

Система иконок на React Очень часто при разработке React-приложения нам приходится работать с большим количеством иконок в проекте. Наверное, каждый разработчик стремится максимально упростить и автоматизировать подобные рутинные задачи. Есть несколько способов работы с иконками в веб-приложениях, ...

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

Scram для создания аппаратуры. Проект по созданию системы тестирования ADAS или краткая история 8 месяцев нашей жизни Добрый день, уважаемые коллеги и друзья! Уже больше года я работаю в Армении в компании, которая занимается созданием под ключ сложных, комплексных систем. Взяли меня на роль руководителя проектов, чем собственно я и занимаюсь последние 5 с лишним лет. В данной статье я хоте...

Дамп разделов TV-бокса на чипе RK3528 Заметил в продаже новенький TV-бокс H96 MAX M1 на чипсете Rockchip RK3528, с 4Гб памяти, новым 13-м Андроидом, и подозрительно дешевый. Зная, что на старых чипах Rockchip уже запускали Линукс, я решил заказать и попробовать.Можете заметить разъёмы питания/USB/HDMI/AV... Как ...

Дамп разделов TV-бокса на чипе RK3528 Заметил в продаже новенький TV-бокс H96 MAX M1 на чипсете Rockchip RK3528, с 4Гб памяти, новым 13-м Андроидом, и подозрительно дешевый. Зная, что на старых чипах Rockchip уже запускали Линукс, я решил заказать и попробовать.Можете заметить разъёмы питания/USB/HDMI/AV... Как ...

Сколько нужно ядер cpu, чтобы выдержать 30k+ rps? Меня зовут Вадим Ивахин, я техлид в Vi.Tech — это IT-дочка ВсеИнструменты.ру. Я и мои коллеги трудимся над большим количеством проектов и используем в своей работе различные инструменты, в том числе MongoDB. В этой статье я не стану рассказывать о том, что такое MongoDB. Хоч...

Как автоматизировать проверки данных в Airflow с Great Expectations Привет, меня зовут Дима Курганский, и я - MLOps инженер в команде машинного обучения в Банки.ру. Эта статья будет интересна, тем кто понимает принципы работы с Great Expectations и его составляющие компоненты и хочет вывести его на прод с использованием Apache Airflow. Читат...

End-to-end тестирование React приложения с помощью Playwright Привет, я Лиза – веб разработчик в одной зарубежной компании. Хочу поделиться тем, как я автоматизировала регрессионное тестирование в рабочем проекте на React с использованием довольно нового фреймворка Playwright. Разберемся, почему именно этот фреймворк, какие подводные к...

Пишем сложный Page object для playwright тестов вместе с Dorama Всем привет! Сегодня расскажу о том, как удобно организовать Page Object для большого проекта с использованием Playwright и библиотеки Dorama. Большинство современных веб-проектов имеют сложный интерфейс с переиспользуемыми компонентами. Причем компоненты могут переиспользов...

[Перевод] Почему я отказался от разработки игр на Rust, часть 3 Часть 1Часть 2Ситуация с GUI в Rust просто ужаснаВ сообществе Rust ходит шутка, что на 5 игр существует 50 игровых движков; наверно, ещё одна такая шутка нужна про фреймворки GUI. Люди пробуют разные подходы, что, учитывая полную обобщённость Rust как языка, имеет смысл. Но ...

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

Учимся создавать простых ботов или туториал по библиотеке TeleBot Начнем с того, что библиотек для разработки телегам-ботов на Python несколько, я упомяну основные три. В первой части статьи будет небольшой обзор этих библиотек (примеры кода тут будут для красоты, не пугайтесь, ниже будет пошаговый Гайд по одной конкретной библиотеке), по...

Игра All of You от создателей Love You to Bits и Bring You Home больше не эксклюзив Apple Arcade Студия Alike ещё в 2020 году сделала мобильную игру All of You эксклюзивом Apple Arcade. И пока проекты по типу Dicey Dungeons наоборот только добавляют в эту библиотеку игр, All of You наоборот ушла из Apple Arcade и теперь доступна просто как премиальный проект в App Store...

«Яндекс» открывает библиотеку YaFSDP для обучения больших языковых моделей Компания «Яндекс» выложила в опенсорс библиотеку YaFSDP, которая ускоряет обучение больших языковых моделей — как собственной разработки, так и сторонних, с открытым исходным кодом. Библиотека дает ускорение до 25% (результат зависит от архитектуры и параметров нейросети). С...

Конфигурация вместо кода при написании Telegram-бота Привет! Меня зовут Никита и я пишу от имени небольшой команды студентов, разработчиков проекта Cloffer — систему онлайн-заказа для кофеен. Мы решили начать наш путь с написания связки бэкенд + набор телеграм-ботов.Эта статья будет посвящена подходу, который мы использовали д...

Показываем видео в терминале Приветствую, сегодня я опробую OpenCV, библиотеку для работы с видео, на примере простой задачи - символами ASCII вывести видеоролик в терминал. Те, кто ей пользовались, могут сказать, что я забиваю дрелью гвозди - создана она для работы с алгоритмами компьютерного зрения. Ч...

Продолжаем глубже изучать передачу данных по сетям GSM через GRPS с помощью SIM868 и Repka Pi — про AT-команды  В предыдущей статье мы рассказали, как с помощью модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, библиотек SIM800L, RoverConnect и Telemetry можно обмениваться данными между микрокомпьютером Repka Pi с JSON-сервисом, доступным в интернете.Мы привели исхо...

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

Выжимаем из Go максимум производительности Разработчики, которые используют Go, сталкиваются с задачей выжать максимальную производительность из каждой строки кода. Но что делать, если оптимизировать уже нечего, а увеличивать скорость всё равно надо?Меня зовут Никита Галушко. Я старший программист-разработчик в отдел...

Shiva — Open Source проект на Rust для парсинга и генерации документов любого типа Идея проекта возникла у меня во время работы над проектом поисковика документов. Существует такая библиотека, как Apache Tika, написанная на Java, которая умеет парсить документы различных типов. Чтобы мой поисковик работал, он должен уметь извлекать текст из документов разн...

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

«Серёга, диктуй код из смс»: как мы ускорили проверку гипотезы с помощью эксперимента Привет! Меня зовут Алина Бузинова, я менеджер продукта Отелло, сервиса бронирования отелей от 2ГИС.Ключевой принцип развития молодого продукта — скорость доставки полезных решений. Но не каждая фича — полезная, и не каждая полезная фича — дешёвая. Планировать шестимесячную р...

YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 2 Привет, Хабр! В прошлой части я рассказал, как автоматизировать простую нарезку YouTube-видео на Shorts, добавить туда текст и размытый фон. Сегодня займемся более комплексной задачей — генерацией вертикальных видео на основе записи с геймплеем и текстом. В тексте узнаете, ...

«Open source в России» — интервью с сооснователем и CTO компании-разработчика веб-сервера Angie Продолжаю рассказывать о российских разработчиках open source решений и технологий. На этот раз удалось пообщаться с Валентином Бартеневым, сооснователем и руководителем отдела разработки компании-разработчика российского веб-сервера Angie. Мы обсудили развитие компании, раб...

Facebook выпустил новую CSS-in-JS библиотеку — StyleX Верней оформил 5 декабря 2023 года оформил для всех то, чем его разработчики пользуются уже давно. Позиционируется данный помощник для js-подобных фреймворков типа React, Preact, Solid, lit-html и Angular, однако оперирующие html шаблонами Vue и Svelte тоже могут задействова...

Никогда не забывай об этом, когда делаешь open-source проект Если составлять топ самых крутых изобретений человечества, то второе место сразу после кофеварки наверняка займёт opensource – разработка проектов с открытым исходным кодом, которая помогла родиться поистине огромному числу полезных и гениальных продуктов. Причём опенсорс ва...

Гайд по микрофронтендам на single-spa, или Как уже наконец-то уйти от монолита во фронтенде Привет, Хабр! Меня зовут Данил, я Frontend-разработчик в Samokat.tech. Недавно мы с командой распилили монолит на Angular и перешли к микрофронтендам на Vue. Наш опыт я постарался упаковать в пошаговый гайд – надеюсь, этот материал поможет тем, кто только начинает свой ...

Dedoc: как автоматически извлечь из текстового документа всё и даже немного больше Привет, Хабр! Мы команда разработчиков Института Системного Программирования РАН, занимаемся Computer Vision в обработке электронных документов. Мы разработали open-source библиотеку dedoc, которая помогает разработчикам и дата-сайентистам в пару строк кода читать разли...

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

Готов ли Swift OpenAPI Generator для продуктивного кода? Привет! Меня зовут Андрей, я iOS-разработчик приложения «Пункт Ozon». С помощью него сотрудники пунктов выдачи Ozon выдают посылки, принимают возвраты, проводят инвентаризации. Мы хотим упростить работу с OpenAPI-спецификациями, внедрив кодогенерацию для автоматического...

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

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

Прогнозирование временных рядов с помощью библиотеки Skforecast В открытом доступе существует огромное число библиотек для построения моделей машинного обучения в Python. Самые популярные — scikit-learn, XGBoost, LightGBM, Catboost, PyTorch. Каждая из них позволяет построить регрессионную модель для прогнозирования на временных рядах, ...

Как я за месяц написал интерпретируемый язык программирования на Python Привет, Хабр! В этой статье я хотел бы поделиться опытом создания своего языка программирования.ПредысторияМне 14. Обучаясь на втором году Яндекс Лицея, нужно было написать несколько проектов. Первым из них стал проект на PyQT5. Я долго думал над идеей и вспомнил, что летом ...

Решение школьных задач по химии в Python Изображение от rawpixel.com на FreepikЯ попробовал решить несколько простых школьных задач по химии в Python с помощью библиотек mendeleev, chemlib и chempy, в том числе несколько заданий из ОГЭ и ЕГЭ. к задачам

Как я столкнулся с Tarantool-ом: разбор подводных камней на примере микросервисного pet-проекта Привет, Хабр! Меня зовут Сергей Скубач, я работаю в VK и разрабатываю облачное хранилище WorkDisk. Мы используем Tarantool в своём продукте, так как его разрабатывают и развивают наши коллеги. Я впервые столкнулся с Tarantool именно в VK, и для более глубокого понимания реши...

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

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

Связь системных ограничений и UX-дизайна: как устроено взаимодействие в системном подходе Привет! Меня зовут Настя, я UX-дизайнер в отделе технологических проектов «Леруа Мерлен». Мы занимаемся разработкой внутреннего технологического портала — это единый фронт, где продуктовые команды могут получить услуги других команд в режиме Self-Service. Мы предоставляем ин...

Call of Duty Mobile и Warzone Mobile станут частью Activision Cloud Games Группа инсайдеров Leakers on Duty сообщила, что Microsoft и Activision Blizzard собираются добавить Call of Duty Mobile и Warzone Mobile в облачную библиотеку Activision Cloud Games. Она позволит сначала европейским геймерам, а потом всем остальным странам играть в разные ча...

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

Анализ текстовых данных с помощью NLTK и Python Привет, Хабр!NLTK предлагает удобные инструменты для множества задач NLP: токенизация, стемминг, лемматизация, морфологический и синтаксический анализ, а также анализ настроений. Библиотека идеально подходит как для начинающих, так и для опытных разработчиков, предоставляя и...

Неправильные ML-библиотеки, обфускация и кража аккаунтов Телеграм. Очищаем PyPI от вредоносных библиотек Мы, команда Threat Intelligence экспертного центра безопасности Positive Technologies, в рамках недавнего автоматизированного аудита проектов, размещенных в главном репозитории Python-кода, нашли 28 вредоносных пакетов, которые уже много месяцев вредили пользователям. В сово...

Опыт создания UI библиотеки на C++ Началось все почти два года назад в декабре, практически перед новым годом.Наш основной проект (видео мессенджер) использовал WTL для Windows и GTKmm для Linux. Поддержки мака не было. Огромной неприятностью было тащить два идентичных клиента, которые, по идее, должны делать...

Про уровни владения иностранным языком __1. Давайте подумаем, какой уровень у человека, который читает английскую классику почти без словаря? Я был таким человеком в 2008 году, когда приехал в частную школу английского языка в Лондоне. В школе были группы семи уровней: Beginner, Elementary, Intermediate (и Pre- и...

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

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

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

concurrent.futures в Python Привет, Хабр! Сегодня мы взглянем на одну из самых интересных библиотек в Python для работы с параллельным выполнением задач - concurrent.futures.Каждый разработчик сталкивается с ситуациями, когда необходимо выполнять задачи параллельно. Это может быть I/O-операции, которые...

Вся мощь ускорителей Nvidia для ИИ теперь в Windows. Компания объявила о доступности для этой ОС своей библиотеки TensorRT-LLM На данный момент искусственный интеллект в Windows практически никак не задействован, если не считать интеграции языковой модели GPT. Однако, во-первых, уже есть процессоры AMD с выделенным блоком для работы с ИИ, и аналогичные готовит Intel, а во-вторых, согласно слуха...

Как мы запускали серьезный проект в Telegram В этом цикле статей я подробно расскажу о процессе создания моего нетривиального телеграм-бота World for Life Bot. Этот бот представляет собой уникальный инструмент, который предоставляет обширную статистику о стоимости жизни в разных уголках мира, помогая пользователям оцен...

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

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

Несколько советов начинающим инженерам и не только Меня зовут Женя, я главный разработчик в компании ITFB Group. По долгу службы я общаюсь с большим количеством разработчиков: собеседую, помогаю в развитии, выступаю наставником, иногда оказываю психологическую поддержку. Кому-то советую книги, предлагаю использовать те или и...

FastStream — новый убийца Celery? FastStream - это относительно новая блестящая игрушка в руках Python'истов, которая создана специально для работы с брокерами сообщений.В Python сложилось устойчивое убеждение, что если мы работаем с MQ - то нам нужен Celery, но он слегка устарел. Именно поэтому люди пытаютс...

Приключение Disney Dreamlight Valley стало частью Apple Arcade Disney Dreamlight Valley — интересный ассет и новая игра в библиотеке Apple Arcade. Да, на смартфонах могут поиграть только пользователи iOS с подпиской на этот игровой сервис. С какой-то стороны проект напоминает The Sims, где надо создать аватара, а после отправиться в маг...

Ящик мечты с произвольной конфигурацией В своей предыдущей статье я рассказал как создлал "ящик мечты" для всякой мелочёвки. Для болтиков, гаечек и прочей мелкой ерунды такие ящики подходят просто идеально. Но когда я попытался разместить в своём ящике всякую мелочь от 3D-принтера у меня ничего не получилось. Что-...

Россия создала первую национальную библиотечную платформу Российская национальная библиотека (РНБ) представила новое программное обеспечение (ПО) «Приоритет», которое дает доступ к информации о более чем 12 миллионах книг и других объектах, хранящихся в ее фондах. Проект представляет собой электронную библиографическую платформу и ...

Как совмещать основную работу и проекты на стороне У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!Ме...

«Найти и утилизировать»: как мы автоматизировали очистку ресурсов после тестирования с помощью Tempest Cleanup Всем привет! Меня зовут Валентина, я разработчик в тестировании Selectel. В своей прошлой статье я рассказала, как мы автоматизировали запуск тестов Tempest в GitLab. Статья вам понравилась, поэтому я написала продолжение. В нашей автоматизации была проблема: после тестов ...

Что я понял на первой работе программистом / Мои советы Junior-разработчикам Всем привет! Меня зовут Максим. Я backend-разработчик, который не так давно устроился на свою первую работу. В этой статье хочу поделиться своими наблюдениями/советами/рекомендациями для начинающих программистов. Ведь, как известно, если опыт не превращён в текст, он даже не...

Connection pool для pqxx В процессе изучения бекэнда, как нового для меня направления в программировании, я столкнулся с необходимостью оптимизации управления соединениями. Поискав в интернете существующие решения для библиотеки pqxx (C++ API для PostgreSQL), я обнаружил, что хотя они и выполняют св...

Найти работу в IT: миссия 2024 Привет! Меня зовут Полина, и я уже десять лет работаю дизайнером в айти. В основном продуктовый UX/UI, но были и отдельные проекты разного характера.  Расскажу про свой (и друзей) опыт поиска работы два года назад и сейчас, на русскоязычном рынке.  Читать дальше →

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

МТС создал библиотеку для специалистов по глубокому обучению нейросетей Центр Big Data МТС анонсировал разработку библиотеки Coolgraph для специалистов в области глубокого обучения нейронных сетей. Проект, представленный на платформе Github, предоставляет возможность строить графовые нейросети с помощью небольшого количества кода, пишет ТАСС ссы...

Вам не нужен Lodash. Хватит! Пожалуйста На State Of JS 2023 Lodash занял первое место в топе библиотек - что меня сильно огорчило. Я топлю за его отказ последние годы - и хотел бы рассказать, почему я считаю его вредным и не особо вам нужным. Ну давай!

Распределённые системы на службе ФССП России. Часть 2. Суперсервис «Цифровое исполнительное производство» Привет, Хабр! Меня зовут Дима. Я работаю в отделе разработки систем межведомственного взаимодействия РЕД СОФТ. Представляю вам вторую статью про импортозамещение в АИС ФССП России, в которой я расскажу о проектировании сложных территориально распределённых информационных сис...

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

В App Store появился эмулятор PlayStation 1 — Gamma - Game Emulator В апреле для iOS выпустили эмулятор iGBA, который совмещает в себе сразу несколько ретро-консолей Nintendo. Но что, если игроку хочется попробовать проекты от PlayStation 1? В таком случае можно использовать новый эмулятор — Gamma - Game Emulator. В нём есть поддержка сохран...

Технология OCR и ее преимущества для бизнеса OCR (Optical Character Recognition) - это технология, которая позволяет компьютерам распознавать текст, написанный от руки или напечатанный на бумаге, и преобразовывать его в электронный формат. С помощью OCR возможно автоматическое сканирование и распознавание текста с доку...

Когда переключаются потоки в Spring WebFlux Работа с библиотекой WebFlux вызывает затруднения у многих Java/Kotlin разработчиковКод выглядит непривычно, непонятно в каких потоках выполняется логика и как этим управлятьСегодня я попытаюсь объяснить простым языком такой важный аспект, как момент переключения потоков в W...

[Перевод] Анти-паттерны в Go Web Applications В какой-то момент моей карьеры меня перестало радовать ПО которое я разрабатывал.Больше всего мне нравилось работать с низкоуровневыми деталями и сложными алгоритмами. Но после перехода на пользовательские приложения эта часть работы почти исчезла. Теперь программирование ка...

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

[Перевод] NumPy: оттачивайте навыки Data Science на практике В этой статье мы рассмотрим ряд различных упражнений, используя библиотеку NumPy (и сравним с тем, как мы бы реализовали их без неё). В самом конце статьи я приведу ряд упражнений.t.me/ai_machinelearning_big_data -  моем телеграм канале я публикую актуальные проекты ку...

Миграция с Webpack и react-scripts на Vite: Путь к Быстрому и Легковесному React Я работаю фронтенд-разработчицей в IT-компании, и многие из моих проектов на протяжении долгого времени собирались с использованием Webpack. Настройка Webpack иногда бывала сложной, но в целом он справлялся с задачей сборки проектов. Однако в последнее время мои коллеги нача...

NativeScript в мире кроссплатформенной разработки Давайте знакомиться! Меня зовут Игорь. Я разработчик кроссплатформенных мобильных приложений в компании Smartex. В этой статье я расскажу о NativeScript, основных преимуществах платформы и ее недостатках.Материал будет полезен не только разработчикам, которые уже пишут прило...

Как я делал то же, что и ФСТЭК, когда это еще не было трендом Всем привет, меня зовут Андрей Рогов. В СИГМЕ, где мы разрабатываем и внедряем ИТ-решения для всей электроэнергетики — от контроля работы электростанций до расчета платежей «за свет», я работаю в отделе аудита и консалтинга. А значит, в мои должностные обязанности входит нап...

ViewModel + Kotlin Multiplatform. Пробуем нативное решение Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. Компания Google объявили о своем интересе к Koltin Multiplatform на прошлом Google I/O 2023. Следом был обозначен вектор развития имеющихся решений архитектурных библиотек Jetp...

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

Milk Sad уязвимость в библиотеке Libbitcoin Explorer 3.x. Крупная кража на $ 900 000 у пользователей Биткоин Кошельков Исследователи компании «Slowmist» проводят регулярное исследование сферы безопасности блокчейна Биткоин. Они обнародовали уязвимость в библиотеке Libbitcoin Explorer 3.x, который позволила злоумышленникам украсть более $ 900 000 у пользователей Биткоин Кошельков (B...

Build 2024: WinUI 3 и WPF — рекомендуемые платформы для создания приложений для Windows В первый день конференции разработчиков Build 2024 Microsift объявила, что отныне рекомендуемыми платформами для создания приложений с пользовательским интерфейсом для Windows являются Windows App SDK (вместе с WinUI 3) и WPF (Windows Presentation Foundation). Компания заяв...

ChatGPT стал лениться и отказываться отвечать, и разработчики говорят, что такое поведение образовалось само по себе Некоторое время назад ряд пользователей ChatGPT обнаружил, что чат-бот может лениться и даже вообще отказываться отвечать. OpenAI признала наличие проблемы, причём ситуация оказалась весьма интересная.  создано DALL-E Разработчики завили, что не обновляли ИИ с 11 ...

Интеграция с ЕСИА на Node.js без CryptoPro [2024] Приветствую! Свою первую статью решил посвятить технической стороне интеграции с ЕСИА (Госуслугами). Считаю данный материал уникальным, поскольку пока разбирался в этой задаче не увидел ни одной статьи которая описывает интеграцию с ЕСИА без использования платной CryptoPro. ...

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

Путь от преподавателя английского к AI Product Manager Всем привет, меня зовут Оля Шерстюк, раньше я была преподавателем английского языка, но начиная с 2023 года решила поменять свою деятельность и перейти в IT, сейчас я учусь в магистратуре AI Talent Hub. Хочу поделиться с вами своей историей.В 2023 я зачеркивала дни в календа...

REST API на котиках Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.С какой стороны IT вы бы не пытали...

Интервью с руководителем отдела анализа защищённости Angara Security Михаилом Суховым о пентесте Я много бывал за последнее время на разных ИБ‑мероприятиях, где проходили различные киберучения. Много писал об уязвимостях, об ИБ‑решениях, борющихся с ними, специалистах, выявляющих бреши в инфраструктурах. И как раз на последне...

Как не заскучать в 1С-разработке Многие считают 1С особым замкнутым миром. А методы работы в нем — неприменимыми в «нормальном» программировании. Это давно не так. Конечно, у каждого решения есть свои плюсы и минусы. Но я уверен: если вы не любите 1С, то вы просто не умеете его готовить. Меня зовут Вла...

Разработка производительного распознавателя автономеров для edge-устройств «Мы всего лишь хотели пофиксить баги в своем продукте, а психанули и создали аналог одной из библиотек» — CV-инженеры CodeInside.Итак, в созданной нами системе мониторинга транспортного потока Smart Traffic System доступен функционал по распознаванию номерных знаков автомоби...

[Перевод] Советы разработчика с 8-летним опытом работы Привет! Меня зовут Бенуа, я работаю разработчиком программного обеспечения последние 8 лет. В своей предыдущей компании я проработал 7,5 лет, а в начале 2022 года перешел в новую.Эта статья написана в результате недавнего самоанализа о том, что мне стоило начать делать в сво...

Недельный геймдев: #164 — 10 марта, 2024 Из новостей: Apple восстановит аккаунт разработчика Epic Games, Warner Bros. меняет стратегию, K-D Lab открыла код игрового движка qdEngine, хакеры не взламывали Epic Games.Из интересностей: как Persona сочетает 2d и 3d арт, разработка игр с использованием Go и библиотеки...

Pandas НЕ для анализа данных В среде питонистов библиотека Pandas пользуется большой популярностью и по большей мере известна в контексте DataSciense и анализа данных. DataFrame пандас позволяет не только всячески манипулировать данными, но и выводить их в нужном формате, предоставляя широкие возможност...

Пишем gRPC сервис на Go — сервис авторизации В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL Shortener, о котором у меня также...

Общее описание и реализация Word2Vec с помощью PyTorch В данной статье даётся общее описание векторного представления вложений слов - модель word2vec. Также рассматривается пример реализации модели word2vec с использованием библиотеки PyTorch. Приведена реализация как архитектуры skip-gram так и CBOW. Читать далее

Статический анализ мультиязычности Angular приложения c помощью ngx-translate-lint Не так давно мне довелось решить интересную задачу, направленную на снижение риска того, что разработчик забудет о мультиязычности приложения и это станет причиной заведения нежеланных багов в будущем. Изначально я искал решение проблемы на Хабре, но, увы, не нашел. Поэтому ...

Мелочей не бывает: от жизни к работе Вот уже 25 лет каждую осень я обрезаю малину, а точнее, малинник длиной 50 м. Задача: вырезать старые и слабые молодые ветки, собрать в пучки, привязать к натянутым опорам. Моя обычная реализация: пройти с лезвием, срезать старые вязки, пройти с секатором, вырезать ветки, вы...

[Перевод] Первое слово из нераспечатанного Геркуланумского папируса обнаружено 21-летним студентом факультета информатики Геркуланумские папирусы - древние свитки, хранившиеся в библиотеке частной виллы близ Помпеи, - были погребены и обуглены в результате извержения Везувия в 79 году нашей эры. Почти 2 тыс. лет эта единственная сохранившаяся библиотека античности была погребена под 20-метровым...

Рулим запуском Spark-приложений в Airflow с помощью самописного оператора Airflow в Lamoda Tech играет роль оркестратора процессов обработки данных. Ежедневно с его помощью мы запускаем 1 800+ тасок на проде, примерно половина из которых являются Spark-приложениями.Все Spark-приложения сабмитятся из Docker-контейнеров. И здесь сталкиваемся с пробл...

Миграция Big Data на практике: как мы готовили напильники Всем привет, меня зовут Алексей Марьин, я IT-лидер стрима «Озеро данных» в ВТБ. До 2019 года мы активно и вполне успешно использовали для анализа и обработки больших данных продукт Oracle Big Data Appliance с Cloudera Hadoop Distribution внутри. И всё было хорошо, пока Oracl...

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

Особенности и проблемы mock-сервера Swordfish API Emulator Эта статья — продолжение истории про разработку Ansible-модулей для взаимодействий с системами хранения данных (СХД) через API, которое удовлетворяет спецификации Swordfish. Эти модули в перспективе облегчат управление парком СХД от разных производителей.Чтобы тестирова...

Техсобесы — это просто, но есть нюанс… Привет, Хабр. Меня зовут Дима и я разработчик, тимлид и по совместительству наставник на курсе «Мидл Python-разработчик» в Практикуме. Сегодня, с вашего позволения, я вставлю свои пять копеек и поделюсь опытом по такой заезженной теме, как технические собеседования. Много сл...

[Перевод] Невероятно, но факт: умножение матриц на GPU идёт быстрее на «предсказуемых» данных Шёл 2022 год. Я обратил внимание на новый интересный проект CUTLASS, отличающийся очень высокой скоростью выполнения операций умножения матриц. Я взял большую задачу по умножению матриц — 8192 x 8192 x 8192, и померял производительность в PyTorch, где используется библиотека...

Библиотека Granite от elementary OS На данный момент существует множество различных операционных систем на базе ядра Linux. Буквально на любой вкус. Некоторые операционные системы пользуются уже готовыми графическими оболочками, а другие создают свои. В дистрибутиве elementary OS применяется свое окружени...

Анализ производительности React Native приложений: как выявить проблемы и улучшить перформанс Привет, Хабр! Меня зовут Вадим, я мобильный разработчик в СберМаркете. В этой статье расскажу, как провести профилирование (оно же измерение производительности или оценка перформанса) в react native приложениях: как выявить источник проблем и решить их. В русскоязычных источ...

Платформа инвестиционного бизнеса. Как устроена IPS в РСХБ Привет, Хабр! Меня зовут Денис Антонов, я работаю SRE‑инженером и менеджером системы на платформе IPS (Investment Platform Solutions) в Блоке ИТ‑развития Инвестиционного бизнеса РСХБ‑Интех (дочерняя технологическая компания Россельхозбанка). Совместно с коллег...

Как мы ускорили Golang-тесты на CI Привет, Хабр

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

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

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

Как я документацию для дизайн-токенов в Storybook генерировал Привет, Хабр! Меня зовут Саша, я Full-Stack разработчик и последние 7 лет пишу фронтенд, 6 из которых я работаю в американском стартапе. Я думаю ни для кого не секрет, что бизнес процессы в стартапах, мягко сказать,  хромают. Я же как оптимист вижу возможность в ка...

Как мы реализовали кнопку со свайпом на Jetpack Compose Привет, Хабр! Меня зовут Женя Мельцайкин, я работаю в команде мобильной разработки Контура.Мы разрабатываем экосистему для бизнеса, которая оптимизирует рутинные задачи: работу с маркировкой, проверку контрагентов, товароучет, документооборот, отчетность. И в одном из продук...

Spring Boot Starter: практически, принципиально и подробнее. Part 1 Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло применение общепроектных решений и паттернов разработки. Общепроектные решения&...

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

Подборка: навыки и инструменты начинающего Go-разработчика Привет! Меня зовут Александр Тетеркин, я Go-разработчик в VK. Раньше я писал на Python, потом перешел на Go — пишу на этом языке уже три года, а также являюсь наставником на курсе «Go-разработчик с нуля».Я знаю, что новички в любой сфере задаются вопросами о том, с чего нача...

[Перевод] Генеративный ИИ в Android и эффективность фоновой работы приложения — важное с Google I/O 2024 Всем привет! Меня зовут Тимур, я Android-разработчик в KTS. Состоялась конференция Google I/O, и наша команда решила выпустить обзор докладов. В этой статье — про интеграцию передового генеративного ИИ в Android-приложения, который предлагает идеальные ответы или даже д...

[Перевод] Я тебя с вертухи сломаю, если ещё раз заговоришь об ИИ Последние инновации в сфере ИИ, наиболее примечательными из которых стали проекты наподобие GPT-4, очевидно, могут иметь далеко идущие последствия для общества: от утопического избавления от монотонного труда до антиутопического ущерба для работы художников в капиталистическ...

Taiga UI: итоги 2023 года Заканчиваются рабочие дни уходящего года, а значит, самое время подводить итоги наших трудов. За 2023 год у проекта Taiga UI появилось более пятидесяти релизов, больше двух тысяч вмерженных PR-ов и свыше пятисот закрытых issue.Taiga UI — это огромный Angular UI Kit...

Быстрое обновление проектов на клиентских серверах через FTP Задача Часто приходится сталкиваться с долгосрочными проектами, которые требуют разработки на тестовом сервере под Linux, и после проверки клиентом — обновления кода на его сервере. Разумеется, имеет смысл использовать систему контроля версий (мы используем SVN), и когда ест...

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

От винта! Рычаги и винты в Unity Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сегодня хотелось бы поговорить про рычаги и винты, и их реализацию в Unity. Сейчас как раз на хайпе Apple Vision Pro, а подобные штуки бывают весьма полезны в проектах с виртуальной и допол...

Backend-разработчик: из стажера в джуны Всем привет! Меня зовут Егор, я стажёр backend-разработчик в зарплатном проекте Росбанка (он же Payroll). В этой статье я расскажу про путь становления от «зеленого» стажера до боевой единицы в команде: через что мне пришлось пройти, с какими трудностями я столкнулся и как п...

Microsoft исправила проблемы с Wi-Fi в последних обновлениях Windows 11 Компании Microsoft не потребовалось много времени, чтобы решить проблему со сбоями Wi-Fi, появившимися в последних обновлениях Windows 11. Буквально вчера Microsoft приняла к сведению жалобы пользователей и пообещала вскоре опубликовать дополнительную информацию. Спуст...

Неполадки в отладке: как уязвимость в WinDbg позволяет атаковать разработчиков Привет, Хабр! Меня зовут Александр Калинин, я занимаюсь разработкой средств обеспечения безопасности контейнерных сред в МТС RED, дочерней компании МТС в сфере кибербезопасности. Сегодня расскажу о том, как я обнаружил в отладчике WinDbg уязвимость, которая позволяет запуска...

Увлекательный мир фронтенда Фронтенд-разработка — это как собирать лего без инструкции: иногда весело и творчески, но порой ты забираешься на кровать и кричишь: «*@#%*, да где же этот пропавший блок?!»Каждый новый проект во фронтенде — это как уникальный набор лего, и ты никогда не знаешь, какие интере...

Сравнение utility types библиотек или тайпскрипт на стероидах Буквально за несколько лет typesctipt стал практически мастхэв в современной фронтэнд-разработке (и не только). Язык типов, работающих поверх языка javascript, который сам по себе является языком со слабой динамической типизацией со всеми вытекающими (отсутствие достойного т...

Истории должны умереть Привет, меня зовут Андрей Осягин, я Product Owner в Домклике и отвечаю за продукт «Кабинет участника сделки». Он нужен для подготовки к ипотечной сделке с момента первичного одобрения заявки и до самой выдачи кредита. MAU Домклик сейчас превышает 16 млн пользователей.Я расск...

Как с помощью YouTube продать умных столов на 25 млн за 1 год без вложений в рекламу Меня зовут Матасов Иван, я сооснователь бренда Mensa Design. Мы изготавливаем лучшие в мире индивидуальные проекты умных столов и кабинетов на заказ. Дорого. Качественно. Под ключ.В этой статье расскажу основные принципы создания видео, которые набирают миллионы просмотров (...

Фил Спенсер высказался по поводу мобильного маркета Xbox Фил Спенсер дал интервью The Verge, в котором, помимо прочего, сообщил о планах Microsoft на мобильный маркет для iOS и Android. Он станет конкурентом App Store и Google Play, но для появления подобного маркета потребуется много времени. Пока что Microsoft и Xbox работают н...

AMD переманила руководителя ИИ-отдела из Intel AMD переманила бывшего руководителя отдела ИИ из Intel, Джона Рэйфилда, что может ускорить разработку новых ИИ-ускорителей и технологий в компании

Calypso: Схема данных MongoDB на Scala Чтобы применять Domain-Driven Design, DDD Aggregate и Transactional outbox на MongoDB, наша команда создала open source библиотеку calypso для работы с BSON.Публикация для тех, кто стремится к современным практикам разработки и разделяет наше влечение к Scala 3.Готовы к откр...

Изучение Java в 2024 году: что стоит почитать. 6 книг, которые можно рекомендовать В 2024 г. Java никуда не делась и в ближайшие много лет явно не исчезнет. Язык продолжает развиваться. ПО, написанного на этом ЯП, всё больше. Разработчиков тоже нужно много и сразу, причём хороших. Для того чтобы стать таким специалистом, нужно, конечно, учиться и практиков...

Алло, мы ищем таланты! Стажировка в IT как инвестиция в черную дыру? Предыстория для данного поста началась чуть больше года назад, когда я решил собрать команду из пары PreJunior-разработчиков без опыта работать над своим open source проектом.Если хотите узнать: • Как попасть в оплачиваемую интернатуру на разработчика к нам в команду?• Сколь...

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

Как мы автоматизировали тендерные процедуры за счет интеграции SAP с ЭТП Всем привет! Меня зовут Олег Усов, я работаю старшим консультантом SAP MM в Fix Price. Хочу рассказать, как мы проводили интеграцию SAP с электронной торговой площадкой (ЭТП) и системой электронного документооборота (СЭД) для автоматизации ряда процессов по участию в закупка...

ChatGPT клиент для MS-DOS Благодаря стараниям ретро энтузиаста Yeo Kheng Meng (очень рекомендую его сайт, много интересного по ретро технике) можно юзать ChatGPT на DOS машинах. Кто владеет языком рекомендую Оригинальный пост на ангельском. Я тестил проект на машине Toshiba T1200, (для которой к слов...

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

Интеграция видеоплеера YouTube во Flutter Hola, Amigos! Меня зовут Вова Зевеке, я Flutter-разработчик в Amiga. В одном из проектов передо мной стояла задача — интегрировать видеоплеер во Flutter- приложение, с которого можно было бы смотреть видео с YouTube. Казалось бы, подключаем  пакет youtube_player_flutter...

Самодельные инструменты для тестирования продукта, или DIY в разработке Все мы привыкли к общепринятым инструментам для тестирования. Думаю, список есть у каждого и он постоянно пополняется. Лично мой: Postman, IntelliJ IDEA и DataGrip от JetBrains, ShareX для скриншотов и его величество DevTools. В этой статье я хотел бы отдать дань само...

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

Миграция конфигурации сборки с Groovy на Kotlin DSL (Domain-Specific Language) — это язык программирования, который спроектирован и оптимизирован для решения задач в конкретной области или для определенного класса задач. DSL build.gradle предоставляет разработчикам удобный способ определения настроек проекта и управления ...

GigaChat API для .NET Core Всем привет! Если Вы решили подключить в свою разработку на .NET Core поддержку GigaChat, то эта статья для Вас.В ней расскажу подробнее про то, как пользоваться библиотекой GigaChatAdapter чтобы облегчить разработку под сберовский ИИ чат Изучить статью

[recovery mode] Android-приложение на Compose с нуля: Часть 2 (UI) Здравствуй, дорогой читатель!В статье рассматривается поэтапная разработка дизайн-системы и UI для Android-приложения "Калькулятор", используя библиотеку Jetpack Compose. Начнём с создания проекта и закончим запуском приложения на эмуляторе.Ссылка на репозиторий Читать далее

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

Автоматизация сборки проекта в Sublime Text 2 c использованием Ant В процессе разработки ПО весьма не мало зависит от используемого редактора кода. Я, поддавшись веянью моды, решил освоить текстовый редактор Sublime Text 2, слишком уж много положительных отзывов я слышу о нем. Мне самому хватало Eclipse. Но со временем в Eclipse меня стало ...

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

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

Streets of Rogue перенесли на смартфоны ПК-версия Streets of Rogue вышла на ПК и консоли 12 июля 2019 года. Теперь настал черёд мобильной версии — её выпустили в Китае, скачать клиент можно на Android через китайский маркет 3839. Старт серверов пришёлся на 4 февраля, но пока нет информации об iOS-версии — скачать ...

TOTP без смартфона Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.Б...

Compile Time Dependency Injection в С++: как обуздать зависимости не прибегая к позднему связыванию Начав свою карьеру в качестве C# разработчика, я постоянно сталкивался с использованием техники внедрения зависимостей (Dependency Injection). За то время, что я работаю с C++, я не заметил здесь такого же широкого распространения этой идеи.В то же время мне показалась весьм...

WidgetKit в iOS — не просто большие иконки Меня зовут Даша, я iOS-разработчик в Surf. Сегодня я освежу в вашей памяти философию и design виджетов. Подсвечу технические аспекты, которые помогут, если вы собираетесь делать свой первый виджет или хотите вдохнуть жизнь в старый. А ещё затрону несколько неочевидных, ...

Ansible + SoT или Ещё раз про динамический inventory Ansible используют почти все, и мы не исключение. В отделе сетевой инфраструктуры мы с его помощью автоматизируем доставку конфигураций на коммутаторы и маршрутизаторы. Наша сеть постоянно расширяется, внедряются новые фичи, которые тянут за собой новые плейбуки и роли, но о...

[Перевод] Что разработчик никогда не должен делать Перевод статьи разработчика из Южной Кореи.Я работал разработчиком более пяти лет. Это не делает меня экспертом, но я считаю, что сделал достаточно ошибок, чтобы поделиться с вами. Вот 10 вещей, которые никогда не стоит делать разработчику.1) Быть перфекционистомНичто не иде...

Microsoft разрабатывает серверное оборудование для ИИ, чтобы снизить зависимость от NVIDIA Агентство The Information сообщает, что Microsoft разрабатывает новую сетевую карту, которая должна повысить производительность серверного чипа Maia AI и снизить зависимость компании от решений NVIDIA. По информации источника, руководит проектом Прадип Синду (Pradeep Sindhu...

[Перевод] Новое в SQL Server 2022: Microsoft.Data.Sqlclient Популярная среди администраторов баз данных SQL Server Management Studio (SSMS) для подключения к серверам баз данных (по версию 18.12.1 включительно) использовала System.Data.Sqlclient (SDS). Новая версия SQL Server теперь поставляется с библиотеками Microsoft.Data.Sqlclien...

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

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

Уязвимости на GitHub: в библиотеке Ruby, которую скачали 250 000 раз, модулях для электронных замков и популярных играх В конце марта в блоге GitHub вышла статья, как защищаться от уязвимостей типа RepoJacking. В первых строчках автор советовал использовать пакетные менеджеры типа NPM и PyPI, чтобы киберугроза этого вида «не угрожала пользователю напрямую». Можно было бы вздохнуть с облегчени...

Анатомия Htmx Hello world! По данным 2023 JavaScript Rising Stars библиотека htmx заняла второе место в разделе Front-end Frameworks (первое место вполне ожидаемо принадлежит React) и десятое место в разделе Most Popular Projects Overall. htmx — это библиотека, которая предоставляет до...

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

Я написал бесплатную книгу для профессионалов в области AI (и не только) Привет, Хабр! Меня зовут Никита Горячев, работаю в позиции AI/ML Engineer в Сбере. В мой скоуп входит работа с SOTA (state-of-the-art) алгоритмами в областях NLP и RecSys. Книга написана в форме Guide Book с теоретическими и практическими заданиями. Ниже написал анонс в виде...

Есть ли жизнь до fit/predict? Всем привет! Меня зовут Даниил Карпов, я старший NLP-разработчик в MTS AI. В эпоху LLM и огромных датасетов, вмещающих в себя весь интернет, кажется, что качество самих данных ушло немного на второй план: чем больше данных/параметров, тем лучше. Однако экстенсивный рост рано...

Объединяем два крупнейших Ecom на разных стеках в одну общую CRM Привет! Меня зовут Данила Соловьёв, я руковожу направлением PHP — самым крупным подразделением в отделе разработки AGIMA. Поделюсь историей о том, как мы встроили новую CRM-систему в два абсолютно незнакомых нам IT-ландшафта и тем самым спасли сейлзов двух крупных интернет-м...

Разработка мобильного клиента СДУ «Приоритет» под ОС «Аврора» на фреймворке Qt Всем привет! Меня зовут Илья, и я разработчик ПО в области автоматизации документооборота в компании «Диджитал Дизайн». Так получилось, что изначально я iOS-разработчик, но по воле случая мне удалось поучаствовать в создании мобильного приложения — клиента СДУ «Приоритет» (д...

Книга «Python с нуля» Привет, Хаброжители! Эта книга даст вам основные знания и инструменты, которые помогут стать опытным разработчиком на Python. Эта книга приглашает вас в путешествие по огромному миру Python и охватывает все — от самых основ до более продвинутых тем, таких как наука о данн...

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

Летающий Санта, танцующие снегири и ёлочные игрушки: опыт реализации и оптимизации анимаций в игре Привет! На связи Кристина, фронтенд-разработчик в KTS.Большое количество графики и анимаций потребляет достаточно много ресурсов. Однако благодаря оптимизации можно сделать так, чтобы всё работало без глюков и тормозов. Рассказываю, как создавала анимации для игры из внутрен...

QA Documentation. Как я автоматизировал самую нелюбимую часть работы — написание ReleaseNotes Уже два года я работаю специалистом по тестированию, и многие коллеги меня поймут - одна из самых ненавистных и рутинных задач - это написание тестовой документации. И конечно я цепляюсь за каждую, даже самую маленькую возможность автоматизировать этот процесс. И в этой стат...

Интеграция iframe в ispmanager — если вам нужны Google-карты или «Яндекс Метрика» прямо в панели Всем привет, меня зовут Вячеслав — я пользователь ispmanager и руководитель отдела маркетинга. Не знаю, зачем вам нужны Google-карты, «Яндекс Музыка» или Spotify прямо в панели — если вы знаете зачем, пишите в комментариях. А я пока расскажу, как затащить iframe в ispmanager...

Qucs-S: руководство по видам моделирования, часть 1 Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S...

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

Цифровой паспорт оборудования промышленного производства Привет, привет! Представлюсь: меня зовут Тамара, и я являюсь ведущим инженером по нормативно-справочной информации в компании Bimeister.Начну с того, что это лишь малая часть той большой истории, которую я хочу вам рассказать.Будет много вопросов типа «Что это?», «Для чего н...

Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи...

Как работать с нейросетью Midjourney, чтобы получать желаемый результат Привет, Хабр! Меня зовут Алина, я дизайнер в Friflex. Отвечаю за красоту мобильных и веб-интерфейсов и делаю иллюстрации для медиаканалов компании. Midjourney — одна из самых известных моделей искусственного интеллекта в области создания изображений. С её помощью можно ...

Выгорание на работе: что это такое и по каким причинам происходит Привет, Хабр! Меня зовут Даниил Старосек, я работаю аналитиком на проекте «Единое фронтальное решение» (ЕФР) в Россельхозбанке. В прошлый раз я рассказал о работе в условиях the roof is on fire на испытательном сроке: проект и сроки горят, старший коллега в отпуске, а ты в к...

«Иногда лучше написать велосипед»: как тестировать кластеры Kubernetes с помощью Python Сегодня Kubernetes — это основное средство для оркестрации контейнеров на рынке, поэтому их тестирование занимает особую позицию в перечне задач. Большинство тривиальных тестов можно запустить через команду kubectl, либо фреймворк Sonobuoy для тестирования сертификации верс...

Как настроить библиотеку SFML C++ в Visual Studio 2022 статическая компоновка В этой статье рассказывается, как настроить ваши проекты SFML С++ со статической компоновкой используя интегрированную среду разработки программного обеспечения Visual Studio.Установка SFML библиотекиЗагрузите библиотеку SFML c официального сайта. Выбираем самую последнюю ве...

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

Мастерим собственные awaitables и циклы событий Привет, Хабр!Библиотека asyncio на Питоне - это база для создания масштабируемых асинхронных приложений. Однако, даже при всем разнообразии возможностей, которые предоставляет asyncio, иногда возникает необходимость выйти за рамки стандартных методов и создать что-то свое, с...

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

Как я заглянул внутрь фильтров «БАРЬЕР Компакт ОСМО 100 М» и выяснил, что делает воду чистой и вкусной Здравствуйте, уважаемые читатели Хабра. Меня зовут Олег (@Interfer), я проджект в крупной российской ИТ-компании. А еще я муж и отец замечательной девочки, которой недавно исполнилось пять лет. Уже много лет моя семья для питья использует только бутилированную воду, а д...

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

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

Как стоит и как не стоит использовать HttpClient в .NET Всем привет! Меня зовут Андрей Федотов, я бэкенд-разработчик в одной из команд платформы интернета вещей ZIIoT Oil&Gas. В этой статье я рассказываю, что нужно знать и как работать с HttpClient в .NET, чтобы не получить трудноподдерживаемый и сложный код и не нарваться на...

GraphQL и микросервисная архитектура: объединяем сервисы в федерацию Меня зовут Владислав Гончаров, я разработчик в команде Platform V DataSpace СберТеха. Расскажу, как мы решаем вопрос с объединением сервисов в GraphQL и микросервисной архитектуре, которая позволяет разбить любое большое приложение на маленькие сервисы. С одной стороны, их п...

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

Как мы загрузочный экран приложения в полезный для пользователя инструмент превратили. Кейс онлайн-кинотеатра KION Привет, Хабр! Меня зовут Михаил Фандуберин, я Product Owner, отвечающий за авторизацию и онбординг в KION. В прошлом августе я написал статью о повышении конверсии регистраций на примере страницы входа онлайн-кинотеатра KION. Сегодня расскажу о другом проекте — работе со ста...

Step by step: интегрируем интерактивные 2D/3D-объекты в iOS-приложение Привет, Хабр! Меня зовут Степан, я iOS-разработчик SimbirSoft.В очередной раз открыв одно из ежедневных приложений, я обнаружил любопытную фичу: интерактивный 3D-элемент в виде звездочки. Казалось бы, ничего необычного, но это сделало взаимодействие с приложением немного при...

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

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

Новые функции CSS (mod, round) или как сделать анимированные Sprite Sheet без JS Sprite Sheet — это техника в веб-разработке, позволяющая использовать множество различных кадров анимации, хранящихся в одном изображении. Это эффективный способ уменьшить количество HTTP-запросов к серверу и ускорить загрузку веб-страницы, так как все кадры анимации загружа...

The New York Times: Из европейских библиотек были украдены редкие книги Пушкина и Гоголя Библиотеки по всей Европе столкнулись с дерзкой серией краж редких изданий произведений русских классиков XIX века, в первую очередь Александра Пушкина и Николая Гоголя. Как выяснило расследование под названием "Операция Пушкин", за этими преступлениями стоит целая междунаро...

[recovery mode] Безопасность android-приложений. Реверсим OWASP MASTG Crackme 1 Всем привет! Меня зовут Максим и я занимаюсь исследованиями источников данных. В своей работе периодически приходится сталкиваться с исследованием android-приложений. В этой статье я хочу показать базовые методы реверс-инжиниринга и исследования android-приложений на примере...

Логи в файлах: написал своё приложение для просмотра структурированных логов Не каждому проекту нужно децентрализованное логирование. В моём случае, оказалось проще хранить логи в .json файлах формата Compact Log Event Format (CLEF). Мне нужно было простое и бесплатное решение для просмотра логов. Читать далее

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

[recovery mode] Фильтруем логи санитайзеров и valgrind на примере приложения с Qt Периодически встречающаяся проблемами кода на С и C++ являются утечки памяти и неопределенное поведение. Даже если вы используете умные указатели, то от ошибок в библиотеках сторонних разработчиков вы не застрахованы. Для поиска ошибок в коде существуют специальные инструмен...

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

OpenStreetMap в Flutter-проекте: что такое flutter_map, как его внедрить и чем дополнить Всем привет! Меня зовут Анна Ахлёстова, я Flutter-разработчик в Friflex. Ранее мы обсудили, как использовать инструменты yandex_mapkit в Flutter-проекте. В этой статье рассмотрим еще один плагин для работы с картографическими сервисами – flutter_map, изучим его возможности, ...

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

Напрямую с облака: Android упростит процесс переноса изображений в приложения Приготовьтесь к улучшенной функции импорта фотографий на Android. Грядущее обновление, направленное на беспрепятственную интеграцию с приложениями облачного хранилища, сделает импорт изображений из библиотеки Google Photos в приложения проще простого.

Как заставить модуль Wemos D1 эффективно спать Сравнительно давно написал на хабре несколько статей Особенности создания программ в NODEMCU ESP8266 для «интернета вещей» / ХабрУменьшаем потребление ESP8266 при автономной работе с датчикамиКак уменьшить потребление wifi модулей в десять и более разо ESP8266 и способах уме...

Органайзер для мелочей. (экономия места и времени) Ребята всем привет!Да я еще жив и иногда все еще продолжаю создавать новые проекты. Одним из таких проектов стал Органайзер для маленьких болтиков и разных мелочей.Чем удобен такой вариант контейнера? Лично я много храню разной мелочевки и пробовал разные варианты. На данном...

Как мы тестируем серверы Привет! Меня зовут Олег Рябов, я главный эксперт Управления исследований и разработок новых решений компании «Ростелеком-ЦОД» и автор программы и методики испытаний (ПМИ) серверов. В этой статье расскажу, как мы проводим тестирование серверов и какие утилиты и методы использ...

В мобильную ОС «Аврора» интегрируют ИИ В российскую мобильную ОС «Аврора» будет интегрирован искусственный интеллект (ИИ), пишет издание «Коммерсантъ» со ссылкой на Ростелеком, который владеет разработчиком этой ОС «Открытая мобильная платформа». Компания отмечает, что вне...

Как я проходила стажировку в отделе аналитических решений почти без опыта работы с данными Привет, меня зовут Луиза, я инженер данных в ЮMoney — работаю здесь уже год. Мы собираем данные, структурируем их, храним и создаём аналитические решения, например OLAP-кубы и дашборды. Департамент разделён на несколько команд, у каждой своя предметная область. За год я прев...

MenuetOS, которая умещается на дискете, снова обновилась: что «выросло» в новой версии Некоторые читатели Хабра, вероятно, дискет и в руках не держали, поскольку те вышли из обращения много лет назад. Но ряд современных программ и «железа» всё ещё с ними связан. Например, проект MenuetOS представляет собой операционную систему, которая умещается как раз на дис...

[Перевод] Создание интерактивных анимаций с помощью React Spring Эта статья посвящена React Spring — библиотеке анимации на основе JavaScript. Мы рассмотрим её фичи, включая различные хуки и компоненты, и то, как использовать их в приложениях. Читать далее

Шпаргалка для QA: как тестировать Flutter-приложения Привет! Меня зовут Юлия Андреева, я QA-специалист в AGIMA. Мы пилим и тестируем много Flutter-приложений. И недавно я заметила, что не все коллеги понимают специфику их тестирования. В этой статье расскажу про основные инструменты и подходы, которые мы используем. Сосредоточ...

Продвинутое использование форм в Django (на примере Bootstrap и crispy) В этой статье поговорим о существующих подходах к рендерингу веб-форм в Django.Обсудим подходы с использованием стандартных средств Django, а также применим сторонние средства для продвинутого управления рендерингом форм на примере пакета django-crispy-forms и фронтенд библи...

Упростить развертывание приложений в облаке — open source инструменты, которые помогут это сделать C помощью cloud-сервисов можно решить множество задач бизнеса — например, организовать централизованное управление корпоративной ИТ-инфраструктурой, разместить клиентские приложения и обеспечить высокую доступность веб-ресурсов при пиковых нагрузках, сократить затраты на сер...

Duke Nukem 3D: один из пионеров дизайна уровней С 1993 года, когда вышел Doom, разработчики сделали множество шутеров. Подобные игры того времени вносили много базовых знаний по дизайну уровней игр, многие из которых все ещё используют. Одной из запоминающихся таких игр была Duke Nukem 3D 1996 года. Побудило меня пере...

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

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

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

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

Загрузка драйверов в ядре Linux Почти все знают, как написать простой драйвер под Linux. На эту тему много материалов в сети. Очень мало информации о том, что находится "под капотом" у процедуры загрузки драйверов. Читать далее

Учишь русский, учишь Java, едешь в Россию работать, или Как я «зашёл в ИТ» 10 лет назад Писатель Дмитрий Глуховский как-то предложил водителю автобуса из Саратова свой вариант карьерного плана в ИТ. Моя карьера сложилась почти по этому плану. Только я учил Java.Hola, Хабр. Меня зовут Джулио, я ведущий бэкенд-разработчик в IBS. Я родился и вырос в Перу, но уже н...

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

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

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

Инструкция: как быстро настроить GitLab CI/CD на Flutter-проекте Привет! Я Александр Омельяненко, Flutter-разработчик в AGIMA. Недавно мне понадобилось быстро настроить CI/CD на Flutter-проекте. Те несколько руководств, что я нашел в интернете по этой теме, были либо с нерабочими примерами, либо запутанные и просто плохого качества. Но вс...

Как мы запускали DIY-медиа для ИТ-специалистов Привет, Хабр! Меня зовут Юлия Гусарова, я директор по маркетингу beeline cloud. В октябре мы запустили проект вАЙТИ. В этой статье я и мои коллеги расскажут о том, как мы придумывали концепцию DIY-медиа и чем оно отличается от других площадок. А еще — поговорим о том, как ус...

Как сделать консистентный UX для 40+ продуктов. Уроки, которые я извлекла из перезапуска дизайн-системы Привет! Меня зовут Ксения Гаврилова, я дизайн-менеджер в Selectel. Определяю, поддерживаю процесс и качество дизайна продуктов в компании, занимаюсь поиском и онбордингом людей в команду, помогаю дизайнерам развиваться. В 2022 году мы создали свою дизайн-систему. Это был с...

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

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

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

RSLike@3. Well-known Symbol, улучшенное использование Typescript, и весим больше Еще совсем недавно я выпустил библиотеку которая должна была искоренить ошибки связанные с null и undefined . Честно признаюсь, что решил подсмотреть у Rust Option и Result апи, поскольку увидел в этом потенциал и удобство использования!Если кратко пройтись по истории создан...

Unpacking аналитиков: виды, особенности и отличия Приветствую всех читателей Хабра!Меня зовут Белоусова Александра, я развиваю направление по обучению и стажировкам аналитиков в «Автомакон». У меня довольно разнообразный профессиональный опыт: была и бизнес-аналитиком, и системным, и аналитиком данных, руководила проектами ...

Открыта запись на бета-тест мобильной версии Stone Age: Digital Edition Цифровая версия настольной игры Stone Age: Digital Edition вышла на ПК 22 августа 2023 года. Теперь издатель и разработчик Acram Digital собирается перенести проект на смартфоны iOS и Android. Сначала компания собирается провести бета-тест на обеих платформах. Чтобы принять ...

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

Работа с A/B-тестами в крупной соцсети: подробно об A/B платформе Одноклассников ОК — социальная сеть, которой ежемесячно пользуется более 36,5 млн уникальных пользователей из России. Наш продукт имеет сложную архитектуру, включает десятки сервисов и инструментов, которые мы постоянно совершенствуем и добавляем новые. Чтобы в процессе выкатки обновлений ...

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

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

Поток входящих запросов: когда пора менять процесс обработки – на примере запуска первой линии технической поддержки Привет, Хабр! Меня зовут Дима, я руковожу отделом информационных технологий бэк-офиса в “Петрович-Тех”.Представьте: пользователи не могут начать работу в системе. Не испытывают сложности через день или неделю, а прямо на старте не имеют возможности начать пользоваться продук...

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

Как я писал свой первый проект на Python Кто-то в качестве своего первого серьезного проекта пишет калькулятор, другие веб-сайт и в принципе идея ограничивается только скилами и вашей собственной фантазией (или фантазией преподавателя, если у вас такой есть). Калькулятор мне писать не хотелось (как минимум из-за на...

[Перевод] Не стоит недооценивать HTML «HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения. И очень часто они вызывали у м...

Netmiko: упрощение сетевой автоматизации на Python Привет, Хабр!Сегодня рассажем о модуле, который упрощает автоматизацию сетевых устройств — Netmiko. Если вы, как и мы, когда-то пытались автоматизировать конфигурации и управление сетью через SSH, то вы знаете, насколько это может быть сложным процессом. И тут на сцену помог...

Итоги 2023 года Volgobot Год стремительно движется к концу, и мы хотим подвести итоги уходящего 2023. В этом году наша компания претерпела значительные изменения и сильно выросла по многим показателям. Для того чтобы более комплексно взглянуть на итоги и результаты уходящего года, мы решили сделать ...

Как информативно оформить профиль на GitHub? Тетрадь, дневник — ваше лицо. А круто оформленный профиль на гитхабе — статус вашей занятости. Чем больше участий в проектах, тем безработнее... Пока молодые специалисты оформляют свои страницы с "Lib-Meta-Neo ML-Scientist 10 years of expirience" на LinkedIN настоящий амбасс...

Как добыть свечи по всем акциям Мосбиржи В конце прошлого года я писал о том, как с помощью Algopack можно вытащить справочную информацию о всех акциях Мосбиржи. Приводил пример моего первого скрипта на python, использующего библиотеку moexalgo для Algopack и обозначил планы дописать его с целью добычи всех историч...

Симулятор электронных схем Qucs-S: обзор новшеств версии 2.1.0 Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. Для работы Qucs рекомендуется использовать также открытый движок моделир...

6 шагов к автоматизации управленческого учёта, отчётов и расчёта зарплат Привет! Эта статья для тех, у кого финансовый отдел просил «автоматизировать управленческую отчётность в соответствии с учётной политикой». Звучит как эльфийский, но я вам переведу)) Расскажу, как мы автоматизировали расчёты и освободили наших финансистов от ручной подготовк...

Nvidia хвастается тем, насколько GeForce RTX 4090 мощнее всех новомодных NPU в задачах ИИ. Правда, если сравнивать с видеокартой попроще, все не так убедительно Компания Nvidia решила еще раз показать, насколько все эти современные NPU в процессорах уступают мощи видеокарт GeForce в задачах ИИ.  Для демонстрации компания взяла GeForce RTX 4090, что, с одной стороны, демонстрирует максимум возможностей, но с другой, делает...

Интервью AppTime с разработчиком игры Aerial_Knight's We Never Yield Игра Aerial_Knight's Never Yield изначально вышла на крупные платформы в 2021 году, а в 2022 её портировали на iOS и Android. Она стоит 99 рублей в App Store, а из Google Play проект убрали. Теперь издатель Headup и разработчик Aerial_Knight готовят новую часть — Aerial_Knig...

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

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

Картографический фотопроект «По местам съёмок фильма «Брат 2» Проект начал делать в 2022 году, параллельно с проектом по первой части фильма. Во второй части многие локации пришлось искать вооружившись Яндекс и Гугл панорамами. Около полугода искал человека, который сделает фото в Чикаго. С технической точки зрения ничего не поменялос...

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

Обзор библиотеки bleve в Golang Bleve предоставляет индексации любых структур данных Go, он поддерживает различные типы полей: текст, числа, даты и логические значения, а также разнообразие запросов: от простых терминов до фраз и сложных булевых запросов.В этой статье рассмотрим основной функционал этой би...

Делай тот PR, который ты умеешь: Григорий Петров о продажах на конференциях Привет, Хабр! В апреле 2024 года в Екатеринбурге прошла масштабная IT-конференция DUMP. Мы, команда Doubletapp, решили не упускать возможности и сняли целых 8 подкастов с топовыми спикерами конференции. Один из них – Григорий Петров, DevRel в компании Evrone. Григорий много ...

Удобные формы для Vue 3 Vue + Form. А можно немного попроще...Краткий путь по созданию библиотеки для работы с полями и формами . В статье описан краткий путь от v-modal к чему-то более умному и самостоятельному. Я также поделился своими наработками, чтобы вы могли использовать их у себя в проекте....

Вы никогда не сократите Тime Тo Мarket, если будете тестировать все фичи на одном сервере Привет, это Максим Павлов из KTS. Мы создаём IT-продукты для бизнеса.Все твердят про важность Time To Market — времени от появлении идеи фичи до её релиза для пользователей. При этом почему-то тестируют все фичи на одном сервере. В статье рассказываю, как ускорить Time To Ma...

ODRS: Комплексный открытый фреймворк для формирования рекомендаций по выбору моделей обнаружения объектов Привет, коллеги! Если вы хотите упростить свою жизнь при разработке систем распознавания объектов, то стоит взглянуть на ODRS — это открытый фреймворк, который реально может сэкономить вам кучу времени и нервов. Что такое ODRS?ODRS, или Open Detection Recommendation System,...

Лучший стек для питониста-джуна 2024 (2 часть) Итак, что же поменялось за чуточку больше чем полгода? Если мы будем говорить об актуальности - ничего. Django до сих пор, а скорее всего так будет и всегда, остается "на плаву". Большая часть вакансий для back-end разработчика на Python имеет в себе требования по знаниям Dj...

Зачем и как в Альфе была написана библиотека для скриншот тестов под Android В статье расскажу о проблемах и неочевидных моментах скриншот тестов в контексте Android, и постараюсь погрузить вас в то, как это может работать (и как мы это сделали в Альфе) Что же там дальше

Можно ли обойтись без нативных языков, разрабатывая на Flutter и RN? Привет! Меня зовут Дима, я разрабатываю мобильные приложения на Flutter в Пиробайт. Все чаще мне приходится сталкиваться с задачами, в которых требуется обращение к нативному API устройства. Пакетов на pub.dev для решения этих задач мне всегда хватает. Но бывают моменты, ког...

Как сэкономить миллионы рублей, или перевод документации нейродвижками Всем привет!Меня зовут Александр Денисов. Я работаю в компании Naumen и отвечаю за документирование и локализацию программного продукта Naumen Contact Center (NCC).В этой статье я расскажу о том, как у нас был автоматизирован процесс перевода документации с помощью нейродвиж...

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