Социальные сети Рунета
Среда, 24 апреля 2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Я разработал генератор ASCII-арта в Node JS В этой статье вы увидите, как сделать генератор ASCII-арта из изображения.ASCII-арт — это метод графического дизайна, который использует компьютеры для презентации и он состоит из изображений, собранных вместе из 95 печатных символов, определенных стандартом ASCII от 1963 го...

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

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

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

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

STM32, CMSIS, CAN, Часть 1 — передача Привет, сегодня мы будем настраивать отправку данных с помощью CAN (Controller Area Network). В интернете много информации о том, как настроить CAN использую HAL библиотеку, а в случае использования CMSIS информация обрывочна, по этой причине решил рассказать о своем опыте р...

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

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

[Перевод] Как обновить образы контейнеров с помощью Podman Изображение Hessel Visser с сайта Pixabay Поддержание образов в актуальном состоянии является стандартной процедурой при эксплуатации и управлении контейнерной средой. Далее мы рассмотрим, как следует это делать. Podman — это daemon-less движок для разработки, управления ...

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

[Перевод] Не самые популярные методы Django ORM Все мы знаем, что Django предоставляет ORM прямо из коробки, что не позволяет нам писать SQL-запросы. В этом механизме есть большой потенциал. Однако большинство из нас знакомы только с методами filter(), get(), update() и delete() из Django ORM.В Django ORM есть много други...

"Arbalest" Prototype-00. Стройка боевого робота с нуля (почти). Цели этой статьи.Популяризация 3d печати и попытка вдохновить людей на творчество.Показать создание робота, используя копеечные ресурсы.Если лениво читать стену текста, то пролистывайте до конца и просто смотрите последнее фото готового робота)Вместо вступленияЭто вторая ста...

[Перевод] Оптическое распознавание символов с помощью Rust и WebAssembly После переписывания Cyberscore я захотел отправить на сайт какие-нибудь результаты. Последнее, во что я играл, это Pokémon Legends: Arceus, по которой на Cyberscore есть около 3000 таблиц результатов. Я не собирался отправлять столько рекордов вручную, поэтому начал придумы...

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

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

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

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

Сбор данных с обходом капчи посредством PYAUTOGUI, KERAS и TENSORFLOW Существует большое количество методов для автоматического сбора и обработки больших объемов данных из веб-ресурсов. Однако иногда недоступно извлечение данных с помощью автоматизированного кода, выполняющего GET-запросы с последующим парсингом HTML-кода, и его пр...

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

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

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

В мире сыпучего металла В связи с тем, что в последнее время широко распространилась 3D печать и многие используют её в качестве промежуточного этапа для создания конечных изделий из металлов, попробуем разобраться, а только ли стандартный метод литья возможен для этого? Читать дальше →

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

Профилируем php на бою Привет Хабр! Последняя статья про инструменты для профилирования php датируется аж  2018 годом. Но все перечисленные решения разработаны много лет назад и имеют недостатки: древний интерфейс btp (аналог pinba), оверхед xhprof и необходимость ручного запуска p...

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

[Перевод] Программирование с dplyr Большинство глаголов dplyr так или иначе используют аккуратную оценку (tidy evaluation). Tidy evaluation - это особый тип нестандартной оценки, используемый во всём tidyverse. В dplyr есть две основные формы tidy evaluation:Описанные концепции обращения к переменным таблиц д...

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

[Перевод] Представляем MongoDB 5.2 Rapid Release Привет, Хабр. В феврале стартует очередной набор группы курса "MongoDB", в связи с чем подготовили для будущих студентов перевод статьи из официального блога MongoDB про релиз 5.2. Решили, что для читателей Хабра эта информация тоже может оказаться полезной, поэтому делимся ...

Мониторинг трафика на коммутаторах при помощи Wireshark + Plink Сразу отмечу, что способ не мой, а подсмотренный у EVE-NG. Никаких особых преимуществ он не даёт, обладает массой ограничений, но кому-то, просто, удобнее работать с Wireshark в режиме реального времени.Суть метода проста: перенаправить вывод от утилиты Tcpdump в SSH сессию ...

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

Игры с Mongo, или как мы избежали проблем благодаря смекалке и реверс-инжинирингу Одним из трендов при проектировании сервисов в последнее время выступает использование в качестве баз данных NoSQL-систем. Мы также стараемся идти в ногу со временем и, конечно же, имеем в своем IT-ландшафте несколько таких решений. Одно из них — шардированный кластер MongoD...

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

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

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

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

Bethesda отказывается от собственного лаунчера для ПК — с мая пропадёт доступ к играм Компания Bethesda Softworks объявила о знаменательном событии — она решила распрощаться с программой запуска Bethesda.net.  Вместо этого Bethesda полностью переводит геймеров на платформу цифровой дистрибуции Steam. Как отмечают разработчики, уже в начале ап...

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

Представляем новый редактор Razor в Visual Studio 2022 С выпуском Visual Studio 2022 вы можете использовать новый редактор Razor для локальной разработки ASP.NET Core с использованием MVC, Razor Pages и Blazor. Загрузите Visual Studio 2022 и обязательно обновите его до версии 17.0.2, чтобы получить последние обновления Razor. В ...

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

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

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

IT-портал Оки Доки представил рейтинг лучших офисных решений Популярный ИТ-портал Оки Доки опубликовал подборку лучших офисных решений, которые могут стать достойной альтернативой Microsoft Office. Все участники рейтинга объединены рядом качеств – они удобны, надежны, быстро работают и имеют редакторы таблиц с широким функционалом. Им...

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

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

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

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

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

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

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

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

Расширенная наcтройка EF Core Говоря "настройка EF", я буду подразумевать настройку контекста базы данных. Поговорим в этой статье мы о некоторой автоматизации, кастомизации и обобщениях. Какая-то информация позволит делать обыденные вещи проще, а какая-то, возможно, станет ключевым фактором при выборе O...

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

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

[Перевод] Введение в секционирование таблиц В этой статье я собираюсь продемонстрировать особенности планов исполнения запросов при обращении к секционированным таблицам. Обратите внимание, что существует большая разница между секционированными таблицами (которые стали доступны только с SQL Server 2005) и секцион...

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

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

WEKA. Руководство по использованию Начав изучать библиотеку Weka я обнаружила, что в Интернете очень мало информации о ней на русском языке – как с ней работать и как ее использовать. Эта статья будет вводной для знакомства с библиотекой. Читать далее

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

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

