@nodejs_ru

Страница 1094 из 2748
Таймураз
15.08.2017
10:17:33
Так как бывает эффективнее, а бывает- нет

Sergey
15.08.2017
10:17:57
Отвечающий потратит всего максимум 5 минут своего времени. Спрашивающий сможет из ответа получить что-то что направит его на правильную мысль и поможет лучше гуглить )

Таймураз
15.08.2017
10:19:01
Отвечающий потратит всего максимум 5 минут своего времени. Спрашивающий сможет из ответа получить что-то что направит его на правильную мысль и поможет лучше гуглить )
Сейчас потратить время на изучение вопроса самим может быть намного эффективнее озвучивания вопроса профессионалам Потому что очень много разжеванного материала лежит в интернете

Редкий человек совмещает в себе качества учителя и профессиональные знания в программировании

Google
Sergey
15.08.2017
10:21:35
?

Max
15.08.2017
12:20:10
Народ, а многие ли делают апи сервера через вебсокеты? Я вот тут сделал общение с сервером через вебсокеты а http остался только для начальной загрузки index.html файла и скриптов, и мне интересно почему все делают rest-апи через http когда у вебсокетов куча преимуществ

Алексей
15.08.2017
12:36:04
Также много недостатков
и в чём же недостатки?

Vladimir
15.08.2017
12:37:07
Для апи у вебсокетов немного преимуществ

Алексей
15.08.2017
12:37:52
Для апи у вебсокетов немного преимуществ
немного преимуществ != много недостатков

да и вообще, на мой взгляд, свзяка JSON RPC + Websocket гораздо удобнее того же REST

Nikolay
15.08.2017
12:39:36
grpc

Таймураз
15.08.2017
12:40:28
Только что был спам в чат по бизнесу Подскажите их канал

как посмотреть публичное название чата, где я был забанен?

Алексей
15.08.2017
12:44:50
вообще, на мой взгляд, HTTP API (и REST) - это весьма неудобная штука

Таймураз
15.08.2017
12:45:51
Почему нельзя на аккаунт жалобу в тг кинуть Я заскринил пидарасов

Google
Vsevolod
15.08.2017
12:47:05
да и вообще, на мой взгляд, свзяка JSON RPC + Websocket гораздо удобнее того же REST
смотря для чего, если ты пилишь одностраничник и на само апи тебе по сути пох, то да

а если ты делаешь более менее публичное апи, которым будут пользоваться другие приложения, то это будет адок

это про вебсокет

Алексей
15.08.2017
12:48:05
потому что не для всех языков есть нормальная поддержка вебсокетов чтоли?

Таймураз
15.08.2017
12:48:56
Vsevolod
15.08.2017
12:48:58
потому что ты не можешь сделать curl URL

Алексей
15.08.2017
12:49:26
ааа, понятно

Vsevolod
15.08.2017
12:49:38
чтобы использовать потом сокеты как апи это будет такой колхоз в проекте

Алексей
15.08.2017
12:49:57
Vsevolod
15.08.2017
12:49:57
к тому же держать постоянно соединение незачем

Таймураз
15.08.2017
12:50:15
Anton
15.08.2017
12:50:26
вебсокеты сами по себе- адовая надстройка над http
не надстройка, им хттп только для хендшейка нуен

Алексей
15.08.2017
12:50:27
потому и адовая
не понял логики

Таймураз
15.08.2017
12:51:01
Разве не наоборот?
http->tcp->raw sockets

обычные сокеты с вебсокетами мало общего имеют

Алексей
15.08.2017
12:51:29
к тому же держать постоянно соединение незачем
опять же почему это хуже чем постоянное пересоздание соединений?

Vsevolod
15.08.2017
12:52:02
опять же почему это хуже чем постоянное пересоздание соединений?
keepAlive спешит на помощь, к тому же если у тебя 1 запрос в час?

Таймураз
15.08.2017
12:52:22
не понял логики
В вебе было нужно сокетное неразрываное соединение, сама реализация относительно веба нормальная, но относительно твоей задачи- адская

Vsevolod
15.08.2017
12:52:28
и я если честно мало представляю как этим будут пользоваться другие люди и как это впилить в свой проект

Google
Алексей
15.08.2017
12:53:42
и я если честно мало представляю как этим будут пользоваться другие люди и как это впилить в свой проект
почему? неужели нет нормальных библиотек для вебсокетов? более того, даже в случае http api лучше делать отдельную обёртку с методами, вместо прямой работы с http

Таймураз
15.08.2017
12:53:45
http уже реализован везде. Одна из базовых вещей веба. А сокеты- это дополнение к тому, что есть. Без сокетов те же задачи также решаются, пусть и не так оптимально

Сергей
15.08.2017
12:53:49
и в чём же недостатки?
Это не вопрос-ответ Ты не можешь посмотреть статус запроса Ты не можешь ждать конкретного ответа от сервера И все это из-за того что в сокетах нет запросов. Потом, как это смотреть в панели network

Алексей
15.08.2017
12:55:36
В вебе было нужно сокетное неразрываное соединение, сама реализация относительно веба нормальная, но относительно твоей задачи- адская
на мой взгляд как раз решили задачу малой кровью, конечно без http вообще сделать вебсокеты было бы лучше, но и так сойдёт, так как недостатков это особо не вносит

