RESTful api란?
REST원칙을 따르는 api를 의미
REST는 웹서버를 설계할 때 사용되는 아키텍쳐 스타일로, 웹 서비스의 구성요소 간에 효율적이고 안정적인 상호작용을 촉진함
RESTful api는 클라이언트와 서버 간에 데이터를 교환할 때 널리 사용되며, 웹 모바일 애플리케이션 및 다른 서비스와 통신할 수 있도록 개발 됨
http 에서 사용되는 요청 방식을 나타냄
http는 인터넷에서 웹 페이지와 다른 자원을 전송하는데 사용되는 주요 프로토콜(클라이언트 => 서버)
http 메소드는 클라이언트가 서버에 원하는 작업을 알리기 위한 방법으로, 여러 종류가 있음"
GET : 서버에서 정보를 검색하려는 경우 사용합니다. 이 메소드는 서버의 데이터를 변경하지 않고 조회하기만 합니다.
POST : 새로운 리소스를 생성하거나 서버에 정보를 제출할 때 사용됩니다. 일반적으로 데이터를 서버에 전송하여 처리하거나 저장하는 데 사용됩니다.
PUT : 기존 리소스를 완전히 대체하거나 업데이트하려는 경우 사용합니다. 이 메소드는 리소스의 전체 내용을 제공해야 합니다.
DELETE : 서버에서 리소스를 삭제하려는 경우 사용합니다.
PATCH : 리소스의 일부를 수정하려는 경우 사용합니다. 이 메소드는 변경하려는 데이터만 제공하면 됩니다.
HEAD : GET과 유사하지만, 실제 리소스를 반환하지 않고 메타데이터만 반환합니다. 이를 통해 클라이언트는 리소스의 존재 여부와 헤더 정보를 확인할 수 있습니다.
OPTIONS : 리소스와 관련된 통신 옵션을 설명하는 정보를 반환합니다. 이 메소드는 서버에서 사용 가능한 메소드를 확인하는 데 사용됩니다.
CONNECT: 네트워크 리소스에 대한 네트워크 연결을 설정합니다. 주로 프록시 서버에서 사용됩니다.
TRACE: 서버에서 수신한 요청 메시지를 반환합니다. 이는 클라이언트와 서버 간의 메시지 루프백 테스트에 사용됩니다.
정규화, 반정규화
세션과 쿠키는 무엇인가?
웹 애플리케이션에서 사용자 인증, 정보 저장 및 상태 관리를 위한 기술
웹은 기본적으로 상태가 없는 구조이기 때문에, 세션과 쿠키를 사용하여 웹 사이트가 사용자와의 상호작용을 추적하고, 사용자 정보를 저장하며, 사용자 경험을 개선할 수 있음
웹 서버와 웹 어플리케이션 서버 차이?
웹 서버와 웹 애플리케이션 서버는 웹 애플리케이션의 구성 요소를 호스팅하고 처리하는데 사용되지만, 기능과 목적에서 차이가 있음
동적으로 생성하는 것
트랜잭션을 언제 사용하는지?
트랜잭션은 데이터베이스에서 일련의 연산을 수행하는 논리적인 작업 단위
트랜잭션은 데이터의 무결성을 보장하고, 여러 사용자가 동시에 데이터베이스에 액세스 할 때, 일관성을 유지하는데 중요한 역할을 함
원자성, 일관성, 고립성, 지속성을 만족해야함
여러개의 데이터베이스 연산이 한 단위로 묶여야 할 때
데이터의 무결성을 유지해야 할 때
: 동시성 제어가 필요한 경우
: 좋은 코드란?
다양한 측면에서 효율적이고 이해하기 쉬우며, 유지보수가 용이한 코드를 의미
가독성
효율성
확장성
테스트 가능성
문서화
일관성
유지보수성
안정성
api의 명칭을 어떻게 작성하는 것이 좋은가?
/api/vi/users
와 같이 작성할 수 있음스택과 큐는 무엇이고 언제 사용하는가?
데이터를 저장, 접근, 조작하는 데 사용되며, 특정한 방식으로 데이터를 추가하거나 제거함