개발/STUDY

필기 공부

송디 2024. 5. 13. 17:36

1. TESTDOME에 있는 문제 기반으로 이론을 보충한다.

운좋게 많이 맞추긴 했지만 헷갈리는 것을 정리해보려고 한다. 

 

■ CS 이론 

 1. HTTP Cookie 관련 

   - 웹 서버가 사용자의 브라우저에 정보를 저장할 수 있게 해주는 데이터 조각이다. 

   - 사용자가 웹 사이트에 방문할 때, 쿠키가 브라우저를 통해 서버에 저장될 수 있으며, 주로 사용자의 세션 관리, 개인 설정의 저장, 사용자의 행동의 추적 등에 사용된다. 

   - 쿠키는 장기적인 저장 매채로 사용하기에는 적절하지 않다. 그 이유는 저장 공간이 제한되어 있고, 만료 날짜가 설정되어 있다. 또한 보안 취약성이 있어 크로스 사이트 스크립트(XSS)의 공격 위험이 있다. 그리고 사용자에 의해 언제든지 쿠키가 삭제 되어 질 수 있다. 

  - 쿠키는 한 도메인에만 속할 수 있다. 

  - 쿠키는 이름-값 pair로 저장된다. 예를 들어, 'userID=1234'와 같은 형태이다. 

  - 쿠키는 클라이언트 측에서 세션 데이터를 저장하는 데 자주 사용된다. 세션 데이터는 사용자가 웹사이트를 이용하는 동안 필요한 정보를 일시적으로 보관하는데 사용되며, 이는 로그인 상태 유지, 장바구니 내용 저장, 사용자의 사이트 내 활동 추적 등에 사용 된다. 

 

2. Restful API의 HTTP Method 관련 

 - HTTP POST는 새로운 자원을 생성할 때, PUT은 기존 자원을 새로운 자원으로 대체하고자 할 때 적절하다. 

 - 각 요청에 대해 서버에서 인증 자격을 검증하기 위해서 토큰 기반 인증 방식을 주로 사용한다. 클라이언트가 서버로부터 인증 후 받은 토큰을 사용하여 이후의 모든 요청에서 그 토큰을 전송함으로써 자격 증명을 검증한다. 

 - POST 방식을 통해 'multipart/form-data' 인코딩 타입을 사용하여 파일과 데이터를 전송할 수 있다. 

 - POST 요청에 대한 응답으로 서버는 상태 코드, 성공 또는 오류 메시지, 기타 정보를 포함하여 반환한다.

 - POST 요청에서 쿼리 문자열을 URL에 포함되어 질 수 있다. 보통은 body를 통해 데이터가 요청이 된다. 

 

■ JavaScript & React

 1. 비동기 처리 

  -  왜해야 하나? 긴 작업 시간의 함수가 실행되는 순간, 다른 기능은 작동하지 않는다.

비동기 처리는 작업이 완료될 때까지 기다리지 않고, 작업이 실행되는 동안에도 다른 작업을 수행할 수 있도록 하는 것이라고 보면 된다. 

MDN에 나와있는 비동기 작업의 핵심은 아래와 같다. 

  1. 함수를 호출함으로써 장기적으로 실행되는 작업을 시작한다.
  2. 이 함수로 작업을 시작하고 즉시 복귀하여 다른 이벤트에 계속 응답할 수 있게 한다.
  3. 작업이 완료되면 결과를 알려준다. 

위 뿌리를 토대로 콜백, 프로미스와 같은 단어를 공부할 필요가 있다. 

  - setTimeout과 setInterval 차이

  setTimeout은 일정 시간이 지난 후에 작업을 수행하는 방식이고, setInterval은 일정 간격 마다 작업을 수행하는 방식이다.

사용하는 방식이 다른지만 1초 후에 실행, 2초 후에 실행, 3초 후에 실행 방식인 setTimeout과 1초 간격마다 실행하는 setInterval이 같다고 생각했지만, 실제로는 setTimeout은 함수가 실행되는 시간을 포함시키고, setInterval은 함수가 실행되는 시간을 포함시키지 않기 때문에 둘 함수는 다르다. 

 

참조 : MDN

728x90