Eldar
роутеры правда запилить смог, мб и это осилю
Смотри, у тебя задача на самом деле делится на несколько подзадач: 1. Нужно получать актуальные курсы валют из какого-то источника. 1.1 Если планируется курсы валют редактировать (поддерживать актуальность) руками, первый шаг пропустить. 2. Тебе нужно курсы валют где-то хранить и нужно определиться как именно. Если курсы берутся из источника, и нужна высокая актуальность, то можно хранить и в кеше с ограничением по времени. Если курсы редактируются руками / из админки или же нужна история курсов валют то нужно хранить в какой-то БД. 3. Если ты хочешь именно кешировать, то подойдет даже простой node-cache. Для простого приложения, тебе НЕ нужен Redis, Memcache или еще что-то сложное. Кешировать можно просто в переменной, или асбтракцией вроде node-cache. Если БД то выбор большой, хранить историю курсов можно и просто в Redis, или оформить табличку в Mysql, или сделать документы в MongoDB, разницы в глобальном смысле - нет.
Eldar
роутеры правда запилить смог, мб и это осилю
Я бы делал инкриментально: 1 реализация: получаем список валют из источника -> выводим 2 реализация (ой, что-то первый вариант подтормаживает): проверяем кеш -> если в кеше нет валют идем в источник -> кешируем -> выводим 3 реализация (и какой курс был вчера? oO): проверяем кеш -> если в кеше нет валют идем в источник -> кешируем -> кладем в базу новые валюты если они действительно отличаются от последних -> выводим
Maksim
Я бы делал инкриментально: 1 реализация: получаем список валют из источника -> выводим 2 реализация (ой, что-то первый вариант подтормаживает): проверяем кеш -> если в кеше нет валют идем в источник -> кешируем -> выводим 3 реализация (и какой курс был вчера? oO): проверяем кеш -> если в кеше нет валют идем в источник -> кешируем -> кладем в базу новые валюты если они действительно отличаются от последних -> выводим
Я представлял себе это как-то так: Есть определенное количество источников, откуда буду приходить данные(получать можно только актуальные данные, без выбора промежутка времени), они будут кэшироваться(или же записываться в БД), потом будет просто приходить на сервер запрос с названием нужного источника, нужной даты и нужной валюты.
Maksim
Это нужно для построения графиков
Eugene
берешь базу - пишешь модельки - пишешь какой-то скрипт который парсит источники и пишет в базу - запускаешь его например кроном раз в минуту - пишешь роутер для отдачи этой инфы .
Maksim
а готового такого нет?) или хотя бы что-то уже готовое, что нужно будет по частям собрать
Eugene
бойлепрлейты с базой в них можно погуглить - а можно взять монго с монгустом и тяп ляп :D
Maksim
не, нафиг этот питон :)
Maksim
там я вообще 0
Eugene
о_О какой питон о_О
Eugene
я о ноде :)
Maksim
а, монго, а не джанго)
Eugene
http://mongoosejs.com/ (для монги) vs http://docs.sequelizejs.com/ (для SQL баз) ну а дальше скорей всего от тебя зависит
Eugene
это вроде как самое популярное сейчас:) хотя в этом sequelize дофига магии
Maksim
спасибо, попробую разобраться)
Iliya
в монгее ее не меньше))
Alexander
пробую запустить node app.js через systemd на CentOS. Нода плюёт ошибку (node:6857) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Slash in host identifier Что это может значить?
Alexander
не могу понять, где ей хэндлера не хватает
Iliya
Slash in host identifier
Iliya
опечататься нигде не мог? вот и эксепшн выскакивает где-то
Alexander
дык на локалхосте всё норм
Alexander
нашел... в строке коннекта к монге вместо @ написал /
Anonymous
подскажите, плиз - я новичок в node+express 1. Tcnm функция, использует плагин twitter под Node для поиска твитов. В console.log() возвращает результат - массив объектов
Anonymous
а здесь у меня underfined почему-то
Anonymous
я туплю где-то?
Anonymous
запрос отправляю через Postman.
Anonymous
тестировал endpoint /search, чтобы просто отправлял мне произвольный объект - отправляет, все ок
Anonymous
получается так, что функция tweetSearch не возвращает результат? но почему?
Anonymous
а здесь у меня underfined почему-то
tweetSearch({}) .then(result => console.log(result))
Anonymous
все равно underfined пишет
Anonymous
Anonymous
Sulpiride
друзья, пишу бота для телеграма. Не получается вывести inline keyboard
Sulpiride
(node:4516) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: 400: Bad Request: can't parse inline keyboard button: InlineKeyboardButton should be an Object
Sulpiride
причем я взял код из документации telegraf.js.org
Sulpiride
Sulpiride
пробовал вывести его на bot.start(...) - все работает правильно
Sulpiride
а на bot.command почему-то нет
Sulpiride
а, все, разобрался
Anonymous
у тебя функция то undefined возвращает а не промис
почему underfined возвращает? я не могу понять, почему так а промис - ясно, что не проимс, я вернул все назад
Anton
у тебя тело стрелочной функции не содержит return
Anonymous
у тебя тело стрелочной функции не содержит return
оставим пока функция как модуль в стороне я вот взял и вынес ее сюда прямо, в express
Anonymous
Anonymous
и результат
Anonymous
Anonymous
вроде все должно работать?
Anton
асинхронность - на момент исполнения console.log 'Express... says' у тебя промис не заресолвился еще же
dexofan
Async await используй
Anonymous
я обратил на это внимание
Anonymous
Async await используй
а как мне использовать async await в данном случае? я еще не успел сподобиться познакомиться с этими штуками
dexofan
Вместо then
Willy
console.log(await searchTweets());
dexofan
Тебе же написали
dexofan
У тебя там консоль вывод даёт до исполнения промиса
Dima
всем привет. Есть спецы по Pixi.js?
Dima
ого спасибо)
Anatolii
с feathersjs через сокеты кто-то работал? вопрос есть...
倫太郎
хоспаде
倫太郎
буд-то тебя кто-то убьет за вопрос
Anatolii
буд-то тебя кто-то убьет за вопрос
https://stackoverflow.com/questions/48093965/feathersjs-socketio-client-connection-timeout-why
倫太郎
не, я прост тебе сказал, сам не работал))0)
Anatolii
жизньболь.
Anatolii
вторые сутки разобраться не могу. блин. не привык так... ;))0
Anatolii
Кароч, братва, если кто знает как эту траблу побороть - буду безумно благодарен. Вродь и доки скурил, и екзампл с чатом ихний вдоль и поперек исходил... их чат работает - мое симпл апликейшн нет. Бл@ть ;))
Anatolii
....даже уже репу создал. чтоб ошибку воспроизвести...
енот
const socket = io('http://localhost:3030');
енот
а че, через http можно?
Anatolii
а пофиг. если хттп вообще убрать - то он все равно цепляется куда надо
Anatolii
если не может прицепиться - в консоль валит
енот
ну просто сокеты это ws
Anatolii
если делать
Anatolii
const socket = io();
Anatolii
то тоже самое. никаких изменений.
Anatolii
енот, твоя версия. как сделать?