Vsevolod
15.08.2017
12:56:34
Чисто сокетное апи (не вебсокет) делают там, где идет лайвапдейт данных

Алексей
15.08.2017
12:56:56
Нет
а что мешает?

Сергей
15.08.2017
12:56:59
Потому что сокеты это пуш

С двух сторон

Ответ может вообще не прийти

Никогда

Ты об этом не узнаешь

Алексей
15.08.2017
12:58:22
а что помешает http не присылать ответ?

таймаут?

так в вебсокет таймауты тоже можно встроить на каждый вызов

Eliajah
15.08.2017
13:16:25
Авторизация через passport. При доступе к api всё время проверяю, авторизован ли пользователь. Если нет, то приходит строка "Unauthorized". Как изменить эту строку. скажем, на кастомный объект?

Google
Borys
15.08.2017
13:32:12
тут на днях мелькала ссылка https://habrahabr.ru/company/ruvds/blog/335434/ об аутентификации в Node и мануалах на эту тему (перевод https://medium.com/@micaksica/your-node-js-authentication-tutorial-is-wrong-f1a3bf831a46 ). и кажется ее особо и не обсуждали (или я обсуждение пропустил, сорри). мне как новичку в ноде, очень интересно насколько статья адекватна и как же все же правильно делать аутентификацию. выскажитесь плиз или порекомендуйте что-то. спасибо

Alexander
15.08.2017
13:37:23
Добрый день. У меня такая проблема: Есть ngnix, переправляющий с site.com/qwerty/ на site.com:8080 . Когда на ноде использую модуль ws и чистые вебсокеты на клиенте - всё ок, спокойно соединяется. Когда пытаюсь использовать socket.io - ничего не выходит. Например, такой код на сервере: const app = require('express')(); const server = app.listen(8080); const io = require('socket.io').listen(server); io.on('connection', function (socket) { // }); На клиенте пытаюсь: const socket = io('wss://site/qwerty/'}) - ошибка 403, пытается обратиться к site/socket.io/?EIO=3&transport=polling&t=Ltc1mLm const socket = io('wss://site/', {path: '/qwerty/'}) - теперь ошибка 404, обращается к site/qwerty/?EIO=3&transport=polling&t=Ltc1mLm const socket = io('wss://site:8080', {path: '/'}) - net::ERR_CONNECTION_TIMED_OUT Подскажите что не так.

Borys
15.08.2017
14:47:45
@vgoloviznin посоветуете плиз новичку, который еще не знает как делать правильно что делать с аутентификацией. а то после прочтения показалось что это большая проблема для ноды и как-то даже не вериться что все нужно подпиливать руками

Borys
15.08.2017
15:25:14
@vgoloviznin ясно :) ок спасибо )))

Andrew
15.08.2017
19:33:27
Как через knex добавить колонку и вставить туда значение из соседней?

Andrew
15.08.2017
20:28:48
Konstantin
15.08.2017
20:29:27
Тебе нужно при вставке чтобы вставлялось?

Или просто замапить в миграции?

Таймураз
15.08.2017
20:30:09
да
в доках Knex если Migration поищешь- найдешь ответ

Andrew
15.08.2017
20:30:35
у меня есть текущая версия таблицы. Я подумал неплохо было бы добавить еще колонки first_name_original, last_name_original при миграции на следующую версию

Konstantin
15.08.2017
20:31:00
Ещё раз вопрос

В миграции или after insert?

Andrew
15.08.2017
20:31:32
в миграции

Таймураз
15.08.2017
20:32:07
в миграции
В чем сложность почитать доки?)

Google
Andrew
15.08.2017
20:32:28
await db.table('users', table => { table.string('first_name_original', 40).notNullable(); table.string('last_name_original', 40).notNullable(); table.string('birthday_original', 10); });

Konstantin
15.08.2017
20:33:29
alter table add column и update column from select

Напиши в гугле и укажи диалект бд

Andrew
15.08.2017
20:34:10
В чем сложность почитать доки?)
в том то и дело что ни в чем, я просто в ней уже пол часа лазию и не могу понять как совместить select('users.first_name').from('users') update в новую колонку. Хотя если писать чистый запрос, то понятно

Andrew
15.08.2017
20:35:02
Дык миграции- это отдельные файлы, запускающиеся разово
да, все у меня сделано, отдельные файлы, скрипты прописаны

Через knex.raw сделай
наверное, ты прав, так будет проще

Konstantin
15.08.2017
20:35:49
Alter table по любому через raw

Таймураз
15.08.2017
20:36:13
http://knexjs.org/#Schema-alter

Andrew
15.08.2017
20:38:32
это да. knex.schema.alterTable('user', function(t) { t.string('first_name_original', 35).notNullable(); }); но мне нужно вставить туда значение из first_name, поскольку уже существуют пользователи, а значение колоки не должно быть ноль

Node.js releases
15.08.2017
20:40:53
Node v8.4.0 (Current) https://nodejs.org/en/blog/release/v8.4.0

Andrew
15.08.2017
20:41:48
миграцию делаю в одной транзакции module.exports.configuration = {transaction: true}; По сути можно добавить колонки notNullable и отдельно вставить туда значения, правда не уверен

Сергей
15.08.2017
20:42:19

Страница 1094 из 2748