๐Ÿš€
Growth log
  • About me
  • I LEARNED
    • General
      • ๊ฐœ๋ฐœ์ž ๊ฟ€ํŒ
      • ๊ทธ๋กœ์Šคํ•ดํ‚น ๊ธฐ์ดˆ
      • ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋„๋ฉ”์ธ ์ง€์‹์€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ• ๊นŒ?
      • DTO ๋…ผ์Ÿ์— ๋Œ€ํ•˜์—ฌ
      • MSA๋ž€?
    • Seminar
      • ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 100% - SLASH 21
      • TDD๊ฐ€ ์‹คํŒจํ•˜๋Š” ์ด์œ  - by ์ด๊ทœ์›๋‹˜
      • ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ํŠœ๋‹ ๋…ธํ•˜์šฐ ๋‹ค ์•Œ๋ ค ๋“œ๋ฆผ|๋ผ์ธ๊ฐœ๋ฐœ์‹ค๋ก
      • ๊ฒฐ์ œ ์‹œ์Šคํ…œ์˜ SDK์™€ API ๋””์ž์ธ - SLASH 21
    • Web
      • SOP์™€ CORS
    • Spring & OOP
      • DTO vs VO
    • Ruby On Rails
      • Rails lib ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•˜์—ฌ
      • Rails์˜ concerns๋ž€?
      • Rails์—์„œ์˜ GC ์ž‘๋™์›๋ฆฌ
      • Eager loading vs Lazy loading
      • Rails ํ™˜๊ฒฝ ๊ตฌ์„ฑ
      • ActionCable
      • ๐Ÿ“”Perfect ruby on rails
        • MVC ํŒจํ„ด์ธ Rails
        • Ruby on Rails ๊ธฐ๋ณธ - ์ปจํŠธ๋กค๋Ÿฌ
        • Ruby on Rails ๊ธฐ๋ณธ - ๋ทฐ
        • Ruby on Rails ๊ธฐ๋ณธ - ๋ชจ๋ธ
        • ์Šค์บํด๋”ฉ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ Rails ๊ฐœ๋ฐœ ๊ธฐ์ดˆ
        • ๋ทฐ ๊ฐœ๋ฐœ
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ๋‚™๊ด€์  ๋™์‹œ ์‹คํ–‰ ์ œ์–ด
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ตฌํ˜„
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - Association
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ์ฝœ๋ฐฑ
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™”
        • ์ปจํŠธ๋กค๋Ÿฌ ๊ฐœ๋ฐœ - ์š”์ฒญ ์ •๋ณด ์ถ”์ถœ
        • ์ปจํŠธ๋กค๋Ÿฌ ๊ฐœ๋ฐœ - ์‘๋‹ต
        • ์ปจํŠธ๋กค๋Ÿฌ ๊ฐœ๋ฐœ - ์ƒํƒœ ๊ด€๋ฆฌ
        • ๋ผ์šฐํŒ… - RESTful
        • ๋ผ์šฐํŒ… - RESTful ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‚ฌ์šฉ์ž ์ •์˜ํ™”
        • ๋ผ์šฐํŒ… - RESTful ํ•˜์ง€ ์•Š์€ ๋ผ์šฐํŠธ ์ •์˜
        • ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ - ์ค€๋น„
        • ํ…Œ์ŠคํŠธ - Unit ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ - Functional ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ - Integration ํ…Œ์ŠคํŠธ
        • ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ - Sprockets vs Webpacker
        • ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ - Sprockets
    • Node.js & Express
      • ๊ธฐ๋ณธ ๊ฐœ๋…
      • npx
    • Programing Language
      • Java
        • JavaDoc์— ๋Œ€ํ•ด
        • invocation์— ๋Œ€ํ•ด์„œ
        • ์–ด๋…ธํ…Œ์ด์…˜
        • ์ถ”์ƒํด๋ž˜์Šค & ์ธํ„ฐํŽ˜์ด์Šค
        • Package
        • ์˜ค๋ฒ„๋กœ๋”ฉ vs ์˜ค๋ฒ„๋ผ์ด๋”ฉ
      • Javascript
        • TCP School ํ›‘์–ด๋ณด๊ธฐ
          • ํƒ€์ž…
          • ํ˜• ๋ณ€ํ™˜
          • ๋ณ€์ˆ˜
          • ์—ฐ์‚ฐ์ž
          • ๋ฐ˜๋ณต๋ฌธ
          • ๋ฐฐ์—ด(array)
          • ํ•จ์ˆ˜
          • ํ•จ์ˆ˜ - ์Šค์ฝ”ํ”„์™€ ํ˜ธ์ด์ŠคํŒ…
          • ํ•จ์ˆ˜ - ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜
          • ํ•จ์ˆ˜ - ๋ฏธ๋ฆฌ ์ •์˜๋œ ์ „์—ญ ํ•จ์ˆ˜
          • ๊ฐ์ฒด
          • ํ”„๋กœํ† ํƒ€์ž…
          • DOM
          • BOM - Window ๊ฐ์ฒด
          • ์ด๋ฒคํŠธ(event)
      • Ruby
        • ๐Ÿ“”ํผํŽ™ํŠธ ๋ฃจ๋น„
    • DB
      • Redis
        • Redis ๊ฐœ์š”
      • Index(์ธ๋ฑ์Šค)?
      • DB Transaction & Lock
      • ๋™์‹œ์„ฑ ์ œ์–ด์— ๊ด€ํ•˜์—ฌ
      • Lock(์ž ๊ธˆ)์ด๋ž€?
      • ActiveRecord lock vs with_lock
      • Table lock vs Row lock
      • WHERE 1=1 ๊ตฌ๋ฌธ์— ๋Œ€ํ•˜์—ฌ
      • COUNT(*) vs COUNT(indexed column)
      • ๐Ÿ“•๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹ค์ „์ž…๋ฌธ
      • ๐Ÿ“”SQL ์ฒซ๊ฑธ์Œ
      • ๐Ÿ“”๋ชจ๋‘์˜ SQL
    • Design Patterns
      • Observer pattern
      • Flyweight pattern
      • Singleton pattern
    • OOP
      • ๐Ÿ“”์˜ค๋ธŒ์ ํŠธ
        • 6์žฅ ๋ฉ”์‹œ์ง€์™€ ์ธํ„ฐํŽ˜์ด์Šค
      • ํด๋ž˜์Šค๊ฐ„ ๊ด€๊ณ„ ๊ฐ„๋‹จ ์ •๋ฆฌ
    • Regex
    • Collaboration
      • Git
      • Sourcetree
  • DAILY REVIEW
    • 2021
      • August
        • 2021-08-25(Wed)
        • 2021-08-23(Mon)
        • 2021-08-11(Wed)
        • 2021-08-04(Wed)
        • 2021-08-03(Tue)
        • 2021-08-02(Mon)
      • July
        • 2021-07-29(Thu)
        • 2021-07-26(Mon)
        • 2021-07-23(Fri)
        • 2021-07-22(Thu)
        • 2021-07-21(Wed)
        • 2021-07-20(Tue)
        • 2021-07-19(Mon)
        • 2021-07-15(Thu)
        • 2021-07-14(Wed)
        • 2021-07-13(Tue)
        • 2021-07-12(Mon)
      • June
        • 2021-06-05(Sat)
        • 2021-06-04(Fri)
        • 2021-06-03(Thu)
        • 2021-06-02(Wed)
        • 2021-06-01(Tue)
      • May
        • 2021-05-31(Mon)
        • 2021-05-29(Sat)
        • 2021-05-28(Fri)
        • 2021-05-27(Thu)
        • 2021-05-26(Wed)
        • 2021-05-25(Tue)
        • 2021-05-24(Mon)
        • 2021-05-22(Sat)
        • 2021-05-21(Fri)
        • 2021-05-20(Thu)
        • 2021-05-19(Wed)
        • 2021-05-18(Tue)
        • 2021-05-17(Mon)
        • 2021-05-15(Sat)
        • 2021-05-13(Thu)
        • 2021-05-12(Wed)
        • 2021-05-11(Tue)
        • 2021-05-10(Mon)
        • 2021-05-03(Mon)
      • April
        • 2021-04-30(Fri)
        • 2021-04-29(Thu)
        • 2021-04-28(Wed)
        • 2021-04-27(Tue)
        • 2021-04-26(Mon)
        • 2021-04-24(Sat)
        • 2021-04-23(Fri)
        • 2021-04-21(Wed)
        • 2021-04-20(Tue)
        • 2021-04-19(Mon)
        • 2021-04-18(Sun)
        • 2021-04-16(Fri)
        • 2021-04-15(Thu)
        • 2021-04-14(Wed)
        • 2021-04-12(Mon)
        • 2021-04-11(Sun)
        • 2021-04-09(Fri)
        • 2021-04-08(Thu)
        • 2021-04-06(Tue)
        • 2021-04-05(Mon)
        • 2021-04-04(Sun)
        • 2021-04-03(Sat)
        • 2021-04-02(Fri)
        • 2021-04-01(Thu)
      • March
        • 2021-03-29(Mon)
        • 2021-03-28(Sun)
        • 2021-03-26(Fri)
        • 2021-03-25(Thu)
        • 2021-03-24(Wed)
        • 2021-03-23(Tue)
        • 2021-03-22(Mon)
        • 2021-03-21(Sun)
        • 2021-03-20(Sat)
        • 2021-03-17(Wed)
        • 2021-03-16(Tue)
        • 2021-03-15(Mon)
        • 2021-03-12(Fri)
        • 2021-03-11(Thu)
        • 2021-03-10(Wed)
        • 2021-03-09(Tue)
        • 2021-03-08(Mon)
        • 2021-03-07(Sun)
        • 2021-03-05(Fri)
        • 2021-03-03(Wed)
        • 2021-03-02(Tue)
        • 2021-03-01(Mon)
      • Feb
        • 2021-02-26(Fri)
        • 2021-02-25(Thu)
        • 2021-02-24(Wed)
        • 2021-02-23(Tue)
        • 2021-02-22(Mon)
        • 2021-02-19(Fri)
        • 2021-02-18(Thu)
        • 2021-02-17(Wed)
        • 2021-02-16(Tue)
        • 2021-02-15(Mon)
        • 2021-02-14(Sun)
        • 2021-02-13(Sat)
        • 2021-02-12(Fri)
        • 2021-02-10(Wed)
        • 2021-02-09(Tue)
        • 2021-02-08(Mon)
        • 2021-02-07(Sun)
        • 2021-02-05(Fri)
        • 2021-02-03(Wed)
        • 2021-02-02(Tue)
        • 2021-02-01(Mon)
      • Jan
        • 2021-01-29(Fri)
        • 2021-01-28(Thu)
        • 2021-01-27(Wed)
        • 2021-01-26(Tue)
        • 2021-01-25(Mon)
        • 2021-01-23(Sat)
        • 2021-01-22(Fri)
        • 2021-01-20(Wed)
        • 2021-01-19(Tue)
        • 2021-01-18(Mon)
        • 2021-01-12(Tue)
        • 2020-01-11(Mon)
        • 2021-01-08(Fri)
        • 2021-01-07(Thu)
        • 2021-01-06(Wed)
        • 2021-01-05(Tue)
        • 2021-01-04(Mon)
        • 2021-01-01(Fri)
    • 2020
      • Dec
        • 2020-12-30(Thu)
        • 2020-12-25(Fri)
        • 2020-12-24(Thu)
        • 2020-12-23(Wed)
        • 2020-12-22(Tue)
        • 2020-12-21(Mon)
        • 2020-12-18 (Fri)
      • Nov
        • 2020-11-30(Mon)
        • 2020-11-28(Sat)
        • 2020-11-26(Thu)
        • 2020-11-25(Wed)
        • 2020-11-24(Tue)
        • 2020-11-23(Mon)
        • 2020-11-22(Sun)
        • 2020-11-20(Fri)
        • 2020-11-19(Thu)
        • 2020-11-18(Wed)
        • 2020-11-17(Tue)
        • 2020-11-14(Sat)
        • 2020-11-13(Fri)
        • 2020-11-12(Thu)
        • 2020-11-11(Wed)
        • 2020-11-09(Mon)
        • 2020-11-07(Sat)
        • 2020-11-05(Thu)
        • 2020-11-04(Wed)
        • 2020-11-03(Tue)
        • 2020-11-02(Mon)
    • Good article ์•„์นด์ด๋น™
