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

์ „์ฒด ๊ธ€49

[Book] ์†Œํ”„ํŠธ์›จ์–ด ์žฅ์ธ 3๋…„์ „์— ๋นŒ๋ฆฐ ์ฑ…์ด์—ˆ๋Š”๋ฐ ์ด์ œ์„œ์•ผ ์ฝ์—ˆ๋‹ค. ์ข‹์€ ๊ฐœ๋ฐœ์ž? ๊ทธ ์ด์ƒ์ด ๋˜๊ธฐ ์œ„ํ•ด์„œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š”๊ฐ€ ์„ค๋ช…์„ ํ•ด์ฃผ๋Š” ์ฑ…์ด์—ˆ๋Š”๋ฐ 2011๋…„ ์ฑ…์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์š”์ฆ˜์˜ ๋‚˜, ๋‚ด ํšŒ์‚ฌ, ๋‚ด ์นญ๊ตฌ๋“ค, ํŒ€์žฅ๋‹˜์— ๋Œ€์ž…๋˜๋ฉฐ ์˜›๋‚  ์ฑ…์ด๋ผ๋Š” ์ด์งˆ๊ฐ ์—†์ด ์ž˜ ์ฝํ˜”๋‹ค. ์ข‹์€๊ฑด์ง„ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋ฐœ์ „์— ํ•œ์ฐธ ๋ชป ๋ฏธ์นœ๋‹ค๋Š” ์˜๋ฏธ์ธ์ง€ ์•„๋‹˜ ๊ทธ๋•Œ๋‚˜ ์ง€๊ธˆ์ด๋‚˜ ๊ณ ๋ฏผํ•˜๋Š” ํฌ์ธํŠธ๋Š” ๋‹ค ๋˜‘๊ฐ™๋‹ค๋Š” ๊ฑด์ง€ ์ƒ๊ฐ.. ๊ทธ์น˜๋งŒ ํ™•์‹คํ•œ๊ฑด ์†”์งํžˆ 3๋…„์ „์— ์ฝ์—ˆ๋‹ค๋ฉด ์ด์ •๋„๊นŒ์ง€๋Š” ๊ณต๊ฐ ๋ชปํ–ˆ์„ ๊ฑฐ ๊ฐ™๋‹ค. ์ž˜๋ฏธ๋ค˜๋‹ค ใ…‹ใ…‹ ์ข‹๊ณ  ๊ณต๊ฐ๋˜๋Š” ๋‚ด์šฉ์ด ๋งŽ์•„ ๋”ฐ๋กœ ์ ์–ด ๋†จ์œผ๋‚˜ ๊ณต๊ฐœ์ ์œผ๋กœ ์“ฐ๊ธด ์ข€ ๊ทธ๋ž˜์„œ ์–˜๋Š” ๋”ฐ๋กœ ๋‘๊ณ ๋‘๊ณ  ์ฝ์–ด์•ผ๊ฒ ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์• ์ž์ผ์˜ ์žฅ์ , ๊ทธ์น˜๋งŒ ์• ์ž์ผ๋งŒ์œผ๋ก  ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š”๋‹ค, ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋ ค๋ฉด, ์ผํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ์ค‘์š”ํ•˜๊ฒŒ ๋‘์–ด์•ผํ•  ๊ฒƒ๋“ค, ๊ธฐ์ˆ  ๋ถ€์ฑ„ ํ•ด๊ฒฐ์„ ์œ„.. 2022. 4. 17.
OOM์˜ ์›์ธ๊ณผ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ OOM ๋ฐœ์ƒ ์‹œํ‚ค๊ธฐ outofmemory๊ฐ€ ๋‚˜๋Š” ์ด์œ  ์„ค์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€๋น„ ์š”์ฒญ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜ํƒ€๋‚˜๋Š” JVM์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ์„ค์ •์˜ ์˜ค๋ฅ˜๋‚˜ ์‚ฌ์šฉ๋Ÿ‰ ์ดˆ๊ณผ๋กœ ์ธํ•ด jdk 5 ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” jdk hotspot ๋ฒ„๊ทธ๋กœ ์ธํ•ด oom์ด ๋‚ฌ๋˜ ๊ฒฝ์šฐ๋„ ์žˆ์—ˆ์Œ oom ์˜ˆ์‹œ Application์˜ oom(์ˆœ๊ฐ„์ ) ๊ณผ๋„ํ•œ ๋ฐ์ดํ„ฐ ์กฐํšŒ(100๋งŒ๊ฑด 200๋งŒ๊ฑด์”ฉ ์กฐํšŒํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ๋“ค๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ, ์—…๋กœ๋“œ ํŒŒ์ผ์„ ํ›„์ฒ˜๋ฆฌ ํ•˜๊ธฐ๋กœ ํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ์— ๋“ค๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ) ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ ์กฐ์ž‘(string) ์žฅ์‹œ๊ฐ„์— ๊ฑธ์ณ์„œ ์„œ์„œํžˆ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žฅ์‹๋˜๋Š” ๊ฒฝ์šฐ(memory leak) Cache(์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์“ฐ๋ ˆ๋“œ๊ฐ€ ๊ณต์œ ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ) leak Pool(๋ฐฐํƒ€์ ์œผ๋กœ ์‚ฌ์šฉํ•  ๋•Œ) leak (oom ๊ฐ€๊ธฐ ์ด์ „์— ํ’€ ๋ถ€์กฑ์œผ๋กœ 2์ฐจ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ์Œ.. 2022. 4. 16.
[Spring] boot์—์„œ Spring ๋ฒ„์ „ ํ™•์ธ Spring Boot ์‚ฌ์šฉ์ค‘์ธ๋ฐ Spring ๋ฒ„์ „ ์•Œ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ, boot ๋ฒ„์ „์ด์•ผ pomํŒŒ์ผ์ด๋‚˜ ๋‹ค๋ฅธ ์„ค์ • ํŒŒ์ผ์— ์žˆ๋Š”๋ฐ ์Šคํ”„๋ง ๋ฒ„์ „์€ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค. SpringBootVersion, SpringVersion ์‚ฌ์šฉ import org.springframework.boot.SpringBootVersion; import org.springframework.core.SpringVersion; ... String springVersion = SpringVersion.getVersion(); String bootVersion = SpringBootVersion.getVersion(); ... 2022. 3. 30.
[GIT] Reset ๋ช…๋ น์–ด git reset –hard b1f78bc ๋‹ค ๋‚ ๋ ค๋ฒ„๋ฆผ git reset –soft b1f78bc ์ž‘์—… ์ด๋ ฅ ๋‹ค ๋ณด์กด ๋ฐ stage์— ๊ณ ๋Œ€๋กœ ์žˆ์Œ git reset –mixed b1f78bc (default) ์ž‘์—… ์ด๋ ฅ ๋ณด์กด์ด๋‚˜ ์ปค๋ฐ‹์„ ์œ„ํ•ด ๋‹ค์‹œ ์ง€์ •ํ•ด์•ผํ•จ git reset HEAD~1 : ํ˜„์žฌ๋ถ€ํ„ฐ 1๊ฐœ ์ „ 2022. 3. 29.
[JAVA] String ์ค‘๋ณต์ œ๊ฑฐ Stream String str = "asdgaassdf"; - ๋ฌธ์ž์—ด์„ Character[]์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผํ•จ char[] -> Chcaracter[]๋ณด๋‹ค string -> Character[]์ด ๋” ๊ฐ„๋‹จํ•œ๊ฑฐ ๊ฐ™์€ ์ด์œ ๋Š” ๋ญ˜๊นŒ Character[] charObjectArray = str.chars().mapToObj(c -> (char)c).toArray(Character[]::new); - ์ค‘๋ณต ์ œ๊ฑฐ Stream characterStream = Arrays.stream(charObjectArray).distinct(); - String์œผ๋กœ ๋ฆฌํ„ด String result2 = characterStream.map(String::valueOf).collect(Collectors.joining()); - ํ•œ๋ฐฉ์— ํ•ฉ์น˜๋ฉด? .. 2022. 3. 22.
[JAVA] Case Format ๋ณ€๊ฒฝ (UPPER_CAMEL, LOWER_HYPEN...) google guava ์‚ฌ์šฉ google CaseFormat import import com.google.common.base.CaseFormat; ์›ํ•˜๋Š” ํฌ๋งท์œผ๋กœ ๋ณ€๊ฒฝ String upperCamelVndr = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, "text_test"); //TextTest ํฌ๋งท ์ข…๋ฅ˜ //CaseFormat enum ๊ฐ€๋ณด๋ฉด ์ž์„ธํ•˜๊ฒŒ ํ™•์ธ ๊ฐ€๋Šฅ LOWER_HYPHEN(CharMatcher.is('-'), "-") { String normalizeWord(String word) { return Ascii.toLowerCase(word); } String convert(CaseFormat format, String s) { if (for.. 2022. 3. 22.
[JAVA] ๋Œ€๋ฌธ์ž ์•ž์— ๊ณต๋ฐฑ ์ถ”๊ฐ€ String originText = "CocoHiByeHaha331"; String CapitalSpaceText = text.replaceAll("\\d+", "").replaceAll("(.)([A-Z])", "$1 $2"); -> Coco Hi Bye Haha ์ˆซ์ž ์ œ๊ฑฐ ํ›„ ๋Œ€๋ฌธ์ž ์•ž์— ๋„์–ด์“ฐ๊ธฐ ์ถ”๊ฐ€ 2022. 3. 22.
[GIT] Clone์œผ๋กœ ์‹ ๊ทœ ์ƒ์„ฑ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™” 1. Clone ๋œฌ ํ”Œ์  ์›๊ฒฉ ๋Š๊ธฐ git remote -v git remote remove origin 2. ์›๊ฒฉ ๋Š์–ด์ฃผ๊ณ  ๋‚œ ๋’ค rm -rf .git git init git add . git commit -m "initial commit" 3. BitBucket๊ฐ€์„œ ์ƒˆ๋กœ์šด Repository ์ƒ์„ฑ 4. Git ์ €์žฅ์†Œ ์—ฐ๊ฒฐ ํ›„ ๊ฐ•์ œ push git remote add origin {git remote url} git push -u --force origin master 2022. 3. 20.
[AWS] Aurora RDS MySQL 5.7 to 8.0 - RDS ์Šค๋ƒ…์ƒท ์ƒ์„ฑ ๋ฐ ๋ณต์› ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰ - ์‚ฌ์ „ ์ค€๋น„ MySQL Connector Version Up 8.0.x ์ดํ›„๋กœ ์˜ฌ๋ ค์ค˜๋„ ๋˜๋‚˜, ์•„์ง ์‚ฌ์ด๋“œ ์ดํŽ™์„ ํ™•์ธ ๋ชปํ•ด ์šฐ์„ ์€ 5.1.49๊นŒ์ง€๋งŒ ์˜ฌ๋ ค ๋†“์•˜๋‹ค. dependency mysql mysql-connector-java 5.1.49 useSSL=false ์˜ต์…˜ ์ถ”๊ฐ€ 31์—๋Š” ์ด์Šˆ๊ฐ€ ์—†์—ˆ์œผ๋‚˜, 5.1.49๋กœ ์ปค๋„ฅํ„ฐ ๋ฒ„์ „์„ ์˜ฌ๋ฆฌ๊ณ ๋Š” ์ฝ”๋“œ ๋‚ด DB Property ์„ค์ • ์‹œ useSSL=false ์˜ต์…˜์„ ์•ˆ์ฃผ๋ฉด ์„œ๋น„์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์•„ ํ•„์ˆ˜์ ์œผ๋กœ ํ•ด๋‹น ์˜ต์…˜์„ ์ถ”๊ฐ€ ํ–ˆ๋‹ค. ํ˜น์‹œ mariadb connector๊ฐ€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค๋ฉด mysql connector๋กœ ๋ณ€๊ฒฝ ํ›„ ์ œ๊ฑฐ pom ๋“ฑ ์„ค์ • ํŒŒ์ผ์— database connector๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์„ ๊ฒฝ.. 2022. 3. 15.