Size: a a a

2021 November 29

S

Snusmumriken in pro.lua
Какие выводы следовало сделать:
При обработке строк на луёвой стороне, будут создаваться новые фигулины. Если выдать пользователю строковый айпишник он будет сравнивать его с другими по маскам всяким как строки, извлекать подсети string-sub'ом и так далее, и на каждый кусочек строки будет создаваться новая строка в стрингбуфере, и требовать сборки мусора для сборки одно-двух-трёх-четырёхбайтовых строчек. Числа же будут храниться на стеке при возможности, это раз. Два — числа тупее. Три — раз ты не выдаёшь полную репрезентацию айпишника как "192.168.0.1" — лучше число.
источник

VO

Vyacheslav Olkhovche... in pro.lua
так если я число из random_ip() верну -- тоже будет конструкция создана для передачи в сишную set_src_ip() или нет? со всякой сборкой и т.п.
источник

S

Snusmumriken in pro.lua
Ты можешь пихнуть в луа число, а потом принять и обрабатывать его как число.
Ещё ты можешь пихнуть в луа массив байт по указателю (он будет скопирован в стрингбуфер), потом принимать указатель на него обратно. Можешь скастить данные в массиве в инт. Но расходы на строки будут выше, а разницы в удобстве работы с интом, РАЗ ТЫ НЕ ДАЁШЬ СТРОКОВУЮ РЕПРЕЗЕНТАЦИЮ а ля "192.168.0.1" — не будет.
источник

S

Snusmumriken in pro.lua
Карочи, бери инты. Под ipv6 заюзаешь cdata.
источник

VO

Vyacheslav Olkhovche... in pro.lua
так там же не инты, там числа. которые double. тоже неудобство
источник

S

Snusmumriken in pro.lua
А строки null-terminated
источник

S

Snusmumriken in pro.lua
Забей, расходы на этот кусочек памяти будут выше чем на числа
источник

S

Snusmumriken in pro.lua
Всё равно ты экономишь на спичках, если уж экономить то по полной.
источник

S

Snusmumriken in pro.lua
Работа с числами в любом случае будет быстрее, и меньше трат на их обслуживание.
источник
2021 November 30

ШТ

Шмель Тяжеловес... in pro.lua
Привет. Вопрос по luajit. Как лучше передать таблицу(с установленной метатаблицей) через void* указатель data?
Заголовочный файл для ffi:
typedef void (*cpSpaceBodyIteratorFunc)(cpBody *body, void *data);
void cpSpaceEachBody(cpSpace *space, cpSpaceBodyIteratorFunc func, void *data);

Пример:
local eachBody_C = ffi.cast("cpSpaceBodyIteratorFunc", function(body, data)
   -- тут хочу использовать data как табличку
end)

-- Это не нужно наверно
local internal_data = ffi.new('char[1024]')
local void_internal_data = ffi.cast('void*', internal_data)

local function foo()
   C.cpSpaceEachBody(space, eachBody_C, void_internal_data)
end
источник

S

Snusmumriken in pro.lua
Фигасе запросы ))
источник

ШТ

Шмель Тяжеловес... in pro.lua
Пример желаемого:
local eachBody_C = ffi.cast("cpSpaceBodyIteratorFunc", function(body, data)
   local t = ??? -- вытащить из data
   t:someMethod()
end)

local function foo()
   local t = setmetatable(t, some_mt)
   C.cpSpaceEachBody(space, eachBody_C, t??)
end
источник
2021 December 01

VM

Vadim Misbakh-Solovi... in pro.lua
а напомни, пожалуйста, какая у нас тут ситуация по вакансиям? К кому отправлять на согласование?
источник

CP

Companion Philipp in pro.lua
Мне/Снусу
источник

DS

Daniil Smolyakov in pro.lua
О, Elephant 🐘 Games, респект! :-)
Его владелец дал мне дорогу в коммерческий геймдев.
Большущий респект! :D
источник

PK

Polina Klimentyeva in pro.lua
Elephant Games - крупная российская игровая студия.
Сейчас находимся в поиске Lua Dev в команду, готовы рассматривать и без коммерческого опыта).

Наш будущий коллега:
Владеет языками программирования Lua, С++/С#;
Умеет разбираться в чужом коде;
Умеет работать в команде, способность четко укладываться в сроки.

Чем предстоит заниматься:
Внедрять игровые объекты и писать логику их поведения (lua);
Конфигурировать игровой контент;
Интегрировать звуки, текстуры и анимации;
Тесно взаимодействовать с другими отделами при разработке обновлений.

Плюсом будет:
Опыт работы в игровой индустрии/разработка собственных прототипов.

Мы предлагаем:
Возможность работать удаленно или в офисе;
Официальное оформление, стабильная белая зарплата;
Команду влюбленных в свое дело специалистов, которые всегда помогут в сложных ситуациях и по-дружески поддержат;
Прозрачность процессов и адекватный менеджмент;
Компенсацию занятий спортом.

Предусмотрено тестовое задание.
Вопросы и отклики: @pauliinakl
@pauliinakl
источник

PK

Polina Klimentyeva in pro.lua
источник

PK

Polina Klimentyeva in pro.lua
Всем привет, не поздоровалась😁
источник

U

UsernameAK in pro.lua
фраза "умеет разбираться в чужом коде" обычно говорит о чём-то плохом, обычно о том что этот чужой код ужасен
в остальных случаях оно само собой разумеется
источник

n

nibble in pro.lua
потом читаешь комментарии в коде, а там разработчик оставил сюрпризы
источник