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

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

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

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

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

Альтернативный подход к динамическим окружениям: использование Octopod Как Octopod помогает сделать динамические окружения доступными для всехПривет, Хабр! В этой статье я хочу рассказать как мы в Typeable используем динамические окружения (review- или preview-окружения) в нашей работе, какие проблемы нам удалось решить, почему и как мы применя...

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

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

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

Джентельменский набор для создания WPF-приложений Данная статья представляет собой набор рецептов по созданию WPF приложений. Поэтому скорее всего она будет интересна начинающим разработчикам. В материале описаны основные моменты использования таких пакетов как ReactiveUI, Material Design in XAML Toolkit, LiveChart2. Пример...

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

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

Локальные репозитории пакетов Всем привет! Сегодня хочу поделиться нашими мыслями относительно того, как защититься от санкций палок в колёсах в современных условиях. Собственно, что мы имеем ввиду? Речь идёт о том, что в крупных проектах часто есть единые точки отказа в процессах CI/CD, это может быть к...

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

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

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

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

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

[Перевод] Исчерпывающее руководство Getting Things Done (GTD) метода с примерами В данной статье вы узнаете о методе, помогающем привести в порядок все ваши дела от самых крупных и важных, до тех, что еще только появились в голове. Я и сама не понаслышке знаю, как сложно перейти от мыслей и планирования к реальным действиям, как не только организовать п...

NestJS + GraphQL + Lambda Цель данной статьи - создать GraphQL приложение, построенное на фреймворке NestJS. А также загрузить его в Лямбда-функцию при помощи Terraform. Надеюсь данный пример поможет многим сэкономить много времени. Читать далее

Основные тренды ЦОД в 2022 году и примеры проектов Привет, Хабр! Компания Acer снова с вами! Мы планируем рассказывать об интересных продуктах: как своих, так и других участников рынка. В первую очередь речь пойдет о серверах и соответствующих корпоративных решениях.Сегодня же публикуем первый свой пост – это аналитика наиб...

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

[Перевод] Корутины в C++20 — что это и как с ними работать Прим. Wunder Fund: В статьи описаны базовые подходы к работе с корутинами в 20м стандарте С++, на паре практических примеров разбораны шаблоны классов для промисов и фьючеров. По нашему скромному мнению, можно было бы реализовать и поизящнее. Приходите к нам работать, если и...

Генерируем Kotlin клиент по GraphQL схеме С одной стороны, GraphQL схема однозначно определяет модель данных и доступные операции реализующего ее сервиса. С другой, Kotlin предоставляет потрясающие возможности для создания предметно-ориентированных языков (DSL). Таким образом, возможно написать предметно-ориентирова...

Обзор 3D сканера Scanform L5 - сделано в России! • Видео обзор и примеры сканирования Обзор 3D сканера от Российской компании Scanform - L5. Действительно ли устройство от Scanform может потягаться в качестве с зарубежными устройствами и вообще стоит ли оно своих денег, узнаете в нашем обзоре.3D сканирование всё больше проникает в самые разные отрасли промыш...

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

[recovery mode] Gitlab CI «Smart» Pipeline: родители и дети За более 3х летний срок существования продукта у нас собралось более чем 20 репозиториев со spark проектами. Процесс CICD был реализован на Jenkins. С определенного момента у GitLab CI появилась возможность создавать собственные CICD. Но долгое время я совершенно не восп...

Использование AsciiDoc для управления документацией на проекте (Часть 2) Продолжение статьи об использовании подхода документация как код Читать далее

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

[Перевод] Погружаемся в CSS: как использовать :where () Функция :where() помогает писать меньше кода, применять стили ко всему списку и снимает головную боль при использовании CSS reset. В статье разберёмся, как это работает, и посмотрим на примеры использования. Читать далее

Tarantool запускает тестовую версию платформы Развертывание и настройка демо кластера займет меньше 15 минут. По окончанию тестов Try.Tarantool создаст файл для скачивания - полностью идентичный тому, что было в песочнице. Это позволит пользователю сразу же продолжить работу в локальной версии, в которой доступна более ...

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

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

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

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

Как мы собирали компьютер для российского инженера-проектировщика Мне действительно нравится собирать компьютеры. Чувствуется какая-то магия, когда куча железок превращается в умную полезную машину. И вот это предвкушение новой скорости и новых возможностей… Ух! 25 лет практикуюсь, и все не надоедает.Но в комментариях к моим статьям и роли...

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

Как подружить Git с приложением на Webpack+React Иногда бывает полезно отображать некоторую информацию из Git-репозитория прямо в приложении. В статье мы воспользуемся преимуществом встроенной в NodeJS функции execSync и будем показывать в приложении три версии мастер-ветки. Читать далее

Ventoy — мультизагрузка образов OS с преферансом и куртизанками Привет Хабр! Существует несколько программ с графическим интерфейсом, предназначенных для создания Live USB-дисков.Так начиналась переводная статья, комментарии к которой стали вторым толчком (а был ещё и первый) для написания обзора возможностей, системы для создания мульти...

