Maksym
А мне надо чтобы было как в txt1 то есть переносом строки
Liman
почему к mongodb приконектиться не могу?
Avin
А мне надо чтобы было как в txt1 то есть переносом строки
row_delimiter2 = $("input").val().replace('\\n', '\n');
Avin
и всё будет как ты хочешь
Maksym
row_delimiter2 = $("input").val().replace('\\n', '\n');
((решение, конечно, но не очень красивое
Avin
всмысле не красивое) \n это спец символ с кодом 10 (или 13 не помню), а в тексте "\n" это два разных символа)
Maksym
Ну да, эх ладно, сделаю через замену
Avin
никаким чудесным образом оно из одного в другое не превратиться если не сделать реплейс
Maksym
Понял, спасибо, я думал есть там какой-то енкодер|декодер|парсер встроенный.
Роман
Коллеги, доброй ночи.
Роман
Кто подскажет лучший multiselect plugin jquery ? Нужно создать такое: https://drive.google.com/file/d/1RoIG-81mKAqN5HU8NfVFUEdAOoLe7brf/view
Anonymous
((решение, конечно, но не очень красивое
Вообще то надо так .replace(/\\n/g, '\n'). Потому что replace("\n") не работает глобально и заменит лишь первый попавшийся совпарший символ
dima
Привет всем. Парни, по mongoDB тут можно небольшой вопрос задать?
dima
Исходя из того что .find (выборка из бд) не принимает колбек, то вопрос, насколько это кривой код для продакшена? MongoClient.connect( uri, { useNewUrlParser: true }) .then(client => { const todoList = {}; (async () => { const cursor = await client .db("todo-app") .collection("my-todos") .find({}, null); await cursor.forEach(todo => { todoList[todo.text] = { ...todo }; }); res.end(JSON.stringify(todoList)); })(); }); Просто решил в теле .then когда получаем клиента ипользовать IIFE и await/async, а то пока курсор придет, мне надо отдавать клиенту выборку, ну и понятно что .find не приходит вовремя без промиса UPD: пока проверял, дошло, что еще и forEach отрабатывает позже чем я возвращаю res.
Игорь
привет
Anonymous
Всем привет, ребят, подскажите пожалуйста как поставить timeout для post запроса, чтобы браузер не обрывал запрос после 2-х минут ожидания, а ждал час? Это критически важно сейчас!
Empty
Ребят, понимаю что не в тему, кто по вёрстке на вопрос может ответить?
Avin
await cursor.forEach(todo => { todoList[todo.text] = { ...todo }; });
dima
тут await разве нужен?
Да, вчера проверял и получается что без него у меня в res.end(JSON.stringify(todoList)); летит пустой объект. Т.е. он отрабатывает быстрее чем forEach
Avin
await с forEach вроде не работал никогда)
dima
await с forEach вроде не работал никогда)
Вполне возможно, что я не допонимаю доконца пока как работает mongoDB и то что я написал - это костыль. Но я проверил еще раз, просто убрав await перед forEach. Вот результаты
dima
С await:
dima
Без await
Avin
аа, ну значит всё правильно) видимо он у них там свой forEach монговский спецефический
dima
аа, ну значит всё правильно) видимо он у них там свой forEach монговский спецефический
видимо да, но раз и у Вас возник вопрос, то стоит разобраться до конца )) Пойду почитаю доку. Спасибо за Вашу помощь)
Avin
былоб за что))
Dika
С await:
Можешь просто посмотреть, что возвращает forEach
Avin
Народ, накидайте звездочек плиз - я старался (есть страничка с демками) 😄 https://github.com/avin/react-vt-table
Avin
ну да))
Avin
а то я комплексую
Avin
😊
Иван
Приветствую. На Хабре есть статья https://habr.com/post/134139/ к несчастью пример рабочий не открывается. Понимаю что вопрос дурацкий, но как это реализовать... ни фига не получается.
Иван
Вот что я пытаюсь запустить
Иван
Иван
в чем ошибка-то ?:)
dima
Можешь просто посмотреть, что возвращает forEach
Каждый раз возвращает объект, т.е. мою туду, котрую я и сторю в результирующий todoList. Возможно тут загвоздка в курсоре. Дело в том что при выборке mongodb возвращает результат - the cursor query object (источник http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#find). Пишут что find(query, options) - Creates a cursor for a query that can be used to iterate over results from MongoDB. Но что там и как происходит при итерации я чет не догоняю. Хотя там еще много options. Ща буду ковырять
dima
Приветствую. На Хабре есть статья https://habr.com/post/134139/ к несчастью пример рабочий не открывается. Понимаю что вопрос дурацкий, но как это реализовать... ни фига не получается.
Возможно потому что статья опубликована 7 декабря 2011. Пример кода основан на jQuery. Попробуйте код у себя, возможно придется лезть в документацию , потому как какие-то методы могуть быть deprecated к этому времени я не знаю. Я бы на plain js написал вместо jQuery.
Avin
@dimas_x вот еще такой изысканный вариант нагуглился const cursor = db.collection("foo").find({}); while(await cursor.hasNext()) { const doc = await cursor.next(); // process doc here }
Иван
Возможно потому что статья опубликована 7 декабря 2011. Пример кода основан на jQuery. Попробуйте код у себя, возможно придется лезть в документацию , потому как какие-то методы могуть быть deprecated к этому времени я не знаю. Я бы на plain js написал вместо jQuery.
Там нет jQuery... чистый javascript. У меня опыта мало, я точно код неправильно написал... потому что код скрипта вообще не срабатывает... не понимаю как он должен вызываться по мнению автора :\
dima
Там нет jQuery... чистый javascript. У меня опыта мало, я точно код неправильно написал... потому что код скрипта вообще не срабатывает... не понимаю как он должен вызываться по мнению автора :\
Смотрите консоль у себя. Полюбому у вас ошибки лезут, если jQuery не подключен. По первой строке кода Вот это var field = $('#list') на jQuery А это чистый js var field = document.querySelector('#list')
dima
@dimas_x вот еще такой изысканный вариант нагуглился const cursor = db.collection("foo").find({}); while(await cursor.hasNext()) { const doc = await cursor.next(); // process doc here }
Путем нехитрых манипуляций оставил это )) while (await cursor.hasNext()) { cursor.next().then(todo => todoList[todo.text] = { ...todo }); } res.end(JSON.stringify(todoList));
Avin
@dimas_x 👍
Avin
@dimas_x только я бы сделал так)) MongoClient.connect( uri, { useNewUrlParser: true }) .then(async client => { const todoList = {}; const cursor = await client .db("todo-app") .collection("my-todos") .find({}, null); while (await cursor.hasNext()) { const todo = await cursor.next(); todoList[todo.text] = { ...todo } } res.end(JSON.stringify(todoList)); }); зачем вам эти макароны с then когда вы используете прелести async/await
dima
Спасибо большое. Ты прав, там jQuery :) + еще еще автор негодяй ошибку в коде сделал :)
не за что. И возможно просто код не актуальный на сегодня, применимо к новым версиям jQuery, а не автор виноват ))
Anonymous
Ребят, прошу помощи. Подскажите пожалуйста, как со стороны фронта можно увеличить время пендинга post запроса?
Anonymous
timeout не помогает. Максимум 4 минуты и всё.
Anonymous
юзай вебсокеты
Со стороны бэка переделывать что-то нужно при этом?
Igor
либо через прокси, если у тебя нет доступа к тому бэку
Anonymous
да
Тогда не пойдёт, задумался о лонг-полинг.
Anonymous
либо через прокси, если у тебя нет доступа к тому бэку
по поводу прокси можно чуть подробнее?
Igor
по поводу прокси можно чуть подробнее?
ну я подозреваю, что 4 минуты - ограничение браузера, которое никак не пофиксить. поэтому можно запилить свой бэк, запрос идет на него через вебсокет, он дергает пост с уже неограниченным таймаутом, и результат отдает через вебсокет опять же. ну либо лонгполлинг, да :) но это в случае когда нет возможности изменить бэк, который отдает данные за 4+ минуты, и если я вообще прав про ограничение браузера)
Avin
негоже серверу отдавать данные по пол часа)) стоит призадумаца об архитектуре серверной части. Если сервер не ваш - тогда тока костыли как вот предложил @Igor - по другому никак
Sergey
Привет, ребята, есть те, кто практикует игровую разработку на html, css, js? Напишите в лс, пожалуйста
Avin
Да там файл отдаётся в 500гб или около того. Вот запрос и должен пендится час а то и больше.
так доступ к серверной части есть?? мб стоит чанками слать - по кусочками
Anonymous
Изучаю эту тему сегодня весь день, пришел к выводу что: 1) Время пендинга устанавливается браузером, его менять никак нельзя. 2) Лонг-поллинг не подходит, т.к. запрос один, это не чат и не игра. 3) WebSocket'ы, для них нужно накидать свою прослойку. Т.е. развернуть мини-сервер на ноде, и обеспечить работу web-socket'ов с фронта, видимо этим и займусь. Главное задевопсить всё потом.
Artem
Можно в ответ на создание запроса получать, например, requestId и потом периодически обращаться к серверу с этим id, готов ли результат
Anton
Привет всем, кто нибудь может по mongoose подсказать 7
Victor
Artem
Вебсокеты в TLS умеют через wss://hostname
Maksim
конвертит же
Ivan
Элементы сортируются путём преобразования их в строки и сравнения строк в порядке следования кодовых точек Unicode
Avin
жиза)) [1, 10, 2,3].sort((a,b) => a-b)
Anonymous
Всем привет. Посоветуйте альтернативу onepage-scroll или fullPage.js для прокручивания секций слайдами
Viacheslav!
Подскажите, как лучще реализовать сжатие js при деплое?
Viacheslav!
Типо перебирать все файлы и скармливать сжимателю?)
Avin
а сборщик какой у вас?
Avin
если никакого - тогда вот через эту штуку прогоните https://github.com/mishoo/UglifyJS2