Powered by GitBook
On this page
  • ์ƒ์„ธ ํ•™์Šต ๋‚ด์šฉ
  • ํ•™์Šต ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ดํ‰
  • ๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

Was this helpful?

  1. DAILY REVIEW
  2. 2021
  3. Feb

2021-02-03(Wed)

ํ•ญ๋ชฉ

๋‚ด์šฉ

ํ•™์Šต ๋‚ ์งœ

2021-02-03(์ˆ˜)

ํ•™์Šต ์‹œ๊ฐ„

11:00~24:00

ํ•™์Šต ๋ฒ”์œ„ ๋ฐ ์ฃผ์ œ

backbone, ActionCable

ํ•™์Šต ๋ชฉํ‘œ

appearance ์œ ์ € ์ƒํƒœ๋ฐ”๋ฅผ ๋งŒ๋“ ๋‹ค.

๋™๋ฃŒ ํ•™์Šต ๋ฐฉ๋ฒ•

sanam, jujeong๋‹˜๊ณผ appearance_view๋ฅผ liveshare๋กœ ํ•จ๊ป˜ ๊ตฌํ˜„

์ƒ์„ธ ํ•™์Šต ๋‚ด์šฉ

์•ก์…˜ ์ผ€์ด๋ธ”์„ ํ™œ์šฉํ•˜์—ฌ ์œ ์ € ์ƒํƒœ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.