Новый язык обычного и параллельного программирования Planning C 2.0 Здравствуйте, уважаемые читатели.Хочу написать здесь об одном из своих проектов -- языке Planning C (v2.0). Он является расширением C++, дополняющим базовый язык рядом новых конструкций. В настоящее время проект доступен в репозитории (исходный код прототипного транслятора-п...

Как применять Branch by Abstraction в проекте на примере Android-разработки Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request, и ... 12 конфликтов.Или другой вариант. Вы работали и посто...

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

Идеальный каталог, пример использования Я разрабатываю библиотеку для работы с Entity Attribute Value (репозиторий), сокращенно EAV (структура базы данных для хранения произвольных данных). В конце прошлой статьи я спросил у вас о чём мне ещё надо написать, вы попросили показать пример использования и сделать заме...

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

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

Controller, но не Massive: реализуем список карточек для iOS 13 и не только с учетом практик чистого кода Привет! Когда мне по работе понадобилось реализовать список карточек на связке UICollectionView и UICollectionViewCompositionalLayout для iOS 13+, я не нашел хорошего примера. Написал свой и хочу поделиться с сообществом. А заодно показать реализацию для iOS11+.Примеры можно...

Вы неуч или отличник: 82% взрослых так и не решили правильно этот простой математический пример для школьников. А вы? ПопМем Интересно 24.12.2021, 18:41 Вы неуч или отличник: 82% взрослых так и не решили правильно этот простой математический пример для школьников. А вы? По сети гуляет множество математических задачек, которые легко умеют решать школьн...

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

Разрабатываем REST API с помощью TypeScript, NestJS, Prisma, AdminJS и Swagger Привет, друзья! В данном туториале мы разработаем простой сервер на NestJS, взаимодействующий с SQLite с помощью Prisma, с административной панелью, автоматически генерируемой с помощью AdminJS, и описанием интерфейса, автоматически генерируемым с помощью Swagger. Все это...

Camunda: тестируем модели процессов Привет! Продолжаем делиться опытом о том, как можно автоматизировать бизнес-процессы в банке с помощью Camunda. В прошлой статье мы рассказали об одном из проектов, который создали на базе Spring Boot с подключенной Camunda в качестве библиотеки. В этом материале расскажем о...

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

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

Управляем подсветкой клавиатуры при смене языка ввода Недавно я купил себе клавиатуру от Corsair модели K55 RGB Pro. У нее есть модная нынче RGB-подсветка, а чтобы ее настраивать, производитель предлагает скачать программу iCUE. На сайте написано, что некоторые игры могут управлять подсветкой совместимых устройств. Я заинтересо...

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

Динамичный экран с быстрыми обновлениями: разбираем плюсы и минусы Server driven view на примерах Всем привет, я Дима Авдеев, работаю в Туту и хочу рассказать про один из подходов, благодаря которому мы можем быстро добавлять в приложение важный для пользователей контент и обновлять его, не проходя повторные ревью в сторах. Например, если хотим быстро доносить до людей н...

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

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

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

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

Ленивая подгрузка библиотек из CDN в Angular Когда я интегрировал свое Angular-караоке с YouTube, мне попался официальный YouTube-компонент из Angular Material. В README прилагалась инструкция для подключения. Почти каждая строка в ней примере сомнительна. Давайте разберемся, как сделать лучше и применить имеющиеся инс...

Мой первый Pet-проект — Regexoop Спустя некоторое время я увидел интересный метод "12 проектов за 12 месяцев". Суть метода состоит в том, что ты каждый месяц делаешь 1 продукт и показываешь его людям. Неважно насколько он готов.Regexoop - переосмысление подхода написания regex. 30 сентября я подумал - "Хм, ...

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

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

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

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

Материализованные представления и ReplacingMergeTree в ClickHouse В этой статье будут описаны подводные камни, на которые я натыкался при использовании одновременно материализованных представлений и движка ReplacingMergeTree в ClickHouse (далее CH). Для опытных пользователей CH эта информация возможно будет уже не новой, но надею...

Просто о шаблонах C++ Статья для тех, кто боится слова template в C++. Вводная информация с примерами и их подробным разбором. Читать далее

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

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

Мой путь в SRE Артем Артемьев, Lead SRE в компании Tango Me, повидал разный SRE. Прорабатывая программу четвёртого интенсива Слёрм «SRE: внедряем DevOps от Google», мы решили провести ещё и открытое интервью с Артемом. Он пошагово и обстоятельно делится своим 12-летним опытом в этой сфере,...

Самый простой способ разместить IP-камеру на сайте в 2022 году Ранее в статье "Самый простой (для знающих Linux) и дешевый способ разместить IP-камеру на сайте для небольшой аудитории" я уже делился с сообществом своим видением, как быстро и просто разместить видео с камеры на своем сайте. Минусов у того подхода, к сожалению, было много...

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

[Перевод] Go: рендеринг изображений в 2D-играх на примере Ebiten В статье речь идет о Ebiten 1.10.Ebiten — это хорошо продуманная библиотека для создания 2D-игр, написанная Хадзиме Хошем на языке Go. С ее помощью созданы движки ряда мобильных и десктопных игр, как например зарелиженная в Apple Store Bear's Restaurant, или OpenDiablo2 — ре...

Критический баг в WordPress-плагине Elementor угрожает 500 000 сайтов Критическая уязвимость, устраненная недавно в плагине Elementor для WordPress, позволяла аутентифицированным пользователям загружать произвольные файлы на уязвимые сайты, что в итоге могло привести к выполнению произвольного кода.

Kincony KC868-A8: старший брат из Ханчжоу. Часть 2. Программируем A8 В прошлой статье мы познакомились с контроллером Kincony KC868-A8 и его схемотехникой, в этой статье мы разберём программирование его функциональных блоков (входов, реле, температурных датчиков, Ethernet интерфейса и т. д.). Примеры кода из этой статьи вы сможете использов...

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

Плагины ALSA Линукс для музыканта: плагины ALSA Здравствуй, Хабр!Перевод-справка: подсистема ALSA, краткое описание API плагинов hw, mmap_emul, shm, null, copy, linear, lfloat, mulaw, alaw, adpcm, route, rate, plug, file, multi, share, hooks, dmix, dshare, dsnoop, ladspa, asym, iec958, ...

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

Представляем trdl — Open Source-решение для безопасной и непрерывной доставки обновлений trdl (сокр. от “true delivery”) обеспечивает безопасный канал доставки обновлений от Git-репозитория до хоста пользователя. В состав trdl входят три ключевых компонента, которые помогают защищать систему обновления от потенциальных атак: HashiCorp Vault, TUF-репозиторий и Gi...

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

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

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

Как работать с Makefile-проектами в среде CLion За последние несколько лет мне пришлось столкнуться с множеством вопросов, которые были сформулированы примерно так: "мой проект не открывается в среде CLion". В свою очередь, это приводило к необходимости из раза в раз объяснять разным людям примерно одно и то же....

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

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

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

Умный дом своими руками на ESP8266 + Kotlin + React Всем привет! Я решил написать про свой опыт построения умного дома. Тема конечно достаточно избита и статей последнее время про нее много. Но, это же и хорошо, значит люди занимаются, делают. Сразу оговорюсь, что мой кейс достаточно специфический, цели и задачи всей зат...

Генерируем Rust обёртку для FMOD Rust — хороший выбор для разработки игр. Хотя экосистема языка еще молода, с помощью FFI можно использовать готовые решения написанные на другом языке. Но написание и использование FFI может быть не тривиальной задачей, когда дело доходит до чего-то большего, чем вызов одной...

[recovery mode] Когда помогает партиционирование, пример в PostgreSQL Разберем внедрение партиционирования на практическом примере, обсудим выбор реализации, альтернативы. Учтем ограничения, проистекающие из самих обрабатываемых данных. Подробнее

Сколько сотрудников ВКонтакте нужно, чтобы открыть авиакомпанию Современное IT-образование невозможно представить без практических проектов, соединяющих университеты и индустрию. Например, в Санкт-Петербурге благодаря Computer Science Center активные студенты могут поработать вместе с сотрудниками IT-компаний. Что классно: можно основыва...

PROJECT MANAGEMENT FORUM 2022 | II Всероссийский форум по проектному управлению В атмосфере постоянных перемен и нестабильности, востребованность проектных менеджеров и проектного управления только возросла. Именно эти люди превращают хаос в порядок, а идеи клиента — в конкретные задачи, помогают выдержать сроки и уложиться в бюджет. ⠀ 30 июня — 01 ию...

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

Робот для сборки кубика Рубика В этой статье я хочу рассказать о любопытном DIY проекте, что я недавно реализовал. И, заодно, эта статья послужит неплохим продолжением темы «3D печати для чайников», а именно вопроса «что бы такого мне еще распечатать»

Цифровая Вселенная Совсем недавно попалось на глаза сообщение, что группа исследователей создала очередную виртуальную модель Вселенной. Смоделировать набор данных удалось на самой быстром компьютере для астрономических исследований ATERUI II, который обладает 385 терабайт оперативной памяти. ...

Нейросети (на примере трансформеров) на фондовом рынке. Коды, «граали», финансовый результат Пост в помощь тем кто интересуется практической пользой от применения нейросетей на фондовом рынке. Читать далее

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

ruDALL-E: генерируем изображения по текстовому описанию, или Самый большой вычислительный проект в России 2021 год в машинном обучении ознаменовался мультимодальностью — активно развиваются нейросети, работающие одновременно с изображениями, текстами, речью, музыкой. Правит балом, как обычно, OpenAI, но, несмотря на слово «open» в своём названии, не спешит выкладывать модели в о...

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

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

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

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

Паттерны верстки. Как объединить верстальщиков и дизайнеров Данная статья поможет улучшить взаимодействие между дизайнерами и верстальщиками для минимизации ошибок и повышения продуктивности работы.Работа богата практическими примерами. Она будет полезна специалистам разного профиля.Дизайн является основой качественной верстки и помо...

Грабли, спрятанные в Kotlin Kotlin создавался, чтобы избежать некоторых проблем Java. Но как и в любом языке, есть в нем свои особенности. Разрабатывая собственный проект, мы наткнулись на несколько таких моментов. Часть стреляет вам в колено на продакшене, только если вы ими злоупотребляете. Другая от...

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

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

Текстовые игры — новый старый инструмент для автора или «Сделаем Текстовые Квесты снова Великими!» Про текстовые игры написано довольно много как на Хабре, так и на просторах интернета. Это один из самых первых жанров интерактивных развлечений с использованием ЭВМ и даже без него (просьба поделиться опытом НЕэлектронных текстовых игр в комментариях). В данной статье я хоч...

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

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

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

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

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

Отличия DeploymentConfig от Deployment и примеры использования Deployment и DeploymentConfig — это, казалось бы, похожие объекты API для OpenShift Container Platform. Но на самом деле они предлагают разные гибкие методы управления интерфейсом пользователей. Расскажем о различиях и приведём примеры, когда какие объекты лучше использовать...

Экспонируй это Несколько лет назад я открыл для себя DigitalRev TV. В одном из выпусков в руки Кая и Лока попадает отечественный фотоаппарат «Любитель-166», но моё внимание привлёк совсем не он. Из кожаного футлярчика Кай достаёт маленькое устройство, которое включается в разъём гарнитуры...

Твой личный Дали: СберБанк запустил нейросеть, которая рисует картинки по словесному описанию Команда СберБанка объявила о запуске нейросети ruDALL-E, которая способна создавать изображения на основе текстового описания на русском языке. Как отмечает пресс-служба, это первая в мире подобная нейронная сеть.  Официальная рекламная картинка ruDALL-E Протестир...

Уязвимость дистанционного бизнеса: как защищают данные ноутбуки HP EliteBook В условиях удаленной работы границы между рабочими и личными устройствами стираются, что демонстрирует самое уязвимое место корпоративной безопасности — невозможность контролировать рабочие инструменты сотрудников. На примере бизнес-ноутбуков HP EliteBook редакция ZOOM.CNews...

[Перевод] Reversing для чайников — ассемблер x86 и код на С (для начинающих/ADHD friendly) До того как заняться реверс-инжинирингом, исполняемые файлы казались мне черной магией. Я всегда интересовался, как все работает под капотом, как двоичный код представлен внутри .exe файлов, и насколько сложно модифицировать “исполняемый код” без доступа к исходникам.Но одни...

Terraform модуль для создания RBAC правил Начиная с Kubernetes 1.6, RBAC политики включены по умолчанию. К тому же использование этих политик помогает безопасно управлять вашим кластером. Раньше нам приходилось вручную создавать подобные политики, сервисные аккаунты и пользователей. Для каждого нового проекта мы п...

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

Разделяй и Властвуй. Разбор задач Решение задач с помощью метода "Разделяй и Властвуй" или по-английски "Divide and Conquer" является одним из базовых методов по ускорению алгоритмов. Примером тому служит переход от квадратичной сложности пузырьковой сортировки или сортировки вставками ...

Почти 4 тысячи новых рабочих мест появится в ВАО и ЗелАО Два застройщика приступили к реализации проектов в рамках программы стимулирования создания мест приложения труда. На востоке столицы началось строительство офисно-торгового центра, а в Зеленограде на площадке «Алабушево» ОЭЗ «Технополис Москва» — подготовка строительн...

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

Управляем генерацией ruGPT-3: библиотека ruPrompts Наше семейство моделей ruGPT-3 уже нашло множество применений у сообщества: кто-то генерирует гороскопы, кто-то — факты о лягушках, статьи нейроуголовного кодекса, нейроновости и прочее. Модели накопили в себе массу знаний о нашем мире и способны подстроиться практически под...

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

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

Windows 11: минусы дизайна В этой статье мне бы хотелось поделиться пользовательским опытом, связанной с Windows 11, которой я на момент написания статьи пользуюсь примерно месяц с лишним. Читать далее

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

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

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

Недельный геймдев: #48 — 12 декабря, 2021 Из новостей на этой неделе: новое технодемо Unreal Engine 5 — The Matrix Awakens, вышли Flutter 2.8 и Flame Engine 1.0, бетка Unity 2022.1, первая мажорная версия O3DE Game Engine 2111.1, Agility SDK 1.700.10 и HLSL 2021, 3ds Max 2022.3 и Maya 2022.3.Из интересностей: топ...

Использование ASCIIDoc для управления документацией на проекте (Часть 1) О важности документации на проекте знают все, начиная от технических заданий на реализацию заканчивая пользовательской документацией. Про важность документации и необходимости документировать написано множество статей. Здесь мы расскажем о том как упростить команде жизнь исп...

Простой цифровой радиоприемник на базе контроллера STM32G4 своими руками Обучающие проекты по созданию простого цифрового радиоприемника на базе микроконтроллера STM32G431KB. Читать далее

Разработка TELEGRAM-бота на JAVA для генерации и считывания QR-кодов пример разработки TELEGRAM-бота, функционал которого позволяет сканировать и генерировать QR-коды. Плюсы использования TELEGRAM-бота в сравнении с традиционными приложениями-сканерами это: отсутствие необходимости устанавливать дополнительный софт (при наличии TELEGRAM, есте...

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

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

Основы HTTPS, TLS, SSL. Создание собственных x509 сертификатов. Пример настройки TLSv1.2 в Spring Boot Привет, Хабр! В современном мире абсолютное большинство сайтов используют HTTPS (Google даже снижает рейтинг сайтов работающих по HTTP в поисковой выдаче), а подключение к различным системам происходит по протоколу TLS/SSL. Поэтому любой разработчик рано или поздно сталкивае...

Что там у PVS-Studio c покрытием Toyota ITC Benchmark? Toyota ITC Benchmark – это набор синтетических тестов для C и C++, состоящий приблизительно из 650 примеров и предназначенный для тестирования анализаторов кода. Данная статья ответит на вопрос: "Насколько хорошо статический анализатор PVS-Studio покрывает Toyota ITC Benchma...

Одна из уникальных функций камеры Pixel 6 уже доступна для других смартфонов Google. Но запустить Magic Eraser можно лишь неофициально Функцию Magic Eraser, представленную эксклюзивно для Pixel 6 и Pixel 6 Pro, уже можно использовать на более старых смартфонах Google. Правда, неофициально.  Как оказалось, достаточно установить на старый Pixel приложение Goo...

Создаем и тестируем свой plugin для Gradle 7.0+ Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в д...

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

Пенорезка CNC v2.0 Прошло 2 года со сборки первой версии чпу пенорезки, пора обновляться!По сути это совершенно другая концепция, с одной и той же задачей.Задача: - станок должен быть компактным, размер "рабочего поля" регулируемым, избавляемся от сварочных работ что в первой версии (упрощает ...

[Перевод] Как проверить, зависит ли Java проект от уязвимой версии Log4j Если ваше приложение использует Log4j с версии 2.0-alpha1 до 2.14.1, вам следует как можно скорее выполнить обновление до последней версии (2.16.0 на момент написания этой статьи - 20 декабря).Log4j уязвимость отслеживаться как CVE-2021-44228 (также известный ...

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

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

Хороший смартфон за 15-18 тысяч «для всего»: сравниваем Xiaomi и Realme Еще совсем недавно частота обновлений экрана свыше 60 Гц была уделом флагманов и тех смартфонов, что старались быть на них похожими. Теперь 90 Гц можно запросто встретить в характеристиках бюджетных устройств. Рассматривать такие смартфоны для покупки или все-таки пожалеть с...

Путь к автотестированию Android нативными инструментами: испробовали всё, что есть на рынке и сделали свои выводы Давайте сначала представимся. Мы - команда управления тестирования и контроля качества в БКС Мир Инвестиций. Наш продукт - это приложения и сайты, созданные для удобства всех желающих окунуться в мир ценных бумаг и инвестиций. Конкретно в нашем “ведомстве” приложения на IOS&...

Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих) Этот материал рассчитан на людей, будущих программистов, которые только начинают разбираться в программировании под ОС Linux, или может быть долго были пользователями ОС Windows. Я попробую здесь показать прямое руководство к действию на примере ОС Ubuntu и тех простых инстр...

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

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

Отображение данных из подписанного ЭЦП PDF-файла в Joomla На Joomla CMS сделано очень много сайтов для образовательных учреждений самого разного уровня и сложности. На сайты образовательных учреждений распространяется (на момент написания статьи) Приказ Рособрнадзора от 14.08.2020 №831, согласно которому документация должна быть на...

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

MergeQueue и зелёный Master: часть 1-я В работе над проектом Образовательной Платформы Сбера мы столкнулись с ситуацией, когда интенсивность влития изменений в центральную ветку репозитория git существенно превысила время прохождения Quality Gate (статический анализ, сборка, автотесты) внесённых изменений. В стат...

Тысячная статья про принципы SOLID Ещё будучи совсем-совсем начинающим разработчиком, я услышал про принципы SOLID и, конечно же, совершенно их не понял. Их не помогли понять ни лекции Дядюшки Боба, ни книга его же авторства, не несколько десятков (а то и сотен) статей в интернете, которые я тогда прочитал (п...

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

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

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

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

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

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

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

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

Создание своего серверного ядра на Go для Minecraft Java. Часть #1 — Основное о идее Тема, которая будет писаться в многих частях будет в основном предствалять этапы написания своего серверного ядра для мультиплеера популярной игры Minecraft. Читать далее

Как htmx помогает разработке на HTML htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, алтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборк...

Мультиплеер в Unreal Engine: Игровой процесс Привет Хабр!В данной статье я бы хотел разобрать мультиплеер со стороны игрового процесса. Опорой для написания статьи выступает популярный Network Compendium. Читать далее

Недельный геймдев: #73 — 5 июня, 2022 Из новостей: плагин USD Hydra для Blender версии 1.1, Epic Games представила программу Unreal Educator Accelerator.Из интересностей: серия руководств от Quixel, за кулисами TUNIC, трушный Уральский ГеймДев, на каких платформах вы должны запускать свою видеоигру в первую оч...

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

CURA - Полный перевд плагина SettingsGuide (Машинный) Доброго времени суток, извиняюсь если рубрика не та.В Cura есть весьма интересный плагин SettingsGuide - Это подробная справка о параметрах печати, весьма удобная штука, но есть момент - на Русский переведена очень малая часть текстов. Лично мне удобнее читать параметры на н...

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

Байесовская Сеть Доверия: Практика Мы продолжаем нашу серию статей, связанных с байесовскими методами, один из которых — Байесовские Сети Доверия (БСД). Теоретическую основу БСД вы можете найти в этой статье.В этой статье мы сначала вкратце вспомним теорию. Дальше будет, что называется, только хардкор: на при...

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

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

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

HTB BountyHunter. Ломаем сайт на PHP через XXE и пентестим приложение на Python Для подписчиковВ этой статье на примере простой по сложности машины BountyHunter с Hack The Box я продемонстрирую эксплуатацию уязвимости XXE, работу с обертками в PHP и эксплуатацию бага в программе на Python. Это не самые хитрые уязвимости, зато они встречаются в реальных ...

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

Командная дипломная работа: кейс удаленной разработки социальной сети Привет, Хабр! Недавно Skillbox начал тестировать формат кросскомандных дипломных проектов для студентов направления «Программирование». Сегодняшняя статья посвящена разбору первого подобного реализованного диплома по разработке соцсети, в котором приняли участие 8 студентов ...

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

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

Модульность и DI в современном Android-приложении. Большой туториал от Яндекса Всем привет! Я Денис Загаевский из Android-разработки Яндекс.Карт. Если вы развиваете многомодульное приложение или хотите разбить на части пока ещё одномодульное, этот туториал для вас. Под катом расскажу, как удобно разбить приложение на модули, зачем это нужно и как пото...

Простой математический пример от китайского школьника ввел в ступор сотни российских учителей: угадаете, в чем секрет? Наука Математика 09.12.2021, 13:14 Простой математический пример от китайского школьника ввел в ступор сотни российских учителей: угадаете, в чем секрет? В Твиттере опять воюют! Снимок китайского мальчика, который ломает голову над при...

Как переехать с GKE на Deckhouse, чтобы разработчики этого даже не заметили. Кейс robota.ua Robota.ua — сервис для поиска вакансий и сотрудников в Украине. Включает в себя веб-сайт со средней посещаемостью 7 млн визитов в месяц и приложения для iOS и Android. Мы помогаем robota.ua поддерживать кластеры Kubernetes.Кейс интересен тем, что за короткое время клиенту уд...

Зачем нужны RTX 2060S и 2070S, когда есть RTX 3060 - обзор EVGA RTX 3060 XC GAMING В наше тяжелое время, когда 1050 Ti или 1660 являются “роскошью,” находятся люди, которые от отчаяния берут свои последние деньги и покупают RTX 3060, чтобы хоть как-то насладиться так называемыми “последними технологиями” в играх. Но действительно ли стоит тратить свои посл...

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

Как построить сетевой клиент в большом приложении, написать плагин на Kotlin и работать с UI-библиотекой Сегодня делимся видео для мобильных разработчиков с IT-конференции ЮMoneyDay. Начнём с процессов в UI. Что помогает команде работать быстро и слаженно и как срезать углы в работе с дизайн-системой? В первом докладе поделились, как наладить разработку в iOS-команде....

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

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

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

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

Samsung предстоит решить ещё много проблем с её смартфонами. Новый пример наглядно показывает, насколько плохо может работать флагман Samsung действительно быстро взялась решать проблему. Обновление, улучшающее игровую производительность линейки Galaxy S22, уже вышло в Европе Samsung явно предстоит ещё много работы над ПО её смартфонов. Несмотря на то, что оболочка One UI многими считается одной из л...

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

Чем жить будем? Обзор российского экспорта На написание материала меня подтолкнула статья на Хабре — “Что происходит в экономике? Порция объективного оптимизма”. Это действительно воодушевляющий текст, который начинается заголовком “Великой депрессии в России не будет.” Далее описываются источники прибыли российской ...

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

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

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

Зачем нужны правильные зоопарки Обыватель воспринимает зоопарк как место для прогулки с детьми и СИЗО для животных. На глаз, в более чем половине случаев так и есть. Но есть и нормальные зоопарки, которые вообще-то для другого. У зоопарка здорового человека основная функция — сохранение биоразнообразия...

Зачем вертикальному пылесосу подсветка? Показываем на примере Redroad V17 с AliExpress Вау!

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

Лучшие игровые линейки ноутбуков: от ROG до Omen В наше время игровые ноутбуки популярны как никогда раньше. В сегодняшней статье мы расскажем о самых популярных линейках геймерских ноутбуков и приведем примеры таких систем.

[Перевод] Запись Extended Events в таблицу Опубликовано 23 февраля 2022 годаАвтор статьи Gianluca SartoriВ этой статье описывается, как отловить все запросы, выполняемые на сервере, и сохранить данные событий xEvents в таблицу SQL Server. Последнее вызывает трудности при использовании стандартных целей для сессии рас...

Как получить инвестиции на первый проект… и доделать его Вы придумали гениальную идею игры или даже подготовили прототип и теперь задаетесь вопросом: “Где взять деньги на реализацию?” Разберемся с возможными способами и подводными камнями с сооснователем студии Uniday Games Алиной Ситбаталовой на примере проекта «Puzzle Squad», ко...

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

Создание телеграмм-бота (Spring Boot, Kafka, PostgreSQL), часть первая Всем привет, данная статья является, своего рода моей первой, но все же постараюсь максимально просто рассказать вам о том, как создать бота, прикрутив к нему все обещанные выше свистелки-тарахтелки.Статьи будут разделены на 2 части, первая часть - создание основного бота с ...

Эпоха красивого кода прошла. Пришло время быдлокода Эпоха красивого кода прошла. Пришло время быдлокода    Давеча решил я отключить ненужные плагины в настройках Android Studio. Снял галочки напротив плагинов которые для меня не нужны, IDE не предупредила ни о каких возможных проблемах.Перезапустил IDE, и ...

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

[Перевод] Сравниваем async/await и then/catch с примерами  В JavaScript есть два основных способа обработки асинхронного кода: Promise (ES6) и async / await (ES7). Эти синтаксисы дают нам равные базовые функции, но по-разному влияют на читаемость и область видимости. В этой статье мы увидим, как один синтаксис помогает, а друг...

[Перевод] Меняем std::sort для Google Мы меняем std::sort в библиотеке libcxx проекта LLVM. В этой статье мы подробно расскажем о том, как мы пришли к этому решению и какими будут возможные последствия, о багах, с которыми вы можете столкнуться в примерах из open source. Мы покажем несколько бенчмарков, объясни...

USB на регистрах: виртуальная FAT16 USB на регистрах: STM32L1 / STM32F1 USB на регистрах: bulk endpoint на примере Mass Storage Уже довольно давно я пытался разобраться, как же устроена классическая файловая система FAT и вот наконец критическая масса обрывочных сведений в моей голове привела к качественному ...

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

Программа самоподготовки младшего системного аналитика Мы решили узнать, как работает старый тезис «в интернете всё есть и бесплатно, курите маны, глупцы».И подготовили программу самоподготовки, собранную из лучших бесплатных или совсем недорогих материалов, которые мы знаем. Общая длительность программы для освоения — от 1...

Работают ли сейчас уровни ссылок? В блоге Collaborator недавно опубликовали интересную подборку с примерами неудачного опыта в SEO. Один из антикейсов оказался по методике многоуровневых ссылок, о которой я писал в своем блоге в 2013 году в посте "Удар шершня". Оказалось, что ребята потратили $20K на экспер...

Импакт-анализ на примере Android-проекта Одной из самых дорогих по времени операций на CI-сервере является прогон автотестов. Есть множество способов их ускорения, например, распараллеливание выполнения по нескольким CI-агентам и/или эмуляторам, полная эмуляция внешнего окружения(backend/сервисы Google/вебсокеты), ...

28 Атрибутов Хорошей Блок-Схемы для PCB В этом тексте написал о забытом понятии: блок-схемы для разработки электроники. В ГОСТ(е) их называли Э1 (Схема структурная). Блок-схем это хороший уровень абстракции при анализе электронного устройства или PCB. Представил несколько атрибутов, которые сформировались при созд...

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

Angular без CLI Туториал Фреймворк Angular используется при создании SPA и предлагает большое количество инструментов как для создания, непосредственно, элементов интерфейса, так и CLI для создания и управления структурой файлов, относящихся к приложению.Для создания проекта с использованием библиот...

Космический корабль своими руками для детей (a handmade spaceship for children) Часть 2 Это вторая часть постройки космического корабля своими руками. Внимание, много фотографий.Металлический каркас стенда покрыл матовой краской из баллона. На тот момент попалась термокраска. Краска покрыла метал матовым насыщено черным цветом. Результат мне понравился, в дальн...

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

Слух: первый трейлер GTA VI покажут уже в 2022 году Совсем недавно Rockstar Games объявили о разработке новой Grand Theft Auto. И практически сразу сеть начали взрывать различные инфоповоды, так или иначе связанные с проектом или студией, её разрабатывающей.

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

Простой математический пример со скобками, который оказался не по зубам даже умникам из интернета: проверьте свои силы ПопМем Интересно 28.12.2021, 18:22 Простой математический пример со скобками, который оказался не по зубам даже умникам из интернета: проверьте свои силы Этот математический пример со скобками давненько сводит с ума пользователей Твитт...

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

[Перевод] Создавая непредсказуемость. Примеры использования генераторов случайных чисел Привет, Хаброжители! У нас вовсю продолжается распродажа «Старый Новый год»Кто пытается арифметическими методами генерировать случайные числа, тот, конечно, живет во грехе. Поскольку, как указывалось уже неоднократно, нет такого феномена, как случайное число  —  есть только ...

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

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

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

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

Как не выйти в Window при работе с Window? Многие разработчики разбиваются о жизненные циклы onResume, onActivity, onCreate, которые связаны с отображением UI внутри приложения, будь то Activity или фрагмент. Некоторые методы работы со стремительно развивающимся андроидом приходится искать интуитивно, потому что офиц...

[Перевод] Написание скриптов для tmux Мне, когда я пользуюсь tmux, часто надо открывать похожие рабочие пространства. Например, мне всегда нужно выводить последние строки пары файлов журналов в панели, или мне нужно открывать и vim, и mysql. Бывает, что мне нужно и что-то другое. Если вы попробуете найти свед...

Мультивибратор на компараторе Занимаясь электроникой, я столкнулся с проблемой организации разрозненных знаний в "разумное целое".Стандартный вузовский путь: читай высокоумный учебник, делай лабораторку, проходи контрольный тест — слишком долог, «лишняя» информация быстро забывается. Бессистемные опыты ...

Имитационная модель пула потоков для сервера баз данных В работе построена объектная имитационная модель пула потоков, за основу которой взята реализация, используемая в СУБД MySQL, MariaDB и Percona Server. Описаны входные потоки модели и примеры их распределений. Приведены результаты апробации модели, согласующиеся с известными...

HTB Backdoor. Взламываем сайт на WordPress и практикуемся в разведке Для подписчиковСегодня мы с тобой на примере легкой по уровню сложности машины Backdoor с площадки Hack The Box поупражняемся в простейших атаках на веб-приложения. Поищем уязвимые плагины для WordPress, проэксплуатируем уязвимость типа path traversal, переберем информацию о...

99+ бесплатных инструментов для анализа зловредов Знай своего врага ― одна из максим, которой руководствуются специалисты по информационной безопасности. Она касается и зловредов. Существуют сотни инструментов, которые помогают исследовать вредоносное ПО. К счастью, многие из них бесплатны и имеют открытый исходный код.&nbs...

А вы знаете, где используется Haskell? Всем привет! Мы хотим продолжить серию постов на тему “где используются эти ваши странные языки программирования”. В прошлый раз мы рассказали про Лисп, а сегодня продолжим разговор про функциональные языки и обратим внимание на Haskell.  Он является основным языком раз...

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

Конвертируй это — с Yandex Message Queue Довольно прозаичный и понятный в быту термин порой все еще вызывает вопросы в IT. Зачем при разработке приложений использовать очереди или сервисы очередей, чтобы автоматизировать этот процесс? Ответим на этот вопрос практическими примером — напишем в serverless-стеке Yandex...

Путеводитель по ID для JPA сущностей. Часть 1: ID, генерируемые на сервере Разработка инструментария – очень познавательное занятие, потому что заставляется задуматься над теми вещами, которые в процессе разработки иногда не замечаешь. Казалось бы, создание @Id атрибута в JPA – рутинное занятие и каждый разработчик может сделать айдишник, даже не в...

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

[recovery mode] Как тестировать gradle-плагины Когда я писал свой первый gradle-плагин, я проверял его работоспособность следующим образом:1. Опубликовал версию n в plugins.gradle.org2. Проверил опубликованный плагин вручную на тестовом проекте3. Нашел ошибку/доработал, увеличил версию n=n+1, затем снова пункт 1Такой во...

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

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

Девять избранных статей с конференции NeurIPS 2021. Часть 1 В Одноклассниках мы регулярно проводим разборы научных конференций и делимся  результатами этих разборов. В этот раз хотим поделиться статьями с NeurIPS 2021. NeurIPS – крупнейшая конференция по машинному обучению: в этом году было подано 9000 статей, 2300 из которых по...

Новое слово в расчётах систем видеоконференцсвязи — часть №2: расчёт диагонали ТВ и VR-визуализация 360˚ В прошлой статье Часть №1: подбираем видеокамеру, используя 3D-моделирование мы показали удобные современные инструменты для подбора оптимальной камеры для переговорной комнаты или конференц-зала.Этому проекту посвящается цикл статей:Часть 1: Подбираем видеокамеру, используя...

Как сделать стрим в Postgres? На одной конференции мне задали вопрос (спасибо Александру!): как сделать стрим в PostgreSQL? Представьте, что имеется bytea и вы к нему хотите что-то дописать. Люди столкнулись с тем, что на это в PostgreSQL  тратится гигантское время  и растет WAL-трафик. Ра...

Удаление Whitelist ноутбуков HP на примере HP Pavilion dv6-2135er Удаление Witelist ноутбука HP Pavilion dv6-2135er. Реверс-инжиниринг и модификация дампа bios. Читать далее

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

Введение в distributed tracing В один прекрасный момент вы можете переезжать из одного ДЦ в другой и понять, что не знаете свои системы: их поведение может стать неожиданным. В одной системе вы должны были работать гораздо быстрее, но теперь работаете медленно. В другой — не понимаете, куда приходит запро...

[Перевод] 30 команд Git, необходимых для освоения интерфейса командной строки Git Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих п...

Pineapple Nano своими руками Часть 1. Сборка платформы Pineapple Nano - это хакерское устройство от команды Hak5 для атак на беспроводные сети. Купить его не так просто, поэтому я решил собрать его сам. И эта статья будет как раз о том, как я прошел сквозь огонь и воду, чтобы воссоздать точную копию (ну почти) этого устройства. ...

WorldSkills VR как пример того, как нельзя организовывать олимпиады по современным направлениям Привет! Хотелось бы поделится своими впечатлениями о проведении одного из самых популярных технических соревнований в России и проблемами применения классического олимпиадного подхода к современным направлениям. Читать далее

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

Первый хакатон ВСК — от идеи до реализации В конце 21-го года состоялся первый хакатон в истории ВСК! Точнее - это был не совсем хакатон. А почему - читайте далее!Что еще вы найдете в этой статье:• все подробности организации;• цифры и сложности;• как создать почву для решения бизнес-задач;• как повысить лояльн...

Кажется, Winamp возвращается… Снова и не совсем тот, что был Медиаплеер WinAMP является едва ли не сакральным проигрывателем музыки (а позже и видео) для миллионов пользователей. И действительно, он отличается минимализмом, широким спектром функций, потребляет мало ресурсов, благодаря чему хорошо и без лагов работает практически на л...

Моя первая NFT-коллекция на Solidity + Hardhat — «Сизифов Труд» На момент написания статьи я работаю Frontend-разработчиком в VK (Delivery Club) на Vue и плавно перехожу на iOS-разработку. Уже около 4 лет считаю себя поверхностно приближенным к сфере крипты: участвовал в разработке P2P-платформы (BTC-обменника), изучал основы и идеологию...

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

Модные видео гличи на C++ В этой статье рассказывается о способах создания видео фильтров на C++ для разных программ, а так же тут рекламируется моя опенсорс программа SEZE II с интересными эффектами на подобии пиксельной сортировки, эмулятора аналогового ТВ, случайного 3-битного дизеринга и прочим Ч...

[Перевод] Пишем эмулятор Game Boy на OCaml Введение Последние несколько месяцев я работал над проектом под названием CAMLBOY — эмулятором Game Boy, написанным на OCaml, который работает в браузере. Протестировать его можно на следующей странице демо: Страница демо Я добавил в демо несколько неофициальных ROM, поэт...

Facebook Meta объединится с Microsoft для создания метавселенной Microsoft и материнская компания Facebook Meta объединились для интеграции Teams и Workplace в будущую метавселенную. Компании, использующие обе платформы, могут попробовать интеграцию без дополнительных затрат — через закрепленную вкладку в Teams работники могут получить до...

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

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

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

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

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

Plantuml в работе системного аналитика. Пиши uml диаграммы текстом, чтобы сэкономить время Раньше я использовала для рисования диаграмм плагин в Confluence drawio или Microsoft Visio, который позволяет в графическом виде нарисовать диаграммы. Основная боль (для меня) у этих инструментов заключалась в том, чтобы поправить множество диаграмм надо открывать каждую, д...

React Hooks простыми словами О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял пр...

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

Повышаем производительность файлового I/O в JVM на Linux Все кто хоть раз касался разработки I/O интенсивных приложений, наверное, задумывался о повышении их производительности. Особенно когда у проекта много внешних хранилищ и они находятся по всему миру. Давайте разберем какие есть инструменты с их плюсами и минусами и как их лу...

Как научиться работать в Blazor, делая что-то полезное. Часть I Когда я вижу, как кто-то учит кого-то языку программирования, то частенько замечаю тенденцию показывать новичкам примитивные примеры в виде ToDo list. Помимо того, что подобные примеры не учат ничему полезному в программировании, они очень однобоки и не позволяют оценить вс...

Как мы кикшеринг взломали В этой статье я поведаю вам кейс о взломе одного из крупнейших сервисов шеринга самокатов путем подмены TLS сертификатов и использования Python и mitmproxy. Читать далее

[Перевод] Любопытные извращения в БД и не только Сайт The Daily WTF уже 16 лет собирает курьёзные, дикие и печальные истории из мира ИТ. Я перевёл несколько рассказов, показавшихся мне интересными. Все имена и названия компаний изменены. Предыдущие выпуски можно найти по метке "любопытные извращения". Техлид от...

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

Эффективная генерация сортируемых GUID для первичных ключей БД на клиенте Использовать Guid.NewGuid() в качестве первичного ключа в базе данных — плохая с точки зрения производительности идея. Это связано с тем, что в SQL Server, MySQL и некоторых других БД для первичных ключей создаются кластерные индексы, которые определяют, как строки будут хра...

Обучение с подкреплением на Python: Пример не из «качалки» Обучение с подкреплением молодая и бурно растущая дисциплина. Это обстоятельство привело к тому что информации об этом на русском языке почти нет. Особенно, если дело касается объектно-ориентированного подхода, и практических задач не из арсенала "качалки".Представляю вам ре...

Разработка новой игры от компании Wargaming с помощью Rider for Unreal Engine Последние полтора года открыта программа раннего доступа к Rider for Unreal Engine — IDE для разработки игр на C++ с использованием Unreal Engine. На сегодняшний день в программе участвуют десятки тысяч индивидуальных разработчиков игр, a также множество студий и больших ком...

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

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

PascalABC.NET, повторная проверка Приветствуем всех любителей чистого кода. Сегодня у нас на разборе проект PascalABC.NET. Ранее мы уже искали ошибки в этом проекте при помощи сразу двух инструментов статического анализа, а именно плагинов для SonarQube: SonarC# и PVS-Studio. Этому была посвящена статья в да...

[Перевод] Производительность Unity C#: советы и приемы С чем бы вы ни работали – ПК, мобильным устройством или консолью, наступит такой момент, когда вы захотите оптимизировать вашу игру. В этой статье приведено несколько советов о том, что нужно и чего не нужно делать, чтобы ваш код на Unity стал бегать немного быстрее. Читать...

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

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

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

[Перевод] Как написать «Пятнашки» на Flutter Возможно, вы уже читали о конкурсе Flutter Puzzle Hack и думаете о том, как проявить максимум творческих способностей. И мы вам в этом поможем, рассказав о том, как структурирована кодовая база нашего примера головоломки. Подробностями делимся к старту авторского курса по ве...

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

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

Kincony KC868-A4: ультимативный гайд. Часть 2. Программирование компонентов Продолжаем ультимативный гайд по контроллеру Kincony KC868-A4, начатый в предыдущей статье. Сегодня мы подробно разберём распиновку KC868-A4 и познакомимся с принципами программирования компонентов (функциональных блоков) этого контроллера. Все примеры будут сопровождаться...

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

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

Создание Single Page Application на Marko.js — ZSPA Boilerplate В данной статье вы познакомитесь с Marko.js актуальной на данный момент пятой версии. Пару лет назад на Хабре уже была отличная статья (за авторством apapacy) о том, как работает этот замечательный реактивный фреймворк, разработанный где-то в недрах eBay.В своем комментарии ...

Worker Services в .NET Написание воркер-сервисов на .NET часто сопряжено с написанием большого количества повторяющегося boilerplate-кода. Однажды мне это надоело и я попытался успростить этот процесс, перенеся часть бойлерплейта в отдельную библиотеку, которой и посвящена эта статья. Читать далее

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

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

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

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

DotNetRu. 2020-2021. Итоги Привет, на связи DotNetRu – сообщество, объединяющее .NET разработчиков России и не только. Казалось бы, совсем недавно мы рассказывали про митапы и прочие наши активности 2019 года и с оптимизмом смотрели в наступающий 2020-й. Штош, начался он действительно бодро, но з...

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

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

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

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

Как оптимизировать производительность сайта. Расширенные рекомендации Привет!Это снова Сергей Кузнецов, руководитель отдела Frontend-разработки в AGIMA. Недавно я рассказывал здесь про оптимизацию сайта в разрезе показателей Google PageSpeed. И теперь хочу вернуться к этой теме. Сегодняшняя статья будет не слишком длинной, но, надеюсь, для мно...

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

Как платформа на базе ИИ помогает создавать персонализированные сказки для детей Представить, что робот рассказывает сказку ребенку, уже совсем не сложно, особенно после выхода нового сериала Риддли Скотта. В трейлере “Воспитанный волками” андроид читает малышу историю “Три поросенка”. Это 2145 год. Но и в 2021-м есть технологичный сервис MySkazka. ...

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

Как я винду по-реверсерски чинил Ваша винда не работает как хотелось бы? Все советы из поисковика перепробовали установили Linux, а оно всё равно не работает? Вы реверс-инженер или кто вообще, ну в самом деле!? Применим свои навыки владения отладчиком, поможем Шиндовс нормально (по мере её сил) работать!На ...

FOSS News №103 — дайджест материалов о свободном и открытом ПО за 20—26 декабря 2021 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: Новости о распространении и борьбе с катастрофической уязвимостью в Log4...

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

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

Сушилка из ведра сделай сам!!! Затраты на изготовление менее 1000 р!!! В общем на написание этого статьи меня толкнула эта статья "Опыт сушки пластика." одного камикадзе! И это не оскорбление а констатация факта! Который засунул несколько бухт в духовку и ушёл на работу. А вернувшись увидел это   Просто счастливчик  что увидел это а не это  ! Я...

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

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

[Перевод] 8 способов вызвать утечки памяти в .NET Опытные .NET-разработчики знают, что даже несмотря на наличие в .NET сборщика мусора (Garbage Collector), утечки памяти все равно возникают с завидной регулярностью. Утечки возможны не из-за ошибок в сборщике мусора, а потому что даже в управляемом коде есть множество способ...

Пошаговое руководство, как создать собственный Kubernetes оператор В статье разберет базовые понятия, которые нужны для создания оператора (CRD - Custom Resource Definition, контроллеры) и покажем на практике как можно написать собственный оператор с использованием инструмента Operator SDK без единой строчки кода. Читать далее

Выбираем инструмент для разметки текста (и не только!) Рано или поздно перед любой компанией которая хочет внедрить системы машинного обучения в свою инфрастуктуру встает вопрос разметки данных. Чистые данные в достаточно большом количестве - залог хорошей модели, все мы прекрасно знаем правило "Garbage in - garbage out". Т...

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

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

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

Удаление зуба: как это делается? Здравствуйте, дорогие друзья! Однажды я рассказывал вам, что удаление зуба – это отнюдь не самая простая и примитивная манипуляция в хирургической стоматологии, как многие из вас могут думать. В моей статье «Удаление зуба, «недорого»… последствия», я приводил примеры трав...

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

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

Стоит ли сдавать старый iPhone в трейд-ин Достаточно часто при покупке нового iPhone у официального реселлера нам на глаза попадается предложение сдать старый смартфон в трейд-ин и получить скидку на покупку нового. Это очень заманчивое предложение, которое стоит изучить досконально перед тем, как им пользоваться. ...

[Перевод] Как я провалил 5 хобби-проектов за 6 лет и заработал 0 долларов Это история о том, как я мечтал создать генерирующий прибыль онлайн-проект, стремясь к финансовой независимости и творческой свободе. Спустя пять лет ни один из моих проектов не достиг успеха и это по-прежнему остаётся мечтой. Позвольте мне подробно рассказать о своих прова...

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

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

Kincony KC868-A4: ультимативный гайд. Часть 3: управление контроллером через Telegram-бота В предыдущей статье цикла о Kincony KC868-A4 было рассмотрено «атомарное» программирование компонентов этого контроллера, в этой статье будем разбирать более продвинутый пример работы с KC868-A4 — управление вашей (IoT) системой через интернет. Способов управления контрол...

О чём молчат джуны. 16 вопросов новичку во фронтенде Олег — фронтенд-разработчик в крупном видеосервисе (и попутно выпускник Академии). Он только недавно начал работать, но уже согласился ответить на некоторые вопросы от подписчиков нашего комьюнити-чата в Телеграме, которым интересно, как всё устроено в реальной работе.Что ну...

Главный секрет операторов match/case в пайтоне Не так давно увидела свет версия языка пайтон 3.10. В ней был добавлен pattern matching statement (оператор сопоставления с шаблонами). Как гласит официальное описание этого оператора в PEP622, разработчики в большей мере вдохновлялись наработками таких языков как: Scala, Er...

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

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

Meta создает новый переводчик речи на базе искусственного интеллекта Meta объявила о создании нового переводчика речи на базе искусственного интеллекта, программное обеспечение, по-видимому, будет работать по всему миру. Это часть планов Meta относительно ее новой Метавселенной, которая, по ее мнению, является будущим онлайна, вы можете увиде...

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

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

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

Сегментация корпоративных сетей в концепции Zero Trust В этой статье я бы хотел поделиться своими мыслями о материале по сегментации сетей представленном на недавно прошедшем LinkMetup и дополнить рассказ некоторыми важными на мой взгляд деталями. В результате я надеюсь представить более полную картину о тенденциях и возможностя...

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

Сертификат COVID-19 не найден: Почему на самом деле перестали работать QR-коды о вакцинации Как нас обманывает Минцифры и Ростелеком и почему теперь нужно заново генерировать сертификаты COVID-19 Читать далее

Отдыхать нельзя работать. Может ли короткая рабочая неделя сделать счастливее без вреда для бизнеса? Индийский финтех стартап Slice уменьшает рабочую неделю до трёх дней с сохранением 80% зарплаты. Новость, опубликованная Bloomberg в начале октября, вернула отрасль к животрепещущему обсуждению: помогает ли радикальная оптимизация рабочего времени достичь work-life balance б...

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

CrowdSec 1.2: изменения, дополнения, улучшения Привет, Хабр! Нам приходилось сталкиваться с мнением, что разработка — скучное занятие: cиди себе, копируй строчки кода с «Гитхаба» да компилируй готовое приложение. Но мы работаем по-другому: в каждую новую версию мы добавляем реально интересные и полезные фичи, которы...

3D-печать для «чайников» от «чайника» Недавно я стал владельцем 3D принтера, до этого практически ничего не зная о 3D печати, поэтому и решил поделиться своим опытом с такими же «чайниками», людьми, далекими от этой технологии. Моя статья предназначена именно и только для таких людей; советы же “3D печатников» с...

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

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

Как PVS-Studio защищает от поспешных правок кода, пример N3 Продолжаем серию маленьких заметок про то, как анализатор PVS-Studio может быстро находить новые ошибки в коде. При условии, конечно, что он регулярно используется :). Итак, перед нами очередной баг в проекте Blender. Читать дальше →

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

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

О том, как мы с сочувствием смотрим на вопрос на StackOverflow, но молчим Иногда на сайте stackoverflow.com мы видим очередной вопрос, как искать баги определённого типа. И знаем, что решением проблемы может стать использование PVS-Studio. К сожалению, мы вынуждены молчать, иначе ответ будет интерпретирован как неприкрытая реклама. Это статья про...

Представляем онлайн-самоучитель по Kubernetes и деплою с werf для разработчиков Рады представить новую версию онлайн-самоучителя по werf, нашей CI/CD-утилите с открытым кодом!Общая идея самоучителя — познакомить разработчиков с Kubernetes, показав на простых приложениях (готовы примеры для Ruby on Rails, Node.js и Laravel), как можно развертывать прилож...

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

Фантастические формулы и как они работают В прошлой статье я рассказывал о том, как мы реализовали на основе Google Sheets собственную диаграмму Ганта для работы над игровыми проектами. Если вам зашла такая реализация или просто интересно глубже понять принципы устройства таблиц и формул, сейчас мы будем разбирать и...

Часть 1. Создание и настройка проекта, работа в редакторах microStudio В этой статье я расскажу про создание проекта и его настройку в среде разработки видеоигр microStudio. А также расскажу про работу в редакторе кода и спрайтов. Читать далее

Первые эксперименты со смешанным Litex+Verilog проектом для ПЛИС В предыдущей статье мы начали осваивать построение шинно-ориентированных систем на базе среды Litex (которая всё делает на Питоне) с внедрением собственных модулей на Верилоге. Статья так разрослась, что практические опыты мы оставили на потом. Пришла пора провести их. Сегод...

PCIExpress 1.0 2.5GT/s analyzer на базе ПЛИС своими руками На работе я занимаюсь созданием PCIExpress устройств на ПЛИС. Некоторые из ПЛИС имеют встроенное PCIExpress ядро, позволяющее работать с этим интерфейсом на уровне пользовательского приложения. ПЛИС серии ECP5UM фирмы Lattice использует Soft-IP Core для реализации протокола,...

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

Зачем и как хранить объекты на примере MinIO Наша биг дата проанализировала Telegram-чаты, форумы и разговоры в кулуарах IT-мероприятий и пометила объектные хранилища как инструмент, который ещё не все осмеливаются использовать в своих проектах. Хочу поделиться с вами своим опытом в формате статьи-воркшопа. Если вы ...

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

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

Установка Windows 10 с работающим звуком на старые MacBook и iMac Столкнувшись с проблемой не работающего звука при установке Windows на свой MacBook 11го года обнаружил, что материала по данной теме в русскоязычном сегменте интернета крайне мало, можно сказать что его нет вообще. Эта статья написана в помощь всем столкнувшимся с такой же ...

Перевод аудио-сообщений в текст в telegram при помощи Wit Я абсолютно уверен что скоро в telegram - перевод аудио-сообщений в текст будет функцией по-умолчанию, ну а пока хотел бы показать простенький пример как реализовать такой функционал в telegram-боте (которых уже сотни, но почему бы не посмотреть как это работает на примере)....

Переехать в Kubernetes и платить за инфраструктуру вдвое меньше? История Adapty Недавно мы помогли нашему клиенту Adapty перенести инфраструктуру с managed-сервисов AWS. Теперь она размещена в Kubernetes-кластере на обычных инстансах другого облачного провайдера, но ее можно легко мигрировать в другой ЦОД в случае необходимости. Этот бизнес-кейс во мног...

Обзор и тестирование видеокарты AMD Radeon RX 6600 на примере модели Sapphire Pulse Основанная на архитектуре RDNA 2 видеокарта Radeon RX 6600 благодаря частоте показывает производительность уровня GeForce RTX 3060.

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

Apple резко снизила стоимость Android-смартфонов, а также iPad и MacBook по программе trade-in Компания Apple резко снизила расчетную стоимость Android-смартфонов, которые принимают по программе trade-in в обмен на новые телефоны iPhone. Мало того, Apple также снизила стоимость нескольких старых моделей iPad и MacBook. На официальном веб-сайте Apple Apple указыва...

Whoosh — минималистичный менеджер состояний React Привет, Хабр! Разрешите поделиться своим велосипедом. Речь пойдет о минималистичном менеджере состояний React, интерфейс которого состоит из одной функции — createShared(). GitHub репозиторий проекта Читать дальше →

[Перевод] Минимальные API в .NET 6 Создание REST API является основной частью многих проектов разработки. Выбор для создания таких проектов широк, но если вы разработчик на C#, варианты будут весьма ограничены. API на основе контроллеров были наиболее распространенными в течение долгого времени, но .NET 6 мен...

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

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

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

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

Автоматизация разработки конструкторской документации средствами VBA При выполнении проектов, в которых требуется разработка конструкторской документации соответствующей ГОСТам ЕСКД или СПДС, возникает много задач, связанных с ее корректным изготовлением. Часть этих задач связана с непосредственным оформлением документов – заполнением основны...

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

Официальная программа DualSense Firmware Updater теперь доступна на ПК Как стало известно ранее в этом месяце, Sony действительно работает над официальной программой обновления прошивки для своего популярного контроллера DualSense. Приложение уже доступно для скачивания и весит всего около 4,5 МБ. Приложение обновит прошивку вашего контроллера....

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

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

Таймер в .NET с интервалом 1 мс. Windows Вы пишите код на платформе .NET под Windows и вам нужно выполнять некоторые действия каждую миллисекунду. Возможно ли это? Какие есть варианты и насколько они надёжны? Разберёмся, что можно использовать, и какие есть гарантии по точности срабатывания. Статья сконцентрирована...

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

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

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

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

Пример использования WebAssembly-модуля, скомпилированного из Rust, в React-приложении Привет, друзья! На днях прочитал интересную статью, в которой демонстрируется возможность использования WebAssembly-модулей (далее — Wasm), скомпилированных из Rust, в React-приложении. Так вот, статья интересная, но автор толком ничего не объясняет, видимо, исходя из пред...

Хватит терять клиентов! Или как разработчику тестировать сайт, на примере PVS-Studio. Часть 1 Сайт с багами – горе для бизнеса. Всего одна 404-я или 500-я ошибка может лишить вашу компанию солидной суммы денег и хорошей репутации. Но есть способ избежать этого: тестировать сайт. О том, как это сделать, расскажет данная статья. Прочитав её, вы узнаете, как тестировать...

Beeline Казахстан: как за два года роботизировать почти 300 бизнес-процессов и сформировать свой отдел RPA-разработки Телеком-компании сегодня коренным образом пересматривают стратегии развития: их доходы снижаются и они вынуждены искать новые точки роста и максимально оптимизировать свои бизнес-процессы. Крупнейшая технологическая компания Казахстана — Beeline Казахстан провела масштабную ...

Маленький баг в тестировании на Laravel Статья будет небольшая, даже совсем короткая. Для фанатов TDD, верящих, что фреймворки делают в небесах.Пару часов ковырялась с тестом $response->assertJson()->assertJsonMissing(); при одинаковом содержании обеих скобок: Читать далее

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

Калькулятор инвестиций и скринер ценных бумаг: как мы проводили свой первый хакатон BCS Coding Days Привет! Я Люба Давыдова из компании БКС. Занимаюсь развитием ИТ бренда в компании. Расскажу об одном из наших последних мероприятий.В декабре мы с партнерами из «Сколково» провели свое первое онлайн-соревнование для разработчиков. Мы решили поделиться опытом организации меро...

Обзор нового почтового сервера Carbonio Comunity Edition 11 января 2022 года стала доступной для скачивания предрелизная версия Carbonio Community Edition - почтового сервера и платформы для совместной работы с открытым исходным кодом. Компания Zextras - разработчик Carbonio при создании нового продукта придерживалась концепции су...

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

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

Краткий экскурс в ruGPT-3. Инструкция и демонстрация GPT-3 — нейронная сеть, наделавшая шума в 2020 году, как самая сложная, объёмная и многообещающая модель по работе с текстовыми данными. Создана организацией OpenAI в нескольких вариациях, от 125 миллионов до 175 миллиардов признаков. Хотя в названии организации и есть ...

Приложение YouTube Vanced прекращает свое существование Создатели приложения YouTube Vanced объявили о прекращении его поддержки из-за юридической угрозы со стороны компании Google. Они сообщили, что проект будет закрыт в ближайшие дни, а ссылки для скачивания будут удалены.Для тех, кто не знает, YouTube Vanced — это популя...

Популярная лингвистика. Книги про языки, которые мне нравятся Количество атомов в наблюдаемой Вселенной — где-то 10^80, число Дэвидов на картинке к статье — 2. Количество книг в этой подборке находится между этими ориентирами и будет пополняться (всегда рад рекомендациям). Что же это за книги? Не будучи лингвистом, языки я люблю, поэт...

Обнаружение препятствий на OpenCV Моя первая статья на Хабре, не судите строго, надеюсь содержание будет как минимум интересно, а если окажется кому-то полезным - буду просто счастлив!Не так давно, ко мне в руки попала модель радиоуправляемого катера с мощным бесколлекторным двигателем. Быстро наигравшись с ...

Обзор новинок Republic of Gamers c выставки CES 2022 Привет, Хабр! Совсем недавно закончилась презентация Republic of Gamers, на которой представлены новые устройства, которые выйдут в 2022 году. В этот раз, как и в прошлом году, инженеры и дизайнеры снова смогли превзойти свои предыдущие успехи и разработали невероятные устро...

Новое онлайн-казино мирового класса MrRex объявляет о своем официальном открытии ВАЛЛЕТТА (Мальта), 2 декабря 2021 г. /PRNewswire/ — Сегодня глобальное онлайн-казино MrRex объявило о своем официальном всемирном открытии. Компания MrRex, размещенная на глобальной платформе Aspire, предлагает полный пакет игр для казино, включая цифровые сл...

Что считать счастьем покупателя? По запросу [форма] мы должны угадать, что именно нужно покупателю: выпечка, наращивание ногтей, косплеить медсестру или калибратор кубов бетона. Задача — быстро понять, кто перед нами и что сделает человека счастливым. Я работаю над качеством поиска в Яндекс.Маркете. И кач...

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

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

Проектирование непредсказуемого интеллекта в играх. Часть 1 — архитектура Создаем персонажа, который сам решает, что ему стоит сделать с игроком.В этой статье я познакомлю вас с методикой проектирования искусственного интеллекта под названием GOAP на примере игры Hitman.Подобные методики редко применяются в СНГ, но более популярны в зарубежных сту...

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

[Перевод] Объяснение Kafka на примерах из Factorio Недавно я как обычно играл в Factorio после рабочего дня — и вдруг меня поразила удивительная мысль. Как много здесь аналогий с Apache Kafka! Если у вас мало свободного времени, не скачивайте Factorio Для тех, кто в последние годы путешествовал за пределами цивилизации,...

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

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

А ты используешь VAD? Что это такое и зачем он нужен Очень часто при работе мы обращаем внимание на то, что все люди знают, что такое распознавание речи, но не знают, что такое Voice Activity Detector (VAD) или детектор речи. А ведь именно VAD на самом деле самый важный алгоритм при работе с речью людей в естественной среде...

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

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

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

Бабушки, аудиты и брутфорс — истории о безопасности Wi-Fi-сетей Привет, Хабр! Мы в CTI 20 лет строим и тестируем беспроводные сети. Время от времени сталкиваемся с забавными ситуациями, которые показывают серьёзную уязвимость в клиентском Wi-Fi. Причём о некоторых вещах мы узнали только в процессе работы. Всё это совершенно неочевидные м...

Включение метрик Apache Camel в Spring Boot Actuator Prometheus В данной статье я привёл решение проблемы интеграции Apache Camel метрик с Spring Boot Actuator Prometheus, которое мне не встречалось в интернете. Читать далее

Чтобы решать «нерешаемые» задачи, нужно знать алгоритмы Артем Мурадов — Senior Software Development Engineer в Amazon и автор курса «Алгоритмы: roadmap для работы и собеседований». Уже больше 14 лет он использует алгоритмы для решения рабочих задач и прохождения собеседований. С помощью алгоритмов он повышал производительность пр...

Делаем погодную станцию на ESP8266 В этой статье я расскажу о том, как делал погодную станцию для своей "умной дачи". Первые попытки сделать ее были еще лет 5 назад, и только примерно 3 года назад я наконец-то собрал работающий прототип. Хотя это совсем не сложное устройство, но просто до него всегда руки не ...

РЦТ Минэкономразвития разработали цифровые проекты для регионов 96 слушателей из 50 субъектов РФ прошли обучение по программе «Реализация проектов цифровой трансформации». Программа включала 3 модуля и знакомила слушателей с такими направлениями, как: методы создания продукта и процессный подход, IT-архитектура, принятие решений на основ...

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

Мишка на облаке Мне захотелось тоже отметиться в конкурсе и сделать своего простого и совсем не брутального медведя. Попался в поисковике и вспомнился из глубокого детства медведь из трям-трямдии:

Как расти быстрее подчинённых. Вширь и вглубь Много лет руковожу программистами, при этом продолжая писать код, придумывать архитектуру, управлять проектами и т.д. Короче, я как все, только ещё хожу на совещания.Рядом много других команд программистов, и у них тоже есть свои начальники. И вот странное дело - сильно они ...

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

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

Нельзя просто так взять и вернуться из экспедиции. Геодезия и отвага Это продолжение истории Экваториальной Градусной экспедиции, в XVIII веке отправившейся к, как следует из названия, экватору, чтобы уточнить форму Земли. Неприятности, которых можно было избежать.Хотя Шарль Лакондамин и отдалился от геодезии, наравне с правозащитной работой...

У Unity всё плохо На просторах интернета, и в частности хабра, очень трудно встретить статьи с критикой игрового движка Unity. Я решил это исправить, и приготовил вам текст о переходе на DOTS, насилию над C#, знаменитых UI пакетах, MonoBehaviour, универсальности и о многом другом.Статья не тр...

[Перевод] Развёртывание в Kubernetes из GitLab Развёртывание в Kubernetes из GitLab Это продолжение предыдущего туториала про командную разработку с использованием GitLab. Фокус предыдущей статьи был на организации непрерывной поставки в работе команды. В этой статье мы уделим основное внимание именно практическим дейст...

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

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

Активная конкуренция за RAM в Android Разработав инструмент для визуализации RAM и zRAM в Android, я обнаружила, что в телефонах происходит активная конкуренция за ресурсы. И если процессу понадобятся ресурсы, которые уже заняты кем-то другим, он отберет их, что может привести к критическим ситуациям и конфликта...

[Перевод] Создание нативных CLI приложений на Java с помощью Graalvm и Picocli Язык программирования Go стал популярным для написания приложений командной строки. Для этого может быть много причин, но один аспект, в котором выделяется Go, - это возможность скомпилировать программу в один нативный исполняемый файл. Это значитель...

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

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

Маленькие «малинки» в крупном дата-центре (часть 3 — Kea DHCP) Мы двигаемся к финалу нашей саги об интеграции Raspberry Pi 4 в выделенные серверы. В первом тексте я рассказал об отличиях процесса загрузки «малинок» от «классических» серверов. Во втором — собрал образ, способный после загрузки файлов по TFTP-протоколу запускаться и рабо...

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

Повышаем эффективность работы с Word В данной статье собраны основные операции и алгоритмы работы, позволяющие повысить эффективность разработки документации в редакторе Microsoft Word как индивидуально, так и при командной работе. Не рассматриваются подходы с использованием Markdown, Pandoc, Asciidoc и Conflue...

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

Как проходит интервью мобильных разработчиков в Тинькофф Привет! Я Максим Коробов, руководитель отдела разработки мобильного приложения Тинькофф. В статье расскажу о том, как проходит отбор кандидатов на вакансии разработчиков iOS и Android, что спрашивают на первичном и техническом интервью и какие задачи предлагают решать во вре...

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

Книга «Изучаем C# через разработку игр на Unity. 5-е издание» Привет, Хаброжители! Изучение C# через разработку игр на Unity — популярный способ ускоренного освоения мощного и универсального языка программирования, используемого для решения прикладных задач в широком спектре предметных областей. Эта книга дает вам возможность с нуля и...

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

Доступные 3D‑услуги для бизнеса: в Краснодаре осваивают промышленный SLA‑принтер Специалисты iQB Technologies провели работы по поставке и пусконаладке промышленного фотополимерного 3D‑принтера в Фонде развития бизнеса Краснодарского края. Мы обсудили результаты проекта со специалистом Центра прототипирования Фонда Максимом Дериковым и техническим экспер...

[Перевод] Docker Everything Bagel: как развернуть локальный стек данных Container au Havre pour les 500 ans by 0Lifea. При разработке Open-source-проекта важно помогать пользователям и оставлять рекомендации. Но чтобы это делать, иногда нужно буквально «прочувствовать их боль»: воссоздать их рабочую среду, запустить тот же код и посмотреть на ...

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

Особенности проекта Debezium для решения задачи миграции баз данных С 2014 года в России реализуется программа импортозамещения, которая распространяется в том числе на программное обеспечение и системы управления базами данных, поднимая вопросы оптимальной миграции. В этой статье мы, специалисты департамента разработки «Консист Бизнес Групп...

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

Конкурентный анализ приложений из App Store на основе открытых данных В этой статье я покажу, как можно без программирования парсить, анализировать и визуализировать данные из RSS- и Atom-лент на примере загрузки и парсинга фида Apple iTunes, а также проведения последующего конкурентного анализа приложений. Представим, что мы собираемся публик...

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

Стоит ли подружить QA и разработку с помощью практики хранения тестов в коде? Заводить тест-кейсы руками в тестохранилищах — долго и скучно. Но ведь есть еще много юнит-тестов, которые пишут разработчики. И не всегда понятно, что они покрывают и как пересекаются с E2E-тестами. Head of QA в Авито, Александр Матвеев, на Test Driven Conf расскажет о том,...

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

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

Практическое применение сервера FreeACS для обслуживания устройств Mikrotik по протоколу TR-069 (часть 1) Данная статья является логическим продолжением экспериментов с тестовым сервером FreeACS. Тогда я влюбился в этот инструмент, и обещал немногочисленным комментаторам довести дело до продакшн. Так что, сегодня мы установим сервер, настроим до рабочего состояния и прикрутим ss...

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

Тест-драйв системы жидкостного охлаждения 1stPlayer Mothra MT360 на примере AMD Ryzen 7 5800X Лето стремительно приближается, что не может не радовать. Но это же одновременно означает, что Вам потребуется хорошая система охлаждения, чтобы держать процессор не слишком раскалённым, особенно если вы не только ролики на Youtube смотрите, да Пасьянс раскладываете. Вроде...

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

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

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

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

[Перевод] Как устроен современный веб-синтезатор За годы развития браузеры обзавелись множеством API и функциональных возможностей, благодаря которым превратились в невероятно мощные платформы приложений. Яркий пример — это современный веб-синтезатор, подробностями об устройстве которого делимся к старту курса по Fullstack...

Как сделать свои стикеры в WhatsApp Я понимаю, что это не имеет ничего общего с объективностью, но моя основная претензия к WhatsApp всегда сводилась к тому, что это не Telegram. Слишком уж нравился мне мессенджер Павла Дурова — своей логикой, универсальностью и обширным набором функций. Естественно, я ...

Новогодняя ёлочка на рабочий стол Всех с наступающими праздниками! Надеюсь, каждый отдохнёт и восполнит силы за праздничные дни, а не будет зависать за очередными багами/фичами/обновлениями!Помню, лет так 12 назад, когда я был ещё школьником, у всех моих знакомых стояла windows XP. И в моменты нового года у ...

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

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

Как показаны дата-центры в кино и как они выглядят в жизни? 6 примеров из фильмов и сериалов Привет, Хабр! Чтобы этот понедельник прошел веселее, предлагаем прочитать наш мини-обзор на ЦОДы в кино. Собрали в подборку шесть эпизодов и комментируем, что показано точно, а что — совсем нет. Кстати, если захотите пополнить наш список фильмов и сериалов, оставляйте идеи...

Проект YouTube Vanced закрывается под давлением Google Эту программу мы даже рекомендовали в нашей подборке софта, которым можно заменить официальный YouTube на Android-смартфоне. Читать полную статью

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

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

Космический корабль своими руками (a handmade spaceship) Часть 1 Сначала эскиз и ТЗ:1. Корабль должен быть таких размеров, чтобы взгляд ребенка, точнее детей, не ограничивался маленьким экраном, вобщем он должен быть достаточно большим.2. Он должен быть объемным, так чтобы визуально ты проваливался в пространство своего корабля ...

Samsung попыталась объяснить неразбериху с кадровой частотой экранов у Galaxy S22, но стало не особо понятнее Samsung отреагировала на неразбериху, возникшую вокруг показателя кадровой частоты экранов новых смартфонов Galaxy S22.  Напомним, компания изначально заявляла для Galaxy S22 и S22+ поддержку диапазона 10–120 Гц, а для S22 Ultra диапазон был равен 1–12...

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

В браузере Google Chrome теперь можно читать статьи в боковой панели Команда Google начала тестировать новую удобную функцию в фирменном браузере Chrome. Новшество позволяет расширить функциональность боковой панели.  Боковая панель в браузере Chrome в настоящее время содержит список чтения, закладки и результаты поиска Google Lens...

Приложение Microsoft Teams теперь доступно в Microsoft Store На этой неделе Microsoft объявила о доступности своего нового приложения Microsoft Teams в официальном магазине Microsoft Store, что делает его доступным для установки всем желающим. Хотя, если вы являетесь пользователем Windows 10, вы сможете загрузить и получить доступ к п...

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

Грокаем алгоритмы Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих от Бхаргава А. Эта книга рекомендована Яндекс Практикум при подготовке к алгоритмическому собеседованию. Сам автор указывает, что книга для самоучек, студентов, выпускников и тех, у кого про...

Как Linux заменит Windows в РФ Нынешние реалииС введением санкций возникли серьёзные трудности в развитии промышленности страны. Трудности возникшие в IT затрагивают самый широкий спектр технологий. Возьмём, казалось бы, самую простую сферу деятельности, ввод и обработку данных. В каждой больнице, в регис...

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

Быстрый займ на карту Эта история о парне, который хочет сделать предложение руки и сердца своей возлюбленной Мариям. Героя зовут - Алиаскар. Он работает в средней школе №28 в городе Павлодар, учителем физической культуры. Зарабатывает немного, дополнительно арендует помещение для проведения трен...

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

Microsoft Flight Simulator появился на Xbox Cloud Gaming Microsoft Flight Simulator недавно был добавлен в Xbox Cloud Gaming, а это означает, что теперь можно играть на большем количестве устройств, включая Xbox One, устройства iOS/Android и маломощные компьютеры. Xbox Cloud Gaming (ранее Project xCloud) — это служба потоковой пер...

Изменение расширенных настроек печати через API nanoCAD Расширенные настройки печати в nanoCAD являются дополнением к базовым настройкам.Через пользовательский интерфейс nanoCAD невозможно увидеть, какая настройка является базовой, а какая – расширенной, однако при работе с API nanoCAD разница видна четко. В качестве примера можн...

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

[Перевод] Как рутинное обновление гемов привело к созданию подписок на $73К Как и почему рутинное обновление Руби гемов менее чем за 1 час создало 475 новых подписок на общую сумму $73.271 долларов. Читать далее

Почему не стоит бояться покупать iPhone без Face ID У Apple всегда были своеобразные отношения с ремонтом iPhone: то компания запрещает ремонтировать смартфоны по веским причинам, то внезапно разрешает ремонт Face ID. Кстати, теперь его можно отремонтировать на любом iPhone. Как ни крути, но сканер распознавания лица —...

Почему новые iPad — отстой В последнее время я, активный пользователь iPad, обнаружил, что Apple будто совсем не хочет, чтобы я покупал новые модели. Компания делает всё, чтобы у меня просто не оставалось причин брать iPad в руки. Ещё недавно я всем говорил, что “хочешь планшет? это только iPad”, а се...

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

Node.js: документирование и визуализация API с помощью Swagger Привет, друзья! В этой небольшой заметке я расскажу вам о том, как генерировать и визуализировать документацию к API с помощью Swagger. Мы разработаем простой Express-сервер, способный обрабатывать стандартные CRUD-запросы, с фиктивной базой данных, реализованной с помощь...

Техническая разведка Привет, Хабр. Я знаю, что вы любите статьи «Чему я научился…». Обычно в них рассматривается либо личный опыт работы, либо различные книги с полезными советами. Сегодня я предлагаю вам посмотреть какой полезный опыт можно извлечь из методичек ЦРУ на примере материала Robert M...

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

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

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

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

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

Создаем свой React с рендером и useState за 30 минут Понимание процессов приходит с изучением механизмов, которые приводят в движение мелкие части большого пазла. Если представить, что Вам дали задачу объяснить, что такое React за полчаса, скорее всего, Вы бы выбрали один из двух вариантов: - пересказать все то, что изложено ...

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

JavaScript: ускоряем загрузку изображений с помощью Imgproxy, Cache API и Service Worker API Привет, друзья! В этой статье я хочу поделиться с вами результатами небольшого эксперимента, связанного с ускорением загрузки изображений с помощью Imgproxy, Cache API (далее — кеш) и Service Worker API (далее — СВ). Мы с вами разработаем простое приложение на React, в ко...

OpenVPN от Ubiquiti до Mikrotik Рано или поздно в любой системе начинают появляться какие-то новые компоненты, с которыми раньше не приходилось сталкиваться. Так и в моем случае в парке удаленных маршрутизаторов Mikrotik под моим управлением появилось некоторое количество устройств Ubiquity, которые тоже т...

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

8 правил, которые пригодятся при описании Git-коммитов Иногда системы контроля версий напоминают групповые чаты: вроде бы все тут собрались по какому-то поводу и пишут о чём-то одном, но что именно пишут ― разобраться порой просто невозможно. Как и в чате, где на одно грамотное и полное сообщение наберётся сотня «гыгы, лол» и «)...

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

[Перевод] Почему важно учитывать дальтонизм в дизайне: пример игры Among Us Дальтонизм (недостаток цветового зрения) означает снижение способности видеть цвет или различия в цвете. Согласно данным сайта colourblindawarness.org, недостаток цветового зрения есть у 8% мужчин и 0,5% женщин. Всего в мире более 300 миллионов человек страдают той или ...

Китай рассказал о планах создания многоразовой ракеты к 2025 году Пример Илона Маска и SpaceX доказал как реализуемость подобной идеи, так и финансовые выгоды

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

От S.T.A.L.K.E.R. и «Казаков» до Cyberpunk-2077, или Что можно выжать из компьютерного корпуса объемом 3,3 литра Я увлекаюсь сборкой ПК в корпусах маленького формата SFF (small form factor) с 2018 года. Хобби отлично помогает отвлечься от рабочей рутины, потому что при скромных объемах нужно учитывать массу параметров — не только, скажем, мощность процессора и размеры материнской платы...

[Перевод] Дженерики в Go — подробности из блога разработчиков В Go 1.18 добавлена поддержка дженериков. Это самое большое нововведение с момента первого Open Source выпуска Go. Не будем пытаться охватить все детали, затронем все важные моменты. Подробное описание со множеством примеров смотрите в документе с предложением. Материал...

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

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

[Перевод] Клон ZX-80 на базе ATmega8 ATX-80 на GitHub: github.com/Panda381/ATX80 Проект по сборке компактного клона ZX-80, в котором мы не только разберем сам процесс сборки, включая подготовку платы и схематику подключения на ней компонентов, но также познакомимся с используемым в ATX-80 интерпретатором Bas...

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

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

«Право на забвение» или как просто удалять персональные данные по запросу пользователя Удалять персональные данные пользователя по его запросу, чтобы продукт соответствовал законам CCPA или GDPR, можно по-разному. Хоть вручную каждую заявку на почте разбирать. Главное — сделать процесс максимально простым и понятным для пользователя. А это уже хороший повод за...

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

Действительно почти магия. Появились реальные примеры работы функции Magic Eraser в камере смартфонов Pixel 6 Одна из функций камеры, дебютировавших в смартфонах Pixel 6 и Pixel 6 Pro, называется Magic Eraser и представляет собой инструмент для удаления с фотографий всего лишнего, будь то люди или объекты. И сейчас мы можем посмотреть, как это...

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

Домашняя масляная майнинг-ферма Это история одного моего хобби-проекта - создания встроенной в интерьер майнинг-фермы с видеокартами в масле, которая своим теплом отапливает лоджию. Читать далее

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

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

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