[Перевод] Инструкция по Selenium Docker В этой статье мы расскажем о том, как запускать Selenium-тесты в Docker и выполнять их в браузерах Chrome и Firefox. И мы, вероятно, также поймем, зачем запускать Selenium-тесты в Docker. Читать далее

Как мы распознаем фото документов пользователей. Часть II В прошлой статье я кратко описал методы и подходы, которые мы используем в inDriver при распознавании фото документов. Во второй части подробно опишу архитектуру CRAFT и CRNN, а также варианты их использования. Прошу под кат! Читать далее

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

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

Анонимизация базы данных или как быть уверенным, что ты не нарушаешь закон “О персональных данных” В настоящее время практически все ИТ-продукты работают с персональной информацией пользователя: ФИО, телефон, e-mail, паспортные и другие идентифицирующие данные. Для  обеспечения защиты прав и свобод, человека и гражданина при обработке его персональных данных в Россий...

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

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

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

Изучаем протоколы со Scapy Статья расскажет, как можно использовать Scapy для создания пакетов UDP и TCP протокола, так же попробуем реализовать взаимодействие по сети, отправив короткое сообщение с использованием каждого из протоколов. Читать далее

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

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

1x PCIe чтобы управлять всем Высокоскоростные интерфейсы PCIe стали неотъемлемой частью современных процессоров. Производители чипов конкурируют в количестве интегрированных линий PCIe, что влияет на возможности ввода/вывода вычислительных платформ, требования к которым постоянно растут.Несмотря на раз...

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

Разворачиваем Golang приложение в Kubernetes В этой статье я хочу поделиться примером, как можно развернуть простое приложение на Golang в Kubernetes, с помощью helm чартов и skaffold скриптов. Думаю, данная статья может быть полезной тем разработчикам, которые только знакомятся с Kubernetes, а возможно и более опытным...

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

От 1FA к Zero-Trust через рынок ИБ В настоящее время в контексте систематического увеличения как в размерах, так и в инфраструктурной сложности существующих систем кибербезопасности, а также логического завершения устоявшейся парадигмы локализации средств защиты организаций внутри их периметра, возникает необ...

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

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

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

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

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

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

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

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

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

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

[Перевод] Следует ли вам обновить параметры Route Flap Damping? Route Flap Damping (RFD) — это механизм локального подавления оттока обновлений BGP в Интернете. Стандартные параметры конфигурации RFD в маршрутизаторах слишком строгие и вызывают нежелательное блокирование изменений префикса, что приводит к проблемам с доступностью. Исслед...

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

Что новенького по сущностям? Новости последней конференции EMNLP В ноябре 2021 проходила конференция  EMNLP — одно из главных мероприятий для тех, кто занимается NLP. Хоть команде Домклик и не удалось провести отвязную неделю в Доминикане, я и мои коллеги смогли поучаствовать в конференции удалённо. Как рассказывают сами организаторы...

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

35 реальных рисков, убивающих data- и machine learning проекты Всем привет! Эта статья - обобщение моего опыта 30+ проектов, связанных с обработкой данных и машинным обучением. Здесь не будет теории про управление рисками и общего перечня проектных рисков. Я перечислил только наиболее частые “грабли” именно из data-специфики, с которыми...

А что с хостингом? В свете последних двух недель IT-сфера в России претерпевает серьезные изменения: уход IT-гигантов с российского рынка, приостановка поставок и так далее, далее, далее… Первое, что хочется сделать — взять и заплакать. Второе — успокоиться, попытаться хоть как-то проанализиро...

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

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

Причинно-следственный анализ в машинном обучении Что появилось первым: курица или яйцо? Статистики давно уже нашли ответ на этот вопрос. Причем несколько раз. И каждый раз ответ был разным.А если серьезно, то для машинного обучения становятся все более актуальными вопросы причинно-следственного анализа (causal inference) -...

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

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

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

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

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

[Перевод] Работа с API на языке R, введение в пакет httr2 Цель этой статьи - показать вам основы httr2. httr2 - переосмысленная реализация пакета httr, т.е. интерфейс для работы с HTTP запросами на языке R.Из статьи вы узнаете, как создавать и отправлять HTTP-запросы и работать с полученными HTTP-ответами. httr2 разработа...

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

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

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

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

Чем заместить софт для 3D-дизайна и геймдева в условиях санкций В этой статье мы рассмотрим текущую ситуацию с инструментами для 3D-дизайна и игроделания и поищем возможные альтернативы. Читать далее

Amazfit занимает третье место по мировым поставкам смарт-часов в третьем квартале 2021года КУПЕРТИНО, шт. Калифорния, 25 ноября 2021 г. /PRNewswire/ — В третьем квартале 2021 года  Amazfit, бренд Zepp Health (NYSE: ZEPP), занял третье место по объемам поставок смарт-часов по всему миру, по данным последнего Всемирного трекера моделей смарт-часов, опубли...

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

Печать филаментом Titan GF-12 от компании Filamentarno     Доброго времени суток, уважаемые читатели!     Содержание статьи будет следующее: 1. Введение 2. Настройка параметров печати 3. Заключение1. Введение    Titan GF-12 – это композитный материал на основе ABS с содержанием 12% рубленного стекловолокна. По описанию с сайта п...

[Перевод] Как писать программы с математическим совершенством Имя Лесли Лэмпорта, возможно, не является узнаваемым, но он стоит за несколькими великими проектами: программой для набора текста LaTeX и работой, которая сделала возможной облачную инфраструктуру в Google и Amazon. Он также уделил много внимания нескольким проблемам, дав им...

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

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

Бизнес-аналитик – кто он? Профессия бизнес-аналитика вызывает множество вопросов. Более того, в разных ситуациях под термином «бизнес-аналитик» понимают самых разных специалистов и, соответственно, ожидают разных компетенций и результатов. Я предлагаю разобраться в этом вопросе как можно подробнее.Ин...

[Перевод] Пишем чистый код при помощи деструктуризации объектов в JavaScript Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScriptВ этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом...

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

Как не стать жертвой IT корпораций? Практически каждый день на просторах Интернета появляется очередной привлекательные сервис, призванный сделать жизнь комфортнее или привнести в нее новый пользовательский опыт: вроде сервисов доставки еды в автомобиль, VR-чатов и метавселенной Facebook.Данные пользователей —...

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

