์‹ค์ „ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ 

 

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋‚ด๊ฒŒ ์ œ์ผ ๋„์ „์ ์ธ ๊ธฐ๋Šฅ์€ ์ฑ„ํŒ…๊ธฐ๋Šฅ์ด์˜€๋‹ค.

๋‹ค๋Œ€๋‹ค์˜ ์ฑ„ํŒ… ๊ธฐ๋Šฅ์€ ์ฑ„ํŒ…์˜ ์ œ์ผ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์ด์˜€๊ธฐ์— ํฐ ๋ฌธ์ œ ์—†์ด ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค. 

ํ•˜์ง€๋งŒ,

ํšŒ์› ๋น„๋กœ๊ทธ์ธ์‹œ ๋˜๋Š” ์ฑ„ํŒ…๋ฐฉ์—์„œ ๋‚˜๊ฐ”์„ ๋•Œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฉ”์„ธ์ง€์•Œ๋ฆผ์„ ์ฃผ๊ธฐ ์œ„ํ•ด

ํ•ด๋‹น ํšŒ์›์˜ socket.id๊ฐ€ ์–ธ์ œ ์ƒ๊ธฐ๊ณ  ์–ธ์ œ ์‚ฌ๋ผ์ง€๋Š”์ง€๋ฅผ ์ง์ ‘ ํ™•์ธํ•ด๋ด์•ผํ–ˆ๋‹ค.

 

ํšŒ์›์ด ์ฑ„ํŒ…๋ฐฉ์— ๋“ค์–ด์˜ค๋ฉด์„œ ๋ฐ›๋Š” socket.id๋Š”

๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด socket.id๊ฐ€ ์ง€์†์ ์œผ๋กœ ๋ณ€๊ฒฝ์ด ๋˜์—ˆ๋‹ค. 

๊ทธ๋ž˜์„œ socket.id์™€ ํšŒ์›์˜.ID๋ฅผ ์ง€์†์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ db์— ์ €์žฅํ–ˆ๊ณ ,

๋งค๋ฒˆ ์ฑ„ํŒ…๋ฐฉ์— ๋“ค์–ด์˜ฌ๋•Œ๋งˆ๋‹ค socket.id๋ฅผ ์ƒˆ๋กœ ๊ณ ์ณ์คฌ๋‹ค.

 

 

Websocket ๊ณผ socket.io๋ฅผ ์ •ํ™•์ด ๊ตฌ๋ถ„์„ ๋ชป์ง€์—ˆ๋˜ ๊ฒƒ๊ฐ™์•„ ๊ฐ„๋žตํ•˜๊ฒŒ ์ด ๋‘˜์˜ ์ฐจ์ด์ ์„ ์ฐพ์•„๋ณด์•˜๋‹ค. 

Websocket ๊ณผ socket.io ์ฐจ์ด์ 
Websocket์€ ์–‘๋ฐฉํ–ฅ ์†Œํ†ต์„ ์œ„ํ•œ ํฌ๋กœํ† ์ฝœ์ด๋‹ค.
ํ”„๋กœํ† ์ฝœ์€ ์‰ฝ๊ฒŒ ๋งํ•˜์ž๋ฉด, ์„œ๋กœ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋ผ๋ฆฌ ์†Œํ†ตํ•˜๊ธฐ ์œ„ํ•œ ์•ฝ์† ์ •๋„๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.
 
๋ฐ˜๋ฉด, Socket.io๋Š” ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ํ•˜๊ธฐ์œ„ํ•ด ์›น์†Œ์ผ“ ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.
์–ด์ฐŒ๋ณด๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ jQuery์˜ ๊ด€๊ณ„๊ฐ€ ๋น„์Šทํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— socket.io๊ฐ€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋”๋ผ๋„ ์•ฝ๊ฐ„ ๋Š๋ฆฌ์ง€๋งŒ, ๋งŽ์€ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค. ๋˜ํ•œ, java, C++, Python ๋“ฑ ์—ฌ๋Ÿฌ ์–ธ์–ด๋“ค์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋˜ํ•œ ์ง€์›ํ•œ๋‹ค.

 

Socket.io ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์•ˆ์— websocket์ด ์žˆ๊ณ ,

socket.io ๊ฐ€ websocket๋ณด๋‹ค (์ง€๊ธˆ์€ ๋งŽ์€ ์ฐจ์ด๋Š” ์—†์ง€๋งŒ) ํ˜ธํ™˜์ด ์ž˜ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ์‚ฌ์šฉํ•œ ๊ฒƒ๊ฐ™๋‹ค.

 

