TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #266 · 21.03

Много лет назад я делал игру ВКонтакте про домики. Одно общее изометрическое поле, где у каждого свой участок, на котором можно строить дом, выбирать его размеры, материалы, форму окон и крыши. И обставлять мебелью. Поле было квадратным 100 на 100, соответственно у каждого квартала был номер по одной оси X от 0 до 99 и по другой Y от 0 до 99. По какой-то причине мне тогда нужно было сохранить это в одном числе как идентификатор квартала, и я подумал, что изобрёл гениальный способ: A = X*100 + Y. Извлечь обратно тоже было легко: поделить A на 100 и округлить вниз, это получался X. А потом Y = A - X*100. Например, квартал с координатами 13-29, собственно, так и записывался: 1329. Важно, что это математические операции, а не строковые. Они и сами по себе быстрее выполняются программой, и позволяют, например, удобно отсортировать участки. Я считал себя очень умным, не зная тогда, что по сути изобрёл системы исчисления, и вообще подобный подход очень банален и прост. Мы куда чаще видим это в битовых масках, потому что и сама задача для двузначных свойств возникает чаще, и компьютер существенно быстрее работает с битами, но от того, какая там база системы исчисления, математический смысл не меняется. Если тебе надо записать в одно число несколько свойств, каждое из которых может быть в N значениях, то в это число должно влезать N*N*N... сколько там у тебя этих свойств. Ты пишешь первое свойство n1, потом прибавляешь n2*N, потом n3*N*N и так далее. Величины существуют в разных разрядах N-ричной системы исчисления, поэтому не пересекаются, и их можно разделить. Игра, кстати, поначалу хорошо набирала пользователей, а потом перестала. Я думал, что она не интересная, и закрыл проект. А сильно позже уже выяснилось, что был баг в коде регистрации игрока, из-за чего новые приходить не смогли начиная с какого-то момента. В том самом коде, который извлекал координаты квартала из его идентификатора, да. #dev

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #polyfill

当前筛选 #polyfill清除筛选
GitHub Trends

@githubtrending · Post #14743 · 23.05.2025 г., 14:00

#javascript#ecmascript_proposals#es2015#es2019#es6#es7#esnext#javascript#js#polyfill#ponyfill#promise#proposal#proposals#shim#symbol#weakmap core-js is a modular JavaScript library that provides polyfills for modern ECMAScript features up to 2024, including promises, symbols, collections, iterators, typed arrays, and many web standards like URL and structuredClone. It lets you use new JavaScript features in older browsers by loading only the needed parts without polluting the global namespace. It integrates well with tools like Babel and swc for optimized polyfilling. This helps you write modern, compatible code that runs smoothly across different environments, improving development efficiency and user experience. You can customize polyfill usage and even build your own tailored version for your project. https://github.com/zloirock/core-js