Герметизация корпусов для электроники. Часть 1: пластик и резина В этой статье мы расскажем и покажем, как обеспечить герметичность корпуса для электроники — сделать его непроницаемым для воды и пыли. Под катом вас ждет разбор стандарта IP с разными степенями защиты и сравнительный анализ методов герметизации на серийном производстве.&nbs...

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 2) Продолжаем цикл статей, посвящённый основам Django Rest Framework. В предыдущей статье мы подробно рассмотрели, как сериалайзер валидирует входные данные. В этой статье мы закрепим теорию на простом примере, а также затронем те вопросы, которые не успели рассмотреть раньше:...

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

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

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

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

Роскомнадзор угрожает заблокировать «Википедию» за статью о событиях на Украине На официальной страничке «Русской Википедии» в Twitter появилось сообщение о том, что Роскомнадзор прислал уведомление от Генпрокуратуры с угрозой блокировки Википедии за статью «Вторжение России на Украину (2022)». В уведомлении говорится, что в...

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

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

Обход блокировки OpenVPN в Египте Во время поездки в отпуск в Египет я приобрел сим карту местного оператора и решил посмотреть как быстро будет (по сравнению с традиционно медленным wifi отеля) работать интернет включая подключение к нашей внутренней инфраструктуре.Поскольку власти Египта используют DPI для...

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

Сам себе Роскомнадзор Список заблокированных РКН ресурсов для использования с VPN стремительно теряет актуальность, поскольку, во-первых, многие ресурсы блокируются или замедляются на ТСПУ и записи для этих ресурсов в выгрузку не вносятся, во-вторых, после известных событий конца февраля многие р...

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

Атака на промышленную IT-инфраструктуру Здравствуйте, уважаемые читатели.Сегодня рассмотрим базовый сценарий атаки на IT-инфраструктуру организации. В качестве цели может выступать что угодно: от пиццерии до банков.В наше время (во многом благодаря санитарно-эпидемиологической обстановке) многие организации вынужд...

Microsoft тестирует функцию «Цитаты» в Microsoft Edge При исследовании проекта студенты часто начинают с поиска в Интернете. Они рыщут по Интернету, собирая статистические данные, цифры и другую информацию, чтобы разработать и усовершенствовать свои тезисы. В идеале студенты цитируют свои источники по мере того, как они находят...

Таблицы в react Представьте: у вас есть таблица с данными, которые можно редактировать. Как мы это оформим? Читать далее

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

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

Что нужно знать про Postman: максимально коротко о Mock Servers, Flow и Visualize На просторах интернета часто встречается информация о платформе Postman. Большинство статей включают информацию о переменных, различных скриптах и автоматизации при тестировании. Но на самом деле Postman – это не только инструмент для тестирования, а платформа, которая помог...

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

[Перевод] Pinned Object Heap в .NET 5 Эта небольшая статья Конрада Кокосы дополняет опубликованный неделей ранее перевод «Внутреннее устройство Pinned Object Heap в .NET». В этом материале Кокоса подходит немного ближе к практике, рассказывая об API, используемом для выделения объектов в POH, сравнивая его с зак...

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

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

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

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

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

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

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

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

[Перевод] Шаблоны C++: как итерировать по std::tuple — основы Для большинства стандартных контейнеров перебор элементов можно осуществлять просто с помощью цикла for с диапазоном прямо во время выполнения. Но что насчет кортежей (std::tuple)? В этом случае мы не можем использовать обычный цикл, так как он не «понимает» список аргументо...

