Vsevolod
нет никаких отказов в выделении
Snusmumriken
А куда выделять память, если физическая кончилась а свопа нет или он ограничен?
Snusmumriken
Что тогда будет?
Vsevolod
malloc тебе вернет NULL только с очень странными настройками vm.swappiness
Snusmumriken
Вот, это то что я назвал отказом.
Vsevolod
Vsevolod Stakhov, [21.02.18 18:08] тебе ОС говорит: вот тебе кусок виртуальной памяти с адреса 0xdeadbabe длиной 100500 байт Vsevolod Stakhov, [21.02.18 18:08] но виртуальная память не обязательно отображается в физическую Vsevolod Stakhov, [21.02.18 18:08] пока ты в этот кусок ничего не понасрал, то это адресное пространство может вообще не отображаться в оперативку
Snusmumriken
Восхитительно. Но что будет если она попробует закакать эту память, а физической нет и вообще никакой доступной нет, куда можно реально записать?
Vsevolod
сегфолт
Snusmumriken
Думаю что нет. Ось рассылает сигналы: "мало памяти, чистите". Даже у love2d есть колбек на это дело.
Vsevolod
ну да, и сигнал называется сегфолт :)
Snusmumriken
И мы приходим опять к нашим котяткам. Только вот ещё одна проблема: они все начинают делать ОДНОВРЕМЕННО. Комп вешается на несколько минуточек. Меня просто не очень интересует как это устроено, а как сделать работу на компе удобной и приятной ))
Vsevolod
SIGSEGV
Snusmumriken
Сучка хром ещё и выделяет каждую страницу в своём процессе, и ещё "ядро" - тоже в своём процессе. Так просто лимиты не выставишь.
Vsevolod
ну, это из разряда вопросов "как нам Русь обустроить"
Vsevolod
памяти купи, епт :)
Snusmumriken
Хех, а если я на китайском планшете с 2гб памяти?
Anonymous
Vsevolod
ааа, я тупанул насчет luajit
Anonymous
Всеволод, а ты луаджит ковыряешь?
Snusmumriken
памяти купи, епт :)
У тебя совершенно нечестная и неправильная политика. Нормальные, в моём понимании, люди делают вещи для людей. Не для бесконечных кошельков, которые всегда могут выплюнуть 100500 миллиардов на новенький блестящий кампухтер. Ты как будто ориентирован на потребителей-кошельков, серьёзно.
Vsevolod
luajit вообще имеет свой аллокатор и всю память выделяет из 32-х битного адресного пространства
Vsevolod
по какому поводу у многих товарищей ужасный баттхерт
Vsevolod
ну да, там 64bit gc
Vsevolod
а проблема 4-level page tables, вроде решается тем, что он маппит пару экзабайт памяти, чтобы запретить себе ненужные биты, и все
Vsevolod
вон, как asan
Snusmumriken
Так. На x32-версии, максимум - 1.38гб.
Snusmumriken
для истории
fgntfg
О, и МВА в форме скринов.
fgntfg
Хороший он дядька
Georgy
это чат по Луа или С/С++ ))
Anonymous
lua bez c ne bivaet
Anonymous
soryan
Snusmumriken
Ну, Сева думает что это плюсовый чат : )
Ground
Всем привет nodemcu тут обсуждается? По адресу зашёл?
vvzvlad
это скорее в @pro_esp8266
Ground
Благодарю
Alexander
Друзья! Приглашаю на очередной митап Lua in Moscow в этот понедельник! https://www.meetup.com/Lua-in-Moscow/events/248051727/
B
звините за вопрос, это кто то отседа писал на хабре статьи недавние про создние игр на love? перед тем как читать детально статьи хотел бы поинтересоваться как\чем gif делали?
Snusmumriken
а) Сделал один товарищ, SSYGEN, вот его гит: https://github.com/SSYGEN/blog/issues/30 б) Записывать гифки - чем угодно, я сам пишу через gifcam. Частоту кадров повыше - и вперёд.
Elias
От себя могу посоветовать LiceCap А на Linux есть Peek (который ещё в mp4 и webm может). :3
Elias
https://gfycat.com/UntriedFaintCygnet Заодно покажу .webm, который на Peek записал, и похвастаюсь. Плавные переходы в четырёх цветах. :D
B
извините оффтоп: но может кто сталкивался в Visual Studio идет постоянная загрузка рабочей области конструктора таблиц SQL, и ни туда ни суда и все просто ждет загрузки
Alexander
привет кто-нибудь сборку love2d настривал в iintellij?
Alexander
это в clion cmake, а тут ничего не знаю, как натравить love на директорию
Alexander
идея джавовская - не знаю скрипты она пофайлово умеет запускать, например плагин для love поискал, не нашел в репозиториях у них
А как она скрипты запускает?
Если прописывается строка вида "путь_до_скрипта аргументы", то ты там что угодно можешь запустить.
Alexander
путь до интерпретатора есть пусть /usr/bin/love
Alexander
парни, ам вэри сори надо было полный путь до директории Чай был прав
Alexander
там конфигурируется запуск таргета как и во всех джетовских идешках
Alexander
мб кому-нибудь пригодится автодополнение https://github.com/rm-code/love-IDEA-plugin
Alexander
ну если работу работаешь в clion и кнопки все горячие знаешь то профит в скорости, думаю, должен быть (в виме я на работе тоже пишу)
Alexander
а ZeroBrane?
Для IDEA есть EmmyLua, умная штука.
Vsevolod
хм, надо заценить
Alexander
Alexander
Какой плагин умнее, раз такие пироги?
Vsevolod
вот я сравниваю
Vsevolod
работал пару лет с lua by sylvanaar
Vsevolod
комплишен сломан, проверок типов нет, интеграции с luacheck нет
Vsevolod
у emmylua все это есть и вроде бы работает
Alexander
emmylua на мой первый пятисекундный взгляд покруче, согласен
Konstantin
Поддержу за emmylua. Пробовал ещё какой-то плагин к Idea, но тот похуже.
Konstantin
Кстати, кто ещё не зарегался на наш митап Lua in Moscow 26-го числа (это вот прям уже в ближайший понедельник, послезавтра) — самое время! :) https://www.meetup.com/Lua-in-Moscow/events/248051727/
Я.
Vsevolod
Попользовался день emmylua, активно разрабатывая lua кот. И чего я раньше о нем не знал, блин!
Vsevolod
Очень крутой плагин, есть, считай, все
Vsevolod
Только c api не умеет комплитить, но это вряд ли вообще возможно
Dmitry
у меня тупой вопрос: как дебажить sailor в ZeroBrane Studio? стартую сервер через xavante, точка останова в контроллере
Dmitry
я попробовал отладить через консоль с помощью mobdebug, но у меня .listen не срабатывает, вылетает с ошибкой: % lua -v Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio % lua -e "require('mobdebug').listen()" Lua Remote Debugger Run the program you wish to debug lua: /home/d9k/.luarocks/share/lua/5.2/mobdebug.lua:1622: attempt to index local 'server' (a nil value) stack traceback: /home/d9k/.luarocks/share/lua/5.2/mobdebug.lua:1622: in function 'listen' (command line):1: in main chunk [C]: in ?
Dmitry
уф сработало через ZeroBrane Studio файл controllers/main.lua моего проекта: local main = {} debug_mode = true function main.index(page) if debug_mode then require('mobdebug').start('127.0.0.1') end page:render('index') end return main отладка перехватывается в IDE на строке page:render
Dmitry
Какую lua библиотеку для логирования посоветуйте? Нужна возможность задавать уровень подробности логирования (info, error...) и категорию (db, access и т. д.).И чтобы в зависимости от категории и уровня логи автоматически раскладывались по файлам (файлы и фильтры для них задаются в конфиге). Иногда сообщение должно дублироваться в несколько файлов (например, ошибка базы должна ложиться и в db.log и в error.log) (описал, как работает логироване в Yii)
Dmitry
@Snusmumriken, дай ссылку на либу посмотреть) @CyberSpirit, спасибо можно, но лень же ☺️ вообще сначала лучше спросить, чем свой велосипед развивать) может, уже хороший проект есть, можно форкнуть, доработать и сделать пулл-реквест) большинство библиотек для логирования заброшены( есть библиотека log4l, но там нет описанного мною функционала, вроде бы
Dmitry
не понимаю 🙄 почему так?
Dmitry
ну уж лучше допилить часто чужое, хоть немного проверенное в деле, чем своё писать с нуля) не знаю, как у других, а у меня в каждых пяти строках ошибка, а тесты со 100% code coverage писать лень 😅
Alexey
для разделения по типам нужно использовать различные логгеры при этом один логгер может использовать несколько писателей и один писатель может использоваться в несколький логгерах
Alexey
Я несколько раз пытался придумать формат для конфига, но так и не нашел того что меня бы устроил
Snusmumriken
Делаешь функцию, которая возвращает объект-аппендер. Да, аппендер не должен блокировать, то есть типа такого: function newAppenderToFile(path) return function(text) local file = io.open(path, 'wb') file:write(text) file:close() end end Атомарные операции.