аннлн
- оно нечитаемо
- оно не умеет в SSL
- оно не умеет в конверсию типов
- оно возвращает ответ как придётся, логики не прослеживается
аннлн
это как минимум
Snusmumriken
SSL — на совести разработчиков, мб им было достаточно.
Читаемость — вкусовщина, возможно это соответствует внутренним гайдлайнам, и все привыкли к этому.
Конверсия типов и ответ — должны быть задокументированы.
Timur
я как-то в жизни был в Интеле в проекте где мы писали симулятор x86 с нуля (так было надо). так там тернарные операторы были запрещены - потому как ЦА была аппаратные инженеры и им надо было проще
аннлн
Timur
аннлн
лол, я пуллреквест отсылал
аннлн
добавив только поддержку SSL, без вкусовщины
Snusmumriken
А поддержку telnet и gopher ты не впилил? ))
Snusmumriken
А почему? )))
аннлн
почему што
Snusmumriken
Почему не впилил, ты ведь их не впиливал.
Timur
лол, я пуллреквест отсылал
где? открытый вроде не про то https://github.com/tarantool/pg/pulls да и в закрытых не вижу релевантных
аннлн
Snusmumriken
Кароч, расслабляем булочки, делаем пять глубоких вдохов, пьём валерьянку/феназепам/туссин+ по вкусу.. И кладём болт.
Потому что у них в контракте не написано: "мы обязаны поддерживать всё что хочет аннлн, мгновенно реагировать на все его пул-реквесты и стилистически соответствовать всему что он хочет"
аннлн
аннлн
(извините)
Snusmumriken
Кстати, для флуда есть флудильня. Там нет модерации (кроме моей лично) и блочащих ссылки ботов.
Leon174
Кстати, уже хочется флудильню для бэкэндеров.
Snusmumriken
Я бекендер, и там моя флудильня ))
Snusmumriken
Да, вроде того. А вёрстка и браузероскрипты это фронт. То что на стороне браузера.
Leon174
Я знаю, что ты бэкэндер и тут тоже твоя флудильня. Я хочу отдельную, где бы вы тусовались со своими непонятными простым людям задачами и словами.
Leon174
Безусловно, всё было очень интересно, но нифига непонятно.
Snusmumriken
Ну конкретно это можно было бы в ту флудильню и пихнуть.
Leon174
От себя могу добавить, что да, мэйлру отстой. Да и яндекс тоже испортился, на мой вкус. Как Сегалович умер, там все по @#% и пошло. А больше ничего не могу сказать. Помнится, чота на bottle писал. Типа я тоже бэкэндер. Только издалека и со спины.
Snusmumriken
Но особой разницы никакой, просто проматываешь или игнорируешь. Надеюсь, чат у тебя выставлен на "без уведомлений"?
Leon174
Ага
Snusmumriken
Ну и вот, ты такой: "так, тут ничо интересного" и проматываешь ))
А мейлру и яндекс, да и гугл и любая крупная контора — это обычная корпоративная фигня. Кому-то нравится, кому-то нет. Объективно сказать "отстой" — сложно, потому что если совсем отстой — народ разбежится и компания просто прекратит существовать. Если мухи слетаются — значит им вкусно ))
Leon174
А вдруг чо интересное? Может там среди вас кто-то нормальный пробегал. Приходится читать.
Johny
Я тоже почти всё читаю. Хоть и ничего не понимаю.
аннлн
Pavel
Парни. Может кто подскажет.
есть gateway на nginx+lua с задачами middleware + reverse-proxy
хочу понять оверхед, который он добавляет и не могу понять - как его подсчитать.
LUA-шки шлют метрики в statsd, время их работы у меня есть.
есть замеры CPU и памяти с collectd
синтетический тест на стенде - не дает реальной картины
хочется получать метрику в рантайме
fgntfg
поставь какой-нибудь агент мониторинга и собирай метрики
Snusmumriken
Pavel
Pavel
Snusmumriken
Хмм. Потестить прямое подключение и подключение через прокси. Разница — оверхед. Хм.
Pavel
сколько времени запрос потрачено именно на слое гейтвея
Pavel
это тестируется в моменте на тестовом стенде
Pavel
я бы хотел пробовать собирать метрику в рантайме
Ivan
Pavel
то есть хотя-бы со времени получения запроа nginx до момента его пуляния дальше
Pavel
Ivan
нжингс даст все время работы над запросом
Ivan
у тебя есть время lua
Ivan
одно вычитаешь из другого — получаешь то что дает nginx сверху
Ivan
вроде так
Pavel
есть еще время работы апстрима
Pavel
и в нем есть время на передачу
Ivan
Да, это я не учел
Pavel
хочу как-то понимать - хватет ли мне воркеров и коннектов на воркер, или не хватает
Pavel
органическая нагрузка слишком сложная. паттерн не равномерный. апрстимов много и ведут они себя по разному.
Pavel
потому - просто подсчитать на стенде - лучше чем ничего, но мало
Ivan
Очень сложно на искуственном стенде сделать все то же самое что в проде
Pavel
Потому и хочу как то это мерить в рантайме
Leon174
А по типизации вот есть. Вообще загадочные там пацаны. Сначала в Typed Lua писали, что проект заброшен, а смотреть надо на Titan. Теперь Titan брошен, 1.5 года никаких подвижек, но в typed Lua теперь указание на Teal. Выглядит очень интересно.
https://github.com/teal-language/tl
Anatoliy
Всем привет, ребята посоветуйте модуль URL кодирования для луа, я так думаю что такой модуль уже давно существует, на луароксе например, т.е. это модуль который обработает строку http запроса и заменит в ней все символы на их URL коды, т.е. пробел заменит на %20 и т.д. могу и сам написать но зачем если это уже наверняка давно есть
Snusmumriken
Snusmumriken
Кароч, таки калякаю крутого бота который будет задавать вопросы по луа, кикать тех кто не отвечает и делать ещё много страшных штук. Крутиться будет на малине.
Snusmumriken
А ещё он будет запускать сэмплы кода. Но на текущий момент только для меня, потому что я его не положу.
Ivan
Иногда очень удобмно показать какие-то небольшие кусочки кода.
Ivan
Была бы публичная апишка к https://www.lua.org/demo.html можно было бы добавить такую штуку в ботика
Snusmumriken
Сорян за кучу, но имхо прекольно
Snusmumriken
/call
Ну типа кусок кода
for i = 1, 3 do
print("пыщ", i)
end
Snusmumriken
Out:
пыщ 1
пыщ 2
пыщ 3
Snusmumriken
/call
Он типа вырезает кусок с форматированием
function foo(a, b)
return a + b
end
foo(10, "ы")
И исполняет
Snusmumriken
Error: [string "sample"]:2: attempt to perform arithmetic on local 'b' (a string value)
stack traceback:
[string "sample"]:2: in function 'foo'
[string "sample"]:5: in function 'fn'
Snusmumriken
Синтаксическую фигню
/call
тоже ловит
return 10 + for
Snusmumriken
Out:
[string "sample"]:1: unexpected symbol near 'for'
Snusmumriken
И трейсбек, и переопределение print'а специально для бота внутри его setfenv-таблицы, и вывод множественных значений при выводе.
Ivan
А почему просто не ловить STDOUT/STDERR?
Snusmumriken
Потому что щложна ))
Бот на луях. И исполняется луями, теми же самыми.
Snusmumriken
Можно подгрести ffi, но сделать кроссплатформу (тестю на венде, работать будет на линуксе) — неприятно. Да и это только одна команда из набора, не самая важная, чиста утилитарная.
Уже заморочился, но если дальше пойдёт — придётся делать докер, мда ))
Snusmumriken
Хотя вдруг кто-то запустит ffi-код который положит всю машину изнутри докера ))
Ivan
Ограничивать по ресурсам
Snusmumriken
Ну разумеется, но тем не менее. Кароч, лень и впадлу, и так красиво, плюс не забываем про момент:
if msg.from.first_name ~= "Snusmumriken" then
return msg:response("Сорян, ты не мой мастер")
end
Хотя по ID надёжнее.
Ivan
=)))