로이필딩에 의해 최초로 소개되었는데, 로이필딩은 HTTP의 주요 저자 중 한 사람으로 그 당시 웹(HTTP)설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로 REST를 발표했다.시스템 구성 및 동작 원리를
HyperText Transfer Protocol하이퍼텍스트(HTML)문서를 교환하기 위해 만들어진 프로토콜웹상에서 네트워크로 서버끼리 통신할 때, 어떠한 형식으로 서로 통신하자고 규정해놓은 통신 구조\-> 프론트엔드 서버와 클라이언트간 통신에 사용\-> 백엔드와 프론
유저를 인증하고 식별하기 위한 토큰기반 인증토큰은 세션과 달리 서버가 아닌 클라이언트에 저장 : 메모리나 스토리지 등을 통해 세션을 관리했던 서버의 부담을 덜 수 있다.토큰 자체에 사용자의 권한 정보나 서비스를 사용하기 위한 정보가 포함된다.데이터가 많아지면 토큰이 커
객체의 관점에서 프로그래밍 하는 것반대의미로는 '절차 지향 프로그래밍'이 있다 : 프로세스가 함수 단위로 순서대로 진행되는 것OOP는 객체들의 유기적인 관계를 통해 프로세스가 진행된다애플리케이션을 구성하는 요소들로 객체를 바라보고, 객체들을 유기적으로 연결하여 프로그래
DTO와 비슷하지만 차이점은 VO는 read only 속성을 갖는다.관계 데이터 베이스의 레코드에 대응되는 자바 클래스이다. (레코드 = row 한 줄)형태 : db 레코드를 구성하는 필드(=컬럼)들을 VO의 Attribute로 하고 해당 변수에 접근할 수 있는 Get
프로그램이 프로세스가 되어 프로세서에 적재되기 위해서는 메모리에 적재되어야 실행이 가능하다.💡메모리 = 중요한 작업 공간 -> 한정된 메모리를 다중 프로그래밍 환경에서 이용하기 위해서는 여러 프로세스가 함께 메모리를 사용하므로 효율적으로 관리해야한다.메모리 관리를 위
'좋은코드'의 기준이 조금씩 다르고 각각의 경험을 기반으로 좋은 코드를 정의보통 정의되는 좋은 코드 : 읽기 쉬운 코드, 중복이 없는 코드, 테스트가 용이한 코드 등코드 간의 의존성을 고민하자.합의된 규칙으로 일관성있게 작성하자. (일관성 있는 코드)적절하게 확장 가능
사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점둠, 이런 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공함 MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MV
소프트웨어를 만들다보면 어떤 클래스의 객체가 해당 프로세스내에서 딱 하나만 만들어져야할 때ex) 사용자가 내가 만든 앱을 사용하는데, 다크모드 설정을 해두면 다른 페이지로 이동해도 다크모드가 계속 유지되어있어야 함.\-> 세팅을 관리하는 객체는 반드시 같은것을 사용해야
클라이언트에서 인증 정보를 보관하는 방법사용자의 인증 정보를 서버나 세션에 유지하지 않고 클라이언트 측에서 들어오는 요청만으로 작업을 처리한다. 즉, 서버 기반의 인증 시스템과 달리 상태를 유지하지 않으므로 Stateless한 구조를 갖는다.\-> 사용자가 로그인이 되