Рубрика «оптимизация» - 9

Введение

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

Способ тестирования

Читать полностью »

Как и зачем автоматизировать и оптимизировать рабочие процессы - 1

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

Читать полностью »

Если вы интересуетесь развитием открытой процессорной архитектуры или уже разрабатываете что-то под нее, присоединяйтесь в среду, 6 ноября, к вечернему митапу российского Альянса RISC-V и YADRO. Вместе с экспертами из Syntacore, ННГУ им. Лобачевского и YADRO обсудим актуальные новости свободной архитектуры: от цикловых оптимизаций и масштабируемой векторизации до перспектив аппаратных средств мониторинга и анализа производительности в RISC-V.

Для офлайн-участников мы подготовили сюрприз: митап пройдет в самом центре города — Нижегородском кремле. Но, если до столицы закатов вам далеко, Читать полностью »

Почему я скептично отношусь к переписыванию JS-инструментов на «быстрых» языках - 1


Я написал много JS-кода, и мне нравится JavaScript. Самое же главное, я выработал необходимые навыки для понимания, оптимизации и отладки этого кода, от которых не хочу отказываться.

Поэтому у меня вполне естественно возникает беспокойство по поводу охватившей сферу разработки одержимости переписывать каждый инструмент Node.js на быстрых языках вроде Rust, Zig, Go и прочих. Причём ценность этих языков я нисколько не преуменьшаю. Я даже принимал некоторое участие в разработке Servo, да и на столе прямо сейчас передо мной лежит книга по Rust. Но в целом основную часть своей карьеры я вложил в освоение всех нюансов JavaScript, и на данный момент этот язык для меня самый удобный.

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

Визуализатор музыки на основе игры Pong - 1

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

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

Также мы сохраним следующие правила классической игры:

  • Точка контакта мяча с ракеткой определяет угол отражения
  • У ракеток нет ограничений по скорости
  • Мяч отскакивает от верха и низа экрана

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

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

Angular — это мощный инструмент для создания сложных веб-приложений. Но, как и в любом другом фреймворке, возникают свои сложности. Одна из таких проблем — это частые перезапуски тяжелых функций в шаблонах, что сильно бьет по производительности. Если приложение начинает тормозить, значит пора задуматься об оптимизации. И здесь на помощь приходит Memoize Pipe, способный спасти ваш интерфейс от лишних вычислений.

Читать полностью »

Приветствую всех! Невозможное возможно, сегодня об этом и будет статья.

Flappy Bird на Си для Android весом APK всего 92 Килобайта - 1

История

Всё началось в далёком 2021 году. Тогда я наткнулся на репозиторий rawdrawandroidЧитать полностью »

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

Если при этом автомобили совершенно разные (малые самосвалы, БелАЗы, спецтехника, автобусы, легковые, бортовые автомобили) и каждый автомобиль от смены к смене занимается совершенно разной работой с разными водителями... тут за голову схватишься, как этот процесс систематизировать.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js