Giter Club home page Giter Club logo

modu6ah's Introduction

๐ŸŽˆ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ


์ œ์ถœ์šฉ๋ธŒ๋กœ์…”_์‹œ์•ˆ1_(600_340)


๊ณต๋™์œก์•„๋ฅผ ํ•จ๊ป˜ ํ•  ๋ฉค๋ฒ„๋ฅผ ๋ชจ์ง‘ํ•˜๊ณ  ์œก์•„ํ…œ, ์žฅ์†Œ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฟ€์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ


๐Ÿ—“ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ & ํŒ€์› ์†Œ๊ฐœ

2022.06.24 ~ 2022.08.02 ( 6์ฃผ ) ๐Ÿ‘ฉ ๊น€์ˆ™์˜ ๐Ÿง‘ ์ •์ธ์„ฑ


๐Ÿ›  ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ

image


โœจ ๊ธฐ๋Šฅ

๐Ÿ’Œ ๋กœ๊ทธ์ธ & ํšŒ์›๊ฐ€์ž…

๐Ÿ’ก ๋กœ์ปฌ ํšŒ์›๊ฐ€์ž… ์‹œ ์‚ฌ์šฉ์ž๋Š” ์ด๋ฉ”์ผ ์ธ์ฆ์„ ํ†ตํ•ด ํšŒ์›๊ฐ€์ž…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ๋กœ์ปฌ ๋กœ๊ทธ์ธ๊ณผ ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๋‘˜ ์ค‘ ํŽธ๋ฆฌํ•œ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜์—ฌ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’Œ ๋ฉ”์ธ ํŽ˜์ด์ง€

๐Ÿ’ก ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ๊ฒŒ์‹œ๊ธ€์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ์ฒดํ—˜๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€์€ ๋ชจ์ง‘์ค‘์ด๋ฉด์„œ ์ตœ๊ทผ ๊ฒŒ์‹œ๊ธ€ ๊ธฐ์ค€์œผ๋กœ 6๊ฐœ์”ฉ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๐Ÿ’ก ์žฅ์†Œ์ถ”์ฒœ ๊ฒŒ์‹œ๊ธ€์€ ๋ณ„์ ์ด ๋†’์œผ๋ฉด์„œ ์ตœ๊ทผ ๊ฒŒ์‹œ๊ธ€ ๊ธฐ์ค€์œผ๋กœ 2๊ฐœ์”ฉ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๐Ÿ’ก ์œก์•„ํ…œ ๋ฆฌ๋ทฐ ๊ฒŒ์‹œ๊ธ€์€ ์ตœ๊ทผ ๊ฒŒ์‹œ๊ธ€ ๊ธฐ์ค€์œผ๋กœ 2๊ฐœ์”ฉ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๐Ÿ’Œ ์ฒดํ—˜๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€

๐Ÿ’ก ์›ํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€์„ ํด๋ฆญํ•˜๊ณ  ์ƒ์„ธ๋ณด๊ธฐ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ๋ฌดํ•œ ์Šคํฌ๋กค์„ ํ†ตํ•ด ๊ฒŒ์‹œ๊ธ€์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ์‹œ ํ† ๊ธ€์„ ํ†ตํ•ด ๋ชจ์ง‘์ƒํƒœ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’Œ ์žฅ์†Œ์ถ”์ฒœ ๊ฒŒ์‹œ๊ธ€

๐Ÿ’ก ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ์‹œ ๋‹ค์ค‘ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ๋ฌดํ•œ ์Šคํฌ๋กค์„ ํ†ตํ•ด ๊ฒŒ์‹œ๊ธ€์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ์‹œ ์นด์นด์˜ค๋งต์„ ํ†ตํ•ด ์žฅ์†Œ๋ฅผ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ์›ํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€์„ ํด๋ฆญํ•˜๊ณ  ์ƒ์„ธ๋ณด๊ธฐ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’Œ ์œก์•„ํ…œ ๋ฆฌ๋ทฐ ๊ฒŒ์‹œ๊ธ€

๐Ÿ’ก ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ์‹œ ๋‹ค์ค‘ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ๋ฌดํ•œ ์Šคํฌ๋กค์„ ํ†ตํ•ด ๊ฒŒ์‹œ๊ธ€์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ์›ํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€์„ ํด๋ฆญํ•˜๊ณ  ์ƒ์„ธ๋ณด๊ธฐ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’Œ 1:1 ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…

๐Ÿ’ก ์ฒดํ—˜๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€์—์„œ ๊ด€์‹ฌ์žˆ๋Š” ๊ฒŒ์‹œ๊ธ€์— ๋Œ€ํ•ด 1:1 ์ฑ„ํŒ…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ๋กœ๊ทธ์ธํ•œ ์ƒํƒœ์—์„œ 1:1 ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์ด ์˜ค๋ฉด ํ™”๋ฉด ์™ผ์ชฝ ์•„๋ž˜ ์•Œ๋ฆผ์ด ๋œน๋‹ˆ๋‹ค.

