ํ์ ๋ถ์ ํค๋ ์ปดํฌ๋ํธ ๊ตฌํ
ํ ํ์ ๋ถ๊ป์ ์ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ๋งก์ผ์ จ๋ค. ๊ฐ๋จํด๋ณด์ด์ง๋ง ์ฌ์ค ๊ฐ๋จํ์ง ์๋ค. ๋ก๊ทธ์ธ ๋ก๊ทธ์์ ์ ๋ฌด๋ ๊ทธ๋ ๊ณ search ํ๋ ๋ถ๋ถ๋ ๊ทธ๋ ๊ณ ๋ฌด์๋ณด๋ค ์ notification.
ํค๋ ๋งจ ์ค๋ฅธ์ชฝ ์๊ทธ๋งํ ์์ด์ฝ์ ๋๋ฅด๋ฉด ๋จ๋ ์ปดํฌ๋ํธ์ด๋ค. ํ์๋ถ์ด ์ฌ๊ธฐ์ ์ด๋ ค์ด ๋ถ๋ถ์ด ์์ผ์ จ๋๋ฐ ์๋์ ๊ฐ๋ค.
ํ์ ์ชฝ์ ๋ด๊ฐ ์๋ฃ๋ฅผ ์ฐพ์์ ๊ถ๊ธ์ฆ์ ํด์์์ผ๋๋ ธ๊ณ ์ฒซ ๋ฉ์์ง๋ฅผ ๋ณด๋ฉด ๋ชจ๋ ์๋ฆผ์ ์ฝ์ ์ฒ๋ฆฌํ์๋ ์๋์ผ๋ก ์๋ฆผ์ฐฝ์ด ๋ซํ๋ ๋ฌธ์ ๊ฐ ์์ผ์ จ๋ค๊ณ ํ๋ค.
๋จ๊ฑฐ์ด ํ ๋ก ํ์ฅ
์ด์ ๋ํด์ ์ด ํ์ ๋ถ๊ณผ ๋ง์ ์๊ธฐ๋ฅผ ๋๋ด๋ค.
๋๋ ์ฝ๋๋ฅผ ๋ณด๋ฉฐ ๋ฌธ์ ์ ์ ์ฐพ๊ธฐ ์ ๋ง ์ด๋ ค์ ์ง๋ง ๊ฒฐ๊ตญ์ ์ฐพ์๋ด์๋๋ฐ ์ฒ์์๋ race condition ์ด์์ธ๊ฐ(?) ํ๋ค๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ ๋์ ์๋ฆฌ ๋๋ฌธ์์ ํ์ ์ ํ๋ค. (๋ฅ๋ค์ด๋ธ๋ฅผ ์ฝ๋ ๋ฑ, ์๋ฐ์คํฌ๋ฆฝํธ ๋์์๋ฆฌ ์์ฒด๋ฅผ ์ ๊ณต๋ถํ ์ ์ ์๋๋ฐ ํ์ ํด๋ธ๊ฒ ์ฉํ๋ค ใ ) ๊ฒฐ๊ณผ์ ์ผ๋ก setTimeout๊ณผ ๊ฐ์ web api๋ก ๋ฌธ์ ๊ฐ ์๋ ์ฝ๋๋ฅผ ํ ๋ฒ ๊ฐ์ธ์ฃผ๋ฉด ๋๋ค.
์ด ๋ถ์ด ์ฝ๋ฉ์ ์ํ์๊ธดํด์ ๋ค๋ฅธ ํด๊ฒฐ๋ฒ๋ ์์์ค์ จ๋ค. ์ฌ์ค ์กฐ๊ฑด๋ฌธ๋ง ๋ฐ๊ฟ์ฃผ๋ฉด ํด๊ฒฐ๋๋ ๋ฌธ์ ๊ธด ํ๋ค. ๊ทผ๋ฐ ๋ก์ง ์์ฒด๋ฅผ ์ข ์ดํด๊ฐ ์๋๊ฒ ์ง์ ๋ถ๋ถ์ด ์์ด์ ๊ทธ ๋ถ๋ถ์ ์์ํ๊ธฐ๋ ํ์ง๋ง ์ถํ ์ํต์ ๊ณ์ํ๋ฉฐ ๋ฆฌํฉํ ๋ง์ ํ๋ฉด ๋๋ ๋ถ๋ถ์ด๋ค.
(๋งค์ฐ ๋ฟ๋ฏ!)
๋ ํ ๋ฒ์ ์ฑ์ฅ
์์ ์ฌ๋ฌ ์ด์ ๋ก ์์ ๊ฐ์ ๋ง์ด ์์์๋๋ฐ ์ด ๋ถ์ด๋ ๊ฐ์ด ์ฝ๋ฉ์ ํ๋ฉด์ ๋๋ฌด ์ฌ๋ฐ์๊ณ ๋ด๊ฐ ์๊ฐ๋ณด๋ค ์ํ๋ ๊ตฌ๋(?)๋ ๊ฑธ ๊นจ๋ฌ์๋ค. ์ด ๋ถ๊ณผ ํ ์ด๋ธ ์ปดํฌ๋ํธ ๊ณตํตํ๋ ๊ฐ์ด ์์ ์ ํ๋ ๋ฑ ์ ๋ง ์๋ก ๋ง์ ๋์์ด ๋์๋ค.(๋ค์์ ํฌ์คํ ํ ์์ )