Web(30)
-
[HTTP] PUT / PATCH 차이
[HTTP] PUT / PATCH 차이 업데이트에 관여하는 메서드는 두 가지가 존재한다. 그래서 해당 메서드가 왜 두 가지로 나눠져 있는지 무슨 차이가 있는지 공부를 하고 정리를 하려 한다. PUT PUT의 경우 리소스를 전체적으로 대체하는 것 만약 파일이 존재하는 상태로 복사 후 붙여 넣기를 하면 해당 파일이 덮어쓰기가 되는 것과 같이 PUT의 경우 전체를 대체하는 형식의 메서드이다. 다만 복사 붙여 넣기처럼 동일한 내용의 파일이 있으면 대체할 수도 있지만 만약 해당 내용이 존재하지 않으면 저장을 하는 것처럼 PUT도 저장이 가능하다. 이때 이러한 경우를 보면서 PUT은 리소스를 식별할 수 있다는 점을 알 수 있다. 요청한 URI에 해당 자원이 없다면 POST 방식처럼 해당 리소스를 저장을 한다. 20..
2022.12.22 -
[Basic] 인증, 인가
Spring에서 보안 쪽 개념을 한번 훑으면서 나왔던 키워드들을 정리해보려고 한다. 해당 부분은 웹에서도 관련이 있어서 일단은 웹 쪽으로 기록을 시작하게 되었다. 인증, 인가 인증 - authentication 식별이 가능한 정보로 서비스에 등록이 된 유저의 신원을 입증하는 과정 로그인 인가 - authorization 해당 유저가 특정 리소스 혹은 기능에 접근할 수 있는 권한이 있는지 확인하는 개념 로그인을 해야만 진행할 수 있는 기능, 이때 기능을 사용할 수 있는지에 대한 입증 웹 어플리케이션 특수성 웹 어플리케이션의 경우 HTTP라는 프로토콜을 사용하여 통신을 진행 비연결성(connectionless)과 무상태(stateless)로 이루어짐 비연결성 연결을 유지하지 않는 모델 초 단위 이하의 빠른 ..
2022.12.14 -
[Spring] Test code 학습
Spring을 공부하며 미니 프로젝트를 만들면서 기능을 테스트할 때마다 변경된 메서드 및 항목들을 사용하기 위해 매번 재실행을 했어야 했다. 이전에는 못 느꼈지만 최근에 들어서 이런 시간들이 아까워서 Test code에 대해 공부를 시작하게 되었다. 단위 테스트 순수하게 테스트 코드만 작성하는 것을 의미한다. TDD, Test-driven Development와 다르게 리펙토링이 포함되거나 먼저 테스트 코드를 작성하는 것이 아니라고 한다. 그냥 순전히 테스트를 위해서 작성하는 코드, 그게 바로 단위 테스트를 의미하는 것이다. 단위 테스트 개발 초기에 문제를 발견하게 도와주는 역할 개발자가 추후에 리펙토링 혹은 사용했던 라이브러리 업그레이드에 대해 기능이 작동하는지 확인 가능 단위 테스트는 기능에 대한 불..
2022.12.10 -
[Spring] @PathVariable, @RequestParam, @RequestBody, @ModelAttribute
@PathVariable, @RequestParam, @RequestBody, @ModelAttribute 글을 남기고 생성할 수 있는 간단한 API를 구성하면서 해당 어노테이션들을 사용하게 되었다. 이때 사용했던 어노테이션의 특징부터 차이점까지 궁금하여 학습을 하였고 기록을 남기게 되었다. @PathVariable URI 경로에 변수를 넣어서 해당 변수를 받아올 수 있다. 각 URI 경로에 변수를 넣어 메서드를 지정하여 호출을 하면 해당 변수가 템플릿 매개변수에서 메서드 매개변수로 사용할 수 있게 설정해주는 역할이다. @PathVariable을 사용하는 Path Variable은 리소스를 식별해서 요청할 때 사용이 된다 매핑의 종류는 다음과 같다 간단한 매핑 @PathVariable을 선언하고 해당 U..
2022.12.07 -
[HTTP] HTTP 상태코드
HTTP HTTP ( HyperText Transfer Protocol ) W3에서 정보를 주고받을 수 있는 프로토콜이다. 주고받을 수 있는 데이터 혹은 자료의 형식은 다음과 같다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML ....etc 해당 리스트 안의 데이터 타입을 지원한다. 이러한 데이터 타입을 주고받으며 클라이언트와 서버의 통신을 하게 된다. 이때 클라이언트의 요청에 맞춰서 요청의 처리 상태를 알려주는 것을 상태 코드라 한다 HTTP 상태코드 위에서 말한 바와 같이 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 종류는 크게 5가지로 나눠진다. 대부분의 상태 코드는 크게 앞자리로 구분이 되기에 앞의 자리를 보면서 상황을 판단하면 된다. 1xx (Inf..
2022.11.05 -
[Error] java: package org.springframework.boot does not exist
문제 복습을 진행하다 이제 타임리프 강의를 다시 듣기 위해 해당 프로젝트를 open 하고 다시 실행하는 도중에 해당 오류 발생 java: package org.springframework.boot does not exist - 이 상황은 다른 학습용 프로젝트를 오랫동안 열지 않았던 경우에도 종종 발생했었음 검색을 해본 결과 Intelli J 에서는 종종 Build가 깨지는 오류 존재 라이브러리가 깨진 경우 gradle refresh → intellij gradle 항목에서 새로고침 intellij cache 삭제 상단 file → invaildate cache -
2022.10.01