โช๏ธ ูู ู
ูุชู
ุจู
ุฐุงูุฑุฉ Node.js
Node.js Developer Roadmap: Master Node.js by Following This Roadmap
https://github.com/saifaustcse/nodejs-developer-roadmap
#nodejs #backend
Node.js Developer Roadmap: Master Node.js by Following This Roadmap
https://github.com/saifaustcse/nodejs-developer-roadmap
#nodejs #backend
โค9๐1๐ฅฐ1
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู 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.
โโโ
๐ก ู ุซุงู ุนู ูู
ูู ุงูู ุซุงู ุฏูุ ูู ู ุฑุฉ ุงูู 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.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โโโ
#nodejs@the_developer_guide
.
.
ุฃุบูุจ ุงูููุช ูุฅุญูุง ุจููุชุจ ููุฏ ูู 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.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โโโ
#nodejs@the_developer_guide
โค5