์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ๊ฑฐ๋ญ์ ๊ณฑ
- ์คํ๋ง
- fibonacci
- ๋ฐ์ผ๋ฆฌ์ฝ๋ฉ
- ์๋ฃ๊ตฌ์กฐ
- ๋ฐฑ์ค์๊ณ ๋ฆฌ์ฆ
- ๊ณ์ฐ๊ธฐ๋ง๋ค๊ธฐ
- ๋ฌธ์์ด๋ค์ง๊ธฐ
- testing
- Publishing
- HTML
- ์ฒซ๊ธ์๋๋ฌธ์
- ๊นํ๋ธ
- ๊ทธ๋ฆฌ๋
- CLI๋ช ๋ น์ด
- ์๋ฐ
- FilterChain
- ๋ฐฑ์๋
- ํ๊ณ
- Spring Data JDBC
- ๋ถํธ์บ ํ
- Spring Security
- ์๊ณ ๋ฆฌ์ฆ
- java
- ํ์ดํ๋ก๊ทธ๋๋ฐ
- ์ธํ ๋ฆฌ์ ์ด
- ์ ๋ค๋ฆญ์ค
- spring data jpa
- CSS
- ์ปฌ๋ ์ ํ๋ ์์ํฌ
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (69)
๋์ ๋ชจ์
๐AWS(Amazon Web Service) ์ ์ธ๊ณ์ ์ผ๋ก ๊ฐ์ฅ ํฌ๊ด์ ์ด๋ฉฐ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ ํด๋ผ์ฐ๋ ํ๋ซํผ์ด๋ค. ๐งฉ Cloud Computing ์ธํฐ๋ท์ ํตํด IT ๋ฆฌ์์ค๋ฅผ ์จ๋๋งจ๋๋ก ์ ๊ณตํ๊ณ ์ฌ์ฉํ ๋งํผ ๋น์ฉ์ ์ง๋ถํ๋ ๊ฒ ์ ํ SaaS(Software as a Servce): ์ต์ข ์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ Paas(Platform as a Service): DB, ๊ฐ๋ฐ ํ๋ซํผ ์ ๊ณต IaaS(Infrastructure as a Service): ๋คํธ์ํน, ์ปดํจํฐ(๊ฐ์ or ์ ์ฉ ํ๋์จ์ด) ๋ฐ ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ๋ํ ์ก์ธ์ค ์ ๊ณต ๐งฉ EC2(Elastic Compute Cloud) AWS์์ ์ ๊ณต๋๋ ํด๋ผ์ฐ๋ ์ปดํจํ ์๋น์ค๋ก, ์๊ฒฉ์ผ๋ก ์ ์ดํ ์ ์๋ ๊ฐ์์ ์ปดํจํฐ๋ฅผ ํ ๋ ๋น๋ฆฌ๋ ๊ฒ์ด๋ค. ์ด ๊ฐ์ ์ปด..

