๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
JPA ํ๋ก๊ทธ๋๋ฐ 2์ฅ JPA ์์ (๋งคํ ์ด๋ ธํ ์ด์ , persistence.xml, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฉ์ธ, ์ํฐํฐ ๋งค๋์ , ํธ๋์ญ์ ๊ด๋ฆฌ, ๊ฐ์ฒด์ ๋ฑ๋ก,์์ ,์ญ์ ,์กฐํ, JPQL)
JPA๋ฅผ ์ฌ์ฉํด์ ํ ์ด๋ธ ํ๋๋ฅผ ๋ฑ๋ก/์์ /์ญ์ /์กฐํํ๋ ๊ฐ๋จํ JPA ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ ์ดํด๋ฆฝ์ค์ DB ์ค์น JPA์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ JPA ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ 2.3.1 ๋ฉ์ด๋ธ๊ณผ ์ฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฉ์ด๋ธ์ ์ฌ์ฉํด์ ๊ด๋ฆฌํจ ๋ฉ์ด๋ธ : ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ๋๊ตฌ ์ต๊ทผ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฉ์ด๋ธ ๋ฑ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๊ณ ๋น๋ํจ pom.xml์ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ด์ฃผ๋ฉด ์๋์ผ๋ก ๋ด๋ ค๋ฐ์์ ๊ด๋ฆฌํด์ค ์ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์ (groupId, artifactId, version๋ง ์ ์ด์ฃผ๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ jarํ์ผ์ ๋ฉ์ด๋ธ ๊ณต์ ์ ์ฅ์์์ ๋ด๋ ค๋ฐ์ ์ถ๊ฐํด์ค) 2.4 ๊ฐ์ฒด ๋งคํ ํ์ ํด๋์ค์ ํ์ ํ ์ด๋ธ์ ๋งคํ ํ์ ํด๋์ค์ JPA๊ฐ ์ ๊ณตํ๋ ๋งคํ ์ด๋ ธํ ์ด์ ์ ์ถ๊ฐํจ..
JPA ํ๋ก๊ทธ๋๋ฐ 1์ฅ JPA ์๊ฐ (SQL์ ์ง์ ๋ค๋ฃฐ ๋์ ๋ฌธ์ ์ , ํจ๋ฌ๋ค์ ๋ถ์ผ์น, JPA์ ์ฅ์ )
JPA๋ฅผ ์ฌ์ฉํ๋ฉด SQL ์์ฑ ์์ด ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ ์ ์ฅํ ์ ์๊ฒ ๋์์ฃผ๊ณ , ๊ฐ์ฒด์ ๊ด๊ณํ DB์ ์ฐจ์ด๋ ์ค๊ฐ์์ ํด๊ฒฐํด์ค ๊ฐ๋ฐ ์์ฐ์ฑ๊ณผ ์ ์ง๋ณด์๊ฐ ํ์ฐํ ์ข์์ง ์ง๋ฃจํ๊ณ ๋ฐ๋ณต์ ์ธ CRUD SQL์ ์์์ ์ฒ๋ฆฌํด์ค ๋ฟ๋ง ์๋๋ผ ๊ฐ์ฒด ๋ชจ๋ธ๋ง๊ณผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ด์ ์ฐจ์ด์ ํด๊ฒฐํด์ค JPA๋ ์คํ ์์ ์ ์๋์ผ๋ก SQL์ ๋ง๋ค์ด์ ์คํํจ ์ฑ ์ ๊ตฌ์ฑ 1~9์ฅ (์ด๋ก ) : ๊ฐ์ฒด์ ํ ์ด๋ธ์ ์ด๋ป๊ฒ ๋งคํํ๋ ๋ฐฉ๋ฒ, JPA์ ํต์ฌ ๊ธฐ๋ฅ 10์ฅ : JPQL (Java Persistence Query Language, ๊ฐ์ฒด์งํฅ ์ฟผ๋ฆฌ์ธ์ด), ๋ค์ดํฐ๋ธ SQL 11~12์ฅ : ์คํ๋ง ํ๋ ์์ํฌ์ JPA๋ฅผ ์ฌ์ฉํ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ (์คํ๋ง ๋ฐ์ดํฐ JPA, QueryDSL) 13~16์ฅ : ํธ๋์ญ์ , ๋ฝ, ์บ..
URI vs. URL
**URI**์ **URL**์ ์น์์ ๋ฆฌ์์ค๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฉ์ด **URI**๋ ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ์ผ๋ฐ์ ์ธ ์ฉ์ด์ด๊ณ , **URL**์ ๋ฆฌ์์ค์ ์์น๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์ง์ ํ๋ ํน์ํ ์ ํ์ URI URI (Uniform Resource Identifier): ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ์ผ๋ฐ์ ์ธ ์ฉ์ด URL๊ณผ URN์ ์์ ๊ฐ๋ ์ (์๋ธ ํ์ ๋ค์ ํฌ๊ดํ๋ ๊ฐ๋ ) URL๊ณผ URN์ ๋ชจ๋ URI์ ํน์ํ ํํ URL (Uniform Resource Locator): ํน์ ๋ฆฌ์์ค์ ์์น๋ฅผ ์ง์ ํ๋ URI์ ํ์ ๊ฐ๋ ์ฃผ๋ก ์น์์ ์ฌ์ฉ๋๋ฉฐ, ํน์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค์ ์์น๋ฅผ ์ ํํ๊ฒ ์ง์ (์: HTTP, HTTPS ๋ฑ) ์: https://www.example.com/page.html URN (Uniform..
์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ json-simple, unirest, nimbusds
OpenSource Libraries : json-simple, unirest, nimbusds json-simple: JSON ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ๊ณ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฐ๋จํ๊ณ ๊ฐ๋ฒผ์ด Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ JSON ๋ฐ์ดํฐ๋ฅผ Java์์ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋๋ก ๋์์ค ๊ธฐ๋ฅ ๋ฐ ํน์ง: JSON ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ์ฌ Java ๊ฐ์ฒด๋ก ๋ณํํ๊ฑฐ๋, Java ๊ฐ์ฒด๋ฅผ JSON ๋ฌธ์์ด๋ก ์ง๋ ฌํํ ์ ์์ ๊ฐ๋จํ๊ณ ๊ฐ๋ฒผ์ฐ๋ฉฐ, ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ด ์์ ํ๋ก์ ํธ๋ ๊ฐ๋จํ JSON ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ ํฉํจ unirest: ์ฌ๋ฌ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉํ ์ ์๋ HTTP ์์ฒญ ๋ผ์ด๋ธ๋ฌ๋ฆฌ **unirest**๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐํธํ HTTP ์์ฒญ์ ์ํํ ์ ์์ ๊ธฐ๋ฅ ๋ฐ ํน์ง: ๊ฐ๋จํ API๋ฅผ ํตํด HTTP ์์ฒญ์ ์์ฑํ๊ณ ์ํํ ์ ์์..
Fine-grained access
Fine-grained access : ์ธ๋ฐํ ์์ค์ ์ ๊ทผ ์ ์ด ์ฌ์ฉ์๋ ์ญํ ์ด ํน์ ๋ฐ์ดํฐ, ๋ฆฌ์์ค ๋๋ ๊ธฐ๋ฅ์ ๋ํ ์ ๊ทผ์ ์ธ๋ฐํ๊ฒ ์ ์ดํ ์ ์๋ ๋ฐฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ฌ์ฉ์์ ์ ๋ฐ์ ์ธ ๊ถํ์ ํ ๋นํ๋ ๊ฒ์ด ์๋๋ผ, ํน์ ์กฐ๊ฑด์ด๋ ๊ท์น์ ๋ฐ๋ผ ์์ธํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์ ๋งํจ Fine-grained access๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ์ฌ์ฉ์์๊ฒ ํด๋น ํ ์ด๋ธ์ ๋ํ ์ฝ๊ธฐ ๊ถํ๋ง ๋ถ์ฌ๋๊ณ , ๋ค๋ฅธ ํ ์ด๋ธ์ ๋ํ ์ ๊ทผ์ ์ ํ๋ ์ ์์ ์ด์ ๊ฐ์ ์ ๊ทผ ์ ์ด ๋ฐฉ์์ ๋ณด์์ ๊ฐํํ๊ณ ๋ฐ์ดํฐ์ ๋ํ ์ ๊ทผ์ ์ต์ํ์ ํ์ํ ๋ฒ์๋ก ์ ํํ์ฌ ๋ฏผ๊ฐํ ์ ๋ณด์ ์ ์ถ์ ๋ฐฉ์งํ ์ ์์ ์ฃผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ์ผ ์์คํ , ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฑ ๋ค์ํ ์์คํ ์์ ์ฌ์ฉ๋จ **/Entitlement_WebApp/protected/๋ก ์์..
4. Single Sign-On with SAML
SSO (Single Sing-On) User๊ฐ Credential์ ํ ๋ฒ ์ ๊ณตํ๋ฉด ๋ค์์ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทผํ ์ ์์ ํ๋์ ์ดํ๋ฆฌ์ผ์ด์ ์ sign in์ ํ๋ฉด, ๊ฐ์ ์ธ์ ์ ๊ณต์ ํ๋ ๋ค๋ฅธ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทผํ ์ ์์ SAML (Security Assertion Markup Language) XML ๊ธฐ๋ฐ์ ๋งํฌ์ ์ธ์ด federated authentication, sso ๊ตฌํ์ ์ฐ์ด๋ ๊ฐ๋ฐฉํ ํ์ค ์น ๊ธฐ๋ฐ ์ฑ๊ธ ์ฌ์ธ์จ (Single Sign-On, SSO)์ ๊ตฌํํ๊ธฐ ์ํ ํ๋กํ ์ฝ ์ค ํ๋ Security information์ด ์ด๋ป๊ฒ xml ๋ฉ์์ง๋ก ์ธ์ฝ๋ฉ๋์ด ์ ๋ขฐ๋ ๋น์ฌ์๋ค ๊ฐ์ ์ ๋ฌ๋๋์ง ์ ์ํจ IdP์ SP ์ฌ์ด์์ authentication๊ณผ authorization ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์..
Validate vs. Verify
Validate (๊ฒ์ฆํ๋ค): ์ฃผ๋ก ์ผ๋ จ์ ๊ท์น์ด๋ ํ์ค์ ๋ฐ๋ผ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฒํ ํ๊ณ ํ์ธํ๋ ํ์ ์ ๋ณด๋ ๋ฐ์ดํฐ๊ฐ ์ ํจํ๊ณ ์ฌ๋ฐ๋ฅธ์ง๋ฅผ ํ์ธํ๊ฑฐ๋, ํน์ ๊ท์น์ด๋ ์กฐ๊ฑด์ ๋ฐ๋ฅด๋์ง๋ฅผ ๊ฒ์ฆ ์ : ์ด๋ค ๋ฌธ์๊ฐ ์ ํด์ง ์์์ ๋ง๊ฒ ์์ฑ๋์๋์ง ํ์ธ, ์๋ช ์ด ์ ํจํ ์๋ช ์ธ์ง ํ์ธ Verify (ํ์ธํ๋ค): ์ฃผ๋ก ์ฃผ์ฅ์ด๋ ์ฃผ์ฅ๋ ์ฌ์ค์ ์ฌ์ค ์ฌ๋ถ๋ฅผ ํ์ธํ๊ฑฐ๋ ์ฆ๋ช ํ๋ ํ์ ๋ ์๋ฐํ ์ ์ฐจ๋ ์ฆ๊ฑฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ค ๊ฒ์ด ์ฌ์ค์์ ํ์ธ ์ด๋ค ์ฌ๋์ด ์์ ์ด ์ฃผ์ฅํ๋ ์ ์์ ํ์ธํ๊ธฐ ์ํด ์ ๋ถ์ฆ์ ์ ์, ์๋ช ์ด ์ ๋ง๋ก ํน์ ๊ฐ์ธ์ ์ํด ์์ฑ๋์๋์ง ํ์ธ
์ด๊ฒ์ด ๋ฆฌ๋ ์ค๋ค ch4 ๋ฆฌ๋ ์ค ๊ธฐ๋ณธ ๋ช ๋ น์ด(15๊ฐ) ์ฌ์ฉ ์ ์ ๋ฆฌ
1. ls - ํ์ผ ๋ฐ ๋๋ ํฐ๋ฆฌ ๋ชฉ๋ก ํ์ธ ls: ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ํ์ผ ๋ชฉ๋ก์ ํ์ ls /etc/sysconfig /etc/sysconfig: ๋๋ ํฐ๋ฆฌ์ ๋ชฉ๋ก์ ํ์ ls -a: ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ๋ชฉ๋ก(์จ๊น ํ์ผ ํฌํจ)์ ํ์ ls -l: ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ๋ชฉ๋ก์ ์์ธํ ํ์ ls *.cfg: ํ์ฅ์๊ฐ cfg์ธ ๋ชฉ๋ก์ ํ์ ls -l /etc/sysconfig/a*: /etc/sysconfig ๋๋ ํฐ๋ฆฌ ์ค ์ ๊ธ์๊ฐ 'a'์ธ ๊ฒ์ ๋ชฉ๋ก์ ์์ธํ ํ์ 2. cd - ๋๋ ํฐ๋ฆฌ ์ด๋ cd: ํ์ฌ ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ cd ~rocky rocky: ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ cd ..: ๋ฐ๋ก ์์์ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ cd /etc/sysconfig: /etc/sysconfig ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ (์ ๋ ๊ฒฝ๋ก)..