Igor
Я просто на таблицу вешал метод __gc и ждал пока он хоть раз вызовется
Igor
И принудительно мусорщика стартовал
Igor
Ничего не происходило
Snusmumriken
У луажыта (и 5.1) метод __gc на таблицах не работает, только на userdata.
Igor
Hello, World! 🎄
Luсky Ook, помнишь ты про branchless писал в другой группе?
Hello, World! 🎄
В общем я написал на Python и C нахождение максимального числа из массива и с if быстрее чем без него
Hello, World! 🎄
Hello, World! 🎄
Если искать сумму если элемент >50, тогда branchless быстрее ветвления.
Snusmumriken
Branchless полностью jit'уется, по дефолту, в случае использования jit'а.
Luсky
а есть примеры бранчлесс-кода на Lua?
Snusmumriken
Ну например
branches = {}
branches.foo = function() ... end
branches.bar = function() ... end
for i, v in ipairs(data) do
branches[v.key](v)
end
Оно хорошо jit'уется.
Egor
Приветы.
Кто-нибудь делал oauthчерез гугл для SPA приложения?
Не очень понимаю как вообще сделать. Если это классическое приложение, где хтмл генерится на бэкэ, то все делается легко, а как быть с SPA? Где и как токены хранить?
Snusmumriken
Приветы.
Кто-нибудь делал oauthчерез гугл для SPA приложения?
Не очень понимаю как вообще сделать. Если это классическое приложение, где хтмл генерится на бэкэ, то все делается легко, а как быть с SPA? Где и как токены хранить?
Ну собсно вот.
https://developers.google.com/identity/protocols/oauth2
Ты на страничке девелопера гугла заводишь новое приложение, лепишь туда всякие ключи, именуешь и т.д.
Гугл в ответ даёт тебе ссылку, на которую ты редиректишь для логина пользователя.
Ты предлагаешь юзеру эту ссылку а ля "залогиниться под данным юзером", он заходит по гугловой ссылке, логинится там, гугл редиректит его обратно тебе на сайт (урл редиректа помнится тоже прописывается) со свежими данными в query а ля "токен-фигокен".
Записываешь себе где-нибудь токен, выдаёшь юзеру куку. По этой куке он теперь логинится.
Это если я правильно помню механизм.
Hello, World! 🎄
Пытаюсь научится писать нейросети, простой перцептрон (2 входа, 1 скрытый слой с 2 нейронами, 1 выходной слой с 1 нейроном). Нейросеть училась по 4 примерам (массив data) складывать числа.
После 10 тысяч раз, результат стал очень близким к значению.
Hello, World! 🎄
Hello, World! 🎄
Только вместо сигмоиды я взял, вот эту функцию (т.к тут область значений подходит для результата)
Hello, World! 🎄
С минусом тоже без проблем все работает
Hello, World! 🎄
А вот с умножением далеко от идеальных значений
Hello, World! 🎄
Если со сложением все понятно, что каждая цифра имеет значение которое добавляется к общей сумме.
То с умножением нейросеть должна знать, что умножение на 0 это 0, что на 1 это же число.
Скорее всего для решение такой задачи нужно добавить еще нейроны в сеть для хранения более сложного состояния.
Igor
Молодец какой, нейронки считать учишь. Это тебе зачтётся, когда роботы поработят кожаных.
Hello, World! 🎄
Igor
Luсky
Оставайтесь на месте. Полиция уже выехала.
Hello, World! 🎄
Немного обновил нейросеть, теперь на вход 3 параметра, 1 скрытый слой с 3 нейронами и 1 выходной нейрон.
Задача нейросети определить последовательный ли ряд чисел.
Примерно +- нейросеть справилась.
Hello, World! 🎄
Только не до конца понял метод обратного распростанения, как будет меняться расчет весов и сдвигов если я добавлю еще 1 скрытый слой или если добавить еще 1 выходной нейрон.
魏
wrong version of python
Hello, World! 🎄
why?
Domka
._.
Domka
В чем беда то лять
Domka
Почему у меня два бота смешивают ебанные параметры
Domka
Добавляю их при помощи функции которую дал снус, все ок они приобретают разные таблицы не смешиваются, проходит время
Domka
И какого то хуя у снаряда этих двоих дебилов одинаковые корды и скорость суммируется
Domka
Бред какой та...
Snusmumriken
Snusmumriken
Ааа, вспомнил
Domka
function newmob(a)
local b={}
for k,p in pairs(a)do
b[k]=p
end
bots[1][#bots[1]+1]=b
end
Domka
Дап...
Domka
Они вродь уже в разных таблицах отдельно друг от друга живут
Domka
И все равно сука как то смешиваютс
Snusmumriken
function newmob(a)
local b={}
for k,p in pairs(a)do
b[k]=p
end
bots[1][#bots[1]+1]=b
end
А вот это что такое?
bots[1][#bots[1]+1]=b
Что это за чепушня? Я тебе такую не давал.
Domka
Это типо подтип
Snusmumriken
Зачем?
Domka
Чтоб разные типы врагов в одной таблице хранить
Snusmumriken
Мммм.
Snusmumriken
А зачем? ))
Snusmumriken
Делаешь всем по функции update/draw и радуешься жизни. Храня в одной и той же табличке, пробегая по каждому.
Domka
Чтобы разные типы врагов в одной таблице хранить
Domka
Snusmumriken
Snusmumriken
А почему бы не смешивать?
Snusmumriken
У тебя враги чем-то критично отличаются?
Snusmumriken
Опиши эти различия в функциях update и draw.
Domka
Суть то в том... что тип врагов под индексом 1 пускает лазер
Snusmumriken
Опиши это в функции update бота типа laserbot.
Domka
Скорость которого умножается магическим образом на колво врагов в таблице под индексом 1
Snusmumriken
Магии тут нет, это ты умножаешь.
Snusmumriken
Ещё бОльшие портянки ты мог выложить? Ну там, метров на 500 ))
Domka
Сорян :^/
Domka
Ну ля, как мне описать проблему, опять же с моей точки зрения все логично, я даже уроки по таблицам как посмотрел так и почитал, все блять работать должно, но не работает...
Igor
Есть у кого-нибудь исходники luadec для Lua 5.0? А то luaforge мёртв, хрен скачаешь, даже web.archive не спас
Igor
Нигде вообще не могу найти, а в скриптах игры олдовой покапаться охота
Igor
Ну, относительно олдовой
Igor
Из хедера я понял, что она Lua 5.0 машинку использует
Snusmumriken
Snusmumriken
Domka
Што...
Domka
Ты тип две отдельные таблицы сделал?
Snusmumriken
Я сделал два "прототипа" для разных ботов.
Snusmumriken
А потом пихаю их в одну кучу.
Domka
А один прототип не получитс хранить ._?
Snusmumriken
Чел
Domka
Чел я
Snusmumriken
Когда у тебя поведение объекта меняется не от его личных свойств, а от места где он расположен — у тебя проблемы ))
Domka
Ты их еще и обрабатываешь разными функциями
Domka
В чем прикол та...
Domka
Один создает, другой стреляет ._.