Смысла в этом нет никакого за исключением ситуаций, когда нужно передать данные из PHP в чат. Например есть какое-то существующая CMS и в ней нет никакой нормальной интеграции.
Например, стоит Wordpress и вы делаете модуль, который будет отправлять данные в чат, когда была опубликована новая статья.
Иногда такие скрипты делают с целью их размещения на виртуальных хостингах, которые не позволяют запуск долгоживущих процессов.
Некоторые запускают такой php-cкрипт через cron, т.к. не умеют писать запросы через curl.
Но в целом этот скрипт типичный костыль и пример говнокода.
Роман Мирр, я думаю там какой-нибудь очередной прайслист с навернутым форматированием.
В общем, делайте новый файл экселя - это тупо xml, который потом пожат архиватором.
Для таких объемов сделайте просто - сгенерируйте файл на 100 строчек, отследите повторяющийся контент. Там на самом деле простой формат.
Потом, если база держит, напишите генератор в несколько потоков, каждый поток будет свой кусок данных дергать из базы и писать в отдельный файл. По итогу склеивайте все вместе тем же cat и архивируйте.
Вообще делать такие вещи на ноде пахнет дурно. Тут какой-нибудь го нужен. Там можно горутинками с каналами очень мощно сделать. Правда тут же база может приплыть.
Denis, ПО это вам не вино, оно со временем лучше не становится. Обычно бизнес-требования меняются часто, API тоже меняются, все приходится переделывать. Особенно, когда бизнес молодой.
Есть такое понятие - стоимость внесения правок (cost of change), так вот в лапше он огромен. И любая новая правка увеличивает лапшу. Это такой лавинообразный процесс.
Заказчику да, все равно на то, что у вас там внутри, но ему не все равно сколько времени занимают правки. А оно начнет расти экспоненциально т.к. пропорционально стоимости изменений. Как только сроки начнут выходить за неделю, то тут заказчик призадумается. Поспрашивает друзей, сколько такое займет, поспрашивает посоветовать других специалистов.
К счастью, я никогда не видел в книгах подобный мусор.
Единственный случай, когда такой код имеет право на жизнь это построение proof-of-concept, т.е. когда код будет сразу же переписан в нормальную форму. Такой код никогда не покидает машину разработчика, ну разве что в качестве бэкапов.
Как бы если этот скрипт написан за минимальный прайс и минимальный тайминг, на какой нибудь халтурке (фриланс), то ничего страшного другими словами "а на что Вы надеялись".
Даже делая халтурку можно делать ее на достойном уровне. Это и быстрее и дешевле.
Однажды написав говнокод, можно испортить репутацию на долгие годы вперед.
hint000, Если датчик будет на серве, то нужна калибрация 0 градусов.
Вобщем чел не написал, что лодка радиоуправляемая. Там тупо можно не заморачиваться с датчиками.
Если делать лодку автономно способную двигаться по лабиринту, то нужно определять стенки и приблизительно расстояние до них. А затем использовать это расстояние для снижения скорости и увеличения угла поворота руля.
Автономная лодка не такая простая задача, как кажется.
xmoonlight, я бы в такой ситуации просканировал бы эфир и выбрал бы наименее загруженные каналы вручную. Есть еще вариант "расталкивания", т.е. нужна станция с повышенной мощностью, которая будет жарить статически. Обычные станции детектируют сильный сигнал на канале и не занимают канал. Но это скорее из "вредных" советов.
Есть еще вариант с направленными антеннами, но он не всегда применим. И издевательства вроде экранирования, чтобы станция не принимала сильный сигнал сбоку и не снижала мощность.
Ну и простые бытовые вещи - поставить станцию ближе к месту постоянного использования.
Вячеслав Золотов, я такие тестовые вообще не даю никогда. Они бесполезны по своей сути. Если программист вменяемый, он никогда за такое не возьмется. Если новичок, он поковыряет и на чем-нибудь застрянет. Он может быть и толковый, но завалит тестовое, разочаруется и уйдет в другое место.
Это как работает пул https://mongodb.github.io/node-mongodb-native/core...
После чтения исходников https://github.com/mongodb-js/mongodb-core/blob/ma... можно понять, что пул разрушается, когда заканчиваются сокеты или наступает лимит попыток пересоединений.
Mongoose достаточно старый, они фиксили там ошибки. Попробуйте его обновить.
Еще включите отладку в монгусе.
mongoose.set('debug', true)