Websocket
-      HTML5 ์›น ํ‘œ์ค€ ๊ธฐ์ˆ 
-      ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋ฉฐ, ํ†ต์‹ ํ•  ๋•Œ ์•„์ฃผ ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•จ
-      ์ด๋ฒคํŠธ๋ฅผ ๋‹จ์ˆœํžˆ ๋“ฃ๊ณ , ๋ณด๋‚ด๋Š” ๊ฒƒ๋งŒ ๊ฐ€๋Šฅํ•จ

Socket.io
-      ํ‘œ์ค€ ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ฉฐ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž„
-      ์†Œ์ผ“ ์—ฐ๊ฒฐ ์‹คํŒจ ์‹œ, fallback์„ ํ†ตํ•ด ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์•Œ์•„์„œ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•จ
-      ๋ฐฉ ๊ฐœ๋…์„ ์ด์šฉํ•ด ์ผ๋ถ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…์ด ๊ฐ€๋Šฅํ•จ

 

 

 

 

ํ”„๋กœ์ ํŠธ ๋๋‚ฌ์œผ๋‹ˆ๊น, ๋งํ•˜๋Š” ์•„์‰ฌ์šด์ .

ํ•˜์ง€๋งŒ, ์ƒ๊ฐ๋ณด๋‹ค ๋” ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์„ ๋„์ „ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๊ฒƒ์ด ๋„ˆ๋ฌด ์•„์‰ฝ๋‹ค.

ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งˆ๋ฌด๋ฆฌ๋˜๋ฉด์„œ, ์ ์  ์„œ๋ฒ„์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ์‹œ์ž‘๋ฌ๋‹ค.

 

'์„œ๋ฒ„๋Š” ์ž˜ ์ž‘๋™์ด ๋˜๊ณ  ์žˆ๋Š”๊ฑด๊ฐ€?'

'์ฑ„ํŒ…์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฏธ์นœ๋“ฏ์ด ์Œ“์ผํ…๋ฐ, ๊ดœ์ฐฎ์€๊ฑด๊ฐ€?'

'์‚ฌ๋žŒ๋“ค์ด ๋ชฐ๋ ค์™€๋„ ๋‚ด ์„œ๋ฒ„๋Š” ์ž˜ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š”๊ฐ€?'

'๋Œ€์ฒด ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ์ˆ˜ ์žˆ์ง€?'

 

 

๊ทธ ์ค‘ ์ œ์ผ ์•„์‰ฌ์šด ๊ฒƒ์€ Nignx๋กœ IP์ฐจ๋‹จ

 

๋ฐฐํฌ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ๋‚˜๋‹ˆ, ๋ฌด์ž๋น„ํ•˜๊ฒŒ ์ฑ„ํŒ…์„ ํ•˜๊ฑฐ๋‚˜ ํ…Œ์ŠคํŠธ๊ฒŒ์‹œ๋ฌผ์„ ์˜ฌ๋ ธ๋‹ค. ๊ทธ๊ฒƒ ๋ง๊ณ ๋„ ์„œ๋ฒ„๋ฅผ ๋‚˜์œ์˜๋„๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋“ค์–ด์˜ค๊ธฐ ๋•Œ๋ฌธ์— IP์ฐจ๋‹จ์ด ํ•„์š”ํ•˜๋‹ค๊ณ ํ•˜์—ฌ IP์ฐจ๋‹จ์„ ์—ผ๋‘ํ•ด๋‘๊ณ  ์žˆ๋‹ค.

Nginx๋กœ IP ์ฐจ๋‹จํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ, Nginx์˜ reverse port ๊ฐ€ ์ ์šฉ์ด ์•ˆ๋˜์„œ ์‚ฌ์šฉ๋œ ํฌํŠธ๋ผ๊ณ  ์ด์Šˆ๋ฅผ ๋ฟœ์–ด๋‚ด๋”๋‹ˆ ๊ฒฐ๊ตญ์—๋Š” 

'ERR_CONNECTION_REFUSED' ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค. SSL์ธ์ฆ์„ ํ–ˆ๋Š”๋ฐ๋„ ๋‚˜๋Š” ์—๋Ÿฌ๋ฉด ์›น ์‹œ๊ฐ„์ด ๋งž์ง€ ์•Š์•„์„œ ๋‚˜๋Š” ์—๋Ÿฌ์˜€๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ํ”„๋ก ํŠธ๋ถ„๋“คํ•œํ…Œ ์š”์ฒญ์„ ๋“œ๋ ค์•ผํ–ˆ๋˜ ๊ฒƒ๊ฐ™์€๋ฐ, ์ด๊ฒƒ๋„ ํ™•์‹คํ•˜์ง€ ์•Š๊ณ  ๋‹ค์Œ๋‚ ์˜ ์ตœ์ข… ๋ฐœํ‘œํšŒ์— ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ์ง€์—ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ชจ๋กœ ์ด๊ฒƒ์ €๊ฒƒ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„๋“ค์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•„ ์•„์‰ฌ์› ๋‹ค.

 

 

 

