본문 바로가기
2024 웹

프로젝트 기반 지식

by concho 2024. 5. 16.

전 감자입니다..

 

1. AJAX 란 무엇인가?

https://www.youtube.com/watch?v=nKD1atl6cAw

AJAX는 "Asynchronous JavaScript and XML"의 약자입니다. 쉽게 말하면, 웹 페이지를 새로고침하지 않고도 서버와 데이터를 주고받을 수 있는 기술입니다. 예를 들어, 친구에게 메시지를 보낼 때, 메시지를 보내자마자 페이지가 새로고침 되지 않고도 메시지가 바로 화면에 나타나는 경우가 AJAX 덕분입니다.

 

 

2. multipart 란 무엇인가?

multipart는 여러 부분으로 이루어진 데이터를 전송하는 방법입니다. 예를 들어, 이메일을 보낼 때, 텍스트와 함께 사진이나 파일을 첨부할 수 있는데, 이 모든 것을 한 번에 보내기 위해 multipart 방식을 사용합니다.

 

 

3. @RequestBody, @RequestParam, @RequestPart , @ModelAttribute 란 무엇인가?

@RequestBody: 클라이언트가 보내는 JSON, XML 등의 데이터를 자바 객체로 변환해줍니다. 예를 들어, 친구의 이름과 나이를 JSON 형태로 보내면, 서버에서는 이 정보를 자바 객체로 받아 처리할 수 있습니다.
[ multipart 요청은 못받음]
@RequestParam: URL에 포함된 쿼리 파라미터를 받아옵니다. 예를 들어, http://example.com?name=Tom&age=10이라는 URL에서 name과 age 값을 가져올 수 있습니다.
[거의 모든 요청을 받을 수 있음]
@RequestPart: multipart/form-data로 전송된 데이터를 받아옵니다. 주로 파일 업로드 시 사용됩니다. 예를 들어, 프로필 사진과 함께 이름을 보낼 때 사용합니다.
[ multipart 에서 보통 파일 받을때 사용]
@ModelAttribute: 폼 데이터를 받아 자바 객체에 자동으로 매핑해줍니다. 예를 들어, 웹 폼에서 이름과 나이를 입력하면, 이를 자바 객체로 만들어줍니다. => Controller의 default 값
[Controller의 기본값으로 (자바객체의 모든 필드변수 == 받은 데이터)일때 사용 ]
정리하면

파일 변수는 ==> @RequestParam
일반 변수는 ==>  @RequestParam
모든 변수들이 객체 필드 변수들과 같으면 ==>  @ModelAttribute
로 받자!

 

 

4. @Controller 와 @RestController 의 차이점

@Controller: 주로 뷰(html 페이지)를 반환할 때 사용합니다. 예를 들어, 로그인 페이지나 회원가입 페이지를 보여줄 때 사용합니다.
[서버에서 응답으로 html페이지를 보내야 할때]
@RestController: JSON 또는 XML 형태로 데이터를 반환할 때 사용합니다. 주로 API를 만들 때 사용됩니다. 예를 들어, 사용자 정보나 게시글 목록을 JSON 형태로 반환할 때 사용합니다. ==> AJAX 요청이 들어오면 RestController로 받기
ModelAndView 를 이용하면 html 페이지도 보낼 수 있음.
[서버에서 응답으로 html페이지 이외의 데이터를 보내야 할 떄]
결론:
@RestController 를 쓰자
html 응답은 ==> ModelAndView
다른 응답은 ==> Map, DTO 등을 쓰자

 

 

5. CS 기초지식

 

1) index(B+트리) 란 무엇인가?

https://www.youtube.com/watch?v=iNvYsGKelYs&t=343s

 

 

2) key - value Map 이 무엇이고 index 가 여기서 어떻게 사용되는가?

key-value Map은 사전과 비슷합니다. 키(key)는 단어, 값(value)은 단어의 의미입니다. 예를 들어, "apple"이라는 키에 "사과"라는 값을 저장할 수 있습니다. index는 이 키를 빠르게 찾기 위해 사용됩니다. 사전에서 단어를 찾을 때 첫 글자를 보고 빠르게 찾는 것처럼, 데이터베이스에서도 키를 이용해 빠르게 값을 찾을 수 있게 도와줍니다.

 

3) 제1정규화, 제2정규화, 제3정규화 란 무엇인가?

https://www.youtube.com/watch?v=Y1FbowQRcmI

 

댓글