Как стать автором
Обновить
-28
0
Вадим @BigDflz

Пользователь

Отправить сообщение

Параллельность в Java на практике

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.5K

Как следует из названия, здесь будет только про параллельное выполнение (не путать с конкурентностью). Так же я не буду затрагивать проект Loom, который «должен убить» все остальные подходы написания параллельного кода. Надеюсь изложенное ниже позволит начинающим java программистам разобраться с разными подходами и структурировать имеющиеся знания.

Начинающие java программисты, разрабатывая новые сервиса, сталкиваются с задачей выбора технологий, фреймворков и т. д. При написании параллельного кода так же есть множество различных вариантов. Вряд ли кто‑то будет создавать и запускать треды вручную, но можно использовать старый добрый ExecutorService. Можно выбрать Stream API или Reactor с его реализацией параллельной обработки. Есть ещё Akka и куча других экзотических фреймворков. Некоторые из них разработаны под набор конкретных задач, другие же вроде подходят для любых. И как оценить производительность того же Reactor против ExecutorService, или же, например, используя Stream API. Попробуем разобраться.

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии5

Создание приложения для распознавания текста с изображений и аудиофайлов

Уровень сложностиСложный
Время на прочтение29 мин
Количество просмотров6.7K

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

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

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии2

Решение концептуальной проблемы с Unity ECS. Messenger для System

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров2.4K

Всем привет! В этой статье я подробно разобрал своё решение проблемы реализации "ивентов" в ориентированном на данные дизайне для Unity ECS. Если вы заинтересованы в Unity DOTS/ECS, то данная статья нацелена именно на вас.

Читать далее
Всего голосов 3: ↑1 и ↓2-1
Комментарии9

Мой поиск аналога Microsoft Visio

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров49K

Доброго дня всем.

В сегодняшней статье хотел бы поделиться проведенным анализом приложений, потенциально способных заменить MS Visio для разного рода задач.

Читать далее
Всего голосов 39: ↑36 и ↓3+33
Комментарии64

Основные принципы маскирования в CSS

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров14K

В мире дизайна маскирование является популярной техникой реализации уникальных эффектов. Будучи дизайнером, я сам использовал эту технику много раз, но не очень часто в веб-среде. Думаю, что от её применения на сайтах меня удерживала недостаточная поддержка браузерами. Полноценно этот функционал поддерживается в Safari и Firefox, а вот в браузерах на движке Blink (Chrome и Edge) — лишь частично.

Радует то, что тема CSS маскирования будет частью Interop 2023, а значит, вскоре можно ожидать кросс-браузерную поддержку этой возможности (Вау!).

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

Поехали!
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии1

Подключение инкрементального энкодера к микроконтроллеру ATmega8

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров4.3K

Типовая схема подключения энкодера к микроконтроллеру ATmega8 представлена на рисунке 1. На схеме тактовые выводы A и B подтянуты с помощью резисторов R1 и R2 к питанию и дают низкий сигнал при срабатывании.

Читать далее
Всего голосов 18: ↑14 и ↓4+10
Комментарии19

Цифровой двойник – что это такое? Объемная картинка или работающий актив?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров11K

Меня зовут Александр Никитин, руководитель направления цифровых двойников UMNO.digital (ГК НефтеТрансСервис). С 2018 года я специализируюсь на разработке цифровых двойников для промышленных предприятий, и за это время реализовал проекты на 10+ предприятиях, в т.ч. обогатительной фабрики, угольного карьера, портового терминала, вагоноремонтного предприятия, цеха подготовки ковшей на сталеплавильном комбинате и т. п.

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

Читать далее
Рейтинг0
Комментарии23

Геометрия объектной модели документа: исчерпывающее руководство

Время на прочтение12 мин
Количество просмотров4.8K



Я не считаю, что DHTML — cool, просто картинка хорошая)


Привет, друзья!


Представляю вашему вниманию перевод этой замечательной статьи.


Знаете ли вы, что кроме интерфейсов, определенных спецификациями объектной модели документа (Document Object Model, DOM) и объектной модели каскадных таблиц стилей (Cascading Style Sheets (CSS) Object Model, CSSOM), существует также набор свойств и методов, определяемых в модуле отображения CSSOM (CSSOM View Module)? Этот интерфейс предназначен для определения и манипулирования геометрией элементов DOM.

Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии0

Мульти-поточная загрузка и выгрузка текстур в OpenGL C++

Время на прочтение7 мин
Количество просмотров4.8K

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

Читать далее
Всего голосов 9: ↑6 и ↓3+3
Комментарии27

Добавляем в Go-проект конфигурацию на языке Terraform

Время на прочтение10 мин
Количество просмотров4.8K

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

Я, как инженер, встречал удобные и не очень текстовые конфигурации: conf в Nginx, ini в systemd, JSON в VSCode… А также YAML. Он не стал новым словом в языках, но показал, какой красивой может быть конфигурация. Впрочем, сам по себе язык тупой как пробка: если вы попробуете писать на YAML что-то сложное, с переменными или циклами, то получится химера вроде Ansible. Или вроде манифестов Kubernetes, у которого диалект настолько переусложнён, что его приходится шаблонизировать с помощью Helm.

Да, как понятно из заголовка, я хочу поговорить про язык Terraform, но сначала…

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Комментарии3

За что вы минусуете карму?

Время на прочтение4 мин
Количество просмотров10K

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

Читать далее
Всего голосов 66: ↑57 и ↓9+48
Комментарии647

Как сгенерировать UUID в качестве первичных ключей при помощи Hibernate

Время на прочтение8 мин
Количество просмотров12K

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

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии2

Шпаргалка по работе с медиа в браузере

Время на прочтение19 мин
Количество просмотров12K



Привет, друзья!


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



Шпаргалка представлена в форме вопрос-ответ.



Туториалы по теме:



Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Разъяснительная беседа об асинхронном программировании в Javascript

Время на прочтение15 мин
Количество просмотров20K
Привет всем!

Как вы, возможно, помните, еще в октябре у нас переводилась интересная статья о применении таймеров в Javascript. Она вызвала огромную дискуссию, по результатам которой мы давно хотели вернуться к этой теме и предложить вам подробный разбор асинхронного программирования в этом языке. Рады, что нам удалось найти достойный материал и опубликовать его еще до конца года. Приятного чтения!
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии16
2

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Зарегистрирован
Активность