Не всегда нужно использовать стримы. Во-первых, не всегда они подходят. Во-вторых, не всегда они делают код проще. В-третьих, зачастую они менее производительны, чем простой цикл. Хорошая статья на эту тему.
Но стоит упомянуть, что eval опасен. Если у злонамеренного пользователя будет возможно вмешаться в формирование содержимого переменных json или path, то появится и возможность произвольно изменить поведение скрипта.
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻ ҉, если тенденции к ушатыванию ИТ-индустрии в РФ сохранятся, то в 2019-м увеличится отток ИТ-специалистов за границу. В том числе ИТ-специалистов Mail.Ru Group. Единственный способ, которым этот процесс можно будет притормозить - это предлагать зарплаты существенно более высокие, чем на Западе. Я сомневаюсь, что такое разрастание фонда оплаты труда удастся компенсировать даже разработкой собственного гитхаба.
Сергей delphinpro, вот только нет судебного решения о блокировке ресурсов Google. В данный момент их блокируют по "резиновому постановлению", но в нём говорится только о ресурсах распространяющих призывы к экстремистской деятельности. Какие именно призывы распространяются с analytics.google.com?
Сергей delphinpro, не знаю, что двигает или точнее не двигает администрацией ресурса, но я бы принципиально не стал исправлять последствия чужой глупости и некомпетентности, не стал бы прикладывать свои силы к тому, чтобы фактически скрывать возникающие проблемы.
Роман Ракзин, сразу после обнаружения исчезновения файла, стоило выключить систему и попробовать восстановить данные с диска чем-нибудь типа R-Studio Data Recovery. Чем больше на диск пишется, тем меньше шанс восстановить данные.
peacemakerv, то либо доступ к ним должен осуществляться с учётными данными пользователя программы, либо система авторизации должна использовать посредника.
Viktoria Smirnova, метод fetchRows - это код извлечения данных из БД. Метод toJson - это код преобразовывающий извлечённые данные в строку формата JSON.
P.S. Но я их тоже люблю :)