Size: a a a

2020 February 08

I

Igor in DevOps
George Gaál
Или abnormal program termination ?
Ну пусть будут общие переменные stdout, stderr, retcode. Если упало, то в stderr записали
источник

GG

George Gaál in DevOps
Igor
Можно сделать иначе - все неизвестные утилиты ведут себя как в шелле, то есть работают со строками и возвращают строки. Все базовые утилиты работают с типизированными переменными, и поддерживают конвертацию их в строки
И получаем... Бадумс... Павершелл
источник

I

Igor in DevOps
Евгений Омельченко
Ну я б выкинул шел и заменил его языком:
1. В котором executables являются объектом первого порядка (как в шелле)
2. В котором можно нагромоздить из функций и executables пайпы (как в шелле)
3. В котором есть нормальные модули
4. В котором есть списки и мапы, при чём так чтобы можно было прям джейсоны скармливать чтобы получить объект
5. В котором из аутпута можно выпаршивать сразу джейсон
6. В котором можно легко строить сложные условия без заковычивания или _-хука
7. В котором есть лист и дикт-компрешенонс
8. В котором есть ренджи по спискам и хешмапам
Как тогда 4 пункт реализовывать?
источник

I

Igor in DevOps
George Gaál
И получаем... Бадумс... Павершелл
Как ни странно
источник

GG

George Gaál in DevOps
Евгений Омельченко
Чтоб постоянно путаться?
+. Но у нас вариант какой. Писать свои "функции", аналогичные системным командам - ls & co. Решаем проблему с возвратом струткруных объектов
источник

GG

George Gaál in DevOps
Штатные команды вызываем типа через syscall("ls").
источник

GG

George Gaál in DevOps
Или через отдельный префикс/неймспейс и все такое
источник

ЕО

Евгений Омельченко in DevOps
Igor
Ну пусть будут общие переменные stdout, stderr, retcode. Если упало, то в stderr записали
Пахнуло $?, ну эт такое. Тут два выхода я вижу:
1. Либо эксепшоны при возврате не равном нулю
2. Либо как в голанге: ret, err :=

Но вообще мне не нравится идея без обёртки сразу тянуть стдаут. Я хочу разные обёртки чтобы в строки складывать, распарсить csv и json
источник

ЕО

Евгений Омельченко in DevOps
Мне кажется, что надо ожидать, что в 20'ые годы кто угодно научится -output json
источник

ЕО

Евгений Омельченко in DevOps
И не морочить себе голову системами и кастомными билтинами
источник

GG

George Gaál in DevOps
Евгений Омельченко
Пахнуло $?, ну эт такое. Тут два выхода я вижу:
1. Либо эксепшоны при возврате не равном нулю
2. Либо как в голанге: ret, err :=

Но вообще мне не нравится идея без обёртки сразу тянуть стдаут. Я хочу разные обёртки чтобы в строки складывать, распарсить csv и json
Т.е. декораторы ? А если программа нарушает конвенцию stderr/stdout и серит ошибками не туда вместо данных ?
источник

GG

George Gaál in DevOps
Евгений Омельченко
Мне кажется, что надо ожидать, что в 20'ые годы кто угодно научится -output json
Вперед
источник

I

Igor in DevOps
Евгений Омельченко
Мне кажется, что надо ожидать, что в 20'ые годы кто угодно научится -output json
Ну кстати хорошая идея для пуллреквестов в utillinux
источник

ЕО

Евгений Омельченко in DevOps
George Gaál
Т.е. декораторы ? А если программа нарушает конвенцию stderr/stdout и серит ошибками не туда вместо данных ?
Ну а в шеле что ты с этим делать будешь? Будешь просто как с генератором строк работать и всё
источник

GG

George Gaál in DevOps
Евгений Омельченко
Ну а в шеле что ты с этим делать будешь? Будешь просто как с генератором строк работать и всё
Нет, у меня просто все ломается в шелле
источник

GG

George Gaál in DevOps
Ибо никто в шелле обработку ошибок нормально не делает 🤷‍♂
источник

I

Igor in DevOps
Но всё ж таки. Как 4 пункт реализовывать?
источник

I

Igor in DevOps
Списки и мапы отдельно от вызова функций? Ну такое..
источник

DG

Dmitriy Gumeniuk in DevOps
George Gaál
Видосы где и когда?
как минимум после конфы.
как максимум - через какое-то время.
залито будет на youtube

выкладывать сразу - тактически нет смысла.
источник

GG

George Gaál in DevOps
Dmitriy Gumeniuk
как минимум после конфы.
как максимум - через какое-то время.
залито будет на youtube

выкладывать сразу - тактически нет смысла.
+
источник