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

Мой рабочий компьютер — iMac 27″ 5 K 2 017 года: Intel Core i5, 32 ГБ памяти, SSD и macOS Sonoma. Он всё ещё справляется с повседневной работой. Менять его только ради того, чтобы утилиты снова считали его «современным Mac», мне не хотелось.

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

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

Кратко о себе

 Я разработчик в сфере мобильных игр, занимаюсь в основном программированием геймплея и инструментарием для команд. Люблю Lua, C++, Godot и делать интересные хобби проекты, связанные с геймдевом. Эта статья как раз про один такой проект

Глоссарий

  • Godot - популярный игровой движок на C++ с собственным скриптовым ЯП Физический сервер - программный компонент движка, отвечающий за физические вычисления

  • Коллизия – в физической симуляции процесс пересечения пары объектов

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

Последние месяцы я делаю 3D‑мир, который работает прямо в браузере — на Three.js: сцена, персонажи, сеть.

Самое неприятное в производительности браузерного 3D — не ошибки. Ошибку видно: она в консоли, у неё есть стек и виновник. А есть второй класс проблем: всё работает, ничего не падает, просто тормозит. Консоль чистая, кадры падают, и непонятно, с чего начинать.

Речь про Three.js, но большинство выводов переносится на любой WebGL‑стек.

Почему речь про слой, а не про «ещё один 3D‑мир»

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

От всей команды К2 Cloud

Эта статья про железо и автоматизацию нашей инфраструктуры в ЦОДах писалась задолго до событий, с которыми несколько дней назад столкнулись коллеги из Яндекса. Мы сопереживаем коллегам и всем, кого затронула эта ситуация, и желаем скорее вернуться к привычному ритму работы. Наша команда готова помочь с резервированием вашей инфраструктуры в приоритетном порядке: Яндекс договорился с несколькими провайдерами об ускоренном размещении ресурсов. K2 Cloud — в их числе.

Оставьте заявку с кодовым словом CloudBro, мы обработаем ее в первую очередь.

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

Будни администратора Minecraft-сервера: пора обновляться - 1

Уже больше года я занимаюсь активным администрированием сервера Selectel в MinecraftЧитать полностью »

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

В какой-то момент захотелось сделать клиент под себя. С приятным интерфейсом, выбором файлов перед загрузкой и нормальным поведением в фоне. Так появился Tern, бесплатный торрент-клиент для Windows с открытым кодом под MIT.

На момент написания статьи опубликована версия 1.2.0Читать полностью »

Наивность, fail‑fast, fallback, failback, оптимизация и стратегия — на слизне, на кухне и на JavaScript

Эти слова программисты произносят каждый день, и почти каждый понимает их немного по‑своему. Можно было бы начать со словаря: шесть терминов, шесть определений. Это был бы наивный план — в том самом смысле, о котором пойдёт речь ниже, — и к концу статьи станет видно, почему я от него отказался.

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

Как читать. Статья написана сразу для трёх читателей.

Производительность React‑приложения редко ломается из‑за одной «тяжёлой» функции. На практике проблемы накапливаются постепенно: компонент начинает ререндериться чаще, чем нужно, состояние оказывается поднято слишком высоко, в useEffect появляется лишняя работа, а список из нескольких тысяч элементов начинает заметно влиять на интерфейс.

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

Сначала нужно понять, что именно мы оптимизируем

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


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