๐Ÿ‘จ‍๐Ÿ’ป kimtongting
article thumbnail
[Java] ์ •๊ทœ ํ‘œํ˜„์‹ / ์ •๊ทœ์‹

์ •๊ทœ ํ‘œํ˜„์‹(๋ณด์กฐ์ œ๋ชฉ * ์–ธ์ œ ์“ฐ์ด๋Š”๊ฐ€? ๐Ÿ“๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด, ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ์œ„ํ•ด ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ˆซ์ž๋งŒ ์ž…๋ ฅ, ์˜๋ฌธ์ž๋งŒ ์ž…๋ ฅ, ์—ฐ๋ฝ์ฒ˜์— '-' ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ž…๋ ฅ ๋“ฑ๋“ฑ.. ์ œํ•œ์„ ๋‘๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ด์— ์ž์ฃผ ์“ฐ์ด๋Š” ํ‘œํ˜„์‹์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘์–ด ๊ณต์œ ํ•˜๊ณ ์ž ํ•œ๋‹ค. ์ •๊ทœ ํ‘œํ˜„์‹ ์„ค๋ช… ^[0-9]*$ ์ˆซ์ž ^[a-zA-Z]*$ ์˜๋ฌธ์ž ^[๊ฐ€-ํžฃ]*$ ํ•œ๊ธ€ \\w+@\\w+\\.\\w+(\\.\\w+)? E-Mail ^\d{2,3}-\d{3,4}-\d{4}$ ์ „ํ™”๋ฒˆํ˜ธ ^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$ ํœด๋Œ€์ „ํ™”๋ฒˆํ˜ธ \d{6} \- [1-4]\d{6} ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ^\d{3}-\d{2}$ ์šฐํŽธ๋ฒˆํ˜ธ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. #์—ฐ๋ฝ์ฒ˜ ์ƒ˜ํ”Œ @Pattern(reg..

article thumbnail
[Spring] @SuppressWarnings ์‚ฌ์šฉ๋ฐฉ๋ฒ•

@SuppressWarnings 1. ์–ธ์ œ ์“ฐ์ผ๊นŒ? ๐Ÿ“IDE๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ์ปดํŒŒ์ผ ๊ฒฝ๊ณ ๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ๋˜๋Š” ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ๋“ฑ์˜ ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•œ๋‹ค. @SuppressWarnings๋Š” ์ด๋Ÿฐ ๊ฒฝ๊ณ ๋ฅผ ์ œ์™ธํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๐Ÿ‘จ‍๐Ÿ’ป๐Ÿ’ปโŒจ all : ๋ชจ๋“  ๊ฒฝ๊ณ  cast : ์บ์ŠคํŠธ ์—ฐ์‚ฐ์ž ๊ด€๋ จ ๊ฒฝ๊ณ  dep-ann : ์‚ฌ์šฉํ•˜์ง€ ๋ง์•„์•ผ ํ•  ์ฃผ์„ ๊ด€๋ จ ๊ฒฝ๊ณ  deprecation : ์‚ฌ์šฉํ•˜์ง€ ๋ง์•„์•ผ ํ• (๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ) ๋ฉ”์„œ๋“œ ๊ด€๋ จ ๊ฒฝ๊ณ  fallthrough : switch ๋ฌธ์—์„œ break ๋ˆ„๋ฝ ๊ด€๋ จ ๊ฒฝ๊ณ  finally : ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” finally ๋ธ”๋ก ๊ด€๋ จ ๊ฒฝ๊ณ  null : null ๋ถ„์„ ๊ด€๋ จ ๊ฒฝ๊ณ  rawtypes : ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ๋ถˆ..

article thumbnail
[Spring] Spring Boot Logback / ์Šคํ”„๋ง ๋กœ๊ทธ ์„ค์ •

๐Ÿ“”Springboot ์— Logback ์ ์šฉํ•˜๊ธฐ ๐Ÿ“„์‹œ์ž‘ ๊ณ„๊ธฐ? ์šฐ๋ฆฌ ํŒ€ ์—…๋ฌด์˜ ํŽธ์˜์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์ ์‹ฌ ์‹œ๊ฐ„์— ๊ฐ€๋ณ๊ฒŒ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ(๋“ฑ๋ก ์ž๋ฃŒ ์ž๋™ ๊ฒ€์ˆ˜, ์šด์˜ ํ”„๋กœ์„ธ์Šค ์ด์ƒ ์œ ๋ฌด ์ฒดํฌ, RM ๋ฐœ์†ก ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ํƒ‘์žฌํ•œ ์ž๋™ ๋ฐฐ์น˜ ์‹œ์Šคํ…œ)๋ฅผ ํŒ€์—์„œ ๊ฒฉํ•˜๊ฒŒ ํ™˜์˜ํ•ด์ฃผ์–ด ๊ฐœ๋ฐœ๊ณ„์—์„œ ์Šคํ…Œ์ด์ง•์œผ๋กœ ์˜ฎ๊ธฐ๊ธฐ๋กœ ํ–ˆ๋‹ค ใ…Žใ…Ž ๋ฐฐ์น˜ ํ”„๋กœ์„ธ์Šค์ด๋‹ค ๋ณด๋‹ˆ Scheduled ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ํ”„๋กœ์ ํŠธ๋‹ค. Linux OS ์—์„œ jar๋กœ ๊ฐ€๋ณ๊ฒŒ ๊ตฌ๋™ํ•  ๊ณ„ํš์ด์—ˆ๊ณ , ๊ธฐ์กด์—๋Š” Tomcat์— war๋กœ ๋นŒ๋“œํ•ด์„œ lombok์˜ ๋กœ๊ทธ๋ฅผ ์ฐ์—ˆ์—ˆ๋‹ค. ์ด์ œ๋Š” ๋ณ„๋„ Log ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•  ์˜ˆ์ • ์ด๊ธฐ์— ๋กœ๊ทธ ๊ฒฝ๋กœ๋Š” ๋”ฐ๋กœ ์žก์•„์ฃผ์–ด์•ผ ํ–ˆ๋‹ค. ๐Ÿ“logback-spring.xml ๊ฐ์‚ฌํ•˜๊ฒŒ๋„ SpringBoot ์—์„œ๋Š” ํŒŒ์ผ ๋ช…์นญ๋งŒ์œผ๋กœ ์ž๋™์œผ๋กœ ์ธ์‹ํ•ด์ฃผ๋Š” ..

article thumbnail
[Spring Property / Spring Scheduler] ์Šคํ”„๋ง ํ”„๋กœํผํ‹ฐ ์ ์šฉ / ์Šค์ผ€์ค„๋Ÿฌ / Spring Scheduler

์„œ์‹ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ, ๊ฐ€๋ณ€์˜ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์ •๋ณด๋Š” ๋ชจ๋‘ properties์— ๋„ฃ๋Š”๋‹ค. ํ•„์ž์˜ ๊ฒฝ์šฐ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ์ˆœ์„œ์ธ 'DEV' -> 'STAGE' -> 'PROD' ์—์„œ 'STAGE' -> 'DEV' ๋กœ ๋‚ด๋ฆฌ๊ฑฐ๋‚˜, 'PROD' ๋‹จ๊ณ„์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์— ์ฃผ๋กœ ์“ฐ๊ณ  ์žˆ๋‹ค. config.flag.type ์— 'D', 'S', 'P' ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ config.flag.type์ด 'D' ์ผ ๊ฒฝ์šฐ, DEV ์„œ๋ฒ„๋กœ ๋“ฑ๋กํ•œ config๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ๋ญ ๊ทธ๋Ÿฐ์‹์ด๋‹ค. ์„œ๋ฒ„๋ฅผ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ์ด ํŒŒ์ผ๋งŒ์„ ์ˆ˜์ •ํ•จ์œผ๋กœ์จ ํ”„๋กœ์ ํŠธ์˜ ์„ค์ • ๊ฐ’๋“ค์„ ํ•ธ๋“ค๋ง ํ•œ๋‹ค๋Š” ์ ์—์„œ ๊ต‰์žฅํžˆ ์œ ์šฉํ•˜๋‹ค. ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค Spring ๊ตฌ์กฐ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ–ˆ๋‹ค๋ฉด ๊ต‰์žฅํžˆ ์‹ฌํ”Œํ•˜๋‹ค. ์ด๋ฏธ classpath:resources/application.pr..

article thumbnail
[Java] Gmail ์„ ์ด์šฉํ•œ SMTP ๋ฉ”์ผ ์ „์†ก

SMTP(Simple Mail Transfer Protocol) * SMTP๋ž€? ๐Ÿ“Simple Mail Transfer Protocol์˜ ์•ฝ์ž๋กœ ์ „์ž ๋ฉ”์ผ ์ „์†ก์„ ์œ„ํ•œ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. (์ด๋ฉ”์ผ์„ ์†ก์ˆ˜์‹ ํ•˜๋Š” ์„œ๋ฒ„๋ฅผ SMTP ์„œ๋ฒ„๋ผ๊ณ  ํ•œ๋‹ค) * ์ž‘๋™๋ฐฉ์‹์€? ์ด๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ์™€ ๋ฉ”์ผ ์„œ๋ฒ„ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฑฐ์ณ ๋™์ž‘ํ•œ๋‹ค. SMTP ์—ฐ๊ฒฐ: ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ TCP ์—ฐ๊ฒฐ๋กœ ์ด๋ฉ”์ผ ์ „์†ก ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ ์ด๋ฉ”์ผ ๋ฐ์ดํ„ฐ ์ „์†ก: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด๋ฉ”์ผ ํ—ค๋”(๋Œ€์ƒ ๋ฐ ์ œ๋ชฉ ์ค„ ํฌํ•จ), ์ด๋ฉ”์ผ ๋ณธ๋ฌธ, ๊ธฐํƒ€ ์ถ”๊ฐ€ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ง„ ์‹ค์ œ ์ด๋ฉ”์ผ ์ฝ˜ํ…์ธ ์™€ ํ•จ๊ป˜ ์ผ๋ จ์˜ ๋ช…๋ น์„ ์„œ๋ฒ„์— ๋ณด๋ƒ„ ๋ฉ”์ผ ์ „์†ก ์—์ด์ „ํŠธ(MTA): MTA๋Š” ์ˆ˜์‹ ์ž์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ ๋„๋ฉ”์ธ์„ ํ™•์ธํ•˜๊ณ  ๋ฐœ์‹ ์ž์™€ ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์ˆ˜์‹ ์ž์˜ IP์ฃผ์†Œ๋ฅผ ์ฐพ๋„๋ก ..

article thumbnail
java๋กœ smtp ๋ฉ”์ผ๋ณด๋‚ด๊ธฐ(feat.gmail)

๐Ÿ“”SMTP For Gmail ๐Ÿ“„Gmail ๋ฒ„์ „ ๐Ÿ“Batch ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋˜ ์ค‘, ํŠน์ • ์•Œ๋žŒ์„ ๋ฐ›๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒผ๋‹ค. Batch ์‹œ์ž‘๊ณผ ์™„๋ฃŒ ์‹œ์ ์ด๋ผ๋˜์ง€, Schedule ์— ๋”ฐ๋ฅธ ๋ฐ์ดํ„ฐ ํ™•์ธ์ด๋ผ๋˜์ง€.. ๊ทธ๋Ÿฐ ์ˆœ๊ฐ„์„ ์œ„ํ•ด SMTP Library ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์‹ฌํ”Œํ•˜๊ฒŒ ๊ตฌ์ถ•ํ•ด๋ดค๋‹ค. ์—ฌ๊ธฐ์—์„œ ํ™•์žฅ์„ฑ์„ ์—ผ๋‘์— ๋‘๊ณ  ์ถ”๊ฐ€ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด ๋”์šฑ ๋ฉ‹์ง„ ์ฝ”๋“œ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ์•„๋ž˜๋Š” ๋”ฐ๋กœ ๊ตฌํ˜„ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์ด๋‹ค. * ์ˆ˜์‹ ์ž๋ฅผ ๊ณ ์ •ํ•˜๋„๋ก * ํ•„์ˆ˜ ์ฐธ์กฐ๋กœ ๋‚˜๋ฅผ ๊ณ ์ •ํ•˜๋„๋ก * ํŒ€ ๋ฉ”์ผ์„ ์ž๋™ ์ƒ์„ฑํ•˜๋„๋ก * ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ๋ฉ”์ผ ๋‚ด์šฉ์ด ๋‹ค๋ฅด๊ฒŒ ์ „์†ก๋˜๋„๋ก * ํŠน์ • ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด์„œ๋„ ๋ฉ”์ผ์ด ์ „์†ก๋˜๋„๋ก ๐Ÿ‘จ‍๐Ÿ’ป๐Ÿ’ปโŒจ package smtp; import java.util.ArrayList; import java.util.List; impor..

java ๋น„๋ฐ€๋ฒˆํ˜ธ ๋žœ๋ค / ์ž๋ฐ” ๋น„๋ฐ€๋ฒˆํ˜ธ ๋žœ๋ค

์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๋งŒํผ์˜ ๋žœ๋ค ๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ ์š”์ฒญ์‚ฌํ•ญ์— ์˜ํ•ด, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ดˆ๊ธฐํ™” ์‹œ ๋žœ๋ค ๊ฐ’์œผ๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ƒ์„ฑํ•ด๋‹ฌ๋ผ๊ณ  ํ•˜์˜€๋‹ค. ์ˆซ์ž, ์˜ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ์„ž์–ด์„œ ํŠน์ • ์ž๋ฆฟ ์ˆ˜๋กœ ๋ง์ด๋‹ค. ์ผ๋‹จ์€ ์š”๊ตฌ์กฐ๊ฑด์— ๋งž๊ฒŒ๋” ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰ํ•˜์˜€๋‹ค. private static String getRandomPassword(int passwordLength) { char[] pwdcharSet = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', 'A', 'B', 'C', 'D', 'E', ..

ajax ์†Œ์†์œผ๋กœ ์กฐ์ง ๊ฐ€์ ธ์˜ค๊ธฐ.

*์†Œ์†์„ ํ†ตํ•ด ํ•ด๋‹น ์†Œ์†์˜ ๊ฐ€๋งน์  ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค์ž. java - controller //๊ฐ€๋งน์  ๋ชฉ๋ก @RequestMapping(value = "/aJaxUserOrgList.do", method = RequestMethod.GET) public void aJaxUserOrgList(HttpSession session, HttpServletRequest request, HttpServletResponse response) { //Controller์—์„œ ๋ฐ”๋กœ write๋ฅผ ํ•ด์ค„ ์˜ˆ์ •์ด๊ธฐ์— ๋ฐ˜ํ™˜ํ˜•์€ void. ๋•Œ์— ๋”ฐ๋ผ ์ˆ˜์ • //Log4j2.logger.info(Log4j2.log + getClass + Util.getMethodName()); //javascript์—์„œ ํ˜ธ์ถœํ•œ Parameter. String..