์–ด๋–ค ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์€๊ฐ€

๋ฐฑ์—”๋“œ์˜ ๊ฐ€์žฅ ํฐ๋งค๋ ฅ์€ ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์น˜๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹Œ๊ฐ€ ์‹ถ๋‹ค.

๊ฒฐ๊ณผ ๊ฐ’์„ ๋ณด๊ธฐ ์œ„ํ•ด์„œ ๊ทธ์— ๋”ฐ๋ฅธ ์—„์ฒญ๋‚œ ๊ณต๋ถ€๊ฐ€ ํ•„์š”ํ•˜๊ฒ ์ง€๋งŒ

๊ฒฐ๊ณผ ํ™•์‹คํžˆ ์žˆ๋Š”, ๋ฐ์ดํ„ฐ๋กœ ๋ณด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ๋‹ค.

 

 

 

N๋นต

์œ„์น˜๊ธฐ๋ฐ˜ ๊ณต๋™๊ตฌ๋งค ํ”Œ๋žซํผ 'N๋นต'์ž…๋‹ˆ๋‹ค.<N๋นต>์€ ํ˜ผ์ž์‚ฌ๋Š” ๊ฒƒ๋ณด๋‹ค ๊ฐ™์ด ๊ตฌ๋งคํ•˜๋ฉด ๋” ์ด๋“์ด๋ผ๋ฉด?!
์ด์›ƒ๊ณผ ํ•จ๊ป˜ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๋™๊ตฌ๋งค ์ปค๋ฎค๋‹ˆํ‹ฐ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
์ž์‹ ์˜ ์ฃผ๋ณ€์—์žˆ๋Š” ๊ณต๊ตฌ ๊ฒŒ์‹œ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๊ณ , ์ฐธ์—ฌํ•ด ๋ณด์„ธ์š”:)๋” ์ข‹์€ ์„œ๋น„์Šค๋กœ ๊ฐœ์„ ํ•ด๋‚˜๊ฐ€๊ธฐ์œ„ํ•ด ํ”ผ๋“œ๋ฐฑ ์ด๋ฒคํŠธ๋ฅผ ์ง„ํ–‰์ค‘์ž…๋‹ˆ๋‹ค.


๋งŽ์€ ๊ด€์‹ฌ๊ณผ ์ฐธ์—ฌ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

 

5์›” 25์ผ ~ 6์›” 1์ผ (23์‹œ 59๋ถ„)๊นŒ์ง€ ๊ณต๊ตฌ๊ฒŒ์‹œ๊ธ€์— ์ฐธ์—ฌํ•˜์‹œ๊ฑฐ๋‚˜,
ํ”ผ๋“œ๋ฐฑ์„ ์ž‘์„ฑํ•ด์ฃผ์‹  ๋ถ„๋“ค์—๊ฒŒ๋Š” ์ถ”์ฒจ์„ ํ†ตํ•ด ์น˜ํ‚จ3๋งˆ๋ฆฌ์™€ ๋ฉ”๊ฐ€์ปคํ”ผ ๊ธฐํ”„ํ‹ฐ์ฝ˜ 50์ž”์„ ๋นต๋นต ์ฉ๋‹ˆ๋‹ค!
๋‹น์ฒจ์ž ๋ฐœํ‘œ ๋ฐ ์ƒํ’ˆ ๋ฐœ์†ก์€ 2022๋…„ 6์›” 2์ผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐœ์†กํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค

 

N๋นต URL : https://nbbang.site

 

        Back-end(Node.js) : ์žฅ์œค์•„, ์˜ค๊ฒฝ์€, ํ•œ์žฌํ˜
        Front-end(React) : ๊ถŒ์˜๋ฏผ, ๊ณฝ์ง„ํ˜ธ, ์žฅ์ˆ˜์ฐฌ
        Designer(UI/UX) : ๊น€์›๊ฒฝ, ์ดํ™”์ •

 

์›น ํŽ˜์ด์ง€์™€ ๋ชจ๋ฐ”์ผ๋กœ๋„ ํ™•์ธ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค :)

 

 

 

5์ฃผ์ฐจ ํ•œ์ผ!

- ์†Œ์ผ“/ CRUD ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ์„œ๋น„์Šค๋ฐฐํฌ

- ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ ์—ฐ๊ฒฐ

- ๋งˆ์ผ“ํŒ…, ์œ ์ €ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜

 

์œ ์ €ํ”ผ๋“œ๋ฐฑ ๋ฐ ์ˆ˜์ •์‚ฌํ•ญ

