๐Ÿ“Œ ํ•™์Šต๋‚ด์šฉ

โ— JWT ๊ธฐ๋ฐ˜์˜ Spring Security

- 

โ— ๋Œ“๊ธ€ ์ž‘์„ฑ์šฉ CRUD

- 

โ— GitHub Fork

 

โ— React์™€์˜ ์—ฐ๊ณ„ (CORS)

- 

 


๐Ÿ“Œ ๋А๋‚€์ 

โ— ์ฑ„๋„ ํ†ต์ผ(

- ํด๋ผ์ด์–ธํŠธ<->์„œ๋ฒ„ : API ๊ตฌ์ฒดํ™”

- ์„œ๋ฒ„๋ผ๋ฆฌ : ๋ฌธ๋ฒ•์ด๋‚˜ ํ‘œํ˜„, ์ฃผ์„๋“ฑ์˜ ํŒŒ์ผ ๋‚ด ํ†ต์ผ

โ—

- 

โ—

- 


๐Ÿ“Œ ์•„์‰ฌ์› ๋˜ ์ 

โ— 

- 

โ—

- 

โ—

- 

 


๐Ÿง ์ข€๋” ๊ณต๋ถ€ํ•ด๋ณผ ๊ฐœ๋…

  • p6spy
  • Slf4j
  • Template Engine (Mustache, Thymeleaf ๋“ฑ๋“ฑ..)
  • Hibernate
  • @RequestBody
  • @Controller vs @RESTController
  • Optional String
  • @Bean
  • xml๊ณผ jsp
  • @ModelAndView
  • Servlet
  • IoC(Inversion of Control)
  • DI(Dependency Injection)
  • JPA Repository์˜ findbyId vs findallbyId
  • JUnit ํ…Œ์ŠคํŠธ

 

'Computer ๐Ÿ’ป > ํ•ญํ•ด99 โ›ต๏ธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํ•ญํ•ด99 WIL : Week5  (0) 2021.04.04
ํ•ญํ•ด99 WIL : Week04  (0) 2021.03.28
ํ•ญํ•ด99 WIL : Week03  (0) 2021.03.21
ํ•ญํ•ด99 WIL : Week02  (0) 2021.03.14
ํ•ญํ•ด99 WIL : Week01  (0) 2021.03.07

ํ•ด๋‹น ๋ธ”๋กœ๊ทธํฌ์ŠคํŠธ์˜ Reference :

์ธํ”„๋Ÿฐ ๊ฐ•์˜ ์‚ฌ์ดํŠธ์˜ <์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ฐ•์ขŒ (renew ver.) - ์ดˆ๋ณด๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์ž ์ทจ์—…๊นŒ์ง€!!> ๊ฐ•์˜

.

์‚ฌ์‹ค์ด ์•„๋‹ ์ˆ˜ ์žˆ๋Š” ์ œ ์ฃผ๊ด€์  ๊ฒฌํ•ด๊ฐ€ ๋‹ด๊ฒจ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ๋ฏธ๋ฆฌ ์•Œ๋ ค๋“œ๋ฆฌ๋ฉฐ, ์ด๋Ÿฐ ๋ถ€๋ถ„์ด ๋ณด์ผ ๊ฒฝ์šฐ ๋Œ“๊ธ€๋กœ ์ง€์ ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ

๋„คํŠธ์›Œํฌ ๋Œ€์ƒ(๊ฐ์ฒด) ์‚ฌ์ด์— ์ž…/์ถœ๋ ฅ(InpusStream, OutputStream)์„ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅ์„ ํ•จ


์†Œ์ผ“(Socket)

๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ์žฅ์น˜


Socket ํด๋ž˜์Šค

์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋งž์ดํ•  ์ค€๋น„๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋ฐ˜์‘ํ•œ๋‹ค.

ServerSocket class - ์ž๋ฐ”์—์„œ ๊ธฐ๋ณธ์ œ๊ณต

parameter๋กœ ํฌํŠธ๋ฒˆํ˜ธ ์‚ฌ์šฉ

ํฌํŠธ๋ฒˆํ˜ธ๋Š” 60000๊ฐœ ์ด์ƒ์ธ๋ฐ, ์—ฌ๊ธฐ์„œ ์–ด๋А ํฌํŠธ๋ฒˆํ˜ธ๋ณ„๋กœ ip์— ์ ‘๊ทผํ–ˆ์„๋•Œ ์‚ฌ์šฉํ•  ๊ธฐ๋Šฅ์„ ๋ถ„๋ฅ˜ํ•ด์ค€๋‹ค.

ServerSocket.accept() ๋ฉ”์†Œ๋“œ _ ์š”์ฒญ์ด ๋“ค์–ด์˜จ ํด๋ผ์ด์–ธํŠธ ์†Œ์ผ“์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜

 


Client์™€ Server ์†Œ์ผ“(Socket)

์„œ๋ฒ„์— ServerSocket๋ฅผ ์ค€๋น„ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์—์„œ Socket์„ ์ด์šฉํ•ด์„œ ์ ‘์†ํ•œ๋‹ค.


์–‘๋ฐฉํ–ฅ ํ†ต์‹ 

 

ํ•ด๋‹น ๋ธ”๋กœ๊ทธํฌ์ŠคํŠธ์˜ Reference :

์ธํ”„๋Ÿฐ ๊ฐ•์˜ ์‚ฌ์ดํŠธ์˜ <์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ฐ•์ขŒ (renew ver.) - ์ดˆ๋ณด๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์ž ์ทจ์—…๊นŒ์ง€!!> ๊ฐ•์˜

.

์‚ฌ์‹ค์ด ์•„๋‹ ์ˆ˜ ์žˆ๋Š” ์ œ ์ฃผ๊ด€์  ๊ฒฌํ•ด๊ฐ€ ๋‹ด๊ฒจ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ๋ฏธ๋ฆฌ ์•Œ๋ ค๋“œ๋ฆฌ๋ฉฐ, ์ด๋Ÿฐ ๋ถ€๋ถ„์ด ๋ณด์ผ ๊ฒฝ์šฐ ๋Œ“๊ธ€๋กœ ์ง€์ ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


๐Ÿ“ ๋ฐ์ดํ„ฐ ์ž…/์ถœ๋ ฅ

 

์ž…๋ ฅ(Input) : ๋‹ค๋ฅธ๊ณณ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ

  ํŒŒ์ผ ์ฝ๊ธฐ, ์ด๋ฏธ์ง€ or ๋™์˜์ƒ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

์ถœ๋ ฅ(Output) : ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒƒ

  ํŒŒ์ผ ์“ฐ๊ธฐ, ์ด๋ฏธ์ง€ or ๋™์˜์ƒ ๋‚ด๋ณด๋‚ด๊ธฐ

 

โœ… FileInputStream / FileOutputStream


โœ… ํŒŒ์ผ ๋ณต์‚ฌ

InputStream๊ณผ OutStream ํด๋ž˜์Šค์˜ ์กฐํ•ฉ์œผ๋กœ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค.


โœ… DataInputStream / DataOutputStream

  byte ๋‹จ์œ„์˜ ์ž…์ถœ๋ ฅ์„ ๊ฐœ์„ , ๋ฌธ์ž์—ด์„ ์ข€ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ํด๋ž˜์Šค


โœ… BufferedReader / BufferedWriter

  DataInputStream/DataOutputStream๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ  byte๋‹จ์œ„์˜ ์ž…์ถœ๋ ฅ์„ ๊ฐœ์„ , ๋ฌธ์ž์—ด์„ ์ข€ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ํด๋ž˜์Šค

 

 

'Computer ๐Ÿ’ป > Java โ˜•๏ธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Java] ๋„คํŠธ์›Œํ‚น (Networking, Socket)  (0) 2021.04.11
[Java] ์˜ˆ์™ธ์ฒ˜๋ฆฌ(try catch, throws, finally)  (0) 2021.04.11

 

 

ํ•ด๋‹น ๋ธ”๋กœ๊ทธํฌ์ŠคํŠธ์˜ Reference :

์ธํ”„๋Ÿฐ ๊ฐ•์˜ ์‚ฌ์ดํŠธ์˜ <์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ฐ•์ขŒ (renew ver.) - ์ดˆ๋ณด๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์ž ์ทจ์—…๊นŒ์ง€!!> ๊ฐ•์˜

.

์‚ฌ์‹ค์ด ์•„๋‹ ์ˆ˜ ์žˆ๋Š” ์ œ ์ฃผ๊ด€์  ๊ฒฌํ•ด๊ฐ€ ๋‹ด๊ฒจ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ๋ฏธ๋ฆฌ ์•Œ๋ ค๋“œ๋ฆฌ๋ฉฐ, ์ด๋Ÿฐ ๋ถ€๋ถ„์ด ๋ณด์ผ ๊ฒฝ์šฐ ๋Œ“๊ธ€๋กœ ์ง€์ ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.\

 


๐Ÿ“ ๊ฐœ๋…์ •๋ฆฌ

 

์˜ˆ์™ธ(Exception)

ํ”„๋กœ๊ทธ๋žจ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ

์†Œํ”„ํŠธ์›จ์–ด์ ์œผ๋กœ ๋ญ”๊ฐ€ ๊ตฌํ˜„์ด ์ž˜๋ชป๋˜์–ด์žˆ๋Š” ๊ฒƒ

 

์˜ˆ์™ธ์ฒ˜๋ฆฌ

์˜ˆ์™ธ๋กœ ์ธํ•ด ์‹œ์Šคํ…œ์˜ ๋™์ž‘์ด ๋ฉˆ์ถ”๋Š” ๊ฒƒ์„ ์˜ˆ๋ฐฉํ•˜๋Š” ๊ฒƒ

์ „์ฒด ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ „์ฒด์ ์ธ ์‹œ์Šคํ…œ์˜ ํ๋ฆ„์— ๋ฐฉํ•ด๋˜์ง€ ์•Š๋„๋ก ์‚ฌ์ „์— ์˜ˆ์ธก, ์˜ˆ๋ฐฉํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐœ๋ฐœ์ž ๊ด€์ ์—์„œ์˜ Exception๊ณผ Error๊ตฌ๋ถ„

๊ฐœ๋ฐœ์ž๊ฐ€ ๋Œ€์ฒ˜ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ์ธ๊ฐ€(Exception) ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ์ธ๊ฐ€(Error)

์—๋Ÿฌ์˜ ์˜ˆ : ๋ฉ”๋ชจ๋ฆฌ๋ถ€์กฑ, JVM ์ƒ์˜ ๋ฌธ์ œ, ์ „๋ ฅ ์ฐจ๋‹จ์˜ ๋ฌธ์ œ ๋“ฑ๋“ฑ ์†Œํ”„ํŠธ์›จ์–ด์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๋ฌผ๋ฆฌ์  ์žฅ์• ์š”์†Œ

 

 

Checked Exception์˜ ๊ตฌ๋ถ„

์˜ˆ์™ธ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ๋ฐ˜๋“œ์‹œ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ(Checked Exception)์™€ ๊ฐœ๋ฐœ์ž์˜ ํŒ๋‹จ์— ๋งก๊ธฐ๋Š” ๊ฒฝ์šฐ(Unchecked Exception)

Checked Exception์˜ ์˜ˆ - ๋ฐ์ดํ„ฐ ๋„คํŠธ์›Œํฌ, ํŒŒ์ผ ์‹œ์Šคํ…œ

Unchecked Exception์˜ ์˜ˆ - ๋ฐ์ดํ„ฐ ์˜ค๋ฅ˜

 

โœ… Exception class

Exception์˜ ์ข…๋ฅ˜(reference: Inflearn ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ฐ•์ขŒ)

โœ… Try - Catch

-> ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜ˆ์™ธ์ฒ˜๋ฆฌํ•˜๊ธฐ ๊ฐ€์žฅ ์‰ฝ๊ณ , ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•

try - catch ๊ตฌ๋ฌธ (reference: Inflearn ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ฐ•์ขŒ)

Exception.printStackTrace() : ์–ด๋–ค ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ

Exception.getMessage() : ์˜ˆ์™ธ๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ธ ๋ฌธ์ž์—ด์„ ๋ฐ›๋Š” ๋ฉ”์†Œ๋“œ

 

try - catch ๊ตฌ๋ฌธ์ด ๋๋‚œ ๋’ค์— ์žˆ๋Š” ์ฝ”๋“œ๋Š” ์ด์–ด์„œ  ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๋‹ค์–‘ํ•œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ (reference: Inflearn ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ฐ•์ขŒ)

์˜ˆ์™ธ์ฒ˜๋ฆฌ๋Š” Exception ํ•˜๋‚˜๋กœ๋„ ๊ฐ€๋Šฅํ•˜๊ณ , ์ข€๋” ์„ธ๋ถ„ํ™”ํ•˜๊ณ ์‹ถ๋‹ค๋ฉด ํ•˜์œ„ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ Exception์œผ๋กœ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.
๋‹จ, ์—ฌ๋Ÿฌ Exception์œผ๋กœ ํ™œ์šฉํ•  ๊ฒฝ์šฐ์—๋Š” ํ•ญ์ƒ ๋งˆ์ง€๋ง‰์„ ๋ถ€๋ชจํด๋ž˜์Šค์ธ Exception์œผ๋กœ ๋งˆ๋ฌด๋ฆฌ์ง“๋„๋ก ํ•œ๋‹ค.
์„ธ๋ถ„ํ™”๋œ ๊ฒฝ์šฐ ํ•ด๋‹น ํ•˜์œ„ํด๋ž˜์Šค์—์„œ Exception์ด catch๋œ๋‹ค๋ฉด ๊ทธ ์ž๋ฆฌ์—์„œ try - catch ๊ตฌ๋ฌธ์ด ์ข…๋ฃŒ๋˜๊ณ  ์ดํ›„์˜ ์ฝ”๋“œ๋กœ ์ด์–ด์ง„๋‹ค.

โœ… Finally

-> Exception์ด ๋ฐœ์ƒํ•˜๋“  ๋ง๋“  ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด ๋ฐ˜๋“œ์‹œ ์‹คํ–‰์‹œ์ผœ์ฃผ๋Š” ๊ตฌ๋ฌธ.

-> try - catch - finally ์ˆœ์„œ์˜ ๊ตฌ๋ฌธ

finally ๊ตฌ๋ฌธ ์˜ˆ์‹œ (reference: Inflearn ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ฐ•์ขŒ)

 

 

Throws

-> ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์ง์ ‘ ํ•˜์ง€ ์•Š๊ณ  ํ˜ธ์ถœํ•œ ๊ณณ์œผ๋กœ ๋„˜๊ธด๋‹ค.

๊ฑฐ์ณ๊ฑฐ์ณ ์‹คํ–‰๋˜๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๊ตฌ๋ฌธ ์˜ˆ์‹œ (reference: Inflearn ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ฐ•์ขŒ)
๊ฑฐ์ณ๊ฑฐ์ณ ์‹คํ–‰๋˜๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๊ตฌ๋ฌธ ์˜ˆ์‹œ (reference: Inflearn ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ฐ•์ขŒ)

'Computer ๐Ÿ’ป > Java โ˜•๏ธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Java] ๋„คํŠธ์›Œํ‚น (Networking, Socket)  (0) 2021.04.11
[Java] ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ (Input, Output)  (0) 2021.04.11

+ Recent posts