์ฃผ๋์ ์์ ์ค(474)
-
[์ ๋ณด๋ณด์] ํด์ํจ์ ๊ฐ๋
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ๋ณธ ๋ด์ฉ์ ์ฃผ๋ํ๋์ด ์ ๋ณด๋ณด์ ์ฐ์ ๊ธฐ์ฌ๋ฅผ ๊ณต๋ถํ๋ฉด์ ๋ฐฐ์ด ๋ด์ฉ ๋ฑ์ ์ ๋ฆฌํ๋ ๊ฒ์ด์์. ์ค๋์ ํด์ ํจ์์ ๊ฐ๋ ์ ๋ํด์ ์ ๋ฆฌ ํด ๋ณด๋๋ก ํ ๊ฒ์ด์์. ๐ ์ผ๋ฐฉํฅ Hash Function ๐ ๊ธฐ๋ณธ ๊ฐ๋ Hash Function์ ์์์ ๊ธธ์ด๋ฅผ ๊ฐ๋ Message๋ฅผ ์ ๋ ฅ์ผ๋ก ํ์ฌ ๊ณ ์ ๋ ๊ธธ์ด์ Hash Value ๋๋ Hash Code๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฐ์ ์ถ๋ ฅํ๋ ํจ์์ธ ๊ฒ์ด์์. ๋ณด๋ค ์๋ฐํ ๋งํ๋ฉด, ํด์ฌ ํจ์ h๋ ์์์ ๊ธธ์ด์ ๋ฌผ์์ด์ ๊ณ ์ ๋ ๊ธธ์ด๋ฅผ ๊ฐ๋ n bit ๋ฌธ์์ด๋ก ๋์์ํค๋ ๊ฒ์ด๋๋๋ค. ์ ์์ญ์ D, ์น์ญ์ R์ด๋ผ ํ ๋ ํด์ฌํจ์๋ h: D->R(|D| > |R|)๋ ๋ค๋์ผ ๋์ ํจ์์ธ ๊ฒ์ด์์. ์ด ๋ง์ ์ฆ, ์ถฉ๋์ด ๋ฐ๋์ ์กด์ฌํ๋ค๋ ๊ฒ์ด๋๋๋ค. ๐ ์ผ๋ฐฉํฅ ํด์ฌ..
2021.08.28 -
[์๋ฃ๊ตฌ์กฐ] 05. Hash Table
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฃ๊ตฌ์กฐ์์ Hash Table์ ๋ํด์ ๊ณต๋ถ ํด ๋ณด๋๋ก ํ ๊ฒ์ด์์! ์ ๊ฐ ์์ฑํ ์ฝ๋๊ฐ ๊ถ๊ธํ์๋ค๋ฉด? ์ฃผ๋ํ๋์ ๊น ํ๋ธ์ ๊ด์ฌ์ ์ฃผ์ธ์! ํด์ ํจ์์ ๋ํ ๊ฐ๋ ์ ์ ๋ชจ๋ฅด์ ๋ค๋ฉด [์ ๋ณด๋ณด์] ํด์ํจ์ ๊ฐ๋ ์ ๊ด์ฌ์ ์ฃผ์ธ์! ๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค! ๐ Hash Table ๐ Hash ๊ตฌ์กฐ Hash Table์ Key์ Data๋ฅผ ์ ์ฅํ๋ Data ๊ตฌ์กฐ์ธ ๊ฒ์ด์์. JAVA๋ก ๋ณด๋ฉด Hash Map์ด ๋ ๊ฒ์ด๊ณ , Python์์๋ Dictionary ๊ตฌ์กฐ๊ฐ ๋ ๊ฒ์ด์์! Key๋ฅผ ํตํด ๋ฐ๋ก Data๋ฅผ ๋ฐ์์ฌ ์ ์์ผ๋ฏ๋ก, ์๋๊ฐ ํ๊ธฐ์ ์ผ๋ก ๋น ๋ฅด๋ค Python Dictionary(์ฌ์ ) Type Hash Table Exam : Key๋ฅผ ๊ฐ์ง๊ณ ๋ฐ๋ก Value๋ฅผ ๊บผ๋ธ..
2021.08.27 -
[๋์ ๊ธฐ์ !] REST API
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ๋ณธ ๋ด์ฉ์ ์ฃผ๋ํ๋์ด Web ๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋์ ํ๋ ๊ธฐ์ ๋ค์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํ๋ ๊ณณ ์ ๋๋ค! ์ด ๊ธ์ ํจ๊ป ํ๋ก์ ํธ ํ๋ Back End ๊ฟ๋๋ฌด Crew๊ฐ ์์ฑํ ๊ฒ์ด์์. ์ฃผ๋ํ๋๋ Back End ๊ฐ๋ฐ์ ๋งก์์๋ต๋๋ค! ์ด๋ฒ ์ฐ๋๋ (์ฐ๋ฆฌ๋ ๋ ์!) ํ๋ก์ ํธ์์๋ RESTfulํ API๋ฅผ ์ค๊ณํ๊ธฐ ์ํด ๊ทธ๋ฐ API๋ก ๊ด์ฐฎ์๊ฐ ( https://www.youtube.com/watch?v=RP_f5dMoHFc )๋ผ๋ ์ธ๋ฏธ๋ ์์์ ๋ณด๋ฉฐ REST์ ์ถํ ๊ณ๊ธฐ์ REST์์ ์ ์ํ ์ ์ฝ ์กฐ๊ฑด๋ค์ ์์๋ณด์๊ณ , ์ด๋ฌํ ์ ์ฝ ์กฐ๊ฑด์ ์ง์ผ API๋ฅผ ์ค๊ณํ๋ ค๊ณ ๋ ธ๋ ฅํ์ต๋๋ค. ๐ RESTfulํ API๋ฅผ ์ค๊ณํ๊ณ ์ ํ ์ด์ ? ๋ถ์ฐ ํ์ดํผ๋ฏธ๋์ด ์์คํ ์ ์ํ ์ํคํ ์ฒ ์คํ์ผ์ธ R..
2021.08.26 -
[๋์ ๊ธฐ์ !] JPA์ Querydsl
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ๋ณธ ๋ด์ฉ์ ์ฃผ๋ํ๋์ด Web ๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋์ ํ๋ ๊ธฐ์ ๋ค์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํ๋ ๊ณณ ์ ๋๋ค! ์ด ๊ธ์ ํจ๊ป ํ๋ก์ ํธ ํ๋ Back End ๊ฟ๋๋ฌด Crew๊ฐ ์์ฑํ ๊ฒ์ด์์. ์ฃผ๋ํ๋๋ Back End ๊ฐ๋ฐ์ ๋งก์์๋ต๋๋ค! [์์ด์ฝ์ถํ]์คํ๋ง๊ณผ JPA๋ฅผ ํ์ฉํ ์๋ฐ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ธํธ - ์ 3๊ถ COUPANG www.coupang.com "์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค." โ ์ด๋ฒ ํ๋ก์ ํธ์์ ์ฐ๋ฆฌ๋ JPA๋ฅผ ์ ์ฌ์ฉํ๋๊ฐ? sql ์ค์ฌ์ ์ธ ๊ฐ๋ฐ์์ ๊ฐ์ฒด ์ค์ฌ์ ์ธ ๊ฐ๋ฐ์ด ๊ฐ๋ฅ ์์ฐ์ฑ์ด ์ฆ๊ฐํ๊ณ ๊ฐ๋จํ ๋ฉ์๋๋ก CRUD๊ฐ ๊ฐ๋ฅ ์ ์ง๋ณด์๊ฐ ์ฝ๋คJPA: ํ๋๋ง ์ถ๊ฐ, SQL์ JPA๊ฐ ์ฒ๋ฆฌ ๊ธฐ์กด: ํ..
2021.08.25 -
[๋์ ๊ธฐ์ !] ํ ์คํธ ์ฝ๋
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ๋ณธ ๋ด์ฉ์ ์ฃผ๋ํ๋์ด Web ๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋์ ํ๋ ๊ธฐ์ ๋ค์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํ๋ ๊ณณ ์ ๋๋ค! ์ด ๊ธ์ ํจ๊ป ํ๋ก์ ํธ ํ๋ Back End ๊ฟ๋๋ฌด Crew๊ฐ ์์ฑํ ๊ฒ์ด์์. ์ฃผ๋ํ๋๋ Back End ๊ฐ๋ฐ์ ๋งก์์๋ต๋๋ค! ์ ํฌ ํ๋ก์ ํธ์์๋ JUnit ๊ณผ Mockito๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ์์ต๋๋ค. ๐จ๐ป ๊ฒฐ๋ก ํ ์คํธ ์ฝ๋๋ฅผ ๊ฐ ๊ณ์ธต๋ง๋ค ์์ฑํจ์ผ๋ก์จ ๊ฐ๋ฐ ์๊ฐ์ด ๋จ์ถ๋๋ ํจ๊ณผ๋ฅผ ์ป์ ์ ์์์ต๋๋ค. ํ ์คํธ๋ฅผ ์ฝ๊ฒํ๊ธฐ ์ํด์, ์ดํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์ง๊ฒ ๋์๊ณ ๊ฒฐ๊ตญ ํ ์คํธ ์ฝ๋๋ฅผ ์ง๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค ๋ณด๋, ์ดํ๋ฆฌ์ผ์ด์ ์ฝ๋๊ฐ ๊น๋ํด์ง๋ ๊ฒ์ ๊ฒฝํํ ์ ์์์ต๋๋ค. ๋ฌด์๋ณด๋ค๋ ์๋ฒ๋ฅผ ์คํ์ํค์ง ์์๋, DB์ ๊ฐ์ ๋ฃ์ง ์์๋, ์ง์ ๋์ผ๋ก ํ์ธํ์ง ์..
2021.08.24 -
[๋์ ๊ธฐ์ !] Web Layer
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ๋ณธ ๋ด์ฉ์ ์ฃผ๋ํ๋์ด Web ๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋์ ํ๋ ๊ธฐ์ ๋ค์ ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํ๋ ๊ณณ ์ ๋๋ค! ๋ฐ๋ก ์ฃผ๋ํ๋์ด ์ ๋ฆฌํด์ ์์ฑํ ๊ฒ์ด์์. ์ฃผ๋ํ๋์ Back End ๊ฐ๋ฐ์ ๋งก์์๋ต๋๋ค! ๐ Web Layer๋ฅผ ๊ตฌ์ฑํ๋ฉด์ ๋๋์ ๊ตญ๋น์ง์ ๊ต์ก์ ๋ฐ์ผ๋ฉด์ ์ฒซ๋ฒ์งธ ๊ต์ก์ด JAVA Servlet์ ์ด์ฉํ MVC๋ฅผ ์ด์ฉํด์ JSP์ ํจ๊ป Web Programing์ ํ๋ ๊ฒ์ด์์ต๋๋ค. ์ด ๋, VO, Controller, DAO, VIEW์ ๋ํด ์ดํด๋ฅผ ํ์๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Project๋ฅผ ํ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ, Spring Boot๋ฅผ ์ด์ฉํ๋ฉฐ, Web Layer์ ๊ฐ๋ ์ ์ดํดํ๋ ค๊ณ ํ๋ ์๊พธ VO, Controller, DAO, VIEW๋ผ๋ ๊ตฌ๋ถ์ผ๋ก Layer๋ฅผ ์ดํดํ๋ ค๊ณ ..
2021.08.23