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

Настройка cервера с помощью docker для простых проектов. Часть вторая: docker-compose Настройка cервера с помощью docker для простых проектов. Инструкция для самых маленьких. Часть вторая: docker-compose.Мы продолжаем цикл обучающих статей для самых маленьких наших читателей. В данном обучении мы бы хотели разобрать docker-compose. Данная статья рассчитана на...

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

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

Django-sockpuppet, интересная альтернатива React, Vue, Angular или очередная заброшенная джанговская «батарейка»? Всем доброго времени суток! В данной статье я хотел бы очень кратенько, без подробностей рассказать про интересный проект, который будучи достаточно простым, сильно увеличивает возможности Django фреймворка. Мне он показался достаточно интересным. Сейчас хайп вокруг с...

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

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

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

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

Использование Jetpack Compose в продакшне: первые впечатления Мы в МТС Банке давно ждали релиза Jetpack Compose, чтобы использовать его в продакшне. В прошлом месяце такая возможность наконец появилась — мы решили обновить дизайн одного из экранов нашего приложения «МТС Банк для бизнеса» для Android. В статье я хотел бы поделиться н...

Молодым везде у нас дорога, везде ли старикам почет? Привет Хабр!В этой статье я хочу поделится своими соображениями по поводу перспектив роста и развития «пожилых» (в возрасте более 40 лет) разработчиков. Статья будет полна субъективизма и антитолерантности, так что всем желающих похоливарить – добро пожаловать в комментарии....

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

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

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

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

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

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

Установка Nextcloud на Synology. Настройка OnlyOffice и External storage В данном посте я хотел бы рассмотреть способ установки персонального облака на домашний сервер Synology при помощи Docker, поделиться своими ошибками и опытом использования в повседневной жизни. Я буду признателен, если более опытные пользователи habr также поделятся своим о...

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

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

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

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

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

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

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

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

Расчет ППМ для АФАР В данной статье хочу поделиться своим опытом расчетов ППМ для АФАР. Читать далее

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

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

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

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

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

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

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

[Перевод] Путь к пониманию декораторов в Python Прим. Wunder Fund: В этой статье разбираемся, что такое декораторы в Python, зачем они нужны, и в чем их прикол. Статья будет полезна начинающим разработчикам.Материал рассчитан на начинающих программистов, которые хотят разобраться с тем, что такое декораторы, и с тем, как ...

«Горячие» и «холодные» Feature toggles: принципы работы В этой статье мы расскажем про принципы безопасной работы с переключателями функционала – Feature Toogles:  — Что из себя представляют переключатели функционала и для чего их использовать. — Какие проблемы возникают при неправильном использовании. — Что такое «горячие» ...

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

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

Тестирование офисных пакетов Р7-Офис, МойОфис, LibreOffice и MS Office Всем доброго времени суток. В рамках импортозамещения или точнее ухода от MS Office, на работе, возникла необходимость в рассмотрении российиских аналогов офисных пакетов и пакета LibreOffice, т.к. он автоматически установлен в дистрибутивах astra linux. Здесь хочу поделитьс...

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

Flutter: автоматизация UI тестирования Мы — команда мобильного проекта FL.ru. В своей статье хотим познакомить вас с Flutter Driver и рассказать об автоматизации UI тестирования мобильных приложений с помощью данного инструмента. Читать далее

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

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

Психовизуальная корректировка (Psycho Visual Tuning) в NVENC Привет всем!В этой статье пойдет речь о таком параметре в OBS как Психовизуальная корректировка (Psycho Visual Tuning) используемый в кодировщике Nvenc.Статья была создана для пользователей, которые хотят более подробно разобраться в кодировщике Nvenс для получения наилучшег...

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

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

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

WinAPI из C# Язык программирования C# был создан как язык, который можно использовать для простого программирования в ОС Windows. Позже этот язык получил возможность создавать приложения и на других операционных системах, но в этой статье мы будем говорить только об ОС Windows.Для работы...

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

Как устроены цикл событий и стек вызовов в JavaScript Цикл событий (event loop) — ключ к асинхронному программированию на JavaScript. Сам по себе язык однопоточный, но использование этого механизма позволяет создать дополнительные потоки, чтобы код работал быстрее. В этой статье разбираемся, как устроен стек вызовов и как они с...

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

Разработка и графических приложений в WSL2 Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расск...

[Перевод] Авторизация в PostgreSQL. Часть 2. Безопасность на уровне строк Приветствую вас в очередном разборе инструментов авторизации PostgreSQL. В первых двух разделах предыдущей статьи мы обсуждали, чем интересна авторизация в PostgreSQL. Вот содержание этой серии материалов: Роли и привилегии; Безопасность на уровне строк (мы сейчас здесь);...

Настройка LEMP сервера для простых проектов. Инструкция для самых маленьких. Часть третья Приветствую читателей! В рамках текущей серии статей я рассказываю о том, как настроить сервер для простых проектов. Имеется ввиду сервер для работы нескольих сайтов, с небольшой нагрузкой под наиболее популярной CMS такой например как Bitrix. Основная цель статьи указать н...

Как подружить Wi-Fi Mikrotik и TP-Link с помощью RADIUS Хочу поделиться опытом использования нового User Manager в Mikrotik ROS 7 для Wi-Fi. Многое в статье типично, но есть моменты, найденные опытным путем.Задача - покрыть Wi-Fi трехэтажное здание, подключить около 100 пользователей поэтапно с небольшими вложениями.Все начиналос...

Онбординг для новичков: кейс ПСБ на хакатоне «Цифровой прорыв» В декабре мы участвовали в хакатоне «Цифровой прорыв» со своим кейсом. Мы просили участников разработать программное решение для онбординга 
новых IT-специалистов банка. Задача состояла в том, чтобы объединить информацию из нескольких систем. И команды справились. Например, ...

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

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

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

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

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

[Перевод] Мониторинг приложения Spring Boot с помощью Micrometer, Prometheus и Grafana, используя пользовательские метрики Важно отслеживать показатели и работоспособность приложения: это помогает нам повышать производительность, лучше им управлять и замечать неоптимизированное поведение. Мониторинг каждого сервисного модуля важен для поддержания системы, состоящей из множества микросервисов.В э...

7 правил от опытного тимлида, которые помогут добиться успеха не только в IT Привет. Меня зовут Андрей Костылев. Я работаю в IT более 15 лет.  За это время вырос из рядового программиста в тимлида и CEO проектов. Сейчас наш основной стартап — система автоматизации X24:ERP, которая помогает довести производственные процессы до совершенства.Сегодн...

Разворачиваем PostgreSQL, Redis и RabbitMQ в Kubernetes-кластере В этой статье я не буду объяснять, зачем вот это всё нужно, или обсуждать достоинства и недостатки этого решения. Воспринимайте эту статью как инструкцию (заметку) для быстрого развертывания базы и очереди в dev-кластере Kubernetes. Читать далее

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

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

Латунирование, это просто Эта статья - простая и подробная инструкция, как можно в домашних условиях покрыть латунью металлические детали, применяя только подручную химию. cut/ В ней, подробно описанны все ньюансы и "подводные камни". После прочтения этой статьи, у вас просто не может не получиться...

Создание Native Images со Spring Native и GraalVM В этой статье я хочу исследовать возможности технологии Java Native Image, поделиться опытом взаимодействия с ней и со средствами Spring для генерации нативных образов. Читать далее

Узнать за 60 минут В этой статье я хочу поделиться рецептом качественного собеседования продолжительностью 1 час. При этом критерий качества исключительно практический: потратив не более часа я готов рекомендовать или не рекомендовать соискателя к найму.Я поделюсь своим опытом набора людей «по...

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

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

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

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

