tgoop.com/the_developer_guide/5743
Last Update:
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู Buffer ูู Node.js ๐ฏ
.
.
ุฃุบูุจ ุงูููุช ูุฅุญูุง ุจููุชุจ ููุฏ ูู Node.jsุ ุจูุชุนุงู
ู ู
ุน ุงูุจูุงูุงุช ุงููู ุฑุงุฌุนู ู
ู ุงูู APIs ุฃู ู
ู ุงูู Database ุฃู ู
ู ุงูู Files ุนูู ููุฆุฉ Strings ุฃู JSON. ุชู
ุงู
ูุฏูุ ูููุ ูู ููุชุนุงู
ู ู
ุน ุญุงุฌุงุช ุฒู ุงูุตูุฑุ ุงูู
ููุงุช ุงูุตูุชูุฉุ ุงูููุฏููุ ุฃู ุฃู Data ุบูุฑ ูุตููุฉ (non-text)ุ ููุชูุง ุงูู JavaScript ู
ุง ุชุนุฑู ุชุชุนุงู
ู ู
ุน ุงูููุน ุฏู ุจุดูู ู
ุจุงุดุฑ. ูููุง ููุฌู ุฏูุฑ ุงูู Buffer.
โโโ
๐ ุฅูู ูู ุงูู Bufferุ
ุงูู Buffer ูู ุจุจุณุงุทุฉ ุทุฑููุฉ Node.js ููุชุนุงู
ู ู
ุน ุงูุจูุงูุงุช ุงูุฎุงู
(Raw Binary Data) ุงููู ุฑุงุฌุนุฉ ู
ู ุฃู ุฑุงูุญุฉ ูู
ุตุฏุฑ ุฎุงุฑุฌูุ ุฒู ู
ุซููุง File System ุฃู TCP Streamุ ุฃู ุญุชู ู
ู HTTP Response.
ูุนูู ูู ุนูุฏู ูุงูู MP3ุ ุฃูุช ู
ุด ูุชูุฑุฃู ูู "ูุต"ุ ุฃูุช ูุชูุฑุฃู ูู ุณูุณูุฉ ู
ู ุงูุฃุฑูุงู
(bytes). ูุงูู Buffer ุจูุณู
ุญูู ุชู
ุณู ุงูุณูุณูุฉ ุฏูุ ูุชุชุนุงู
ู ู
ุนุงูุง ูู ุงูุฐุงูุฑุฉ.
โโโ
๐ฆ ููู Node.js ุจุชุณุชุฎุฏู
Buffersุ
ุนูุดุงู Node.js ู
ุจููุฉ ุญูู ุงูู Streams. ูุงูู Streams ูู ุงูุบุงูุจ ู
ุด ุจุชุฏููู ุงูุจูุงูุงุช ูููุง ู
ุฑุฉ ูุงุญุฏุฉุ ุจุชุจุนุชูุง ูู ุฌุฒุก ุฌุฒุก.
ู
ุซุงู ุจุณูุท:
ูู ุจุชูุฑุฃ ูุงูู ูุจูุฑ ู
ู ุนูู ุงููุงุฑุฏุ ุงูู Node.js ู
ุด ูุชุญู
ูู ุงููุงูู ููู ูู RAM ู
ุฑุฉ ูุงุญุฏุฉ (ุนุดุงู ุฏู ู
ุด ุนู
ูู ูู
ู
ูู ูู
ูุช ุงูุณูุณุชู
ูู ุงููุงูู ูุจูุฑ ุฌุฏูุง)ุ ูู ุจุชูุฑุฃ Chunk ุจู Chunk. ูู Chunk ู
ู ุฏูู ูู ุนุจุงุฑุฉ ุนู Buffer.
โโโ
๐ก ู
ุซุงู ุนู
ูู
const fs = require('fs');
const readableStream = fs.createReadStream('video.mp4');
readableStream.on('data', (chunk) => {
console.log('Received chunk:', chunk);
console.log('Chunk is a buffer?',
Buffer.isBuffer(chunk)); // true
});
ูู ุงูู ุซุงู ุฏูุ ูู ู ุฑุฉ ุงูู Stream ุจูุจุนุช Dataุ ุจูุณุชูุจููุง ุนูู ููุฆุฉ Buffer. ุชูุฏุฑ ุชุชุนุงู ู ู ุนุงูุงุ ุชุฎุฒููุงุ ุชุจุนุชูุงุ ุฃู ุญุชู ุชุนุฏูู ูููุง.
โโโ
โจ ุดููุฉ ุญุงุฌุงุช ู ูู ุฉ ุนู Buffer:
- ุงูู Buffer.from: ุจูุญููู ุฃู String ุฃู Array ุฃู ุญุชู ArrayBuffer ูู Buffer.
- ุงูู Buffer.alloc(size): ุจูุนู ู Buffer ูุงุถู ุจุงูุญุฌู ุงููู ุชุญุฏุฏู.
- ุงูู buffer.toString: ูู ุนุงูุฒ ุชุฑุฌูุน ุงูู Buffer ูุตูุบุฉ String (ูู ุฃุตููุง ูุงูุช Text).
โโโ
ูุงุฒู ุชููู ูุงูู ูุนูู ุฅูู Buffer ูู ุงูุญุงูุงุช ุฏู:
- ูู ุจุชุชุนุงู ู ู ุน ุงูู ููุงุช ุงููุจูุฑุฉ.
- ูู ุดุบุงู ุนูู ุชุทุจูู ุจูุณุชูุจู ุตูุฑ ุฃู ููุฏูููุงุช ุฃู ุฃุตูุงุช.
- ูู ุดุบุงู ู ุน Streams (ุฒู HTTP Requests ุฃู TCP Connections).
- ูู ุจุชุจุนุช ุฃู ุจุชุณุชูุจู Binary Data ู ู API ุฃู ุฌูุงุฒ ุชุงูู.
โโโ
ุงูู Buffers ุจุชุดุชุบู ุนูู ู ุณุชูู ุงูู Memory ู ุจุงุดุฑุฉุ ูุนูู ูู ู ุนุฑูุชุด ุชุชุนุงู ู ู ุนุงูู ุตุญุ ู ู ูู ุชูุน ูู ู ุดุงูู ุฒู memory leaks ุฃู inefficient data handling.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
BY DevGuide ๐ต๐ธ
Share with your friend now:
tgoop.com/the_developer_guide/5743