Firebase-tools: WSL ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์‹คํ–‰ํ•  ๋•Œ 'java' ์‹คํ–‰ ํŒŒ์ผ์˜ ๋ถ€์กฑ์„ ์ œ๋Œ€๋กœ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2019๋…„ 10์›” 10์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: firebase/firebase-tools

์•ˆ๋…•ํ•˜์„ธ์š” Firebase ํŒ€์ž…๋‹ˆ๋‹ค.

WSL์—์„œ ์ž‘๋™ํ•˜๋Š” ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์–ป๋Š” ๋ฐ ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

์ตœ๊ทผ ์—…๋ฐ์ดํŠธ(https://github.com/firebase/firebase-tools/issues/1458)์—์„œ port was not active within 3000ms ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์ข… ๋ชฉํ‘œ๋Š” ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์—์„œ ํ•จ์ˆ˜ ์ถœ๋ ฅ์„ ๋ณด์—ฌ์ฃผ๋Š” console.log()๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์„ธ๋ถ€์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์‚ญ์ œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. validate_template=true template_path=.github/ISSUE_TEMPLATE/bug_report.md Firebase ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๊ธฐ์—ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! md5-0f1f6d7495f991c445263bca56695b0b ์˜ˆ, ์šฐ๋ฆฌ๋Š” ํ™•์‹คํžˆ ์™„๋ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค! ์ด ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹๋•Œ ์ตœ์†Œํ•œ์˜ ์žฌํ˜„์„ ํฌํ•จํ•˜์‹ญ์‹œ์˜ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ๊ณ„์‹œ๋‹ค๋ฉด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์‹œ๋ฉด ๊ธฐ๊บผ์ด ๊ฒ€ํ† ํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค! md5-47c13f787f5fd82d900c7a50e43b625f ์ข‹์Šต๋‹ˆ๋‹ค. ์ œํ’ˆ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค! ๊ทธ๋Ÿฌ๋‚˜ ์ด ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ ์š”์ฒญ์„ ์ œ์ถœํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๊ธฐ๋Šฅ ์š”์ฒญ์„ ๋‹ค์Œ ์ฃผ์†Œ๋กœ ์ œ์ถœํ•ด ์ฃผ์„ธ์š”. https://firebase.google.com/support/contact/bugs-features/ md5-f2912b50011b616213b4697ac756eb10 ๋งŽ์€ ์ง€์›์„ ๋ฐ›๊ณ  ์žˆ์ง€๋งŒ GitHub๋Š” ์ตœ์ ์˜ ์žฅ์†Œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ์‡„๋ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๊ฐ€์ด๋“œ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”. https://firebase.google.com/docs/cli/ ๊ณต์‹ ๋ฌธ์„œ๊ฐ€ ๋„์›€์ด ๋˜์ง€ ์•Š์œผ๋ฉด ๊ณต์‹ ์ง€์› ์ฑ„๋„(https://firebase.google.com/)์„ ํ†ตํ•ด ๋ฌธ์˜ํ•ด ๋ณด์„ธ์š”. support/ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์†”๋ฃจ์…˜์ด๋‚˜ ์ง€์›์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ์œ„์น˜: - Stack Overflow: https://stackoverflow.com/ - Firebase Slack ์ปค๋ฎค๋‹ˆํ‹ฐ: https://firebase.community/ *์—ฌ๋Ÿฌ ์ฑ„๋„์— ์ค‘๋ณต ๊ฒŒ์‹œ๋ฅผ ๋ฐฉ์ง€ํ•˜์„ธ์š”!*

[ํ•„์ˆ˜] ํ™˜๊ฒฝ ์ •๋ณด

์–ด๋–ค ๋ฒ„์ „์˜ Firebase CLI(`firebase-tools`)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์ตœ์‹  ๋ฒ„์ „์—์„œ ๋ฌธ์ œ๊ฐ€ ์ด๋ฏธ ์ˆ˜์ •๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์€ https://github.com/firebase/firebase-tools/releases์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Firebase ๋„๊ตฌ: 7.5.0


ํ”Œ๋žซํผ: Windows/WSL

[ํ•„์ˆ˜] ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค

[ํ•„์ˆ˜] ์žฌํ˜„ ๋‹จ๊ณ„

ํ…Œ์ŠคํŠธ ๋ช…๋ น์„ ๋ถ™์—ฌ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ํ•ญ์ƒ ์•ˆ์ •์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋ฉฐ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

[ํ•„์ˆ˜] ์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™


์—๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์‹œ์ž‘๋˜์–ด์•ผ ํ•˜๋ฉฐ Firebase ํ•จ์ˆ˜ ์ถœ๋ ฅ์€ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[ํ•„์ˆ˜] ์‹ค์ œ ํ–‰๋™

firebase-debug.log
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:08.690Z] ----------------------------------- -----------------------------------
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:08.693Z] ๋ช…๋ น: /home/standard/.nvm/versions/node/v10.16.0/bin/node /home/standard/.nvm/versions/node/v10. 16.0/bin/firebase ์—๋ฎฌ๋ ˆ์ดํ„ฐ:์‹œ์ž‘
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:08.693Z] CLI ๋ฒ„์ „: 7.5.0
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:08.693Z] ํ”Œ๋žซํผ: ๋ฆฌ๋ˆ…์Šค
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:08.693Z] ๋…ธ๋“œ ๋ฒ„์ „: v10.16.0
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:09.522Z] ์‹œ๊ฐ„: Fri Oct 11 2019 07:19:08 GMT+1000 (GMT+10:00)
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:09.522Z] ----------------------------------- -----------------------------------
[๋””๋ฒ„๊ทธ]
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:09.537Z] > ๋ช…๋ น์— ๋ฒ”์œ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https: //www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:09.539Z] > ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋ฅผ ํ†ตํ•ด ๊ถŒํ•œ ๋ถ€์—ฌ
[์ •๋ณด] i ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์‹œ์ž‘: ["functions","firestore","hosting"]
[๊ฒฝ๊ณ ] โš  ์š”์ฒญํ•œ "๋…ธ๋“œ" ๋ฒ„์ „ "8"์ด ๊ธ€๋กœ๋ฒŒ ๋ฒ„์ „ "10"๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
[์ •๋ณด] โœ” ๊ธฐ๋Šฅ: http://localhost :5001์—์„œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์‹œ์ž‘
[info] i firestore: http://localhost :8080์—์„œ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ(WebChannel ํฌํ•จ) ์ œ๊ณต
[๊ฒฝ๊ณ ] โš  firestore: ๋ณ„๋„์˜ ํฌํŠธ(8081)์—์„œ WebChannel์— ๋Œ€ํ•œ ์ง€์›์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ณง ์ค‘๋‹จ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ๋Œ€์‹  ์œ„์˜ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:09.939Z] ์ง€์›๋˜์ง€ ์•Š๋Š” ์ธ์ˆ˜ ๋ฌด์‹œ: projectId
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:09.939Z] ์ง€์›๋˜์ง€ ์•Š๋Š” ์ธ์ˆ˜ ๋ฌด์‹œ: auto_download
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:09.939Z] {"binary":"java","args":["-Duser.language=en","-jar","/ ๋ช…๋ น์œผ๋กœ ์—๋ฎฌ๋ ˆ์ดํ„ฐ Firestore ์‹œ์ž‘ home/DIR_NAME/standard/.cache/firebase/emulators/cloud-firestore-emulator-v1.9.0.jar","--host","localhost","--port",8080,"--rules", "/mnt/c/Users/Standard/Documents/GitHub/DIR/firestore.rules","--functions_emulator"," localhost:5001 ","--webchannel_port",8081],"optionalArgs":["ํฌํŠธ" ,"webchannel_port","ํ˜ธ์ŠคํŠธ","๊ทœ์น™","functions_emulator"]}
[์ •๋ณด] i firestore: firestore-debug.log์— ๋กœ๊น…ํ•˜๋Š” ์—๋ฎฌ๋ ˆ์ดํ„ฐ
[์ •๋ณด] i ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
[์ •๋ณด] i ๊ธฐ๋Šฅ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์ค‘์ง€
[๋””๋ฒ„๊ทธ] [2019-10-10T21:19:09.999Z] ์˜ค๋ฅ˜: ์Šคํฐ ์ž๋ฐ” EACCES
Process.ChildProcess._handle.oneexit์—์„œ (๋‚ด๋ถ€/child_process.js:240:19)
onErrorNT์—์„œ (internal/child_process.js:415:16)
process._tickCallback์—์„œ (๋‚ด๋ถ€/ํ”„๋กœ์„ธ์Šค/next_tick.js:63:19)
[์˜ค๋ฅ˜]
[์˜ค๋ฅ˜] ์˜ค๋ฅ˜: ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Firebase ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
โžœ DIR_NAMEgit:(๋งˆ์Šคํ„ฐ) โœ— Firebase ์„œ๋น„์Šค --only ๊ธฐ๋Šฅ [11/10/19| ์˜ค์ „ 8์‹œ 19๋ถ„]
โš  ์š”์ฒญํ•œ "๋…ธ๋“œ" ๋ฒ„์ „ "8"์ด ๊ธ€๋กœ๋ฒŒ ๋ฒ„์ „ "10"๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
โœ” ๊ธฐ๋Šฅ: http://localhost :5000์—์„œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์‹œ์ž‘
i functions: Cloud Functions์šฉ โ€‹โ€‹'/mnt/c/Users/Standard/Documents/GitHub/DIR_NAME/functions' ๋ณด๊ธฐ...


