[NPM] package ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐฉ๋ฒ•
ยท
Server/Node.js
package ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐฉ๋ฒ• ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“ˆ์ด '์˜ค๋ž˜๋œ'์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค. npm outdated ' ์˜ค๋ž˜๋œ'์€ package.json์— ์ •์˜๋œ ๋ชจ๋“  ๋ชจ๋“ˆ์„ ํ™•์ธํ•˜๊ณ  NPM ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ตœ์‹  ๋ฒ„์ „์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด xml2js 0.2.6(ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ node_modules์— ์žˆ์Œ)์ด ์ตœ์‹  ๋ฒ„์ „(0.2.7)์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ž˜๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. xml2js@0.2.7 node_modules/xml2js current=0.2.6 ๋ชจ๋“  ์ข…์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ์ด๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค๊ณ  ํ™•์‹ ํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค. npm update ๋˜๋Š” xml2js์™€ ๊ฐ™์€ ๋‹จ์ผ ์ข…์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค. npm update xml2j..
Yarn ์ด๋ž€?
ยท
Server/Node.js
Yarn์€ ์ฝ”๋“œ์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ „ ์„ธ๊ณ„์˜ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Yarn์€ ์ด ์ž‘์—…์„ ๋น ๋ฅด๊ณ  ์•ˆ์ „ํ•˜๋ฉฐ ์•ˆ์ •์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Yarn์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์˜ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋” ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ GitHub์— ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด Yarn์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ฒƒ์„ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” ํŒจํ‚ค์ง€๋ผ๋Š” ๊ฒƒ์„ ํ†ตํ•ด ๊ณต์œ ๋ฉ๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์—๋Š” ๊ณต์œ ๋˜๋Š” ๋ชจ๋“  ์ฝ”๋“œ์™€ ํŒจํ‚ค์ง€๋ฅผ ์„ค๋ช…ํ•˜๋Š” package.json ํŒŒ์ผ(๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ผ๊ณ  ํ•จ)์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Install Corepack Yarn์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋ณธ ๋ฐฉ๋ฒ•์€ 16.10๋ถ€ํ„ฐ ..
yarn ๋ช…๋ น์–ด๊ฐ€ ์œˆ๋„์šฐ์—์„œ ์•ˆ๋ ๋•Œ
ยท
Server/Node.js
๋งŒ์•ฝ ์œˆ๋„์šฐ 11 ์šด์˜์ฒด์ œ์—์„œ yarn ๋ช…๋ น์–ด๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋ช‡ ๊ฐ€์ง€ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Node.js๋ฅผ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. Node.js์˜ ์ตœ์‹  ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Node.js๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋ฉด ๊ณต์‹ ์›น์‚ฌ์ดํŠธ์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์„ค์น˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Windows 11์—์„œ๋Š” Node.js์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋กœ Yarn์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ œ์–ดํŒ์„ ์—ด๊ณ , "์‹œ์Šคํ…œ"์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ ์ฐฝ์—์„œ "๊ณ ๊ธ‰ ์‹œ์Šคํ…œ ์„ค์ •"์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. "ํ™˜๊ฒฝ ๋ณ€์ˆ˜" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๋ณ€์ˆ˜ ๋ชฉ๋ก์—์„œ "Path"๋ฅผ ์ฐพ์•„ ์„ ํƒํ•œ ํ›„, "ํŽธ์ง‘" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. "..
Next.js ์„ค์น˜ ๋ฐฉ๋ฒ•
ยท
Server/Node.js
์‹œ์ž‘ ๋‹ค์Œ.js ๋ฌธ์„œ์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! Next.js๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๊ฒฝ์šฐ ํ•™์Šต ๊ณผ์ •์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ€ด์ฆˆ๊ฐ€ ํฌํ•จ๋œ ๋Œ€ํ™”ํ˜• ๊ณผ์ •์€ Next.js๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. Next.js์™€ ๊ด€๋ จ๋œ ์งˆ๋ฌธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์–ธ์ œ๋“ ์ง€ GitHub ํ† ๋ก ์—์„œ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์งˆ๋ฌธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. System Requirements Node.js 14.6.0 or newer MacOS, Windows (including WSL), and Linux are supported Automatic Setup ๋ชจ๋“  ํ•ญ๋ชฉ์ด ์ž๋™์œผ๋กœ ์„ค์ •๋˜๋Š” create-next-app์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋‹ค์Œ.js ์•ฑ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. (๋นˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. create-next-app ๋‹น์‹ ์„ ..
Node.js - Introduction
ยท
Server/Node.js
What is Node.js?Node.js๋Š” ๊ตฌ๊ธ€ ํฌ๋กฌ์˜ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ์—”์ง„ (V8 ์—”์ง„) ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ฒ„ ์ธก ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. 2009๋…„ Ryan Dahl ์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ์ตœ์‹  ๋ฒ„์ „ v0.10.36 ์ž…๋‹ˆ๋‹ค.(2016๋…„07์›”20์ผ ๊ธฐ์ค€ LTS 4.4.7 ๋ฒ„์ „์ด ๊ฐ€์žฅ ์ตœ์‹ ์ž…๋‹ˆ๋‹ค.) ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” documentation์— ์˜ํ•˜๋ฉด - Node.js๋Š” ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋„คํŠธ์›Œํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ํฌ๋กฌ์˜ Chrome's JavaScript runtime(V8์—”์ง„)์œผ๋กœ ๊ตฌ์ถ• ๋œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ๋””๋ฐ”์ด์Šค๋ฅผ ๊ฐ€๋ณ๊ณ  ํšจ์œจ์ ์ด๋ฉฐ ์™„๋ฒฝํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ event-driven, non-blocking I/O๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.Node.js๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๊ฐœ๋ฐœ ๋ฐ ๋„คํŠธ์›Œํ‚น ..
Node.js ํŠœํ† ๋ฆฌ์–ผ
ยท
Server/Node.js
Node.js TutorialNode.js๋Š” ํ›Œ๋ฅญํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ/ํ”Œ๋žซํผ์ด๋ฉฐ ๊ตฌ๊ธ€ ํฌ๋กฌ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„๊ณผ ๊ฐ™์€ V8 ์—”์ง„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋˜์–ด์žˆ๋‹ค. ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์‚ฌ์ดํŠธ, ๋‹จ์ผ ํŽ˜์ด์ง€๋กœ ์ด๋ค„์ง„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ธฐํƒ€ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ณผ ๊ฐ™์€ I/O๋ฅผ ์ฃผ๋กœ ๋‹ค๋ฃจ๋Š” ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค์ธ Node.js๋Š” ์™„์ „ ๋ฌด๋ฃŒ์ด๋ฉฐ ์ „ ์„ธ๊ณ„ ์ˆ˜ ์ฒœ๋ช… ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด์šฉํ•˜๊ณ  ์žˆ๋‹ค.Audience์ด๋ฒˆ ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” Node.js์˜ ๊ธฐ์ดˆ์™€ ์•„ํ‚คํ…์ฒ˜ ์ปจ์…‰์„ ๊ณต๋ถ€ํ•˜๊ณ ์ž ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์œ„ํ•ด ์ œ์ž‘๋˜์—ˆ๋‹ค. Node.js์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ์™€ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์ดํ•ด๋ฅผ ์‹œ์ผœ ์ค„ ๊ฒƒ์ด๋‹ค.Prerequisites์ด ๊ณผ์ •์„ ํ•˜๊ธฐ ์ „์— ๊ธฐ์ดˆ์ ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์›น ๊ธฐ๋ฐ˜..
apache 404 error page ์„ค์ •
ยท
Server/Apache
๊ฒฝ๋กœ ํ™•์ธ# pwd ์ž…๋ ฅ /apache/conf ํ™•์ธ ์„ค์ • ํ™•์ธ# cat httpd.conf |grep ErrorDocument ์ž…๋ ฅ #ErrorDocument 500 "The server made a boo boo."#ErrorDocument 404 /missing.html#ErrorDocument 404 "/cgi-bin/missing_handler.pl"#ErrorDocument 402 http://www.example.com/subscription_info.html ํ™•์ธ httpd ํŽธ์ง‘#vim httpd.conf ์ž…๋ ฅ ํ›„ ์ฃผ์„์ฒ˜๋ฆฌ๋œ#ErrorDocument 404 "/error-404.html" → ErrorDocument 404 "/error-404.html"์ฃผ์„ ํ•ด์ œ ํ›„ ์ €์žฅ [๋ณ€๊ฒฝ๋œ ๋ฌธ์žฅ]#..
tomcat ์„ค์ •ํ•˜๊ธฐ
ยท
Server/Tomcat
๋ฌด๋ฃŒ๋กœ ๋ฐฐํฌ๋˜๋Š” ์„œ๋ฒ„ tomcat์˜ ์„œ๋ฒ„ ์„ค์ •์ž…๋‹ˆ๋‹ค.์‹œ์Šคํ…œ ์†์„ฑ → ๊ณ ๊ธ‰ → ํ™˜๊ฒฝ๋ณ€์ˆ˜์—์„œ ํ•˜๋‹จ ์‹œ์Šคํ…œ ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.CATALINA_HOMEC:\tomcat๋ณ€์ˆ˜์ด๋ฆ„์„ CATALINA_HOME์ด๋ผ ์ง€์ •ํ•˜๊ณ  ์กด์žฌํ•˜๋Š” ํด๋”์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.