JavaRush /Java Blog /Random-KO /Getdown ๋˜๋Š” Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—…๋ฐ์ดํŠธ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•
IvanDurov
๋ ˆ๋ฒจ 25

Getdown ๋˜๋Š” Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—…๋ฐ์ดํŠธ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

๋ฉ”ํƒ€ํŒŒ์ผ

Getdown์€ getdown.txt ๋ฐ Digest.txt ๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฉ”ํƒ€ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค . getdown.txt ํŒŒ์ผ์„ ์ง์ ‘ ์ƒ์„ฑํ•˜๋ฉด(์•„๋ž˜์— ์„ค๋ช…์ด ์žˆ์Œ) ํ”„๋กœ๊ทธ๋žจ์ด ํ”„๋กœ์ ํŠธ์˜ ํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ Digest.txt ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค .

getdown.txt

getdown.txt ํŒŒ์ผ์—๋Š” Getdown์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์ด ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ํ‘œ์ค€ getdown.txt ๊ตฌ์กฐ๋ฅผ ์„ค๋ช… ํ•˜๊ณ  ๋ชจ๋“  ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•œ ์ „์ฒด ์„ค๋ช…์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ํ‘œ์ค€ getdown.txt ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค .
# ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์ด ์—…๋ฐ์ดํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ํด๋”์˜ URL ์ฃผ์†Œ appbase = http://myapplication.com/myapp/ # ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ ํŒŒ์ผ ui.name = My Application # ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์˜ ๋ชจ๋“  jar ํŒŒ์ผ = application.jar # ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋Š” ํด๋ž˜์Šค main(String[] args) class = myapplication.MyApplication
appbase์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์šด๋กœ๋“œํ•  URL๊ณผ ๋‘ ๊ฐœ์˜ ๋ฉ”ํƒ€ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฉ”ํƒ€ํŒŒ์ผ์˜ ์ „์ฒด ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • http://myapplication.com/myapp/getdown.txt
  • http://myapplication.com/myapp/digest.txt
  • http://myapplication.com/myapp/application.jar

๋‹ค์ด์ œ์ŠคํŠธ.txt

Digest.txt๋Š” com.Threerings.getdown.tools.Digester ์œ ํ‹ธ๋ฆฌํ‹ฐ ์— ์˜ํ•ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค . ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด getdown-XYjar ์„ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š” . ์ด์ œ ํด๋”์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•˜๋‚˜์˜ ๋ฉ”ํƒ€ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
myapp/getdown.txt myapp/application.jar
์ด์ œ Digest.txt ๋ฅผ ์ƒ์„ฑํ•  ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค . ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ๋ช…๋ น์ค„์— ๋‹ค์Œ์„ ์ž…๋ ฅํ•˜์„ธ์š”.
% java -classpath getdown-XYjar com.Threerings.getdown.tools.Digester myapp
์—ฌ๊ธฐ์„œ myapp์€ ํ˜„์žฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•˜๋‚˜์˜ ๋ฉ”ํƒ€ํŒŒ์ผ์ด ์žˆ๋Š” myapp ํด๋” ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค . ๋ชจ๋“  ์ž‘์—…์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ–ˆ๋‹ค๋ฉด ๋ช…๋ น์ค„์— ๋‹ค์Œ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
๋‹ค์ด์ œ์ŠคํŠธ ํŒŒ์ผ 'myapp/digest.txt' ์ƒ์„ฑ ์ค‘...
๋˜ํ•œ ์˜ค๋žซ๋™์•ˆ ๊ธฐ๋‹ค๋ ค์˜จ ๋‘ ๋ฒˆ์งธ ๋ฉ”ํƒ€ํŒŒ์ผ์ธ gest.txt๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํด๋”์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค . Digest.txt ์ƒ์„ฑ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ง€์นจ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ฌ๊ธฐ๋Š” ์‚ฌ๋žŒ

์ด์ œ ํด๋”์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋‘ ๊ฐœ์˜ ๋ฉ”ํƒ€ํŒŒ์ผ ๋“ฑ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋” ์ฃผ์†Œ๋Š” appbase ํ•„๋“œ ์˜ getdown.txt ์— ์ง€์ •๋œ ์ฃผ์†Œ์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ์žŠ์ง€ ๋งˆ์„ธ์š” . ๊ทธ๋ฆฌ๊ณ  ๋‚ด๋ถ€ ํŒŒ์ผ์€ ํด๋” ์ฃผ์†Œ + ํŒŒ์ผ ์ด๋ฆ„ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค . ์ด์™€ ๊ฐ™์ด:
  • http://myapplication.com/myapp/getdown.txt
  • http://myapplication.com/myapp/digest.txt
  • http://myapplication.com/myapp/application.jar

์ž‘์—… ํ™•์ธ ์ค‘

์ด์ œ ๊ท€ํ•˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•  ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋Œ€์‹ ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— getdown-XYjar์„ ๋†“์Šต๋‹ˆ๋‹ค . ์ด์ œ ํ•œ ์ค„๋งŒ ํฌํ•จํ•˜๋Š” getdown.txt๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค .
์•ฑ๋ฒ ์ด์Šค = http://myapplication.com/myapp/
์ด์ œ ๋ช…๋ น์ค„์— ๋‹ค์Œ ๋ช…๋ น์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
% java -jar myapp/getdown-XYjar myapp
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํŒŒ์ผ์„ ์„œ๋ฒ„์— ์žˆ๋Š” ํŒŒ์ผ๊ณผ ๋น„๊ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ๋‹ค์•ผ! __________________________________________________________________________________________________________ PS ๋ช…๋ น์ค„๋กœ ์ž‘์—…ํ•˜๋ ค๋ฉด ๋ฐฐ์น˜ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. create Digest.bat ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค .
java -classpath getdown-1.3.1.jar com. threerings.getdown.tools.Digester %CD%
๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ update.bat ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค :
java -jar getdown-1.3.1.jar %CD%
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION