YuuuuuuYu

springframework.http.ResponseEntity

πŸ”” ResponseEntity κ°œμš” πŸ”” λ‹€λ₯Έ 방법과 비ꡐ What? Why? μŠ€ν”„λ§ 3 버전뢀터 λ„μž…λ˜μ—ˆμœΌλ©°, μŠ€ν”„λ§ MVCμ—μ„œ HTTP 응닡을 λ‹€λ£¨λŠ” μ£Όμš” 클래슀 쀑 ν•˜λ‚˜μ΄λ‹€. HTTP μ‘λ‹΅μ˜ 전체 λ‚΄μš©μ„ μ œμ–΄ν•  수 μžˆλ„λ‘ ν•΄μ£Όλ©°, 이λ₯Ό 톡해 λ‹€μŒκ³Ό 같은 μš”μ†Œλ“€μ„ μ„€μ •ν•  수 μžˆλ‹€. μƒνƒœ μ½”λ“œ (HTTP Status C...

4D4cat) 이 μ–΄λ…Έν…Œμ΄μ…˜μ€ μ™œ μ“°λŠ”κ±ΈκΉŒ?

πŸ”” μ–΄λ…Έν…Œμ΄μ…˜ μ’…λ₯˜μ™€ μš©λ„ RequiredArgsConstructor Lombok λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œ μ œκ³΅ν•˜λŠ” μ–΄λ…Έν…Œμ΄μ…˜μœΌλ‘œ, 클래슀 λ‚΄μ˜ final ν•„λ“œλ‚˜ @NonNull μ–΄λ…Έν…Œμ΄μ…˜μ΄ 뢙은 ν•„λ“œλ“€μ„ μ΄ˆκΈ°ν™”ν•˜λŠ” μƒμ„±μžλ₯Ό μžλ™μœΌλ‘œ 생성해쀀닀. 보일러 ν”Œλ ˆμ΄νŠΈ μ½”λ“œλ₯Ό μ€„μ—¬μ€€λ‹€λŠ” 것에 이점이 μžˆλ‹€. @Service @RequiredArgsConstructor...

OAuth2 Deepdive

πŸ”” Oauth2 적용 μ „ πŸ”” Oauth2 μ‹€μŠ΅ κ°œμš” 졜근 개인 ν”„λ‘œμ νŠΈμ—μ„œ 넀이버 λ‘œκ·ΈμΈμ„ μœ„ν•΄ ν•„μš”ν•œ 뢀뢄을 μ„€μ •ν•˜κ³  λ‘œμ§μ„ κ΅¬ν˜„ν–ˆλ‹€. 개발 κ°€μ΄λ“œμ— 맞게 각 λ‹¨κ³„λ³„λ‘œ 진행을 ν–ˆμœΌλ‚˜β€¦ 아무리 봐도 κ³Όμ • ν•˜λ‚˜ ν•˜λ‚˜λ₯Ό λ‚΄ μ†μœΌλ‘œ 직접 κ΅¬ν˜„ν•˜λŠ”κ²Œ λ§žλŠ”κ±΄κ°€? λΌλŠ” μ˜λ¬Έμ„ μ‹œμž‘μœΌλ‘œ μ’€ 더 효율적으둜 κ΅¬ν˜„ν•˜λŠ” 방법을 μ°Ύμ•„λ΄€κ³ , κ·Έλ ‡κ²Œ Oauth 2.0으둜...

OAuth2

πŸ”” Oauth2? 그럼 Oauth1도? πŸ”” Oauth2 λ™μž‘ κ³Όμ • RFC6749(Oauth 2.0) λ¬Έμ„œλ₯Ό ν† λŒ€λ‘œ μš”μ•½ν•˜μ—¬ μ •λ¦¬ν•œ κΈ€μ΄λ‹ˆ, μžμ„Έν•œ λ‚΄μš©μ€ ν•΄λ‹Ή λ¬Έμ„œλ₯Ό μ°Έκ³ ν•΄μ£Όμ‹œκΈ° λ°”λžλ‹ˆλ‹€. What? Why? 인증(authentication)이 μ•„λ‹Œ 인가(authorization)에 μ΄ˆμ μ„ λ§žμΆ”λ©°, λ¦¬μ†ŒμŠ€ μ†Œμœ μžκ°€ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μžμ‹ μ˜ 리...

