๐Ÿ“š Study

    GIt pull error

    GIt pull error

    ๊ฐ€๋” ๊ฐ€๋‹ค git์—์„œ ์ž‘์—…ํ•œ๊ฑฐ๋ฅผ pull ํ• ๋•Œ ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค ๋ฌธ์ œ git์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ์—ฌ๋Ÿฌ ๋ณ€๊ฒฝ๋‚ด์—ญ์ด ์ƒ๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‚ด ๋กœ์ปฌ์—์„œ ๋ณ€๊ฒฝ๋œ ๋‚ด์—ญ์„ ์•„์ง commit์„ ํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ pull์„ ํ•˜๊ฒŒ ๋˜๋ฉด, ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜์–ด ์ดˆ๋ณด์ž์—๊ฒŒ๋Š” ๋‚œ๊ฐํ•œ ์ƒํ™ฉ์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์— git stash ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. $ git add . git stash : ์Šคํ…Œ์ด์‹œ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด๊ด€ $ git stash $ git pull origin branch name

    Spring์ด๋ž€?

    Spring์ด๋ž€?

    1. ์Šคํ”„๋ง(Spring)์ด๋ž€? 1.1 ์Šคํ”„๋ง์˜ ๊ฐœ๋… Spring Logo Spring์€ ๋ฌด์—‡์ผ๊นŒ์š”? ์Šคํ”„๋ง์€ ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. spring.io ์‚ฌ์ดํŠธ์—์„œ ํ™•์ธํ•˜๋ฉด ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํ˜„๋Œ€ ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ Configuration Model ์ œ๊ณตํ•œ๋‹ค๋ผ๊ณ  ์–ธ๊ธ‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Python์„ ์ด์šฉํ•œ Django, Ruby๋ฅผ ์ด์šฉํ•œ Ruby on Rails, Javascript๋ฅผ ์ด์šฉํ•œ Node.js ๊ธฐ๋ฐ˜์˜ ์›น ์„œ๋ฒ„ ๊ฐœ๋ฐœ๊ณผ ๊ฐ™์ด Java ๊ฐœ๋ฐœ์ž๋“ค์€ Spring์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Spring ์€ ์ˆ˜๋งŽ์€ ๊ตญ๋‚ด ๊ธฐ์—…๊ณผ ํ•ด์™ธ ๊ธฐ์—…์—์„œ ๋งค์šฐ ๋งŽ์€ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” ์›น..

    ์Šคํ”„๋ง(Spring)์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Annotation ๊ฐœ๋… ๋ฐ ์˜ˆ์ œ ์ •๋ฆฌ

    1. Annotation์ด๋ž€? Spring์—์„œ๋Š” Annotation์„ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Annotation์˜ ์—ญํ• ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ์„ค๋ช…์€ ์Šคํ”„๋ง ๋นˆ(Spring Bean)์ด๋ž€? ๊ฐœ๋… ์ •๋ฆฌ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š”. JAVA์—์„œ Annotation ์ด๋ผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „์ƒ์œผ๋กœ๋Š” ์ฃผ์„์˜ ์˜๋ฏธ์ด์ง€๋งŒ Java ์—์„œ๋Š” ์ฃผ์„ ์ด์ƒ์˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Annotation์€ ์ž๋ฐ” ์†Œ์Šค ์ฝ”๋“œ์— ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค. ์†Œ์Šค์ฝ”๋“œ์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋‹จ์ˆœ ์ฃผ์„์˜ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŠน๋ณ„ํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Annotation์€ ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๋ถ€์—ฌํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. Annotation์„ ํ™œ์šฉํ•˜์—ฌ Spring Framework๋Š” ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์–ด๋–ค ..

    DAO, DTO, VO ๋ž€?

    DAO, DTO, VO ๋ž€?

    spring์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด DTO, DAO, VO์— ๋Œ€ํ•œ ์šฉ์–ด์— ๋Œ€ํ•˜์—ฌ ๋งŽ์ด ์ ‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ฐœ๋…์— ๋Œ€ํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. DAO(Data Access Object) DAO(Data Access Object) ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ data์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. DataBase์— ์ ‘๊ทผ ํ•˜๊ธฐ ์œ„ํ•œ ๋กœ์ง & ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. - Database ์ ‘๊ทผ์„ ์œ„ํ•œ ๊ฐ์ฒด์ด๋‹ค. - Data ์‚ฝ์ž…(INSERT), ์ˆ˜์ •(UPDATE), ์‚ญ์ œ(DELETE), ์กฐํšŒ(SELECT)๋ฅผ ์กฐ์ž‘/์ˆ˜ํ–‰ํ•œ๋‹ค. - ๋ณดํ†ต DB์™€ ์—ฐ๊ฒฐํ•  Connection๊นŒ์ง€ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. DTO DTO(Data Transfer Object) ๋Š” ๊ณ„์ธต ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด๋กœ, DTO๋Š” ..

    [Spring Boot] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์•Œ์•„๋ณด๊ธฐ

    [Spring Boot] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์•Œ์•„๋ณด๊ธฐ

    spring boot๋กœ ๊ฒŒ์‹œํŒ์„ ๋งŒ๋“ค๋‹ค๊ฐ€ ๊ตฌํ˜„ ์œ„์ฃผ๋กœ ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์™œ, ์–ด๋–ป๊ฒŒ ๋Œ์•„ ๊ฐ€๋Š”์ง€ ๊ถ๊ธˆํ•ด์„œ ๊ตฌ์กฐ๋ฅผ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. 1. src/main/java ๋””๋ ‰ํ† ๋ฆฌ (์ œ์ผ ์ค‘์š”) ํ•œ ๋ธ”๋กœ๊ทธ์—์„œ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด์ค€ ๊ฒƒ ๊ฐ™์•„ ์ฐธ๊ณ ์šฉ์œผ๋กœ ๋จผ์ € ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ : @Controller (ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋ ˆ์ด์–ด, ์›น ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•จ) ๋กœ์ง ์ฒ˜๋ฆฌ : @Service (์„œ๋น„์Šค ๋ ˆ์ด์–ด, ๋‚ด๋ถ€์—์„œ ์ž๋ฐ” ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•จ) ์™ธ๋ถ€I/O ์ฒ˜๋ฆฌ : @Repository (ํผ์‹œ์Šคํ„ด์Šค ๋ ˆ์ด์–ด, DB๋‚˜ ํŒŒ์ผ๊ฐ™์€ ์™ธ๋ถ€ I/O ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•จ) Controller ์œ„ ์‚ฌ์ง„์€ ์›น ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์™€ ์†Œํ†ตํ•  ๋•Œ ์–ด๋–ค ๋กœ์ง์„ ๊ฑฐ์ณ์„œ ์ •๋ณด๊ฐ€ ์ „๋‹ฌ์ด ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์œ„์ชฝ์— ๋ณด๋ฉด front-end์—์„œ ๋“ค์–ด์˜ค๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก..

    GitHub ํ”„๋กœ์ ํŠธ ๊ฐ€์ ธ์˜ค๊ธฐ [pull, fetch, clone]

    GitHub ํ”„๋กœ์ ํŠธ ๊ฐ€์ ธ์˜ค๊ธฐ [pull, fetch, clone]

    ๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ์ €์žฅ์†Œ์— ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ์ปฌ์ €์žฅ์†Œ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.1. git push2. git fetch3. git clone์ด ์ฒ˜๋Ÿผ ํ•œ๋Œ€์˜ ์ปดํ“จํ„ฐ๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ์—์„œ ์›๊ฒฉ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.์•„์ง ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์€ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ! ๐Ÿ’ฃ git pull = git fetch + git mergepull๊ณผ fetch์˜ ์ฐจ์ด์ ์€ ๋ณ‘ํ•ฉ์„ ํ•˜๋ƒ ์•ˆ ํ•˜๋ƒ์˜ ์ฐจ์ด๋‹ค.1. git pull ?์›๊ฒฉ์ €์žฅ์†Œ์— ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ทธ๋Œ€๋กœ ๋กœ์ปฌ์ €์žฅ์†Œ์— ์˜ฎ๊ฒจ์™€ ์ž๋™์œผ๋กœ ๋ณ‘ํ•ฉํŒ€ ๋‹จ์œ„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ณ„์ •์ด ์•„๋‹Œ ๊ฐœ์ธ์ ์œผ๋กœ ๊นƒํ—ˆ๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด๋ผ๋ฉด git pull ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค."๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ€์ ธ์˜ด๊ณผ ๋™์‹œ์— ์ž๋™์œผ๋กœ ๋ณ‘ํ•ฉ์ด..

    Git ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์ •๋ฆฌ(commit, push, pull request, merge ๋“ฑ)

    Git git ๊ฐœ๋… ๋ฐ ๋ช…๋ น์–ด ์ •๋ฆฌ ๊ฐœ์ธ ๊ฐœ๋ฐœ์„ ๋„˜์–ด, ๊ณต๋™ ๊ฐœ๋ฐœ์—์„œ ํšจ์œจ์ ์ธ ์ฝ”๋“œ ํ˜•์ƒ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•จ. Git ์˜์—ญ (1) Working Directory (Local) : ๊ฐœ์ธ ์ฝ”๋“œ ์ž‘์„ฑ (2) Staging ์˜์—ญ :โ€‹ git add ๋ฅผ ํ†ตํ•ด์„œ ์ˆ˜์ •๋œ ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆฌ๋Š” ์˜์—ญ (3) Repository : โ€‹ git commit ์„ ํ†ตํ•ด์„œ ์ตœ์ข… ์ˆ˜์ •๋ณธ์„ ์ œ์ถœ Git ์ž‘์—… ํ”Œ๋กœ์šฐ ๋จผ์ € ํ„ฐ๋ฏธ๋„์— git์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. linux (Ubuntu) ๊ธฐ์ค€ $ sudo apt install git-all (1) ์ €์žฅ์†Œ(Repository) ์ƒ์„ฑ ์›ํ•˜๋Š” ํด๋” ๋“ค์–ด๊ฐ„ ํ›„ $ git init ๋˜๋Š” ๊ธฐ์กด github์— ์žˆ๋Š” ์ €์žฅ์†Œ๋ฅผ ๋‚ด ๋กœ์ปฌ๋กœ ๋ณต์ œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. $ git clone (git ์ €์žฅ์†Œ์˜ URL) (2) ..

    git์œผ๋กœ ์ฝ”๋“œ ๊ฐ€์ ธ์˜ค๊ธฐ

    git์œผ๋กœ ์ฝ”๋“œ ๊ฐ€์ ธ์˜ค๊ธฐ

    git์œผ๋กœ ์ฝ”๋“œ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•๋„ ๋ชจ๋ฅด๊ณ  ์ผ์ผ์ด ๋ณต๋ถ™ํ–ˆ๋Š”๋ฐ ๊ทธ๋ฐฉ๋ฒ•๋ณด๋‹ค ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. 1. ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์˜ ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ (url) ๋ณต์‚ฌํ•˜๊ธฐ [์ดˆ๋ก์ƒ‰ Code ๋ฒ„ํŠผ ํด๋ฆญ > URL ๋ณต์‚ฌ] 2. ๊นƒํ—ˆ๋ธŒ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋””๋ ‰ํ† ๋ฆฌ(ํด๋”)๋ฅผ ๋‚ด PC์— ๋งŒ๋“ค๊ธฐ ( ์ฆ‰, ๋‚ด ์ปด์— ํด๋” ๋งŒ๋“ค๊ธฐ) 3. cmd ์ฐฝ ์—ด๊ณ  (๊ฒ€์ƒ‰ > cmd ๋‚ด ๊ฐ€ ๋งŒ๋“  ํด๋”๋กœ ์ด๋™ํ•˜๊ธฐ 4. [git clone + 1๋ฒˆ์—์„œ ๋ณต์‚ฌํ•œ URL] ์ •๋ฆฌ github์— ์žˆ๋Š” ์ฝ”๋“œ ํ•˜๊ณ  ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›€ ๋‹ค์Œ์—๋Š” ์—ฐ๋™ํ›„ ์ปค๋ฐ‹ํ•˜๊ณ  ํ‘ธ์‰ฌ๋Œ€๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์ž

    Mongo DB์™€ Node.js ์—ฐ๋™ํ•˜๊ธฐ

    Mongo DB์™€ Node.js ์—ฐ๋™ํ•˜๊ธฐ

    ์„œ๋ก  mongodb์™€ node.js๋ฅผ ์—ฐ๋™ํ•ด์„œ db๋ฅผ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„์•ผํ•œ๋‹ค. const mongoose = require('mongoose'); const MONGODB_URL = 'mongodb+srv://root:12341234@cluster0.luvlj.mongodb.net/myFirstDatabase?retryWrites=true&w=majority' mongoose.connect(MONGODB_URL, { useNewUrlParser: true }, (err) => { if (err) { console.log(err); } else { console.log("Connected to database successfully") } }) DB์ ‘๊ทผ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋œจ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ ..

    ์š”์ฒญ ๋ผ์šฐํŒ…ํ•˜๊ธฐ

    ์„œ๋ก  middle์›จ์–ด์˜ ๋ผ์›‰ํŒ…์„ ์•Œ์•„๋ณด์ž ์š”์ฒญ url์„ ์ผ์ผ์ด ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์šด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ๋ผ์šฐํ„ฐ ๋ฏธ๋“ค์›จ์–ด์ž…๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ ๋ฏธ๋“ค์›จ์–ด ์‚ฌ์šฉํ•˜๊ธฐ ๋ผ์šฐํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ๊ธฐ๋Šฅ์ด ๋ฌด์—‡์ธ์ง€ ํŒจ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ณ„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„์ฃผ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. * Router ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ๋ผ์šฐํŒ… ํ•จ์ˆ˜ ๋“ฑ๋กํ•˜๊ธฐ * * (1) ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:3000/public/login2.html ํŽ˜์ด์ง€ ์—ด๊ณ  ์š”์ฒญ * (2) ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์˜ Postman ์•ฑ์ด๋‚˜ ๊ธฐํƒ€ POST ์š”์ฒญ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ POST ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ * * @date 2016-10-25 * @author Mike */ // Express ๊ธฐ๋ณธ ๋ชจ๋“ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ var express = require('express') , ht..