git:(๋งˆ์Šคํ„ฐ) โœ— Firebase ์—๋ฎฌ๋ ˆ์ดํ„ฐ:start --debug [11/10/19| ์˜ค์ „ 8์‹œ 30๋ถ„]
[2019-10-10T21:31:51.586Z] -------------------------------------- --------------------------------
[2019-10-10T21:31:51.594Z] ๋ช…๋ น: /home/standard/.nvm/versions/node/v10.16.0/bin/node /home/standard/.nvm/versions/node/v10.16.0/bin /firebase ์—๋ฎฌ๋ ˆ์ดํ„ฐ:start --debug
[2019-10-10T21:31:51.598Z] CLI ๋ฒ„์ „: 7.5.0
[2019-10-10T21:31:51.599Z] ํ”Œ๋žซํผ: ๋ฆฌ๋ˆ…์Šค
[2019-10-10T21:31:51.600Z] ๋…ธ๋“œ ๋ฒ„์ „: v10.16.0
[2019-10-10T21:31:52.440Z] ์‹œ๊ฐ„: 2019๋…„ 10์›” 11์ผ ๊ธˆ์š”์ผ 07:31:51 GMT+1000 (GMT+10:00)
[2019-10-10T21:31:52.444Z] -------------------------------------- --------------------------------