HttpClient Deepdive

πŸ”” BodyPublisher, BodyHandler μ—­ν•  πŸ”” HttpClient μ‹€μŠ΅ BodyPublisher? BodyHandler? BodyPublisher와 BodyHandlersλŠ” μš”μ²­κ³Ό μ‘λ‹΅μ˜ 본문을 μ²˜λ¦¬ν•˜λŠ” 데 μžˆμ–΄ μƒν˜Έ 보완적인 역할을 ν•œλ‹€. BodyPublisherλŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„λ‘œ 전솑할 데이터λ₯Ό μ •μ˜ν•˜κ³ , BodyHandler...

java.net.http.HttpClient

πŸ”” HttpClient κ°œμš” πŸ”” HttpClient κ°œμ„  κ³Όμ • πŸ”” λ‹€λ₯Έ 라이브러리 비ꡐ What? Why? μžλ°”μ—μ„œ HTTP μš”μ²­μ„ μƒμ„±ν•˜κ³ , μ„œλ²„μ™€ ν†΅μ‹ ν•˜λ©°, 응닡을 μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ API Java 11μ—μ„œ ν‘œμ€€ 라이브러리둜 λ„μž…λ˜μ—ˆμœΌλ©°, μ΄μ „μ˜ HttpURLConnection보닀 μ‚¬μš©ν•˜κΈ° 쉽고 κΈ°λŠ₯이 ν’λΆ€ν•˜λ‹€. λΉŒλ” νŒ¨ν„΄ λ„μž…:...

직무면접 ν›„κΈ° 1

πŸ”” 직무면접 λ‚΄μš© πŸ”” 직무면접 ν›„κΈ° λ©”μ‹œμ§• μ†”λ£¨μ…˜ κΈ°μ—… 1μ°¨ 직무면접 전체적인 λΆ„μœ„κΈ° κ°€λ²Όμš΄ 마음으둜 κ°”μ§€λ§Œ 막상 μžλ¦¬μ— κ°€λ‹ˆ 떨리고 μ΄ˆλ°˜μ— 말이 잘 μ•ˆλ‚˜μ™”λ‹€. 3λŒ€1 λ©΄μ ‘μ΄μ—ˆκ³  λ‹€ν–‰νžˆ κΈ΄μž₯을 ν’€κ³  νŽΈμ•ˆν•˜κ²Œ ν•΄μ£Όμ‹œλ €λŠ” λͺ¨μŠ΅μ΄ λ³΄μ—¬μ„œ λ„ˆλ¬΄ μ’‹μ•˜λ‹€. κ°€λ²Όμš΄ 질문 1. μžκΈ°μ†Œκ°œ 및 μ„ ν‡΄μ‚¬ν•œ 것에 λŒ€ν•΄μ„œ 2. 이전 νŒ€μ— λŒ€ν•΄μ„œ, μ–΄λ–€ ν™˜...

넀이버 둜그인 κ³Όμ •

πŸ”” 넀이버 둜그인 검증 κ³Όμ • 넀이버 λ‘œκ·ΈμΈν•˜κΈ°κΉŒμ§€ μ–΄λ–€ 과정을 κ±°μΉ˜λŠ”κ°€? 1. μ„Έμ…˜ μœ μ§€ 및 μœ„μ‘° λ°©μ§€μš© μƒνƒœ 토큰 생성 // CSRF 방지λ₯Ό μœ„ν•œ μƒνƒœ 토큰 생성 μ½”λ“œ // μƒνƒœ 토큰은 μΆ”ν›„ 검증을 μœ„ν•΄ μ„Έμ…˜μ— μ €μž₯λ˜μ–΄μ•Ό ν•œλ‹€. public String generateState() { SecureRandom random = ne...