Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 May 20

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
50 на 50 звучит более здраво
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
80 на 20 это если мы растим кодера (уровень пту) а не инженера
источник

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
теория без практики будет не осознанной, потому имхо оно должно быть вместе, ну типа почитал немного теории, написал какую-то хрень, потом почитал еще теории, понял что хрень и переписал... потом еще что-то почитал и опять...
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
конечно же это не так
и легаси бывает нормальным, и новых проектов не меньше чем поддержки
обычно это выбор самого человека - работать в компании с кучей говна, или не работать
источник

DH

Dima Haponov in NodeUA - JavaScript and Node.js in Ukraine
почитал - пописал, почитал - пописал потом понял что та теория полная хрень которая написано кем то для кого-то и все должны делать так как считает автор =) написал свою хрень - теорию )
источник

DH

Dima Haponov in NodeUA - JavaScript and Node.js in Ukraine
Sounds like a plan!
источник

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
ну и это тоже, не все ж повторять чужие советы просто потому что "так все делают"
источник

DH

Dima Haponov in NodeUA - JavaScript and Node.js in Ukraine
Да каждый автор считает что его теория самая верная и только так и должно быть
источник

ВП

Василий Петров... in NodeUA - JavaScript and Node.js in Ukraine
По опыту своего обучения и работы со студентами, могу сказать что знания плохо заходят, если в голове ещё нет вопроса, на который они отвечают. Получаются обезьяны, которые умеют только копировать чужой код, не понимая что в нем. Постоянно просят дайте нам правильное решение для задачи х, мы себе скопируем.
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
Всем привет
Нашел вот такой образец когда в разделе про стримы в книге "Node.js design patterns"
const Chance = require('chance');  
const chance = new Chance();
const http = require('http');

http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'}); //[1]  
while(chance.bool({likelihood: 95})) { //[2]
res.write(chance.string() + '\n'); //[3]
  }
res.end('\nThe end...\n'); //[4]
res.on('finish', () => console.log('All data was sent')); //[5]
}).listen(8080, () => console.log('Listening on http://localhost:8080'));


Собственно вопрос:
Обработчик события finish регистрируется в конце колбека в функции createServer.
Правильно ли я понимаю, что событие finish эмитается в случае успешной передачи ответа сервера?
источник

M

Miseo in NodeUA - JavaScript and Node.js in Ukraine
подскажите что я не так делаю.

Подключаюсь к сокету, он отдаёт данные.
получаю я вот такое:
```
<Buffer 1f 8b 08 00 00 00 00 00 00 00 ab 56 ca 4c 51 b2 32 ac 05 00 c5 f8 5d 44 08 00 00 00>
```

я не долго думая делаю так:
data.toString()


и вместо норм текса получаю:
```
'\x1F\b\x00\x00\x00\x00\x00\x00\x00VLQ2\x05\x00]D\b\x00\x00\x00'
```

доку читал. должно работать. почему не работает не понимаю…
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
data.toString(‘utf8’) - так может?
источник

M

Miseo in NodeUA - JavaScript and Node.js in Ukraine
добавлял. резульатат

```{
 string: '\x1F\b\x00\x00\x00\x00\x00\x00\x00VLQ2\x05\x00]D\b\x00\x00\x00',
 data: <Buffer 1f 8b 08 00 00 00 00 00 00 00 ab 56 ca 4c 51 b2 32 ac 05 00 c5 f8 5d 44 08 00 00 00>
}
```
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
nodejs.org/dist/latest-v14.x/docs/api/http.html#http_event_finish

А что имеется в виду под неуспешной передачей?
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
https://nodejs.org/api/http.html#http_event_finish_1

Здесь указывается именно successful
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Он начал очень сложного кода, который не понадобится в практической работе никогда, а для системного программирования нужно еще пройти этап обычного
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
>>"... when the last segment of the response headers and body have been handled off to the operating system for transmission... ."

А разве он не становится sent когда мы вызвали res.end()?
Или res.end() - это асинхронная операция?
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
В end есть не синхронные операции, ты можешь в нём самом данные заслать
источник

Г

Глеб in NodeUA - JavaScript and Node.js in Ukraine
Предполагаю, что в данном контексте, речь про TCP segment
источник

M

Miseo in NodeUA - JavaScript and Node.js in Ukraine
сделал вот так:
console.dir({ string: data.toString('utf8'), data }, { depth: 6 });


теперь показывает:
```
{
 string: '\x1F\b\x00\x00\x00\x00\x00\x00\x00VLQ2\x05\x00]D\b\x00\x00\x00',
 data: Buffer(28) [Uint8Array] [
   31, 139,   8,  0,   0,   0,  0,   0,
    0,   0, 171, 86, 202,  76, 81, 178,
   50, 172,   5,  0, 197, 248, 93,  68,
    8,   0,   0,  0
 ]
}

```

но дело не продвигается…
источник