[2019-10-10T21:31:52.464Z] > ๋ช…๋ น์—๋Š” ๋ฒ”์œ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www .googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2019-10-10T21:31:52.472Z] > ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋ฅผ ํ†ตํ•ด ๊ถŒํ•œ ๋ถ€์—ฌ
i ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์‹œ์ž‘: ["functions","firestore","hosting"]
โš  ์š”์ฒญํ•œ "๋…ธ๋“œ" ๋ฒ„์ „ "8"์ด ๊ธ€๋กœ๋ฒŒ ๋ฒ„์ „ "10"๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
โœ” ๊ธฐ๋Šฅ: http://localhost :5001์—์„œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์‹œ์ž‘
i firestore: http://localhost :8080์—์„œ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ(WebChannel ํฌํ•จ) ์ œ๊ณต
โš  firestore: ๋ณ„๋„์˜ ํฌํŠธ(8081)์—์„œ WebChannel์— ๋Œ€ํ•œ ์ง€์›์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ณง ์ค‘๋‹จ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ๋Œ€์‹  ์œ„์˜ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
[2019-10-10T21:31:52.848Z] ์ง€์›๋˜์ง€ ์•Š๋Š” ์ธ์ˆ˜ ๋ฌด์‹œ: projectId
[2019-10-10T21:31:52.850Z] ์ง€์›๋˜์ง€ ์•Š๋Š” ์ธ์ˆ˜ ๋ฌด์‹œ: auto_download
[2019-10-10T21:31:52.851Z] {"binary":"java","args":["-Duser.language=en","-jar","/home/standard ๋ช…๋ น์œผ๋กœ ์—๋ฎฌ๋ ˆ์ดํ„ฐ Firestore ์‹œ์ž‘ /.cache/firebase/emulators/cloud-firestore-emulator-v1.9.0.jar","--host","localhost","--port",8080,"--rules","/mnt/c /Users/Standard/Documents/GitHub/DIR_NAME/firestore.rules","--functions_emulator"," localhost:5001 ","--webchannel_port",8081],"optionalArgs":["port","webchannel_port", "ํ˜ธ์ŠคํŠธ","๊ทœ์น™","functions_emulator"]}
i firestore: firestore-debug.log์— ๋กœ๊น…ํ•˜๋Š” ์—๋ฎฌ๋ ˆ์ดํ„ฐ
i ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์ข…๋ฃŒ.
i ์ค‘์ง€ ๊ธฐ๋Šฅ ์—๋ฎฌ๋ ˆ์ดํ„ฐ
[2019-10-10T21:31:52.924Z] ์˜ค๋ฅ˜: ์ž๋ฐ” EACCES ์ƒ์„ฑ
Process.ChildProcess._handle.oneexit์—์„œ (๋‚ด๋ถ€/child_process.js:240:19)
onErrorNT์—์„œ (internal/child_process.js:415:16)
process._tickCallback์—์„œ (๋‚ด๋ถ€/ํ”„๋กœ์„ธ์Šค/next_tick.js:63:19)

