`equals()` 와 `hashcode()` 를 같이 오버라이딩 하는 이유에 대해 알아보자
개요 애노테이션을 활용한 스프링 MVC의 컨트롤러를 작성하게되면, 다음과 같은 @RequestMapping 애노테이션만으로 HTTP 리퀘스트를 원하는 URL로 받고, 과 @RequestBody를 통해 HTTP body 값을 원하는 객체로 매핑해준다. 이게 어떻게 가능한 이유는, 스프링에서 내부적으로 URL에 따라 해당 요청을 처리하는 메서드를 찾고, 파...
개요 스프링 MVC로 사용자의 HTTP 요청을 처리하게 하려면 아래처럼 간단한 컨트롤러를 작성해서 만들 수 있다. 이게 가능한 이유는 복잡한 구현을 Spring이 프레임워크 차원에서 숨겨두고 있기 때문인데, 내부에서 어떤 과정을 거쳐서 처리되는지 알아보자. DispatcherServlet 스프링 MVC는 HTTP 프로토콜을 통해 들어오는 모든 요청...
HTTP는 상태를 저장하지 않는 프로토콜인데 (매 요청이 일회성이고 독립적이다) 사용자를 식별하려면 어떻게 할까? 사용자 식별 기술 사용자 식별을 위해 존재하는 HTTP 헤더들은 다음과 같다. | 헤더 이름 | 헤더 타입 | 설명
AWS에 올라간 웹서버에 HTTPS 적용하는 법을 알아보자
MySQL의 구성 요소 MySQL은 쿼리 요청을 처리하는 서버 엔진과 실제로 데이터를 저장하는 스토리지 엔진으로 나뉜다. 서버엔진 클라이언트의 요청을 받아 SQL을 처리한다. DB가 SQL을 이해할 수 있도록 쿼리를 재구성하는 ‘쿼리 파싱’, 스토리지엔진에 데이
대규모 데이터는 어떤 점이 어려운가? 메모리 내에서 계산할 수 없다. 메모리 내에서 계산할 수 없게 되면 디스크에서 데이터를 검색해야 한다. 하지만 디스크의 I/O는 메모리보다 느리므로 이를 어떻게 대처하는지가 어려운 점이다. 디스크가 느린 이유? 읽는 속도