Snusmumriken
А что, нет?
Anonymous
Ну вообще он сам об этом говорит. Но меня сам термин воображаемого ооп позабавил
Anonymous
Похоже пора вводить в программирование на ряду с абстракцией )
Snusmumriken
Когда ты преисполнишься познания, можешь обнаружить что некислая часть бытовых вещей есть ни что иное как воображаемые конструкты, что не умаляет их влияния на твою действительность.
Snusmumriken
Кэп-мод-офф
Anonymous
Магические методы, абстракции, воображаемое ООП, демоны в линукс, год-мод в виндовс. А технологии не такие уж и приземленные каким кажутся на первый взгляд
Anonymous
Даже пищевую отрасли приплели - синтаксический сахар и хлебные крошки
Snusmumriken
Жизненный цикл ПО
Anonymous
Ахахах
Lucky
Кто-то сказал "математика"
Lucky
https://habr.com/ru/post/476372/
Lucky
Lucky
Вот и живите теперь с этим.
Leon174
Вы вот ругаетесь тут, чуть не схоластическую поножовщину устроили, а Haxe тем временем до 4.2 обновился и туда поля на уровне модуля завезли. Теперь не нужно функции и переменные в классы заворачивать, черти бы их драли.
usernameak
почему луа выглядит так, будто ее можно превратить во что угодно с минимальными усилиями?
Leon174
Потому что ее так спроектировали.
usernameak
то есть это by design, а не случайное стечение обстоятельств?)
Leon174
Да, именно by design. Это js по пьяни налабали, а луашечку с любовью делали.
Leon174
У Роберто фраза была, мол, мы даем механизмы. Найду точную фразу, скину.
Leon174
Ага, один из бэкендов.
Leon174
Вывод там, правда, обморочный. Оно и понятно, Haxe чуток сложнее Lua будет.
Leon174
Такое вот... class Test { static function main() { var people = [ "Elizabeth" => "Programming", "Joel" => "Design"]; for (name in people.keys()) { var job = people[name]; trace('$name does $job for a living!'); } } }
Leon174
... превратилось в это.
Leon174
У Роберто фраза была, мол, мы даем механизмы. Найду точную фразу, скину.
In other words, Lua provided mechanisms, not policy — a tenet that we have tried to follow closely ever since.
Snusmumriken
... превратилось в это.
Потянуло за собой кусок механизмов ооп, массивов, строк и ещё кучки всего.
Leon174
Вот поэтому Teal и Fennel интереснее, как по мне. А так-то Haxe хорош.
Snusmumriken
Похож на .net байткод наоборот.
Leon174
В Fennel сейчас пилят match guards, вообще чума. Типа такого. https://haxe.org/manual/lf-pattern-matching-guards.html
Leon174
В Teal, кстати, match нет, хотя явно напрашивается. Может потом завезут
Luсky
Хабрь это.
mva
ну, куча людей, например я, были бы не против увидеть как минимум это :)
mva
ну и кулстори про написание почитать
mva
(вообще я про скрипт умного датчика движения говорил) :)
Snusmumriken
Только один файл за коннект отправляется?
Snusmumriken
Ну ещё ничего.
Snusmumriken
Прост для постоянных соединений, поверх TCP делаются протоколы.
Snusmumriken
Ну вдруг пачку надо переправить ))
Snusmumriken
Кстати, файл отправляется без каких либо метаданных, даже без имени и формата.
Snusmumriken
Я делал на nodemcu довольно крупный сервер, который чисто по кодовой базе занимал >15 мегабайт, лол. Угадай как.
Snusmumriken
Динамическая подгрузка модулей по необходимости, и вычистка из памяти при завершении работы модуля, да.
Snusmumriken
Типа local module = require"stuff" ... do stuff package.loaded["stuff"] = nil collectgarbage() Ну и внутренняя организация сервера которая это позволяет.
Snusmumriken
Флешка.
Snusmumriken
А я про озу )) Ну лан
Snusmumriken
Но я предупреждаю, что самый простой формат передачи отдельных сообщений по tcp — [N символов длины сообщения][тело сообщения]. Например: msg = "Hello world" tcp_sock:send( ("%.5d%s"):format(#msg, msg) ) Приём, соответственно: local len = tonumber(tcp_sock:receive(5)) local data = tcp_sock:receive(len) Так можно мутить постоянный коннект с передачей кучи сообщений пачкой. А если чуть заморочиться — и до неблокирующей асинхронщины недалеко.
Snusmumriken
Файл большого размера не влезает в оперативку?
Snusmumriken
Ну, почему кернелпаник? Не влезает?
Snusmumriken
Кста, совсем забыл, ещё запись из файлов/в файлы крайне желательно делать чанками: local f = io.open(filename, "r") local tcp = socket.connect(host, port) local chunk = f:read(2048) while chunk and #chunk > 0 do tcp:send(chunk) tcp:flush() chunk = f:read(2048) end tcp:close() Становится пофигу на размер файла и объём оперативки.
Snusmumriken
Сделай функцию appendfile: local function appendfile(filename, data) local f = io.open(filename, "ab+") f:write(data); f:flush() f:close() end
Snusmumriken
Точно?
Snusmumriken
Судя по твоему ресиверу, там уже идёт запись чанками. Функция receiver должна вызываться много раз, как раз чанками.
Snusmumriken
От количества tcp:send'ов ничего не зависит.
Snusmumriken
tcp — это поток. Писать в tcp — всё равно что писать в файл на другом компьютере.
Snusmumriken
А ещё там есть буферизация и объединение нескольких tcp:send'ов в один, и ещё много чего. На конечной стороне оно уже может резаться на свои произвольные кусочки.
Snusmumriken
Значит твои файлы настолько маленькие, что их не чанкует. Чанки обычно по 2048, 4096 и 8192 октета. В общем, в степенях двойки.
Snusmumriken
Возможно чанкуется, должно по крайней мере. Я не знаю точной организации того сервера.
Snusmumriken
Твой сервер точно не потрошит файл на кусочки (sendfile), твой клиент (getfile) — в зависимости от реализации сервера на нём ))
Snusmumriken
ОТ ЭТОЙ ШТУКИ ЗАВИСИТ, будет чанковаться на приёме или нет.
Snusmumriken
Кароч. Если ты собираешься отправлять большие файлы (больше 8 кб) — потрошишь и отправляешь.
ReactIsFramwork
Нет
ReactIsFramwork
Есть название
ReactIsFramwork
Забавное
ReactIsFramwork
Кричащей змеи
ReactIsFramwork
Шаутинг что то там
Snusmumriken
Snusmumriken
Кебаб — это когда дефисы всё таки, типа foo-bar-baz, тип нанизаны на палку.
Luсky
Шаутинг что то там
Про всё рассказывай
ReactIsFramwork
Гуглить нада
Luсky
про надчёркивание и зачёркивание
Luсky
и перечёркивание
Snusmumriken
ReactIsFramwork
Точно
Snusmumriken
Но не советую особо верить википедии, потому что там упоминаются даже очень малоизвестные варианты. Условно, если один какой-то рандомный чел сказал "я называю это так".
ReactIsFramwork
Но смешно же
ReactIsFramwork
Написание кричайшей змеи
ReactIsFramwork
Это здорово
usernameak
UPPER_SNAKE_CASE