์ด ๊ณผ์ •์—์„œ ์•„๋ž˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๊ธด ์‹œ๊ฐ„์„ ์ผ๋Š”๋ฐ, ๋™๋ฃŒ ๋ถ„๋“ค ๋•์— ๊ฒฐ๊ตญ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค.

๋ฌธ์ œ)

์ตœ์ดˆ์— ๋กœ๊ทธ์ธํ•˜๋ฉฐ websocket ์—ฐ๊ฒฐ & Appearance channel์„ ๊ตฌ๋…ํ•œ current_user๊ฐ€ window๋ฅผ ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ์œ ์ง€๋œ๋‹ค. ๋•Œ๋ฌธ์— ๋กœ๊ทธ์•„์›ƒ ํ›„ ๋‹ค๋ฅธ ์•„์ด๋””๋กœ ๋กœ๊ทธ์ธํ•ด๋„ ์ตœ์ดˆ์— ๋กœ๊ทธ์ธํ–ˆ๋˜ user๊ฐ€ current_user๋กœ ์ธ์‹๋œ๋‹ค.

์›์ธ)

  • websocket์— connectํ•˜๋Š” ๊ณผ์ •์—์„œ current_user๊ฐ€ ์ดˆ๊ธฐํ™”๋œ๋‹ค.

  • ๊ทธ๋Ÿฐ๋ฐ ๋กœ๊ทธ์•„์›ƒ์‹œ channel ๊ตฌ๋…์€ ๋Š์—ˆ์ง€๋งŒ, websocket์˜ connect๋ฅผ ๋Š์ง€๋Š” ์•Š์•˜๋‹ค.

  • ๋”ฐ๋ผ์„œ ๋‹ค์‹œ ๋กœ๊ทธ์ธ ํ–ˆ์„ ๋•Œ websocket์„ connectํ•˜๋Š” ๊ณผ์ •์ด ์—†์–ด์„œ current_user๊ฐ€ ์ดˆ๊ธฐํ™”๋˜๋Š” ๊ณผ์ •๋„ ์ƒ๋žต๋œ ๊ฒƒ์ด ์›์ธ์ด์—ˆ๋‹ค.