[Перевод] 5 возможностей JavaScript ES12, которыми стоит воспользоваться уже сегодня Стандарт ECMAScript 2021 (12 редакция) выпущен 22 июня 2021 года. Вместе с ним появились новые возможности и новые синтаксические конструкции. Все эти улучшения направлены на то, чтобы сделать JavaScript надёжнее и стабильнее, чтобы разработчикам легче было делать своё дело....

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

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

Улучшение Visual Studio Code для новичков VSCode — Самый популярный редактор кода среди веб-разработчиков. Вы можете использовать его с нуля, однако для опытных программистов его базовых функций недостаточно. Здесь я описал, то как сам докрутил этот редактор под свои потребности. Я фронтенд-разработчик, но также ис...

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

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

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

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

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

Синтезируем SystemVerilog код в OpenSource среде Yosys/NextPNR В предыдущей статье я поделился опытом работы с ПЛИС фирмы Lattice через инструменты с открытым исходным кодом Yosys и NextPNR. Как я отмечал, освоить их меня заставило не столько любопытство, сколько требования Заказчика. В том проекте у меня просто не было выбора. И та ста...

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

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

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

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

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

Парсинг FIT файлов c данными тренировок Мне стало интересно проанализировать данные о своих тренировках за последние несколько лет, и я понял, что обычного функционала приложений типа Garmin Connect или бесплатной версии Strava будет недостаточно. В этой статье я расскажу как получить свои персональные данные о тр...

7 принципов Agile из Agile Extension от IIBA Принципы — это те рельсы, которые направляют людей по жизненному пути. Международный Институт Бизнес-Анализа (IIBA) определил 7 главных принципов, которые указывают бизнес-аналитикам как работать приносить больше пользы команде и клиенту, делая меньше работы с большим к...

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

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

Синаптические веса в нейронных сетях – просто и доступно Этой статьей начинается серия статей, рассказывающих просто и доступно о нейронных сетях и искусственном интеллекте.В статье рассказывается о сути синаптических весов на простом наглядном примере. Читать далее

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

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

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

Сказ о том, как я погряз в Матрице Всем привет! С вами Станислав, и это моя вторая по счёту статья на Хабре. Как вы возможно помните из моей первой статьи, я увлекаюсь программированием, и операционной системой ReactOS. Но мои увлечения вовсе не ограничиваются этим. Сегодня я расскажу вам, как я буквально по...

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

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

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

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

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

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

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

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

[recovery mode] Пошаговая инструкция как создать NFT коллекцию на Golang + Ethereum (часть 3) Привет Хабр. В прошлых статьях мы научились генерировать 10 000 изображений для нашей NFT коллекции с помощью Golang, а также загрузили все сгенерированные изображения в децентрализованное хранилище IPFS.В этой статье мне хотелось бы поделиться знаниями и опытом, а такж...

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

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

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

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

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

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

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

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

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

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

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

Карма на Хабре. Практика Комментарии под популярной статьей на Хабре. Photo: Warner Bros.Без интриг и лонгрида - да, на Хабре можно не писать статьи и только на комментариях дотянуть до уровня, где вы сможете давать оценку статьям, озеленять комментарии и поднимать карму другим пользователям.Дл...

Разбор HackTheBox. Прохождение лаборатории OSINT (уровень: easy) Добрый день Хабр! В этой статье хочу рассказать вам про свой опыт прохождения лаборатории OSINT на сайте hackthebox. В данном обзоре я решил взять разобрать одно интересное задание по OSINT.Задание простое, оно не заставит вас страдать при поиске решения. Требуется только им...

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

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

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

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

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

Интеграция с amoCRM — паранойя безопасности «Заставь дурака Богу молиться — он лоб разобьёт»Здравствуйте! Хочу поделиться накипевшим - головной болью интеграции с API сторонних приложений. В этой статье - c авторизацией для API достаточно популярной amoCRM, без кода и лишних деталей. Читать далее

[Перевод] Как миграция с Oracle на PostgreSQL в облако влияет на сторадж? Вы когда-нибудь задумывались о том, чтобы перенести крупномасштабное программное решение с Oracle на PostgreSQL, а затем развернуть его в общедоступном облаке? Если Вы планируете реализовать подобное, возможно, Вам поможет наш опыт. Данная статья подробно рассказывает о наше...

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

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

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

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

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

Как проходит интервью системных аналитиков DWH в Тинькофф Привет! Я Мария Фоменко, заместитель руководителя управления хранилищ данных и отчетности в Тинькофф. Расскажу о направлении DWH и о том, как попасть к нам в команду, что спрашивают на скрининге HR и на секциях системного анализа DWH.Статья будет полезна тем, кто планирует р...

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

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

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

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

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

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

GraphQL-gRPC API Gateway на Java В данной статье я хочу рассказать про процесс создания концепта API Gateway для обеспечения взаимодействия фронтенда, использующего GraphQL, и бэкенда, использующего gRPC, на Java с использованием фреймворка Quarkus. Читать далее

MikroTik: IPsec IKEv2 VPN между роутерами MikroTik (site-2-site) Данная статья является результатом нескольких лет изучения, тестирования и внедрения VPN на оборудовании MikroTik на основе чистого IPsec IKEv2 между несколькими сетями с динамической маршрутизацией. Используя данный метод можно выстроить связную структуру сети с достаточным...

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

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

[Перевод] Базовые принципы Availability О чем статьяВ этой статье речь пойдет о БАЗОВЫХ подходах и принципах к такому quality attribute (QA) как Availability. Никаких сложных случаев, ничего слишком сложного, только теория с двумя примерами, скипайте, если искали что-то эдакое.Вся информация основана на парах книг...

KC868-Uair: пролетая над гнездом кукушки. Часть 2. Подключаем nRF24 и LoRa С устройством и схемотехникой Kincony KC868-Uair мы разобрались в предыдущей статье, в этой статье мы продолжим знакомство с этим контроллером, разберём его распиновку и попробуем подключить к нему популярные беспроводные модули nRF24L01. KC868-Uair и сам по себе достаточн...

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

3 главных Data-профессии: обзор компетенций и зарплат Data Science выходит в массы. Настолько, что пора напомнить основы, почти что на пальцах. Скоро вполне может появиться множество вакансий c Data Science в заголовке, явно заниженной зарплатой и требованиями к начинающему аналитику, поэтому давайте внесём ясность.Если вы слыш...

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

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

Как я игрульку создал: ч. 1 Предыстория и идея, ч. 2 Игрок и сборщик уровней Здравствуй, Хабр!Я хочу поделиться опытом в создании одной гиперказуалки. Сам я, правда, ещё совсем зелен и юн на этой тернистой тропе игроделания, но может кому-то станет интересно и он прочтёт цикл этих статей. Самого кода здесь не будет, а если и будет, то в очень мизерны...

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

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

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

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

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

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

Как нативно визуализировать голос в iOS Реализовать запись и проигрывание аудиофайлов в iOS несложно. Но если к этому добавляется задача визуализировать звук в момент записи с микрофона, это может вызвать сложности даже у опытного программиста, который мало работал с AVFoundation — мультимедийным фреймворком ...

JavaScript: работа с датой и временем с помощью Temporal Привет, друзья! В этой статье я хочу рассказать вам о Temporal, новом API для работы с датой и временем в JS. Описание предложения Черновик спецификации Рецепты по использованию Temporal Источником вдохновения для меня послужила эта замечательная статья. Обратите внимани...

[Перевод] Уроки абстракции: чему FP может научить ООП Одним из наиболее распространенных «лучших практик» в программировании является принцип DRY: не повторяйся. Для реализации этого принципа можно использовать множество методов: инкапсуляция, параметризация, инверсия управления и многое другое. Одним из этих методов является а...

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

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

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

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

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

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

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

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

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

Kaggle titanic dataset. Анализ данных с помощью SQL запросов Не смотря на то, что Python был бы предпочтительным инструментом для исследовательского анализа, я хотел посмотреть, смогу ли я провести весь исследовательский анализ с помощью SQL-запросов. Моя цель - показать, насколько сильно может помочь SQL для рабочего процесса.Хотя SQ...

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

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

GraphQL в мобильной разработке Всем привет! С вами Анна Жаркова, ведущий разработчик компании Usetech. Сегодня стартует моя серия статей, посвященная работе с технологией GraphQL при разработке мобильных приложений. Если вы интересуетесь применением необычных технологий в мобильной разработке, давно подум...

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

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

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

Извлечение NTLM hash пользователя из процесса lsass.exe с помощью уязвимого драйвера Приветствую вас, дорогие читатели! Сегодня я хочу рассказать о том, как с помощью уязвимого драйвера получить NTLM hash пользователя. NTLM hash находится в памяти процесса lsass.exe операционной системы Windows. Процесс lsass.exe отвечает за авторизацию локального пользовате...

Как я перестал беспокоиться и полюбил тестирование React-компонентов Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный ...

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

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

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

[Перевод] Лучшие книги по Apache Kafka «Effective Kafka: A Hands-on Guide to Building Robust and Scalable Event-Driven Applications», «Kafka: The Definitive Guide» и другие издания.В этой статье я расскажу, как изучал Apache Kafka и с какими трудностями столкнулся. Я очень надеюсь, что мои наблюдения помогут тем,...

Service Mesh на стероидах: как построить управляемое взаимодействие между сотнями микросервисов Сталкивались ли вы с задачей построить Enterprise-grade-приложение из десятков приложений, слабо связанных друг с другом, разрабатываемых разными командами, с разными моделями релиза? Мы хотим поделиться опытом, как решили эту задачу в Netcracker. Как в этом помогла концепци...

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

Создать динамический компонент теперь проще: изменения в Angular 13 Бывают ситуации, когда компонент необходимо добавить на страницу динамически. Например, тултип или баннер. В такие моменты на помощь приходит Angular, который умеет создавать компоненты в рантайме и рендерить их. Для этого разработчик может воспользоваться методом createComp...

Next.js: подробное руководство. Итерация первая Привет, друзья! Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится). Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных при...

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

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

Новые возможности в WinAPI на Windows 11 С выходом новой операционной системы, у Microsoft изменились приоритеты в дизайне - теперь у интерфейса появились анимации, да и в целом он стал менее острым. В данной статье я поделюсь некоторыми нововведениями, с которыми столкнулся в процессе работы с WinAPI. Читать далее

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

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

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

Создание демки специально для HABR — Часть 1 Многие из нас любят интеллектуальные игры, всякие головоломки, квесты, стратегии и многое другое. Но что, если игрой является само железо, а сценарий создаёте вы сами? В результате этого рождается невероятно интересная головоломка, которая невероятно меня увлекла на несколь...

Next.js: подробное руководство. Итерация вторая Привет, друзья! Хочу поделиться с вами заметками о Next.js (надеюсь, кому-нибудь пригодится). Next.js — это основанный на React фреймворк, предназначенный для разработки веб-приложений, обладающих функционалом, выходящим за рамки SPA, т.е. так называемых одностраничных при...

[Перевод] Apple IIGS (1986) В этой статье мы поведаем о возможно одном из лучших и самых недооценённых продуктов Apple – Apple IIGS. Его разработчики хотели создать модель с улучшенными графикой и звуком (отсюда буквы «G» – «графика» и «S» – «звук» в названии), и это в свою очередь вывело устаревшую к ...

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

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

Как BI «купается» в озёрах данных: практика платформы «Форсайт». Часть 2. Виртуализация данных Всем привет. Мы продолжаем цикл публикаций о том, как наша BI-платформа «Форсайт» работает с данными. В этой статье мы бы хотели поговорить о том, как выйти за рамки привычного online analytical processing (OLAP) и с помощью enterprise BI погрузиться в проблематику «Fixed fo...

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

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

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

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

Ремонт  Sony WH-H910N h.ear on 3 В статье Вы узнаете как починить "не подлежащие ремонту" наушники за сущие копейки. Статья написана по большей части для таких же заложников ситуации как я. Читать далее

Match/case vs If/else. Сравниванием скорость работы операторов в Python 3.10 Прошло уже достаточно времени с момента релиза Python версии 3.10. Самым главным и самым ожидаемым было введение оператора match/case (он же pattern matching). Однако далеко не всем разработчикам из комьюнити зашел данный оператор. Свидетельствуют этому даже комментарии...

Huawei Hyper Smart: когда просто хранения недостаточно Два года назад я познакомился с новой линейкой массивов Huawei Dorado V6 и начал рассказывать вам о них. Сегодня мы продолжим знакомиться с этими системами и их value-added-функционалом (как называет это вендор), который позволяет расширить возможности системы и добавляет по...

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.Автор надеется, что прочтение статьи поможет вам разобра...

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

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

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

Jetpack Compose оптимизация производительности списка Я в своем время наткнулся на довольно интересное поведение composable функций в списках, тогда мне помогла статья с медиума и чтение книги по compose internals, ссылки на них я приложу в конце статьи. Решил поделиться, возможно кому-то это поможет) Отображение списков рас...

Как поделиться паролем от Wi-Fi с Айфона на Андроид Компания Apple старается добавлять новые фишки в свои устройства чуть ли не с каждым обновлением. Но, к большому сожалению, большинство из них работает исключительно внутри яблочной экосистемы. Иной раз задумываешься, как было бы хорошо иметь одну единственную операционку н...

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

[Перевод] Преодоление сложности в CQRS Эта статья является переводом материала «Tackling Complexity in CQRS».Шаблон CQRS может творить чудеса: он может максимизировать масштабируемость, производительность, безопасность и даже «превзойти» теорему CAP. Тем не менее, например, в своей статье о CQRS Мартин Фаулер утв...

Разработка приложения на Flutter с нуля до релиза: Part 2 Привет! Это вторая статья из цикла о разработке приложения на Flutter. В этом "номере" я опишу создание сетевого слоя, работу с локализацией, удобный способ работы с ассетами, локальный поиск и создание UI для одного из двух экранов приложения. Также я выведу интересные метр...

JavaScript: чтение и запись файлов с помощью File System Access API Привет, друзья! В этой небольшой статье я хочу рассказать вам о File System Access API (далее — FSA), позволяющем читать и записывать файлы в локальную систему пользователя с помощью браузера. Основные источники: Черновик спецификации Раздел на MDN Если вам это интересн...

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

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

Интеграция amoCRM с сайтом API AmoCRM одна из самых популярных CRM, при этом ее API один из самых странных, по моему субъективному мнению. Понадобилось передавать формы с сайта в crm. Использовать CRM Формы вместо своих дизайнерских не хочется. Было бы здорово открыть статейку в гугле, подставить ключ и н...

Ускоряем hugo на 20% простым изменением в пакете reflect Найти значительное узкое место в производительности стандартной библиотеки или зрелого приложения — это редкость. Я был удивлён, когда в top10 списке CPU-профиля hugo при сборке digitalgov.gov на первой позиции находился метод reflect.Type.MethodByName(). flat flat% ...

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

JavaScript: разрабатываем чат с помощью Socket.io, Express и React с акцентом на работе с медиа Привет, друзья! В данной статье я хочу показать вам, как разработать простое приложение для обмена сообщениями в режиме реального времени с использованием Socket.io, Express и React с акцентом на работе с медиа. Функционал нашего приложения будет следующим: при первом за...

Лучшие книги по Golang: что стоит почитать как начинающему, так и опытному разработчику Мы в Quadcode любим Golang и можем рассказать о языке и его преимуществах много интересного. Все это неспроста - не так давно мы переписали некоторые наши продукты или отдельные их модули именно на Go, чему радуемся до сих пор. Подробности самых интересных кейсов вскоре план...

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

