fgntfg
Нужно слать команды и читать ответы
fgntfg
Сейчас это есть, но на perl
fgntfg
И в рот я perl
mva
fgntfg
Snusmumriken
io.popen!
То же самое, только чтение результата как файл. На самом деле реальной разницы никакой.
Если бы popen умела одновременно писать и читать — было бы круто, а так — os.execute короче (без работы с файловыми хендлерами).
fgntfg
А, и еще работа в "интерактивном" режиме нужна
fgntfg
Popen умеет такое
Snusmumriken
Но ты не прочитаешь результат, если не переправишь его в файл.
fgntfg
А в память можно?
Snusmumriken
Нельзя. Именованными пайпами разве что.
fgntfg
Ну пожалуйста
mva
Snusmumriken
Если ты под линуксами — разверни именованные пайпы и читай из них/пиши в них. Под виндовсами — страдать или подрубить скрипт с базой типа редиса.
fgntfg
С stdout как с файлом работать можно?
mva
да
Snusmumriken
Можно.
mva
/dev/fd/1
fgntfg
У меня не *nix
mva
печаль тебе
mva
но там тоже что-то было
Snusmumriken
Блин, я в своё время писал скрипт типа пишем сюда:
luajit /scr/pipe.lua -i MyPipe
Читаем отсюда:
luajit /scr/pipe.lua -o MyPipe
Соответственно, открываем два popen'а и делаем всякую дичь, а сама запись происходит в redis.
Чейнить (под вендой) тоже можно:
python scr.py | luajit /scr/pipe.lua -i MyPipe
mva
Snusmumriken
Обратишься.
local w = io.popen(python scr.py | luajit /scr/pipe.lua -i MyPipe, 'wb')
w:write('bla-bla') -- пишем в питон
local r = io.popen(luajit /scr/pipe.lua -o MyPipe, 'rb')
print(r:read('*a')) -- прочитали то что вернул питон
mva
ах, вотоночо
Snusmumriken
https://pastebin.com/4Rf5fnrd
Мб оно работает не совсем аналогично линуксовым пайпам, ибо при записи, аппендит к строке-буферу пайпы, а при чтении полностью очищает буфер, но это можно адаптировать под нужды. Ах да, оно использует snus_redis, но там же может быть любая другая редисо-либа.
Snusmumriken
Итак. Есть подозрение что у нас завелать крыска-лариска, какой-то пользователь на самом деле тихо сидит и не отсвечивает, на деле являясь направляющим спам-ботом. Скоро будет произведена чистка группы голосовалкой, а ля "я не робот".
Anonymous
На самом деле, первый язык, если на нём долго фокусироваться, имеет довольно сильное влияние на мозги. Ты потом интуитивно, пользуясь другими, стараешься делать так как делал в своём первом.
Сишка совершенно замечательная, но очень серьёзно отпечатывается на мышлении, со своими указателями и прочей байтовой фигнёй.
Ага, я в детстве учился на vb6 (десктоп, а не скрипт) кодить. Потом забыл его, потом всякому разному другому выучился. А потом почитал про его устройство и офигел насколько он близок к моему представлению о хорошем языке высокого уровня, особенно если для непрограммистов. Ну кроме синтаксиза и завязанности на мс. Даже в отсутствии "поолноценного" наследования за которое его ругали и недоязыком считали вижу благо, принуждающее к более адекватной архитектуре (ну или к копипасте, да).
Но вообще большое влияние оказали вообще все языки на которых хоть сколько-нибудь писал (не считая хелловордов).
Зы: Если поискать по чату "на самом деле", то в 90% случаев это сообщения Снуса
Snusmumriken
На самом деле, я просто открываю истину в последней инстанции для несведующих, свечу прожектором разума на тёмную тропу неведенья, лью чистую воду на грязную доску содержающую все знания мира.
fgntfg
Нашел что мне нужно, но не в Lua
Досадно.
Snusmumriken
Ага, я в детстве учился на vb6 (десктоп, а не скрипт) кодить. Потом забыл его, потом всякому разному другому выучился. А потом почитал про его устройство и офигел насколько он близок к моему представлению о хорошем языке высокого уровня, особенно если для непрограммистов. Ну кроме синтаксиза и завязанности на мс. Даже в отсутствии "поолноценного" наследования за которое его ругали и недоязыком считали вижу благо, принуждающее к более адекватной архитектуре (ну или к копипасте, да).
Но вообще большое влияние оказали вообще все языки на которых хоть сколько-нибудь писал (не считая хелловордов).
Зы: Если поискать по чату "на самом деле", то в 90% случаев это сообщения Снуса
На самом деле, твоё представление о хорошем языке высокого уровня сформировалось во время обучения первому языку. Это называется "синдром утёнка", и никто от этого не застрахован, я, например луа-утка и мне норм.
Snusmumriken
То что я советую луа первым первым языком, на самом деле, плохое занятие, потому что надо советовать сразу некоторый набор, а ещё лучше — сразу все на свете языки, включая ещё не появившиеся. На самом-то деле, да.
Anonymous
Шутка ли - малолетний кретин, не имея интернета под рукой методом тыка пришёл к "открытию" тогг как рабгтает хттп и написанию своих http-клиента и сервера, пусть и поганых до невозможности, но ие6 туда коннектился и даже веб-чатик по локалке вполне работал через эту дрянь.
Anonymous
Ку как-бы фигня, но при отсутствии любых знаний, руководств и примеров это не так просто провернуть
Anonymous
Овер tcp само-собой эта дрянь работала
Anonymous
С лонг-пулингом :)
Snusmumriken
Воу-воу, довольно круто кстати. В луях мне пришлось вычитать гору документации чтобы подобное мутить. Правда, тот факт что оно получилось не говорит что это хороший ЯП для обучения, ибо самого "обучения" особо не происходит, если тут можно пилить исключительно методом тыка — ты не получаешь реального прог-образования :<
Сам в луях кучу всего проворачивал методом тыка, но это была вспомогательная проверочно-исследовательская часть процесса чтения доков, покрытие того что доки не описали. Пока полностью не пойму как оно работает — ничего юзабельного писать не буду, только тестики.
А "тру-прог-образованием" я могу назвать, в порядке важности, в первую очередь архитектуры, во-вторую — алгоритмы, в третью — библиотеки. Порядок изучения — "алгоритмы>библиотеки>архитектуры", ибо без предыдущего не поймёшь следующего.
Mikhail
😭👌🏿
Anonymous
Воу-воу, довольно круто кстати. В луях мне пришлось вычитать гору документации чтобы подобное мутить. Правда, тот факт что оно получилось не говорит что это хороший ЯП для обучения, ибо самого "обучения" особо не происходит, если тут можно пилить исключительно методом тыка — ты не получаешь реального прог-образования :<
Сам в луях кучу всего проворачивал методом тыка, но это была вспомогательная проверочно-исследовательская часть процесса чтения доков, покрытие того что доки не описали. Пока полностью не пойму как оно работает — ничего юзабельного писать не буду, только тестики.
А "тру-прог-образованием" я могу назвать, в порядке важности, в первую очередь архитектуры, во-вторую — алгоритмы, в третью — библиотеки. Порядок изучения — "алгоритмы>библиотеки>архитектуры", ибо без предыдущего не поймёшь следующего.
Ну когда я попал на такой замечательный предмет как "веб-программирование" (не спрашивайте где я учился) то оказалось что мне все это предельно понятно (да и сети много лучше чем большинству дались). Более того, когда уже стал работать первые года три меня окружали коллеги, которые не знали как хттп устроен.
Метод тыка там заключался в том, что там прямо в справку иде положили кучу мини-примеров, среди которой быа пара клиент-серверов (на tcp и на udp), передающих друг другу текст. Ну и путем экспериментов выяснил, что к открытому tcp можно браузером коннектиться, а черех клиентский сокет к страничке провайдера. Смысл заголовков я не понимал, но методом "поменять - скомпилить - поглядеть" как-то разобрался. С хтмл чуть раньше подобным же образом разобрался (копипаста и её модификация). В итоге удалось почти нормальный чат соорудить из хтмл-странички на три фрейма, один из которых стучался в tcp-порт, который при подключении отдавал скопипащенные откуда-то заголовки и затем все новые сообщения в чате (при том соединения не разрывал, а просто слал и слал по мере появления). Сообщение отправлялось формой в другом фрейме на другой порт, открытый тем же процессом, тот приняв сообщение отдавал хтмл с этой же формой чтобы она всегда отображалась. Авторизации никакой небыло, но там айпишники показывались :)
Anonymous
Собственно к тому моменту я и так был уже "болен" методом тыка, ибо таким образом "физику освоил" (то есть на школьной физике все было понятно с полуслова, ибо уже на интуитивном уровне было освоено). Только недавно отучился учиться исключительно через изобретение велосипедов, а стал в первую очередь доки читать (даж не гуглю, ибо там чушь обычно, в доках все лучше в большинстве случаев).
Saphire
@Snusmumriken
Saphire
"Mining service"
Saphire
mva
да, что-то, Маша тоже доверия не внушает :)
fgntfg
Этот @FGNTFG точно бот. У кого может быть такой дурацкий ник, кроме как у бота. Совсем ботоводы обленились. Какие-то бессмысленные наборы букв используют.
âDêšwu öBipci
Бань всех, господь своих узнает.
mva
мало того что типичное имя для бота, так ещё и реклама сайта прямо в юзернейме!
а у меня дурацкий?
а можно образец не дурацкого?
fgntfg
Не, обычный
fgntfg
fgntfg - дурацкий
Super
привет всем, подскажите плиз хороший класс на луа, который детектит контент тайп по переменной content-type и по первому чанку
Super
по переменной хедера
Super
да, примерно такая задача
Super
просто content-type бывает ocet/stream
Super
application/octet-stream
Super
т.е. неопределенный
Super
в этом случае интересно можно ли легкой кровью (без сильной нагрузки на процессор) понять что это за файл
Super
я хочу пропустить все, что бинарное
Super
и оставить все, что можно редактировать - html, css, js
Super
я так понимаю можно все понять по первому чанку, но вопрос как
Super
нашел несколько классов на гитхаб, но они не совсем подходят и определяют далеко не все
Snusmumriken
Мм. В целом, есть библиотеки автоматического определения mime. Но ещё есть такая штука как multipart, и в ней указывается полное имя файла, включая формат.
Super
у меня нету задачи определить все, нужно просто понять бинарный ли файл
Snusmumriken
Это легко. Ищешь в нем непечатные символы.
Super
хм, но у изображений оно отсутствует - этот заголовок
Snusmumriken
Просто ищешь символы. Начиная с \0.
Snusmumriken
Super
понял, спасибо за совет
Super
правда не совсем понимаю, сколько символов нужно, чтобы сказать что это бинарный файл. одного достаточно будет?
Snusmumriken
В целом, в текстах обычно нет символов в диапазонах \0-\8 и \17-\31. Можешь обычным find с набором символов. Если вдруг встретил - значит что-то не то и это похоже на бинарь.
Super
т.е. я точно никогда не скажу, могу предположить получаетя только
Snusmumriken
Надо ещё посмотреть на utf8-метки.