์˜ค๋ฅ˜: ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

emulator-suite firestore bug

๋ชจ๋“  7 ๋Œ“๊ธ€

์ด ๋ฌธ์ œ์—๋Š” ํ…œํ”Œ๋ฆฟ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์„น์…˜์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ์žŠ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์ •๋ณด๋กœ ๋ฌธ์ œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์‹ญ์‹œ์˜ค.

@barnu5 java ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? java -version ์„ ์‹คํ–‰ํ•˜๊ณ  ์–ด๋–ค ๋ฒ„์ „์ด ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋„์›€์„ ์ฃผ์‹  @samtstern ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด Java๋ฅผ ๋ณ„๋„๋กœ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. https://wiki.jmk.hu/wiki/Install_Java_Development_Kit_on_Windows_Subsystem_for_Linux

์ด์ œ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์—์„œ ํ˜ธ์ŠคํŒ… ๋กœ๊น…์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. `127.0.0.1 - - [10/Oct/2019:22:14:40 +0000] "GET /static/media/image.f098d4b4.svg HTTP/1.1" 200 1783 " http://localhost :5000/app" "Mozilla/5.0(Windows NT 10.0, Win64, x64) AppleWebKit/537.36
(Gecko์™€ ๊ฐ™์€ KHTML) Chrome/77.0.3865.90 Safari/537.36"

์ฝ˜์†”์—์„œ Firebase ๊ธฐ๋Šฅ ๋กœ๊น… ์ถœ๋ ฅ์„ ์–ด๋–ป๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@barnu5 ํ•จ์ˆ˜๊ฐ€ console.log() ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์ฝ˜์†”์— ํ•ด๋‹น ์ถœ๋ ฅ์ด ํ‘œ์‹œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜์„ธ์š”.

java ๊ฐ€ ์—†์„ ๋•Œ ์•Œ๋ ค์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฌธ์ œ์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ถ„๋ช…ํžˆ ์šฐ๋ฆฌ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@samttern ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๋‹ค๋ฅธ ํ•˜๋‚˜๋ฅผ ๋‹ซ์•˜์Šต๋‹ˆ๋‹ค! ๋กœ๊น…์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ๋” ์ž˜ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด๊ฒƒ์„ ์—ด์–ด๋‘๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