ํ•ด๊ฒฐ)

์•„๋ž˜ ๋‚ด์šฉ์€ eunhkim๋‹˜์ด ์ •๋ฆฌํ•ด์ฃผ์‹  ๋‚ด์šฉ.

  1. consumer์— ๋Œ€ํ•œ ์ดํ•ด ๋ ˆ์ผ์ฆˆ๋Š” ์•ก์…˜ ์ผ€์ด๋ธ”์— ๋Œ€ํ•ด ๊ณต์‹์ ์œผ๋กœ 'consumer'๋ผ๋Š” ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. consumer๋ž€ ์„œ๋น„์Šค ์ด์šฉ์ž(current_user) ์•ˆ์— ํฌํ•จ๋˜๋Š” ๊ฐœ๋…์œผ๋กœ ํ•˜๋‚˜์˜ ๋””๋ฐ”์ด์Šค๋‚˜ ๋ธŒ๋ผ์šฐ์ €์˜ ํƒญ์— ๋Œ€์‘ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ธŒ๋ผ์šฐ์ € ํƒญ 5๊ฐœ๋ฅผ ์—ด๊ณ  ๋ชจ๋ฐ”์ผ, ํƒœ๋ธ”๋ฆฟ, ํ•ธ๋“œํฐ์œผ๋กœ๋„ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ์ด์šฉ(๊ฐ™์€ ๊ณ„์ •์ด๋“  ์•„๋‹ˆ๋“  ๊ฐ„์—)ํ•œ๋‹ค๋ฉด ํ•œ ์œ ์ €๊ฐ€ ์—ฌ๋Ÿ ๋ช…์˜ ์ปจ์Šˆ๋จธ๋กœ์จ ์ž‘์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  2. conection์— ๋Œ€ํ•œ ์ดํ•ด connection์ด๋ž€ consumer์™€ rails server๊ฐ€ ๋งบ๊ณ  ์žˆ๋Š” ๊ด€๊ณ„๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋ง ๊ทธ๋Œ€๋กœ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ websocket ๊ฐ„์˜ '์—ฐ๊ฒฐ'์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์ปจ์Šˆ๋จธ๋Š” ์ฑ„๋„ ์ˆ˜์— ๋ฌด๊ด€ํ•˜๊ฒŒ ํ•˜๋‚˜์˜ ์ปค๋„ฅ์…˜๋งŒ์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.

  3. consumer์™€ connection์€ ์–ธ์ œ ๋งŒ๋“ค์–ด์ง€๋Š”๊ฐ€? consumer๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์œˆ๋„์šฐ์— ๋กœ๋“œ๋˜๋Š” ์ฆ‰์‹œ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ๋ ˆ์ผ์ฆˆ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์ฑ„๋„์„ ๊ตฌ๋…ํ•  ๋•Œ์—๋งŒ connection์„ ์—ด์–ด๋‘๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๋ฏ€๋กœ, ์œˆ๋„์šฐ์— ๋กœ๋“œ๋˜๋Š” ์‹œ์ ์— ์ฆ‰์‹œ ์ฑ„๋„์„ ๊ตฌ๋…ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด connection์€ ๋ฐ”๋กœ ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. xx_channel.js ํŒŒ์ผ์„ ๋ณด๋ฉด consumer.subscriptions(channel_name, mixin object)๋ฅผ ํ†ตํ•ด ๊ตฌ๋…์„ ๋งŒ๋“ ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ ์ปค๋„ฅ์…˜์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋‚ด๋ถ€์ ์œผ๋กœ consumer์˜ connect ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์›น์†Œ์ผ“์ด ์ƒ์„ฑ๋˜๊ณ  ์ฑ„๋„์ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. connection.rb์˜ connect ๋ฉ”์„œ๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‹œ์ ์ด ๋ฐ”๋กœ ์ด ํƒ€์ด๋ฐ์ž…๋‹ˆ๋‹ค.

  4. ๊ทธ๋ž˜์„œ, ์˜ค๋Š˜ ๊ฐ™์€ ๋ฌธ์ œ๋Š” ์™œ ์ผ์–ด๋‚ฌ๋‚˜? subscription์„ ํ•ด์ œํ•˜๋Š” ๊ฒƒ์ด connection์˜ close๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ฟ ํ‚ค๊ฐ€ ์ดˆ๊ธฐํ™”๋˜๋”๋ผ๋„ SPA์—์„œ๋Š” connection์ด ์ฒ˜์Œ ์›น์†Œ์ผ“์„ ์—ฐ๊ฒฐํ•  ๋•Œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‹ค์‹œ ์—ฐ๊ฒฐ์„ ์ธ์ฆํ•  ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋‚˜๋งˆ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋Œ์•„๊ฐ”๋˜ ๊ฒƒ๋„ ์œˆ๋„์šฐ ๋กœ๋“œ์‹œ ์ฟ ํ‚ค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋„๋ก ์ €ํฌ๊ฐ€ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด๋†“์•˜๊ธฐ ๋•Œ๋ฌธ์ด๊ณ ์š”.

  5. ๊ทธ๋Ÿฌ๋ฉด ์ปค๋„ฅ์…˜์„ ๋‹ซ์œผ๋ฉด ๋˜๊ฒ ๋„ค? ๋„ค. ์šฐ๋ฆฌ๊ฐ€ ์ผ€์ด๋ธ”์„ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด this.channel = connectChannel ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ์ƒ์„ฑํ•œ subscription์€ consumer ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง„ subscriptions ์ปฌ๋ ‰์…˜์˜ ์—˜๋ฆฌ๋จผํŠธ์ด๋ฉฐ, consumer๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, this.channel.consumer์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ๊ฐœ์ฒด์ž…๋‹ˆ๋‹ค. consumer๋Š” ์ž์‹ ์ด ๊ฐ€์ง„ ํ•˜๋‚˜์˜ connection์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , consumer.connection.close() ๋ฉ”์„œ๋“œ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํ˜ธ์ถœํ•จ์œผ๋กœ์จ ์ปค๋„ฅ์…˜์„ ๋‹ซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  6. ๊ทธ๋Ÿฌ๋ฉด ์ •๋ง ํ•ด๊ฒฐ๋˜๋‚˜? ์•„๋‹ˆ์š”. connection.close() ๋ฉ”์„œ๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋ฒ„์— ์˜ํ•œ ์ž๋™ ์žฌ์—ฐ๊ฒฐ์„ ํ—ˆ๋ฝํ•˜๋Š” ๋‚ด๋ถ€ ์˜ต์…˜์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž ๊น ๋Š๊ธธ ๋ฟ ๊ณง ๋‹ค์‹œ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ consumer ๊ฐ์ฒด๋ฅผ ๋”ฐ๋กœ ๋ณด๊ด€ํ•˜๊ณ , consumer ๊ฐ์ฒด๊ฐ€ ๊ตฌ๋…ํ•˜๋Š” subscriptions array์˜ ๊ฐ subscription์— ๋Œ€ํ•ด ๋ช…์‹œ์ ์œผ๋กœ undescribeํ•œ ๋’ค, consumer๊ฐ€ ๊ฐ€์ง„ disconnect ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด๋ถ€์ ์œผ๋กœ ๋ณด๋ฉด consumer.connection.close ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์—ฐ๊ฒฐ ํ—ˆ๋ฝ์„ ๊ฑฐ๋ถ€ํ•˜๋Š” ์˜ต์…˜์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.

  7. ๋„ˆ๋Š” ์ด๋Ÿฐ ๊ฑธ ์–ด๋–ป๊ฒŒ ์•Œ์•˜๋‹ˆ? window์— channel์ด๋‚˜ consumer๋ฅผ ๋‹ด์•„์„œ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๋“ค์—ฌ๋‹ค๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค. appearance channel์„ new๋กœ ๋งŒ๋“  ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋งŒ ์žˆ๋”๋ผ๋„ ์„œ๋น„์Šค์— ๊ด€์—ฌํ•˜๋Š” connection, consumer, ๋ชจ๋“  subscriptions๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์˜ํ–ฅ๋ ฅ์„ ํ–‰์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•™์Šต ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ดํ‰

๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ๊ณ„๋‹จ์‹์œผ๋กœ ์ง„ํ–‰๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ์ด์Šˆ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๊ฐ„์„ ํ•œ์ฐธ ๋ณด๋‚ด๊ณ  ๋‹ค์‹œ ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋‚˜๋ฉด ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ์ด์Šˆ๊ฐ€ ๋˜ ์ƒ๊ธฐ๋ฉด ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๊ฐ„์„ ๋ณด๋‚ด๊ณ .. ๊ทธ๋ž˜๋„ ๋™๋ฃŒ๋“ค๊ณผ ํ•จ๊ป˜ํ•˜๋‹ˆ ๋น ๋ฅด๊ฒŒ ํ•ด๋‹ต์„ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์–ด์„œ ๋‹คํ–‰์ด๋‹ค. ๋”์šฑ ๋‹คํ–‰์ธ๊ฑด eunhkim๋‹˜์ฒ˜๋Ÿผ ๊นจ๋‹ฌ์€ ๋ฐ”๋ฅผ ์ž˜ ์ „ํŒŒํ•˜๋Š” ๋™๋ฃŒ๋ฅผ ๋’€๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ๊ฑธ ์ž˜ ํก์ˆ˜ํ•ด์•ผ์ง€.

๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

  • AppearanceView ๊ตฌํ˜„ ์™„๋ฃŒ

Previous2021-02-05(Fri)Next2021-02-02(Tue)

Last updated 4 years ago

Was this helpful?

์ฐธ๊ณ 
์ฐธ๊ณ 2