Таймураз
15.08.2017
10:17:33
Так как бывает эффективнее, а бывает- нет
Sergey
15.08.2017
10:17:57
Отвечающий потратит всего максимум 5 минут своего времени. Спрашивающий сможет из ответа получить что-то что направит его на правильную мысль и поможет лучше гуглить )
Таймураз
15.08.2017
10:19:01
Редкий человек совмещает в себе качества учителя и профессиональные знания в программировании
Google
Sergey
15.08.2017
10:21:35
?
Max
15.08.2017
12:20:10
Народ, а многие ли делают апи сервера через вебсокеты? Я вот тут сделал общение с сервером через вебсокеты а http остался только для начальной загрузки index.html файла и скриптов, и мне интересно почему все делают rest-апи через http когда у вебсокетов куча преимуществ
Сергей
15.08.2017
12:21:04
Сокеты это не вопрос-ответ
Алексей
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
а если ты делаешь более менее публичное апи, которым будут пользоваться другие приложения, то это будет адок
это про вебсокет
Алексей
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:23
Anton
15.08.2017
12:50:26
Алексей
15.08.2017
12:50:27
Таймураз
15.08.2017
12:51:01
обычные сокеты с вебсокетами мало общего имеют
Алексей
15.08.2017
12:51:29
Vsevolod
15.08.2017
12:52:02
Таймураз
15.08.2017
12:52:22
не понял логики
В вебе было нужно сокетное неразрываное соединение, сама реализация относительно веба нормальная, но относительно твоей задачи- адская
Vsevolod
15.08.2017
12:52:28
и я если честно мало представляю как этим будут пользоваться другие люди и как это впилить в свой проект
Google
Алексей
15.08.2017
12:53:42
Таймураз
15.08.2017
12:53:45
http уже реализован везде. Одна из базовых вещей веба. А сокеты- это дополнение к тому, что есть. Без сокетов те же задачи также решаются, пусть и не так оптимально
Сергей
15.08.2017
12:53:49
и в чём же недостатки?
Это не вопрос-ответ
Ты не можешь посмотреть статус запроса
Ты не можешь ждать конкретного ответа от сервера
И все это из-за того что в сокетах нет запросов.
Потом, как это смотреть в панели network
Алексей
15.08.2017
12:55:36
Vsevolod
15.08.2017
12:56:34
Чисто сокетное апи (не вебсокет) делают там, где идет лайвапдейт данных
Сергей
15.08.2017
12:56:47
Алексей
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
Подскажите что не так.
Богдан
15.08.2017
14:02:37
ты за клоудфларе ?
или прямой доступ к сайту
Vsevolod
15.08.2017
14:42:07
Borys
15.08.2017
14:47:45
@vgoloviznin посоветуете плиз новичку, который еще не знает как делать правильно что делать с аутентификацией. а то после прочтения показалось что это большая проблема для ноды и как-то даже не вериться что все нужно подпиливать руками
Vsevolod
15.08.2017
14:48:35
Borys
15.08.2017
15:25:14
@vgoloviznin ясно :) ок спасибо )))
Andrew
15.08.2017
19:33:27
Как через knex добавить колонку и вставить туда значение из соседней?
Konstantin
15.08.2017
20:28:35
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 в новую колонку.
Хотя если писать чистый запрос, то понятно
Таймураз
15.08.2017
20:34:35
И самого приложения они не должны касаться
Konstantin
15.08.2017
20:34:46
Andrew
15.08.2017
20:35:02
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