Roman
> но будет бешеная каша вроде той которую ты сейчас описал
так это глобальные переменные, это нормально!
для реальных задач они глобальные трогать не будут и все хорошо
Snusmumriken
Карочи, копай либы вроде Lua Lanes. Оно позволяет из луёв открывать дополнительные LuaState'ы и работать с ними. И там много мороки с мьютексами/семафорами даже внутри местных связок между потоками.
Roman
рести прекрасно их спавнит и у него есть семафоры
Roman
какой-то это сделает раньше
Snusmumriken
А вдруг ОДНОВРЕМЕННО )))
Roman
одновременно не бывает
Snusmumriken
Реаллок - процесс не одной миллиардной наносекунды. Там вычисления и процесс реаллока. Если вычисления наложатся, и два LuaState решат что вот этот участок памяти свободен, поэтому они оба туда запишут?
Roman
Снус, ты же крутой чувак, гений всяких сокетов и луа, ну странно, это ведь самые базовые вещи потоков-процессов-операционок
Не могут два потока одновременно что-то сделать потому что это технически невозможно
Snusmumriken
Если на разных процессорах - могут.
О состояниях гонки слышал?
О взаимных блокировках?
Roman
на разных процессорах разные воркеры с разными луа стейтами
Roman
и на разных процессорах.... разная память!! никаких гонок
Snusmumriken
Ну тогда да. Я не очень хорош в системном коде, поэтому не уверен.
Что разная память - может быть одинаковой в Shared Memory, вроде как.
Snusmumriken
Я супер крут в луях и луёвых инструментах. Знаю как работают конкретные вещи вроде Lanes, поэтому мои вопросы несут в том числе предположительную сторону.
Roman
Ты ведь UDP пилил по каким-то заумным схемам, это ведь обязывает к пониманию системных штук
Snusmumriken
Кстати, ты присоединился только сегодня, откуда ты меня знаешь? >:3
Roman
год назад свалил, конфа скатилась в срачи
Snusmumriken
Меня глючит.
Snusmumriken
Ууу
Snusmumriken
Snusmumriken
Если то чего я не понимаю это магия - весь мир волшебен.
Snusmumriken
У меня за мою жизнь был только один проект на C/C++, и это подрубалка стима к луям, фактически биндинг, хотя там я выкурил кучку всего плюсового вроде STL ))
Ну и ещё чутка микроконтроллеров. Нет, я плавно расширяю уровень знаний систем, но в основном - теоретических и не всех. Всё - моя тупая голова не запомнит, только то что вотпрямщас пригодится. Эх. А ещё, за последние пол года я получил кликуху "скриптер носикьюэль" от Настоящего Медведя Сишки и Жавы )))
Roman
Мне кажется максимально привлекательным узнать, как оно там все фунциклирует, только так можно творить эффективные схемы
Хотя на работе я фронтендю по большей части
Anonymous
что такое Scripter NoSQL?
Snusmumriken
Есть такое дело. Но уровней абстракций очень много. Лет через пятьдесят, луа будет слишком низким уровнем абстракции, и на ней никто не будет писать, типа "слишком сложно, всё руками прописывать, нельзя написать "God:CreateWorld() чтобы сразу создалась игрушка" ".
Anonymous
если конечно весь мир не перейдет на Google go
Roman
или жаваскрипт повсюду и везде
Anonymous
жаваскрипт уже
Snusmumriken
что такое Scripter NoSQL?
Это тот кто пользуется уродскими технологиями которые исчезнут через год, а он будет зарабатывать свои миллионы на жаве с постгресом и хихикать в кулачок.
Anonymous
жава сила да
Anonymous
потсгрес тоже
Anonymous
правда аналитика на любом SQL все равно требует определенной акробатики
Anonymous
устарел инструмент
Anonymous
я вот смотрел недавно язык R
Snusmumriken
А я на нём в универе лабы писал.
Отличная штука для научной работы, не отвлекаешься на ерунду, очень похоже на NumPy/SciPy.
Anonymous
произносится и читается Эр )))
Anonymous
хороший универ
Anonymous
так там все по новому
Anonymous
как в матлабе)
Snusmumriken
Правда, количество либ ограничено и незнакомый синтаксис, поэтому после прохождения курса на эрке - вернулся к этому.
Anonymous
для Р мало либ?
Anonymous
ты наверное шутишь
Anonymous
я в сран заходил, там даже для конкретных датасетов либы есть
vvzvlad
А как можно узнать название функции, которая вызвала текущую функцию?
vvzvlad
В 5.2 как я понял, getfenv теперь нет.
Anonymous
бектрейс какой-нибудь парсить?)
Anonymous
хотя я не разбираюсь
Tverd
Я пытался смотреть через debug, но есть один момент, tailcall не отображает функцию вызывателя )
Anonymous
то есть в дебаггере нет бектрейса?
Snusmumriken
Snusmumriken
Но зачем?
Anonymous
луа каджит
Anonymous
а есть способ получить предыдущий фрейм без дебуг.трасебак?
Snusmumriken
У каджита есть товар, если у тебя есть монеты, друг!
Anonymous
для служебных задач может быть полезно. логгинг какой-нибудь
Anonymous
аспектно ориентированное программирование у педиков называется
Snusmumriken
Взять логгер, выставить уровень логирования на дебаг. На бою - врубить уровень инфо/варн.
Anonymous
👌🏾
Tverd
кстати АОП очень интересная штука (я гетеро) 😁
Anonymous
да, интересная, не спорю, просто она возникла как костыль ввиду ригидной натуры рантайма этих языков
Anonymous
джава и дотнет
Anonymous
все равно даже для классического ООП (смолток) в этих языках нужен рефлекшн
Tverd
ну для начала в Джаве появилась, под луа думаю довольно просто запилить, ибо иногда логи мозолят глаза. То что я видел слишком навороченные
Anonymous
который ничем не быстрее, например , питоновског окода
Anonymous
в луа функция это таблица?
Anonymous
если да, то никакого АОП не нужно
Tverd
не, в луа класс - это таблица
Anonymous
это печально
Tverd
а функция - есть функция
Snusmumriken
Хе. В моей стимовой фиговине сам стим логирует кучу всего, но это отключается.
Можно выпендриваться типа:
function addFriend(i)
steam.debug(true)
id = steam.friends.GetFriendByIndex(1)
steam.debug(false)
end
Ну, типа получится как с OpenGL, задавая состояния автомата мы типа пишем, мол, давать вывод в консоль или нет.
Snusmumriken
Мне казалось что такой "рефлекшн" - самый простой и очевидный, в противном случае, поведение функции будет довольно жопным.
Anonymous
у тебя три строчки а функционал всего в одной
Anonymous
АОП как раз с этим борется
Anonymous
О, крипта пришла
Anonymous
да, там пересуложнено на первый взгляд
Anonymous
а как на самом деле хз
Snusmumriken
Плюс функционал в одной строчке, но никто не мешает миллиард строчек написать, но включить и отключить логи на входе и выходе. Так что получается что "АОП" тут — +2 строчки.