
postgreSQL postgreSQL์ ์ํค์์ ์๋์ ๊ฐ์ด ์ค๋ช ํ๋ค. PostgreSQL์ ํ์ฅ ๊ฐ๋ฅ์ฑ ๋ฐ ํ์ค ์ค์๋ฅผ ๊ฐ์กฐํ๋ ๊ฐ์ฒด-๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ํ๋์ด๋ค. BSD ํ๊ฐ๊ถ์ผ๋ก ๋ฐฐํฌ๋๋ฉฐ ์คํ์์ค ๊ฐ๋ฐ์ ๋ฐ ๊ด๋ จ ํ์ฌ๋ค์ด ๊ฐ๋ฐ์ ์ฐธ์ฌํ๊ณ ์๋ค. ๋๋ ์ด์ ํ์ฌ์์ PgAdmin์ผ๋ก postgreSQL์ ์ ํ๋ค. ์ค๋๋ ํ๋ก๊ทธ๋จ๋ค์ด ๋ง๋ค๋ณด๋ SQLSERVER๋ก DB๋ฅผ ์ด์ํ๋ ์๋ฃจ์ ๋ค์ด ๋ง์๋๋ฐ PgAdmin์ UI๋ฅผ ๋ณด๊ณ ์ฐ์ ์ฐธ ๊น๋ํ๋ค ํ๊ณ ์๊ฐํ๋ ์ ์ด ์๋ค. ํ์๋ฆฌ๋ ๊ฐ์คํ๊ณ ! ํฌ์คํธ๊ทธ๋ ์ ์คํ๋ง๋ถํธ๋ฅผ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. ์ค์น ๋ฐ ์ ์ ์ค์น ๋ฐฉ๋ฒ ๋๋ ์๋์ฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ค์นํ๋ ๋ฐฉ๋ฒ์ด ๊ฐ๋จํ๋ค. PostgreSQL: Downloads www.postgresql.org ..
Builder Pattern ์๋ฐ์์ ๊ฐ์ฒด๋ฅผ ์ ์ํ์ฌ ์์ฑํ ๋ ๋ณดํต ์์ฑ์๋ฅผ ํตํด ๊ฐ์ ์ฃผ์ ํ์ฌ ์์ฑํ๋ค. Person hae = new Person("ํด์", 27, "๊ฐ๋ฐ์"); ์ด๋ ๊ฒ ์์ฑ์๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋จ์ ์ด ์๋ค. 1. ๊ฐ์ ์ค์ ์์๊ฐ ์๋ค. ์์ฑ์์ ๊ฒฝ์ฐ์๋ ์ ํด์ง ํ๋ผ๋ฏธํฐ์ ์์๋๋ก ๊ฐ์ ๋ฃ์ด์ค์ผํ๋ค. ์์๋ฅผ ๋ฌด์ํ๊ณ ๋ฃ๊ฒ๋๋ฉด ๋ค๋ฅธ ๋ณ์์ ๋ค๋ฅธ ๊ฐ์ด ํ ๋น๋๋ ๋ญํจ๊ฐ ์๊ธด๋ค. ์ด์๋ฐํด ๋น๋ํจํด์์๋ ํ๋ ์ด๋ฆ์ผ๋ก ๊ฐ์ ์ค์ ํ์ฌ, ์์์ ์ข ์๋์ง์๋๋ค. ์ด๋ค ํ๋๋ฅผ ๋จผ์ ์ค์ ํด์ผํ๋์ง ์๊ฐํ ํ์์์ด ํธํ๊ฒ ๋์ดํ๋ฉด๋๋ค. 2. ์์ฑ์์ ํ๋ผ๋ฏธํฐ๊ฐ ๋ง์ผ๋ฉด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ค. ์์์์ ์ฒ๋ผ 3๊ฐ์ง์ ํ๋ผ๋ฏธํฐ๋ง ๋ฐ๋ ๊ฒฝ์ฐ์๋ ํฌ๊ฒ ๊ฐ๋ ์ฑ์ ๋ฌธ์ ๊ฐ ์์๊ฒ์ด๋ค. ํ์ง๋ง 10๊ฐ์ง ์ ๋ณด๋ฅผ..

