php๋ก ์น๊ฒ์ ๋ง๋ค์ด์
์๋๋ก์ด๋ ์น๋ทฐ ์ดํ ๋ง๋ค์ด์ ์ถ์ํด๋๋จ?
๊ฐ๋ฅํ๋ฉด ๋ชจ๋ฐ์ผ๊ฒ์ ํ๋ ๋ง๋ค์ด๋ณด๊ณ ์ถ์ด์
+ ๋ด๊ฐ ๋ง๋ค๊ณ ์๋๊ฑฐ
๋์ ํํํ๋ RPG์ผ
10ร10 ์์ ๋๋ค์ผ๋ก ์
๊ตฌ์ ์ถ๊ตฌ ์์ฑํ๊ณ ๋ฐฉ์ด ์์ฑ๋
์ด๋ํ ๋๋ง๋ค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ํ๋ ์ด์ด๋ ์ต๋จ๋ฃจํธ๋ก ํด๋ฆฌ์ดํ ๊ฒ์ธ์ง
์๋๋ฉด ์ด๋ฒคํธ๋ฅผ ์งํํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ์ ๋ํ ๋ณด์ ๋๋ ์ํด๋ฅผ ๋ฐ์๊ฒ์ธ์ง ์ ํํ ์ ์์ด
๊ฒฝ์ ๋ชจ๋๋ ์๊ฐ์ค์ธ๋ฐ
๋์ ์ ๋ํ ๋ด์ฉ์ ์ต์ด ๋ฐ๊ฒฌ์์ ์ํด ๊ฒฐ์ ๋
๋ง์ฝ์ ์ต์ด๋ก 2์ธต์ ๋ฐ๊ฒฌํ๋ฉด 2์ธต์ ๋ชจ์์ ๊ทธ ์ฌ๋์ด ๊ฒฐ์ .
๋ ๋จผ์ ์ด๋ฒคํธ๋ฅผ ์งํํ๋ฉด ์ดํ ๋ค๋ฅธ ํ๋ ์ด์ด๋ ์ต์ด ๋ฐ๊ฒฌํ ํ๋ ์ด์ด๊ฐ ๊ฒฐ์ ํ ๋ด์ฉ๋๋ก ์งํ ํด์ผ๋
๋ฐ๋ผ์ ์ต์ด ํ๋ ์ด์ด๊ฐ ํด๋น ๋์ ์ ํจ์ ๊ฐ์ ์ด๋ฒคํธ๋ค๋ก ๋ง๋ค์ด๋์ผ๋ฉด ๋ค๋ฅธ ํ๋ ์ด์ด๋ ํด๋น ์ด๋ฒคํธ๋ฅผ ์งํํด์ผ ์ฌ๋ผ๊ฐ์์์ด
๋ญํน์ ์ต๊ณ ์ธต์, ์ด๋ฒคํธ์งํํ์, ๋ชฌ์คํฐ์ฒ์นํ์, ๋ ๋ฒจ ๋ก ๊ธฐ๋กํ ์๊ฐ
๋๋๋ฐ ์๋๋ค.
์ผ๋จ ์น๋ทฐ๋ก ์์์ ์ถ์ํ๋ ๊ฑฐ๋ ๊ฐ๋ฅํจ
์๋๋ค๋๊ฑฐ๋ ๋ฌด์จ์๋ฏธ์ผ??
์ด์์ด ์ด๋ ค์ธ ๊ฑฐ ๊ฐ๋ค๋ ์๋ฏธ์ผ
1) ํ๋ ์ด์ด ์บ๋ฆญํฐ๊ฐ ์ด๋ํ ๋๋ง๋ค ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์ ์ ์ก: ํธ๋ํฝ ๋๋ฌธ์ ์๋ฒ ํฐ์ง 2) ํด๋ผ์ด์ธํธ (๋ธ๋ผ์ฐ์ ) ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ: ๋ฏ์ด์ ๊ฐ ๋ณ์กฐ ํ๋ ์๋ผ๋ค ๋ํ๋จ
์น๊ฒ์์ ์ฑ์ผ๋ก ํฌํ ํ๋๊ฒ ๋ฌธ์ ๊ฐ ์๋๋ผ, ์น๊ฒ์ ์์ฒด๊ฐ ๊ฐ์ง ๊ณ ์ง์ ์ธ ๋ฌธ์ ๊ฐ ์์ด.
์ผ๋จ ํ์ค์ ์ธ ์์ค์์ ์กฐ์ธํ์๋ฉด memcached ๋ redis ๊ฐ์ ์บ์ ์๋ฒ ๋ถ์ฌ์ผ ํ๊ณ ...
Apache Jmeter๋ผ๊ณ ๋ถํํ ์คํธ ํ๋ ํด ์๋๋ฐ ์ง๊ธ ๋ก๋ฉ ์๋ ๋์๊ฐ๋ ํํ๋ก ๋ด์ ์ด๋น 100๊ฑด ์ ๋๋ฉด ์๋ฒ ํฐ์ง๊ฑฐ ๊ฐ์๋ฐ....
์ ๊ฑฐ๋ ๊ตฌ๋ฆide๋ผ์ ๊ทธ๋ฅ ์ฐ์ต์ฉ์ด๊ณ
db๋ ํ์ฌ nonsql๋ก jsonํ์ผํ์์ผ๋ก ๊ด๋ฆฌ์ค์ด๋ผ์ IndexedDB ์ด๊ฑฐ ์ฐ๋ฉด ๊ด์ฐฎ์ง์์๊น
์๋ฒ๋ถํ๊ฐ ์ฌํ๋ค๋ฉด IndexedDB์ด์ฉํด์ ๋ก์ปฌ์์ ์ฒ๋ฆฌํ๊ณ ๋์ ํด๋ฆฌ์ด์ db๊ฐฑ์ ํ๋ ๊ฒ๋ ๊ด์ฐฎ์๊ฑฐ๊ฐ์์
๊ทธ๊ฒ๋ ํ๋์ ๋ฐฉ๋ฒ์ธ๋ฐ... ์๋ก ์ ์ธ ์๋ฏธ์์ ์ ๋ต์ ์บ์ ์๋ฒ๋ฅผ ์ฐ๋ ๊ฑฐ์.
์บ์์๋ฒ์๋ํด์ ์ข ์์๋ด์ผ๊ฒ๋ค ๊ณ ๋ง์ฐ์
์ด์ ๋ ๊ณต๋ถํ ๊ฑฐ๋ฉด ๊ณต๋ถ ํ ๋งํ ๊ฑฐ ๋ช๊ฐ ๋ ๋์ ธ์ค๊ป
๊ถ๊ธํ๊ฒ ์์ ๋ชฝ๊ณ db๋ mysql์ด๋ ์ด๋ฐ๊ฑฐ ์์ฐ๊ณ DB๋ฅผ ๊ฑ ํ์ผ๋ก ๋ง๋ค์ด์ ๊ด๋ฆฌํ๋ฉด ๋์ค์ ์๋๊ฐ ๋ ๋๋ ค์ง๊น
์
๊ฑ ํ์ผ์์คํ ์ผ๋ก ๋๋ ค๋ฐ๋๊ฑฐ...mysql์์ ์ธ๋ฑ์ค ๋ ๋ ค๋ฒ๋ฆฌ๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ฉด ํธํด
๊ทผ๋ฐ ํ๋์ ํ์ผ๋ก ๊ด๋ฆฌํ๋๊ฒ์๋๋ผ ๋น์ฐํ ๊ฐ๋ณ์ ์ผ๋ก ๊ด๋ฆฌํด๋ ์ ์๋์ด ๋ง์์ ธ์ ๊ทธ๋ฐ๊ฑฐ์?
1) Ajax - Rest API ํต์ ๋งค๋ฒ ์นํ์ด์ง ์ ์ฒด๋ฅผ ๋ถ๋ฌ์ค๊ฒ๋๋ฉด response body ๊ธธ์ด๊ฐ ๊ธธ์ด์ ธ์ ํธ๋ํฝ ์ฉ๋์ด ๋ง์ด ๋์ค๋๊น... ํ์ด์ง๋ 1๋ฒ๋ง ๋ถ๋ฌ๋๊ณ ๊ฒ์ ๋ฐ์ดํฐ๋ json ๋ฐ์ดํฐ๋ก ์ฃผ๊ณ ๋ฐ์์ ๋ถํ๋ฅผ ์ค์ฌ. ๋ฌผ๋ก ajax ๋ request & response header ๊ธธ์ด ๋๋ฌธ์ ์ข๊ฐ์์ websocket ์ฐ๋ ๊ฒฝ์ฐ๋ ์๋๋ฐ...์ง๊ธ ์น์์ผ์ผ๋ก ๋ฐ๊พธ๋ฉด ํ๋ก์ ํธ ๋๋ ค์น ๊ป?
ajax๋ ๊ฐ์๋ก ๋ฒ๊ทธ๊ฐ ๋ง์ด์๊ธฐ๋๊ฑฐ ๊ฐ์์ ์ง์ง ํ ๋ ค๋ฉด ์น์์ผ์ผ๋ก ๊ฐ์ผ๊ฒ ๋ค... ๋ฐ์ดํฐ๋ ์ด์ฐจํผ ์ ๋ถ json ํ์์ด๋ผ ์ฃผ๊ณ ๋ฐ๋ ๋ถํ๋ ์ ์๊ฑฐ๊ณ
ajax๊ฐ ๋ฒ๊ทธ ๋ง๋ค๊ณ ๋๋ผ๋ฉด websocket ์ฐ๋๊ฑฐ ๋น์ถํจ. ๋ ์ข๊ฐ์๊ฒ websocket์. ๊ธ๊ณ ์ด์ผ ์งฐ๋์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ...ajax ๋์จ์ง ์ค๋๋ ๊ธฐ์ ์ด๋ผ ์ต๊ฐํด์๋ ๋ฒ๊ทธ ์์ด์ผ ์ ์์
ajax ์ธ ๋ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋จธ์???
๋ด๊ฐ ์๋ชป์ด๊ฑด๊ฐ ์ด์ฐจํผ ๋ฐ์ดํฐ ์ฃผ๊ณ ๋ฐ๊ณ ๋ง ํ ๊ฑด๋ฐ ajax๋ก ํ๋ฉด ์๋ฒ๋ถํ๊ฐ ๋๋๋ ค? ๊ทธ๋ฅ ์นํ์ด์ง ์ง์ ์ด๋ํ๋๊ฒ๋ณด๋ค?
์๋ง ๋ด๊ฐ ajax๊ธฐ์ด์ง์์ด ์์ด์ ๊ทธ๋ฐ๋ฏ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๋ฌด๊ฒ๋ ์์ใ ใ
ajax ์ฐ๋๊ฒ ์๋ฒ ๋ถํ๊ฐ ๋ ์ ์. ์ฉ์ผ๋ก ํ์ด์ง ๋ค ๋ถ๋ฌ์ค๋๊ฒ ๋ถ๋ฌ์ค๋ ์์ด ๋ง์ผ๋๊น ๋ ๋ถํ๊ฐ ํฌ์ง
jquery๋ง ์จ๋ ์ ์ธ๊ณ์ผ๊ป....
https://api.jquery.com/jquery.ajax/
์ jquery๋ ์ฐ๊ณ ์์ด. ๋ฐ์ดํฐ์ ์ก๋งํ ๊ฑด๋ฐ ๊ตณ์ด ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ์์์ง์์?
ajax ์ธ๋ jquery๊ฐ ์ข์ ์๋ prototype.js ๊ฐ ์ข์??
๋ฐ์ดํฐ ์ฃผ๊ณ ๋ฐ๋ ๋ถ๋ถ์ ์ง์ ์ง๋ ๊ฒ๋ณด๋ค ๊ฒ์ฆ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ๋๊ฒ ์ํธํ ํ ๋ฐ...
๋ ์ ๋ง์ ๋ง๋๊ฑฐ... ๊ทผ๋ฐ ์ด๋ฏธ jquery ์ฐ๊ณ ์๋ค๋ฉฐ; ๊ทธ๋ผ ๊ฑ jquery ์ฐ๋๊ฒ ๋ซ์ง ์์ผ๋ ค๋
์ผ๋จ ์ข๋ ํด๋ด์ผ๊ฒ๋ค ์ข์์กฐ์ธ ใฑใ ใฑใ
ajax ๊ณต๋ถํ๋ ๊น์ long polling ajax๋ ์ฐพ์๋ณด๋ฉด ์ข์
2) ๋ธ๋ผ์ฐ์ ์บ์ ์ฌ์ฉ ์ด๋ฏธ์ง๋ css, js๋ ๋ธ๋ผ์ฐ์ ์บ์์ ์ฌ๋ ค๋๊ฒ๋ ํด์ ์ต์ด 1๋ฒ๋ง ํด๋น ํ์ผ์ ๋ฐ๊ฒ ํ๋๊ฒ ์ข์. ๋ค๋ง ๋ฌด์์ ์บ์๋ฅผ ์ฐ๋ฉด ์๋ฒ์์ ํ์ผ์ ์ ๋ฐ์ดํธ ํด๋ ํ๋ ์ด์ด๋ ์ด์ ๋ฒ์ ํ์ผ์ ๋ฐ๋ผ๋ณด๋๊น ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ค์ํด.
3) long polling ajax ์ฝ๊ฒ ๋งํด์ ajax๋ก ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋ฒ๊ฐ ๋ฐ๋ก ์๋ต์ ํ์ง ์๊ณ , ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ๊ทธ ๋ ์๋ต์ ํ๋ ๋ฐฉ์์ธ๋ฐ...์ด๊ฑธ ์์ฉํ๋ฉด ๋ฅ๋์ ์ผ๋ก ์๋ฒ๊ฐ ๋ชฌ์คํฐ๋ค์ ์กฐ์ํ ์ ์์. (์ง๊ธ์ ์ ์ ๊ฐ ์์ฒญํ ๋๋ง ๋ฐ์ดํฐ๊ฐ ์ค๊ณ ๊ฐ๋ฉด์ ๊ฐฑ์ ๋ ๊ฑฐ ๊ฐ์์) ๊ทผ๋ฐ ์ผ๋จ ์ด๋ฐ๊ฒ ์๋ค๋ ๊ฒ๋ง ์์๋๊ณ ... ์ด์ฐจํผ ์ง๊ธ ๊ฒ์ ๋ก์ง ๋๋ฆฌ๋ ์๋ฒ๊ฐ php๋ผ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋์๊ฐ๊ธฐ ํ๋๋ . ๋ฌผ๋ก ๊ผผ์ ์๋ ๊ผผ์๋ฅผ ์ฐ์๋ฉด php๋ก ์๋ฒ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋์๊ฐ ๋ก์ง ์ง๋๊ณ crontab์ผ๋ก ๋งค ์ฃผ๊ธฐ๋ง๋ค ์คํ์ํค๋ ๋ฐฉ๋ฒ๋ ์์ด.
์ ํฌ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์๋์ผ๋ก ์งํํ ๊ฑฐ๋ผ์ ๊ฒฐ๊ณผ๊น์ง ๋ค ๋์จ๊ฑฐ๋ฅผ ํ๋ํ๋ ๋ณด์ฌ์ฃผ๋ฉด ๋ ๊ฑฐ๊ฐ์. ๊ตณ์ด ์ค์๊ฐ์ ๋ฐ์ดํธ๊ฐ ํ์ํ์ง ์์์ ๋กฑํด๋ง์ ์ผ๋จ ๋ค์์!