-
Notifications
You must be signed in to change notification settings - Fork 0
Rake manual
- Rake๋ ์ฑ์ด๋ ์น์ผ๋ก๋ถํฐ ์ง์ ๋ก๊ทธ๋ฅผ ์์งํ๋ ์์ง ์์คํ ์ด๋ค.
- ์ฑ์ด๋ ์น์ ํ ๋ธ๋ญ์ ์ฝ๋๋ฅผ ๋ฃ๋ ๊ฒ์ผ๋ก ์ฝ๊ฒ ๋ก๊ทธ ์์ง์ด ๊ฐ๋ฅํ๋ค., android, web, mobile web์ ๋ก๊ทธ ์์ง์ ์ง์ํ๋ค.
- ๋ด๋ถ์ ์ผ๋ก ํด๋ผ์ด์ธํธ๋ ์คํ ์์ค์ธ mixpanel์ ์ด์ฉํ์ฌ ์ผ๋ถ ๊ธฐ๋ฅ์ ์์ , ์ถ๊ฐํ์์ผ๋ฉฐ, ์๋ฒ๋ ์์ฒด ๊ฐ๋ฐ๋์๋ค.
(11์ 19์ผ)android 0.3.14 ๋ฒ์ ์์ sentinel_meta ํญ๋ชฉ์ ํ์ฅํ ์ ์๋๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
(9์ 17์ผ)android 0.3.13 ๋ฒ์ ์์ MDN ํ๋๋ฅผ ์ ๊ฑฐํ์ต๋๋ค. (๊ธฐ์กด์๋ ๋น ๊ฐ์ด์์)
(6์ 10์ผ)android 0.3.10 ๋ฒ์ ๋ถํฐ MDN ์๋ ์์ง ๋์์์ ์ ์ธํ์ต๋๋ค. (CV์ถ์งํ ์๊ตฌ ์ฌํญ)
(5์ 30์ผ)iOS client 1.7.5, android client 0.3.9 ๋ฒ์ ๋ถํฐ sentinel shuttle ํ์ฉํ ์ ์๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
(4์ 29์ผ)iOS client 1.7.0, android client 0.3.3 ๋ฒ์ ๋ถํฐ Mixpanelํด๋์ค๊ฐ Rakeํด๋์ค๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
(4์ 29์ผ)iOS client 1.7.0, android client 0.3.3 ๋ฒ์ ๋ถํฐ ์๋ ์์ง ํ๋๋ค์ ํ์์ด camelCase์์ snake_case๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
(4์ 10์ผ)์ต์ ๋ฒ์ ๋ถํฐ track ํจ์ ์ธ์์์ event๊ฐ ์ ์ธ๋๊ณ dictionary(ios)/JSONObject(android)๋ง ๋ฐ๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
iOS (์ฌ์ฉ๋ฒ)
-
2014-05-30 rake-0.5.0-client-1.7.5 (latest)
-
2014-04-29 rake-0.5.0-client-1.7.0 (camelCase -> snake_case๋ก ๋ณ๊ฒฝ) -
2014-04-10 rake-0.5.0-client-1.6
android (์ฌ์ฉ๋ฒ)
-
2014-11-19 rake-0.5.0-client-0.3.14 (latest) (stable)
-
2014-12-04 rake-0.5.0-client-0.1.4 TSports ์ ์ฉ (์์ ์ฝ๋)
-
2014-09-17 rake-0.5.0-client-0.3.13 (mdn ํ๋ ์ ๊ฑฐ)
-
2014-08-29 rake-0.5.0-client-0.3.12 (multi-thread tested)
-
2014-07-28 rake-0.5.0-client-0.3.11 (rake server ์ง์ API (setRakeServer()))
-
2014-06-10 rake-0.5.0-client-0.3.10 (mdn ์๋์์ง ์ ์ธ)
-
2014-06-10 rake-0.5.0-client-0.3.10-smartwallet ์ค๋งํธ์๋ ์ฉ (mdn, device_id ์๋์์ง ์ ์ธ)
-
2014-05-30 rake-0.5.0-client-0.3.9 -
2014-04-29 rake-0.5.0-client-0.3.3 (camelCase -> snake_case๋ก ๋ณ๊ฒฝ) -
2014-04-23 rake-0.5.0-client-0.3.3-pick1 (pick1์ฉ - deviceId ์์ง ์ ์ธ, camelCase --> snake_case๋ก ๋ณ๊ฒฝ) -
2014-04-10 rake-0.5.0-client-0.3.2 -
deprecated rake-0.5.0-client-0.1.2 -
deprecated rake-0.4.1-client-0.1.0
๋ก๊ทธ ์ ์ ์ ์ฒญ๊ณผ ๋ฌธ์๋ DI service desk์์ ํ ์ ์๋ค.
- Setinel์ ์ฌ์ฉํ๋ค๋ฉด(ํ์ฌ๋ ๊ธฐ๋ณธ ์ฌ์ฉํด์ผ ํจ), ๋จผ์ sentinel id/password๋ฅผ ๋ฐ๊ธ๋ฐ์ ๋ก๊ทธ ์ ์๋ฅผ ํด์ผํ๋ฉฐ, sentinel shuttle library๋ฅผ ๋ฐ๊ธ๋ฐ์ rake client์ ํจ๊ป ์ฌ์ฉํด์ผ ํ๋ค.
- Rake ๊ด๋ฆฌ์๋ก๋ถํฐ id/password๋ฅผ ๋ฐ๊ธ๋ฐ๋๋ค.
- https://web.rake.skplanet.com:8443/log/ ์ ์ ์ํ์ฌ ๋ก๊ทธ์ธ ํ ํ, ํ ํฐ์ ๋ฐ๊ธ๋ฐ๋๋ค. (Token ๋ฐ๊ธ ์ฐธ๊ณ )
- "์ฝ๊ฒ ์ฝ๋ ๋ฃ๊ธฐ"๋ฅผ ๋ณด๊ณ iOS, android, web, mobile web์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค.
- ๊ฐ๋ฐ ์ค์ Tailer๋ฅผ ํตํด ๋ก๊ทธ๊ฐ ์ ์ ๋ฌ๋๋ ์ง ํ์ธํ๋ค.
- ์๋น์ค๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌํ๊ธฐ ์ ์๋, ์ค ํ๊ฒฝ์ฉ token์ ๋ฐ๋๋ค. ๊ฐ๋ฐ token ๋์ ์ค ํ๊ฒฝ์ฉ token์ ์ฌ์ฉํ๋ค.
- Sentinel์ ํตํ ๋ก๊ทธ ์ ์, Rake ๊ฐ๋ฐ ๋ชจ๋ ์๋ฃ๋๋ฉด, ์ค ํ๊ฒฝ ๋ชจ๋(token, flag ๋ณ๊ฒฝ)์ผ๋ก ๋ณ๊ฒฝํ์ฌ, ์ค ํ๊ฒฝ์์ ๋ก๊ทธ๋ฅผ ๋ณด๋ด๋ณธ๋ค.
- ์ค ํ๊ฒฝ์์ ๋ก๊ทธ๋ฅผ ๋ณด๋ธ ํ, Hadoop ์ฐ๋ ์์ฒญ์ Rake ๋ด๋น์์๊ฒ ์์ฒญํ๋ค. ์ด ์์ ์ ์ค ์๋น์ค ์คํ ์ ์ ํ๋ ๊ฒ์ ๊ถ์ฅํจ. (hadoop ์ฐ๋ ์์ฒญ์ด ๋์ผ ์คํ๊ฒฝ ๋ก๊ทธ๊ฐ hadoop ์ ์ ์ฌ๋จ)
- Token์ด๋ ์ธ์ฆ์ ์ํด ๋ฐ๊ธ๋๋ ์ผ๋ จ์ ๋ฌธ์์ด์ด๋ค.
- ์ฑ, ์น ์์์๋ ๋ฌธ์์ด ๊ทธ๋๋ก ๋ณต์ฌํด์ฃผ๋ฉด ๋๋ค.
- ๊ฐ๋ฐ ํ๊ฒฝ์ ํ ํฐ๊ณผ ์ค ํ๊ฒฝ์ ํ ํฐ์ ์๋ก ๊ตฌ๋ถ๋์ด ์๋ค.
- ํ ํ๋ก๊ทธ๋จ์์๋ ํ๋์ ํ ํฐ๋ง์ ์ฌ์ฉํ๋ค. ์๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋จ(์ฑ)์ด๋ผ๋ฉด ๋ค๋ฅธ ํ ํฐ์ด ํ์ํ๋ค.
- ๊ฐ๋ฐ ํ ํฐ๊ณผ ์ค ํ ํฐ์ ๊ตฌ๋ถํ๋ ์ด์ ๋ ๊ฐ๋ฐ ๋ก๊ทธ๊ฐ ์์ด์ง ์๊ฒ ํ๊ธฐ ์ํจ์ด๋ค. ๊ฐ๋ฐ์ฉ ํ ํฐ์ด ๋จ์ ์์ ๊ฒฝ์ฐ ์คํ๊ฒฝ์ ์ ์ ๋๋ ๊ฒ์ ์ต๋ํ ๋ง๊ธฐ ์ํจ์ด๋ค.
- ๊ฐ๋ฐ ํ๊ฒฝ ํ ํฐ๊ณผ ์คํ๊ฒฝ ํ ํฐ ๋ชจ๋ ๋ค์์ url์์ ๋ฐ๊ธ ๋ฐ์ ์ ์๋ค.
- https://web.rake.skplanet.com:8443/log/
- ๊ฐ๋ฐํ๊ฒฝ์ playground(pg) ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- ๊ฐ๋ฐ ํ ํฐ์ 3๊ฐ๊น์ง ์ ํ๋์ด ์๋ค. ์ค ํ๊ฒฝ ํ ํฐ์ 1๊ฐ๋ง ๋ฐ๊ธํ ์ ์๋ค.
- ๊ด๋ฆฌ์์ ์ํด id/password๊ฐ ๋ฐ๊ธ๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
- Rake๋ ์ค ํ๊ฒฝ๊ณผ ๋๋ถ์ด ๊ฐ๋ฐํ๊ฒฝ๋ ์ ๊ณตํ๋ค.
- ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐํ๊ฒฝ์์ ๊ฐ๋ฐํ ์ ์๋๋ก ๋ณ๊ฐ์ ์๋ฒ๋ฅผ ์ ๊ณตํ๋ค.
- ๊ฐ๋ฐํ๊ฒฝ์์๋ ์๋ฒ์ ์์ด๋ raw ๋ฐ์ดํฐ๋ฅผ ํ์ธํ ์ ์๋ค. ๋ฐ๋ผ์ ๊ฐ๋ฐ์ฝ๋๊ฐ ์๋ฒ์ ์ ๋์ฐฉํ๋ ์ ํจํ ์ฝ๋์ธ์ง ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
- ์ค์๋ฒ์์๋ ๊ฐ๋ฐ์๊ฐ ๋ณด์ ๊ด๋ จ ๋ฌธ์ ๋ก ์๋ฒ์ ์์ธ raw ๋ฐ์ดํฐ๋ฅผ ํ์ธํ ์ ์๋ค.
- ์คํ๊ฒฝ์ ์์ด๋ ๋ฐ์ดํฐ๋ ์ ์์ผ๋ก ํต๊ณ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ฐ์ดํฐ๋ก ๊ฐ์ฃผ๋๋ฉฐ, ๊ฐ๋ฐํ๊ฒฝ ๋ฐ์ดํฐ๋ ๋ฒ๋ ค์ง๋ค.
- ๊ฐ๋ฐ ํ๊ฒฝ์์ ๊ฐ๋ฐํ๋ค๊ฐ ์ค์๋ฒ๋ก์ ์ ํํ ๋์๋ ๋ค์์ ์ฌํญ์ ์์ ํจ์ผ๋ก์จ ๊ฐ๋จํ๊ฒ ์ ํํ ์ ์๋ค.
- ํ๋ก๊ทธ๋จ์์์ flag๋ฅผ ์์ or ์๋ฒ url์ ๋ณ๊ฒฝ (๊ฐ ๋ฉ๋ด์ผ ํ์ด์ง ์ฐธ๊ณ )
- ์ถ๊ฐ๋ก ์ค ํ๊ฒฝ์ ํ ํฐ์ ์๋ก ๋ฐ๊ธ๋ฐ์ ์ ์ฉํด์ผ ํจ
- Log tailer๋ ์๋ฒ๊ฐ ์์งํ ๋ก๊ทธ์ ๋ง์ง๋ง ์ผ๋ถ๋ถ์ ๋ณด์ฌ์ฃผ๋ ์๋น์ค
- ํด๋ผ์ด์ธํธ์์ ๋ก๊ทธ๋ฅผ flush ํํ log tailer๋ฅผ ํตํด ํ์ธํ๋ฉด ์๋ฒ ์ ์ก ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค.
- ํญ์ ๋ง์ง๋ง 20 ~ 40๊ฐ์ ๋ก๊ทธ๋ง์ ํ์ํ๋ฉฐ ์ง๋ ๋ก๊ทธ๋ ํ์๋์ง ์๋๋ค. ์๋ฒ๊ฐ restart๋๋ฉด refresh ๋๋ค.
- ๊ฐ๋ฐํ๊ฒฝ์์๋ง ์ ๊ณต๋๋ค.
- https://web.rake.skplanet.com:8443/log/ ์ ์ ์ํ๋ฉด ํ์ธํ ์ ์๋ค.
- ์ค์๋ฒ์์๋ ๋ณด์ ๋ฌธ์ ๋ก ์คํ๋์ง ์๋๋ค.
- Tailer ์ฌ์ฉ๋ฒ ๋ณด๊ธฐ
- ํ์ฌ token ์์ฑ, ๊ฒ์ํ๋ api๋ฅผ ์ ํ์ ์ผ๋ก ์ ๊ณตํ๊ณ ์๋ค.
- [Server api](Rake server api)
- ์ธ์ ๊ณผ ๊ฐ์ธ ์ ๋ณด์ ๊ฐ์ด ์ด์๊ฐ ์๋ ๋ก๊ทธ ํญ๋ชฉ์ ๋ํด ์ด์์ ์ ์ ๋ฐฉ๋ฒ์ ๊ธฐ์ ํ๋ค.
- ์์ธํ ๋ด์ฉ์ [๋ก๊ทธ ๋ฐ์ดํฐ ์ ์](๋ก๊ทธ ๋ฐ์ดํฐ ์ ์) ํ์ด์ง์ ์์ธํ ๊ธฐ์ ๋์ด ์๋ค.
skplanet ๊ฐ๋ฐ์๋ผ๋ฉด ์ํค ํ์ด์ง์์ ๋ ์์ธํ ๋ด์ฉ์ ์ฐธ๊ณ ํ ์ ์๋ค. ์ต๊ทผ ๋ด์ฉ์ด ๋ชจ๋ ๋ฐ์๋ ๋ฌธ์๋ ๋ณธ ๋ฌธ์์ด๋ฉฐ, ๊ณ์ ์ต์ ์ผ๋ก ์ ์ง๋ ์์ ์
- Jongmin Lee, SK Planet - server s/w engineer
- Junghyun Kim, SK Planet - client s/w engineer
- Mixpanel๊ณผ JSnappy๋ Apache v2 ๋ผ์ด์ผ์ค๋ฅผ ๋ฐ๋ฅด๊ณ ์์ต๋๋ค.
- ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ์ด๋ฅผ ์ฌ์ฉํ๋ ์ฑ์์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ํ์ํด์ผ ํฉ๋๋ค. (๋ผ์ด์ผ์ค ์ ๋ฌธ ๋๋ ๋งํฌ)
- Apache V2 ๋ผ์ด์ผ์ค ์ ๋ฌธ : http://www.apache.org/licenses/LICENSE-2.0.html
- ๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ผ์ด์ผ์ค ์ ๋ฌธ ๋งํฌ(Apache V2)
- JSnappy : http://code.google.com/p/jsnappy/source/browse/trunk/LICENCE.txt
- Mixpanel iphone : https://github.com/mixpanel/mixpanel-iphone/blob/master/LICENSE
- Mixpanel android : https://github.com/mixpanel/mixpanel-android/blob/master/LICENSE
-
Rake ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Mixpanel๊ณผ JSnappy(rake0.3 ์ ์ฌ์ฉ๋ ์์ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.(0.3.5๋ถํฐ ์ฌ์ฉ ์ํฉ๋๋ค.)