ํ์ด์ง๋ค์ด์ ? ํ์ด์ง์ ๊ฒ์๊ธ, ๋๊ธ ๋ฑ์ ํ์ถํ ์์ด ๋ง์์ง๋, ์์ฃผ ์ค์ํ ์ญํ ์ ํ๋ค. ํ์ด์ง์ ํตํด์ ๋ง์ ์ ๋ณด ์ฆ, ์๋ฐฑ ์์ฒ๊ฐ์ ๊ฒ์๊ธ๋ฑ์ ์ ๋ณด๋ฅผ ํ์ด์ง๋ก ๋๋ ์ ํจ๊ณผ์ ์ผ๋ก ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ฒ ํ๋ค. ์ด๋ฐ ํ์ด์ง์ ์ํด์๋ page๊ด๋ จ ์ฟผ๋ฆฌ๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ์์ง๋ง, Spring Data JPA์์ ํจ๊ณผ์ ์ธ ํ์ด์ง ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค. JpaRepository ์ ๋ถ๋ชจ์ธํฐํ์ด์ค์ธ PagingAndSortingRepository์์ ํ์ด์ง๊ณผ Sorting ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. findAll() ๋ฉ์๋์ ๋ฐํ ํ์ ์ ์ดํด๋ณด๋ฉด, ์๋์ ๊ฐ์ ๋ฉ์๋๊ฐ ์กด์ฌํ๋ค. Pageable : ํ์ด์ง์ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค Page : ํ์ด์ง์ findAll()์ ๊ธฐ๋ณธ์ ์ธ ๋ฐํ ๋ฉ์๋๋ก ์ฌ๋ฌ ๋ฐํํ์ ์ค..
dummy data ํ๋ก ํธ์๋์ ํ ์คํธ๊ฐ ํ์ํ๋ฐ ์์ง ๋ฐฑ์๋์์ ๋ฐ์ดํฐ ์ ๋ ฅ์ด ๋ถ๊ฐ๋ฅํ ์ํฉ์ด๋ค...! ๊ทธ๋ ๋๋ฏธ๋ฐ์ดํฐ๋ฅผ ์ง์ ์ ๋ ฅํ๋ ๋ฐฉ์์ ์ฌ์ฉํด๋ณด์. ๋๋ฏธ๋ฐ์ดํฐ๋ ์ค์ ๋ฐ์ดํฐ์ ๊ฐ์ ํํ๋ก ๋ง๋ค์ด์ง ๊ฐ์ง ๋ฐ์ดํฐ๋ผ๊ณ ํ ์์๋ค. ๊ฐ๋ฐ๊ณผ์ ์์ ํ ์คํธ๋ฅผ ์งํํ๊ฑฐ๋, ์ฑ๋ฅ์ ์ฒดํฌํ ๋ ์ฌ์ฉํ ์์๋ค. ๊ฐ์ฅ๋จผ์ ddl-auto์ ๋ํด์ ์์๋ณด์. ddl-auto ddl-auto๋ ์คํ๋ง๋ถํธ์ JPA ์ค์ ์์ ์ฌ์ฉ๋๋ ์์ฑ์ด๋ค. ์ด์์ฑ์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง ์์ฑ ์ ๋ต์ ์ค์ ํ๋๋ฐ ์ฌ์ฉํ๋ค. ์ด๋ ์ฌ์ฉ๋๋ ์ต์ ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. none : ๊ธฐ๋ณธ์ค์ ๊ฐ, Hibernate๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์์ฑํ์ง ์๋๋ค. 2. validate : hibernate๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ๋ Entity์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ..

Logging ์ด์ ๋๋ ๊ฐ๋ฐ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์๋, ์์ธ์ ํ์ ํ๊ธฐ ์ํด ๋น์์ ์ ๋ณด๊ฐ ํ์ํ๋ค. ์ด๋ฌํ ์ ๋ณด๋ฅผ ์ป๊ธฐ์ํด์ Logging์ ์ฌ์ฉํ๋ค. ์ฌ์ ์ ์ธ ์๋ฏธ๋ก๋ "๊ธฐ๋กํ๋ ํ์" ์ด๊ณ , ์ด๋ฐ ํ์ผ๋ค์ ๋ชจ์๋์ ๊ฒ์ Logํ์ผ์ด๋ผ๊ณ ํ๋ค. ๋ฒ๊ทธ๋ ์์ธ์ ๋ํ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ์ฑ๋ฅ์ด๋ ์ฅ์ ์ ๋ํ ๊ธฐ๋ก์ ๋จ๊ธฐ๋ ๊ฒ์ผ๋ก ์ ์ ํ ์์๊ฒ ๋ค. ์๋ฐ์์ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด์ ์ง๊ธ๊น์ง๋ System.out.println() ์ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ฐฉ์์ ๊ถ์ฅ๋์ง ์๋๋ค. ์ง๊ธ๋ถํฐ ๊ทธ ์ด์ ๋ฅผ ์์๋ณด์! System.out.println() ์ฌ์ฉํ๋ฉด ์๋๋ ์ด์ 1. ๋ก๊น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋นํด ์ฑ๋ฅ์ด ๋ฎ๋ค. 2. ๋ ์ง, ์๊ฐ, ๋ ๋ฒจ ๋ฑ์ ์ ๋ณด๋ฅผ ์ง์ ๋ง๋ค์ด์ ์์ฑํด์ผ ..

MVC ํจํด MVC ํจํด์ ๋ฑ์ฅ ์ด์ ํ๋์ ์๋ธ๋ฆฟ or JSP๋ง ์ฌ์ฉํด์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋ทฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉด ๋๋ฌด ๋ง์ ์ญํ ์ ๋ด๋นํ๊ฒ ๋์ด ์ ์ง๋ณด์์์ ๋ฌธ์ ๊ฐ ์๊ธด๋ค. UI์ ์์ ๊ณผ ๋น์ฆ๋์ค๋ก์ง์ ์์ ํ๋ ์ผ์ ์๋ก์๊ฒ ์ํฅ์ ์ฃผ์ง ์์์ผํ๋๋ฐ ํ๋์ ์ฝ๋๋ก ๊ด๋ฆฌํ๊ฒ ๋๋ค๋ฉด ์ด๋ ค์์ด ์๋ค. MVC ํจํด์ด๋? MVCํจํด์ Model, View, Controller ๋ผ๋ ์์ญ์ผ๋ก ์๋ก์ ์ญํ ์ ๋๋๊ฒ์ ์๋ฏธํ๋ค. ์น์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ฌํ ํจํด์ด ๋ง์ด ์ฌ์ฉ๋๋ค. ์์ ๊ทธ๋ฆผ์์ผ๋ก ์ปจํธ๋กค๋ฌ์ ๋น์ฆ๋์ค์ ๋ก์ง์ ๋ด๋๊ฒ์ผ๋ก ํํ๋์ด ์์ง๋ง, ๋น์ฆ๋์ค๋ก์ง์ Service ๊ณ์ธต์ ๋ง๋ค์ด ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค. ๊ทธ๋ฆฌ๊ณ ์ปจํธ๋กค๋ฌ๋ ์ด๋ฌํ ์๋น์ค๋ฅผ ํธ์ถํ๋ ์ญํ ์ ํ๋ค. Controller : HTTP ์์ฒญ์ ๋ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฒ..

JSP(Java Server Pages) ๋? JSP๋ HTML ์ฝ๋์ Java ์ฝ๋๋ฅผ ๋ฃ์ด ๋์ ์ธ ์นํ์ด์ง๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋งํ๋ค. ํ๋ถ์์ ์ฌ๋ฌ๋ฒ ๋ฐฐ์ ์ง๋ง ์ ๋๋ก ์ค์ตํด๋ณด์ง ์์๊ด๊ณ๋ก ๊ฐ๋ ๋ง ์๊ณ ์์๋๋ฐ ์ ๋๋ก ์๊ณ ๊ฐ์. JSP๊ฐ ์คํ๋๋ฉด์ ์๋ฐ์ Servlet์ผ๋ก ๋ณํ์ด ๋๊ณ WAS์์ ๋์๋๋ฉด์ ํ์ํ ๊ธฐ๋ฅ์ ์ํํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์นํ์ด์ง์ ํจ๊ป ํด๋ผ์ด์ธํธ๋ก ์๋ตํ๋ค. ์ฆ Servlet์ผ๋ก ์นํ์ด์ง๋ฅผ ๊ตฌํํ๊ฒ๋๋ฉด Java์ฝ๋ ๋ด๋ถ์ Html ์ฝ๋๊ฐ ์์ด๊ฒ ๋๊ณ , Html์ Java๋ด๋ถ์์ ๊ตฌํํ๊ฒ ๋๋ฉด ๊ต์ฅํ ๊ท์ฐฎ๊ณ ์ด๋ ค์์ง๋ค. (2023.07.17 - [TIL๐] - TIL - Servlet ์ฐธ๊ณ ) JSP ๋์๋ฐฉ์ [JSP์ ํด๋นํ๋ ์๋ธ๋ฆฟ์ด ์์๊ฒฝ์ฐ] 1. JSP ํ์ด์ง๋ก..

