๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋…ธ๋ ฅ์„ ์ด๊ธฐ๋Š” ์žฌ๋Šฅ์€ ์—†๊ณ 
๋…ธ๋ ฅ์„ ์™ธ๋ฉดํ•˜๋Š” ๊ฒฐ๊ณผ๋„ ์—†๋‹ค.
- ์ด์ฐฝํ˜ธ 9๋‹จ

error8

[Spring Error] ์‹ฌ๊ฐ: Servlet.service() for servlet [appServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflect.. 1:N ์˜ ๊ด€๊ณ„์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ…Œ์ด๋ธ” ๊ตฌ์กฐ์—์„œ Mapper๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์ด๋•Œ, N์˜ ๊ด€๊ณ„์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” VO์—์„œ Type Mismatch ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ๋‹ค. Mapper๊นŒ์ง€ ๋„˜๊ธฐ๊ณ  ์žˆ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋„ ์ •์ƒ์ ์œผ๋กœ ๋“ค์–ด์˜ค๊ณ  ์žˆ๊ณ  ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋„ ์ž˜ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋Š”๋ฐ, N๊ด€๊ณ„์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋งŒ [nuread]๋กœ ๋‚˜ํƒ€๋‚˜๊ณ  ์žˆ๋Š”๊ฑฐ ๋ง๊ณ ๋Š” ์˜คํƒ€๋ผ๋˜์ง€ resultMap์„ ์ž˜๋ชป ๊ตฌ์„ฑํ–ˆ๋‹ค๋˜์ง€ ๋“ฑ๋“ฑ์˜ ์ด์Šˆ๋Š” ์—†์—ˆ๋‹ค. java.lang.IllegalArgumentException: argument type mismatch SpringFramework๋ฅผ ํ™œ์šฉํ•œ CRUD๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋ฉด ๊ต‰์žฅํžˆ ๋งŽ์€ ์—๋Ÿฌ๋“ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„ ์‹œ์Šคํ…œ์ด ์ž˜๋ชป๋˜์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ์†Œ.. 2024. 4. 11.
[JSP ERROR] org.apache.jasper.JasperException_Validation error messages from TagLibraryValidator for [c] JSP ํŽ˜์ด์ง€๋ฅผ ์‹คํ–‰ํ•˜๋˜ ์ค‘, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. WebContent๋‹จ ์•„๋ž˜์— ์žˆ๋Š” JSP๋‹ค๋ณด๋‹ˆ, ์‹คํ–‰์„ ์œ„ํ•œ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์žˆ๋Š”๊ฒƒ๋„ ์•„๋‹ˆ์—ฌ์„œ ์„œ๋ฒ„์ชฝ ๋””๋ฒ„๊น…ํ• ๊ฒƒ์ด ๋”ฐ๋กœ ์—†์—ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ˆœ์ „ํžˆ JSPํŽ˜์ด์ง€์—์„œ์˜ ์—๋Ÿฌ๊ฐ€ ํ™•์‹คํ•œ๋ฐ ์–ด๋”” ๋ถ€๋ถ„์ด ์—๋Ÿฌ์ธ์ง€์— ๋Œ€ํ•œ ํŒŒ์•…์ด ํ•„์š”ํ–ˆ๋‹ค. JSP ํŽ˜์ด์ง€์—์„œ core ํƒœ๊ทธ๋งŒ ์„ ์–ธํ•œ ์ƒํƒœ์—์„œ ์Šคํฌ๋ฆฝํ‹€๋ฆฟ์œผ๋กœ Java ๊ณ„์‚ฐ์‹ ์ฒ˜๋ฆฌ ํ›„ ์•„๋ž˜์—์„œ ํ‘œํ˜„๋ฌธ์œผ๋กœ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ๋Š”๋ฐ taglib์ชฝ์—์„œ ์—๋Ÿฌ๋‚  ๋ถ€๋ถ„์€ ๋”ฑํžˆ ์—†์–ด๋ณด์˜€๋‹ค. ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ core ํƒœ๊ทธ ์•ˆ์— HTML ์ฃผ์„์„ ๋‹ฌ์ง€ ๋ง๋ฉด ๋œ๋‹ค. coreํƒœ๊ทธ๋ฅผ ์„ ์–ธํ•˜๊ณ  ๊ทธ ์•ˆ์ชฝ์—๋‹ค๊ฐ€ HTML์ฃผ์„์„ ๋‹ฌ๊ฒŒ๋˜๋ฉด JasperException ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์•ˆ์ชฝ์—๋‹ค๊ฐ€ ์ฃผ์„์„ ๋‹ฌ์ง€ ์•Š๊ณ  ๋ฐ”๊นฅ์ชฝ์—์„œ ์ฃผ์„์„ ๋‹ฌ์•„ ์ฃผ์–ด์•ผํ•œ๋‹ค. @Junesker 2022. 12. 18.
[Oracle Error] ORA-00907: "missing right parenthesis", ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ ๋ˆ„๋ฝ TEST1 ํ…Œ์ด๋ธ”์˜ ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ALTER ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฐธ์กฐํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ORA-00907 ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋ถ„๋ช… ์ด์ƒ ์—†์ด ์ž‘์„ฑํ•œ๊ฒƒ ๊ฐ™์•˜๋Š”๋ฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ฟผ๋ฆฌ๋ฌธ์„ ์žฌ์ฐจ ๋‹ค์‹œ ํ™•์ธํ•ด๋ณด์•˜๋‹ค. (....!) ์ž์„ธํžˆ ํ™•์ธํ•ด๋ณด๋‹ˆ ์ฟผ๋ฆฌ๋ฌธ์—์„œ ๊ด„ํ˜ธ 1๊ฐœ๋ฅผ ๋น ๋œจ๋ ค์„œ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์˜€๋‹ค. ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ ์ฝค๋งˆ(,), ๊ด„ํ˜ธ((,)) ๋“ฑ์„ ์ •ํ™•ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ, ์ฟผ๋ฆฌ๋ฌธ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ™•์ธ ํ›„์— ์ž‘์„ฑํ•ด์ค€๋‹ค. [๋ฌธ์ œ๊ฐ€ ๋ฌ๋˜ ์ฟผ๋ฆฌ๋ฌธ] ALTER TABLE TEST1 ADD (Constraint fk_test1 Foreign Key(BO_NO11) REFERENCES DRAGDROP(BO_NO) [์ˆ˜์ •๋˜์–ด ์ •์ƒ์ ์ธ ์ฟผ๋ฆฌ๋ฌธ] ALTER TABLE TEST1 ADD (Constraint fk_test.. 2022. 9. 23.
[JSP Error] The Superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path ์ดํด๋ฆฝ์Šค์—์„œ Dynamic Project๋ฅผ ์ƒ์„ฑ ํ›„, JSPํŒŒ์ผ์„ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋‹ค. ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์„๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ƒ์„ฑ๋œ JSPํŒŒ์ผ์„ ์—ด์–ด๋ณด์•˜๋Š”๋ฐ ๋งจ ์ƒ๋‹จ ์œ„ 1๋ฒˆ์งธ์ค„๋ถ€ํ„ฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. 2์ดˆ ๋‹นํ™ฉํ–ˆ์ง€๋งŒ ์ด๋‚ด ์–ด๋–ค ๋ฌธ์ œ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. JSP ํŒŒ์ผ์„ ์ƒ์„ฑํ• ๋•Œ ํ•ด๋‹น JSPํŒŒ์ผ์„ ์–ด๋–ค ์ปจํ…Œ์ด๋„ˆ๋กœ ๊ฐ€๋™ํ• ์ง€์— ๋Œ€ํ•œ Runtime ์„ค์ •๋ถ€๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š๊ณ  ๋„˜์–ด์˜ค๋Š” ๋ฐ”๋žŒ์— ์„œ๋ธ”๋ฆฟ์„ ์ƒ์œ„ Was์—์„œ ๊ฐ€๋™ํ•  ํ˜•ํƒœ๊ฐ€ ์—†์–ด ๊ฒฝ๋กœ๋ฅผ ๋ชป์ฐพ๋Š” ๋ฌธ์ œ๋‹ค. ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ ํ”„๋กœ์ ํŠธ ์„ค์ •์—์„œ Tomcat์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. (์ด 2๊ฐ€์ง€ ๋ฐฉ์‹ ์ œ์•ˆ) ํ”„๋กœ์ ํŠธ ์„ค์ •์—์„œ Java Build Path๋กœ Apache-Tomcat์ถ”๊ฐ€ํ•˜๊ธฐ 1. [ Project ] > [ Properties ] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. 2. ์„ค์ • ์™ผ์ชฝ ๋ฉ”๋‰ด์˜ Java Bui.. 2022. 8. 29.
[Oracle Error] ORA-00947: not enough values 00947. 0000 - "not enough values", ๊ฐ’์˜ ์ˆ˜๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ORACLE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์ค‘์— ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์ด๋‹ค. ๋‹ค๋ฅธ Insert๊ตฌ๋ฌธ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ๋Š”๋ฐ ํŠน์ • Insert ๊ตฌ๋ฌธ์—๋งŒ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์˜คํƒ€์ด๊ฒ ๊ฑฐ๋‹ˆ ํ™•์ธํ•ด๋ดค์ง€๋งŒ ์˜คํƒ€๋Š” ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์–ด๋””๊ฐ€ ์ž˜ ๋ชป๋ฌ๋Š”์ง€ ํ™•์ธํ•œ๊ฒฐ๊ณผ, Insert ๊ตฌ๋ฌธ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ','๋กœ ๊ตฌ๋ฌธํ•˜์—ฌ ํ•œ์ค„์”ฉ ์‹คํ–‰ํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š” ๊ณผ์ •์—์„œ ๋งจ ๋งˆ์ง€๋ง‰ Insert ๊ตฌ๋ฌธ์— ์ปฌ๋Ÿผ ๋Œ€๋น„ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์ค‘์— ์ปฌ๋Ÿผ๊ณผ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์ด ์ •ํ™•ํ•˜๊ฒŒ ๋งค์นญ๋˜์ง€ ์•Š์•„ ๋ฐœ์ƒํ–ˆ๋˜ ์—๋Ÿฌ์˜€๋‹ค. ์˜คํƒ€๊ฐ€ ์•„๋‹ˆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ปฌ๋Ÿผ์ด 5๊ฐœ๋ฉด ๋ฐ์ดํ„ฐ๋„ 5๊ฐœ๋กœ ๋งค์นญ์„ ํ–ˆ์–ด์•ผํ•˜๋Š”๋ฐ ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„์— 4๊ฐœ๋กœ 1๊ฐœ๋ฅผ ๋น ๋œจ๋ฆฐ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ '๊ฐ’์˜ ์ˆ˜๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.'๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ์ถœ๋ ฅ๋๋‹ค. ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ Insert์‹œ, ์ปฌ๋Ÿผ ๊ฐฏ์ˆ˜์— ๋งž์ถฐ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•ด์•ผํ•˜๋Š”๋ฐ ๋ฐ์ดํ„ฐ ๊ฐฏ์ˆ˜๊ฐ€ ์ปฌ.. 2022. 8. 8.
[Java Error] java.lang.IllegalStateException: Optional int parameter 'bo_no' is present but cannot be translated into a null value due to being declared as a primitive type. ์—๋Ÿฌ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• Rest Api ํ†ต์‹ ์ค‘, ์„œ๋ฒ„๋กœ int bo_no ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ ์š”์ฒญ๋„ ์•ˆ์˜ค๊ณ  ๊ทธ๋ƒฅ 500์—๋Ÿฌ๋งŒ ์ถœ๋ ฅํ•˜๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์—๋Ÿฌ๋กœ๊ทธ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. java.lang.IllegalStateException: Optional int parameter 'bo_no' is present but cannot be translated into a null value due to being declared as a primitive type. [ ๊ตฌ๊ธ€ ๋ฒˆ์—ญ ] ๊ตฌ๊ธ€ ๋ฒˆ์—ญ์„ ํ•ด๋ณด๋‹ˆ, bo_no๊ฐ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์†์„ฑ์œผ๋กœ ๋„˜์–ด์˜ค์ง€๋งŒ, ๊ฐ’์ด ์—†์–ด null์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ ค๊ณ  ํ–ˆ์œผ๋‚˜ int๋ผ null ๋ณ€ํ™˜์ด ์•ˆ๋œ๋‹ค๋Š” ์—๋Ÿฌ๋‹ค. ์„ ํƒ์  int ๋งค๊ฐœ๋ณ€์ˆ˜ 'bo_no'๊ฐ€ ์žˆ์ง€๋งŒ ๊ธฐ๋ณธ ์œ ํ˜•์œผ๋กœ ์„ ์–ธ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— nul.. 2021. 12. 29.
[C# Error] CS0163 ํ•œ case ๋ ˆ์ด๋ธ”('')์—์„œ ๋‹ค๋ฅธ case ๋ ˆ์ด๋ธ”๋กœ ์ œ์–ด๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์—…๋ฌด ์ค‘, CS0163 Error๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. case ๋ ˆ์ด๋ธ”์ด๋ผ๋Š” ๋ถ€๋ถ„ ๋‚˜์˜ค์ž๋งˆ์ž switch case ๋ถ€๋ถ„์—์„œ ์˜คํƒ€๋‚˜ ๊ตฌ๋ฌธ์—๋Ÿฌ๊ฐ€ ์žˆ์„๊ฒƒ ๊ฐ™์•„ ํ™•์ธํ•ด๋ณธ ๊ฒฐ๊ณผ ์˜คํƒ€๋Š” ์•„๋‹ˆ์—ˆ๊ณ  ํŠน์ • case๋ฌธ์— break;๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์ง€ ์•Š์•„ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์˜€๋‹ค. switch (index) { case A.aaa: break; case B.bbb: break;// break;๋ฌธ ๋ˆ„๋ฝ ์‹œ, CS0163 Error๋ฐœ์ƒ default: break; } ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ํŠน์ • case๋ฌธ ์•ˆ์— ๋ˆ„๋ฝ๋œ break;๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๋‹ˆ ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค. 2021. 7. 1.
[JAVA] ์ž๋ฐ”์—๋Ÿฌ์™€ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ์ž๋ฐ”๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋ฉด ๋งŽ์€ ์—๋Ÿฌ๋“ค์„ ๋งŒ๋‚œ๋‹ค. ์—๋Ÿฌ๋“ค์„ ๋งŒ๋‚ฌ์„ ๋•Œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์•Œ๊ฑฐ๋‚˜ ์–ด๋”” ๋ถ€๋ถ„์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋Š”์ง€ ์•Œ๊ณ  ์žˆ์–ด ๋ฐ”๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ๋„ ํ•˜์ง€๋งŒ ์–ด๋–ค ์—๋Ÿฌ์ธ์ง€ ์–ด๋””์„œ ๋‚œ ์—๋Ÿฌ์ธ์ง€ ๋„ํ†ต ๋ชฐ๋ผ์„œ ์ฐพ๊ณ  ๋˜ ์ฐพ๋‹ค๊ฐ€ ๊ฒฐ๊ตญ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋‹ค์‹œ ๊ฒ€์ƒ‰ํ•ด์„œ ํ•ด๊ฒฐํ• ๋•Œ๊ฐ€ ์—ฌ๋Ÿฟ ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์—๋Ÿฌ๋Š” ์ž‘์€ ์‹ค์ˆ˜์—์„œ ๋น„๋กฏ๋œ ๊ฒƒ๋“ค์ด๋ฉฐ, ๊ณง ์ต์ˆ™ํ•ด์ ธ์„œ ์‰ฝ๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์ง€๋งŒ ์ฒ˜์Œ ๋ฐฐ์šธ ๋•Œ๋Š” ์ž‘์€ ์‹ค์ˆ˜ ํ•˜๋‚˜ ๋•Œ๋ฌธ์— ๋งŽ์€ ์‹œ๊ฐ„์„ ํ—ˆ๋น„ํ•˜๊ณค ํ•œ๋‹ค. 1. ์„ธ๋ฏธ์ฝœ๋ก ์„ ๋ˆ„๋ฝํ–ˆ์„๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ';' expected ์„ธ๋ฏธ์ฝœ๋ก  ';'์ด ์ฝ”๋“œ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„๋งˆ๋‹ค ๋ถ™์—ฌ์ฃผ์—ˆ์–ด์•ผ ํ•˜๋Š”๋ฐ, ๊ทธ๋ ‡์ง€ ๋ชปํ–ˆ์„๋•Œ ๋ฐœ์ƒํ•œ๋‹ค. ์ž๋ฐ”์˜ ๋ชจ๋“  ๋ฌธ์žฅ์˜ ๋์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก (';')์„ ๋ถ™์—ฌ์ฃผ์–ด์•ผ ํ•˜๋Š”๋ฐ ๊ฐ€๋” ์ด๋ฅผ ์žŠ๊ณ  ์‹ค์ˆ˜ํ•˜๊ธฐ ์‰ฝ๋‹ค. 2. main๋ฉ”์„œ๋“œ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์„๋•Œ .. 2020. 4. 22.