Из чего состоит мировой эфир. Последняя теория Менделеева В марте 1869 года была опубликована первая версия периодической системы Менделеева. Систематический вид из рядов и групп она приобрела через пару лет – вот так выглядел вариант от 1871 года. Как известно (о чем я уже упоминал в статье про пределы таблицы Менделеева и элемент...

Computer Vision для iOS, Android, Web Привет, я Денис Соколов, руковожу R&D в Zenia — это платформа для йоги и фитнеса, которая использует ИИ для трекинга поз человека (подробнее об этом — в другой моей статье). Наша система распознавания работает на трёх платформах — iOS, Android, Web. В этой статье поговор...

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

[Перевод] Эмбеддинги признаков и повышение точности ML-моделей Прим. Wunder Fund: короткая статья о том, как эмбеддинги могут помочь при работе с категориальными признаками и сетками. А если вы и так умеете в сетки — то мы скоро открываем набор рисерчеров и будем рады с вами пообщаться, stay tuned.Создание эмбеддингов признаков (fe...

Что там у ReactOS? 16 декабря сего года, команда разработчиков ReactOS, спустя долгое время после последнего релиза (с последнего прошло почти полтора года) выпустила новую версию под номером 0.4.14. Это все еще альфа-версия.В данной статье мы рассмотрим основные новшества как со стороны разра...

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

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

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

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

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

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

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

[Перевод] Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python Прим. Wunder Fund: в статье рассказано, зачем появился и существует GIL, как он работает, и как он влияет на скорость работы Питона, а также о том, куда в будущем вероятно будет двигаться Питон. У нас в фонде почти все, что не написано на плюсах — написано на Питоне, мы прис...

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

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

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

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

Как устроена система игровых событий в проектах Playrix В продолжение темы нашего движка VSO, которую затронули ребята в статьях про разработку нашей «маленькой Unity» и про улучшение редактора, расскажу об одной из систем, относящихся к игровой логике. Это кросс-проектная система игровых событий GameEvents. Читать далее

На каких бесплатных инструментах строить Observability и зонтичный мониторинг: ELK vs Graylog vs Grafana Loki vs Monq Сами по себе логи, трейсы, метрики - это очень узкие артефакты состояния нашего объекта наблюдения и обслуживания. Для понимания общей картины нужен взгляд сверху, сбор всех важных сигналов в одну систему и работа с большими данными в ней. Зонтичный подход близок по своим це...

RabbitMQ Streams для сбора и обработки телеметрии умного дома Традиционно для сценариев поточной обработки с использованием Map-Reduce рассматриваются такие решения как Hadoop/Spark, либо используются конвейерные системы (например Kafka), для которых есть возможность реализовать концепцию потоков (streams) с помощью дополнительных инст...

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

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

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

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

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

Реверс-инжинирим структуру БД PostgreSQL по плану запроса к ней Большая часть оптимизаций запросов к базам PostgreSQL может выполняться "механически", следуя разного рода маркерам в плане выполнения запроса, которые подскажут, что и как можно ускорить. Но "глубинные" переработки алгоритма, вроде описанных в статье про DBA-детектив, требу...

[Перевод] Хуки — это лучшее, что случилось с React React — это самая популярная фронтенд-библиотека из экосистемы JavaScript. Она известна простотой использования и читабельностью кода, создаваемого с её применением. Это позволяет организациям самых разных масштабов успешно внедрять данную библиотеку. Но компоненты, основанн...

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

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

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

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

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

База знаний wiki сохранит внутренние документы компании — как сделать ее удобной для пользования Привет, Хабр! Я Вика Левена, тимлид продуктовой аналитики AGIMA. В этой статье я расскажу, как сделать хранилище для сотен документов, созданных десятками людей, удобным и работающим инструментом, а главное — популярным среди коллег. Читать далее

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

AGIMA.Outsource: зачем нам 400 подрядчиков и как мы их ищем Привет! Я Юля Грибова из AGIMA, руковожу отделом закупок. В этой статье расскажу, как нам удалось за 5 лет в 40 раз увеличить количество подрядчиков у компании и зачем нам это было нужно. Думаю, узнать обо всем этом будет интересно коллегам по рынку и тем, кто сам выполняет ...

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

В сети появилась возможная дата выхода God of War: Ragnarok В базе данных PS Network появилась возможная дата выхода God of War: Ragnarok. Информацию опубликовал аккаунт в Твиттере PlayStation Game Size. Читать полную статью

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

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

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

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

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

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

[Перевод] Стратегия управления глубиной очереди ввода-вывода для достижения пиковой производительности По материалам статьи Джо Чанг (Joe Chang): I/O Queue Depth Strategy for Peak Performance (IO Queue Depth Strategy) Статья была опубликована рание на SQL.RU Публикуется повторно ввиду недоступности сайта.В большинстве случаев для SQL Server применяются незамысловаты...

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

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

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

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

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

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

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

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

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

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

iPhone легко взломать даже без участия жертвы. Шпионское ПО Pegasus делает всех уязвимыми Журналист New York Times Бен Хаббард (Ben Hubbard) опубликовал большую статью, в которой он рассказал о том, что его смартфон iPhone был дважды взломан злоумышленниками во время его работы на Ближнем Востоке. В статье он подробно рассказал о случившемся и утверждает, чт...

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

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

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

Линия фронта «холодной войны» TELINT. The Space Review Программа Tell Two по сбору телеметрических данных о ракетных и спутниковых запусках в 1960-х годах.Из ранней истории ракетных и космических испытаний времен "холодной войны". Помимо знаменитого U-2 у американцев были и другие самолеты радиоэлектронной разведки. Статья о про...

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

[Перевод] Топ-10 методов веб-взлома 2021 года по версии PortSwigger Добро пожаловать в топ-10 новых методов веб-взлома 2021 года. Это заключительный этап ежегодной работы нашего сообщества. Цель работы — выявить самые значимые в области веб-безопасности, опубликованные в 2021 году. PortSwigger — разработчик инструментов для этичного хакинга,...

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

Формула образования будущего: 4 слагаемых и покемоны Пикачу, Венузавр, Бульбазавр, Ивизавр, Сильвеон, Мьюту, Чаризард, Метапод, Бидрилл, Псидак, Пиджи, Пиджит, Пиджеотто, Электабазз, Оманайт… Я честно списала эти названия покемонов с сайта, потому что запомнила только двух: Пикачу и Бульбазавра (одного знала, второй смешной). ...

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

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

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

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

Как вести учет криптовалютного портфеля в Гугл Таблицах Введение«Деньги любят счет» - это пословица, как никакая другая, очень точно описывает всю суть успешного распоряжения своими деньгами.На сегодняшний день существует множество инструментов и сторонних сервисов (Blockfolio, Coinmarketcap, Cryptocompare и т.п.) для ведения уче...

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

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

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

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

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

Что вы делали прошлым летом: на лыжах по городу Прошлым летом я тестировал батарейку. Я уже здесь писал о своей шайтан-арбе, которую я сделал весной. Но батарейки, которые у меня были, позволяли проехать чуть больше 25 км — маловато будет. Захотелось мне разжиться новой. О том и история, но будьте готовы к тому, что в ...

Как ManyChat на PHP8 переезжал Привет, меня зовут Максим, я бэкенд-разработчик в ManyChat. Эта статья – о нашем переходе на PHP8. Однажды мы решили немного поисследовать – посмотреть, чего нам будет стоить возможный переход на новую версию, и запланировать эти работы на следующий год, сразу на 8.1. П...

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

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

Железный Отладчик Для ZX Spectrum До текущего момента, отладка С кода для ZX Spectrum была возможна только в некоторых эмуляторах. В предыдущей статье описан процесс написания отладчика, который использовал цепочку gdb-клиент (z88dk) <-> gdb-протокол <-> gdbserver (эмулятор Fuse). В этой статье о...

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

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

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

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

[Перевод] TDD: Что пошло не так? Эта статья является переводом материала «TDD: What went wrong or did it?».В сфере разработки программного обеспечения уже давно хвалят Test Driven Development (TDD, разработка через тестирование). Однако в последнее время было сказано много резких слов в адрес TDD, поскольку...

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

Автоматическое многоуровневое хранение данных Infortrend оптимизирует производительность Компания Infortrend® Technology, Inc. (TWSE: 2495), ведущий разработчик и производитель средств для хранения данных, внедряет автоматическое многоуровневое хранение данных в новые хранилища семейства EonStor CS с горизонтальной масштабируемостью NAS. Данная фу...

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

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

Microsoft исправила ошибку, из-за которой пользователи Internet Explorer не могли обновиться до Windows 11 Пару дней назад Microsoft опубликовала информацию о новой известной проблеме, не позволяющей пользователям Windows 10 обновить свои системы до Windows 11. Microsoft заблокировала обновление для тех, кто все еще использует Internet Explorer и готовится перейти на Windows 11 б...

Свободный поиск по вашим правилам В последнее время активно ходят слухи о том, что в основанных на Chromium браузерах скоро станет невозможно удалять поисковые системы, установленные в браузерах по умолчанию. Ожидается, что такое счастье наступит в жизни пользователей Google Chrome, Microsoft Edge, Brave и O...

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

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

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

Теперь в боковой панели Google Chrome можно читать статьи Обновление браузера расширит функциональность боковой панели.

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

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

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

Установка и настройка Swagger Validator Swagger - популярное решение для документирования API. Он использует OpenAPI Specification. Писать документацию это отлично и прекрасно, но было бы замечательно если она будет валидной и рабочей.В статье небольшая инструкция по установке и настройке валидатора. Настроить

Всё о проекте «Спутниковый интернет». Часть 41. Каждый спутник SL имеет 16 лучей и может обслуживать 2000+ абонентов Предлагаю ознакомиться с ранее размещенными материалами по проекту StarLink (SL): ‣ Часть 35. Проблема StarLink и LEO группировок ‣ Часть 36. Ретроспектива частотных планов ‣ Часть 37. НеДовыход из бета-версии и проблемы с выполнением предзаказов ‣ Часть 38. Новый т...

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

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

О бедном Arcanum замолвите слово В Arcanum, как и в любой другой игре, существует масса собственных бинарных форматов. Эта статья познакомит вас с форматом упаковки изображений, который использовала студия Troika Games. Читать далее

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

Wireguard VPN, Yggdrasil, ALFIS DNS и AdGuard На написание этой статьи спровоцировала вот эта статья, с кучей странностей, и необязательных действий. Если коротко, то автор не понимает зачем он ставит те или иные программы, а именно - Unbound и dnsproxy. Но так как кроме исправления недочётов той статьи хочется добавить...

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

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

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

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

Behave test recorder. Запись сценариев автотестов Привет! Меня зовут Степан Лущий, я – тимлид команды тестирования компании «БАРС Груп». Мы занимаемся созданием автоматизированных тестов (автотест), инструментов для их написания, а также развитием инфраструктуры автотестирования. В этой статье я расскажу, как мы разработали...

Актуальные форматы изображений в вебе Эта статья — расширенный вариант нашего внутреннего документа о том, как подготавливать изображения для сайтов и веб-приложений. В ней мы описали актуальные форматы и собрали рекомендации, как добавить поддержку WebP и AVIF на сайт и какие инструменты можно использовать. В з...

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

[Перевод] CSS :has() селектор Вы когда-нибудь задумывались о селекторе CSS, где вы проверяете, существует ли конкретный элемент внутри родителя? Например, если у компонента карты есть миниатюра, нам нужно добавить к нему display: flex. Это было невозможно в CSS, но теперь у нас будет новый селектор CSS :...

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

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

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

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

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

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

[Перевод] DeepETA: как Uber прогнозирует ETA с использованием глубокого обучения Прим. Wunder Fund: В сегодняшней статье рассказываем, как Уберу удается точно предсказывать время прибытия такси или курьера. Мы нашли её очень увлекательной, как и несколько других статьей из технического блога Убера.Волшебный клиентский опыт пользователей Uber зависит от т...

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

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

Как устроен счетчик ссылок в Swift Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для чело...

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

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

Парсинг исторических данных с Google Scholar используя Python Как спарсить исторические данные 2017-2021 годов с Google Scholar и сохранить их в CSV, SQLite используя Python и SerpApi. Читать далее

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

Golang для Embedded Linux При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет н...

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

Как создать telegram бот на C# быстро? Как создать telegram bot на C# быстро?В этой статье мы рассмотрим заготовку для создания telegram бота на C#. В связи с последними обновлениями TelegramBotAPI, большая часть удачных с моей точки зрения публикаций на эту тему несколько устарело. Потому предлагаю разобраться в...

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

Программирование в науке: полувековое легаси и Fortran 77 Александр Нозик, физик и программист, руководитель Nuclear Physics Methods Laboratory в JetBrains Research, заместитель заведующего Лабораторией методов ядерно-физических экспериментов и магистерской программой в МФТИ — о том, как перевести научный код на современный стек и ...

Как выстроить систему планирования в жизни для достижения цели Всем привет! Меня зовут Владимир Тутынин, я методолог продуктового подхода и сегодня расскажу о своем методе планирования. Вы увидите, какие шаги я выполняю и какими инструментами пользуюсь для достижения результата.Нам понадобятся две программы:1.    &nb...

Django Rest Framework для начинающих: как работает ModelSerializer В предыдущих статьях мы подробно разобрали работу сериалайзера на основе классов BaseSerializer и Serializer, и теперь мы можем перейти к классу-наследнику ModelSerializer. Класс модельных сериалайзеров отличается лишь тем, что у него есть несколько инструментов, позволяющ...

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

Руководство GNU troff Здравствуй, Хабр!Первая часть перевода документации troff в библиотеке Coolib. Сегодня этот замечательный текстовой процессор, старший брат LaTeX, редко упоминается на компьютерных форумах, однако история troff очень и очень достойная. Кроме всего прочего, troff компакт...

Проблемы с Windows 11: Microsoft подтверждает широко распространенные сбои приложений В Windows 11 была обнаружена еще одна ошибка: сбой приложения Ножницы (snippingtool.exe) с загадочной ошибкой «Это приложение не открывается». Microsoft подтвердила, что сертификат с истекшим сроком действия вызывает проблемы у пользователей. В Windows 11 внесены существенны...

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

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

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

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

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

[Перевод] Четыре новых атаки на схему безопасного обмена ключами KLJN В этой статье мы рассмотрим четыре новых статистических атаки на схему безопасного обмена ключами KLJN (Кирхгофа-Лоу-Джонсона). В атаках используются генераторы случайных чисел. Мы рассмотрим несколько вариантов знакомства “хакера” с информацией о двух устройствах приема-пер...

Байесовская Сеть Доверия Применительно IoT Привет, Хабр. В предыдущей статье рассматривали методы и алгоритмы Обнаружения и Диагностики Неисправностей (ОДН) IoT устройств. Как логическое продолжение рассмотрим Байесовскую Сеть Доверия (БСД) для IoT устройств целю ОДН.Байесовская сеть доверия (англ. Bayesian Belief Ne...

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

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

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

Топ 10 самых интересных CVE за февраль 2022 года ДИСКЛЕЙМЕР!Внимание! Вся представленная информация предназначена для ознакомительного изучения. Автор не несет никакой ответственности за причиненной вред с использованием изложенной информации.Заканчивается второй месяц 2022 года, пора подвести итоги самых интересных уязвим...

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

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

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

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

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

Что такое Netcat? Bind Shell и Reverse Shell в действии Друзья, всех приветствую!В этой статье мы поговорим о том, что такое Netcat и с помощью него реализуем Bind и Reverse Shell соответственно.NetcatNetcat, впервые выпущенный в 1995 году (!), является одним из "оригинальных" инструментов тестирования на проникновение в сеть. Ne...

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

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

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

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

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

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

Год в поиске 2021: Google подвёл итоги уходящего года Google подвела итоги 2021 года в традиционном проекте «Год в поиске». Это повод вновь вспомнить и заново пережить ключевые моменты последних 12 месяцев. По мнению Google, 2021 год стал годом контрастов, поскольку одни и те же события вызывали у людей противоположные эмоции ...

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

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

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

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

Вам кажется, что с вашей документацией что-то не так? Вам не кажется Меня зовут Семён Факторович, с 2012 года я занимаюсь технической документацией. Последние три года я руковожу собственным агентством documentat.io, помогая российским IT-компаниям создавать качественную документацию. Мы пишем документацию с нуля (руководства пользователя, с...

Обзор ORM для C#: что подойдет для проекта Одна из проблем использования языков объектно-ориентированного программирования (ООП) и баз данных в сложности их согласования между собой. Знание языка структурированных запросов (SQL) и умение писать запросы позволяют взаимодействовать с БД напрямую. Но использование «чист...

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

[Перевод] Капля здравого смысла для Windows-разработки на C и C++ Суровая действительность разработки на C и C++ для Windows такова: для этой платформы никогда не существовало качественной, нативной реализации стандартной библиотеки этих языков. Стандартная библиотека должна абстрагировать механизмы базовой системы ради упрощения разработк...

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

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

БДСМ с БД ПМО или как я работал с госданными Росстат ежегодно публикует порядка 4 тысяч показателей государственной статистики. Они доступны всем без каких-либо ограничений по статусу, правам доступа и т.п. Но публикуя данные, Росстат прежде всего ориентируется на то, что пользователи будут работать с ними вручную (гла...

Новые АЭС в России и рост доли атома до 25% В этой статье я расскажу о том какие новые атомные станции и энергоблоки планируется построить в России в ближайшие десятилетия. Для их строительства есть несколько причин. Во-первых, парк российских АЭС устаревает. Уже выводятся из эксплуатации реакторы прошлых поколений, т...

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

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

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

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

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

Вехи развития GUI: Alto, Apple, Blit, Paintbox и другие ранние системы Привет, Хабр!Перед следующей статьей из цикла «Приключения микропроцессоров» мы решили поговорить с вами о GUI. Из года в год система взаимодействия ОС, ПО и пользователей совершенствовалась. Аппаратные методы общения с компьютером уступили место интерфейсу командной строки....

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

SSH Picker в ежедневной работе сетевого инженера В статье рассмотрим полезный инструмент облегчающий сбор данных с сетевых устройств. Для работы скриптов с командной строкой по SSH на языке Python нужно использовать множество сторонних модулей, а вернее множество зависимостей одного модуля (привет paramiko), а если на маши...

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

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

Патентный тролль купил у BlackBerry патенты по мобильным технологиям на $600 миллионов Канадский производитель смартфонов BlackBerry продал свои патенты на технологии мобильной связи компании Catapult IP Innovations Inc. за $600 миллионов. BlackBerry заявила, что сделка включает в себя все её непрофильные интеллектуальные активы. Источник изображения: BlackBer...

C++ Builder. Есть ли жизнь после смерти? Мнение одного динозавра В этой статье я опишу собственные впечатления о последних версиях среды разработки RADStudio от Embarcadero и, возможно, постараюсь помочь кому-то в ответе на вопрос: «А оно мне надо?».Сразу оговорюсь. Все описанное в этой статье является моим личным мнением и любые сравнени...

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

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

Доставка логов с ВМ из systemd в Yandex Cloud Logging Одна из самых частых и понятных задач в разработке и эксплуатации — доставка логов. И дальше в статье мы с вами используем Fluent Bit для доставки логов из виртуальной машины в сервис Yandex Cloud Logging. Читать туториал далее

Кейс: как soft skills повлияли на карьерный рост Привет! Меня зовут Миша Ларченко, я разработчик в Sytac B.V. Последние 7 лет живу и работаю в Нидерландах. В этой статье я расскажу, как складывался мой путь от верстальщика в бобруйской газете до разработчика в нидерландской компании. Спойлер: в этом как-то замешаны soft sk...

.xlsx изнутри. Разбор структуры файлов. Разбор каждого .xml файла Это статья о разборе excel изнутри. Вы узнаете как работать со стилями ячеек, листов через xml, как вносить данные и формулы в ячейки и мого другого. Читать далее

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

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

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

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

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

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

Нейронные сети в кибербезопасности — текстовая модель с низкой задержкой, сохраняющая конфиденциальность Для начала пару слов об обработке текстовой информации, рекуррентных сетях и методах защиты конфиденциальности пользователя.Рекуррентные нейронные сети (Recurrent Neural Networks, RNNs) — популярные модели, используемые в обработке естественного языка (NLP). Идея RNN - ...

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

Восстанавливаем результаты выборов в Государственную думу 2021 года с помощью машинного обучения Результаты выборов в государственную думу, которые проходили 17-19 сентября 2021 вызывают сомнения у многих экспертов. Независимый электоральный аналитик Сергей Шпилькин оценил количество голосов, вброшенных за партию власти, примерно в  14 миллионов. В данной работе пр...

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

Ирпень. Хроники апокалипсиса Вид на центр города. Время 21:30Эта статья сугубо о технических проблемах городского жителя во время чрезвычайной ситуации. Без политики. Без персоналий. Без чернухи. Без дат и точной хронологии. Местами бессвязные заметки инсайдера, который любит создавать и использовать ку...

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

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

Нужен ли Mockito, если у вас Kotlin? Салют, коллеги.В рамках пятничной статьи предлагаю посмотреть на интересный способ создания моков в Kotlin, без использования сторонних библиотек.Я занимаюсь разработкой аддонов для Atlassian-стека в компании Stiltsoft и, из-за технических ограничени...

[Перевод] Оба плохи: сравнение UX консолей Playstation 5 и Xbox Series X Существует проблема, над которой я размышляю уже несколько лет: удобство пользования видеоигровыми консолями гораздо ниже, чем работа со стандартными потребительскими приложениями, но об этом редко говорят. В 2020 году и Microsoft, и Sony выпустили консоли «нового поколени...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Находим более качественные решения при помощи boost Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комит...

[Перевод] Проактивные SIM-карты После столкновения с проактивными SMS-сообщениями от SIM-карты AT&T (перевод статьи тут) я решил проверить и другие SIM-карты. Не секрет, что практически все они поддерживают проактивные функции, но мне стало интересно, сколько карт используют их фактически. Читать далее

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

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

ЦРУ? ФСБ? Нет мой друг… Маркетологи. ADINT или как за тобой следят через рекламу DISCLAIMER: Данная статья написана в ознакомительных целях и не является руководством к неправомерным действиям или обучающим материалом для сокрытия правонарушений.В качестве небольшого предисловия… Каждый из нас пользуется смартфоном. Это просто факт. И каждый из нас замеч...

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

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

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

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

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

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

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

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

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

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

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

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

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

Эволюция хранилища данных в Авито Сейчас Data Warehouse в Авито — это инсталляция на 32 серверах. Мы используем девятую версию Vertica и ClickHouse. В команде, которая отвечает за хранилище, работает 21 человек. Поток событий, который мы загружаем, достигает 20 миллионов событий в минуту. Я расскажу, как мен...

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

Обновление KB5005463 подготавливает ПК к работе с Windows 11 Windows 11 развертывается поэтапно, и теперь Microsoft опубликовала новое обновление Windows 10 KB5005463, чтобы помочь пользователям подготовить свои устройства к новой операционной системе. Хотя Windows 11 не будет выпущена для всех до начала следующего года, вы можете заг...

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

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

Книга «Python и DevOps: Ключ к автоматизации Linux» Привет, Хаброжители! За последнее десятилетие технологии сильно изменились. Данные стали хитом, облака — вездесущими, и всем организациям понадобилась автоматизация. В ходе таких преобразований Python оказался одним из самых популярных языков программирования. Это практичес...

[Перевод] Сериализуемость транзакций В этой статье рассмотрим, что такое "Сериализуемость" (Serializability) и какие гарантии она предоставляет.В реляционных СУБД уровень изоляции Serializable (сериализуемость), как следует из названия, обеспечивает сериализуемость транзакций. Однако, как вы увидите далее, в не...

Проходим L6 интервью на System Design в FAANG Привет, из-за последних событий решил поделиться материалами по собеседованиям в зарубежные компании, которые сам собирал последние несколько лет. Описанное ниже - смесь из личного опыта, историй на различных форумах и анекдотов собранных через знакомых - поехали. Читать дал...

Тестовая документация и анализ требований В преддверии старта курса "Game QA Engineer" публикуем текстовую расшифровку онлайн-интенсива по курсу, который провела Надежда Чертовских — руководитель отдела QA в компании BeresnevGames и преподаватель OTUS.  Цели интенсива:• познакомиться с основными видами тес...

VMware HCX Привет, Хабр! На связи Александр Воронцов, технический специалист Cloud4Y.Сегодня расскажу про VMware HCX. Дам выжимку из документации и личного опыта о том, что за зверь такой HCX и как его можно использовать (и как его нельзя использовать, но очень хотелось бы, тоже расска...

Дизайн и платформа как у Pixel 6, но компактнее и с аккумулятором емкостью 4800 мА·ч. Возможные характеристики Google Pixel 6a На выходных появились данные о том, что относительно недорогой смартфон Google Pixel 6a может выйти во втором квартале текущего года (ориентировочно, в мае), а сейчас опубликован подробный список его возможных характеристик. Если данные источника подтвердятся, то при це...

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

Создан компакт-диск, на который можно записать до 500 ТБ данных Команда ученых из Саутгемптонского университета в Великобритании создала компакт-диск, на который можно записать до 500 ТБ данных.Речь идет о «пятимерном» диске из кварцевого стекла диаметром 127 мм и толщиной 4 мм. Ученые уверяют, что на него можно записать до 5...

Компания Microsoft выпустила Windows 10 Build 19042.1766, 19043.1766 и 19044.1766. Компания Microsoft выпустила Windows 10 Build 19042.1766, 19043.1766 и 19044.1766. Это обновление безопасности включает улучшения, которые вошли в состав обновления KB5014023 (выпущенного 2 июня 2022 г.), а также исправляет следующие проблемы: • Исправлена уязвимость повышен...

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

Как настроить устройство с Windows 11 без подключения к Интернету В этой статье рассказывается о том, как настроить устройство с Windows 11 без подключения к Интернету. 1. «Подключение к Интернету» нажмите Shift + F10, чтобы открыть командную строку. 2. Введите «OOBE\BYPASSNRO» (без кавычек) и нажмите Enter. 3. Это перезагрузит вашу систем...

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

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

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

Использование procmon от sysinternals для диагностики проблемных мест в исполняемом коде Сразу хочу сказать, что это только демонстрация возможностей procmon для определения проблемных мест в программном обеспечении. 1С83 была выбрана для опытов из-за неочевидности способа поиска точки входа в процедуру проверки наличия установленных эмуляторов ключа. Она выполн...

Как удалить рингтон c Айфона, загруженный через GarageBand или с компьютера: 3 способа Удаление раздела Рингтоны из iTunes, а затем и самого приложения в macOS Catalina не остановила пользователей, которые сумели отыскать способы загрузки рингтонов в iPhone, однако столкнулись с трудностями по их удалению. В этом материале мы расскажем, как удалять любой загру...

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

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

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

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

Использование Gatling. Разбираемся в тестировании HTTP Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling. В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями би...

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

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

Разбор алгоритмических задач с собеседований в Google, Facebook, Amazon Всем привет! В данной статье пройдемся по двум задачам, взятым с leetcode.com из списка часто встречаемых задач на собеседованиях в FAANG:1. Guess the word2. Number of Good Ways to Split a StringЯ надеюсь на то, что вам понравятся задачки, и возможно, вы напишете свое лич...

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

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

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

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

[Перевод] Революция в области хранения данных и аналитики с помощью MongoDB Atlas в Google Cloud и HCL Для каждой организации необходимы данные, которым можно доверять и получать к ним доступ, независимо от их формата, размера или местонахождения. Быстрые темпы изменений в технологиях и переход к облачным вычислениям революционизируют методы обработки, управления и регулирова...

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

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

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

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

Филип Сун, Huawei, призвал операторов к использованию возможностей 5G+XR В ходе сессии под названием «5G: объединяя виртуальность с реальностью» (5G: Connecting Virtual and Reality) конгресса MWC22 Barcelona директор по маркетингу подразделения по работе с операторами компании Huawei Филип Сун (Philip Song) произнес программную речь на тему «5G+X...

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

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

[recovery mode] Low Cost Engineering как метод бережливого производства в технологическом стартапе Тот, кто не готов внедрять новые решения, достаточно скептично относится к такой формулировке как Low Cost Engineering, считая, что создание прототипа – это огромные затраты. Опытные же инженеры все чаще используют данную концепцию как один из инструментов бережливого произв...

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

[Перевод] Прощай Evernote Прощай EvernoteПеревод статьи об альтернативе сервису ведения заметок Evernote Читать далее

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

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

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

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

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

Ольга Миримская обратилась к главе Следкома РФ Бастрыкину Известная российская бизнесвумен Ольга Миримская просит главу Следкома РФ Александра Бастрыкина своим вмешательством пресечь вопиющую несправедливость в отношении нее. С этой целью Миримская опубликовала открытое письмо к Бастрыкину. 17 декабря 2021 года Миримскую доставили ...

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

Ericsson объявила об уходе из России По данным источников "Коммерсанта", доля Ericsson на российском телекоммуникационном рынке составляет до 20%."В конце февраля Ericsson приостановила все поставки клиентам в России. В свете последних событий и санкций Европейского Союза компания теперь приостан...

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

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

SQL HowTo: генерируем лабиринты (алгоритм Прима и геометрические типы) SQL является мощным инструментом для обработки множеств, а функционал PostgreSQL позволяет делать многие вещи еще проще, поэтому идеально подходит для реализации некоторых алгоритмов на графах.Причем работа с графами - это не просто разминка для ума, а вполне себе прикладная...

Что необходимо знать, чтобы написать свою Embedded RTOS (часть 1) Хотел бы написать небольшой цикл статей посвященных тому, как я написал свою RTOS с какими трудностями столкнулся и зачем вообще писать свою RTOS если уже есть FreeRTOS, RTX, embOS и т.д. список достаточно большой. Начнем с того, что по мере работы я сталкивался с тем, что ...

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

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

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

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

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

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

[Перевод] Flutter 3: что нового Представляем перевод статьи о свежем релизе Flutter с комментариями Евгения Сатурова, Head of Flutter в Surf. Читать далее

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

Загрузка stage слоя DWH. Часть 1 Доброго дня. Меня зовут Иван Клименко, я разработчик потоков обработки данных в компании Аскона. В этом цикле статей я расскажу опыт внедрения инструмента Apache Nifi для формирования DWH. Данная статья посвящена первому этапу внедрения Apache NIFI - начальным потокам в...

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

[Перевод] Преодоление сложности в самом сердце DDD Эта статья является переводом материала «Tackling Complexity in the Heart of DDD».Давайте проведем небольшой эксперимент: попробуем объяснить суть предметно-ориентированного проектирования (DDD) тому, кто понятия об этом не имеет. Это, особенно если делать кратко, непросто. ...

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

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

Работа с проблемными *.dwg-файлами в среде nanoCAD версия 2.0 Формат *.dwg — самый популярный формат хранения электронных чертежей. Зачастую *.dwg-файлы хранятся годами, сохраняются в различных системах, используются разными пользователями и из-за этого могут накапливать различные ошибки. Чтобы обезопасить себя и свои документы, перед ...

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

Как работает React: подробное руководство Привет, друзья! В этой статье я покажу вам, с чего начинается React. Что это означает? Это означает, что мы разработаем мини-версию React, которая сможет выполнять следующий код: import '../style.scss' import MyReact from './my-react' const buttonStyles = { border: 'none...

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

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

Применение Rust в разработке: страдания и высокий порог входа. Григорий Петров разбирается, когда этот язык необходим Rust набирает популярность среди разработчиков. Мы, организаторы RustCon, решили опубликовать серию статей о том, по каким причинам компании начинают использовать его для своих проектов. Первая статья в серии - интервью с Григорием Петровым, DevRel из Evrone. Применять ...

Недельный геймдев: #58 — 20 февраля, 2022 Из новостей: новая версия RPG Maker будет работать поверх Unity, Дисней опубликовал USD-ассеты из мультфильма Моана, стала доступна коллекция ассетов Scene3D для упрощения разработки 3D игр с помощью Defold.Из интересностей: статья от команды Unity по работе с террейном, ...

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

«"Википедия" стала новой линией постоянных информационных атак на россиян», — Роскмонадзор требует удалить материалы 4 апреля Роскомнадзор на основании поступившего требования Генеральной прокуратуры РФ направил администрации «Википедии» требование ограничить распространение недостоверной общественно значимой информации. В последнее время на Википедии стали массово размещ...

TINKOFF-INVEST. Разработка торгового робота на JAVA. Часть 2 Как же быстро летит время... Прошло почти 2 месяца с момента публикации моей первой статьи о работе с TINKOFF INVEST API – Разработка торгового робота на JAVA. Часть 1, в которой мы начали свое знакомство с инструментарием автоматизации торговли, предоставляемым брокеро...

04. The Gold-Bug A good glass in the bishop’s hostel in the devil’s seat forty-one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death’s-head a bee line from the tree through the shot fifty feet out. ...

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

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

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

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

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

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

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

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

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

Неожиданный противник принятия единого разъёма USB-C: им оказался глава организации USB-IF В процессе утверждения интерфейса USB-C в качестве единого разъёма в Европейском союзе появились неожиданные противники данной концепции. USB Implementers Forum (USB-IF) — некоммерческая организация, продвигающая и поддерживающая USB — опубликовала своё заяв...

Проблема многоязычности Question Answering over Knowledge Graphs и новый датасет QALD-9-Plus, способный её решить Для разнородных групп пользователей (прим. язык, возраст), возможность одинаково эффективно взаимодействовать с веб-приложениями является одним из важнейших факторов такого понятия как "доступность" (англ. Accessibility). Это относится и к системам автоматического ответа на ...

Как можно повысить качество создания программного обеспечения с помощью методологий Lean Six Sigma и PRINCE2 Наукоемкое производство в наши дни нельзя представить без применения самых новейших методов управления и бизнес-инжиниринга.  Если еще каких-то лет 15 назад наукоемкое производство в России почти отсутствовало, то сейчас в этой сфере наблюдаются подвижки, а значит растё...

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

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

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

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

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

Золотое правило системного администрирования Я занимался разработкой систем последние 12 лет своей жизни. У меня в руках побывало всё. Я видел системы, работающие на COM портах, для передачи данных между терминалами. У меня есть сертификат NEC, подтверждающий тот факт, что я могу программировать их зубодробительные с...

Ещё одно решение игры Wordle на Python В начале 2022 года мир захватила головоломка Wordle и почти сразу стали появляться варианты решения. На Хабре уже появилось описания двух вариантов решения, но они мне не понравились, поэтому я изобретаю свой собственный велосипед. Ссылки на предыдущие решатели:1) https://ha...

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