๐Ÿ’Œ ๊ฒŒ์‹œ๊ธ€ ๊ฒ€์ƒ‰

๐Ÿ’ก ๊ฒŒ์‹œ๊ธ€์˜ ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์— ํฌํ•จ๋œ ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ฒ€์ƒ‰์–ด๊ฐ€ ํฌํ•จ๋œ ๊ฒŒ์‹œ๊ธ€์„ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๐Ÿ’ก ๊ฒ€์ƒ‰ํ•œ ๊ฒŒ์‹œ๊ธ€์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๊ฒŒ์‹œ๊ธ€์˜ ์ƒ์„ธํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’Œ ๋งˆ์ดํŽ˜์ด์ง€( ํ”„๋กœํ•„์กฐํšŒ / ๋ถ๋งˆํฌ ์กฐํšŒ)

๐Ÿ’ก ํ”„๋กœํ•„ ์กฐํšŒ์—์„œ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ๋ฐ ์ž๊ธฐ์†Œ๊ฐœ ์ˆ˜์ •์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ๋ถ๋งˆํฌ ์กฐํšŒ์—์„œ ๋ณธ์ธ์ด ๋ถ๋งˆํฌํ•œ ๊ฒŒ์‹œ๊ธ€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์นดํ…Œ์ฝ”๋ฆฌ๋ณ„๋กœ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿš€ ๊ธฐ์ˆ  ์Šคํƒ

image

๐Ÿ““ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๐Ÿ˜€
์ด๋ฆ„ ์‚ฌ์šฉ ์ด์œ  ๋ฒ„์ „
axios ์„œ๋ฒ„ & ํด๋ผ์ด์–ธํŠธ ๋ฐ์ดํ„ฐํ†ต์‹  0.27.2
animate.css ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ 4.1.1
react-daum-postcode ์ฃผ์†Œ ๊ฒ€์ƒ‰ 3.1.1
react-scroll-to-bottom ์ฑ„ํŒ…์ฐฝ ์Šคํฌ๋กค ์ž๋™ํ•˜๋‹จ 4.2.0
react-redux ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ 8.0.2
redux-thunk ๋น„๋™๊ธฐ ํ†ต์‹  ๋ฏธ๋“ค์›จ์–ด 2.4.1
react-toastify ํ† ์ŠคํŠธ ์•Œ๋ฆผ ๊ธฐ๋Šฅ 8.2.0
socket.io-client ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ธฐ๋Šฅ 4.5.1
sweetalert2 ๋””์ž์ธ ๋œ ์•Œ๋ฆผ์ฐฝ 11.4.23
react-modal ๋ชจ๋‹ฌ์ฐฝ ๋„์šฐ๊ธฐ 3.15.1
react-datepicker ๋‹ฌ๋ ฅ ๋„์šฐ๊ธฐ 4.8.0
react-infinite-scroll-component ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„ 6.1.0
styled-components ์Šคํƒ€์ผ css 5.3.5
react-router-dom ๋ผ์šฐํ„ฐ 6.3.0
react-icons ๋ฆฌ์•กํŠธ ์•„์ด์ฝ˜ 4.4.0
react-device-detect ๋ชจ๋ฐ”์ผ ๊ฐ์ง€ 2.2.2

๐Ÿ’ข ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

Socket.io ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค์ง€ ์•Š๋Š” ๋ฌธ์ œ

๐Ÿ”ด ๋ฌธ์ œ ์ƒํ™ฉ

Client ๊ฐ€ ํŠน์ • ๊ฒฝ๋กœ๋กœ ๋ณด๋‚ธ(emit) ๋ฉ”์‹œ์ง€๋ฅผ Server ์ธก์—์„œ ํŠน์ • ๊ฒฝ๋กœ๋กœ ๋ฐ›๊ณ (on) ๋‹ค์‹œ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋กœ ์ „์†ก(emit)ํ•ด์ฃผ๋Š”๋ฐ ์ „์ฒด๋กœ ๋Œ๋ ค์ฃผ๊ฒŒ ๋˜๋ฉด
๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค์ง€๋งŒ ํŠน์ • ์‚ฌ๋žŒ(user_id ๋˜๋Š” nickname)์„ ์ง€์ •ํ•˜๋ฉดํŠน์ • ์‚ฌ๋žŒ์—๊ฒŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค์ง€ ์•Š๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ

๐ŸŸ  ๋ฐœ์ƒ ์›์ธ ๋ฐ ํ•ด๊ฒฐ ์‹œ๋„

์Šคํฌ๋ฆฐ์ƒท 2022-08-04 ์˜คํ›„ 3 53 15

