[Web] PUT vs PATCH
2022. 12. 5. 15:32
Computer Science/Web programming
PUT 리소스를 대체 리소스가 있으면 대체 리소스가 없으면 생성 쉽게 얘기해서 기존 리소스를 완전히 덮어버림 클라이언트가 리소스를 식별 클라이언트가 리소스 위치를 알고 URI 지정 (어디에다가 어떤 데이터를 집어넣을거라고 지정해줌) POST와 차이점 ex) 리소스가 있으면 해당 자리에 데이터가 덮어짐. 리소스가 없으면 해당 자리에 데이터를 넣음 ⚠️ 주의! 리소스를 완전히 대체한다. ex) 회원 테이블에 name, age, address 가 있다. 100원 회원의 age만 바꾸고 싶어 100번에 바꾸고 싶은 age만을 PUT → age 말고 name, address 가 NULL로 바뀜 PUT은 사실 리소스를 수정하는게 아니다! PATCH 리소스의 부분 변경 만약, PATCH가 되지 않을 경우 POST를 ..
[JAVA] MultiValueMap에 대해
2022. 12. 5. 11:10
Computer Science/JAVA
map의 종류 HashMap TreeMap LinkedHashMap HashMap Map의 기본 형태 key:value 중복된 key 허용하지 않음 데이터를 뽑을 때 Key를 기준으로 가져옴 마치 Key를 인덱스처럼 가져와 value를 가져오기 때문에 시간복잡도 O(1) TreeMap HashMap + 추가 옵션 데이터가 들어올 때마다 Key 값에 따라 자동 정렬 됨 Comparator 사용 LinkedHashMap HashMap + 추가 옵션 입력순서를 보장한다. 예를 들어, HashMap에 A B C 라는 순서로 입력했을 때, 맵에 있는 모든 값을 출력할때 A B C 라는 순서로 출력한다는 보장이 없다. LinkedHashMap은 이러한 입력 순서를 보장한다. MultiValueMap Spring에서..
[Web] SSR vs CSR
2022. 8. 30. 11:29
Computer Science/Web programming
SSR과 CSR? SSR(Server Side Rendering) 서버측에서 렌더링 준비를 마친 채로 클라이언트에게 전달하는 방식 클라이언트가 서버에 페이지 요청 > 서버는 렌더링 가능한 HTML 파일을 생성 > 클라이언트는 서버로부터 렌더링 준비된 HTML 파일을 받게 되고, 즉시 렌더링 > 클라이언트가 Javascript를 다운로드 받음(다운받는 사이에 유저는 페이지를 볼 수는 있지만 조작은 불가능) > 브라우저가 Javascript 실행 > 사용자가 페이지 조작 가능 ⚠ 그림에서 TTV(Time To View)는 화면까지의 도달 시간, TTI(Time To Interactive)는 반응을 하기까지의 시간이다. CSR(Client Side Rendering) 클라이언트측에서 페이지를 렌더링 하는 방식..
Spring 버전별 특징
2022. 8. 19. 16:37
Computer Science/Web programming
회사 멘토님이 Spring 버전별 차이를 알고 있는지, 그동안 어떤 버전을 써왔는지 물어보셨다. 생각 해보니 나는 어떤 버전의 Spring, Spring Boot를 쓰고 있고 버전별 차이점이 무엇인지에 대해 전혀 알지 못하고 있었다. 그래서 공부도 할겸 정리해보았다.Spring 2.xXML 네임스페이스와 AspectJ를 지원한다Spring 3.x 프레임워크 코드베이스 전반에 걸쳐 강력한 Java 5+ 기반과 Java 기반 @Configuration모델과 같은 기능을 도입한다 Bean을 XML 형태로 관리할 수 있다 RestTemplate을 지원한다 JavaConfig 프로젝트의 몇몇 핵심 기능을 스프링 프레임워크에 추가했다 이 말은 다음 어노테이션을 이제 어노테이션을 이용해 DI 를 지원한다는 것이다 @..