1. ์ธํ„ฐ๋„ท์ด ๋Š๋ฆด ๊ฒฝ์šฐ ๊ธ€ ๋“ฑ๋กํ•˜๊ธฐ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ๋Š” ํ˜„์ƒ์ด ์žˆ์Œ

(๊ฒŒ์‹œ๊ธ€์ด ์ค‘๋ณตํ•˜์—ฌ ์ƒ๊น€)

2. ๊ฐ€๊ฒฉ, ์ธ์›, ์ œ๋ชฉ, ์ƒ์„ธ์œ„์น˜, ๋‚ด์šฉ, ์ฑ„ํŒ… ๊ธ€์ž ์ˆ˜ ์ œํ•œ

3. ์„ค๋ช…ํŽ˜์ด์ง€์˜ ์ž˜๋ชป๋œ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ

4. ๋น„๋กœ๊ทธ์ธ ์ƒํƒœ๋กœ ๋ฉ”์ธํŽ˜์ด์ง€ ์ ‘๊ทผ ์‹œ ๋ฐ”๋กœ ์„ค๋ช… ํŽ˜์ด์ง€ ๋ณด์—ฌ์ฃผ๊ธฐ

(์„ค๋ช…ํŽ˜์ด์ง€๊ฐ€ ๋ฏธํกํ•˜๋‹ค๋Š” ์˜๊ฒฌ์ด ์žˆ์–ด ์ถ”๊ฐ€ํ•  ์˜ˆ์ •)

5. ๊ฒŒ์‹œ๋ฌผ ์นดํ…Œ๊ณ ๋ฆฌ ์ถ”๊ฐ€

6. ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์˜ ์‹œ/๊ตฌ/๋™ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ ˆ๋ฒจ์— ๋งž๊ฒŒ ํ™”๋ฉด ๋ฒ”์œ„ ์„ค์ •

7. ์ฑ„ํŒ… ์œ ์ €๋ฆฌ์‹œํŠธ์—์„œ ์™ธ๋ถ€๋ฅผ ํด๋ฆญํ–ˆ์„ ๊ฒฝ์šฐ ๋‹ซํžˆ๊ฒŒ ์„ค์ •

8. ๋ธŒ๋ผ์šฐ์ € ํƒญ ์ƒ๋‹จ์˜ ๋ฐฐ๊ฒฝ์ด ํฐ์ƒ‰์ผ ๊ฒฝ์šฐ ๋กœ๊ณ ๊ฐ€ ๋ณด์ด์ง€ ์•Š์•„, ์ƒ‰์ƒ ์กฐ์ •

9. ๊ฒŒ์‹œ๊ธ€์ด ์—†์„ ๊ฒฝ์šฐ ์ƒ์„ฑ๋˜๋Š” ๋ฌธ๊ตฌ์˜ ๊ฐ„๊ฒฉ ์กฐ์ •

0. ์ฑ„ํŒ…์ฐฝ์—์„œ ์ด์šฉ์ž๊ฐ€ ์ด์ „ ๋‚ด์šฉ์„ ๋ณด๊ณ  ์žˆ์„ ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ๋ฉ”์„ธ์ง€๋ฅผ ํ† ์ŠคํŠธ๋ฉ”์‹œ์ง€ ํ˜•์‹์œผ๋กœ ์ œ๊ณต

11. ํ›„๊ธฐ ์„œ๋น„์Šค (๊ตฌํ˜„์ค‘)

12. ์œ ์ €์ •๋ณด์ˆ˜์ • (๊ตฌํ˜„์ค‘)

13. ํšŒ์›ํƒˆํ‡ด (๊ตฌํ˜„์ค‘)

 

 

3์ฃผ์ฐจ ํ•œ ์ผ!

3์ฃผ์ฐจ์—๋Š” ์‹ค์ „ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด์„œ ์ค‘๊ฐ„์ ๊ฒ€์„ ํ•ด์•ผํ–ˆ๋‹ค. 

์šฐ๋ฆฌ๊ฐ€ ์ตœ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ํ–ˆ๋˜ ๊ฒƒ๋“ค์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ์ •๋ฆฌํ–ˆ๋‹ค.

 

 

 

์ค‘๊ฐ„๋ฐœํ‘œ ์‹œ, (๋˜๋Š” ์ธํ„ฐ๋ทฐ์‹œ) ์•Œ์•„๋‘๋ฉด ์ข‹์•˜์„ ๊ฒƒ๋“ค.

- Websocket ๊ณผ socket io ์˜ ์ฐจ์ด์ ?

- ์—”์ง„์—‘์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š”?

- HTTP ์™€ HTTPS ์˜ ์ฐจ์ด์ ? (HTTPS์˜ ์ด์ ์€?)

 

 

 

 

 

+ Recent posts