Социальные сети Рунета
Пятница, 10 мая 2024

Диплом специалиста ИБ. Часть №2 — Стационарное устройство SmartLight Привет, Хабр!Так вышло, что я заканчиваю университет в феврале 2024 года (направление 10.05.01 «Компьютерная безопасность» является специалитетом, поэтому студенты выпускаются традиционно зимой после 5,5 лет обучения). Соответственно, уже в прошедшем 2023 году передо мной, к...

Диплом специалиста ИБ. Часть №1 — Методика обеспечения безопасности устройств Интернета вещей Привет, Хабр!Так вышло, что я заканчиваю университет в феврале 2024 года (направление 10.05.01 «Компьютерная безопасность» является специалитетом, поэтому студенты выпускаются традиционно зимой после 5,5 лет обучения). Соответственно, уже в прошедшем 2023 году передо мной, к...

Диплом специалиста ИБ. Часть №5 — Несанкционированный доступ к IoT-устройствам с BLE Привет, Хабр!Представьте, что вы написали собственную методику обеспечения безопасности устройств IoT и защитили собранное вами устройство в соответствии с ней. Не захочется ли попробовать проверить его защищенность самостоятельно? Эта статья является пятой и заключительной ...

XeLaTeX для оформления текстов: Текст, рисунки, таблицы, автоматизация В статье рассмотрим пример того как в XeLaTeX можно настроить форматирование отдельных элементов текста, автоматически создавать таблицы, рисунки. В первую очередь будет интересна тем кто собирается оформлять ВКР (выпускная квалификационная работа) бакалавра или магистра, пи...

Устройство умного приёмника звука в составе сетецентрической системы установления координат источника звука Фомичев В.А., полковник запаса, Крюков В.А., гражданское лицо. Живый в помощи Вышняго, в крове Б...

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

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

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

Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0 В современном мире веб-разработки обеспечение безопасности пользовательских идентификаторов и управление доступом к ресурсам становятся все более важными задачами. Один из мощных инструментов, предоставляющих полноценное решение для этих задач, это Keycloak, современная сист...

Торговый бот на Python с нуля (с использованием Binance API), часть 2 Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных страт...

MLOps в билайн: как катить машинное обучение в production без ML-инженеров. Часть I Всем привет! Меня зовут Николай Безносов, я отвечаю за применение и развитие машинного обучения и продвинутой аналитики в билайне. В одной из прошлых статей мои коллеги рассказывали о месте Seldon в ML-инфраструктуре компании, а сегодня мы поднимемся на уровень выше и погово...

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

Атаки на Bluetooth. Часть 1 Снова приветствуем всех заинтересованных и случайно попавших на эту статью! Продолжаем рубрику "Без про-v-ода", в основном мы разбираем для вас атаки на Wi-Fi, но в этой статье мы затронем одну из популярных беспроводных технологий - Bluetooth. Все мы каждый день им пользуем...

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

Написание open source проекта на примере рендера для ttf шрифтов. Начало В данном проекте планируется создать парсер, а затем и рендер для шрифтов с расширениями TTF, OTF, TTC, OTC.Цикл данных статей является своеобразным блогом, но не обучающим. Наоборот я прошу об обратном отклике в виде комментариев.Данный влог - это опыт создания open source ...

Эволюция разработки под Android Отправной точкой истории разработки Android считается начало 2000-х, когда Энди Рубин, Рич Майнер, Ник Сирс, Крис Уайт основывают Android Inc. Уже в 2005 Google выкупает их, а в 2008 запускает свою ОС — Android. Первым смартфоном на её базе стал HTC Dream. Так началась ...

В помощь тем, кто погружается в Smali Целевая аудитория этой статьи — люди, которые решили заняться исследованием .apk файлов, имеющие опыт разработки под Android и знакомые с основами синтаксиса Smali. Эта статья является оригинальной и ранее нигде не публиковалась. При копировании, прошу указывать ссылку на э...

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

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

«Физика для программистов» — как физтехи применяют её в приложениях. Маятники Данная статья входит в цикл, освещающий задачи на моделирование физических процессов на факультете МТФИ ВШПИ. В этой части речь пойдёт про задачу моделирования поведения маятника: коротко разберём теорию, которая лежит в основе модели, немного подумаем над архитектурой и нап...

Развиваем продукт «без проблем» В своей прошлой статье я рассказывал о том, как использовать метрики при разработке продуктов. Статья получилась довольно насыщенная, но теоретическая.В этой статье я хочу рассказать о том, как на практике применять эти подходы при развитии продуктов. Можно ли опираться толь...

Кем работать в IT в 2024: ведущий разработчик 1С Рубрика «Кем работать в IT» — это интервью с представителями IT-профессий, в которых специалисты рассказывают о тонкостях своей работы: плюсах, минусах, подводных камнях и заработной плате. Мы надеемся, что джунам и стажёрам она поможет больше узнать о том, что их ожидает на...

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

Опыт автоматизации управления FPGA-стендами для распределенной команды: отказ от готового решения и работа над ошибками В software-разработке с автоматизацией обычно все неплохо: более-менее понятно, как настроить CI и автоматизировать отдельные этапы CI-конвейера. Есть множество готовых решений и практик. Но, когда речь заходит об автоматизации тестирования на «железе», появляется множество ...

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

Управление цветами в Seaborn: как эффективно визуализировать данные Привет, Хабр. В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся.Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как исп...

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

Kubernetes Networking: сервисы, Ingress и Network Policies Когда я впервые столкнулся с задачей масштабирования сложного приложения в Kubernetes, то был полон оптимизма. Однако вскоре стало ясно, что управление сетевым трафиком и безопасностью в такой динамичной среде — это непросто. Наше приложение начало страдать от потерь пакет...

[Перевод] Создание эмулятора игр MS-DOS в Kubernetes В этой статье мы разберёмся, как можно интегрировать JavaScript-библиотеку js-dos в собственное решение Kubernetes, что позволит нам предоставлять доступ к играм MS-DOS в виде сервисов Kubernetes и запускать их в браузере. Кроме того, по ходу статьи я дам советы и рекоменд...

Отправляем и принимаем SMS с помощью SIM868 и Repka Pi В этой статье мы продолжим рассказ об использовании модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, для беспроводной передачи данных в виде СМС-сообщений через Российский одноплатник Repka Pi. Такой способ даже в наше время актуален, когда нужно управлять авто...

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM) На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которы...

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

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

От конструктора до облака: какие есть способы разработки мобильных приложений Привет! На связи Вася Крючков, уже больше 7 лет я занимаюсь разработкой мобильных приложений и сейчас работаю в компании IMSHOP.IO, где за 5 лет разработали больше 150 приложений для ритейла. За эти годы часто встречал случаи, когда е-com менеджеры и технические директора сл...

[Перевод] Исследование режима Copy-on-Write в pandas. Часть 2 В первом материале из этой серии была объяснена работа механизма Copy‑on‑Write (CoW, копирование при записи). Там были упомянуты некоторые ситуации, в которых при выполнении кода осуществляется копирование данных. В этой статье речь по...

Мой опыт времен флеша в геймдеве (Часть 2) Ранее я писал Как я решил сделать игру, вдохновившись Heroes of Might and Magic, и потерял деньги. И вы статью хорошо приняли (62к просмотров).Я решил вспомнить, а с чего всё начиналось и чем по итогу закончилось - провести ретроспективу. Разработка игр - это мое хобби в сво...

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

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

Российский университет поощрит студентов за использование ИИ в дипломных работах В пресс-службе Высшей школы экономики (ВШЭ) сообщили, что вуз запускает конкурс ИИ-решений для студентов, которые используют искусственный интеллект (ИИ) при написании дипломных работ. Цель конкурса — оценить применение нейросетей для решения сложных задач в рамках выпускных...

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

