์ค๋์ ๋ช
์ธ
" ์ธ์์ ๊ฐ๊น์ด์ ๋ณด๋ฉด ๋น๊ทน์ด์ง๋ง, ๋ฉ๋ฆฌ์ ๋ณด๋ฉด ํฌ๊ทน์ด๋ค. "
- ์ฐฐ๋ฆฌ ์ฑํ๋ฆฐ
(์๊ตญ ์ถ์ ์ฝ๋ฏธ๋์ธ, ๋ฐฐ์ฐ, ์ํ ๊ฐ๋
)
์๋ฐ๊ฐ ์๋ฐ ๊ฐ์ ๋จธ์ (JVM) ์์์ ์คํ๋๋ค๋ ๊ฒ์ ์ตํ ์๋ ค์ง ์ฌ์ค์ด๋ค. ์ดํด๋ฆฝ์ค๋ฅผ ๋ค์ด๋ก๋ํ ๋๋ ์ดํด๋ฆฝ์ค ๋ฒ์ ์ ํธํ๋๋ JDK๋ ํจ๊ป ์ค์นํ๋ค.๋ํ, ์ดํด๋ฆฝ์ค ์ค์ ์์ [Installed JREs]์์ JRE๋ฅผ ์ถ๊ฐํ๋ฉด์, ๊ธฐ์กด์ ๋๋ฃจ๋ญ์ ํ๊ฒ ์๊ณ ์๋ JDK์ JRE์ ์ฐจ์ด๊ฐ ๊ถ๊ธํด์ก๋ค.๊ทธ๋์ ์ค๋์ ๊ฐ๋
์ ๋ช
ํํ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. 1. JDK vs JRE vs JVM ์ฐจ์ด์ง์ง ๊ฐ๋จํ ์์ฝํ๋ฉด ์๋ฐ๋ก ๊ฐ๋ฐํ ๋ โ JDK ํ์ (์ปดํ์ผ๋ฌ ํฌํจ)๊ทธ๋ฅ ์คํ๋ง ํ ๋ โ JRE๋ง ์์ด๋ ๋จ์ค์ ์คํ ๋ด๋น โ JVM ์์์ ๋์๊ฐ... JRE๋ ์คํ์ฉ, JDK๋ ๊ฐ๋ฐ์ฉ์ด๋ผ๊ณ ์ดํดํ๋ฉด ์ฝ๋ค. โ JDK (Java Development Kit)`.java` ํ์ผ์ `.class(๋ฐ์ดํธ์ฝ๋)`๋ก ..
Swagger(Springdoc OpenAPI)์์ ๋ถํ์ํ ์ปฌ๋ผ์ด ๋ณด์ด๋ ์ด์ ๋API ์๋ต์ DTO๋ฅผ ์จ์ผ ํ๋๋ฐ Entity๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค. โ ๋ฌธ์ @GetMapping("/users/{id}")public UserEntity getUser(@PathVariable Long id) { return userService.getUser(id);}UserEntity๋ฅผ ์ง์ ๋ฐํํ๋ฏ๋ก, Swagger์์ ๋ชจ๋ ํ๋(password, phoneNumber ๋ฑ)๊ฐ API ๋ฌธ์์ ํฌํจ๋๋ค. โ
ํด๊ฒฐ๋ฒโ Swagger์์ ๋ถํ์ํ ์ปฌ๋ผ์ด ๋ณด์ด๋ฉด, Entity ๋์ DTO๋ฅผ ์ฌ์ฉํ์@GetMapping("/users/{id}")public UserDto getUser(@PathVariable Lon..
1. DAO (Data Access Object)DAO๋ DB์ ์ง์ ํต์ ์ ํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ๊ฐ์ ธ์ค๋ ๊ฐ์ฒด์ด๋ค.์ฌ์ฉ์ฒ : `MyBatis` ํน์ `JPA`์ ๊ฐ์ ORM์์ ์ค์ ๋ก DB ์ ๊ทผ์ ๋ด๋นํ๋ ๊ฐ์ฒดํน์ง: ๋ณดํต ์ธํฐํ์ด์ค + Mapper (XML or ์ด๋
ธํ
์ด์
๋ฐฉ์)์ผ๋ก ๊ตฌ์ฑ๋จ ์์ (MyBatis)import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Param;@Mapperpublic interface UserDAO { // ..
1. IPv6๊ฐ ๋ฑ์ฅํ ์ด์ IPv4๋ ์ฌ์ ํ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์์ง๋ง, ์ฃผ์ ๋ถ์กฑ๊ณผ ๋ณด์ ๋ฌธ์ ๋ก ์ธํด ์ ์ IPv6๋ก ์ ํ๋๊ณ ์๋ค. IPv6๋ IPv4์ ์ฃผ์ ๋ถ์กฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ๋์๋ค. IPv4๋ 32๋นํธ ์ฃผ์ ์ฒด๊ณ๋ก ์ฝ 43์ต ๊ฐ์ ์ฃผ์๋ง ์ ๊ณตํ์ง๋ง, IPv6๋ 128๋นํธ ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํด ์ฌ์ค์ ๋ฌด์ ํ์ ๊ฐ๊น์ด ์ฃผ์๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ด๋ค. โ
๋ณด์ ๋ฌธ์ IPv4์์๋ ๋ณด์ ๊ธฐ๋ฅ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจ๋์ด ์์ง ์๋ค(์ ํ ์ฌํญ). ๊ทธ๋์ IPSec(Internet Protocol Security) ๊ฐ์ ๋ณ๋์ ๋ณด์ ํ๋กํ ์ฝ์ ์ถ๊ฐํด์ผ ํ๋ค. ๋ฐ๋ฉด IPv6๋ IPSec์ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจํ๊ณ ์์ด์, ๋คํธ์ํฌ ๋ณด์์ฑ์ ๋์ผ ์ ์๋ค. ๋ ํค๋ ๊ตฌ์กฐ์ ์ฐจ์ด๋ ์๋ค IPv6๋ AH(Authenticat..
1. ์๋ฐ์ ์ฃผ์์ด๋ณด ๊ฐ๋ฐ์๋ค์ // ํ ์ค ์ฃผ์์ ๋จ๋ฐํ๋ฉฐ ํ ์ค ํ ์ค์ฉ ์ฃผ์์ ๋ค๋ ์ต๊ด์ ๊ฐ์ง๋ค. ๋ ์ญ์ ์ฒ์ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ธ ๋ ๊ทธ๋ฌํ๋ค. ์กฐ๊ธ ์ฝ๋ฉ์ ํด ๋ณธ ์ฌ๋๋ค์ /* ... */์ ์ฌ์ฉํด ์ฌ๋ฌ ์ค์ ํ๊บผ๋ฒ์ ์ฃผ์ ์ฒ๋ฆฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ง์ง ๊ณ ์๋ค์ /** ... */ Javadoc ์ฃผ์์ ํ์ฉํ๋ค. ์ด ์ฃผ์์ ํจ์, ํด๋์ค, ๋ฉ์๋ ๋ฑ์ ์ค๋ช
์ ํฌํจํ์ฌ ์๋์ผ๋ก ๋ฌธ์๋ฅผ ์์ฑํ ์ ์๋๋ก ๋์์ค๋ค. ์ค๋์ ์ด ์ธ ๊ฐ์ง ์ฃผ์์ ์ฐจ์ด์ ๊ณผ ํจ๊ป, ์๋ฐ์์ ์ฃผ์์ ๋น ๋ฅด๊ฒ ๋ค๋ฃจ๋ ๋จ์ถํค๋ฅผ ์์๋ณด๊ฒ ๋ค. 2. ๋จ์ถํค์๋ฐ์์ ์ฃผ์์ ๋น ๋ฅด๊ฒ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ๋ ๋จ์ถํค๋ ๋ค์๊ณผ ๊ฐ๋ค. 2-1. ํ ์ค ์ฃผ์ (//) ๋จ์ถํคCtrl + / (Cmd + / on macOS)์ฌ๋ฌ ์ค์ ์ ํํ ํ Ctrl + /๋ฅผ ..
์๋ฒ ์ด์คํ์ ๋ถ์ฐ ์ฒ๋ฆฌ๋ ๊ณ ๊ฐ์ฉ์ฑ๊ณผ ์์ ์ฑ์ ํ๋ณดํ๊ธฐ ์ํด ํ์์ ์ด๋ค. ๋จ์ผ ์๋ฒ๋ก๋ ๋๋์ ํธ๋ํฝ๊ณผ ์ฅ์ ๋ฐ์ ์ ๋ณต๊ตฌ๋ฅผ ๊ฐ๋นํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ค์์ ์๋ฒ๋ก ๋ถํ๋ฅผ ๋ถ์ฐํ๊ณ ๋ฐฑ์
์์คํ
์ ๋ง๋ จํด์ผ ํ๋ค. ํนํ, ์ด์ปค๋จธ์ค๋ ๊ธ์ต ์๋น์ค์ฒ๋ผ ์ค์๊ฐ ์ฒ๋ฆฌ๊ฐ ์ค์ํ ํ๊ฒฝ์์๋ ์๋ ํ์ฅ(Auto Scaling)๊ณผ ๋ฌด์ค๋จ ์ด์์ด ํ์์ ์ด๋ค.1. ์๋ฒ ์ด์คํ (Server Redundancy)์๋ฒ ์ด์คํ๋ ์ฅ์ ๋๋น(High Availability, HA - ๊ณ ๊ฐ์ฉ์ฑ)๋ฅผ ์ํ ๊ฐ๋
์ด๋ค.ํ๋์ ์๋ฒ๊ฐ ๋ค์ด๋๋๋ผ๋ ๋ค๋ฅธ ์๋ฒ๊ฐ ๋์ ์ญํ ์ ์ํํ ์ ์๋๋ก ๋ฐฑ์
์๋ฒ๋ฅผ ์ค๋นํ๋ ๋ฐฉ์์ด๋ค. โ๏ธ ์๋ฅผ ๋ค๋ฉด?DB ์๋ฒ ์ด์คํ: Master-Slave ๊ตฌ์กฐ์น ์๋ฒ ์ด์คํ: ๋ก๋๋ฐธ๋ฐ์ + ๋ ๊ฐ์ ๋์ผํ ์น ์๋ฒ โ..
Java ํ๋ก์ ํธ๋ฅผ ์ค์ ํ ๋ ํ๋ก์ ํธ ์ฐํด๋ฆญํ๋ฉด Build Path๊ฐ ๋์จ๋ค. ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ Oracle JDBC ๋๋ผ์ด๋ฒ(ojdbc8.jar) ๊ฐ์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฑ๋กํ ์ ์๋ค. ๋ MySQL Connection(mysql-connector-java.jar)์ด๋ผ๋ ์ง Getter์ Setter์ ์๋์์ฑํ๋ Lombok(lombok.jar) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฑ๋ก ํด ๋ณธ ์ ์ด ์์ ๊ฒ์ด๋ค. ํ์๋ ํญ์ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ถ๊ฐํ ๋ Classpath, Module Path ์ค ์ด๋์ ์ถ๊ฐํด์ผ ํ๋์ง ํท๊ฐ๋ ธ๊ธฐ ๋๋ฌธ์ ์ด ๊ธ์ ์์ฑํ๋ค. Buildpath๋ ์๋ฐ์์ ์ค์ํ ๊ฐ๋
์ด๋ฉฐ, ์ด๋ค ๊ฒ์ ๋ฑ๋กํด์ผ ํ๋์ง๋ ํ๋ก์ ํธ ํ๊ฒฝ๊ณผ ์ฌ์ฉ ๊ธฐ์ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค. ์ด๋ก ์ ์ธ ์ค๋ช
์ ๊ฑด๋ ๋ฐ๊ณ ์ธ์ ModulePath..
EBS vs EFS1. EBS(Elastic Block Storage)โถEBS volumesOne instance (except multi-attach io1 / io2) - ํ ๋ฒ์ ํ๋์ ์ธ์คํด์ค๋ง ์ฐ๊ฒฐare locked at the Availability Zone (AZ) levelgp2: IO increases if the disk size increasesgp3 & io 1: can increase IO independentlyโถTo migrate an EBS volume across AZTake a snapshotRestore the snapshot to another AZEBS backups use IO and you shouldn't run them while your application..
'์ฐจ์ด' ํ๊ทธ์ ๊ธ ๋ชฉ๋ก
๋ซ๊ธฐ
๋จ์ถํค
๋ด ๋ธ๋ก๊ทธ
๋ด ๋ธ๋ก๊ทธ - ๊ด๋ฆฌ์ ํ ์ ํ
Q
Q
์ ๊ธ ์ฐ๊ธฐ
W
W
๋ธ๋ก๊ทธ ๊ฒ์๊ธ
๊ธ ์์ (๊ถํ ์๋ ๊ฒฝ์ฐ)
E
E
๋๊ธ ์์ญ์ผ๋ก ์ด๋
C
C
๋ชจ๋ ์์ญ
์ด ํ์ด์ง์ URL ๋ณต์ฌ
S
S
๋งจ ์๋ก ์ด๋
T
T
ํฐ์คํ ๋ฆฌ ํ ์ด๋
H
H
๋จ์ถํค ์๋ด
Shift + /
โง + /
* ๋จ์ถํค๋ ํ๊ธ/์๋ฌธ ๋์๋ฌธ์๋ก ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ํฐ์คํ ๋ฆฌ ๊ธฐ๋ณธ ๋๋ฉ์ธ์์๋ง ๋์ํฉ๋๋ค.