๐OAuth 2.0 ๐งฉ OAuth 2.0์ด๋? ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ณด์ ํ๊ณ ์๋ ์ ๋ขฐํ ๋งํ ์จ๋ ํํฐ ์ ํ๋ฆฌ์ผ์ด์ (GitHub, Google, ๋ฑ)์์ ์ฌ์ฉ์์ ์ธ์ฆ์ ๋์ ์ฒ๋ฆฌ → ์ ๊ทผ ๊ถํ์ ๋ํ ํ ํฐ ๋ฐ๊ธ → ํด๋น ํ ํฐ์ ์ด์ฉํด ์จ๋ ํํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ฒ ํด์ฃผ๋ ๋ฐฉ์์ด๋ค. ํ์ง๋ง ์ฌ์ฉ์์ ์ ๋ณด๊ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฅ๋๋ ๊ฒ์ ๋ณํจ ์๋ค. Authentication์ ๋ค๋ฅธ ์๋น์ค์ ๋งก๊ธฐ๊ณ ํ ํฐ์ ๋ฐ์ ์ฌ ๋ฟ, Authorizaiton๋ ์ฌ์ ํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ด๋ฆฌํด์ผ ํ๋ค. OAuth๋ ๋ณด์๋ ์์ ์ ๋ฆฌ์์ค์ ์ ๊ทผํ๊ธฐ ์ํด ๊ถํ์ ๋ถ์ฌํด์ฃผ๋ ๊ฐ๋ฐฉํ ํ์ค ํ๋กํ ์ฝ์ ํ ์ข ๋ฅ์ด๋ค. ๋์ค์ ์ผ๋ก ๋ง์ด ์ฌ์ฉ์ค์ธ ์๋น์ค์์ ๊ด๋ฆฌํ๋ฏ๋ก, ์ฌ์ฉ์ ์ ์ฅ์์๋ ์์ ์ ์ ๋ณด๋ฅผ ๋ ธ์ถ์ํค์ง ์์๋ ํด๋น ์น ..
๐ HTTPS(Hyper Text Transfer Protocal Secure Socket layer) HTTPS๋ ๊ธฐ์กด HTTP์์ ๋ณด์Secure์ด ๊ฐํ๋ ๊ฒ์ผ๋ก, HTTPS๋ HTTP์์ฒญ์ SSL ๋๋ TLS๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์ํธํ ํ์ฌ ์ ์กํ๋ ํ๋กํ ์ฝ์ด๋ค. HTTPS๋ ๋น๋์นญ ์ํธํ ํค๋ฅผ ์ฌ์ฉํ๋ค. ์ํธํ ํ ๋ ์ฌ์ฉ๋ ํค์ ๋ณตํธํ ํ ๋ ์ฌ์ฉ๋ ํค๊ฐ ์๋ก ๋ฌ๋ผ ๋น๋์นญ์ด๋ผ๊ณ ํ๋ค. HTTPS๋ 2๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ์ํธํ๋ฅผ ์งํํ๋ค. ์ํธํ ์ธ์ฆ์ ๐งฉ ์ํธํ HTTPS๋ ๋์นญํค์ ๋น๋์นญํค๋ฅผ ๋ชจ๋ ์ฌ์ฉํ๋ค. ๋น๋์นญํค๋ฅผ ์ด์ฉํ์ฌ ๋์นญํค๋ฅผ ์ฃผ๊ณ ๋ฐ์ ํ ์ฃผ๊ณ ๋ฐ์ ๋์นญํค๋ก ์ํธํ๋ฅผ ํ๋ค. ๋น๋์นญ ํค๋ 2๊ฐ์ง์ ํค๋ฅผ ๊ฐ๊ณ ์๋ค. ๋น๋ฐํค(private Key): ๋๋ง ๊ฐ๊ณ ์์ ๊ณต๊ฐํค(public key): ๊ณต๊ฐ์ ..
๐ Asciidoc Asciidoc์ Spring Rest Docs๋ฅผ ํตํด ์์ฑ๋๋ ํ ์คํธ ๊ธฐ๋ฐ ๋ฌธ์๋ก, ๊ธฐ์ ๋ฌธ์ ์์ฑ์ ์ํด ์ค๊ณ๋ ๋งํฌ๋ค์ด ์ธ์ด์ด๋ค. ๐งฉ ๋ชฉ์ฐจ = ๋ฌธ์ ์ ๋ชฉ :sectnum: :toc: left :toclevels: 1~6 :toc-title: ํ์ดํ :source-highlighter: prettify = ๋ฌธ์ ์ ๋ชฉ: Ascii ๋ฌธ๋ฒ์ผ๋ก ๋ชฉ์ฐจ๋ฅผ ๊ตฌ์ฑํ๋ค. :sectnum:: ๊ฐ ์น์ ์ ๋๋ฒ๋ง์ ํ๋ค. :toc: left: ๋ฌธ์์ ๋ชฉ์ฐจ๋ฅผ ์ด๋์ ๊ตฌ์ฑํ ๊ฒ์ธ์ง ์ ํ๋ค. left๋ ๋ชฉ์ฐจ๋ฅผ ์ผ์ชฝ์ผ๋ก ํ๋ค. :toclevels: 3: ๋ชฉ์ฐจ์ ํ์ํ ๊ฐ ์น์ ์ ์ ๋ชฉ์ level(HTML๊ธฐ์ค h1~h6)์ ์ ํ๋ค. 3์ผ๋ก ์ง์ ํ ์ === ๊น์ง์ ์ ๋ชฉ์ ๋ชฉ์ฐจ์ ํฌํจ์ํจ๋ค. :toc-title: ..

๐ API Documentation ํด๋ผ์ด์ธํธ๋ HTTP request URL(๋๋ URI)์ ํตํด ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ค. ์ด ๋ ํด๋ผ์ด์ธํธ๊ฐ REST API ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฒญ์ ์ ์กํ๊ธฐ ์ํด์ ์์์ผ ๋๋ ์์ฒญ ์ ๋ณด(์์ฒญ URL(๋๋ URI), request body, query parameter ๋ฑ)๋ฅผ ๋ฌธ์ํ ํ ๊ฒ์ API ๋ฌธ์ ๋๋ API ์คํ(์ฌ์)์ด๋ผ๊ณ ํ๋ค. API ๋ฌธ์๋ ๊ฐ๋ฐ์๊ฐ ์ง์ ์๊ธฐ๋ก ์์ฑํ ์๋ ์์ง๋ง, ๊ฐ๋ฐ์ค์ด๊ฑฐ๋ ์ ์ง๋ณด์๋ฅผ ํ ๋ API๊ฐ ์์ ๋ ์๋ ์๊ณ , ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณต๋ API ์ ๋ณด์ ์๊ธฐ๋ก ์์ฑ๋ API ๋ฌธ์ ์ ๋ณด๊ฐ ๋ค๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ ๋นํจ์จ์ ์ด๋ค. API ๋ฌธ์ ์๋ํ๋ฅผ ํตํด API์์ ์๊ธฐ๋ ์๋ฌ ๋ฐ์์ ๋ฐฉ์งํ๊ณ ์์ ์๊ฐ์ ๋จ์ถํ ์ ์๋ค. ๐งฉ Sw..

