Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- js
- async
- webpack
- execCommand
- promise
- Porject
- ์ฐธ๊ณ ๋ธ๋ก๊ทธ
- JS #ํ๋ก์ ํธ
- https://m.blog.naver.com/tt2t2am1118/221010125300
- setTimeout()
- json
- ํผํ
- ajax
- mysql
- ๋๊ธฐ
- await
- eport
- Import
- db
- database
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- ๊ฒ์
- callback
- slow and steady
- object
- Project
- sql
- prj
- ๋น๋๊ธฐ
- addEventListener
Archives
- Today
- Total
C-log
section31-์ฐ๋ฆฌ์ ์ฒซ ๋ฒ์งธ ๋๊ตฌ : ๋ ธ๋(Node) ๋ณธ๋ฌธ
728x90
Topic | explain | class |
Node.js | ๋
ธ๋JS๋ JS์ ๋ฐํ์์ด๋ค. JS์ ์ด๋ ์ ๋ฌด์์ธ๊ฐ JS์๋ ์ ๊ณต์ํ์ด ์๋๊ฐ JS๋ ์ค์นํ์ง ์๋ ๋์ ์ผ์ ํ ์ฌ์์ ๊ฐ์ถ์ด์ผํ๋ค. ๊ทธ๊ฒ์ ๋ฐ๋ก ECMAScript์ฌ์์ด๋ค. ๊ทธ๋ฌ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ JS๋ฅผ ์คํ์ํจ๋ค. ๊ทธ๋ ๊ฒ ๊ท์น์ ์งํจ๋ค. ๋ธ๋ผ์ฐ์ ๋ JS๋ฅผ ์์ฑํ๊ณ ์คํ์ํฌ ์ ์๋ ์ ์ผํ ์ฅ์์ด๋ค. ํ์ง๋ง phyton์ด๋ ruby๋ก๋ ์น์๋ฒ๋ ํ์ผ ์์คํ ์ ์ํธ์์ฉ์ ํ ์์๋๋ฐ Node.js๊ฐ ๋์ค๊ธฐ ์ ์๋ ์ด๋ฐ์ผ์ ๋ชปํ๋ค. Node๋ ๋ธ๋ผ์ฐ์ ๋ฐ์์ ์๋๋๋ JS์ ์คํ ํ๊ฒฝ์ด๋ค.JS์ฝ๋๋ฅผ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ง ์๊ณ ์คํ ํ ์ ์๋ค.(๊ทธ๋ ๋ค๊ณ ๋๊ฐ์ ์ผ์ ํ ์ ์๋ ๊ฒ์ ์๋๋ค.) |
Node Js๊ฐ์ |
Node์ ํ๋ ์ ์ํฌ๋ Express์ด๋ค. | Node๋ ์ด๋์ ์ฌ์ฉํ๋๊ฐ? | |
ํ๋ ์์ํฌ๋? : ํ๋ ์์ํฌ(Framework)๋, ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ํ ์ ์๋๋ก ๊ธฐ๋ณธ์ ์ธ ๋ผ๋์ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๋ ์ํํธ์จ์ด ๋๊ตฌ ๋ชจ์์
๋๋ค. ์ฆ, ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ๋, ํด๋น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ณตํต์ ์ธ ๊ธฐ๋ฅ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋์ ๋ชจ๋๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด, ๊ฐ๋ฐ์๋ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ๋ ๊ธฐ์กด์ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๊ฐ๋ฐ ์๊ฐ์ ๋จ์ถํ๊ณ ์ผ๊ด๋ ์ฝ๋ ํ์ง์ ์ ์งํ ์ ์์ต๋๋ค. ๋ํ, ํ๋ ์์ํฌ๋ ๋ณด์, ์ฑ๋ฅ, ํ์ฅ์ฑ ๋ฑ ์ฌ๋ฌ ์ธก๋ฉด์์ ์์ ์ ์ธ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค ์ ์๋๋ก ์ง์ํฉ๋๋ค. ๋ํ์ ์ธ ํ๋ ์์ํฌ๋ก๋ Spring, Django, Ruby on Rails, Laravel ๋ฑ์ด ์์ต๋๋ค. |
||
Node REPL | ๋ธ๋ผ์ฐ์ ์ JavaScript์ฝ์์ REPL์ ๋๋ค. | Node REPL |
REPL : REPL์ Read-Eval-Print Loop์ ์ฝ์์ ๋๋ค. Node.js๋ JavaScript ๋ฐํ์ ํ๊ฒฝ์ผ๋ก, REPL์ JavaScript ์ฝ๋๋ฅผ ์ ๋ ฅํ๊ณ ์ฆ์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์๋ ์ฝ์ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ์ฆ, REPL์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ฝ๋๋ฅผ ์ฝ๊ณ ์คํํ๋ฉฐ, ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๊ณ ๋ค์ ์๋ก์ด ์ฝ๋๋ฅผ ์ ๋ ฅ๋ฐ๋ ๋ฃจํ๋ฅผ ๋งํฉ๋๋ค. Node.js์์ REPL์ ์ฌ์ฉํ๋ฉด JavaScript ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ์คํํ๊ณ ๋๋ฒ๊น ํ ์ ์์ต๋๋ค. | ||
Node ํ์ผ ์คํํ๊ธฐ | ![]() |
Node ํ์ผ ์คํ |
Process & Argv | argv๋ ์ ๋ฌ๋ ์ธ์๋ฅผ ์๋ฏธํ๋ค. | ํ๋ก์ธ์ค์ Argv {Doc} https://nodejs.org/dist/latest-v18.x/docs/api |
argv๋? ์ฌ๊ธฐ์ argc๋ ์ ๋ฌ๋ ์ธ์์ ๊ฐ์๋ฅผ, argv๋ ์ธ์๋ค์ ๋ฌธ์์ด ๋ฐฐ์ด์ ๋ํ๋ ๋๋ค. Python์์๋ ๋น์ทํ ๋ฐฉ์์ผ๋ก sys.argv๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋งจ๋ ๋ผ์ธ์์ ์ ๋ฌ๋ ์ธ์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. argv๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ์ธ์๋ฅผ ๋ฐ์์ ์คํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, node ๋ช ๋ น์ด๋ก ์คํํ๋ JavaScript ํ์ผ์์ argv๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋งจ๋ ๋ผ์ธ์์ ์ ๋ฌ๋ ์ธ์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. |
||
Node์ค์ต | ํ์ผ์์คํ ๋ชจ๋์ ์ถฉ๋ ๊ณผ์ | |
![]() |
Node(gitBash)์ฝ๋ | |
const fs = require('fs');
const folderName = process.argv[2] || 'Project'
try {
fs.mkdirSync(folderName);
// console.log(folderName);
fs.writeFileSync(`${folderName}/index.html`);
fs.writeFileSync(`${folderName}/app.js`);
fs.writeFileSync(`${folderName}/app.css`);
} catch (e) {
console.log("SOMETHING WENT WRONG!!");
console.log(e);
}
์ค๋ฅ : TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffe r, TypedArray, or DataView. Received undefined ->.writeFileSync์ ์ฌ์ฉ๋ฒ์ ์๋์ ๊ฐ๋ค. fs.writeFileSync(file, data[, options]) {Doc} https://nodejs.org/dist/latest-v18.x/docs/api/fs.html#fswritefilesyncfile-data-options |
||
์์ ๋ ์ฝ๋ : fs.writeFileSync(~)์์ file๋ช
๋ง์์ฑํ์ง์๊ณ data๋ ์ ์ํด์ฃผ๋ฉด์ ํด๊ฒฐ๋์๋ค. const fs = require('fs');
const folderName = process.argv[2] || 'Project'
try {
fs.mkdirSync(folderName);
// console.log(folderName);
fs.writeFileSync(`${folderName}/index.html`, '');
fs.writeFileSync(`${folderName}/app.js`, '');
fs.writeFileSync(`${folderName}/app.css`, '');
} catch (e) {
console.log("SOMETHING WENT WRONG!!");
console.log(e);
}
|
||
chat gpt : ์ ์ฝ๋๋ ํ์ผ ์์คํ ๋ชจ๋์ธ fs ๋ชจ๋์ ์ฌ์ฉํ์ฌ ํด๋๋ฅผ ์์ฑํ๊ณ , ํด๋น ํด๋์ index.html ํ์ผ์ ์์ฑํ๋ ์ฝ๋์ ๋๋ค. ํ์ง๋ง, ํ์ฌ ์ฝ๋์์๋ index.html ํ์ผ์ ๋ด์ฉ์ ์์ฑํ์ง ์๊ณ ํ์ผ์ ์์ฑํ๊ณ ์์ต๋๋ค. ์ด ์ฝ๋์์๋ ๋ค์๊ณผ ๊ฐ์ด index.html ํ์ผ ๋ด์ฉ์ ์์ฑํ ์ ์์ต๋๋ค. ์ ์ฝ๋์์๋ index.html ํ์ผ ๋ด์ฉ์ผ๋ก "Welcome to my page!"๋ฅผ ๊ฐ์ง๋ HTML ํ์ด์ง๋ฅผ ์์ฑํ๊ณ ์์ต๋๋ค. ๋ํ, ์ฃผ์ ์ฒ๋ฆฌ๋ ๋ถ๋ถ์ ํ์ฑํํ์ฌ app.js์ app.css ํ์ผ๋ ์์ฑํ ์ ์์ต๋๋ค. |
728x90
'๐JS > โกver.0' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
section33-๐Express๋ก ์๋ฒ ์ ์ํ๊ธฐ (0) | 2023.04.09 |
---|---|
section32-๋ชจ๋๊ณผ NPM (0) | 2023.04.07 |
section30-ํฐ๋ฏธ๋ ์๋ฒฝ ์ ๋ฆฌ (0) | 2023.04.05 |
section29-ํ๋กํ ํ์ , ํด๋์ค, ๊ทธ๋ฆฌ๊ณ OOP(๋ฐฑ์๋๋ฅผ ๋ฃ๊ณ ๋์ค์ ๋ค์ ๋ค์ด๋ ๋ฌด๋ฐฉํ๋ค) (0) | 2023.04.04 |
section28-AJAX์API (0) | 2023.04.03 |
Comments