@nodejs_ru

Страница 358 из 2748
Anton
21.11.2016
14:27:42
там нечего учить, это не более чем API

Denis
21.11.2016
14:27:46
@NordLuf кстати, вам возможно будет интересен ReDoc, вы же Swagger API юзаете)

Evgeny
21.11.2016
14:27:59
Апи?

Спасиб, посмотрю

Google
Anton
21.11.2016
14:28:13
Evgeny
21.11.2016
14:28:35
мы не юзаем сваггер апи, я даже не знаю что это.

Аво
21.11.2016
14:28:38
спасибо

Evgeny
21.11.2016
14:28:43
мы юзаем апи описанное свагером

Мне б живые примеры доки посмотреть

Denis
21.11.2016
14:31:41
https://rebilly.github.io/ReDoc/

я отсюда вышел на ReDoc

А изначально отсюда https://blog.apis.guru/redoc-reinventing-openapi-powered-documentation-e05ccc3c5f9c#.zcoi54ua5

Evgeny
21.11.2016
14:37:57
Ну да, я посмотрл, выглядит красиво. Но вот очень хочется увидеть как оно сработает на реалных примерах

Artur
21.11.2016
15:41:20
Есть npm пакет firebase-admin в нем есть файл error. Когда я использую пакет независимо от других модулей (создаю простое приложение) то все работает. Когда я этот пакет использую в приложении где есть пара десятков других пакетов то при запуске сервера я получаю ошибку FirebaseError.prototype.toJSON TypeError: Cannot assign to read only property 'toJSON' of object 'Error' Есть мысли почему может такая ерунда возникать ? Я не нахожу прямой зависимости с другими пакетам Буду признателен за наводки, уже весь день мучаюсь

P.S. ошибка внутри пакета в файле error.js

Vladimir
21.11.2016
15:43:22
Скорее всего один из пакетов шалит с Object.defineProperty

Google
Artur
21.11.2016
15:44:07
Скорее всего один из пакетов шалит с Object.defineProperty
Кстати остальные свойства для функции FirebaseErorr через Object.defineProperty созданны

Скорее всего один из пакетов шалит с Object.defineProperty
А ошибка вываливается именно на том который напрямую расширяет прототип

Vladimir
21.11.2016
15:44:48
В том и суть

Какой то из пакетов определяет toJSON

на Object.prototype

или Error.prototype

KlonD90
21.11.2016
15:46:16
:/

ну это же не красиво расширять прототип у глобального объекта