๐ํธ๋์ญ์ ์ด๋? ์ฌ๋ฌ๊ฐ์ ์์ ๋ค์ ํ๋๋ก ๋ฌถ์ด์ ์ฒ๋ฆฌํ๋ ์ฒ๋ฆฌ ๋จ์์ด๋ค. ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ ํต์ฌ์ ์ธ ์ญํ ์ ํ๋ค. ๐งฉ ACID ์์น ์์์ฑ(Atomicity) ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๊ธฐ๋ณธ ๋จ์์ด๋ค. ์ํ ๋ณํ๋ All or Nothing ๋ ์ค ํ๋๋ก ์ฒ๋ฆฌ๋์ด์ผ ํ๋ค. ์ผ๊ด์ฑ(Consistency) ํธ๋์ญ์ ์ฑ๊ณต ํ ์ผ๊ด๋ DB ์ํ๋ฅผ ๋ณด์กดํด์ผ ํ๋ค. ๊ณ ๋ฆฝ์ฑ(Isolation) ์ฌ๋ฌ ๊ฐ์ ํธ๋์ญ์ ์ด ์คํ๋ ๊ฒฝ์ฐ ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ์ด ๋์ด์ผ ํ๋ค. ์ง์์ฑ(Durability) ํธ๋์ญ์ ์ฑ๊ณต ํ ๊ฒฐ๊ณผ๋ ์ง์์ ์ผ๋ก DB์ ์ ์ฅ๋์ด์ผ ํ๋ค. ๐งฉ ์ปค๋ฐ(commit) ๋ชจ๋ ์์ ์ DB์ ์ต์ข ๋ฐ์ํ๋ ๋ช ๋ น์ด์ด๋ค. commit์ ํ๋ฉด ๋ณ๊ฒฝ๋ ๋ด์ฉ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋ ํ ..
๐ช Auditing? Auditing์ ‘๊ฐ์’๋ผ๋ ๋ป์ ๊ฐ๊ณ ์๋๋ฐ, Spring Data์์๋ Auditing์ผ๋ก ๋๊ฐ Entity๋ฅผ ์์ฑํ๊ณ ๋ณ๊ฒฝํ๋์ง์ ๋ํ ์์ ์ ํฌ๋ช ํ๊ฒ ์ถ์ ํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ค. ์์ฑ๋ ๋ชจ๋ Entity์ ์์ฑ๋ ์๊ฐ๊ณผ ์์ ๋ ์๊ฐ์ ์ผ์ผ์ด ์ ์ด์ฃผ๋ ๊ฒ์ ๋ฒ๊ฑฐ๋กญ๊ณ ๊ท์ฐฎ๊ธฐ๋ ํ์ง๋ง, ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์ด ์๊ธด๋ค. ๋ชจ๋ ๊ฐ์ฒด์ ๋ค ํ์ํจ ⇒ ์ฝ๋๋ฅผ ์ผ์ผ์ด ๋ค ์์ฑํด์ค์ผ ๋จ ⇒ ์ค์๋ก ๋นผ๋จน์ / ์ฝ๋ ์ค๋ณต ๐ช Using Auditing โจ add dependencies in build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' } ๐ช Use..

๐ JDBC(Java DataBase Connectivity) ๐งฉ JDBC ์๋ฐ DB ์ฐ๊ฒฐ์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์ ๊ทผ ๊ธฐ์ ๋ก, ํด๋ผ์ด์ธํธ๊ฐ DB์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ํ์ค API์ด๋ค. JDBC API๋ฅผ ์ฌ์ฉํด์ ๋ค์ํ ๋ฒค๋์ DB์ ์ฐ๋ํ ์ ์๋ค. ๋ฒค๋: MySQL, mariaDB, Oracle, … ๐งฉ JDBC Workflow JDBC API๋ JDBC ๋๋ผ์ด๋ฒ๋ฅผ ๋ก๋ฉํ ํ DB์ ์ฐ๊ฒฐํ๋ค. JDBC Driver๋ DB์ ํต์ ์ ํ๋ ์ธํฐํ์ด์ค์ด๋ค. ๋์ ํ๋ฆ: JDBC ๋๋ผ์ด๋ฒ ๋ก๋ฉ → Connection ๊ฐ์ฒด ์์ฑ → Statement ๊ฐ์ฒด ์์ฑ → ์ฟผ๋ฆฌ ์คํ → ResultSet ๊ฐ์ฒด์์ ๋ฐ์ดํฐ ์กฐํ → Close: ResultSet / Statement / Connection ๐งฉ JDBC C..