Tag Hoister! - codeport/scala GitHub Wiki
์ฌ์ฉ์ tag ๋ถ์
์ ๊ณต๋ ์ฌ์ฉ์์ ๋ถ๋งํฌ ์ ๋ณด ์ค tag๋ฅผ ๋ถ์ํ์ฌ ์ ์๋ฏธํ ์ ๋ณด๋ฅผ ์ถ์ถํ๋ ๋ด์ฉ์ผ๋ก ์ค์ต์ ์งํํ ์์
์ค๋นํ ๋ด์ฉ
๋ค์์ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ฌ JSON ๋ฌธ์์ด์ ํจํด ๋งค์นญํ์ฌ ๋ถ์ํ ์ ์๋๋ก ์ค์ต/์ค๋นํ๋ค.
ํ๊ฒฝ ์ค๋น
- Scala Project Template ๊ธฐ๋ฐ์ ํ๊ฒฝ
- github์ scala project template์ ์ฐธ๊ณ
- ์ ๋ฒ ์ฃผ์ ๋ด์ฉ์ด ์ด์ง ์
๋ฐ์ดํธ ๋จ
- scala 2.9.2 ๊ธฐ์ค์ผ๋ก ๋ฒ์ ์
- JUnit 4.9๋ฅผ ์ฌ์ฉ
- sbt ์์กด์ฑ ๊ด๋ฆฌ์ %%๋ฅผ ์ด์ฉํ ๋ฒ์ ๋ช
์๋์ถ๊ฐ ํ์ฉ
- ๊ธฐ์กด ๋ฐฉ์:
libraryDependencies += "org.scalaz" % "scalaz-core_2.9.2" % "6.0.4"
- %% ํ์ฉ:
libraryDependencies += "org.scalaz" %% "scalaz-core" % "6.0.4"
- ๊ธฐ์กด ๋ฐฉ์:
- ์ด์ ์ ์ค์ ๋ ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํด๋ ๋ฌด๊ด
- README.md์ ์๋ก ์ถ๊ฐ๋ ํ๋ก์ ํธ ํ ํ๋ฆฟ ๊ฐ์ ธ์ค๊ธฐ๋ ํ ๋ฒ ์ฐธ๊ณ ์ผ์ ์ฝ์ด๋ณผ ๊ฒ. ํ๋ก์ ํธ ํ ํ๋ฆฟ์ ๋ํ ์๊ฒฉ์ง/๋ธ๋์น๋ฅผ ๋ณ๋๋ก ๋ถ๋ฆฌํด ํ ํ๋ฆฟ์ด ์ ๋ฐ์ดํธ ๋๋ฉด ์ด๋ฅผ ๋ฐ์ํ ์ ์๋๋ก ์๋ดํจ.
ํจํด๋งค์นญ์ ์ด์ฉํ JSON ๋ฌธ์์ด ๋ด ํ๊ทธ ์ ๋ณด ๋ถ์
- JSON ์ ๋ณด parse (ํจํด๋งค์นญ ํ์ฉ)
-
bookmark๋ ๋ค์๊ณผ ์ ์ฌํ ํํ๋ก ์ ๊ณต๋๋ค.
{ "userid": "nephilim", "bookmark-href": "http://stackoverflow.com/questions/927911/how-can-i-hit-my-friend-outsider-legally", "tags": ["stackoverflow","json","lift", "scala"] }
-
ํจํด ๋งค์นญ์ ํ์ฉํ์ฌ JSON ๋ฌธ์์ด์์ ์ ๋ณด๋ฅผ ์ถ์ถํ๋ค.
match jsonBookmark { case Bookmark(userid,href,tags) => { // trie์ tag๋ฅผ key } }
-
๋ถ์ ๋ชฉํ
๋ด์ฉ์ด ์ ์ฌํ ์๋ก ๋ค๋ฅธ URL์ ์ถ์ถํ๋ค.
-
์ ์ฌ๋๋ ๊ฐ์นญ
not the same but similar(์ดํ, NSBS)
๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.NBNS
๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํ ์ ์๋ค.- ๊ณตํต ํ๊ทธ๊ฐ 2๊ฐ ์ด์์ธ ์ฌ์ดํธ์ URL๋ค์ ์๋ก ์ ์ฌํ๋ค๊ณ ๊ฐ์ ํ๋ค.
- ๋จ, URL์ด ์์ ํ ๋์ผํ ๊ฒฝ์ฐ๋ not the same ์กฐ๊ฑด์ ์ํด ์ ์ธํ๋ค.
- ๋ฌธ์ ๋ฅผ ๊ฐ๋จํ ํ๊ธฐ ์ํด URL ๋ฌธ์์ด์ด ์์ ํ ์ผ์นํ๋ฉด ๋์ผ ์ฌ์ดํธ๋ก ๊ฐ์ฃผ
-
์ ์ฒด ๋ถ๋งํฌ๋ฅผ ๋ถ์ํ ๊ฒฐ๊ณผ ํ๊ทธ์ ์ข ๋ฅ๋ URL ๊ฐ์์ ๋นํด ํ์ ํ ๋ฎ์ ๋น์จ์ ๊ฐ๋ ๊ฒ์ผ๋ก ํ์ธ๋๋ค.
์๋ฃ๊ตฌ์กฐ
- pis 24์ฅ์ ๋ค์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ฏธ๋ฆฌ ์ค์ตํด์ค๋ฉด ๋ํ ๋์ ์์ด ์ข๋ค
- Hash Trie
- Red-Black Trees
- Bit Set
- Array Sequence
- Array Stack
JSON ์๋ฃ
- ๋ค์ JSON์ค ํ๋๋ฅผ ๊ณจ๋ผ์ ๋ค์ด๋ก๋ํ๋ค.
- ์ฐธ๊ณ
- bookmark์ ์ฌ์ฉ์๋ nephilim, kingori ๋ ๋ช ์ด๋ค.
- JSON ์๋ฃ์ ํ์์ ๋ฐ๊ฟ๋ ๋๋ค. ์๋ค์ [,]๋ฅผ ์ถ๊ฐํ๋ค๋๊ฐ. json๊ฐ์ฒด ์ฌ์ด์ ,๋ฅผ ์์ ๋ ๋ฑ์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
- ์ค์ bookmark ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ผ๋ฏ๋ก reality๊ฐ ๋ํด์ง ๋งํผ ์ถ์ถ ๊ฒฐ๊ณผ๋ ๊ทธ๋ฆฌ ํ๋ฅญํ์ง ๋ชปํ ์๋ ์๋ค