Artur
21.11.2016
15:47:02
Какой то из пакетов определяет toJSON
Нашел это поиском по проекту if (!Error.prototype.toJSON) { Object.defineProperty(Error.prototype, 'toJSON', { enumerable: false,

в пакете errs

Vladimir
21.11.2016
15:47:26
Ну вот от этого пакета надо избавляться

Artur
21.11.2016
15:48:18
'Обожаю' мир npm пакетов (

Спасибо большое за помошь. Мне как то в голову не пришло что где то в пакете может быть такая херня ))

Artur
21.11.2016
15:53:29
пиши автору в issues
Автору уши оторвать надо за такие практики )

Vladimir
21.11.2016
15:53:52
вообще на гитхабе writeable

Artur
21.11.2016
15:53:59
Так переопределять прототипы и своем коде не гуд, не то что в библиотеке

Vladimir
21.11.2016
15:54:02
может обновить стоит попробовать?

Но да, нормальные люди так не делают

Ҫѐҏӗѫӑ
21.11.2016
16:00:21
cycle, elm, html5 в чяте ноджс. вроде бы все ок, но про голанг снова забыли(

Google
Vitaliy
21.11.2016
16:28:40
о! а я правильно понимаю, что elm можно в js для ноды транслировать? 8)

Дмитрий
21.11.2016
16:30:56
purescript выглядит слегка поадекватнее чем elm

Anton
21.11.2016
16:32:09
А ну так да, можно обоих в ноду пихать

Ҫѐҏӗѫӑ
21.11.2016
16:35:16
elm нельзя

Сергей
21.11.2016
16:35:39
о спасибо за pureScript

искал подобное

чуть не начал свое делать

0_-

Ҫѐҏӗѫӑ
21.11.2016
16:36:04
ghcjs же

Дмитрий
21.11.2016
16:37:23
чуть не начал свое делать
Как будто это что-то плохое ?

Сергей
21.11.2016
16:37:45
Как будто это что-то плохое ?
сложно правильно спроектировать дизайн языка

Дмитрий
21.11.2016
16:39:18
Ну это интересный опыт сам по себе

Сергей
21.11.2016
16:40:35
да вот думаю доделать тот дизайн, что есть сейчас и выкатить сообществу обосрут конечно, мол НИНАДА!

Дмитрий
21.11.2016
16:41:24
Нинада конечно ? Но ты всё равно выкатывай

Сейчас попробую поискать одну статью хорошую про чувака, который свой язык пилил

Познавательно так

Сергей
21.11.2016
16:42:02
буду благодарен!

@ZeroBias скинь в лс как найдешь, пожалуйста А то в чате потерять можно

Ҫѐҏӗѫӑ
21.11.2016
17:31:34
опыт нужен, язык

Google
MaXG
21.11.2016
18:31:55
есть библиотека ws .. для использование её в nodejs обязательно делать http сервер?

нашел ( https://learn.javascript.ru/websockets ) судя по примеру в этом нет необходимости

MaXG
21.11.2016
19:06:31
но там написано обратное
Серверный код можно писать на любой платформе. В нашем случае это будет Node.JS, с использованием модуля ws: и далее пример

Anton
21.11.2016
19:40:14
да
нет, это будет не http сервер, а ws сервер

Felix
21.11.2016
19:40:42
нет, это будет не http сервер, а ws сервер
только хендшейк вебсокетов по хттп проходит

Anton
21.11.2016
19:41:07
может быть nodejs? О_о

Admin
ERROR: S client not available

Anton
21.11.2016
19:41:42
только хендшейк вебсокетов по хттп проходит
он просто использует протокол http, но тебе не нужно писать http сервер

Felix
21.11.2016
19:42:27
и слава богу, не приведи аллах писать http-сервера

Anton
21.11.2016
19:43:58
и слава богу, не приведи аллах писать http-сервера
Для установления соединения WebSocket клиент и сервер используют протокол, похожий на HTTP. Клиент формирует особый HTTP-запрос, на который сервер отвечает определенным образом.

это не сервер, и, как оказывается, даже не совсем HTTP

Felix
21.11.2016
19:44:41
это сервер, и вполне хттп

не вижу где в абзаце этом написано что это не сервер и не хттп

вроде наоборот как раз написано

Anton
21.11.2016
19:45:25
Например, в запросе есть тело, но в заголовках поле "Content-Length" отсутствует (что нарушает соглашения HTTP).

Google
Felix
21.11.2016
19:46:11
“похожий на HTTP”
это протокол вебсокетов похож на хттп

но чтобы инициализировать вебсокеты нужно сначала отправить по хттп запрос и получить ответ

Anton
21.11.2016
19:47:03
вот я про этот запрос и написал, это не HTTP запрос, а похожий на HTTP запрос

Bogdan
21.11.2016
19:47:20
что значит похожий

Felix
21.11.2016
19:47:21
где это не хттп-запрос?

Eduard
21.11.2016
19:47:23
Есть еще purescript
https://github.com/evanw/thinscript

Felix
21.11.2016
19:47:40
GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Origin: http://javascript.ru Sec-WebSocket-Key: Iv8io/9s+lYFgZWcXczP8Q== Sec-WebSocket-Version: 13 что тут не хттп?

Anton
21.11.2016
19:51:18
вот ответ сервера, подтверждающий переход на ws HTTP/1.1 101 Web Socket Protocol Handshake Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Origin: http://example.com Sec-WebSocket-Location: ws://example.com/demo Sec-WebSocket-Protocol: sample 8jKS'y:G*Co,Wxa- как видишь тут есть тело, но нет Content-Length (что нарушает соглашения HTTP)

Felix
21.11.2016
19:51:58
я не вижу тут тела

Anton
21.11.2016
19:52:13
8jKS'y:G*Co,Wxa- - это тело

Felix
21.11.2016
19:53:43
а откуда оно взялось вообще?

Anton
21.11.2016
19:54:04
в смысле?

Felix
21.11.2016
19:54:14
https://tools.ietf.org/html/rfc6455#section-1.3 не должно быть там никакого тела

короче если вопрос был в том, стоит ли руками пускать http - то можно не пускать, ws это сделает сам

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

Anton
21.11.2016
19:56:23
мы походу про разные версии протокола говорим

Felix
21.11.2016
19:57:11
я вообще не помню там когда-либо тело и не могу представить зачем оно нужно

マイク
21.11.2016
20:00:56
мы походу про разные версии протокола говорим
ну если брать не пару первых черновиков

дальше всё нормально

Felix
21.11.2016
20:01:30
а, нашел где есть body, действительно в первом драфте

Anton
21.11.2016
20:01:41
https://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76#section-1.3

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