Как начать карьеру в пентесте: опыт сотрудника Angara Security Мы продолжаем цикл материалов о старте карьеры в кибербезопасности. Этот материал подготовил сотрудник отдела анализа защищенности Angara Security, по просьбе автора, мы не будем раскрывать его имя. Если после прочтения статьи будут вопросы, welcome в комментарии или в личны...

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

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 2: практика В первой части статьи мы разбирались с теорией, которую нужно знать для создания собственных Pytest-плагинов: фикстурами, маркерами и хуками. А теперь перейдем к практике. Я покажу два примера плагинов, которые помогают нам в интеграционном тестировании систем хранения ...

Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python Метод опорных векторов (Support Vector Machine или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные...

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

Как работает кнопка Mute на Яндекс Станции. Подробный разбор логики и схем Привет! На связи Геннадий «Крэйл» Круглов из команды, которая разрабатывает аппаратную часть Яндекс Станций. С кем-то из читателей Хабра мы уже могли познакомиться в рамках мероприятий Я.Железа, где делимся опытом разработки устройств.  Последние несколько лет мы с...

Разработка Tower Defense на Unity — часть 1 Доброго времени суток, ребята. Это моя первая статья вообще и первая в цикле статей о том, как я решил создать игру в жанре Tower Defence. Данный текст я пишу как человек неопытный и только исследующий сферу, так что он может показаться вам интересным, если вы уже давно проф...

Как мы выстроили процесс работы с макетами Меня зовут Алина Шилова, я работаю системным аналитиком над внутренними продуктами Tele2. Вот уже два года наша команда занимается разработкой портала для сотрудников компании. Специально для создания платформы была набрана команда. За 10 лет работы в ИТ-сфере это был мой пе...

Как я создавал мобильное приложение для хранения прочитанных книг BookDesk Всем привет! Меня зовут Александр, мне 33 года и я React-разработчик (10 лет опыта во фронтенде), я из Беларуси.Я хочу рассказать о моем опыте создания мобильного приложения для хранениях прочитанных книг BookDesk.Все началось еще в 2020 году, когда началась пандемия коронав...

97 откликов, 2 тестовых, 3 технических собеседования — и оффер в IT-компанию у меня в кармане Привет, я Настя — младший разработчик в «Метре квадратном». Это статья о том, как я пришла в разработку практически с нуля в 2023 году. Знаю, на «Хабре» таких уже много, но когда-то подобная статья помогла мне начать свой путь, и я решила, что этот текст тоже может быть поле...

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

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

Как провести unit-тестирование Flink-операторов: TestHarness Привет всем, на связи снова Александр Бобряков, техлид в команде МТС Аналитики. Продолжаем цикл статей про фреймворк Apache Flink.Напомню, в предыдущих частях я рассказывал про построение пайплайна Kafka-to-Kafka с промежуточным разделением потока и дедупликацией событий. Та...

Кому и зачем нужны разработчики мобильных приложений в 1С Платформа 1C:Enterprise — самый простой способ перейти в сферу мобильной разработки. Научиться писать приложения на 1С проще, чем освоить Swift, Java или Kotlin. Обучение займёт всего пару месяцев. При этом специалист с такими знаниями всегда будет востребован на рынке благо...

Реализация многофункционального терминального интерфейса для МК AVR В данной статье речь пойдёт о разработке многофункционального терминального интерфейса для МК (на примере МК Atmega32 и терминала HyperTerminal. Многофункциональность в моём случае будет заключаться в обработке управляющих символов и управляющих последовательностей с целью р...

Как мы (не) вкатились в геймдев. Часть 1 Привет, Хабр! Это мой первый пост и рассказывает он о попытке нашего небольшого коллектива сделать свою игру, начатую в рамках дипломного проекта. О том, как шла разработка и почему в итоге не получилось — постараюсь рассказать в этой ...

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

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами Часть 4 В предыдущей части был рассмотрен основной подход, применяемым для тестирования сложных цифровых устройств - constraint random testing. Мы узнали, как автоматизировать проверку корректности работы устройства с помощью сравнения его выходов с эталонной моделью. Тестовые окру...

TMS на замену TestRail: писали для себя, а выложили в open source В прошлом году TestRail прекратил предоставлять и продлевать лицензии компаниям из России, поэтому мы в YADRO решили разработать собственную тест-менеджмент систему TestY. Опирались на опыт работы с другими сервисами, чтобы добавить тот функционал, которого не хватало нашим ...

Apache Flink: динамическое определение выходного топика в Kafka Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей статье — «Apac...

Kodein DI для Android. KMP и Compose Быть в авангарде в разработке — жизненная необходимость. Поэтому многие проекты уже переходят на Jetpack Compose, а самые смелые и продвинутые даже выпускают приложения на KMP. Мы в проекте Дринкит тоже активно переходим на Jetpack Compose (с KMP пока не сделали подход).Ну и...

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 1: теория Всем привет! Меня зовут Александр Волков, я занимаюсь интеграционным и компонентным тестированием в YADRO. В числе продуктов компании есть системы хранения данных и, говоря о тестировании, я буду иметь в виду в первую очередь работу с СХД. Однако описанные подходы пригодятся...

Применение стационарных умных приёмников звука в составе сетецентрической системы Фомичев В.А., полковник запаса, Крюков В.А., гражданское лицо.Данная статья является продолжением статьи «Устройство умного приёмника звука в составе сетецентрической системы установления координат источника звука » Читать далее

DVC — прекрасный инструмент для DataScience Привет Хабр, меня зовут Дмитрий Несмеянов, я являюсь руководителем направления разработки ML-инфраструктуры "ЛОКО-банка". Сегодня я хочу рассказать про DVC: инструмент, который многие, незаслуженно, обходят стороной. Была хорошая статья от Райффайзен Банк, в этой статье я по...

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

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

Создание системы управления электродвигателями в наноспутнике Введение:Целью работы является создание системы управления электродвигателями в наноспутнике. Установка положения спутника в пространстве осуществляется с помощью электродвигателей, снабженных маховиками. В докладе рассмотрен один из возможных алгоритмов управления электродв...

Symfony под капотом: Symfony Messenger и механизм повторной обработки сообщений при ошибках Привет! Меня зовут Ваня, последние несколько лет я занимаюсь backend-разработкой в Сравни. Моя команда разрабатывает интеграции с сервисами наших партнёров, код пишем на PHP и Symfony Framework.При работе с интеграциями мы часто имеем дело со сбоями в сторонних сервисах, и н...

Nvidia может взяться за рынок портативных игровых консолей Помимо производства специальных графических процессоров для Nintendo Switch 2 компания думает о создании своего портативного устройства

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

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

Землю — крестьянам, gRPC — питонистам Протокол gRPC в данный момент является довольно распространёным решением (почему, очень хорошо описано в статье от Яндекса). На работе мы также используем его везде, где идёт речь об общении микросервисов друг с другом. Но, к сожалению, когда я начал вникать в устройство и п...

Настраиваем CI/CD с GitHub Actions и werf: инструкция для новичков В этой статье мы рассмотрим, как настроить пайплайн CI/CD в GitHub: подготовим репозиторий, зальём туда приложение, создадим файлы конфигурации GitHub Actions, в которых опишем, как собирать наше приложение и деплоить его в кластер Kubernetes, развёрнутый под управлением Dec...

Велосипедим связанный список на Wolfram Возможно 11 подписчиков моего блога обратили внимание на тот факт, что все мои статьи касаются языка Wolfram, а несколько последних статей вышли довольно громоздкими. Одна из последних статей была помечена Хабром как требующая в среднем 32 минуты на прочтение. Я посчитал, чт...

DevOps as a Service. Часть 5. Работа с бэклогом и сквозной приоритизацией команды Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем в организации работы подразделения. В прошлых статьях мы описали подход и показали пути решения часто...

Архитектурные нюансы OpenStack. Базы данных как сервис, реализация Trove Привет, Хабр. Это вторая статья в цикле, в котором мы рассматриваем архитектуру основных сервисов OpenStack. Первая, в которой я рассказывал о Nova и общих паттернах построения платформы, находится здесь. Сегодня погрузимся в детали реализации сервиса DBaaS, который в платфо...

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

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

Пишем свой вариантный тип C++ 17 привнес в язык достаточно много нововведений, в том числе шаблон std::variant (хоть в Boost он есть уже довольно давно). Фактически, последним вышедшим и полноценно реализованным стандартом C++ на тот момент, как я начал изучать данный язык, являлся как раз C++17, поэ...

Цикл статей о Greenplum. Часть 1. GP под капотом Всем привет!Как вы знаете, многие поставщики ПО ушли с российского рынка ввиду введённых санкций и многие компании столкнулись с необходимость заняться импортозамещением в кратчайшие сроки. Не стал исключением и наш заказчик. Целевой системой, на которое было принято решение...

Выбираем инструмент проектирования интерфейсов для аналитика Всем привет! Меня зовут Бургомистренко Кристина и я — системный аналитик в компании заказной разработки Rubius. В этой статье я рассказываю про свой опыт проектирования и сравниваю несколько популярных инструментов для создания вайрфреймов, которые м...

Создание шаблонов сайта в Joomla 4+ Последние статьи на Хабре о создании шаблонов для Joomla - 2015-2017 годов. В этой статье опытным разработчикам будет интересно посмотреть на отличия от предыдущих версий Joomla и, возможно, дополнить статью ценным советом. Тем же, кто чаще работал с другими движками статья ...

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

Создание и тестирование gRPC сервиса (Spring Boot приложение) Привет, Хабр! Сегодня я поделюсь опытом работы с gRPC и расскажу, как создать и протестировать gRPC-сервис в приложении на Spring Boot. Основная проблема — это отсутствие структурированной информации по корректному тестированию gRPC сервиса. Эта статья будет полезна для тех,...

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

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

Как выбрать первую механическую клавиатуру. Пособие для новичка Попросили меня друзья\коллеги рассказать про первые шаги и выбор механики для работы и жизни. Решил поделиться и с Хабром статьёй о том, как выбрать себе первую механическую клавиатуру.В статье отвечу на вопросы о том, что такое HotSwap board, что за проценты в размерах клав...

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

Перехват трафика мобильных приложений Часто случается так что на необходимом сайте установлена защита от ботов. Например: QRATOR, Cloudflare, Akamai Bot Manager и пр. Можно потратить множество ресурсов на обход этих систем, но если у вашего ресурса есть мобильное приложение, то можно пойти другим путём. В подавл...

Сравнение сборщиков мусора в Unity и .NET В этой статье я хотел бы рассказать о различиях между сборкой мусора в Unity (IL2CPP) и .NET. Несмотря на то что IL2CPP существует более 10 лет, я до сих пор встречаю недоумение, когда беседа заходит на тему Garbage Collector (GC) касательно Unity. Считать реализацию GC в .N...

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

Протоколы семейства TCP/IP. Теория и практика В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур ...

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

Как я курсовую писал на gRPC+REST в связке с клиентом на Android+Jetpack Compose В этой статье я расскажу о том как написал курсовую работу и успешно сдал её с первой попытки без защиты на «отлично». Чего у меня и моих одногруппников ранее никогда не удавалось. Читать далее

Концепция RAII (Resource Acquisition Is Initialization) Здравствуй, Хабр!RAII (Resource Acquisition Is Initialization) - это важная концепция в C++. Она представляет собой парадигму управления ресурсами, которая способствует безопасности и эффективности кода. В основе RAII лежит идея связывания жизненного цикла ресурса (например,...

Tecno представила необычную игровую консоль Pocket Go Сегодня в рамках выставки MWC 2024 компания Tecno официально представила устройство под названием Pocket Go — это передовая портативная игровая консоль, у которой нет собственного дисплея. Всё дело в том, что дисплей находится не в самом устройстве, а является частью AR-очко...

Тестируем приложение как сын маминой подруги или взгляд на Trace Based Testing Привет! Меня зовут Сергей, я бэкенд разработчик команды SEO в Банки.ру.В этой статье хочу описать свое знакомство с техникой Trace Based Testing (TBT): • расскажу о концепциях, которые чаще всего используются сейчас в тестировании• кратко опишу, что такое distributed ...

Начало Aircrack-ng и WEF ПредисловиеРад приветствовать всех читателей статьи! С сегодняшнего дня запускаю новую рубрику моих статей "Без про-v-ода", в серии этих статей я буду обозревать различные методы, фишки, инструменты, устройства и всё что связано в вардрайвингом. Думаю не секрет, что довольно...

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

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

Увеличиваем объем накопителя с 32 до 256 ГБайт для нетбука Asus E200H Всем привет.Недавно мне попался в руки нетбук Asus E200H, и я его хотел его использовать для как портативный компьютер для работы c высокоточным оборудованием. В рамках данной статьи мы проведем эксперимент по замене штатного eMMC накопителя 32 ГБайт на 256 ГБайт и протестир...

Боремся с блокировками с помощью Trojan TCP на слабых устройствах c OpenWRT В данной статье рассмотрим как:Настроить обход блокировок с помощью Trojan TCP, tun2socks и bird2 (BGP) на устройствах с 8 Мб ПЗУ и 64 ОЗУ (8/64);Настроить существующее подключение к OpenVPN серверу, которое могло или может перестать работать, через Trojan TCP туннель&n...

Разработка системы управления электроприводом постоянного тока. Часть 1 — математическая модель Статья про разработку системы управления робототехнического устройства на примере привода рулевой поверхности малогабаритной ракеты. Читать далее

[recovery mode] Отчаяние, отказы и академический отпуск: как я за год вернул уверенность и стал Android-разработчиком Привет всем! Меня зовут Фаридун. В своём пути в мир разработки я неоднократно сталкивался с моментами, когда отчаяние казалось единственным компаньоном, а отказы накладывались печатью на каждом шаге.В своей первой статье на Хабре я хочу поделиться своей историей становления ...

Android Work Profile: как безопасно поделить свой смартфон между домом и работой Для тех, кто работает удаленно, провести грань между решаемыми задачами и свободным временем может быть непросто. Но я сейчас буду говорить не про work-life balance, а про Android Work Profile — технологию для управления корпоративными устройствами, которая создает разгранич...

Как использовать ресурсы Kubernetes по максимуму для работы с Go-приложениями Привет! Меня зовут Антон Жуков, я руковожу группой разработки в Сбермаркете. В профессии я уже более 12 лет, с Golang работаю с 2016 года, а с Kubernetes — с 2018 года. В этой статье расскажу об основах Kubernetes, возможных проблемах и решениях, а также о том, как грам...

Разработка HID-драйвера: шаг за шагом Предлагаем погрузиться в мир Human Interface Device (HID) в контексте операционной системы реального времени «Нейтрино». В статье мы расскажем про архитектуру HID и коснемся практических аспектов создания драйверов для устройств ввода. Кроме того, затронем вопросы системной...

Протокол защищенного обмена для индустриальных систем CRISP: поддержка в устройствах Рутокен Приветствую уважаемую публику Хабра от лица условно анонимного представителя компании «Актив», занимающейся производством небезызвестных средств аутентификации и электронной подписи. В этой статье хотелось бы рассказать об одном из менее известных направлений деятельности по...

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

Как мы (не) вкатились в геймдев. Часть 2 Привет, Хабр! Эта статья продолжает рассказ о разработке нашей игры, начатой в рамках моего дипломного проекта. В этот раз — про страницы главного меню, иконки интеракции и логотипы. Читать далее

Разработка простого DNS сервера на Go, согласно RFC Привет, Хабр!В этой статье я хочу рассказать о своем опыте создания DNS сервера. Разрабатывал я его "чисто повеселиться", при разработке будем придерживаться спецификации RFC. Читать далее

[Перевод] Полезные расширения VScode для работы с документацией Как правило, работа с документацией — это последний этап любого проекта, связанного с данными (data science, data visualization и т. д.), проектированием и разработкой ПО. Речь о создании и редактировании библиотек, файлов README, обучающих материалов и др. Среди всех преиму...

DIY: Ваше собственное облако на базе Kubernetes (часть 3) Вот мы и подобрались к самому интересному: запуску Kubernetes в Kubernetes. В этой статье мы поговорим о таких технологиях, как Kamaji и Cluster API, а также о том, как интегрировать их с KubeVirt.В прошлых статьях мы уже рассказывали, как мы готовим Kubernetes на bare metal...

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

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

Как я писал свою первую игру для Dendy Что такое Dendy? Что так любит детвора? Это электронная игра! Ооо, дендиии...В этой статье я вам расскажу о своем первом опыте разработки игры для NES/Famicom консоли. Постараюсь рассказать о инструментах, которые использовал и о интересных особенностях разработки игр для De...

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

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

Microsoft работает над сверхмощным Xbox нового поколения и, возможно, портативной консолью Microsoft продолжает инвестировать в развитие собственной платформы и устройств Xbox, несмотря на изменение бизнес-стратегии игрового подразделения и выпуск некоторых эксклюзивных игр Xbox на PlayStation 5 и Ninetndo Switch. В официальном подкасте президент Xbox Сара Бонд з...

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

Airflow в Kubernetes. Часть 1 Приветствую!На пути инженера данных часто встречаются задачи связанные с DevOps. Одна из таких - развернуть Airflow в Kubernetes кластере. Если до этого похожего опыта работы не было, то эта задача может показаться нетривиальной. Конечно, можно выполнить несколько команд из ...

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

Делаем crackme. Часть вторая: шифруем функции Эта статья вторая в цикле по созданию crackme под linux amd64. В этой части мы создадим исполняемый файл, в котором каждая функция будет зашифрована собственным ключом, и будет расшифровываться только на время исполнения. Процесс создания будет полностью автоматизирован, то ...

О, вы из Англии? Локализация Ozon Seller на iOS Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и  всячески улучшает пользовательский опыт работы продавцов на Ozon.Нашим приложением активно пользуются юзеры из р...

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

Большой тест GPT4, GPT3.5, YandexGPT, GigaChat, Saiga в RAG-задаче. Часть 2/2 В первой части статьи я рассказывал о создании цифрового юриста, способного отвечать на вопросы на основе 200-страничного регламента. Цель — работа такого юриста в закрытом контуре организации, без использования облачных технологий.Особенностью эксперимента является в том, ч...

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

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

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

Что делать, если твой заказчик — весы, или Как заговорить на одном языке с бытовой техникой Меня зовут Алексей Плаксин, я системный аналитик в компании KODE и сейчас расскажу вам, как делал реверс-инжиниринг бытовой техники.Однажды к нам пришел крупный бренд бытовой техники, который в том числе производит и продает «умную» технику для дома. Нам нужно было в коротки...

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

Transient storage в EVM (EIP-1153): на грани добра и зла В одной из статей о расчете газа в Ethereum (ссылка) я рассказал об истории изменений механизмов подсчета газа для хранилища смарт-контракта (storage) — от правил, заложенных в протоколе изначально, до EIP-3529. Во всех этих изменениях прослеживается основная проблема: нерац...

Из микро в макро: как адаптировать мобильное приложение под ТВ-платформу Рано или поздно Android-разработчику станет любопытно попробовать новые платформы. Устройств с этой ОС много — есть из чего выбрать. Например, сейчас набирает популярность разработка под умные телевизоры.И вот здесь начинается самое интересное. Вроде бы и на смартфоне, и на ...

Управляем умным домом Home Assitant через Алису и без интернета. Часть 1 В этой статье я бы хотел рассказать о том, как можно управлять умным домом и всеми устройствами (не только Zigbee) в Home Assistant даже без подключения к интернету. Читать далее

Паттерны или химеры программирования Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с ...

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

React Fiber & Concurrency Part 1 (2) В сети много статей и докладов, которые описывают React Fiber, но, к сожалению, они сейчас уже не актуальны. Заметив это, я решил разобраться и актуализировать информацию. Моими основными помощниками были исходники и отладчик, поэтому здесь вы увидите множество ссылок на код...

USB Rubber Ducky своими руками. По-настоящему Я думаю для пользователей Хабра и пентестеров в частности, тема badusb устройств не является секретной. Это вещи действительно интересные и полезные, а наверное, самый известный такой прибор - это USB Rubber Ducky от компании Hak5. С ним есть проблема, эти устройства сейчас ...

Интеграция SonarQube в Kubernetes В современном мире разработка программного обеспечения стала неотъемлемой частью бизнес-процессов, требующей не только высокой производительности, но и надежной защиты от угроз безопасности. В этом контексте DevSecOps выступает как ключевая парадигма, интегрируя принципы без...

Kodein DI для Android. Целостность графа и тесты на DI DI фреймворки бывают двух видов: те, что строят свой граф зависимостей во время компиляции (compile time фреймворки), и те, которые делают это уже при выполнении кода (runtime фреймворки).Kodein — типичный представитель runtime фреймворков. Это значит, что о пропущенной зави...

Разработка Tizen-приложения для Samsung Smart Signage Platform(SSSP): гайд для js-разработчиков В этой статье я хочу рассказать о своем увлекательном путешествии в мир ОС Tizen. В ней я постараюсь подробно описать не только основные шаги по установке Tizen Studio и созданию проекта, но и поделюсь с вами ценными практическими советами по разработке приложений, освещая к...

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

AITU Military CTF 2024:Digital Fortress: Как мы инфраструктуру для полигона поднимали. Часть 2 Перед прочтением данной статьи настоятельно рекомендую ознакомиться с 1 частьюВведениеДанная статья является продолжением статьи про поднятие киберполигона AITU Military CTF, в этой части мы рассмотрим глобальные изменения касающиеся инфраструктуры, такие как настройка сети ...

[sobjectizer] Релиз версии 5.8.1: реализация пожеланий пользователей и исправление недочетов Пару дней назад мы зафиксировали версию 5.8.1 открытого проекта SObjectizer. В данной статье поговорим о новых возможностях, которые появились в SObjectizer благодаря пожеланиям пользователей, и упомянем исправление не выявленного ранее недочета. Кому интересно, милости прош...

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

А ты хорошо знаешь Go? Держи пару полезностей по оптимизации кода Привет, Хабр!Эта статья — моя подборка приёмов и техник, которые помогут писать лаконичный и производительный код на Go без лишних костылей и велосипедов.Речь пойдёт о:полезностях для конкурентного программированияприёмах в Go в целом, таких как использование iota, работа с ...

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

End-of-Life: как понять, пора ли закрывать продукт, основываясь на данных Привет! Меня зовут Ульяна Баисламова. Я старший продуктовый аналитик в команде B2b и оффлайн-опыта в СберМаркете.Закрытие продукта (End-Of-Life, EoL) — естественная часть жизненного цикла сервиса или проекта, которая не обязательно связана с его несостоятельностью. В предыду...

Как работает дедупликация данных в потоке Kafka-to-Kafka? Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей части «Как исп...

Как систематизировать работу с входящими документами в компании с помощью OCR-инструментов. Часть 1 Ежедневно компании выполняют операционную и административную работу – неинтересную рутину, но без которой в действительности невозможен никакой бизнес. Крупная часть этой истории – входящий и исходящий документооборот, который может достигать тысяч бумажных копий. Чем быстре...

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали б...

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

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

Обновлённая «МойОфис Таблица»: как мы ускорили работу с документами в 50 (и более) раз В МойОфис мы регулярно прислушиваемся к пользователям и совершенствуем продукты с учётом их мнения. Речь не только о пожеланиях, которые мы напрямую получаем от коммерческих заказчиков: не менее внимательно мы анализируем и отзывы хабрасообщества.В одном из хабр-постов автор...

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

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

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

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

Симуляция высокоскоростных приёмопередатчиков с динамической реконфигурацией для ПЛИС Intel серии 10 В этой статье мы подошли к самому "свежему" поколению ПЛИС фирмы Intel, а именно 10 поколение. И теперь мы будем создавать проект в среде симуляции для Arria 10.Напомню, что высокоскоростные приёмопередатчики - это пара RX и TX, встроенные в ПЛИС, которые позволяют преобразо...

Безотказные очереди в RabbitMQ: Гарантированная доставка сообщений RabbitMQ - это открытая реализация протокола AMQP (Advanced Message Queuing Protocol), является мощным и гибким брокером сообщений. Он обеспечивает надежное и эффективное взаимодействие между компонентами системы, предоставляя разработчикам инструменты для создания гибких и ...

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

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

Умный дом в панельной хрущёвке Сразу признаюсь, что слово «хрущёвка» в этом тексте – скорее хук в заголовке. Правильнее было бы сказать, что я просто описываю свой опыт создания умного дома в обычной среднестатистической квартире городского жителя РФ, который я проживаю прямо сейчас.Статья будет состоять ...

О причинах технического долга, том, как с ним бороться и убедить бизнес, что это проблема Привет, Хабр! Технический долг есть в любом крупном проекте. Он возникает, когда копятся компромиссные решения, проблемы в коде или архитектуре. Важно, что эти решения и проблемы усложняют и удорожают поддержку и обновление кода в будущем. Это своеобразные «проценты». Чем бо...

[recovery mode] Ваша емайл-рассылка нуждается в AMP-emails прямо сейчас В данной статье я расскажу про AMP-emails из личного опыта разработки , покажу примеры какие бывают емайлы, как их можно отправлять, в каких областях емайл-маркетинга они могут использоваться. У меня более 4 лет опыта работы с AMP-emails и мне есть чем с вами поделиться Чита...

Разговоры с кроватью, про Яндекс Алису и умный дом Home Assistant В прошлой статье мы с вами добавляли голосовое управление кофеварке Jura. Но это была лишь тренировка в ожидании доставки по-настоящему космического устройства - умной кровати Ergomotion от Аскона. Читать далее

На что стоит рассчитывать на первой работе: путь стажера (data engineer) Меня зовут Виктор и на данный момент я заканчиваю стажировку и перехожу на должность младшего инженера по работе с данными в компании Sapiens solutions. В этой статье я хочу поделиться опытом и дать несколько рекомендаций людям, которые только начинают свой путь в области ра...

Жизненный цикл Activity приложения: базовые принципы и понятия Статья от тестировщика "ITQ Group" Леонида Галочкина.Понимание принципов работы activity помогает понять логику работу мобильных приложений, разрабатывать тест-кейсы разного уровня, готовить тестовую документацию. Принципы activity можно игнорировать, например, при тестирова...

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

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

О внутрикластерной маршрутизации через Istio Привет, Хабр! Я Степан, DevOps‑инженер, занимаюсь созданием CI/CD процессов с учётом проверки кода на безопасность, поддержкой и разверткой новых кластеров Kubernetes, соблюдением требований безопасности и созданием системы мониторинга и логирования — все это ...

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

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

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

Плагин на LibreOffice с Gigachat API В этой статье пойдет речь о решении, позволяющем упростить написание текстов при работе с офисным пакетом LibreOffice. Мы разработали плагин, который позволяет работать с текстом с помощью большой языковой модели GigaChat от Сбер. Читать далее

[Перевод] Как создать собственный шрифт В этом месяце я решил узнать, как создать шрифт, который буду использовать в своём комиксе hakum. Раньше я рисовал текст в цифре на своём планшете. Результат оказывался хорошим, но иногда трудночитаемым (размер текста часто скакал на одной странице). Мне не хотелось использо...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Асинхронная работа с файловой системой в Vert.x Vert.x – это экосистема для создания реактивных приложений на JVM, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Это полиглоттная платформа, поддерживающая не только Java, но и Kotlin, Groovy, Scala, и еще js. В контексте статьи раб...

Ещё раз об экзоконтинентах, тектонике плит и зарождении жизни Не так давно уважаемый @SLY_G опубликовал на Хабре перевод интересной статьи «Когда во Вселенной впервые появились континенты». Ссылаясь на исследования и модели Джейн Гривз из Школы физики и астрономии Кардиффского университета в Уэльсе, автор статьи (Эван Гоф) рассуждает о...

Покрытие архитектуры as Code тестами

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

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

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

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

Тестируем AI на создании прикладного приложения Всем привет, я Григорий Тумаков, CTO в Моризо Диджитал.Недавно рассказал на Хабре, как мы в компании “потрогали” нейросети для прикладных задач разработки. Но там никаких серьезных выводов сделать не удалось.Поэтому решил на этом не останавливаться. Если есть инструменты — и...

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

[recovery mode] Как стать Flutter-разработчиком бесплатно? Всем привет! Я Даниил Беликов, мобильный разработчик в крупной российской компании. Мои знакомые часто интересуются, стоит ли им входить в IT и на кого учиться. Обычно я отвечаю, что если человек визуал, есть смысл попробовать Flutter. Во-первых, это востребовано. Во-вторых,...

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

Call Activity vs SubProcess: В чём отличие? Приветствую моих читателей! Меня зовут Екатерина. Ранее 3.5 года я администрировала bpm-систему, сейчас вот уже более двух лет я работаю системным аналитиком и развиваю нашу собственную bpm-систему. В данной статье хочу рассказать о дилемме, с которой столкнул...

Проект Альфа-Бизнес Mobile Web (веб-приложение), или Что делать если AppStore — всё? Начиная с ведения санкций в 2022 вниманием не обошел и банковский сектор. Сказалось это и на возможности вести разработку и обновлять банковские приложения в Google Play и AppStore. Если ограничение Google Play можно обойти через множество альтернативных сторов или, на худой...

Хабргорода У меня возникла идея сделать список упоминаний названий городов в статьях Хабра за 2023 год и карту по которой можно найти статьи. Когда можно найти статьи, где упомянается конкретный город. С первого взгляда задачка простая, но это как всегда дьявол кроется в деталях! Для э...

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

Всё под контролем! История игровых устройств ввода: от привычных до самых странных Привет, Хабр! Меня зовут Сергей Милосердов, и я работаю системным аналитиком Nau Engine. Как часть команды часть корабля продукта, предметно я очень глубоко погружен в игровую индустрию и ее историю. До того, как я присоединился к разработке движка, у меня был большой опыт р...

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

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

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

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

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

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

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

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

16-битная операционная система на коленках В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы р...

Алгоритм Diffie-Hellman: Пишем приватный мессенджер на Go Это продолжение прошлой статьи про данный алгоритм. Где я рассказывал про возможность общения между двумя пользователями без прямого обмена ключом шифрования. Я уже описывал идею создания прозрачного Open-Source мессенджера на основе этого алгоритма и хочу представить вам ег...

5 советов для тех, кто хочет войти в IT в 2024 году Всем привет! Я Даниил Беликов, мобильный разработчик с опытом работы HR-менеджером. Я начал программировать в 2019 году, когда мне было 27 лет. У меня не было технического образования, друзей-программистов и поддержки со стороны близких. В силу обстоятельств, мне пришлось пр...

От Kubernetes в мечтах к Kubernetes в проде. Часть 4. Хранилище секретов ― HCP Vault В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрел...

[Перевод] 13 конфигураций Kubernetes, которые ты должен знать в 2k24 Поскольку Kubernetes продолжает оставаться краеугольным камнем оркестрации контейнеров, освоение его механизмов и возможностей становится обязательным для специалистов DevOps. В 2024 году некоторые конфигурации Kubernetes выделяются среди прочих благодаря функциональности в ...

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

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

Портативное прототипирование электроники Если при разработке электроники вы часто сталкиваетесь с задачей собрать в кучу россыпь модулей и проводов на столе, чтобы иметь возможность производить отладку в другом месте, эта статья для вас. Читать далее

[Перевод] Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport При работе с современными веб-приложениями реального времени незаменима возможность отправлять события с сервера на клиент. Именно этой необходимостью продиктовано то, что за годы работы было изобретено несколько методов для этой цели, каждый с собственным набором достоинств...

Вся мощь паттернов в Wolfram Language Редкая птица долетит до середины Днепра, не каждый разработчик осилит все паттерны в WL. Нет ему равных языков в паттерн-матчинге. Чуден и необычен язык этот. Изобилует он точками, подчеркиваниями, да запятыми так, что в глазах рябит, да разум мутнеет. В этой статье я постар...

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

4 сценария, когда нужно сделать ставку на Kotlin Multiplatform, а не Flutter Привет, это Максим Мялкин — управляющий партнёр и руководитель мобильной разработки KTS.Кроссплатформенные- инструменты помогают бизнесу не писать код два раза под iOS и Android, а переиспользовать его на обеих платформах. В статье — о том, чем Kotlin Multiplatform отличаетс...

Аналогов этой новинке нет. В России создан антидрон «Гюрза» с ИИ В России создали портативный антидрон «Гюрза», который оснащен искусственным интеллектом и может самостоятельно принимать решение о включении и выключении нужных частот для подавления беспилотных летательных аппаратов. «Портативный подавитель дронов &q...

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

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

Проведение фишинг-учений с использованием вредоносных ссылок и HTML-приложений. Часть 1 Многим угрозам можно противопоставить технические средства защиты информации (СЗИ): как базовые, так и системные решения. Но сколько бы ни стоило СЗИ, и сколько бы ни знал о устройстве инфраструктуры специалист, главной головной болью все равно остается человеческий фактор. ...

Apple Vision Pro: обзор платформы и создание первого мобильного приложения Привет! Меня зовут Андрей Груненков, я iOS - разработчик в агентстве InstaDev. Делаем мобильные приложения, которые помогают бизнесу расти. В этой статье я расскажу о том, как разработать первое мобильное приложение для платформы Apple Vision Pro.Для начала надо сказать пару...

iPhone 15 неправильно работает с павербанками С релизом iPhone 15 компания Apple наконец-то отказалась от своего собственного проприетарного порта Lightning в пользу стандарта USB Type-C, который широко используется в индустрии большинством производителей. Проблема в том, что в настоящее время у нового порта есть целый ...

Мой 2-х месячный опыт настройки Selenoid под Android за 10 минут Если вы читаете эту статью, то наверняка слышали о Selenoid. Это мощное решение написанное на Go от компании aerokube для управления Docker-контейнерами, в которых «завёрнуты» все необходимые программы и драйверы для тестирования в браузерах или на Android-эмуляторах.Как утв...

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

Радикальная защита селфхостинга. Уровень: хардвар и хардкор Сейчас у многих есть свой личный сервер. Насколько вы задумывались о безопасности? Настроили вход по ssh-ключам, firewall и на этом всё? Давайте поговорим про РЕАЛЬНУЮ безопасность.Эта статья о том, как запариться, распилить свой ноутбук болгаркой, вставить туда микроконтрол...

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

История разработки приложения для складных смартфонов Samsung. Часть 2 — гайдлайны Эта статья - продолжение истории про фрилансера Мишу и его знакомство со складными устройствами от авторов - выпускников «IT Школы Samsung». В предыдущей части главный герой осваивал инструментарий Remote Test Lab.В далеком 2019 году Samsung выпустила Galaxy Fold - инновацио...

Используем Elasticsearch вместе со Spring Boot Всем привет! Это моя первая статья на Хабре и в ней я хочу рассказать о том, как мы можем интегрировать Elasticsearch в наше Spring Boot приложение. Этот проект предназначен для ознакомления с технологиями и служит скорее шпаргалкой/пособием или же фундаментом для дальнейшег...

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

Что учесть при портировании приложения на Аврору Привет, Хабр! Меня зовут Дмитрий Мозер, я Flutter Team Lead в Friflex и участник бета-тестирования ОС Аврора. Занимаюсь, в том числе, созданием приложений на Flutter для ОС Аврора.Мы специализируемся на Flutter и активно участвуем в развитии фреймворка на ОС Аврора. Мы уже п...

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

Kafka, go и параллельные очереди В этой статье я расскажу о паре способов увеличить пропускную способность системы с помощью партиций kafka и каналов go. В качестве библиотеки-клиента kafka буду использовать segmentio/kafka-go. Статья будет полезна начинающим go-разработчикам, которые уже знакомы с основным...

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

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

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

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O Привет, Хабр!При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД. В этой статье мы как р...

Как разработчику использовать ChatGPT: разберемся, когда нейросеть помогает, а когда вредит Может показаться, что ChatGPT работает непредсказуемо: то уверенно пишет документацию к коду, то не может решить школьную задачу по математике. Самое опасное, что во втором случае нейросеть умеет ввести в заблуждение. Чтобы понимать, какие задачи можно доверить чат-боту Chat...

Microsoft рассказала о новых функциях Copilot для Microsoft 365 Компания Microsoft поделилась информацией о новых функциях и улучшениях в Copilot для Microsoft 365, которые призваны сделать вашу работу в приложениях более продуктивной и эффективной. В частности, добавлена поддержка дополнительных языков, внедрены функции для оптимизации...

WinRAR CVE-2023-38831 10 июля 2023 года при исследовании распространения троянского ПО под названием DarkMe, специалистами из Group-IB была обнаружена раннее неизвестная уязвимость в WinRAR, которая касалась обработки zip-архивов. Данная уязвимость получила идентификатор CVE-2023-38831. С помощью...

Обзор NativePHP. Инструмент для создания собственных нативных desktop приложений на Laravel Привет, коллеги! В этой статье я сделаю небольшой обзор NativePHP, который появился на последнем Laracon. Что из себя представляет NativePHP? Перед нами фреймворк, который позволяет нам писать нативные десктоп приложения, используя PHP. Приложения кроссплатформенные - можно ...

Обратный инжиниринг дешевой мини видеокамеры из семейства А9 В данной статье речь пойдет о Wi-Fi мини видеокамере из семейства А9 от китайских производителей. Цель исследования этих камер – расширить возможность их применения, которая ограничена использованием только стандартных приложений для мобильных устройств на базе Android или i...

Как начать работать с IPv6 там, где его нет (часть 2) В настоящее время основным подходом к внедрению IPv6 является dual-stack, когда устройство одновременно настроено на функционирование обоих IP-протоколов. Это и понятно, ведь основная часть интернета работает на версии IPv4. Механизм 6to4 позволяет подключить ваше устройств...

Road Run, или как я свою первую игру делал. Часть 6 Модели, сделанные в блендере, о которых я рассказывал в предыдущих частях, готовы и могут быть загружены в игровой движок. В этой части пойдёт речь о том, как собрать и заставить двигаться дорогу в Unity 3d. Читать далее

Как мы делали маркетплейс металлопроката и почему отказались от готового решения, часть 1 Представьте себе, что арматуру для строительства дома можно заказать так же просто, как и чайник домой. Идея для наших быстрых времён просто отличная! Да, такой формат продукции не доставить в пункт выдачи около дома, но ведь есть варианты. Например, в малых объёмах металл у...

Ученые создали приложение для распознавания поддельных документов Ученые из ETH Zurich создали мобильное приложение, которое помогает проверить подлинность документов. Разработка позволит бороться с мошенничеством и сэкономить время. В наше время подделывают самые разные документы: от дипломов об образовании до выписок из реестра должников...

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

О разжиревшей ИС «Управления проектами» или как мы боролись с ограничениями SharePoint в legacy проекте В этой статье мы опишем наш опыт работы с очень большой системой управления проектами, реализованной на SP, с какими ограничениями мы столкнулись и как добились похудения данной ИС. Читать далее

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

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

Что вы знаете о символьном программировании? Кликбейтный заголовок, риторический вопрос и обещание раскрыть тайну! Не самый лучший набор, но нормального названия для статьи мне в голову не пришло. Что же здесь все таки будет? Речь пойдет о реализации символьного программирования в Wolfram Language (WL). Я не буду расск...

«Игра 2022 года» — Elden Ring — выйдет на смартфонах? Китайская Tencent работает над таким проектом Игра Elden Ring, фанаты которой ждут выхода в этом году первого дополнения, может выйти на мобильных платформах.  фото: FromSoftware Сообщается, что китайский технологический гигант Tencent уже работает над мобильной версией игры FromSoftware. Само собой, о п...

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

Прогресс WebAssembly и будущее веба. Быстрые интерфейсы, пример Figma Скетч из статьи Лин Кларк «Создание и работа с модулями WebAssembly» WebAssembly (Wasm) — это бинарный формат для безопасного и эффективного выполнения портативных программ в стековой виртуальной машине (в браузере или на сервере). Как и ASM.js, представляет собой низкоуро...

Асимметричные и симметричные ключи в PostgreSQL Привет, Хабр!Как мы знаем, защита конфиденциальной информации — это неотъемлемая часть любого проекта. В статье поговорим про шифрование данных в PostgreSQL, а именно про шифрование с использованием как асимметричных, так и симметричных ключей. Читать далее

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

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

Будни техпода. Как разместить Telegram-бота на виртуальном сервере Чуть больше месяца назад мы запустили Telegram-бота, через который можно заказать виртуальный сервер. Этот бот помогает арендовать VPN-сервер, VPS из нашего маркетплейса или уникальную конфигурацию под ваши цели. А не возникало ли у вас желания запустить собственный Tele...

Ламповый дисплей для компьютера, часть 6: заключительная сборка в корпусе Вы добрались до шестой, заключительной части цикла статей о ламповом дисплее для компьютера. В этой статье я опишу, как осуществлялась окончательная сборка дисплея в корпусе и что из этого вышло. Нелишне будет привести ссылки на предыдущие статьи цикла: Часть 1 – обзор сос...

Представлен первый в мире игровой комплект дополненной реальности на базе Windows На выставке MWC Barcelona 2024 компания Tecno представила Pocket Go — новый игровой набор дополненной реальности. Производитель заявил, что Pocket Go — это первый в мире игровой комплект дополненной реальности на базе Windows. Гарнитура Pocket Vision улучшае...

«16+» или делаем шаблон страницы в XWiki на примере спецификации API Пусть вас не смущает надпись: «16+» в заголовке. В статье не будет ни слова о безудержном кутеже с куртизанками за игрой в блэк-джек.Просто я решил очередной статьей отпраздновать выпуск в свет 16-й версии XWiki – «open-source аналога Confluence» (по мнению её разработч...

«Отучаем» WinFXNet от жадности (часть 1) ПредысторияВ сфере АСУ ТП инженерам по работе приходится не только писать ПО, но и использовать готовое ПО от производителей оборудования. В связи с санкциями, многие поставщики покинули РФ, а оборудование и ПО необходимо продолжать эксплуатировать дальше.В данной статье буд...

Современный С++ в разработке девайсов Привет, Хабр.Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера.На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных ...

InfiniBand в Windows — это просто К написанию этой небольшой инструкции меня привела статья на Хабре - Быстрая сеть в домашней лаборатории или как я связался с InfiniBand . Я был очень заинтригован данным вопросом, но каково было моё удивление, когда я не мог найти почти никакой информации по InfiniBand на W...

Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI /UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку инт...

Как я нашёл работу геймдев разработчиком в США из России. Размер и способ оплаты, английский, где искать Я геймдев разработчик, и 6 месяцев назад я нашёл работу на США из РФ. В этой статье рассказываю как я это сделал. Подкрепил слова скриншотами переписок, звонков, контрактом.Рассказал про:• Размер и способ оплаты• Уровень английского• Сайты для поиска вакансий• Резюме и сопро...

Вступление в мир разработки игр Исследуйте путь профессионала в области машинного обучения и его команды, погружаясь в разработку мобильных игр. Статья рассказывает о переходе от участия в соревнованиях на Kaggle к созданию мобильного приложения «Угадай фильм». Узнайте о проблемах разработки MVP для Androi...

Obsidian: Мой опыт с LYT/Ideaverse и его русификация В этой статье я расскажу о том, как организовал себе единое место для заметок, документов и проектной документации с помощью Obsidian и шаблона LYT, а также дам ссылку на русифицированный шаблон для создания своей такой системы. Читать далее

Нейросеть мне в помощь или как я сделал телеграм бота, который умеет переводить песни Однажды, когда я искал эффективное решение для преобразования речи в текст (транскрибации), чтобы применить его в своем проекте умной колонки, обнаружил интересное решение под названием Whisper от широко известной компании Open AI. К сожалению, Whisper не подошел для реализ...

Использование On-Logon триггеров в СУБД Postgres Pro Enterprise Триггеры On-Logon хорошо знакомы разработчикам приложений для СУБД Oracle Database.On-Logon триггер является одним из видов триггеров событий базы данных, и автоматически срабатывает при подключении пользователя к БД.В СУБД Postgres Pro Enterprise, еще в версии 14, среди про...

Python и чистая архитектура… Всем привет! Сегодня я хочу поделиться своими опытом разработки на различных языках программирования и размышлениями касаемо проектирования серверных приложений. Речь пойдет про много обсуждаемую в последнее время чистую архитектуру в рамках языка python. Казалось бы, по зав...

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

Первая игра на LeoEcsLite Целью этой статьи является изучение архитектурного паттерна Entity Component Systems на практике. Я подготовил пошаговое руководство по созданию небольшой игры, с помощью которого вы познакомитесь с основными принципами разработки на Ecs. Читать далее

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

Почта без хлопот: автоматизация отправки писем с помощью Python Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор». Ранее я писала здесь о разработке ботов в Telegram, но в моем отделе не скупятся на творческие задачи — так что и эта статья вряд ли будет последней. В этой статье расскажу, как автоматизировать...

Кулинарный гид по Vue.js: всё о props Привет, Хабр! В этой статье разберемся, как frontend-разработчику готовить на «кухне» props. Выбирайте подходящий уровень сложности: джуны-поварята смогут лучше разобраться в работе и применении props на фреймворке Vue.js, а еще мы затронем тему валидации. Для мидлов и более...

Чем сейчас занимается научная голография Периодически на Хабре появляются новости о новых голографических устройствах. Одна из таких разработок, на которую мы обратили внимание, ― «голографический» дисплей, представленный на CES. Любопытно, что к голографии в научном понимании такие разработки имеют очень косвенное...

Frontend внутри Bitrix. Использование и написание экстеншенов + SPA приложение на Vue или React В данной статье мы рассмотрим правильный подход к Frontend разработки в Bitrix. А именно разделение на расширения которые сможем подключать в любой момент времени. + напишем SPA приложение на React. Читать далее

Динамический JIT компилятор C++ Когда-то давно я писал статью-наблюдение про использование Хабра в качестве площадки для архитектурных ревью технических решений практически любой сложности Хабр — ума палата, и продолжаю пользоваться этим способом на постоянной основе. А теперь, похоже, я нашел еще один оч...

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

Проект «Селенит». Часть 5: Контроллер, встроенное ПО и квадратурный модулятор Аппаратура SDR (Software-defined Radio), как и следует из названия, представляет собой программно-аппаратный комплекс. В предыдущих частях цикла были рассмотрены преимущественно аппаратные решения радиотракта трансивера Selenite Lite. В большей части данной публикации будет...

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

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

Как видели будущее компьютеров в СССР. Часть 2 В прошлой статье мы остановились на 1970-х годах – поговорили о машине «МИР», портативных компьютерах, которые сегодня мы бы скорее назвали калькуляторами. В этот раз заглянем в 1980-е годы – период, когда в СССР активно занимались популяризацией компьютеров и программирован...

Кодогенерация и парсинг TypeScript с помощью typescript Одной из интересных возможностей пакета typescript является то, что он содержит API для генерации TypeScript-кода, а также парсер для работы с написанным на TypeScript кодом. Кодогенерация часто используется для автоматического создания типов для работы с http api (типизация...

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

Как AI помогает повседневной работе команды разработки Статья ориентирована на читателя, который еще сомневается в том, стоит ли ему пробовать чат‑боты в работе. Если вы знакомы с технологией и пробовали её в повседневной деятельности то вряд ли найдете её полезной.Немного расскажу о реаль...

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

Best free software: какой софт мы использовали 15 лет назад (часть 2) Продолжаем рассказывать про подборку лучшего ПО на разные случаи жизни по версии журнала PC Magazine за февраль 2007 года. Мы с удовольствием почитали комментарии к первой части этой статьи и вспомнили немало приложений, которые до сих пор служат верой и правдой. Как и обеща...

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

[Перевод] Учимся использовать модуль Ansible Shell для выполнения удалённых команд Мы перевели статью, где подробно рассматривается использование модуля Ansible Shell и различные способы выполнения удалённых команд на узлах в рамках работы по автоматизации. В статье рассматриваются различные опции и модули для выполнения удалённых команд, а также их различ...

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

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

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

Замыкания и декораторы в Python: часть 2 — декораторы Уважаемые читатели, рад вас приветствовать в новой статье. Этот материал является продолжением предыдущей публикации, посвященной замыканиям. В данной части обзора мы углубимся в тему декораторов.Эта статья написана в первую очередь для тех, кто только начинает свой путь в п...

На что способны виртуальные потоки Java в обработке файлов Привет, Хабр!ПредисловиеНачнем с того,что я не специалист по Java и у меня нет коммерческого опыта на этом языке. Я просто обычный кодер, который по вечерам пилит проекты на Java, а основной мой стек состоит из PHP и смеси Python + Go. В данной статье хочу с вами поделиться ...

Создание первой игры: попытка попасть в gamedev Привет! В этой статье мы поделимся опытом создания нашей первой игры, несмотря на то, что мы не имели большого опыта в создании игр. Читать далее

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

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

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

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

Сетевой мультитул для ИТ и ИБ специалистов: zero-skill создание Telegram чат-бота с помощью ChatGPT Привет, Хабр! Меня зовут Руслан, я – инженер по сетевой и информационной безопасности в компании-интеграторе STEP LOGIC. Решаю различные задачи, связанные с настройкой и поддержкой сетевого оборудования в компьютерных сетях, работаю над проектами, требующими планировани...

Функциональная панель Инструменты в Платформе nanoCAD При работе с CAD-системами у пользователя зачастую возникает потребность адаптировать интерфейс «под себя» – к примеру, собрав в выбранном месте все часто используемые и специализированные инструменты. В Платформе nanoCAD такую возможность предоставляет функциональная панель...

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

Как возникают и развиваются стандарты систем связи: рассматриваем на примере 6G Все слышали о поколениях мобильной связи, и сокращения 4G, 5G, а может быть даже и 6G уже у всех на слуху. Но чем определяется смена технологических поколений, кто решает, что новое поколение уже наступило? Как так вышло, что вроде бы 5G массово еще не используется, а уже на...

Облачная трансформация ИТ инфраструктуры современной компании. Практический опыт Х5 Group Привет, меня зовут Максим Осорин, я руковожу Х5 Облаком в Х5 Group. Хочу рассказать про то, как мы трансформируем ИТ инфраструктуру крупнейшего в стране продуктового ритейлера. Зачем это нужно, как мы это делаем, с какими сложностями сталкиваемся и как их преодолеваем.Данная...

Полная неуязвимость? Как устроены защитные механизмы macOS (и при чем тут маркетинг) Подход Apple к информационной безопасности приводит к тому, что некоторые пользователи Mac не обращают внимание на то, что происходит с их компьютерами. В этом посте я старался разобраться в основных механизмах защиты macOS от вредоносных программ и выделить их недостатки, н...

Алиса, в чём дело? Пользователи умного дома Яндекса сообщают о неработающих умных лампочках, пультах и голосовом помощнике В работе устройств для умного дома от Яндекса произошел сбой, о чем пишут РБК и ТАСС со ссылкой на пресс-службу компании. В Яндексе сообщили, что уже решают проблему: «У некоторых пользователей возникают кратковременные трудности в управлении устройствами умного д...

Как рассчитывается стоимость газа в транзакциях Ethereum Привет всем! Я — Рома Ярлыков, разработчик смарт‑контрактов на Solidity в команде MetaLamp. ​​В этой статье я исследую механизмы расчета и составляющие цены газа в блокчейне Ethereum, описываю историческое развитие этих методов и их значимость, а так...

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

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

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

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

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

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

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

Яндекс починил умный дом. Проблемы были при подключении по сети Wi-Fi Яндекс сообщил о том, что все проблемы работе умных устройств, возникшие вчера вечером, были устранены, о чем пишет ТАСС. «На текущий момент все устройства работают в штатном режиме», — сообщили в Яндексе, добавив, что трудности возникали с управлением...

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

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

Российский смартфон «Р-Фон» выйдет в продажу в следующем году Как мы уже писали, компания «Рутек» официально анонсировала российский смартфон «Р-Фон» на собственной операционной системе «Роса Мобайл». По заявлению производителя, новое мобильное устройство полностью закрывает потребности бизнеса,...

Как потерять $5000, не уехать в США и остаться должником в $17000+ Ранее на Хабре уже выходила статья Повесть о том как потерять 3тыс. долларов и не уехать в США, в которой @Iliya_karin рассказал о своём опыте сотрудничества с компанией, которая помогает переехать в США IT-специалистам - oCitizens (uDevs).Илья и я стали клиентами oCitizens ...

Что почитать — интеллектуальная твёрдая научная фантастика в нашем культурном поле? Я люблю научную фантастику, и особенно "твёрдую". На ней можно сказать, я вырос. В течение последних нескольких лет моя хорошая знакомая упоминала, что пишет книгу. Ну пишет и пишет. Дописала, и оказалось, тоже SciFi. Тоже "твердая", но с некоторыми допущениями.Я боялся, что...

Парсинг веб-сайтов: взгляд изнутри Статья о парсинге веб-сайтов освещает следующие аспекты:• Понятия парсинга и скрапинга; • Законность и этика парсинга; • Парсинг с использованием requests и BeautifulSoup; • Статические страницы; • Динамические страницы; • Работа с API; • Защита от парсеров; • Способы обхода...

File upload на React.js шаг за шагом В этой статье напишем компонент для загрузки файлов на сервер, который поддерживает: - Индикатор загрузки - Прерывание отправки - Drag and dropВ нашей конкретной реализации этот компонент будет оберткой и сам не будет отображать файлы, но, я надеюсь, приемы из этой статьи по...

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

Высокоточное измерение ЭКГ. Часть 2 В данной статье изложу свою концепцию регистрации и обработки сигналов ЭКГ в носимых устройств для  решения задач обнаружения  опасных состояний сердечно-сосудистой системы человека.   Далее рассмотрю кратко реальную точность измерения ЭКГ и свой вариант ее по...

Партнерские программы хостеров в 2024 году Привет Хабр! По законам жанра статья должна называться «Что нужно знать про партнерские программы хостеров в 2024 году», но думаю такой заголовок получился бы кликбейтным, так как всего‑всего про партнёрки я не расскажу (ну могу, не&nb...

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

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

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

[Перевод] Прекратите клепать базы данных В жизни каждого инженера-фронтендера наступает момент, когда осознаёшь: далее не обойтись без кэширования данных из API. Всё может начаться с самых невинных вещей: сохраняем предыдущую страницу с данными, чтобы кнопка «Назад» срабатывала мгновенно; реализуем простенькую логи...

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

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

GigaChat и русский жестовый язык Всем привет! Меня зовут Капитанов Александр, я отвечаю за направление компьютерного зрения в SberDevices. В этой статье я расскажу о том, как моя команда Vision RnD разработала серию моделей SignFlow, обеспечивающих перевод с жестового языка на русский и американский английс...

Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex и автор ютуб-канала «Юрий Петров | Всё об IT». Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. А также мы делаем  свой вклад в развитие экосистемы Аврора + Flutter. В эт...

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

Глубина кроличьей норы: бинарная граница и ABI C++ Вопрос ABI (Application Binary Interface), бинарной границы и бинарной совместимости в C++, раскрыт на просторах интернета не так хорошо как хотелось бы. Особенно сложно в его изучении приходится новичкам, потому что эта тема связана со множеством деталей нарочно скрытой от ...

[Перевод] Предистория AutoCAD На этой недели, 3 декабря праздновался Всемирный день компьютерной графики, и я припас для вас очень крутой контент. В наше путешествие по Италии в октябре этого года мы арендовали квартиру в Рапалло, и там на книжной полке я обнаружил папку с мануалом и с дистрибутивом Auto...

Prometheus: от основ до mem-saving оптимизации Мониторинг в контексте современных инфраструктур играет критически важную роль и является неотъемлемой частью успешного управления и обеспечения стабильности систем. С ростом их сложности и масштаба, а также ввиду высоких ожиданий пользователей, возникает необходимость в н...

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

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

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

BDUI: sapere aude или продолжай писать на коленке Backend Driven UI — относительно новая парадигма создания приложений. Она позволяет сделать продукт индивидуально полезным для каждого пользователя. На личном опыте я убедился, что это очень важно в современном процессе мобильной (и не только) разработки.В данной статье я по...

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

Нагрузи меня, Gatling Привет. Это статья-туториал про выбор технологии и реализацию проекта нагрузочных тестов для API REST микросервисов. Про себя и специфику продукта, над которым работаю, я подробно описывал тут, когда рассказывал о интеграционных тестах. Здесь этому уделять внимание не буду. ...

Создание своего UEFI загрузчика Привет Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на эк...

[recovery mode] ShIoTiny5 — новые веяния и маленькое устройство Несколько лет назад я писал о системе визуального программирования ShIoTiny для модулей на базе микроконтроллера ESP8266. Поэтому, чтобы не повторяться, для тех, кто "не в теме" - сразу отсылаю к моей первой статье на Хабре: ShIoTiny: малая автоматизация, интернет вещей или ...

SwiftUI уроки (часть 9) Разбираемся с List, ForEach and Identifiable В UIKit для iOS один из наиболее часто используемых элементов управления пользовательским интерфейсом - это UITableView. Если вы имеете опыт разработки приложений с использованием UIKit, то знаете, что table view предназначен...

Управление сервоприводами, часть 4. Управление «сервами» по I2C с Repka Pi через серво-драйвер Robointellect Controller В предыдущих статьях нашей серии про сервоприводы мы рассказывали, как они устроены, как можно управлять сервоприводами с помощью широтно-импульсной модуляции ШИМ (Pulse Width Modulation,  PWM) с помощью контроллеров Robointellect Controller 001, а также напрямую че...

Об эффективном использовании заметок на примерах из работы и личной жизни Личная жизнь – штука сложная, работа – ещё сложнее. В условиях поистине огромной кучи «контекстов» не забывать даже самые важные вещи бывает непросто, а делать то, что надо и когда надо – порой просто невозможно. Нерешаемая задача? Отнюдь. Всё уже на самом деле давно изобрет...

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

Дебаггинг приложения без Xcode Привет, меня зовут Владимир Петров, я iOS разработчик в Альфа-Банке. Я вам расскажу как мы сделали свой дебаг-инструмент и научились дебажить наше приложение без Xcode. Обратите внимание на статью, если думали над тем, чтобы делать свое решение или готовое — расскажу, к...

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

Зачем в Scala трамплины и как их использовать В этой статье директор департамента разработки российской компании «Криптонит» и «скалист» Алексей Шуксто рассказывает о специфической технике функционального программирования, которая называется «трамплин» (trampoline).Если кратко, то «трамплин» — это постоянный вызов в цик...

Страх и ненависть в ГОСТ Р 51583-2014 (18+) Статья посвящена проблемам при планировании, управлении и создании сложных информационных систем. Иногда на то что ты делаешь или в чём участвуешь требуется посмотреть иным взглядом. Думаю многим будут до боли знакомы перечисленные грабли. Поехали

API-автотесты: как достичь наиболее полного покрытия? Когда мы используем автотесты, то оптимизируем процесс выявления багов за счет сокращения ручного труда. И если основная потребность бизнеса в контексте тестирования — экономить деньги, минимизируя ущерб от каждого бага, то задача автотестирования: выявить наиболее полную ка...

Security Week 2403: Bluetooth-уязвимости в Windows, Linux, Android, iOS и Mac OS На прошлой неделе исследователь Марк Ньюлин в подробностях рассказал об уязвимостях в стеке Bluetooth, которые затрагивают в той или иной степени практически все ПК, смартфоны и другие мобильные устройства. Его статья и выступление на конференции ShmooCon дополняют опубликов...

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

Готовим Telegram Mini App без туннеля и с Hot Module Reload на React, TypeScript В этой статье разберем как собрать комфортную девелопмент среду для разработки Telegram Mini App. Под комфортом я понимаю ситуацию когда тебе не нужно выгружать свое приложение в облако, чтобы увидеть результат работы в телеге, или запускать туннель типа ngrock, который посл...

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

Зачем я делаю дайджесты и рассказываю людям об их работе Привет! В этой статье я расскажу, как на протяжении уже 2,5 лет делаю дайджесты внутри компании: в них я рассказываю, где наши ребята выступили, какие митапы мы организовали, где и какие были стенды и кем и какие статьи написаны тут на Хабре.Расскажу зачем я это делаю, на чт...

Как сделать нейросети ассистентом SMM-менеджера: наш опыт Нейросети в маркетинге сегодня используют не только из-за высокой скорости решения задач и их относительной дешевизны по сравнению с целой командой специалистов, но и потому, что это стало модным. Логотип, нарисованный Midjourney, или презентация, написанная с помощью ChatGP...

Умная квартира начальника: хотел всё на Z-Wave и Алисе, но решил сэкономить Мы продолжаем знакомить читателей с умными квартирами. В прошлый раз мы рассказывали о проекте айтишника, который хотел все сделать на Wi-Fi, но передумал.Сегодня мы посетим квартиру руководителя строительной компании, весьма далекого от темы IT. Сергей привык раздавать указ...

Переход с Vue-CLI на Vite: ускоряем разработку Vue 3 Одним из новых инструментов в арсенале Vue 3 является Vite - быстрый и легковесный бандлер, который значительно упрощает процесс разработки и ускоряет сборку проекта. В этой статье мы рассмотрим, как перейти от стандартного подхода с использованием Vue-CLI и Webpack к более ...

Решение проблемы N+1 при работе с Kotlin Exposed К написанию этой статьи я подошёл после продолжительного использования Kotlin Exposed в рабочих, а также персональных проектах, когда я начал анализировать генерируемые SQL запросы. В тот момент я познакомился с проблемой N+1) Читать далее

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

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный комп...

Предсказание остановок оборудования с использованием LSTM и Байесовского подхода Привет, дорогие читатели Хабра! Исследования выполнено в рамках выпускного проекта на курсе Machine Learning Advanced в OTUS. Рецензенты проекта - @bekemax, @stureikoДанные были предоставлены ПАО «Северсталь» для хакатона ЛИДЕРЫ ЦИФРОВОЙ ТРАНСФОРМАЦИИ 2023В проекте разв...

[Перевод] Что нового во Flutter 3.16, ч.1 Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga. Это статья-перевод от автора Kevin Chisholm. Оригинал статьи читайте по этой ссылке. Мы решили разбить материал на несколько частей для удобства восприятия. Читать далее

Волшебная таблетка, или Централизованная настройка параметров безопасности ОС Astra Linux с помощью ALD Pro Привет, Хабр! Я инженер в «Группе Астра» из команды ALD Pro. В статье расскажу, как мы создали расширенные групповые политики и инструмент для их применения на базе существующего механизма групповых политик ALD Pro. Благодаря этому получилось упростить настройку конечны...

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

Лучшие игровые движки 2024 для 2D разработки Defold - это бесплатный движок для создания 2D игр и других интерактивных приложений. Он разработан компанией King (известной по игре Candy Crush) и предлагает простой и эффективный способ создания кроссплатформенных проектов. 1. Язык программирования: Defold использует язык...

Выпускники ВШЭ будут получать NFT- дипломы В пресс-службе ВШЭ сообщили, что вуз будет сотрудничать с социальной сетью «ВКонтакте» в проекте по выдаче выпускникам вуза дипломов в формате NFT.

Создаем VR офис с Termidesk и Oculus В поисках лучшей конфигурации для работы я решил попробовать VR Oculus Quest 3. Статья будет построена вокруг моего опыта по настройке VR среды для работы. Я расскажу вам о мониторах с изменяемой диагональю, боли в глазах и контроле обстановки вокруг. Читать далее

Какую базу данных выбрать для Home Assistant На случай, если ещё не встречались с HA (Home Assistant) - это opensource веб сервис для умного дома, доступный как на облаке, так и в виде self hosted, который позволяет подключить к себе кучу всяких устройств и настроить для них любые желаемые автоматизации. Например, откр...

Особенности "Шнековой" FGF печати. Часть 1.     Здравствуйте, в связи с ажиотажем вокруг одной статьи: Сама статья про люк , стало понятно что есть необходимость публикаций про нюансы печати больших изделий с помощью шнеков.    Изложенный далее материал основан на личном опыте при освоении печати на шнеке. Было получе...

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

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

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

Рыночные данные в кармане: как получать их быстро и просто с помощью Java/Kotlin и Spring Boot + TinkoffApi Если вы хотите написать проект, связанный с рыночными данными или торговлей на бирже, и вы знакомы с Java или Kotlin и слышали про Spring Boot, то эта статья для вас Читать далее

«Разгоняем» HashSet, HashMap и циклы на примере Dart Если вы занимались профилированием своего приложения, то, глядя на CPU Flame Chart, вероятно, испытывали смесь досады и азарта, глядя на особо «жирный» метод. Досады – что ваша программа всё ещё не идеальна по скорости. Азарт – от того, что вы можете докопаться до причины пр...

Передаем данные с одноплатника Repka Pi (или Raspberry Pi) в интернет по GSM связи через модуль SIM868 и GPRS протокол Всегда ли вы берете с собой смартфон? Наверное да, ведь это удобно, когда под руками есть все каналы связи.Но что, если вы собираете автономно работающее устройство с микрокомпьютером, такое как как радиоуправляемый вездеход, робот присутствия, устройство управления шлагбаум...

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

Fooocus v2: Революция в работе с изображениями — расширение, изменение и персонализация. Все про Input Image в нейросети Друзья, всем привет, в прошлой статье Fooocus v2 — бесплатный Midjourney у вас на компьютере, вы познакомились с рисующей нейросетью которая вполне способна заменить Midjourney, узнали как её установить, как пользоваться, за что отвечают все настройки и как работают режимы, ...

[Перевод] Как создать приложение для чата в реальном времени с помощью React, Node, Socket.io и HarperDB Статья посвящена созданию приложения для чата в реальном времени с чат-комнатами, с использованием Socket.io и HarperDB. Научимся на практике создавать полнофункциональные приложения, в которых бэкэнд может взаимодействовать с фронтендом в реальном времени. Руководство будет...

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

Зачем вам Employee Experience: как премии, CRM и выдача ноутбуков влияют на прибыль компании Привет! Мы команда UX-исследователей Alfa Research Center. В банке отвечаем за Employee Experience (EX) — исследование клиентского опыта сотрудников. Мы погружаемся в устройство процессов и интерфейс внутренних продуктов. Мы не ограничиваемся исследованиями интерфейсов ...

Сможет ли IPFS полностью заменить HTTP? Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В начале прошлого года мы внедрили IPFS-технологию в работу своего хостинга, и все наши клиенты получили возможность размещать контент в IPFS-сети. Решились на такой шаг не сразу: IPFS — технология пока еще экспер...

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

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

Наш опыт Android- и iOS-разработки в проекте Посмотрим на текущую ситуацию с разработчиками Android и iOS‑приложений. Обсудим варианты разработки мобильных приложений. Разберемся, как мы в стартапе NFCKEY работаем в этом направлении. Затронем особенности, которые возникают в связи с у...

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

Путь развития Frontend разработчика (Вторая часть) Это вторая часть roadmap frontend разработчика, Если вы не читали первую часть, то настоятельно рекомендую ознакомится, Первая часть. В этой статье я продолжу вам рассказывать про мое представление современной карты развития frontend разработчика. Читать далее

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

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

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

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

Почему инфраструктура big tech обычно состоит из самописных решений Привет! Предлагаю поговорить о том, почему крупные IT‑компании так любят создавать в своей инфраструктуре собственные решения. Казалось бы, напрашивается ответ: NIH‑синдром и ничего более. Но такой ответ вряд ли может считаться сколько-нибудь полным,...

Как управлять распределённой системой, не привлекая внимания санитаров Привет! Меня зовут Александр Попов, я tech lead команды маркетплейса 05.ru. Сейчас мы занимаемся бэком маркетплейса и некоторыми другими сервисами на рынке Дагестана. При разработке серверной части маркетплейса мы сразу решили строить её в распределённой архитектуре. Эт...

Отключаем ненужный функционал плагина для Jira с помощью кастомной аннотации Spring Привет, Хабр! Меня зовут Игнат, в Samokat.tech я пишу плагины, автоматизации и интеграции для Jira. Как разработчик-самоучка, который до «вот этого всего» немного писал на Java, но не пользовался ни средствами сборки (привет, Maven!), ни фреймворками (привет, Spring!), ...

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

От ручной сборки приложений к конвейеру: опыт бэк-офиса «Магнита» Как мы ежа и ужа собирали. Сказ об автосборке разномастных технологий под одну крышу. Если серьёзно: у нас было много разнообразной ручной работы на пути от разработчика до релиза приложения для сети магазинов. Мы научились хранить наши приложения в git и собирать их «одним ...

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

Самые ностальгические мобильные игры. Часть 2: от Java до первых смартфонов и Angry Birds Мобильные игры — неотъемлемое явление современной жизни. Однако их история насчитывает лишь четверть века. В прошлой части мы рассказали о появлении первых мобильных игр и первых хитов из их числа: «змейке» от Nokia и некоторых других. Теперь пришла пора рассказать о том, к...

Как мы решили вопрос с размещением Телеграм-бота Важность присутствия в интернете и доступность для широкой аудитории 24/7, сложно переоценить. Однако, эта статья предназначена для начинающих разработчиков, делающих свои первые шаги в мире создания и развертывания чат-ботов. Для опытных разработчиков, уже имеющих собственн...

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

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

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

Как мы реализовали аутентификацию трафика для MSA на базе монолита Привет, Хабр! Меня зовут Салахутдинов Дмитрий, я принципал инженер в СберМаркете. Занимаюсь развитием Ruby-платформы и масштабированием системы через декомпозицию монолита на сервисы.В статье хочу поделится опытом внедрения аутентификации на базе монолита. Это первая пробле...

Делаем crackme. Часть первая: whitebox AES Эта статья первая из цикла, в котором мы будем создавать crackme для linux amd64. В crackme будут реализованы шифрование каждой функции отдельным ключём и наномиты для противодействия отладке. В данной статье мы рассмотрим алгоритм встраивания к...

Как сделать стереопару Bluetooth-колонок? Многие колонки поддерживают функцию создания стереопары из двух устройств одного бренда. Расскажем, как подключить две колонки в стереопару, и какие условия для этого должны быть соблюдены. Что такое стереопара колонок и что для этого нужно? Создание стереопары позволяет объ...

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

Секреты тестирования Wiren Board: test-suite и крафтовые стенды Мы продолжаем рассказывать о внутренней кухне Wiren Board. В предыдущей статье мы заставили работать китайский паяльный робот, который выполняет рутинную часть работы монтажников на нашем производстве.Все наши «железки» должны поступать клиентам в рабочем состоянии и служить...

[Перевод] Xv6 Глава 1: Интерфейсы операционной системы Эта книга рассказывает о принципах работы операционных систем на примере xv6. Операционная система xv6 реализует базовый интерфейс, который Кен Томпсон и Деннис Ритчи предложили в операционной системе Unix, и подражает внутреннему устройству Unix. Комбинации простейших механ...

Используем MLOps-конвейер: пример работы с Cloud ML Platform для построения сервиса распознавания лиц Есть два подхода к работе с машинным обучением (Machine Learning, ML): быть человеком-оркестром и задействовать «зоопарк технологий» для каждого этапа, или работать с готовым набором инфраструктурных решений, который позволяет выстроить MLOps-конвейер в рамках одной платфо...

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

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

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

ТОП бесплатных OSINT-инструментов по версии T.Hunter в 2024-м году Всем привет! Публикуем подборку лучших бесплатных OSINT-инструментов по версии T.Hunter в 2024-м году. В ней и уже знакомые сервисы и софт, сохранившие свои позиции с прошлых лет, и новые инструменты, которые будут полезны любому специалисту по OSINT.Кроме того, в статье наш...

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

Работа с REST API при помощи swagger-typescript-api Прежде чем начать писать данную статью, я озадачился интересным вопросом. А кто как вообще работает с API в 2024 году? Для меня наличие Swagger-контракта или OpenAPI-контракта уже несколько лет как must have. И откровенно говоря, мне сложно представить, что люди не использую...

Подключение устройств из Sprut.hub в Wirenboard Доброго времени. К написанию данной статьи подтолкнула ситуация, что вроде элементарная задача получить данные с установленного модуля Sprut.hub в родительский WirenBoard, вызвала определенные сложности. Поиском находится разрозненная информация. В чатах вопрос всплывал не е...

Зачем программисту микроконтроллеров тригонометрия? (или Обзор Усилителя Звука из Apple AirTag) На 12ом году опыта программирования микроконтроллеров мне наконец-то пригодилась школьная тригонометрия (6-класс). Это настолько специфический случай, что я решил накропать про это заметку.Когда Вам надо добавить в устройство звук, то можно воспользоваться микросхемой MAX98...

[Перевод] Неожиданное взаимодействие предсказания ветвлений и подсистем памяти Это 15-ая статья в серии, посвящённая оптимизации подсистем памяти. Остальные доступны здесь (англ.). В ней мы изучим взаимодействие механизма предсказания ветвлений с подсистемой памяти. В повествовании мы будем исходить из предположения, что вам знаком принцип предсказан...

[Перевод] Тестируем PCIe в новом Raspberry Pi 5 Если вы ещё не в курсе, то недавно было объявлено о выходе Raspberry Pi 5. Я специально снял ролик, где разобрал всю аппаратную часть – что изменилось, что появилось и чего не стало. В этой статье я представлю вам спецификацию новой модели, расскажу о некоторых особенностя...

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

Собирать данные VS интерпретировать их: типичные ошибки в e-commerce аналитике Каждый день мы собираем больше 200 ГБ данных о клиентах Lamoda, которые листают сайт и делают заказы. Но красивые цифры про наше хранилище — это одно, а правильные выводы из данных — совсем другое.Меня зовут Александр Айваз, я руковожу командой Data & Analytics в Lamoda ...

Умный дом на Raspberry Pi и Home Assistant: добавляем диммеры и реле Wiren Board К нам обратился Петр из Минска, который решил рассказать о своем опыте сборки умного дома. Он выбрал популярную платформу Raspberry Pi и интегрировал домашние устройства в Home Assistant.Но со светом возникли проблемы: Петр запланировал везде диммирование, причем диммеры дол...

QA под капотом. Тестируем и настраиваем 1С-Битрикс Привет, Хабр! Меня зовут Анастасия, я QA-специалист SimbirSoft и работаю на проектах с 1С-Битрикс. Не единожды я могла наблюдать, насколько эффективно бывает допустить QA-команду внутрь CMS, чтобы достичь бизнес-целей клиента. И на примере нескольких кейсов из разных проекто...

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

Секреты технического собеседования от СТО с опытом 1000+ интервью Привет, меня зовут Артём Пулявин, с 2022 года я занимаю позицию технического директора в Ситидрайве и отвечаю за всё IT в компании — от закупки серверов и ноутбуков до разработки и найма новых членов команды. За 20-летнюю карьеру я провёл более 1 000 собеседований и взял на ...

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

У меня зазвонил Репка-фон. Делаем телефон на базе Repka Pi 3 с применением модуля SIM868 Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера Repka Pi и модуля платы функционального расширения для GSM связи. Просто поражают возможности одноплатных компьютеров в формфакторе Raspberry за счёт применения с использованием их 40 p...

[Перевод] Как, блуждая по Stack Overflow, можно набрести на Branch predictor В блоге beeline cloud мы делились историями и мнениями разработчиков — как программист-самоучка выучил 30 языков программирования, в каких случаях парное программирование не работает и почему некоторые проекты угасают, когда из компании уходит тимлид разработки. Сегодня...

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

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 2 Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта ...

Первые шаги с GD32F. Подготовка среды Доброго времени суток! Не так давно я опубликовал небольшую статью на основе своего онлайн-урока для студентов 2020 года, по работе с GD32F103TB. Статья была выложена в ВКонтакте и как оказалось, была многим полезна. По этой причин я решил выложить её здесь с дополнительными...

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

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

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

Уже поменяли шину? Наш опыт «переобувания» и разработки интеграционной платформы Хабр, привет! На связи Дмитрий Бадулин, я занимаюсь разработкой ПО в компании К2Тех. Корпоративная сервисная шина, или как это по-другому называется, интеграционная платформа — это отдельная боль для множества компаний. И сегодня в условиях, когда некоторые middleware-решени...

Microsoft выпустила Windows 10 Build 19045.3757 для инсайдеров в Release Preview Channel Компания Microsoft выпустила Windows 10 Build 19045.3757 (KB5032278) для Release Preview Channel для инсайдеров, которые работают на Windows 10 версии 22H2. С этим обновлением Microsoft начинает развертывать Copilot в Windows (в качестве предварительной версии) для устройств...

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

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

Climate Survey — оценка психологического климата Понимание психологического климата в коллективе позволяет руководству и HR-специалистам не только выявить скрытые проблемы и конфликты, но и оценить уровень удовлетворенности работой, мотивацию и вовлеченность каждого сотрудника. Это, в свою очередь, дает возможность своевре...

Паттерны Singleton и Multiton в Java: когда и какой лучше? Привет, Хабр!Паттерн Singleton гарантирует существование лишь одного экземпляра класса и предоставляет к нему глобальную точку доступа. Этот паттерн стал почти синонимом чистоты кода в многих сценариях работы с Java, где требуется строго один экземпляр объекта. Но не менее и...

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

DevSecOps: Сканирование образов при отправке в Amazon ECR Все больше компаний стремятся интегрировать безопасность в каждый этап разработки программного обеспечения. В контексте быстро развивающегося мира контейнеризации и облачных технологий, DevSecOps становится неотъемлемой частью создания безопасных и надежных приложений.Одним ...

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

CG Charger BQ: как TP4056, только на стероидах (BQ25895) Сегодня на нашем операционном столе очередное гениальное изобретение компании ClimateGuard — девайс под не менее гениальным названием CG Charger BQ. Расшифровке того, что же всё-таки скрывается под этими загадочными буквами BQ (что означают буквы CG постоянные читатели мое...

Причины компьютерных сбоев, о которых вы даже не думали Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор»... и радиофизик. До этого я рассказывала вам о рабочих кейсах, а сегодня поведаю о программистско-астрофизическом эксперименте.Бывало ли на вашем пользовательском веку такое, что компьютер внезап...

Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN Привет, Хабр!Утренний будильник, кофеварка, микроволновка, телевизор, кондиционер – все они оборудованы микроконтроллерами. Микроконтроллеры управляют функциями устройства, обеспечивая пользовательский интерфейс и взаимодействие с другими устройствами. Микрокотроллеры также ...

Диффузионные модели в CV. Что за зверь? Всех приветствую! Статья посвещена диффузионным моделям в компьютерном зрение. Цель статьи сформировать понимания (надеюсь) работы данного типа моделей. Попытаемся разобраться что это такое и как это устроено. Если объяснять в двух словах, то идея заключается в следующем: бе...

Как совмещать работу с учебой. Что-то про тайм-менеджмент Всем привет! Меня зовут Даша и я системный аналитик компании SM Lab. Работаю в команде Brand Planning Tool. Наша команда BPT помогает брендам (таким как Fila, Demix, Northland) запускать новые коллекции. В этом я году закончила бакалавриат и поступила в магистратуру по напр...

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

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

Это база: нюансы работы с Redis. Часть 1 Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на т...

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

Как приручить нейросеть: практический опыт Итак, в прошлой статье я уже немного рассказывал о том, что с LLM можно работать и даже построить определенный RAG. Как и обещал, перейдем к практике! :)Сегодня мы будем делать простейший локальный и приватный RAG для работы с базой знаний. Все это будет проходить без погруж...

Умный коттедж 500 м² на Home Assistant: автоматизируем только нужное Бюджет на автоматизацию умного коттеджа большой площади может быть совершенно разный, кто во что горазд.Но что, если подойти с умом и выбрать только действительно нужное, ограничившись светом, шторами, датчиками и климатом?Наша новая статья посвящена именно такому проекту, п...

Измерения без ограничений: новая оптическая система FreeScan Trak Pro 2 от Shining 3D В октябре 2023 года команда 3DVision отправилась в китайский Ханчжоу на мероприятие Global Reseller&Partner Meeting, организованное нашим партнером - ведущим производителем 3D-сканеров Shining 3D. Мы уже писали о данном событии ранее, однако в статье не было упоминаний о наш...

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

Laravel трюки: автоматическое подключение каналов логирования Всем привет! Меня зовут Иван Шишкин и я руковожу разработкой в агентстве Intensa.В этой статье хотел бы поделиться методом автоматического подключения каналов логирования в Laravel через механизм сервис контейнеров(DI). Читать далее

Эффективные вложения в ИТ: Как посчитать ROI при внедрении ПО на примере системы маскирования данных Всем привет! Меня зовут Али Гаджиев, я Директор по продукту в компании Crosstech Solutions Group. Мы с моими коллегами Продакт-менеджером Дмитрием Симаком и Руководителем отдела анализа данных и машинного обучения Владимиром Коршуновым решили поднять ту тему, которую, зачаст...

Для работы над неинвазивным глюкометром Apple в своё время создала секретный стартап Avolonte, о котором знало только руководство Большая статья Bloobmerg о планах Apple на сферу здравоохранения включает далеко не только историю о том, как умные часы купертинцев могли бы работать с Android, но в Apple в итоге передумали. К примеру, в статье есть информация о том, чего ждать от Apple Watch в следую...

Не все логи одинаковы полезны: 3 истории из жизни Прочитав статью "Утечки памяти, которые не утечки", я решил поделиться своим опытом поиска проблем, связанных с нагрузкой систем под управлением Windows. 2 проблемы были связаны с возросшей нагрузкой на ЦПУ и одна проблема связанна с утечкой памяти.В своей статье я расскажу,...

6 важных принципов GDPR Привет, Хабр!Сегодня я хочу поговорить о GDPR – регуляции, которая изменила понимание приватности данных в Европе и за ее пределами. На первый взгляд, GDPR может показаться очередной бюрократической головной болью, но на самом деле это очень большой шаг в сторону уважения и ...

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

Личное облако на Proxmox В прошлой статье (https://habr.com/ru/articles/794508/) я писал как поставить Proxmox 8 на Orange Pi 5(b). Это даже получилось, но я уперся в то, что производитель железки не выпускает свежие ядра под нее. Для железки есть 5.10.160 и оно устарело для Proxmox 8. Виртуалки ра...

Собирательный образ Junior Android Developer. Какой он в 2024? С каждым годом мобильные приложения становятся неотъемлемой частью нашей повседневной жизни, укрепляя свою позицию. Они интегрировались в различные аспекты делая нашу жизнь более удобной. В свете растущего интереса к сфере IT, не мало людей стремятся попасть в мир мобильной ...

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

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 2 Я продолжаю рассказывать, как HTML и CSS могут улучшить или ухудшить доступность интерфейсов. В своём рассказе я использую свой опыт и моего незрячего знакомого Ильи. Мы уже выпустили первую часть. В этой статье будет: атрибут autofocus и его нюансы, паттерн «Skip-link» и и...

Аутентификация go с использованием токенов PASETO В этой статье мы напишем небольшой сервис аутентификации на go с использованием токенов PASETO. Этот токен можно использовать вместо JWT для процесса аутентификации. Если хотите узнать о PASETO подробнее, то можете почитать статьи на Хабре или гитхабе. Читать далее

От желания управлять газовым котлом удалённо до полной автоматизации отопления дома В статье расскажу про свой путь разработки DIY железок для работы с Home Assistant с целью автоматизации отопления в частном доме.Глава 0: предысторияЗахотелось построить дом. Дом построили, встал вопрос с отоплением и управлением, а так как в доме иногда отсутствовали по не...

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

Полноценный 2D-платформер на Python в 2023? Мой опыт Говорят, что на Python легко и просто создавать игры-платформеры. Правда ли?В этой статье вы узнаете о всех стадиях создания игры-платформера на Python, о сложностях при его создании и выводах, которые я сделал после релиза игры. Читать далее

Как улучшить английский в документации. Часть 2: ловушки двусмысленности Привет, Хабр! Я работаю техническим писателем в компании documentat.io, мы занимаемся заказной разработкой технической документации, в том числе на английском языке.В своей первой статье я разобрал, пожалуй, самые распространённые ошибки, которые допускают русскоязычные айти...

Образование для гуманитариев: попробуй выжить Я прошла через журфак СПбГУ, и я желаю всем мужчинам пройти… В конце первого курса собиралась отчислиться, но меня остановила мама — сказала, что без диплома я сразу стану наркоманкой. Мне такой вариант развития событий не подходил, потому еще 3 года я знатно охреневала от с...

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

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

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

Сложности роста Ruby-приложений Привет! Меня зовут Валентин Бритвич, я Unit Lead интеграций в СберМаркете. Когда СберМаркет был стартапом, мы начинали с одного Rails-монолита, но бизнес рос, и стали появляться сотни партнёров на подключение, кастомные интеграции, которые нужно поддерживать, а с ними и проб...

Что вы могли не знать о продуктовом дизайне в B2B Как делать дизайн для бизнеса и больших корпораций по всему миру? В чем его отличие от дизайна для В2С? Какие есть особенности? В чем сложности работы и подводные камни? И может ли В2В быть интереснее и увлекательнее B2C? Я заметила, что статей и выступлений о дизайне в В...

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

Легкий путь к власти: тестируем API Госуслуг с PyCades без головной боли Упростите свою работу с Госуслугами, используя PyCades! В этой статье мы предложим простые шаги для автоматизации работы с заявлениями через API Госуслуг, устраним рутину с формами и сделаем проще взаимодействие с информационными системами.

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

Детекция объектов. YOLO. Часть 2 Кто такой YOLO?

Не всем нужны увлажнители: представлен умный осушитель воздуха Xiaomi Компания Xiaomi представила умный осушитель воздуха Xiaomi Mijia Smart Dehumidifier 13L, заявив, что предварительные заказы стартуют по цене 67 долларов. Xiaomi Mijia Smart Dehumidifier 13L оснащен большим резервуаром для воды емкостью 3 л, он получил большое выпускное...

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

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

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

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

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

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

Как начать работать с IPv6 там, где его нет (часть 1) Появлением на свет этот материал обязан переводу статьи IPv6 — это катастрофа (но поправимая) (автор Mathew Duggan) и является её логическим продолжением. Если вы живёте в небольшом городе, которого в том числе нет в этом списке, и ваш провайдер в него не входит, то велика...

Фамильный вики-движок Bonsai: 6 лет спустя Прошло шесть с лишним лет с момента, когда я начал работать над проектом Bonsai. Если в двух словах, то это вики-движок, заточенный под хранение семейной истории и построение генеалогических деревьев. Он распространяется в полностью открытом и бесплатном виде, подразумевая у...

Где заканчивается Flutter и начинается платформа? Сердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механиз...

MyBatis «на минималках» Привет, Хабр! Меня зовут Пётр Гусаров, я Java‑программист в CDEK. В этой статье расскажу про не очень распространённый фреймворк MyBatis. Почему MyBatis? Потому что мы в CDEK используем его в большинстве проектов, и в деле он весьма не...

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

DevOps as a Service. Часть 4. Решаем проблемы развития сотрудников подразделения и управления инициативами Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем. В прошлых статьях мы описали сам подход, показали пути решения различных проблем. Со статьями можно ...

Security Week 2413: аппаратная уязвимость в процессорах Apple Большой новостью прошлой недели стало объявление о научной работе исследователей из ряда университетов США, демонстрирующей аппаратную уязвимость GoFetch в процессорах Apple M1 и M2 (сайт проекта, сама научная работа, подробное описание в статье издания Ars Technica). Уязвим...

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

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

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