๐ฑ CS Study/์๋ฐ \ ์คํ๋ง5 ๋ก๊ทธ ๋ ๋ฒจ Goal 1. ๋ก๊ทธ ๋ ๋ฒจ ์ค๋ช ํ๊ธฐ 2. ๋ก๊ทธ ๋ ๋ฒจ ์์์ ์ ์ ์์๋ณด๊ธฐ ๋ก๊ทธ ๋ ๋ฒจ (Log level)์ด๋? ๊ฐ๋ฐ์๋ค์ด ๊ฐ๋ฐ ๋จ๊ณ์์ ์ฝ๋ ์คํ์ ์ด๋์ ์ด๋ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์ง ํ์ธํ๊ธฐ ์ํ ๊ธฐ๋ก(๋ก๊ทธ)์ ์ผ๋ง๋ ์์ธํ๊ฒ ํ์ธํ๊ณ ์ถ์์ง ๋ฏธ๋ฆฌ ์ค์ ํ ์ ์๋ค. ๊ทธ๊ฒ์ด Logger ํด๋์ค์์ ์ค์ ํ๋ ๋ก๊ทธ ๋ ๋ฒจ์ด๋ค. ์ด๋ฏธ Logger ํด๋์ค์์ ์ ํด์ง ๋ก๊ทธ ๋ ๋ฒจ์ ์ฌ์ฉํด๋ ๋๊ณ ๊ฐ๋ฐ์๊ฐ ์ํ๋ ๋ ๋ฒจ์ ์ง์ ์ ์ํ ์๋ ์๋ค. ๋ก๊ทธ ๋ ๋ฒจ ์์์ ์ ์ ๋ก๊ทธ ๋ ๋ฒจ์ ์ฌ๊ฐํ ์ ๋์ ๋ฐ๋ผ ๋ ๋ฒจ ๋จ์๋ก ๋๋์ด์ ธ ์๋ค. ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF ๊ธฐ๋ณธ ๋ ๋ฒจ์ DEBUG์ด๋ค. ๋ ๋ฒจ Log4j Logback ์ ์ ALL โ โ ๋ชจ๋ ๋ ๋ฒจ์ ๋ก๊ทธ๊ฐ ํ.. 2023. 3. 5. Spring Security๋? Goal 1. Spring Security๊ฐ ๋ฌด์์ธ์ง ์์๋ณด๊ธฐ 2. ์ธ์ฆ๊ณผ ์ธ๊ฐ์ ์ฐจ์ด ์ดํด๋ณด๊ธฐ Spring Security๋? ์ธ์ฆ(authentication)๊ณผ ์ธ๊ฐ(authorization) ์ ๊ณต ๋ฐ ๊ถํ ์ ์ด์ ํ์ํ ํํฐ์ ๋ชจ์์ด๋ฉฐ ํ์ ๊ด๋ฆฌ๋ฅผ ํ๊ธฐ ์ํด์ ํ์์ด๋ค ์ธ๋ถ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ์ฌ๋ฌ๊ฐ์ง ๋ณดํธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์คํ๋ง์ ํ๋ ์์ํฌ์ด๋ค ์๋ธ๋ฆฟ ํํฐ ์ฒด์ธ์ ๊ตฌ์ฑํ๋๋ฐ ํํฐ ์ฒด์ธ์ด๋ ์ฌ๋ฌ๊ฐ์ ํํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์ฉํ๋ ๊ฒ์ด๋ค ์ธ์ฆ vs. ์ธ๊ฐ ์ฉ์ด ๋ป ๊ด๋ จ ์ธํฐํ์ด์ค/ํด๋์ค ์ธ์ฆ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ ๋ณด์ DB์ ์๋ ์ ๋ณด๋ฅผ ๋น๊ตํด์ ์ ์์ ํ์ธํ๋ ๊ณผ์ AuthenticationManager (์ด๊ฑธ ์ค์ ํด์ค์ผํจ), Authentication ์ธ๊ฐ ์ธ์ฆ์ ํตํด ์ฌ์ฉ์๊ฐ ๊ฐ์ง ๊ถํ์ด ํ์ธ๋ ํ ํด๋น ์ฌ์ฉ.. 2023. 3. 1. ์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ์ ์ฐจ์ด Goal 1. ์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ์ ์ฐจ์ด์ ์ค๋ช ํ๊ธฐ ์ค๋ฒ๋ก๋ฉ vs. ์ค๋ฒ๋ผ์ด๋ฉ ์ฐจ์ด์ ์ค๋ฒ๋ก๋ฉ ์ค๋ฒ๋ผ์ด๋ฉ ์ ์ ํ ํด๋์ค ๋ด์ ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ๋ฉ์๋๋ฅผ ์ฌ๋ฌ๊ฐ ์ ์ํ๋ ๊ฒ ์์ ๋ฐ์ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ ๊ฒ ๋ฉ์๋ ์ด๋ฆ ๊ฐ์ ๊ฐ์ ๋ฉ์๋ ๋งค๊ฐ๋ณ์ ๊ฐ์, ํ์ ๋ค๋ฆ ๊ฐ์ ์คํ ์ฝ๋ ๋ค๋ฆ (๋งค๊ฐ๋ณ์๋ ํ์ ์ด ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ๋ค๋ฅผ ์ ๋ฐ์ ์์) ๋ค๋ฆ ๋ฐํ ํ์ ์๊ด ์์ ๊ฐ์ ์ด๋ ธํ ์ด์ ์์ @Override 2023. 2. 19. ์์กด์ฑ, ์์กด๊ด๊ณ ์ฃผ์ Goal 1. ์์กด์ฑ / ์์กด๊ด๊ณ์ ์ฃผ์ ์ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ 2. ์์ฑ์ ์ฃผ์ ์ ๊ถ์ฅํ๋ ์ด์ ์ค๋ช ํ๊ธฐ ์์กด์ฑ / ์์กด๊ด๊ณ๋? A๊ฐ B๋ฅผ ์์กดํ๋ค = B๊ฐ ๋ณํ๋ฉด A์๊ฒ๋ ์ํฅ์ ๋ฏธ์น๋ค ์๋ฐ์์ ํด๋์ค ๊ฐ ์์กด๊ด๊ณ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ 3๊ฐ์ง๋ก ๋ณผ ์ ์๋ค. ๋ฐฉ๋ฒ ์ค๋ช ๊ถ์ฅ @Autowired ํ๋ ์ฃผ์ ์ ๋ฐฉ๋ฒ ์๋ ์ฌ์ฉํ์๋๋ฐ ์ด์ ๋ IntelliJ์์ ์์ฑ์ ์ฃผ์ ์ ๋ฐฉ๋ฒ ์ฐ๋ผ๊ณ ๊ฒฝ๊ณ ๋ธ @Setter ์์ ์ ์ฃผ์ ์ ๋ฐฉ๋ฒ Public ๋ฉ์๋๋ฅผ ํตํด ์๋ฌด๋ ์์ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ณด์์ฑ ๋ฌธ์ ๊ฐ ์ @RequiredArgsConstructor ์์ฑ์ ์ฃผ์ ์ ๋ฐฉ๋ฒ ***๊ฐ์ฅ ๊ถ์ฅ ํ๋ ๋ฐฉ๋ฒ*** 1. ํ๋ ์ฃผ์ ์ ๋ฐฉ๋ฒ new ํค์๋ ์จ์ ์์กดํ๊ฒ ๋๋ฉด Driver๊ฐ ์์ฑ๋ ๋ ์ด๋ฏธ ์ด๋ค ์ฐจ๋ฅผ ๊ฐ์ง๋์ง ์ ํด์ ธ ์๊ธฐ ๋.. 2023. 2. 11. Java, JIT Compiler, JVM Goal 1. ์๋ฐ์ ์ปดํ์ผ ๊ณผ์ ์ดํดํ๊ธฐ 2. JVM์ ์ญํ ์ค๋ช ํ๊ธฐ Q. ์๋ฐ ์์ค์ฝ๋๊ฐ ์ปดํ์ผ ๋๋ ๊ณผ์ ์ ์ค๋ช ํด ๋ณด์์ค. A. ๊ฐ๋ฐ์๊ฐ ์๋ฐ ์์ค์ฝ๋๋ฅผ ์์ฑํ๋ค (*.java) ์๋ฐ ์ปดํ์ผ๋ฌ๊ฐ ์์ค์ฝ๋ ํ์ผ์ ๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผ ํ๋ค (*.class) ๋ฐ์ดํธ์ฝ๋๋ฅผ JVM (Java Virtual Machine)์ ํด๋์ค ๋ก๋์ ์ ๋ฌํ๋ค ํด๋์ค ๋ก๋๋ ๋์ ๋ก๋ฉ์ ํตํด ํ์ํ ํด๋์ค๋ค์ ๋ก๋ฉ ๋ฐ ๋งํฌํ์ฌ JVM ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฐ๋ค ์คํ ์์ง(์ธํฐํ๋ฆฌํฐ ๋๋ JIT ์ปดํ์ผ๋ฌ)์ JVM ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ๋ฐ์ดํธ ์ฝ๋๋ค์ ๋ช ๋ น์ด ๋จ์๋ก ํ๋์ฉ ๊ฐ์ ธ์ ์คํํ๋ค ๐ ๋ฐ์ดํธ์ฝ๋ : ๊ฐ ๋ช ๋ น์ด๋ 1๋ฐ์ดํธ ํฌ๊ธฐ์ Opcode์ ์ถ๊ฐ ํผ์ฐ์ฐ์๋ก ์ด๋ฃจ์ด์ ธ ์๋ ํ์ผ (์ปดํจํฐ๊ฐ ์ฝ์ ์ ์์) ๐ ์ธํฐํ๋ฆฌํฐ : ๋ฐ์ดํธ ์ฝ๋ .. 2023. 2. 8. ์ด์ 1 ๋ค์