본문 바로가기

분류 전체보기191

쿠키, 세션의 개념과 차이 쿠키 로컬에 저장되는 키와 값을 가지는 작은 데이터 파일. 클라이언트와 서버는 아래와 같은 특징을 가지는 HTTP 프로토콜을 통해 통신하기 때문에 쿠키를 사용한다. 비연결성 서버는 클라이언트의 요청에 대한 응답을 보내고 연결이 끊어진다. HTTP 1.1 은 연결을 유지하는 keep-alive가 기본 옵션이긴 하지만 HTTP 1.0은 기본적으로 비연결성을 지킨다. 무상태성 서버는 클라이언트의 상태를 따로 저장해두지 않는다. 즉, 지난 요청은 물론 지난 요청에 대한 응답도 기억해두지 않는다. 이와 같은 이유로 HTTP는 쿠키를 사용하고, 쿠키에는 다음과 같은 정보가 담겨있다. 이름, 값, 유효시간, 도메인, 경로 만약 쿠키가 없다면 사용자는 인증이 필요한 서비스를 사용할 때마다 로그인을 해야 할 것이다. 쿠.. 2023. 8. 24.
23.08.24 오늘은 h2라는 것을 사용해 테스트코드를 만들어볼 예정이다. h2란 java로 만들어진 관계형 데이터베이스 관리 시스템이다. 장점 컴퓨터에 저장된 RAM 기반 RDBMS여서 용량이 적고, 브라우저 기반 콘솔을 지원한다. spring boot에서는 별도의 db를 사용하지 않고 사용할 수 있다. 기본 설정 // application.yml spring: datasource: url: jdbc:h2:mem:testdb driverClassName: org.h2.Driver username: sa password: h2: console: enabled: true # path: /h2-console # default 값이므로 이 경로로 들어가려면 필요없음 profiles: active: local jpa: dat.. 2023. 8. 24.
브라우저의 작동방식 브라우저의 기본 구조 사용자 인터페이스 사용자가 접근할 수 있는 영역으로, URI를 입력할 수 있는 주소 표시줄, 이전/다음 버튼, 새로고침 버튼, 북마크 메뉴 등 페이지를 보여주는 창을 제외한 나머지 모든 부분 브라우저 엔진 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어한다. Data Storage를 참조하며 로컬에 데이터를 쓰고 읽으면서 다양한 작업을 한다. 렌더링 엔진 웹 서버로부터 전달받은 자원을 웹 브라우저 상에 나타낸다. 예를 들어, 브라우저가 서버로부터 HTML 문서를 응답 받으면 렌더링 엔진의 HTML 파서와 CSS 파서에 의해 파싱(parsing)되어 DOM, CSSOM 트리로 변환되고 렌더 트리로 결합한다. 리 렌더 트리를 기반으로 브라우저가 웹 페이지를 나타낸다. 각 브라우저마다.. 2023. 8. 23.
23.08.23 오늘의 할 일 - 에러가 발생하면 터미널에서도 확인 할 수 있도록 log.error 남기기 - 에러가 발생했을 때 상태코드를 미리 정한 errorcode와 같이 넘기기 에러가 발생하면 터미널에서도 확인 할 수 있도록 log.error 남기기 위 기능 구현에 대하여 CustomException마다 일일이 log.error를 남기는 굉장히 귀찮은 작업이 될 줄 알았으나 생성자에 직접 log.error를 추가해 작업을 매우 빨리 마칠 수 있었다. 기존 코드 if (!foundBoard.getUser().getId().equals(user.getId()) || !user.getRole().equals(UserRoleEnum.ADMIN)) { log.error("보드를 생성한 사람만 협업자 추방할 수 있습니다.".. 2023. 8. 23.