OAuth2๋? ํน์ ์ ํ๋ฆฌ์ผ์ด์ (Client)์์ ์ฌ์ฉ์์ ์ธ์ฆ์ ์ง์ ์ฒ๋ฆฌํ์ง ์๊ณ , ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ๋ณด์ ํ๊ณ ์๋ ์ ๋ขฐํ ๋งํ ์จ๋ํํฐ ์ ํ๋ฆฌ์ผ์ด์ (Github, Kakao, Google, Facebook ๋ฑ)์์ ์ฌ์ฉ์์ ์ธ์ฆ์ ๋์ ์ฒ๋ฆฌํ๊ณ ๋ฆฌ์์ค์ ๋ํ ์๊ฒฉ์ฆ๋ช ์ฉ ํ ํฐ์ ๋ฐ๊ธํ์ฌ, ํด๋ผ์ด์ธํธ๊ฐ ํด๋น ํ ํฐ์ ์ด์ฉํ์ฌ ์จ๋ํํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ฒ ํด์ฃผ๋ ๋ฐฉ์์ด๋ค. ๋๋ ์ถ๊ฐ์ ์ธ ์ธ์ฆ์๋น์ค๋ฅผ ์ด์ฉํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉํ๋ค. ์ผ๋ฐ์ ์ธ ์์ด๋/ํจ์ค์๋ ๋ก๊ทธ์ธ์ ์ถ๊ฐ์ ์ผ๋ก OAuth2๋ฅผ ์ด์ฉํ์ฌ ์ธ์ฆ์ ์งํํ๋ ๊ฒ์ด๋ค. ํน์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉ์์ ํฌ๋ฆฌ๋ด์ ์ ๋จ๊ธฐ๊ณ ์ถ์ง ์์๊ฒฝ์ฐ OAuth2 ๋ก๊ทธ์ธ ์ธ์ฆ๋ฐฉ๋ฒ์ผ๋ก ๋ก๊ทธ์ธ์ ๊ตฌํํ๋ฉด๋๋ค. 1. Resource Owner๊ฐ ํด๋ผ์ด์ธ..

Cookie ์ฟ ํค๋ ์๋ฒ์์ ํด๋ผ์ด์ธํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ค์ ํ๋์ด๋ค. HTTP์ ๊ฒฝ์ฐ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์ ์ฅํ ์์๋ค. ์ฆ ์น์ฌ์ดํธ๋ ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ณํ ์ ์๊ณ , ์ฌ์ฉ์๋ ๋งค๋ฒ ์ธ์ฆ์ ์ฐจ๋ฅผ ์งํํด์ผํ๋ค.(HTTPํ๋กํ ์ฝ์ Connectionless, Statelessํจ ๋๋ฌธ์) ํ์ง๋ง ์ฟ ํค๋ฅผ ํตํด ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ๊ธฐ์ตํ ์์๊ฒ ํ๊ณ ์ด๊ฒ์ด ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ด๋ค. Cookie์ ์ต์ 1. Domain ๋๋ฉ์ธ์ www.naver.com๊ณผ ๊ณผ ๊ฐ์ด ์๋ฒ์ ์ ์ํ ์์๋ ์ฃผ์๋ฅผ ๋งํ๋ค. ๋ง์ฝ ์์ฒญํด์ผํ URL์ด http://www.example.com:3000/users/login ์ด๋ผ๋ฉด ์ฌ๊ธฐ์์ ๋๋ฉ์ธ์ example.com์ด ๋๋ค. ์ฟ ํค์ต์ ์ ๋๋ฉ์ธ ์ ๋ณด๊ฐ ์กด์ฌํ๋ฉด ํด๋ผ์ด์ธํธ์์๋ ์ฟ ํค์ ๋๋ฉ์ธ ์ต์ ๊ณผ ์๋ฒ..

ํ๋ก์ ํธ ์ธํ ์คํ๋ง๋ถํธ์์ ํจํค์ง ์ ํ์์ Jar์ War๊ฐ ์๋ค. JAR( JAVA Archive) .jar ํ์ฅ์ ํ์ผ์ Class์ ๋ฆฌ์์ค ์์ฑํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ก์ธ์๋ฆฌ ํ์ผ์ด ํฌํจ๋์ด์๋ค. ์ฆ ์๋ฐ ํ๋ก์ ํธ๋ฅผ ์์ถํ ํ์ผ๋ก ์๊ฐํ๋ฉด ๋๋ค. JRE๋ง์ผ๋ก๋ ์คํ์ด ๊ฐ๋ฅํ๋ค. WAR(Web application Archive) .War ํ์ผ์ servlet/ jsp ์ปจํ ์ด๋์ ์ฌ์ฉํ ์์๋ ์น์ดํ๋ฆฌ์ผ์ด์ ์์ถํ์ผ ํฌ๋งท์ด๋ค. ์ด๋ ์น๊ด๋ จ ์์๋ง ํฌํจํ๊ณ ์๊ณ , ์ฌ์ฉ์์ ์น์ดํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๋ฐฐํฌํ๊ณ ์ฌ์ฉํ ์์๋ค. ๋จ์ ์ WARํ์ผ์ ์คํํ๋ ค๋ฉด Tomcat, Weblogic, Websphere๋ฑ์ Web Server ๋๋ WAS๊ฐ ํ์ํ๋ค. ํ์ฌ ์ํฉ์์๋ JSP๊ณต๋ถ๋ ํ์ํ๋ฏ๋ก WAR๋ฅผ ์ ํํ๋ค. ์..