์‚ฌ์ง„์† io.emit์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๊ธฐ์ „ ์•„๋ž˜์˜ 5๊ฐ€์ง€์˜ ํŠน์ • ์กฐ๊ฑด์„ ๋ถ™ํ˜”๋‹ค

  • io.to(โ€˜userโ€™).emit ( X )
  • io.in(โ€˜userโ€™).emit ( X )
  • socket.to(โ€˜userโ€™).emit ( X )
  • socket.broadcast.to.emit ( X )
  • socket.broadcast.in.emit ( X ) -> ๋ฐœ์‹ ์ž๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋‘ , ํ•œ๋ช…์˜ ์‚ฌ์šฉ์ž๋งŒ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ ์œ ํ•œ ์†Œ์ผ“ID ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ๋ ค ํ–ˆ์œผ๋‚˜ ์‹คํŒจ

๐ŸŸข ๋ฌธ์ œ ํ•ด๊ฒฐ

์†Œ์ผ“ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฒ„๊ทธ๋กœ ํŒ๋‹จํ•˜์—ฌ io.emit์œผ๋กœ ์ „์ฒด๋กœ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๋ฐ›์€ ๋’ค ํ”„๋ก ํŠธ์—์„œ ํ•„ํ„ฐ๋ง ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •

image

  • ํ•˜๋‚˜์˜ ๋ฉ”์‹œ์ง€์—๋Š” ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ ๋˜์–ด ์žˆ๋‹ค ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ „์ฒด๋กœ ๋ฐ›์€๋’ค 2๊ฐ€์ง€ ์กฐ๊ฑด์„ ๊ฑธ์–ด ํ•„ํ„ฐ๋ง

1 . ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ธ ์‚ฌ๋žŒ๊ณผ ๋‚˜์˜ ๋‹‰๋„ค์ž„์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ์—๋งŒ ์•Œ๋ฆผ ํ† ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ž์‹ ์—๊ฒŒ ์•Œ๋ฆผ์ด ์˜ค๋Š”๊ฒƒ์„ ๋ง‰์Œ
2 . ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š” ์‚ฌ๋žŒ๊ณผ ๋‚˜์˜ ๋‹‰๋„ค์ž„์ด ๊ฐ™์€ ๊ฒฝ์šฐ์—๋งŒ ์•Œ๋ฆผ ํ† ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ•ด๋‹น ์œ ์ €์—๊ฒŒ๋งŒ ์•Œ๋ฆผ์ด ๊ฐ€๋„๋ก ์„ค์ •

socket.io ์ฑ„ํŒ… ์ค‘๋ณต ๋ฌธ์ œ
๐Ÿ”ด ๋ฌธ์ œ ์ƒํ™ฉ

์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์„ ํ•˜๊ฒŒ ๋˜๋ฉด ํ•œ๋ฒˆ ์ž‘์„ฑํ•œ ์ฑ„ํŒ…์ด 2๋ฒˆ ๋˜๋Š” 4๋ฒˆ .. 8๋ฒˆ .. ์œผ๋กœ ์ฐํžˆ๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ

๐ŸŸ  ๋ฐœ์ƒ ์›์ธ ๋ฐ ํ•ด๊ฒฐ ์‹œ๋„

  • ํŠน์ • ์ด๋ฒคํŠธ ๊ฒฝ๋กœ๋กœ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ ์‹œํ‚ค๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ณ  ๋ณด๋‚ด๊ฒŒ ๋˜๋Š”๋ฐ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ๋ฅผ ์ œ๊ฑฐํ•ด์ฃผ์ง€ ์•Š์•˜๋˜ ๊ฒƒ์ด์˜€๋‹ค
  • ๋”ฐ๋ผ์„œ ์ ์„ ๋•Œ๋งˆ๋‹ค ๊ณ„์† ๋žœ๋”๋ง์ด ๋˜๊ณ  ๊ทธ ์ด๋ฒคํŠธ๋Š” ๊ณ„์† ์Œ“์ด๊ฒŒ ๋œ๋‹ค

๐ŸŸข ๋ฌธ์ œ ํ•ด๊ฒฐ

image
socket.off๋กœ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ œ๊ฑฐํ•ด์ฃผ๋ฉด ์ฑ„ํŒ… ์ค‘๋ณต ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ ๋œ๋‹ค

๐ŸŽง ์œ ์ € & ๊ฐœ๋ฐœ์ž ํ”ผ๋“œ๋ฐฑ

์œ ์ € ํ”ผ๋“œ๋ฐฑ 1๋ฒˆ ( ์ฑ„ํŒ…์ฐฝ ๊ฐœ์„  )

๐ŸŽจ ์™€์ด์–ด ํ”„๋ ˆ์ž„

โญ Figma

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.