[Перевод] React SEO: Советы по созданию SEO-friendly приложения Привет, Хабр! Представляю вашему вниманию перевод статьи “React SEO: Tips to Build SEO-friendly Web Applications” автора Paridhi Wadhwani.О чем пойдет речьВы узнаете проблемы, с которыми сталкивается React приложения в части SEO (Search Engine Optimization или оптимизация д...

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

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

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

Apple выпустила Android-приложение для защиты от слежки Факт того, что Apple не очень-то заботится о пользователях Android-смартфонов, совсем не удивляет. Ну, с одной стороны, вполне очевидно. Хочешь пользоваться яблочными сервисами — покупаешь iPhone. С другой, если не обеспечить доступ к некоторым фишкам для владельцев д...

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

Подборка полезных ресурсов от экспертов Positive Technologies: от лаб и подкастов до блогеров и сообществ. Часть 2 Продолжаем делиться интересными курсами и лабами, книгами и подкастами, блогами и сообществами, а также Telegram- и YouTube-каналами, которые наши крутые эксперты читают сами и советуют тем, кто хочет быть в курсе всего, что происходит в мире практической кибербезопасности.В...

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

Как составить личный финансовый план на 2022 год. Часть 1 Речь в статье пойдет не только о финансовом планировании, а скорее здесь будут описаны мои злоключения, в результате которых и родился мой будущий финансовый план на следующий год. А, ну еще и о том, как я смог заработать лишнюю 13 зарплату по факту ничего не делая.Если вы ч...

[Перевод] Практические рекомендации по работе с Docker для Python-разработчиков Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать с...

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

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

Agile скрам-разработка Эта статья не рассчитана на бывалых скрам-мастеров, опытных проект-менеджеров… А скорее для начинающих, тех, кто хотят открыть для себя эту нишу в ИТ.Agile методы - это альтернатива поэтапному управлению проектами. Поэтапная методика управления проектами завязана на менеджер...

Личный опыт: стоит ли переезжать в Иннополис? В этом году мы — дизайн-центр электроники Promwad — открыли новый офис в Иннополисе, чтобы разрабатывать софт и железо для электромобилей, FPGA, AI-решений и других проектов. Так что сегодня вместо очередной инженерной статьи из серии «как это сделано» мы решили поделиться л...

25+1 лучших OSINT расширений для Google Chrome Здравствуй Хабр! А мы тут продолжаем цикл статей об OSINT и, самое главное, о полезных для этого нелегкого дела инструментах.Сегодня мы разберем расширения для Google Chrome которые помогут нам собирать и анализировать данные из открытых источников, ну и в целом улучшат наш ...

Асинхронное программирование в однопоточных средах JavaScript Асинхронное программирование в однопоточных средах JavaScript Моя прошлая обучающая статья Введение в Redux & React-redux набрала больше 100к просмотров. Что же это не может не радовать меня. И поэтому я решил порадовать и вас написав очередную статью по JavaScript. Хотя...

Поднимаем прозрачный прокси Squid на FreeBSD 13.0 Хочу поделиться информацией по поднятию прозрачного HTTP и HTTPS прокси сервера Squid с фильтрацией сайтов и без подмены сертификатов на FreeBSD 13.0 RELEASE. На Хабре уже есть похожая статья по настройке прозрачного прокси сервера Squid с фильтрацией ресурсов и без подмены ...

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

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

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

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

GraphQL: как сделать бэкенд приложения экономнее и быстрее Самый распространённый стандарт для обмена информацией внутри приложений — это REST API. Его все любят, но знают, что он не идеален. В этой статье обсудим его альтернативу — GraphQL. Мы расскажем, в чём преимущество GraphQL, как выглядят запросы и с чего начать. Читать далее

[Перевод] Магазины приложений до эпохи AppStore Как-то так сложилось, что Apple и её продукцию или хвалят, или ругают. В этой статье мы не будем поддерживать ни одну из сторон, а просто расскажем о том, как выглядели магазины приложений до появления «яблочной» экосистемы, а также Google Play и прочих. Читать далее

Балансируем нагрузку в Jenkins В Arenadata мы используем Jenkins для CI. Почему? Как бы банально это ни звучало — так исторически сложилось. Мы хранили код в GitHub, когда там ещё не было Actions, и продолжаем хранить, потому что много работаем с Open Source. За три года работы с Jenkins мы неплохо разобр...

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

Сохранение данных для ESP32/Arduino в удаленной базе MySQL и не только Любой любительский проект имеет дело с теми или иными данными, которые могут модифицироваться, генерироваться и, соответственно, требуют некоего хранения. В этой статье мы попробуем обзорно рассмотреть основные способы, с помощью которых можно организовать хранение данных ...

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

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

Custom view на Compose В июле Google выпустил стабильную версию Compose. Это вызвало большой интерес в сообществе. Все вокруг стали поговаривать, что эта технология захватит Android-разработку, и скоро все будут писать на Compose.Я принялся за изучение, заглянул на developer.android.com и нашел ра...

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

Node.js: разрабатываем сборщик модулей Привет, друзья! Вам когда-нибудь хотелось узнать, как работают сборщики модулей (module bundlers) JavaScript типа Webpack или Parcel, что называется, под капотом. Если хотелось, тогда эта статья для вас. В данном туториале мы разработаем простой сборщик модулей на Node.js,...

03. С прозрачными воротами и яркою звездой Предыдущие статьи о реверсе данных автомобильных навигаторов Siemens/VDO Dayton CARMiN:Реверс черного тессеракта01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо02. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжуюПолучив в прошлой ст...

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

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

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

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

FullHD vs 4k и integer scaling: всегда ли 2 x 2 = 4? «Лучше быть богатым и здоровым, чем бедным и больным» © Аксиома В статье Простой способ получения ”Flicker-Off”: «отключение» ШИМ мерцания подсветки LCD мониторов и телевизоров я обозначил несколько смежных тем, заслуживающих на мой взгляд отдельного разговора, которы...

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

Bitsy. Make games, without operations Если вы давно хотели научиться делать игры, но не знали с чего начать, то рекомендуем попробовать Bitsy.Это редактор полного цикла для создания простых игр и маленьких миров на основе html. Это значит, что ваша игра максимально доступна и не требовательна, ее легко можно опу...

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

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

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

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

Настройка маршрутизации в сети с неподконтрольным роутером В данной статье описано как можно настроить прозрачное для клиентов использование ресурсов из луковой сети (The Onion Router aka TOR) и VPN соединение с другими сетями если провайдер предоставил вам роутер с минимальными возможностями настройки, сохраняя при этом возможность...

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

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

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

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

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

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

Как добавить обязательный запрос на IDFA через App Tracking Transparency С весны этого года каждый iOS-разработчик должен запрашивать разрешение пользователя на использование рекламного идентификатора IDFA. В предыдущей статье мы сделали подробный обзор изменений в App Store и их влияния на мир iOS-разработки.А сегодня — практический материал. Ра...

Интеграция CrowdSec в Kubernetes Архитектура микросервисов — самая серьёзная угроза безопасности в кластере Kubernetes (K8s), так как каждое развёртываемое приложение открывает для злоумышленников новый потенциальный вектор атаки. При этом, развёрнутые приложения генерируют логи, а наша платформа CrowdSec м...

Просто о сложном — move в языке C++ Здравствуйте уважаемые читатели. Данная публикация адресована начинающим разработчикам С++ которые только становятся на путь высокой производительности и "отстрелянных конечностей". Опытные разработчики найдут здесь скорее повторение тех вещей, которые сами мучительно осваив...

15 стран, 9 языков: трудности перевода одного iOS-приложения В 2017 году у Додо Пиццы появилось приложение для iOS на русском языке, а в 2019 его понадобилось перевести на румынский, а потом ещё на несколько языков. При этом ни одна строка не была обёрнута в макрос NSLocalizedString(…).В этой статье я расскажу, какие инструменты мы ис...

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

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

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

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

Книга «C# 9 и .NET 5. Разработка и оптимизация» Привет, Хаброжители! В этой книге опытный преподаватель Марк Прайс дает все необходимое для разработки приложений на C#. В пятом издании для работы со всеми основными операционными системами используется популярный редактор кода Visual Studio Code. Издание полностью обновле...

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

[Перевод] Structured concurrency в Swift Примечание переводчиков: В Swift 5.5 появилась новая концепция языка async/await. Мы решили опубликовать перевод статьи, чтобы разобраться с structured concurrency.За время подготовки перевода оригинал успели переписать, и в статье ниже мы совместили обе версии: сначала идет...

Простой GUI калькулятор на Python #1. Создание дизайна приложения Штош. Наверное, каждый начинающий программист после "Hello, world!" хочет написать какой-нибудь простенький проект. Почти всегда в голову приходит идея создания калькулятора. Но консольный калькулятор - это как-то скучно и просто. Хочется сделать приложение вот прямо как в с...

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

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

[Перевод] Рендеринг DOOM с помощью чекбоксов Дисклеймер: перевод статьи публикуется с одобрения оригинального автораПоиграть можно тут (Chrome/Edge), исходный код здесь, текст статьи ниже.На этой неделе я прочитал статью Брайана Брауна — "Я всё ещё продолжаю экспериментировать с чекбоксами". Там он рассказывал про свою...

FFmpeg libav с нуля. Часть 1: знакомство и начало работы Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.Отмечу то, что я не являюсь профессионалом в данной теме и моей...

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

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

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

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

Кроссплатформенный путь мобильного тестировщика или как стать Flutter QA Привет, Хабр! В этой статье расскажу, в чём особенности тестирования приложения на Flutter под iOS и Android и чем оно отличается от тестирования нативного приложения. Читать далее

JavaScript редактор диаграмм, который открывает диаграммы из PNG картинок (open source) dgrm.net | GitHubdgrm.net - это редактор диаграмм, с прицелом на трансформацию в карту знаний.Отличительные особенности:- аскетичность,- работает на телефонах (одно из немногих web-решений),- открытый исходный код.В процессе разработки появляются интересные моменты. Статья п...

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

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

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

Как я разблокировал Upwork профиль и заработал более $250k за год Мне было страшно писать об этом до недавнего времени. Upwork стал одним из основных источников дохода для меня лично и для моего агентства, поэтому после восстановления аккаунтов я боялся, что если я опубликую это - меня снова заблокируют.Но в этой статье я поделюсь историей...

Подведение итогов первого года от JPA Buddy 2021-й год закончился, уже почти прошел первый месяц 2022-го. Прошлый год стал знаменательным для JPA Buddy: первый публичный релиз, встреча с первым пользователем и рост до одного из самых высокорейтинговых плагинов на IntelliJ IDEA Marketplace. А еще завтра у Баддика ...

Окрашивание изображений Статья про окрашивание изображений на основе работы Color2Embed: Fast Exemplar-Based Image Colorization using Color Embeddings. Рассмотрим, как переносить цвет с одной картинки на другую с помощью смеси из U-Net и StyleGAN v2. Читать далее

Реализация алгоритма Краскала на С# В данной статье для реализации алгоритма будут рассмотрены:1. Система хранения графа на основе List<>2. Сортировка рёбер графа по весу3. Система непересекающихся множествНа просторах интернета есть множество ресурсов, посвященных данному алгоритму, однако все варианты ...

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

[Перевод] Война или мир: используем MATLAB и Python вместе Если вы студент, работаете в академической сфере или на производстве, вы, вероятно, сталкивались с ситуациями, когда вам нужно было объединить работу с более чем одного языка программирования. Это обычное дело в инженерных и научных приложениях, особенно когда они связаны с ...

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

«Раздвижное» решето Эратосфена Простые числа, согласно известному определению – такие числа, которые делятся только на 1 и само себя. Иначе, число считается составным, и его можно разложить на произведение простых чисел. Единица формально соответствует определению простого числа, но это число принято не о...

Электропривод с ШИМ – способ улучшения динамики контура тока В продолжение темы модельно ориетированного проектирования, публикую очередную статью Калачева Юрия Николаевича, автора книги Моделирование в электроприводе. Инструкция по пониманию. В новой статье раскрываются рецепты лечения "вялого" электропривода. Данный текст ...

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

Docker: заметки веб-разработчика. Итерация первая Привет, друзья! Хочу поделиться с вами заметками о Docker. Заметки состоят из 3 частей: первые две теоретические, третья практическая. Если быть более конкретным: первая часть посвящена самому Docker, Docker CLI и Dockerfile; вторая часть полностью о Docker Compose; в тре...

Docker: заметки веб-разработчика. Итерация четвертая Привет, друзья! В этой статье я продолжаю (и заканчиваю) делиться с вами заметками о Docker. Заметки состоят из 4 частей: 2 теоретических и 2 практических. Если быть более конкретным: первая часть посвящена Docker, Docker CLI и Dockerfile; во второй части рассказывается о...

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

Путешествие по камням, или Как мы скрестили криптошлюзы S‑Terra с Ansible для автоматизации конфигурирования устройств Однажды моей команде довелось организовывать несложную кустовую схему шифрования для компании, у которой было более 2,5 тысяч офисов продаж и около ста региональных центров. Всё техническое описание решения легко излагалось в таблице Excel размером 2 800 строк на 25 столбцов...

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

Зачем компаниям API Management Привет, Хабр! Мы – Ярослав Насонов и Надежда Колезнева – развиваем витрину для внешних API в МТС. Сегодня обсудим тему управления API в корпорации. Поделимся опытом внедрения API-менеджмента в МТС, расскажем, что уже сделали, сколько потратили времени, с какими ошибками стол...

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

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

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

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

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

[Перевод] Полезные и неизвестные возможности Java В этой статье вы узнаете о некоторых полезных функциях Java, о которых вы, вероятно, не слышали. Это мой личный список функций, использованных мной недавно или с которыми я столкнулся при чтении статей о Java. Я сосредоточусь не на языковых аспектах, а на API. ...

Создание демки специально для HABR — Часть 2 В предыдущей части мы только начали входить во вкус создания демки, как статья неожиданно закончилась на самом интересном месте. Не буду сильно томить и продолжу описывать свой квест по созданию этой интересной программы. Борьба за размеры памяти, задержки, звук, всё в этой...

Настройка Opennebula с Ceph RDB, CephFS Данная статья расскажет о том, как установить Ceph на несколько нод и установить Opennebula, а так же произвести интеграцию Opennebula с Ceph. Читать далее

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

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

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

Трудности перехода: каков Elixir на вкус после Ruby Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir. Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, ...

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

Уязвимости из-за обработки XML-файлов: XXE в C# приложениях в теории и на практике Как простая обработка XML-файлов может стать дефектом безопасности? Каким образом блог, развёрнутый на вашей машине, может стать причиной утечки данных? Сегодня мы ответим на эти вопросы и разберём, что такое XXE и как эта уязвимость выглядит в теории и на практике. Читать ...

Кафка: сложная простота Привет! Это Сергей Калинец из Parimatch Tech и эта публикация будет про Кафку. У нас много данных, которые нужно быстро обрабатывать, много сервисов и команд, поэтому мы выбрали Кафку, как нашу основную платформу для обмена данными. За годы ее использования насобиралось...

Как скрестить Intel с Эльбрусом: Обзор новой линейки СХД АЭРОДИСК Всем доброго здравия! В этой статье мы проведем обзор обновленной линейки систем хранения данных АЭРОДИСК Восток-5 и АЭРОДИСК Engine-5. В новых СХД мы уделили много внимания управлению большими хранилищами в многоконтроллерных конфигурациях на разных процессорных архитектура...

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

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

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

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

[Перевод] Чем Linux HugePages важны для серверов баз данных? Часто пользователи рассказывают о сбое базы данных по вине Out Of Memory Killer. Он завершает процессы PostgreSQL и остается причиной большинства отказов этой БД. Память на хост-компьютере может закончиться по нескольким причинам. Наиболее распространены из них четыре. Во-пе...

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

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

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

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

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

[Перевод] Dungeons & Dragons для SRE В прошлой жизни я работал фулл-тайм SRE, а по совместительству был драконорожденным паладином по имени Лорарат (Lorarath). На работе со своей командой я сопровождал тысячи систем, а вечерами пытался выжить в воображаемых битвах и спасти мир от ведьмы Морганы. Мне нравятся со...

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

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

Что такое рекрутинг и какие есть виды Рекрутинг персонала подразумевает под собой поиск, проверку, а также вытекающий приём на работу высококвалифицированного специалиста на определённую вакансию. Если вы хотите узнать больше о такого рода услугах, то статья на сайте IT-рекрутинг компании HEAAD предоставит вам в...

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

Управление риском ИТ Добрый день!Меня зовут Максим Торнов. Я долгое время работал в различных областях ИТ, затем более 13 лет занимался ИТ аудитом, управлением риском ИТ и оценкой эффективности систем внутреннего контроля, в одной из консалтинговых компаний «Большой четверки».В данном материале ...

Kubernetes и другие оркестраторы Привет! Меня зовут Леонид, я DevOps-инженер в компании KTS. В этой статье я рассмотрю различные оркестраторы и объясню, почему Kubernetes — лучший выбор.Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на се...

Короли инференса: PyTorch, Tensorflow или MATLAB? Что вам важнее в DL-проекте, удобство или производительность? Посмотрим на проблему глазами инженера-разработчика сложных систем с элементами искусственного интеллекта. Как типичный инструментарий в этой сфере справляется с обучением и выполнением?В этой статье мы запустим п...

Citrix Xen Center – Опыт работы с полностью бесплатной виртуализацией Сразу опишу главный плюс такого решения – Это бесплатно! Любой может более менее полноценно администрировать рабочие места(Windows машины/сервера, linux сервера, любые ОС), работать с бекапами и эффективно использовать мощность железа.Так уж вышло, что профессиональные решен...

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

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

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

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

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

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

[Перевод] Сохраняем кластеры Kubernetes в чистоте и порядке Одновременно с ростом кластера растет количество ресурсов, volume и других API-объектов. Рано или поздно вы упретесь в потолок, будь то etcd, память или процессор. Зачем подвергать себя ненужной боли и проблемам, если можно установить простые — хотя и довольно изощренные — п...

Работа с картами. GMAP C# На написание данной статьи меня подтолкнуло не столь большое наличие текстовой информации по работе с GMap на просторах интернета, как хотелось бы.Стояла задача визуализировать на карте положение объектов по известным координатам для дальнейшего анализа и выявления каких-либ...

Gentoo в облаке Hetzner c LUKS шифрованием В статье описана установка Gentoo в Hetzner Cloud, статья не рекламная. Написана с целью разобрать и описать установку Gentoo с загрузкой без UEFI с шифрованным корневым разделом, а также возможностью разблокировки LUKS без размещения ключа на виртуальной машине, а только пр...

Классификация текста с использованием моделей трансформеров Модели трансформеров на данный момент являются state-of-the-art решениями в мире обработки естественного языка. Новые, более крупные и качественные модели появляются почти каждый месяц, устанавливая новые критерии производительности по широкому кругу задач. В данной статье м...

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

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

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

Начала Docker для юнги Туториал по основам докера в котором простыми словами объясняется, как собирать образы и разворачивать контейнеры. Тут же можно узнать, чем контейнер отличается от виртуалки, что такое образ и увидеть простой кейс. Окунуться

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

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

5 полезных функций Telegram, которые вам точно пригодятся Telegram не только оказался выносливее WhatsApp в этом году, но и продолжил получать классные функции. Многие ошибочно считают, что мессенджер перегрузили разными фишками, но это не так: они существуют не просто так, а для того, чтобы сделать жизнь пользователя проще, защит...

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

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

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

Простой способ печатать обрезками филамента (смена пластика "на лету") И снова (как и в предыдущей моей заметке) отмазка: это статья для начинающих печатников. Опытные должны этот способ знать.На 3DToday и в других уголках интернета очень много заметок про то, как сварить обрезки филамента, чтобы не пропадали (вот свежий пример: https://3dtoday...

Фаззинг Linux через WTF Недавно появился фаззер What The Fuzz, который (кроме названия) интересен тем, что это: blackbox фаззер; snapshot-based фаззер. То есть он может исследовать бинарь без исходников на любом интересном участке кода. Например, сам автор фаззера натравил WTF на Ida Pro и нашел...

Простой шутер от третьего лица на Unreal Engine. Часть 2 До прочтения этой статьи рекомендую прочитать первую часть.План на сегодня:Сегодня мы создадим простеньких противников, который будут ходить туда-сюда. Научимся наносить им урон. Читать далее

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

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

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

[Перевод] Remix: руководство по новому open source React-фреймворку Последнее время кажется, что React-фреймворки выходят каждый день. Хотя каждому из них есть, что предложить, Remix особенно выделяется. Remix — React-фреймворк для SSR (server-side rendering) от создателей react-router, который заопенсорсили совсем недавно.В этой статье мы п...

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

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

ЕГРЮЛ, ЕГРИП в виде архивов ФНС, csv, xml, json (API) и анализ данных С началом войны РФ с Украиной мои статьи потеряли смысл на фоне этого ада. Продуктивно работать почти невозможно. Кто-то потерял дом, кто-то детей. Миллионы беженцев.Два из трёх этажей своего дома я отдал под размещение двух семей беженцев с детьми. Если у вас есть возможнос...

Асинхронному django быть. Эксклюзивно для Хабра Здравствуйте, читатели хаба про django. Эта статья о фреймворке для перфекционистов с дедлайнами, и о том, можно ли добавить в него асинхронность. Некоторые в курсе, что со стороны Django Foundation также есть некоторые усилия в этом направлении. Например, есть [DEP-09](http...

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

Если мошенники украли деньги с банковской карты — не спешите в полицию Мне давно надоели эти банки, но инфопространство постоянно забито историями, как мошенники в очередной раз украли деньги, причём даже без социальной инженерии. Народ жалуется на Tinkoff, Альфа-банк и прочие банки, на операторов сотовой связи. Портал banki.ru ввёл дракон...

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

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

Основы языка microScript Привет Хабр!Под предыдущей статьей собралось много вопросов и рассуждений относительно microStudio, в частности языка microScript, которому я не уделил внимания в предыдущей статье. Да я и не ставил цель затронуть все вопросы в одной статье.В этой статье я расскажу подробнее...

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

Как быстро перенести файлы с Google Диска на Яндекс.Диск После того как Visa и Mastercard приостановили работу с зарубежными онлайн-магазинами, многие пользователи начали задумываться о переносе всех данных с Google Диска. Да, о его полной блокировке заявлений не было, но вот оплатить дополнительное пространство без карт зарубежн...

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

Исследование: самые узнаваемые игроки IT-рынка России C 2018 года мы ежегодно проводим исследование технобренда hh.ru и других игроков IT-рынка. В этой статье мы поделимся с вами последними результатами. Осенью 2021 года мы опросили более 3 тысяч IT-специалистов, чтобы выяснить, насколько хорошо они знают о нас и других компани...

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

Как прошел 2021 год на Хабр Карьере Пришло время подвести итоги 2021 года и проводить его со всеми почестями! Мы делали все, чтобы Хабр Карьера похорошела, расцвела и обросла новыми функциями. Параллельно успевали проводить исследования, выпускать полезные статьи и много чего еще. Let’s dive in! Читать далее

Как управлять командой разработки Привет! Я Иван Антипин, заместитель директора департамента разработки в AGIMA. За свою карьеру я поработал с десятками команд. Где-то был разработчиком, где-то тимлидом, где-то помогал извне. У меня был миллион возможностей разобраться, как люди ведут себя в коллективе. Но в...

[Перевод] Сравнение типов данных VARCHAR(max) и VARCHAR(n) в SQL Server Тип varchar(max) часто используется как в обычных, так и во временных таблицах. Да, с ним можно не беспокоиться о длине строк или появления ошибки "Произойдет усечение строковых или двоичных данных" (String or binary data would be truncated).Но стоит ли использовать varchar(...

Грамотное составление и продвижение вашего резюме Для многих процесс составления резюме муторный и затягивается. Казалось бы, состряпать 1 – 2 листа своей карьеры (если есть что туда вписать) – лёгкое дело. Но это, зачастую, заблуждение. Данная статья-гайд будет универсальной и больше направлена на не ИТ-специалистов. Я...

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

10 лучших бесплатных OSINT-инструментов по версии компании T.Hunter Приветствую Хабр. На связи T.Hunter. Недавно у нас в офисе разгорелся спор – наберется ли хотя бы 10 сносных и, самое главное, БЕСПЛАТНЫХ инструментов для проведения OSINT? Ну и оказалось, что наберется. Это, разумеется, не топ инструментов, а просто наш небольшой список. Он...

Законно ли пользоваться Instagram и Facebook после блокировки С сегодняшнего дня на территории нашей страны официально заблокирован Instagram — требование о блокировке выдвинуто Генеральной прокуратурой в связи с одобрением распространения призывов к насилию. Не так давно Роскомнадзор также ограничил доступ к Facebook и Twitter....

Пишем сервис на GO. Runtime контроллер и Graceful Shutdown Напишем вместе HTTP-сервис на golang с нуля? Я уверен, что это довольно несложно. Для тех, кто каждую неделю этим занимается, моя статья не будет особенно интересна, но я все равно рекомендую взглянуть и оценить, возможно, ваши комментарии спасут кому-то жизнь. А может кое-...

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

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

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

Уехать в Германию на финишной прямой до пенсии, отыскать там СССР Уехать в Германию на финишной прямой до пенсии, отыскать там СССР или как сбежать из тюрьмы, и чтобы тебе за это ничего не было Март 2022. События последних недель разделили нашу жизнь на ДО и ПОСЛЕ, а наше общество – на тех, кто ZА и ПРОТИВ. Воздержавшихся, кажется, уже не...

Оспа. История болезни от ее возникновения до полного (нет) искоренения Одной из самых ужасных и мерзких вещей, с которой когда-либо может столкнуться человек – оспа. «Отвратительнейшая болезнь, унёсшая в могилу больше жертв, чем любая другая, чем война и порох» – такое определение даёт английский врач XVII века Томас Сиденгам. Слава Богу, что...

Кризис в России и финансовые вопросы: как не потерять то, что есть В этой статье я написал основные вещи, о которых думаю последнюю неделю: какие риски несут текущие события для финансового положения, и как их можно минимизировать. На Habr – только практическая часть; полная версия поста здесь. Читать далее

Термоядерный синтез [своими руками] В этой статье я хочу рассказать подробнее о фузоре Франсуорта-Хирша. Впервые об этом творении я узнал из видео с канала "Физика от Побединского" и мне сразу же захотелось повторить показанный в видео продукт. Собственно само видео. Читать далее

OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD Привет, Хабр! На связи Холодаев Алексей, младший системный администратор Cloud4Y. Сегодня хочу поделиться опытом использования OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD.В ходе работы над одним из проектов возникла задача по созданию нескольких сотен п...

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

Девочка, балансирующая на NVME-over-TCP 2.0 Привет всем! Рад вас снова видеть, и я счастлив, что вам так понравилась моя предыдущая статья под названием «А все ли врут? Продолжаем издеваться над NVME». Напомню, что в этой статье я объяснил, как правильно подключить ваш NVME диск удалённо по сети. Не «как расшарить п...

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

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

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

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

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

Модуль ACME-клиента для Tarantool Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все исп...

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

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

«От категорий к векторам», или нестандартное кодирование категориальных данных. Часть 2 Привет, Хабр! С вами снова Артём, Team Lead Data Scientist из МегаФона. Надеюсь, вам понравилась первая статья серии о нестандартных методах кодирования категориальных данных, где я поделился своим опытом и показал, как с кодированием справляется тематическое моделирование. ...

[Перевод] Почему сооснователь Wasmer ушёл из компании? 4 октября 2021 года — последний день работы одного из основателей Wasmer в компании. Wasmer — стартап, который разрабатывает очень популярную одноимённую среду выполнения WebAssembly. Речь пойдёт о том, чего автору статьи удалось достичь за время работы в компании. Это не те...

Попытки SЕО оптимизации кода на NextJS Оптимизация Сео Аудита на NextJS. Это ненастолько удачное занятие, поскольку, по моему опыту, он не дает полного контроля над event loop, который и надо приоритетно оптимизировать. Однако NextJS дает очень высокую скорость разработки, которая нужна многим продуктам, поэтому ...

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

Залечь на дно в Брюгге. Опыт студента Computer Science в Бельгии Привет, хабровчанин!Я студент первого курса Applied Computer Sciene - major Cyber Security университета Howest в Брюгге, Бельгия. Несколько раз читал на Хабре статьи про высшее образование в сфере Computer Science в СНГ и решил поделиться своим опытом по истечении первых дву...

Умный кубик Рубика от Xiaomi отдают на AliExpress со скидкой Каких только устройств нет в ассортименте китайской компании Xiaomi. Тут и разнообразные смартфоны — от ультрабюджетников до флагманов, и фитнес-трекеры со смарт-часами, и роботы-пылесосы, и умные телевизоры, и множество других гаджетов. Но мало кто знает, что Xiaomi выпусти...

Big O нотация в Swift Данная статья поможет начинающим iOS разработчикам разобраться в производительности алгоритмов в Swift.Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространств...

[Перевод] Continuous integration в Go с GitHub Actions В этой статье мы рассмотрим, каким образом можно использовать GitHub Actions для создания конвейера непрерывной интеграции, который автоматически тестирует, проверяет и анализирует ваш код Go. Читать далее

Изоляция зубов в стоматологии Если Вы подумали, что стоматологи нашли способ отправлять зуб на карантин, то спешу Вас огорчить, эта статья немного о другом. А именно о изоляции зубов с помощью системы коффердам.Коффердам - это немецкое слово, которое можно дословно перевести как: "резиновая преграда...

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

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

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

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

«Ваша сезонность, сэр!»: ищем тренд и прогнозируем спрос с помощью временных рядов, SARIMA и Python. Ч.1 Как вы можете помнить по первой статье "Маркетинговая аналитика на Python. Пишем код для RFM-сегментации", более 8 лет я работаю в сфере маркетинга для B2B и примерно столько же бешусь от дилетантского подхода к аналитике, который тянет за собой ряд проблем с определением кл...

Как мы научились управлять данными глобального масштаба: кейс разработки Супермаркета Данных Мария Юшанова, Управление распространения данных Департамента SberDataИнформацию не пытается собирать только ленивый. Многие компании считают ее своим главным богатством и оружием. И именно данные нужны для развития бизнеса, повышения качества сервиса и разработок новых прод...

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

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

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

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

Engineering Manager: Место в структуре организации, задачи, плюсы и минусы Данная статья поможет разобраться в том, что из себя представляет позиция Engineering Manager, причём тут Tech Lead и как с этим жить? Читать далее

(Net)-NT(LM)v[12] Очень часто встречаю, что люди путают разные типы хэшей и думают, что NTLM и NTLMv1/v2 это одно и тоже, а NTLMv1/v2 и Net-NTLMv1/v2 разные типы. Данная статья заметка предназначена для того, что бы разобраться со всем этим. Читать далее

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

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

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

Открытая дверь Всем привет. Я –Валера Черепенников, бывший генеральный директор Intel R&D в России, а с2020 года VP Нижегородского исследовательского центра Huawei. Но сейчас я не от лица компании говорю, а хочу своей человеческой позицией поделиться. Те кто меня читают на других ресур...

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

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

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

Мультиплеер в Unreal Engine: Подключение и Хостинг Привет Хабр!В этой статье я хочу раскрыть механику создания онлайн сессии и подключения к ней. Все выполнено в с использованием Online Subsystem для возможного расширения вашей игры в контексте Steam, Origin, Play Station Store и т.д Читать далее

Виртуальная «Тройка» + Samsung Pay. Промежуточные итоги тестирования Новый способ оплаты проезда в общественном транспорте Москвы - виртуальная карта "Тройка" - удобный, но при доскональном следовании инструкциям работать не будет.Я состою в фокус-группе тестирования данного функционала. Поделюсь первыми впечатлениями.Телефон Samsung Galaxy S...

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

[Перевод] Холодные запуски AWS Lambda — решение проблемы Холодные запуски могут оказаться губительными для производительности AWS Lambda, особенно если вы создаёте клиентоориентированное приложение, которое должно работать в режиме реального времени. Представьте себе, что пользователь отправил приложению запрос, а ваша функция AWS...

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

[Перевод] Блокчейн на Python Когда я читал статью про блокчейн на JavaScript, мне было интересно познакомиться с идеями о блокчейн-разработке, которые отличаются от тех, что мне уже известны. А как только я начал читать код, мне захотелось сопоставить его с аналогичным Python-кодом, чтобы ещё и разобрат...

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

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

Архитектура Вселенной, часть 3: Идея Перед прочтением рекомендуется ознакомиться с предыдущими статьями цикла "Архитектура Вселенной":• Часть 1: Сознание• Часть 2: Относительность• Часть 3: ИдеяВ прошлой части "Архитектуры Вселенной" мы говорили об относительной природе пространства и времени, а сейчас я хотел ...

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

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

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

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

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

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

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

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

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

Транспорт в PvP-шутере на Unity: добавляем и синхронизируем Когда мы начали разработку батлрояля на 100 игроков, то решили сделать самую большую карту в нашем шутере — 2 на 2 километра против стандартных 200 x 200 метров. Но для таких масштабов нужны были более быстрые способы перемещения, чем просто пешком. Так появилась задача доба...

Ретроспектива по шагам. Рецепт Все, кто слышал про Scrum, скорее всего слышали про его основные мероприятия: планирование, пятиминутка (stand-up), обзор спринта и ретроспектива. Многие слышали, инструментов для проведения ретроспектив много, "обучающих" материалов ещё больше, но всё как-то не выходит. Ил...

CRUD 0.11.0 для Tarantool Неделю назад вышла новая версия модуля CRUD для Tarantool. В 0.11.0 появилось множество нововведений, просьбы о которых поступали от наших пользователей. Что изменилось, как этим пользоваться и кому это может быть полезно? Расскажем обо всём.Tarantool — это платформа in-memo...

02. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжую Предыдущие статьи о реверсе данных автомобильных навигаторов Siemens VDO Dayton CARMiNРеверс черного тессеракта01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо Читать далее

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

AK4452 запуск бюджетного HiFi DAC В прошлом году заказал AK4452 от компании AKM. Компания Asahi Kasei Microdevices (AKM) известна своими высококачественными Аудио ЦАП. Вельветовое звучание. Sampling Rate: 768kHz. DR, S/N: 115dB. Встроенные фильтры. Все это можно посмотреть в материалах по ссылке внизу. Кстат...

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

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

[recovery mode] Python: рефлексия Я пишу на Python примерно с 15-го года. Я определённо люблю его. Он так прост... В этом эссе я хотел бы вспонить, как начались мои взаимоотношения с этим замечательным языком, что за всё это время я узнал, что заставляло меня пищать от восторга, и рвать на голове волосы от р...

Язык программирования типов, скрытый в TypeScript. Utility Types TypeScript — это язык, расширяющий JavaScript, добавляя в последний типизацию. Правда, так как TypeScript не имеет runtime-а (почти), он транслируется в JavaScript, в процессе чего, вся типизация теряется. Такую типизацию можно назвать лишь инструментом статического анализа ...

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

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

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

Апгрейд Anycubic i3 mega Здравствуйте. В данной статье поделюсь опытом модернизации моего 3д принтера. Как сделать так, чтобы от печати получать только удовольствие и качественные детали, а не геморрой или брак. Список улучшений:1. Светодиодная подсветка с выключателем и регулятором яркости2. Натяжи...

Хранители данных: как устроена работа с DWH в Lamoda Всем привет! Меня зовут Юлия Скогорева, я системный аналитик в команде Center of excellence в Lamoda, которая входит в дирекцию данных и аналитики.Если бизнесу нужны какие-то данные для принятия важных решений, то на помощь приходит наша команда. Мы тщательно изучаем множест...

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

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

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

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

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

Разбор задачи Титаник на Kaggle (Baseline) В статье я покажу как искать зависимости и проверять гипотезы. Мы познакомимся с данными и реализуем предсказание на основе одной логики=) Читать далее

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

[recovery mode] Проектирование и настройка микрополосковых полосно-пропускающих фильтров СВЧ диапазона При проектировании СВЧ электроники часто приходится использовать микрополосковые фильтры реализованные на плате в виде проводящих дорожек. Если нужен не очень качественный фильтр (2-3 порядка), то рассчитать его топологию не составит труда. Но иногда необходимо настроить фил...

Публикация Spring Boot приложения в GitHub Packages с помощью GitHub Actions для самых маленьких Сегодня я расскажу вам как можно опубликовать своё Spring Boot приложение в GitHub Packages с помощью GitHub Actions. Вот так. В общем-то всё. Вот. Спасибо за внимание. Читать далее

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

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

Как получить пароль WPA2 WiFi с помощью Aircrack-ng? Друзья, всех приветствую!В этой статье я покажу вам как использовать airmon-ng (скрипты из пакета aircrack-ng) для обнаружения беспроводных сетей вокруг нас. Затем мы деаутентифицируем клиентов определенной беспроводной сети, чтобы перехватить handshake, а затем расшифруем е...

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

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

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

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

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

Обучение рукописной OCR на синте от GAN'ов Модели распознавания печатного текста (например, с фотографий документов) дают довольно высокие результаты. Это происходит за счёт ограниченного набора шрифтов, цель которых – быть максимально понятными человеку, а также благодаря генерации простой синтетики в виде печати ра...

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

Генераторы случайных чисел в разных ОС "Генерация случайных чисел слишком важна, чтобы оставлять ее на волю случая" - Роберт Р. Кавью Как-то поздним летним вечером мне пришлось разобраться, как устроены генераторы случайных чисел в Windows и Linux. Собственно, в этой статье я попробую привести саккумулированную ...

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

Мой друг Netmiko Ansible с костыльком может автоматизировать сеть и non-CloudEngine коммутаторов Huawei, как недавно было доказано на нашем Enterprise форуме. Однако в сети, в которой работают разные модели коммутаторов, Ansible не представляется эффективным инструментом на данный момент. И ...

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 2 В предыдущей статье я рассказал о подготовке данных для тестирования, что данные лучше генерировать, а не клонировать. Теперь стоит подробно разобрать, как их генерировать. Есть несколько подходов к генерации данных: c SQL, Python, сериализацией. У всех из них есть свои плюс...

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

[Перевод] CCIP (Cross-Chain Interoperability Protocol) — протокол кросс-чейн совместимости экосистемы Блокчейн В этой статье хотим рассказать про протокол кроссчейн совместимости (CCIP) для децентрализованного обмена сообщениями/событиями и перемещения токенов между блокчейнами.Рост многочисленных независимых блокчейн-экосистем с различной спецификой и географическими нишами привел к...

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

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