Рубрика «Lua»

Предисловие

Сразу хочу сказать, что в этой статье я не буду подробно расписывать, что Sun и Oracle сделали с Java, JavaScript и JSON. Если кратко, то просто будем принимать то, что исторически сложилось.

А сложилось так. В 1995 году Sun выпустила Java и апплеты — Java‑код прямо в странице браузера. В том же году Netscape переименовала свой браузерный язык LiveScript в JavaScript: это была маркетинговая сделка с Sun, а не родство языков. Общего у них синтаксис фигурных скобок и слово в названии. В 2001 году Дуглас Крокфорд вытащил из JavaScript синтаксис объектных литералов и назвал его JSON — формат по происхождению чисто джаваскриптовый.

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

Fantasy Console: приставки, которых нет - 1

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

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

Всем привет, недавно я написал симулятор логических гейтов или вентилей на С++ (sfml для графики + sol2 для интеграции луа скриптов), которые можно программировать на луа таким образом: ```

local gate = {}

gate.inputCount = 2
gate.outputCount = 1

function gate.update(inputs)
    local a = inputs[1] or false
    local b = inputs[2] or false

    local result = a and b
    
    return { result }
end

return gate

Этот код отвечает за гейт и (Когда 2 входа активны выход равняется true, если хоть один не активен то равен false.). И так-же бинды гейтов к клавишам:

```

local binds = {
    ["Num1"] = "scripts/gates/and.lua",
    ["Num2"] = "scripts/gates/or.lua",
    ["Num3"] = "scripts/gates/xor.lua",
    ["Num4"] = "scripts/gates/not.lua",
    ["Num5"] = "scripts/gates/halfadder.lua"
}

return binds

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

Я только начинаю писать код, он у меня не аккуратный и странный, проект писать на luaJIT love 2d, а заголовок правдивый, оно смогло запустить на одном ядре слабого ноутбука 12300 потоков в которых были блоки IF, ROTATE и WHILE TRUE и стабильные 30 fps. https://t.me/Turbo_Scratch/63 Там если что демонстрация и версия для windows если кому надо. Также github.

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

Для тех кому лень читать и хочется сразу потрогать вот Github.

Откуда задача

Перед командой встала типичная для высоконагруженных сервисов постановка по обработке сообщений:

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

  • Очень много ключей партиций — сотни тысяч и выше; заводить под каждую ключ отдельную «очередь» в классическом смысле неразумно.

  • Ограниченный пул воркеров, который шарится между партициями, при этом Читать полностью »

Скриптовые языки уже давно и прочно заняли свою нишу в игрострое — они существенно упрощают описание игровой логики, уровней, ресурсов, диалогов, квестов, UI и чего только не. Что позволяет отдать эти задачи целиком и полностью в творческие руки гейм-/левел-/прочих-дизайнеров и других членов команды, которым не нужно обладать знаниями в том же C++. Разделение ответственности, ускорение разработки, облегчение моддинга возможность, по завершению разработки самого движка, вышвырнуть программистов на мороз и стричь купоны на бесконечных дополнениях — в общем, одни только плюсы. Да?

Да.

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

Введение

Когда я начинал свой путь с Neovim как Python-разработчик, я столкнулся с проблемой: в русскоязычном сегменте практически нет материалов о том, как собрать свой конфиг с нуля.
Есть готовые дистрибутивы (NvChad, LazyNvim, AstroNvim), есть переводы англоязычных статей, но нет пошагового руководства на русском, которое объясняет почему и как устроен современный конфиг Neovim.

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

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

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

Вводная часть

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

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


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